diff --git a/.config/cargo_spellcheck.dic b/.config/cargo_spellcheck.dic
index b232f7a22c4..bae78ab2200 100644
--- a/.config/cargo_spellcheck.dic
+++ b/.config/cargo_spellcheck.dic
@@ -15,6 +15,7 @@ KECCAK
L1
L2
Polkadot
+PolkaVM
PSP22
RPC
SHA
@@ -42,6 +43,7 @@ defragmentation
delegatee
delegator
deploy
+deployer
dereferencing
deserialize/S
deserialization
@@ -77,6 +79,7 @@ tuple
type_info
unordered
untyped
+upgradeable
v1
v2
v3
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 018a56649b1..8b4d287c09d 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -3,7 +3,7 @@ updates:
- package-ecosystem: "cargo"
directory: "/"
schedule:
- interval: "daily"
+ interval: "weekly"
# ignore Substrate pallets major updates.
# automated Substrate releases cause dependabot PR spam, so these must be updated manually when required.
ignore:
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index db4afe40717..1cf085b7a98 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,14 +1,13 @@
## Summary
Closes #_
- [ ] y/n | Does it introduce breaking changes?
-- [ ] y/n | Is it dependent on the specific version of `cargo-contract` or `pallet-contracts`?
+- [ ] y/n | Is it dependent on a specific version of `cargo-contract` or `pallet-revive`?
## Description
## Checklist before requesting a review
-- [ ] My code follows the style guidelines of this project
- [ ] I have added an entry to `CHANGELOG.md`
- [ ] I have commented on my code, particularly in hard-to-understand areas
- [ ] I have added tests that prove my fix is effective or that my feature works
diff --git a/.github/riscv64emac-unknown-none-polkavm.json b/.github/riscv64emac-unknown-none-polkavm.json
new file mode 100644
index 00000000000..7e9c482ca08
--- /dev/null
+++ b/.github/riscv64emac-unknown-none-polkavm.json
@@ -0,0 +1,26 @@
+{
+ "arch": "riscv64",
+ "cpu": "generic-rv64",
+ "crt-objects-fallback": "false",
+ "data-layout": "e-m:e-p:64:64-i64:64-i128:128-n32:64-S64",
+ "eh-frame-header": false,
+ "emit-debug-gdb-scripts": false,
+ "features": "+e,+m,+a,+c,+auipc-addi-fusion,+ld-add-fusion,+lui-addi-fusion,+xtheadcondmov",
+ "linker": "rust-lld",
+ "linker-flavor": "ld.lld",
+ "llvm-abiname": "lp64e",
+ "llvm-target": "riscv64",
+ "max-atomic-width": 64,
+ "panic-strategy": "abort",
+ "relocation-model": "pie",
+ "target-pointer-width": "64",
+ "singlethread": true,
+ "pre-link-args": {
+ "ld": [
+ "--emit-relocs",
+ "--unique",
+ "--relocatable"
+ ]
+ },
+ "env": "polkavm"
+}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 56b15f24412..32fc4dc439f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -26,11 +26,12 @@ on:
- 'FILE_HEADER'
env:
+ # Image can be edited at https://github.com/use-ink/docker-images
IMAGE: useink/ci
CARGO_TARGET_DIR: /ci-cache/${{ github.repository }}/targets/${{ github.ref_name }}/${{ github.job }}
CARGO_INCREMENTAL: 0
PURELY_STD_CRATES: ink/codegen metadata engine e2e e2e/macro ink/ir
- ALSO_WASM_CRATES: env storage storage/traits allocator prelude primitives ink ink/macro
+ ALSO_RISCV_CRATES: env storage storage/traits allocator prelude primitives ink ink/macro
# TODO `cargo clippy --all-targets --all-features` for this crate
# currently fails on `stable`, but succeeds on `nightly`. This is due to
# this fix not yet in stable: https://github.com/rust-lang/rust-clippy/issues/8895.
@@ -40,8 +41,10 @@ env:
# RISC-V does not have a standard library in contrast to Wasm. Compiling against
# this target also makes sure that we don't pull in `std` by accident (through dependencies).
# RISC-V is a modular architecture. We might switch to a different flavor with more features
- # later. For example, `riscv32imc-unknown-none-elf`.
- RISCV_TARGET: riscv32ema-unknown-none-elf
+ # later. For example, `riscv64imc-unknown-none-elf`.
+ RISCV_TARGET: .github/riscv64emac-unknown-none-polkavm.json
+ # Clippy doesn't support JSON files for `--target`, hence we use another RISC-V target.
+ CLIPPY_TARGET: riscv64imac-unknown-none-elf
concurrency:
# Cancel in-progress jobs triggered only on pull_requests
@@ -73,7 +76,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Rust Info
uses: ./.github/rust-info
@@ -95,7 +98,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Rust Info
uses: ./.github/rust-info
@@ -126,7 +129,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -138,16 +141,17 @@ jobs:
- name: Run Clippy
run: |
- ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_WASM_CRATES}"
+ ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_RISCV_CRATES}"
for crate in ${ALL_CRATES}; do
cargo clippy --all-targets --all-features --manifest-path ./crates/${crate}/Cargo.toml \
-- -D warnings -A ${CLIPPY_ALLOWED};
done
- - name: Run Clippy for WASM Crates
+ - name: Run Clippy for RISC-V Crates
run: |
- for crate in ${ALSO_WASM_CRATES}; do
- cargo clippy --no-default-features --manifest-path ./crates/${crate}/Cargo.toml --target wasm32-unknown-unknown \
+ for crate in ${ALSO_RISCV_CRATES}; do
+ cargo clippy --no-default-features --manifest-path ./crates/${crate}/Cargo.toml \
+ --target ${CLIPPY_TARGET} \
-- -D warnings -A ${CLIPPY_ALLOWED};
done
@@ -162,12 +166,12 @@ jobs:
strategy:
fail-fast: false
matrix:
- type: [STD, WASM]
+ type: [STD, RISCV]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -183,11 +187,12 @@ jobs:
scripts/for_all_contracts_exec.sh --path integration-tests -- cargo clippy --all-targets \
--manifest-path {} -- -D warnings -A $CLIPPY_ALLOWED
- - name: Run Clippy for WASM Examples
- if: ${{ matrix.type == 'WASM' }}
+ - name: Run Clippy for RISC-V Examples
+ if: ${{ matrix.type == 'RISCV' }}
run: |
scripts/for_all_contracts_exec.sh --path integration-tests -- cargo clippy --no-default-features \
- --target wasm32-unknown-unknown --manifest-path {} -- -D warnings -A $CLIPPY_ALLOWED
+ --target ${CLIPPY_TARGET} \
+ --manifest-path {} -- -D warnings -A $CLIPPY_ALLOWED
check:
runs-on: ubuntu-latest
@@ -200,12 +205,12 @@ jobs:
strategy:
fail-fast: false
matrix:
- type: [STD, WASM, RISCV]
+ type: [STD, RISCV]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -218,27 +223,19 @@ jobs:
- name: Check
if: ${{ matrix.type == 'STD' }}
run: |
- ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_WASM_CRATES}"
+ ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_RISCV_CRATES}"
for crate in ${ALL_CRATES}; do
cargo check --all-features --manifest-path ./crates/${crate}/Cargo.toml;
done
- - name: Check WASM
- if: ${{ matrix.type == 'WASM' }}
- run: |
- for crate in ${ALSO_WASM_CRATES}; do
- cargo check --no-default-features --target wasm32-unknown-unknown \
- --manifest-path ./crates/${crate}/Cargo.toml;
- done
-
- name: Check RISCV
- if: ${{ matrix.type == 'RISCV-disabled' }}
+ if: ${{ matrix.type == 'RISCV' }}
env:
RUSTC_BOOTSTRAP: 1
- RUSTUP_TOOLCHAIN: rve-nightly
run: |
- for crate in ${ALSO_WASM_CRATES}; do
- cargo check --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc" \
+ for crate in ${ALSO_RISCV_CRATES}; do
+ # remove `nightly` once new stable is released, currently there is an ICE in stable
+ cargo +nightly check --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc" \
--manifest-path ./crates/${crate}/Cargo.toml;
done
@@ -254,7 +251,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -269,13 +266,9 @@ jobs:
cd linting/
# we are using a toolchain file in this directory
# add required components for CI
- rustup component add rustfmt clippy
- rustup component add rust-src rustc-dev llvm-tools-preview
cargo check --verbose
cargo +nightly fmt --all -- --check
cargo clippy -- -D warnings;
- # Needed until https://github.com/mozilla/sccache/issues/1000 is fixed.
- unset RUSTC_WRAPPER
cargo test --all-features
### workspace
@@ -291,12 +284,12 @@ jobs:
strategy:
fail-fast: false
matrix:
- type: [STD, WASM]
+ type: [STD, RISCV]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -306,20 +299,28 @@ jobs:
- name: Rust Info
uses: ./.github/rust-info
- - name: Build
+ - name: Build for STD
if: ${{ matrix.type == 'STD' }}
run: |
- ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_WASM_CRATES}"
+ ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_RISCV_CRATES}"
for crate in ${ALL_CRATES}; do
cargo build --all-features --release --manifest-path ./crates/${crate}/Cargo.toml;
done
- - name: Build WASM
- if: ${{ matrix.type == 'WASM' }}
+ - name: Build for RISC-V
+ if: ${{ matrix.type == 'RISCV' }}
+ #env:
+ #RUSTC_BOOTSTRAP: 1
+ #CARGO_ENCODED_RUSTFLAGS: "--cfg\x1fsubstrate_runtime"
+ #RUSTFLAGS: "--cfg substrate_runtime"
run: |
- for crate in ${ALSO_WASM_CRATES}; do
- cargo build --no-default-features --release --target wasm32-unknown-unknown \
- --manifest-path ./crates/${crate}/Cargo.toml;
+ for crate in ${ALSO_RISCV_CRATES}; do
+ echo ${crate};
+ RUSTFLAGS="--cfg substrate_runtime" cargo +nightly build \
+ --no-default-features --release \
+ --target $CLIPPY_TARGET \
+ --manifest-path ./crates/${crate}/Cargo.toml \
+ -Zbuild-std="core,alloc";
done
test:
@@ -338,7 +339,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -360,8 +361,8 @@ jobs:
# at the same time, hence we use this workaround.
QUICKCHECK_TESTS: 0
run: |
- cargo nextest run --all-features --no-fail-fast --workspace --locked
- cargo test --all-features --no-fail-fast --workspace --doc --locked
+ cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked
+ cargo +nightly test --all-features --no-fail-fast --workspace --doc --locked
- name: Test Linting
if: ${{ matrix.workspace == 'linting' }}
@@ -388,7 +389,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -483,18 +484,10 @@ jobs:
matrix:
partition: [1, 2, 3, 4, 5, 6]
steps:
- # We go out of storage on runners
- - name: Clean runner
- run: |
- sudo rm -rf /usr/share/dotnet
- sudo rm -rf /opt/ghc
- sudo rm -rf "/usr/local/share/boost"
- sudo rm -rf "$AGENT_TOOLSDIRECTORY"
-
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -502,18 +495,53 @@ jobs:
cache-directories: ${{ env.CARGO_TARGET_DIR }}
- name: Test Examples
- env:
- # Fix linking of `linkme`: https://github.com/dtolnay/linkme/issues/49
- RUSTFLAGS: -Clink-arg=-z -Clink-arg=nostart-stop-gc
uses: docker://useink/ci
+ env:
+ #RUSTFLAGS: -Clinker-plugin-lto -Clink-arg=-zstack-size=4096
+ # Fix for linking of `linkme` for `cargo test`: https://github.com/dtolnay/linkme/issues/49
+ RUSTFLAGS: -Clink-arg=-z -Clink-arg=nostart-stop-gc
with:
# run all tests with --all-features, which will run the e2e-tests feature if present
- args: /bin/bash -c "scripts/for_all_contracts_exec.sh --path integration-tests --ignore public/static-buffer --partition ${{ matrix.partition }}/6 -- cargo test \
- --all-features --manifest-path {}"
+ args:
+ /bin/bash -c "scripts/for_all_contracts_exec.sh --path integration-tests --ignore public/static-buffer --ignore public/mapping --partition ${{ matrix.partition }}/6 -- \
+ cargo +nightly test --all-features --all --manifest-path {}"
+
+ examples-test-mapping:
+ runs-on: ubuntu-latest
+ needs: [set-image]
+ defaults:
+ run:
+ shell: bash
+ container:
+ image: ${{ needs.set-image.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 1
+
+ - name: Cache
+ uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
+ with:
+ cache-directories: ${{ env.CARGO_TARGET_DIR }}
+
+ - name: Rust Info
+ uses: ./.github/rust-info
+
+ - name: Test Mapping Example
+ env:
+ # Fix for linking of `linkme` for `cargo test`: https://github.com/dtolnay/linkme/issues/49
+ RUSTFLAGS: -Clink-arg=-z -Clink-arg=nostart-stop-gc
+ # needed for `mapping::e2e_tests::fallible_storage_methods_work`
+ INK_STATIC_BUFFER_SIZE: 256
+ run:
+ rustup install nightly-2025-01-07;
+ rustup component add rust-src --toolchain nightly-2025-01-07;
+ cargo +nightly-2024-11-28 test --all-features --all --manifest-path integration-tests/public/mapping/Cargo.toml
examples-custom-test:
runs-on: ubuntu-latest
- needs: [set-image, clippy]
+ needs: [set-image, clippy, clippy-examples]
defaults:
run:
shell: bash
@@ -523,7 +551,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -538,23 +566,27 @@ jobs:
# Fix linking of `linkme`: https://github.com/dtolnay/linkme/issues/49
RUSTFLAGS: -Clink-arg=-z -Clink-arg=nostart-stop-gc
run: |
- # run the static buffer test with a custom buffer size
+ # run the static buffer test with a custom buffer size.
+ # the readme + test comments explain why `32`, in short because the tests write
+ # content into the buffer and want to provoke an exhaustion of the buffer.
cargo clean --manifest-path integration-tests/public/static-buffer/Cargo.toml
- INK_STATIC_BUFFER_SIZE=30 cargo test --manifest-path integration-tests/public/static-buffer/Cargo.toml --all-features
+ INK_STATIC_BUFFER_SIZE=32 cargo +nightly test --manifest-path integration-tests/public/static-buffer/Cargo.toml --all-features
- name: Run E2E test with on-chain contract
+ # todo disabled until `cargo-contract` supports mapping the account
+ if: false
env:
# Fix linking of `linkme`: https://github.com/dtolnay/linkme/issues/49
RUSTFLAGS: -Clink-arg=-z -Clink-arg=nostart-stop-gc
run: |
# run flipper E2E test with on-chain contract
- substrate-contracts-node -lruntime::contracts=debug 2>&1 &
- cargo contract build --release --manifest-path integration-tests/public/flipper/Cargo.toml
- export CONTRACT_ADDR_HEX=$(cargo contract instantiate \
+ substrate-contracts-node -lruntime::revive=debug 2>&1 &
+ cargo +nightly contract build --release --manifest-path integration-tests/public/flipper/Cargo.toml
+ export CONTRACT_ADDR_HEX=$(cargo +nightly contract instantiate \
--manifest-path integration-tests/public/flipper/Cargo.toml \
--suri //Alice --args true -x -y --output-json | \
jq -r .contract | xargs subkey inspect | grep -o "0x.*" | head -n1)
- CONTRACTS_NODE_URL=ws://127.0.0.1:9944 cargo test \
+ CONTRACTS_NODE_URL=ws://127.0.0.1:9944 cargo +nightly test \
--features e2e-tests \
--manifest-path integration-tests/public/flipper/Cargo.toml \
e2e_test_deployed_contract \
@@ -571,20 +603,13 @@ jobs:
strategy:
fail-fast: false
matrix:
- type: [WASM, RISCV]
+ type: [RISCV]
partition: [1, 2, 3, 4]
- exclude:
- - type: RISCV
- partition: 2
- - type: RISCV
- partition: 3
- - type: RISCV
- partition: 4
steps:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -594,37 +619,18 @@ jobs:
- name: Rust Info
uses: ./.github/rust-info
- - name: Build Contract WASM Examples
- if: ${{ matrix.type == 'WASM' }}
- run: |
- rustup component add rust-src --toolchain stable
- cargo contract -V
- # Build all examples
- scripts/for_all_contracts_exec.sh --path integration-tests --partition ${{ matrix.partition }}/4 -- cargo contract build --release --manifest-path {}
- if [ ${{ matrix.partition }} -eq 4 ]; then
- # Build the different features for the conditional compilation example
- pushd ./integration-tests/public/conditional-compilation
- cargo contract build --release --features "foo"
- cargo contract build --release --features "bar"
- cargo contract build --release --features "foo, bar"
- popd
- fi
-
- name: Build Contract RISCV Examples
- if: ${{ matrix.type == 'RISCV-disabled' }}
+ if: ${{ matrix.type == 'RISCV' }}
env:
RUSTC_BOOTSTRAP: 1
- RUSTUP_TOOLCHAIN: rve-nightly
run: |
- rustup component add rust-src --toolchain stable
- cargo contract -V
# We skip some examples for those reasons:
# This uses dlmalloc which is only supported on select targets.
# - custom_allocator
# Pulls in sp-std which needlessly requires atomic pointers (TODO: Fix sp-std and enable this example)
# - call-runtime
scripts/for_all_contracts_exec.sh --path integration-tests --ignore public/custom-allocator --ignore public/call-runtime --ignore public/contract-xcm \
- -- cargo build --manifest-path {} --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc"
+ -- cargo +nightly build --manifest-path {} --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc"
examples-docs:
runs-on: ubuntu-latest
@@ -638,7 +644,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -662,7 +668,7 @@ jobs:
# measurements
measurements:
- needs: [examples-docs, examples-contract-build, examples-test, examples-custom-test]
+ needs: [examples-docs, examples-contract-build, examples-test, examples-custom-test, examples-test-mapping]
uses: ./.github/workflows/measurements.yml
# fuzz
@@ -685,7 +691,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
- fetch-depth: 100
+ fetch-depth: 1
- name: Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
@@ -702,7 +708,7 @@ jobs:
run: |
# We fuzz-test only crates which possess the `ink-fuzz-tests` feature
all_tests_passed=0
- ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_WASM_CRATES}"
+ ALL_CRATES="${PURELY_STD_CRATES} ${ALSO_RISCV_CRATES}"
for crate in ${ALL_CRATES}; do
if grep "ink-fuzz-tests =" ./crates/${crate}/Cargo.toml;
then
diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml
index 0e0193c31c0..5bead1f801b 100644
--- a/.github/workflows/examples.yml
+++ b/.github/workflows/examples.yml
@@ -76,7 +76,7 @@ jobs:
if: matrix.os == 'windows-latest'
run: |
cargo install contracts-node --git https://github.com/paritytech/substrate-contracts-node.git --force --locked && \
- substrate-contracts-node -lruntime::contracts=debug 2>&1 | tee /tmp/contracts-node.log &
+ substrate-contracts-node -lruntime::revive=debug 2>&1 | tee /tmp/contracts-node.log &
- name: Rust Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
diff --git a/.github/workflows/measurements.yml b/.github/workflows/measurements.yml
index a579f335010..7301346ce79 100644
--- a/.github/workflows/measurements.yml
+++ b/.github/workflows/measurements.yml
@@ -55,7 +55,7 @@ jobs:
${SCRIPTS_DIR}/for_all_contracts_exec.sh --path integration-tests --quiet -- ${SCRIPTS_DIR}/contract_size.sh {} > ${CONTRACT_SIZES}
sed -ie 's/^integration-tests\/\(public\/\|internal\/\)\?//' ${CONTRACT_SIZES}
- CARGO_CONTRACT_VERSION=$(cargo-contract --version | egrep --only-matching "cargo-contract.* .*-x86" | sed -s 's/-x86//')
+ CARGO_CONTRACT_VERSION=$(cargo contract --version | egrep --only-matching "cargo-contract.* .*-x86" | sed -s 's/-x86//')
echo "CARGO_CONTRACT_VERSION=\"${CARGO_CONTRACT_VERSION}\"" > ${MEASUREMENTS_DIR}/context.out
echo "PR_NUMBER=\"${PR_NUMBER}\"" >> ${MEASUREMENTS_DIR}/context.out
diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml
index a57b217bc43..c5e134a39f2 100644
--- a/.github/workflows/publish-docs.yml
+++ b/.github/workflows/publish-docs.yml
@@ -3,9 +3,9 @@
name: continuous-integration/publish-docs
-on:
+on:
workflow_run:
- workflows:
+ workflows:
- continuous-integration
types:
- completed
diff --git a/.rustfmt.toml b/.rustfmt.toml
index 2843071a0d6..90456fa14ec 100644
--- a/.rustfmt.toml
+++ b/.rustfmt.toml
@@ -8,7 +8,7 @@ wrap_comments = true # changed
format_code_in_doc_comments = true # changed
doc_comment_code_block_width = 100 # changed
comment_width = 90 # changed
-normalize_comments = true # changed
+#normalize_comments = true # changed # todo uncomment
normalize_doc_attributes = false
format_strings = false
format_macro_matchers = false
diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
index ad7958e1437..10afd22c130 100644
--- a/ARCHITECTURE.md
+++ b/ARCHITECTURE.md
@@ -23,7 +23,7 @@ ink! is composed of a number of crates that are all found in the
Serves two roles:
* Exposes environmental functions, like information about the caller
of a contract call or e.g. self-terminating the contract.
- * Provides the connection to the [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts),
+ * Provides the connection to the [`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive),
so anything that calls into the underlying execution engine of the smart contract.
This includes getting and setting a smart contracts storage, as well
as the mentioned environmental functions.
@@ -45,7 +45,7 @@ ink! is composed of a number of crates that are all found in the
mocking specified conditions.
* [`e2e`](https://github.com/use-ink/ink/tree/master/crates/e2e):
An end-to-end testing framework for ink! contracts. It requires a Substrate node
- which includes `pallet-contracts` running in the background. The crate provides a
+ which includes `pallet-revive` running in the background. The crate provides a
macro which can be used
to write an idiomatic Rust test that will in the background create transactions,
submit it to the Substrate chain and return the state changes, gas costs, etc.
@@ -58,7 +58,7 @@ are only relevant off-chain.
ink! contracts are compiled for a WebAssembly (Wasm) target architecture,
i.e. they are executed in a Wasm sandbox execution environment on the
blockchain itself ‒ hence a `no_std` environment.
-More specifically they are executed by the [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts),
+More specifically they are executed by the [`pallet-revive`](https://github.com/paritytech/substrate/tree/master/frame/contracts),
a module of the Substrate blockchain framework. This module takes ink!
smart contracts and runs them in a sandbox environment.
@@ -123,38 +123,38 @@ One advantage is that users don't deal with an ever-changing nightly
compiler. It's easier for us to support. If you build a contract without
`cargo-contract` you will have to set this env variable too or use nightly.
-## Interaction with `pallet-contracts`
+## Interaction with `pallet-revive`
The Wasm blob to which an ink! contract is compiled is executed in
-an execution environment named [`pallet-contracts`](https://github.com/paritytech/substrate/commits/master/frame/contracts)
+an execution environment named [`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive)
on-chain.
-This `pallet-contracts` is the smart contracts module of
+This `pallet-revive` is the smart contracts module of
[the Substrate blockchain framework](http://substrate.io/).
The relationship is as depicted in this diagram:
-
+
### Communication with the pallet
-ink! uses a static buffer for interacting with `pallet-contracts`, i.e.
+ink! uses a static buffer for interacting with `pallet-revive`, i.e.
to move data between the pallet and a smart contract.
The advantage of a static buffer is that no gas-expensive heap allocations
are necessary, all allocations are done using simple pointer arithmetic.
The implementation of this static buffer is found in
[`ink_env/src/engine/on_chain/buffer.rs`](https://github.com/use-ink/ink/blob/master/crates/env/src/engine/on_chain/buffer.rs).
-The methods for communicating with the pallet are found in [`ink_env/src/engine/on_chain/impls`](https://github.com/use-ink/ink/tree/master/crates/env/src/engine/on_chain/impls).
+The methods for communicating with the pallet are found in [`ink_env/src/engine/on_chain/pallet_revive.rs`](https://github.com/use-ink/ink/blob/master/crates/env/src/engine/on_chain/pallet_revive.rs).
If you look at the implementations you'll see a common pattern of
* SCALE-encoding values on the ink! side in order to pass them as a slice
- of bytes to the `pallet-contracts`.
-* SCALE-decoding values that come from the `pallet-contracts` side in order
+ of bytes to the `pallet-revive`.
+* SCALE-decoding values that come from the `pallet-revive` side in order
to convert them into the proper types on the ink! side, making them available
for contract developers.
### The pallet API
Signatures of host API functions are defined in
-[`pallet-contracts-uapi`](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/contracts/uapi/src/host/wasm32.rs).
+[`pallet-revive-uapi`](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/revive/uapi/src/host/riscv64.rs).
You'll see that we import different versions of API functions, something
like the following excerpt:
@@ -178,7 +178,7 @@ extern "C" {
}
```
-Smart contracts are immutable, thus the `pallet-contracts` can never change or remove
+Smart contracts are immutable, thus the `pallet-revive` can never change or remove
old API functions ‒ otherwise smart contracts that are deployed on-chain would break.
Hence there is this version mechanism. Functions start out at version `seal0` and for
@@ -192,7 +192,7 @@ contract. And we found seals to be a cute animal as well ‒ like squids!
## `Environment` Trait
You can use ink! on any blockchain that was built with the [Substrate](https://substrate.io)
-framework and includes the [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts)
+framework and includes the [`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive)
module.
Substrate does not define specific types for a blockchain, it uses
generic types throughout.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9b8b864faa1..70c35e392f4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,7 @@
# Contributing to ink!
+TODO review
+
First of all, thank you for taking your time to contribute to ink!
> [I don't want to contribute, I just have some questions! :S](#I-dont-want-to-contribute-I-just-have-some-questions)
@@ -81,14 +83,14 @@ Verify the following locally, otherwise the CI will fail:
### Backwards Compatibility
-ink! and `pallet-contracts` are projects under active development. As the Contracts API
+ink! and `pallet-revive` are projects under active development. As the Contracts API
functions evolve to their newer versions we need to introduce them in ink! in a way that
keeps the current *MAJOR* ink! versions compatible with older Substrate nodes which
may not have these new API function.
In order to achieve this, please stick to the following workflow.
-Imagine there is a `[seal0] function()` in the Contracts pallet API and our
+Imagine there is a `[seal0] function()` in the Revive pallet API and our
`ink_env::function()` uses its import under the hood. Then some time later we decide
to add a new `[seal1] function()` version to the pallet. In order to introduce it into
ink! and still be able to run contracts (which don't use this particular function) on
@@ -107,7 +109,6 @@ older nodes, please do the following:
You can have a look at the [PR#1284](https://github.com/use-ink/ink/pull/1284/files#diff-e7cc1cdb3856da1293c785de863703d5961c324aa2018decb0166ea1eb0631e8R191) for a reference of how the described way could be implemented.
-
## Issues and Pull Requests
Please always respect our [code of conduct](CODE_OF_CONDUCT.md) when writing issues and pull requests or taking part in any kind of discussion.
diff --git a/Cargo.lock b/Cargo.lock
index fc2f10e4948..910ba0b7454 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -33,7 +33,7 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.6",
"generic-array",
]
@@ -131,9 +131,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.94"
+version = "1.0.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7"
+checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
[[package]]
name = "approx"
@@ -155,7 +155,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -173,9 +173,21 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f"
dependencies = [
- "ark-ec",
- "ark-ff",
- "ark-std",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-bls12-377-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55"
+dependencies = [
+ "ark-bls12-377",
+ "ark-ec 0.4.2",
+ "ark-models-ext",
+ "ark-std 0.4.0",
]
[[package]]
@@ -184,10 +196,49 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488"
dependencies = [
- "ark-ec",
- "ark-ff",
- "ark-serialize",
- "ark-std",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-bls12-381-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c"
+dependencies = [
+ "ark-bls12-381",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-models-ext",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-bw6-761"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700"
+dependencies = [
+ "ark-bls12-377",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-bw6-761-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2"
+dependencies = [
+ "ark-bw6-761",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-models-ext",
+ "ark-std 0.4.0",
]
[[package]]
@@ -196,34 +247,126 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba"
dependencies = [
- "ark-ff",
- "ark-poly",
- "ark-serialize",
- "ark-std",
+ "ark-ff 0.4.2",
+ "ark-poly 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
"derivative",
"hashbrown 0.13.2",
"itertools 0.10.5",
"num-traits",
+ "rayon",
+ "zeroize",
+]
+
+[[package]]
+name = "ark-ec"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce"
+dependencies = [
+ "ahash",
+ "ark-ff 0.5.0",
+ "ark-poly 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "educe",
+ "fnv",
+ "hashbrown 0.15.2",
+ "itertools 0.13.0",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
"zeroize",
]
+[[package]]
+name = "ark-ed-on-bls12-377"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6"
+dependencies = [
+ "ark-bls12-377",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-ed-on-bls12-377-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-377",
+ "ark-ff 0.4.2",
+ "ark-models-ext",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-ed-on-bls12-381-bandersnatch"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c"
+dependencies = [
+ "ark-bls12-381",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-std 0.4.0",
+]
+
+[[package]]
+name = "ark-ed-on-bls12-381-bandersnatch-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-381-bandersnatch",
+ "ark-ff 0.4.2",
+ "ark-models-ext",
+ "ark-std 0.4.0",
+]
+
[[package]]
name = "ark-ff"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba"
dependencies = [
- "ark-ff-asm",
- "ark-ff-macros",
- "ark-serialize",
- "ark-std",
+ "ark-ff-asm 0.4.2",
+ "ark-ff-macros 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
"derivative",
"digest 0.10.7",
"itertools 0.10.5",
"num-bigint",
"num-traits",
"paste",
- "rustc_version 0.4.1",
+ "rustc_version",
+ "zeroize",
+]
+
+[[package]]
+name = "ark-ff"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70"
+dependencies = [
+ "ark-ff-asm 0.5.0",
+ "ark-ff-macros 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "arrayvec 0.7.6",
+ "digest 0.10.7",
+ "educe",
+ "itertools 0.13.0",
+ "num-bigint",
+ "num-traits",
+ "paste",
"zeroize",
]
@@ -237,6 +380,16 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "ark-ff-asm"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60"
+dependencies = [
+ "quote",
+ "syn 2.0.93",
+]
+
[[package]]
name = "ark-ff-macros"
version = "0.4.2"
@@ -250,27 +403,110 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "ark-ff-macros"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
+[[package]]
+name = "ark-models-ext"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "derivative",
+]
+
[[package]]
name = "ark-poly"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf"
dependencies = [
- "ark-ff",
- "ark-serialize",
- "ark-std",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
"derivative",
"hashbrown 0.13.2",
]
+[[package]]
+name = "ark-poly"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27"
+dependencies = [
+ "ahash",
+ "ark-ff 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "educe",
+ "fnv",
+ "hashbrown 0.15.2",
+]
+
+[[package]]
+name = "ark-scale"
+version = "0.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "parity-scale-codec",
+ "scale-info",
+]
+
+[[package]]
+name = "ark-secret-scalar"
+version = "0.0.2"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "ark-transcript",
+ "digest 0.10.7",
+ "getrandom_or_panic",
+ "zeroize",
+]
+
[[package]]
name = "ark-serialize"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5"
dependencies = [
- "ark-serialize-derive",
- "ark-std",
+ "ark-serialize-derive 0.4.2",
+ "ark-std 0.4.0",
+ "digest 0.10.7",
+ "num-bigint",
+]
+
+[[package]]
+name = "ark-serialize"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7"
+dependencies = [
+ "ark-serialize-derive 0.5.0",
+ "ark-std 0.5.0",
+ "arrayvec 0.7.6",
"digest 0.10.7",
"num-bigint",
]
@@ -286,16 +522,51 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "ark-serialize-derive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
[[package]]
name = "ark-std"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185"
+dependencies = [
+ "num-traits",
+ "rand",
+ "rayon",
+]
+
+[[package]]
+name = "ark-std"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a"
dependencies = [
"num-traits",
"rand",
]
+[[package]]
+name = "ark-transcript"
+version = "0.0.2"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+dependencies = [
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "digest 0.10.7",
+ "rand_core",
+ "sha3 0.10.8",
+]
+
[[package]]
name = "array-bytes"
version = "6.2.3"
@@ -457,7 +728,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -493,6 +764,27 @@ dependencies = [
"windows-targets 0.52.6",
]
+[[package]]
+name = "bandersnatch_vrfs"
+version = "0.0.4"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+dependencies = [
+ "ark-bls12-381",
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-381-bandersnatch",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "dleq_vrf",
+ "rand_chacha",
+ "rand_core",
+ "ring 0.1.0",
+ "sha2 0.10.8",
+ "sp-ark-bls12-381",
+ "sp-ark-ed-on-bls12-381-bandersnatch",
+ "zeroize",
+]
+
[[package]]
name = "base16ct"
version = "0.2.0"
@@ -523,6 +815,32 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+[[package]]
+name = "binary-merkle-tree"
+version = "13.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "hash-db",
+ "log",
+ "parity-scale-codec",
+]
+
+[[package]]
+name = "bip32"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b"
+dependencies = [
+ "bs58",
+ "hmac 0.12.1",
+ "k256",
+ "rand_core",
+ "ripemd",
+ "sha2 0.10.8",
+ "subtle",
+ "zeroize",
+]
+
[[package]]
name = "bip39"
version = "2.1.0"
@@ -639,6 +957,15 @@ dependencies = [
"generic-array",
]
+[[package]]
+name = "block-buffer"
+version = "0.11.0-rc.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fd016a0ddc7cb13661bf5576073ce07330a693f8608a1320b4e20561cc12cdc"
+dependencies = [
+ "hybrid-array",
+]
+
[[package]]
name = "blocking"
version = "1.6.1"
@@ -677,7 +1004,7 @@ dependencies = [
"serde_json",
"serde_repr",
"serde_urlencoded",
- "thiserror 2.0.4",
+ "thiserror 2.0.9",
"tokio",
"tokio-util",
"tower-service",
@@ -714,6 +1041,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
dependencies = [
+ "sha2 0.10.8",
"tinyvec",
]
@@ -731,9 +1059,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
[[package]]
name = "bytemuck"
-version = "1.20.0"
+version = "1.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a"
+checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
[[package]]
name = "byteorder"
@@ -773,20 +1101,18 @@ checksum = "8769706aad5d996120af43197bf46ef6ad0fda35216b4505f926a365a232d924"
dependencies = [
"camino",
"cargo-platform",
- "semver 1.0.23",
+ "semver",
"serde",
"serde_json",
- "thiserror 2.0.4",
+ "thiserror 2.0.9",
]
[[package]]
name = "cc"
-version = "1.2.2"
+version = "1.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc"
+checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333"
dependencies = [
- "jobserver",
- "libc",
"shlex",
]
@@ -824,9 +1150,9 @@ dependencies = [
[[package]]
name = "chrono"
-version = "0.4.38"
+version = "0.4.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
dependencies = [
"android-tzdata",
"iana-time-zone",
@@ -841,16 +1167,16 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.6",
"inout",
"zeroize",
]
[[package]]
name = "clap"
-version = "4.5.22"
+version = "4.5.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b"
+checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84"
dependencies = [
"clap_builder",
"clap_derive",
@@ -858,9 +1184,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.22"
+version = "4.5.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1"
+checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838"
dependencies = [
"anstream",
"anstyle",
@@ -874,27 +1200,17 @@ version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "clap_lex"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7"
-
-[[package]]
-name = "codespan-reporting"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
-dependencies = [
- "termcolor",
- "unicode-width 0.1.14",
-]
+checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
[[package]]
name = "colorchoice"
@@ -904,12 +1220,12 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "colored"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
dependencies = [
"lazy_static",
- "windows-sys 0.48.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -922,6 +1238,22 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "common"
+version = "0.1.0"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-poly 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "fflonk",
+ "getrandom_or_panic",
+ "merlin",
+ "rand_chacha",
+]
+
[[package]]
name = "common-path"
version = "1.0.0"
@@ -943,6 +1275,12 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+[[package]]
+name = "const-oid"
+version = "0.10.0-rc.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68ff6be19477a1bd5441f382916a89bc2a0b2c35db6d41e0f6e8538bf6d6463f"
+
[[package]]
name = "const-random"
version = "0.1.18"
@@ -1004,8 +1342,7 @@ checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08"
[[package]]
name = "contract-build"
version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "857769855bf40d230e41baf6575cc44bd5e6869f69f88f45f6791da793f49a0c"
+source = "git+https://github.com/use-ink/cargo-contract?branch=cmichi-remove-wasm-default-to-revive#934ecf915acb87be521402cfbdb685020f9655ce"
dependencies = [
"anyhow",
"blake2",
@@ -1016,16 +1353,18 @@ dependencies = [
"contract-metadata",
"crossterm",
"duct",
- "heck 0.5.0",
+ "heck",
"hex",
- "impl-serde 0.5.0",
+ "impl-serde",
"parity-scale-codec",
+ "polkavm-linker",
"regex",
- "rustc_version 0.4.1",
- "semver 1.0.23",
+ "rustc_version",
+ "semver",
"serde",
"serde_json",
- "strum 0.26.3",
+ "sha3 0.11.0-pre.4",
+ "strum",
"tempfile",
"term_size",
"tokio",
@@ -1035,9 +1374,7 @@ dependencies = [
"url",
"uzers",
"walkdir",
- "wasm-encoder 0.220.0",
- "wasm-opt",
- "wasmparser 0.220.0",
+ "wasmparser",
"which",
"zip",
]
@@ -1045,12 +1382,11 @@ dependencies = [
[[package]]
name = "contract-metadata"
version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "733a6624ea05dd71050641c3cd9baff7a1445032a0082f0e55c800c078716424"
+source = "git+https://github.com/use-ink/cargo-contract?branch=cmichi-remove-wasm-default-to-revive#934ecf915acb87be521402cfbdb685020f9655ce"
dependencies = [
"anyhow",
- "impl-serde 0.5.0",
- "semver 1.0.23",
+ "impl-serde",
+ "semver",
"serde",
"serde_json",
"url",
@@ -1096,20 +1432,39 @@ dependencies = [
"cfg-if",
]
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
[[package]]
name = "crossbeam-queue"
-version = "0.3.11"
+version = "0.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
-version = "0.8.20"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crossterm"
@@ -1165,6 +1520,17 @@ dependencies = [
"typenum",
]
+[[package]]
+name = "crypto-common"
+version = "0.2.0-rc.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0b8ce8218c97789f16356e7896b3714f26c2ee1079b79c0b7ae7064bb9089fa"
+dependencies = [
+ "getrandom",
+ "hybrid-array",
+ "rand_core",
+]
+
[[package]]
name = "crypto-mac"
version = "0.8.0"
@@ -1201,7 +1567,7 @@ dependencies = [
"curve25519-dalek-derive",
"digest 0.10.7",
"fiat-crypto",
- "rustc_version 0.4.1",
+ "rustc_version",
"subtle",
"zeroize",
]
@@ -1214,66 +1580,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
-]
-
-[[package]]
-name = "cxx"
-version = "1.0.133"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05e1ec88093d2abd9cf1b09ffd979136b8e922bf31cad966a8fe0d73233112ef"
-dependencies = [
- "cc",
- "cxxbridge-cmd",
- "cxxbridge-flags",
- "cxxbridge-macro",
- "foldhash",
- "link-cplusplus",
-]
-
-[[package]]
-name = "cxx-build"
-version = "1.0.133"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afa390d956ee7ccb41aeed7ed7856ab3ffb4fc587e7216be7e0f83e949b4e6c"
-dependencies = [
- "cc",
- "codespan-reporting",
- "proc-macro2",
- "quote",
- "scratch",
- "syn 2.0.90",
-]
-
-[[package]]
-name = "cxxbridge-cmd"
-version = "1.0.133"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c23bfff654d6227cbc83de8e059d2f8678ede5fc3a6c5a35d5c379983cc61e6"
-dependencies = [
- "clap",
- "codespan-reporting",
- "proc-macro2",
- "quote",
- "syn 2.0.90",
-]
-
-[[package]]
-name = "cxxbridge-flags"
-version = "1.0.133"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7c01b36e22051bc6928a78583f1621abaaf7621561c2ada1b00f7878fbe2caa"
-
-[[package]]
-name = "cxxbridge-macro"
-version = "1.0.133"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6e14013136fac689345d17b9a6df55977251f11d333c0a571e8d963b55e1f95"
-dependencies = [
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1297,7 +1604,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1308,7 +1615,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1317,7 +1624,7 @@ version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
dependencies = [
- "const-oid",
+ "const-oid 0.9.6",
"zeroize",
]
@@ -1350,7 +1657,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1361,7 +1668,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1372,7 +1679,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1384,8 +1691,8 @@ dependencies = [
"convert_case",
"proc-macro2",
"quote",
- "rustc_version 0.4.1",
- "syn 2.0.90",
+ "rustc_version",
+ "syn 2.0.93",
]
[[package]]
@@ -1405,7 +1712,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
"unicode-xid",
]
@@ -1431,11 +1738,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
- "const-oid",
- "crypto-common",
+ "const-oid 0.9.6",
+ "crypto-common 0.1.6",
"subtle",
]
+[[package]]
+name = "digest"
+version = "0.11.0-pre.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf2e3d6615d99707295a9673e889bf363a04b2a466bd320c65a72536f7577379"
+dependencies = [
+ "block-buffer 0.11.0-rc.3",
+ "const-oid 0.10.0-rc.3",
+ "crypto-common 0.2.0-rc.1",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "displaydoc"
version = "0.2.5"
@@ -1444,7 +1783,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -1453,6 +1792,22 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d"
+[[package]]
+name = "dleq_vrf"
+version = "0.0.2"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-scale",
+ "ark-secret-scalar",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "ark-transcript",
+ "arrayvec 0.7.6",
+ "zeroize",
+]
+
[[package]]
name = "docify"
version = "0.2.9"
@@ -1474,7 +1829,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.90",
+ "syn 2.0.93",
"termcolor",
"toml",
"walkdir",
@@ -1579,6 +1934,18 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "educe"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417"
+dependencies = [
+ "enum-ordinalize",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
[[package]]
name = "either"
version = "1.13.0"
@@ -1605,6 +1972,32 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-ordinalize"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
+dependencies = [
+ "enum-ordinalize-derive",
+]
+
+[[package]]
+name = "enum-ordinalize-derive"
+version = "4.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
+[[package]]
+name = "env_home"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe"
+
[[package]]
name = "env_logger"
version = "0.8.4"
@@ -1637,6 +2030,37 @@ dependencies = [
"windows-sys 0.59.0",
]
+[[package]]
+name = "ethbloom"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c321610643004cf908ec0f5f2aa0d8f1f8e14b540562a2887a1111ff1ecbf7b"
+dependencies = [
+ "crunchy",
+ "fixed-hash",
+ "impl-codec",
+ "impl-rlp",
+ "impl-serde",
+ "scale-info",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "ethereum-types"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab15ed80916029f878e0267c3a9f92b67df55e79af370bf66199059ae2b4ee3"
+dependencies = [
+ "ethbloom",
+ "fixed-hash",
+ "impl-codec",
+ "impl-rlp",
+ "impl-serde",
+ "primitive-types",
+ "scale-info",
+ "uint",
+]
+
[[package]]
name = "event-listener"
version = "5.3.1"
@@ -1670,14 +2094,20 @@ dependencies = [
"prettyplease",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
+[[package]]
+name = "fallible-iterator"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
+
[[package]]
name = "fastrand"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4"
+checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "ff"
@@ -1689,6 +2119,19 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fflonk"
+version = "0.1.1"
+source = "git+https://github.com/w3f/fflonk#eda051ea3b80042e844a3ebd17c2f60536e6ee3f"
+dependencies = [
+ "ark-ec 0.5.0",
+ "ark-ff 0.5.0",
+ "ark-poly 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "merlin",
+]
+
[[package]]
name = "fiat-crypto"
version = "0.2.9"
@@ -1725,9 +2168,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2"
+checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
[[package]]
name = "form_urlencoded"
@@ -1740,9 +2183,8 @@ dependencies = [
[[package]]
name = "frame-benchmarking"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01bdd47c2d541b38bd892da647d1e972c9d85b4ecd7094ad64f7600175da54d"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-support-procedural",
@@ -1758,8 +2200,8 @@ dependencies = [
"sp-core",
"sp-io",
"sp-runtime",
- "sp-runtime-interface",
- "sp-storage",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"static_assertions",
]
@@ -1774,26 +2216,24 @@ dependencies = [
"scale-decode",
"scale-info",
"scale-type-resolver",
- "sp-crypto-hashing",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "frame-election-provider-solution-type"
-version = "14.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8156f209055d352994ecd49e19658c6b469d7c6de923bd79868957d0dcfb6f71"
+version = "13.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "frame-election-provider-support"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c36f5116192c63d39f1b4556fa30ac7db5a6a52575fa241b045f7dfa82ecc2be"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -1808,9 +2248,9 @@ dependencies = [
[[package]]
name = "frame-metadata"
-version = "16.0.0"
+version = "17.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692"
+checksum = "701bac17e9b55e0f95067c428ebcb46496587f08e8cf4ccc0fe5903bea10dbb8"
dependencies = [
"cfg-if",
"parity-scale-codec",
@@ -1820,9 +2260,9 @@ dependencies = [
[[package]]
name = "frame-metadata"
-version = "17.0.0"
+version = "18.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "701bac17e9b55e0f95067c428ebcb46496587f08e8cf4ccc0fe5903bea10dbb8"
+checksum = "daaf440c68eb2c3d88e5760fe8c7af3f9fee9181fab6c2f2c4e7cc48dcc40bb8"
dependencies = [
"cfg-if",
"parity-scale-codec",
@@ -1832,16 +2272,16 @@ dependencies = [
[[package]]
name = "frame-support"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e44af69fa61bc5005ffe0339e198957e77f0f255704a9bee720da18a733e3dc"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"aquamarine",
"array-bytes",
+ "binary-merkle-tree",
"bitflags 1.3.2",
"docify",
"environmental",
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
"frame-support-procedural",
"impl-trait-for-tuples",
"k256",
@@ -1857,7 +2297,7 @@ dependencies = [
"sp-arithmetic",
"sp-core",
"sp-crypto-hashing-proc-macro",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-genesis-builder",
"sp-inherents",
"sp-io",
@@ -1865,8 +2305,9 @@ dependencies = [
"sp-runtime",
"sp-staking",
"sp-state-machine",
- "sp-std",
- "sp-tracing",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-trie",
"sp-weights",
"static_assertions",
"tt-call",
@@ -1874,13 +2315,13 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
-version = "30.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e8f9b6bc1517a6fcbf0b2377e5c8c6d39f5bb7862b191a59a9992081d63972d"
+version = "23.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"Inflector",
"cfg-expr",
"derive-syn-parse",
+ "docify",
"expander",
"frame-support-procedural-tools",
"itertools 0.11.0",
@@ -1888,39 +2329,36 @@ dependencies = [
"proc-macro-warning",
"proc-macro2",
"quote",
- "sp-crypto-hashing",
- "syn 2.0.90",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "syn 2.0.93",
]
[[package]]
name = "frame-support-procedural-tools"
-version = "13.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bead15a320be1764cdd50458c4cfacb23e0cee65f64f500f8e34136a94c7eeca"
+version = "10.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "frame-support-procedural-tools-derive"
-version = "12.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191"
+version = "11.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "frame-system"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c7fa02f8c305496d2ae52edaecdb9d165f11afa965e05686d7d7dd1ce93611"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"cfg-if",
"docify",
@@ -1932,7 +2370,6 @@ dependencies = [
"sp-core",
"sp-io",
"sp-runtime",
- "sp-std",
"sp-version",
"sp-weights",
]
@@ -2022,7 +2459,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -2098,12 +2535,16 @@ name = "gimli"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+dependencies = [
+ "fallible-iterator",
+ "stable_deref_trait",
+]
[[package]]
name = "glob"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
[[package]]
name = "group"
@@ -2168,12 +2609,6 @@ dependencies = [
"foldhash",
]
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
[[package]]
name = "heck"
version = "0.5.0"
@@ -2249,15 +2684,6 @@ dependencies = [
"hmac 0.8.1",
]
-[[package]]
-name = "home"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
[[package]]
name = "http"
version = "1.2.0"
@@ -2304,11 +2730,20 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+[[package]]
+name = "hybrid-array"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2d35805454dc9f8662a98d6d61886ffe26bd465f5960e0e55345c70d5c0d2a9"
+dependencies = [
+ "typenum",
+]
+
[[package]]
name = "hyper"
-version = "1.5.1"
+version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f"
+checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0"
dependencies = [
"bytes",
"futures-channel",
@@ -2511,7 +2946,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -2543,29 +2978,31 @@ dependencies = [
[[package]]
name = "impl-codec"
-version = "0.6.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
+checksum = "b67aa010c1e3da95bf151bd8b4c059b2ed7e75387cdb969b4f8f2723a43f9941"
dependencies = [
"parity-scale-codec",
]
[[package]]
-name = "impl-codec"
-version = "0.7.0"
+name = "impl-num-traits"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67aa010c1e3da95bf151bd8b4c059b2ed7e75387cdb969b4f8f2723a43f9941"
+checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c"
dependencies = [
- "parity-scale-codec",
+ "integer-sqrt",
+ "num-traits",
+ "uint",
]
[[package]]
-name = "impl-serde"
+name = "impl-rlp"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd"
+checksum = "54ed8ad1f3877f7e775b8cbf30ed1bd3209a95401817f19a0eb4402d13f8cf90"
dependencies = [
- "serde",
+ "rlp",
]
[[package]]
@@ -2585,7 +3022,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -2647,10 +3084,9 @@ dependencies = [
"ink_prelude",
"ink_primitives",
"ink_storage",
- "pallet-contracts-uapi",
"pallet-revive-uapi",
"parity-scale-codec",
- "polkavm-derive 0.17.1",
+ "polkavm-derive",
"scale-info",
"sp-io",
"staging-xcm",
@@ -2673,18 +3109,18 @@ dependencies = [
"blake2",
"derive_more 1.0.0",
"either",
- "heck 0.5.0",
- "impl-serde 0.5.0",
+ "heck",
+ "impl-serde",
"ink_ir",
"ink_primitives",
"itertools 0.13.0",
"parity-scale-codec",
- "polkavm-derive 0.17.1",
+ "polkavm-derive",
"proc-macro2",
"quote",
"serde",
"serde_json",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -2695,15 +3131,16 @@ dependencies = [
"contract-build",
"frame-support",
"funty",
- "impl-serde 0.5.0",
+ "impl-serde",
"ink",
"ink_e2e_macro",
"ink_env",
"ink_primitives",
"ink_sandbox",
+ "itertools 0.13.0",
"jsonrpsee",
- "pallet-contracts",
- "pallet-contracts-mock-network",
+ "pallet-revive",
+ "pallet-revive-mock-network",
"parity-scale-codec",
"regex",
"scale-info",
@@ -2716,11 +3153,10 @@ dependencies = [
"subxt",
"subxt-metadata",
"subxt-signer",
- "thiserror 2.0.4",
+ "thiserror 2.0.9",
"tokio",
"tracing",
"tracing-subscriber",
- "wasm-instrument",
"which",
]
@@ -2736,7 +3172,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde_json",
- "syn 2.0.90",
+ "syn 2.0.93",
"temp-env",
"tracing-subscriber",
]
@@ -2748,12 +3184,11 @@ dependencies = [
"blake2",
"derive_more 1.0.0",
"ink_primitives",
- "pallet-contracts-uapi",
"pallet-revive-uapi",
"parity-scale-codec",
"secp256k1 0.30.0",
"sha2 0.10.8",
- "sha3",
+ "sha3 0.10.8",
]
[[package]]
@@ -2767,24 +3202,23 @@ dependencies = [
"ink",
"ink_allocator",
"ink_engine",
+ "ink_macro",
"ink_prelude",
"ink_primitives",
"ink_storage_traits",
"num-traits",
- "pallet-contracts-uapi",
"pallet-revive-uapi",
"parity-scale-codec",
- "paste",
- "polkavm-derive 0.17.1",
- "rlibc",
+ "polkavm-derive",
"scale-decode",
"scale-encode",
"scale-info",
"schnorrkel",
"secp256k1 0.30.0",
"sha2 0.10.8",
- "sha3",
+ "sha3 0.10.8",
"sp-io",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"staging-xcm",
"static_assertions",
]
@@ -2795,12 +3229,12 @@ version = "5.1.0"
dependencies = [
"blake2",
"either",
- "impl-serde 0.5.0",
+ "impl-serde",
"ink_prelude",
"itertools 0.13.0",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -2819,7 +3253,7 @@ dependencies = [
"proc-macro2",
"quote",
"scale-info",
- "syn 2.0.90",
+ "syn 2.0.93",
"synstructure",
]
@@ -2828,7 +3262,7 @@ name = "ink_metadata"
version = "5.1.0"
dependencies = [
"derive_more 1.0.0",
- "impl-serde 0.5.0",
+ "impl-serde",
"ink_prelude",
"ink_primitives",
"linkme",
@@ -2858,9 +3292,11 @@ dependencies = [
"ink_prelude",
"num-traits",
"parity-scale-codec",
+ "primitive-types",
"scale-decode",
"scale-encode",
"scale-info",
+ "serde",
"xxhash-rust",
]
@@ -2868,19 +3304,20 @@ dependencies = [
name = "ink_sandbox"
version = "5.1.0"
dependencies = [
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
"frame-support",
"frame-system",
+ "ink_primitives",
"pallet-balances",
- "pallet-contracts",
+ "pallet-revive",
"pallet-timestamp",
"parity-scale-codec",
"paste",
"scale-info",
+ "sha3 0.10.8",
"sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-io",
- "wat",
]
[[package]]
@@ -2897,7 +3334,6 @@ dependencies = [
"ink_primitives",
"ink_storage_traits",
"itertools 0.13.0",
- "pallet-contracts-uapi",
"pallet-revive-uapi",
"parity-scale-codec",
"quickcheck",
@@ -2994,20 +3430,11 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
-[[package]]
-name = "jobserver"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "js-sys"
-version = "0.3.74"
+version = "0.3.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705"
+checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -3059,7 +3486,7 @@ dependencies = [
"futures-util",
"jsonrpsee-types",
"pin-project",
- "rustc-hash",
+ "rustc-hash 2.1.0",
"serde",
"serde_json",
"thiserror 1.0.69",
@@ -3116,13 +3543,22 @@ dependencies = [
"cpufeatures",
]
+[[package]]
+name = "keccak"
+version = "0.2.0-pre.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7cdd4f0dc5807b9a2b25dd48a3f58e862606fe7bd47f41ecde36e97422d7e90"
+dependencies = [
+ "cpufeatures",
+]
+
[[package]]
name = "keccak-hash"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e1b8590eb6148af2ea2d75f38e7d29f5ca970d5a4df456b3ef19b8b415d0264"
dependencies = [
- "primitive-types 0.13.1",
+ "primitive-types",
"tiny-keccak",
]
@@ -3132,17 +3568,11 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-[[package]]
-name = "leb128"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
-
[[package]]
name = "libc"
-version = "0.2.167"
+version = "0.2.169"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc"
+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
[[package]]
name = "libm"
@@ -3150,6 +3580,16 @@ version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+]
+
[[package]]
name = "libsecp256k1"
version = "0.7.1"
@@ -3198,15 +3638,6 @@ dependencies = [
"libsecp256k1-core",
]
-[[package]]
-name = "link-cplusplus"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9"
-dependencies = [
- "cc",
-]
-
[[package]]
name = "linkme"
version = "0.3.31"
@@ -3224,7 +3655,7 @@ checksum = "edbe595006d355eaf9ae11db92707d4338cd2384d16866131cc1afdbdd35d8d9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3282,7 +3713,7 @@ dependencies = [
"macro_magic_core",
"macro_magic_macros",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3296,7 +3727,7 @@ dependencies = [
"macro_magic_core_macros",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3307,7 +3738,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3318,7 +3749,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869"
dependencies = [
"macro_magic_core",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3362,7 +3793,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d"
dependencies = [
"byteorder",
- "keccak",
+ "keccak 0.1.5",
"rand_core",
"zeroize",
]
@@ -3375,9 +3806,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
-version = "0.8.0"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
+checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394"
dependencies = [
"adler2",
]
@@ -3480,7 +3911,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -3534,9 +3965,9 @@ dependencies = [
[[package]]
name = "object"
-version = "0.36.5"
+version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
+checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
"memchr",
]
@@ -3559,6 +3990,12 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
[[package]]
name = "os_pipe"
version = "1.2.1"
@@ -3577,9 +4014,8 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "pallet-asset-conversion"
-version = "20.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33f0078659ae95efe6a1bf138ab5250bc41ab98f22ff3651d0208684f08ae797"
+version = "10.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3596,9 +4032,8 @@ dependencies = [
[[package]]
name = "pallet-assets"
-version = "40.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f45f4eb6027fc34c4650e0ed6a7e57ed3335cc364be74b4531f714237676bcee"
+version = "29.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3613,9 +4048,8 @@ dependencies = [
[[package]]
name = "pallet-authority-discovery"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb0208f0538d58dcb78ce1ff5e6e8641c5f37b23b20b05587e51da30ab13541"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-system",
@@ -3629,9 +4063,8 @@ dependencies = [
[[package]]
name = "pallet-authorship"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-system",
@@ -3643,9 +4076,8 @@ dependencies = [
[[package]]
name = "pallet-babe"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3667,9 +4099,8 @@ dependencies = [
[[package]]
name = "pallet-balances"
-version = "39.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"docify",
"frame-benchmarking",
@@ -3683,9 +4114,8 @@ dependencies = [
[[package]]
name = "pallet-broker"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3043c90106d88cb93fcf0d9b6d19418f11f44cc2b11873414aec3b46044a24ea"
+version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -3701,180 +4131,143 @@ dependencies = [
]
[[package]]
-name = "pallet-contracts"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5df77077745d891c822b4275f273f336077a97e69e62a30134776aa721c96fee"
+name = "pallet-message-queue"
+version = "31.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
- "bitflags 1.3.2",
"environmental",
"frame-benchmarking",
"frame-support",
"frame-system",
- "impl-trait-for-tuples",
"log",
- "pallet-balances",
- "pallet-contracts-proc-macro",
- "pallet-contracts-uapi",
"parity-scale-codec",
- "paste",
- "rand",
"scale-info",
- "serde",
- "smallvec",
- "sp-api",
+ "sp-arithmetic",
"sp-core",
"sp-io",
"sp-runtime",
- "sp-std",
- "staging-xcm",
- "staging-xcm-builder",
- "wasm-instrument",
- "wasmi",
+ "sp-weights",
]
[[package]]
-name = "pallet-contracts-mock-network"
-version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "309666537ed001c61a99f59fa7b98680f4a6e4e361ed3bc64f7b0237da3e3e06"
+name = "pallet-mmr"
+version = "27.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
+ "frame-benchmarking",
"frame-support",
"frame-system",
- "pallet-assets",
- "pallet-balances",
- "pallet-contracts",
- "pallet-contracts-proc-macro",
- "pallet-contracts-uapi",
- "pallet-insecure-randomness-collective-flip",
- "pallet-message-queue",
- "pallet-proxy",
- "pallet-timestamp",
- "pallet-utility",
- "pallet-xcm",
+ "log",
"parity-scale-codec",
- "polkadot-parachain-primitives",
- "polkadot-primitives",
- "polkadot-runtime-parachains",
"scale-info",
- "sp-api",
"sp-core",
"sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-tracing",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "xcm-simulator",
-]
-
-[[package]]
-name = "pallet-contracts-proc-macro"
-version = "23.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94226cbd48516b7c310eb5dae8d50798c1ce73a7421dc0977c55b7fc2237a283"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.90",
-]
-
-[[package]]
-name = "pallet-contracts-uapi"
-version = "12.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f74b000590c33fadea48585d3ae3f4b7867e99f0a524c444d5779f36b9a1b6"
-dependencies = [
- "bitflags 1.3.2",
- "parity-scale-codec",
- "paste",
- "polkavm-derive 0.9.1",
- "scale-info",
-]
-
-[[package]]
-name = "pallet-insecure-randomness-collective-flip"
-version = "26.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce7ad80675d78bd38a7a66ecbbf2d218dd32955e97f8e301d0afe6c87b0f251"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec",
- "safe-mix",
- "scale-info",
+ "sp-mmr-primitives",
"sp-runtime",
]
[[package]]
-name = "pallet-message-queue"
-version = "41.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "983f7d1be18e9a089a3e23670918f5085705b4403acd3fdde31878d57b76a1a8"
+name = "pallet-revive"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
+ "derive_more 0.99.18",
"environmental",
+ "ethereum-types",
"frame-benchmarking",
"frame-support",
"frame-system",
+ "hex",
+ "impl-trait-for-tuples",
"log",
+ "pallet-revive-fixtures",
+ "pallet-revive-proc-macro",
+ "pallet-revive-uapi",
+ "pallet-transaction-payment",
"parity-scale-codec",
+ "paste",
+ "polkavm",
+ "rlp",
"scale-info",
+ "serde",
+ "sp-api",
"sp-arithmetic",
"sp-core",
"sp-io",
"sp-runtime",
- "sp-weights",
+ "staging-xcm",
+ "staging-xcm-builder",
+ "subxt-signer",
]
[[package]]
-name = "pallet-mmr"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6932dfb85f77a57c2d1fdc28a7b3a59ffe23efd8d5bb02dc3039d91347e4a3b"
+name = "pallet-revive-fixtures"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "anyhow",
+ "polkavm-linker",
+ "sp-core",
+ "sp-io",
+ "toml",
+]
+
+[[package]]
+name = "pallet-revive-mock-network"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
- "frame-benchmarking",
"frame-support",
"frame-system",
- "log",
+ "pallet-assets",
+ "pallet-balances",
+ "pallet-message-queue",
+ "pallet-revive",
+ "pallet-revive-uapi",
+ "pallet-timestamp",
+ "pallet-xcm",
"parity-scale-codec",
+ "polkadot-parachain-primitives",
+ "polkadot-primitives",
+ "polkadot-runtime-parachains",
"scale-info",
"sp-core",
"sp-io",
- "sp-mmr-primitives",
"sp-runtime",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "staging-xcm",
+ "staging-xcm-builder",
+ "staging-xcm-executor",
+ "xcm-simulator",
]
[[package]]
-name = "pallet-proxy"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d39df395f0dbcf07dafe842916adea3266a87ce36ed87b5132184b6bcd746393"
+name = "pallet-revive-proc-macro"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "parity-scale-codec",
- "scale-info",
- "sp-io",
- "sp-runtime",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
]
[[package]]
name = "pallet-revive-uapi"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-rc2#a86fb861573b31fb35db97d6ffe3eb4ff4a80359"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bitflags 1.3.2",
+ "pallet-revive-proc-macro",
+ "parity-scale-codec",
"paste",
- "polkavm-derive 0.14.0",
+ "polkavm-derive",
+ "scale-info",
]
[[package]]
name = "pallet-session"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8474b62b6b7622f891e83d922a589e2ad5be5471f5ca47d45831a797dba0b3f4"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-system",
@@ -3894,9 +4287,8 @@ dependencies = [
[[package]]
name = "pallet-staking"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c870d123f4f053b56af808a4beae1ffc4309a696e829796c26837936c926db3b"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -3916,9 +4308,8 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
-version = "37.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9ba9b71bbfd33ae672f23ba7efaeed2755fdac37b8f946cb7474fc37841b7e1"
+version = "27.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"docify",
"frame-benchmarking",
@@ -3930,37 +4321,21 @@ dependencies = [
"sp-inherents",
"sp-io",
"sp-runtime",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-timestamp",
]
[[package]]
name = "pallet-transaction-payment"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b1aa3498107a30237f941b0f02180db3b79012c3488878ff01a4ac3e8ee04e"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
-]
-
-[[package]]
-name = "pallet-utility"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fdcade6efc0b66fc7fc4138964802c02d0ffb7380d894e26b9dd5073727d2b3"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
"parity-scale-codec",
"scale-info",
+ "serde",
"sp-core",
"sp-io",
"sp-runtime",
@@ -3968,9 +4343,8 @@ dependencies = [
[[package]]
name = "pallet-vesting"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "807df2ef13ab6bf940879352c3013bfa00b670458b4c125c2f60e5753f68e3d5"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3983,15 +4357,13 @@ dependencies = [
[[package]]
name = "pallet-xcm"
-version = "17.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "989676964dbda5f5275650fbdcd3894fe7fac626d113abf89d572b4952adcc36"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bounded-collections",
"frame-benchmarking",
"frame-support",
"frame-system",
- "log",
"pallet-balances",
"parity-scale-codec",
"scale-info",
@@ -4132,7 +4504,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -4180,9 +4552,8 @@ dependencies = [
[[package]]
name = "polkadot-core-primitives"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2900d3b857e34c480101618a950c3a4fbcddc8c0d50573d48553376185908b8"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -4192,9 +4563,8 @@ dependencies = [
[[package]]
name = "polkadot-parachain-primitives"
-version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52b5648a2e8ce1f9a0f8c41c38def670cefd91932cd793468e1a5b0b0b4e4af1"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bounded-collections",
"derive_more 0.99.18",
@@ -4209,9 +4579,8 @@ dependencies = [
[[package]]
name = "polkadot-primitives"
-version = "16.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb20b75d33212150242d39890d7ededab55f1084160c337f15d0eb8ca8c3ad4"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bitvec",
"hex-literal",
@@ -4232,26 +4601,26 @@ dependencies = [
"sp-keystore",
"sp-runtime",
"sp-staking",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "thiserror 1.0.69",
]
[[package]]
name = "polkadot-runtime-metrics"
-version = "17.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c306f1ace7644a24de860479f92cf8d6467393bb0c9b0777c57e2d42c9d452a"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bs58",
"frame-benchmarking",
"parity-scale-codec",
"polkadot-primitives",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
]
[[package]]
name = "polkadot-runtime-parachains"
-version = "17.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd58e3a17e5df678f5737b018cbfec603af2c93bec56bbb9f8fb8b2b017b54b1"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bitflags 1.3.2",
"bitvec",
@@ -4291,7 +4660,7 @@ dependencies = [
"sp-runtime",
"sp-session",
"sp-staking",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"staging-xcm",
"staging-xcm-executor",
]
@@ -4302,119 +4671,93 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb819108697967452fa6d8d96ab4c0d48cbaa423b3156499dcb24f1cf95d6775"
dependencies = [
- "sp-crypto-hashing",
-]
-
-[[package]]
-name = "polkavm-common"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92"
-
-[[package]]
-name = "polkavm-common"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711952a783e9c5ad407cdacb1ed147f36d37c5d43417c1091d86456d2999417b"
-
-[[package]]
-name = "polkavm-common"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f0dbafef4ab6ceecb4982ac3b550df430ef4f9fdbf07c108b7d4f91a0682fce"
-
-[[package]]
-name = "polkavm-derive"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606"
-dependencies = [
- "polkavm-derive-impl-macro 0.9.0",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "polkavm-derive"
-version = "0.14.0"
+name = "polkavm"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4832a0aebf6cefc988bb7b2d74ea8c86c983164672e2fc96300f356a1babfc1"
+checksum = "dd044ab1d3b11567ab6b98ca71259a992b4034220d5972988a0e96518e5d343d"
dependencies = [
- "polkavm-derive-impl-macro 0.14.0",
+ "libc",
+ "log",
+ "polkavm-assembler",
+ "polkavm-common",
+ "polkavm-linux-raw",
]
[[package]]
-name = "polkavm-derive"
-version = "0.17.1"
+name = "polkavm-assembler"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206caf322dfc02144510ad8360ff2051e5072f0874dcab3b410f78cdd52d0ebb"
+checksum = "eaad38dc420bfed79e6f731471c973ce5ff5e47ab403e63cf40358fef8a6368f"
dependencies = [
- "polkavm-derive-impl-macro 0.17.0",
+ "log",
]
[[package]]
-name = "polkavm-derive-impl"
-version = "0.9.0"
+name = "polkavm-common"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c"
+checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102"
dependencies = [
- "polkavm-common 0.9.0",
- "proc-macro2",
- "quote",
- "syn 2.0.90",
+ "log",
+ "polkavm-assembler",
]
[[package]]
-name = "polkavm-derive-impl"
-version = "0.14.0"
+name = "polkavm-derive"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e339fc7c11310fe5adf711d9342278ac44a75c9784947937cce12bd4f30842f2"
+checksum = "c2eb703f3b6404c13228402e98a5eae063fd16b8f58afe334073ec105ee4117e"
dependencies = [
- "polkavm-common 0.14.0",
- "proc-macro2",
- "quote",
- "syn 2.0.90",
+ "polkavm-derive-impl-macro",
]
[[package]]
name = "polkavm-derive-impl"
-version = "0.17.0"
+version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42565aed4adbc4034612d0b17dea8db3681fb1bd1aed040d6edc5455a9f478a1"
+checksum = "2f2116a92e6e96220a398930f4c8a6cda1264206f3e2034fc9982bfd93f261f7"
dependencies = [
- "polkavm-common 0.17.0",
+ "polkavm-common",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "polkavm-derive-impl-macro"
-version = "0.9.0"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
+checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b"
dependencies = [
- "polkavm-derive-impl 0.9.0",
- "syn 2.0.90",
+ "polkavm-derive-impl",
+ "syn 2.0.93",
]
[[package]]
-name = "polkavm-derive-impl-macro"
-version = "0.14.0"
+name = "polkavm-linker"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b569754b15060d03000c09e3bf11509d527f60b75d79b4c30c3625b5071d9702"
+checksum = "e9bfe793b094d9ea5c99b7c43ba46e277b0f8f48f4bbfdbabf8d3ebf701a4bd3"
dependencies = [
- "polkavm-derive-impl 0.14.0",
- "syn 2.0.90",
+ "dirs",
+ "gimli",
+ "hashbrown 0.14.5",
+ "log",
+ "object",
+ "polkavm-common",
+ "regalloc2",
+ "rustc-demangle",
]
[[package]]
-name = "polkavm-derive-impl-macro"
-version = "0.17.0"
+name = "polkavm-linux-raw"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86d9838e95241b0bce4fe269cdd4af96464160505840ed5a8ac8536119ba19e2"
-dependencies = [
- "polkavm-derive-impl 0.17.0",
- "syn 2.0.90",
-]
+checksum = "23eff02c070c70f31878a3d915e88a914ecf3e153741e2fb572dde28cce20fde"
[[package]]
name = "polling"
@@ -4474,20 +4817,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
dependencies = [
"proc-macro2",
- "syn 2.0.90",
-]
-
-[[package]]
-name = "primitive-types"
-version = "0.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2"
-dependencies = [
- "fixed-hash",
- "impl-codec 0.6.0",
- "impl-serde 0.4.0",
- "scale-info",
- "uint 0.9.5",
+ "syn 2.0.93",
]
[[package]]
@@ -4497,10 +4827,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5"
dependencies = [
"fixed-hash",
- "impl-codec 0.7.0",
- "impl-serde 0.5.0",
+ "impl-codec",
+ "impl-num-traits",
+ "impl-rlp",
+ "impl-serde",
"scale-info",
- "uint 0.10.0",
+ "uint",
]
[[package]]
@@ -4555,7 +4887,7 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -4566,7 +4898,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -4602,9 +4934,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.37"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
dependencies = [
"proc-macro2",
]
@@ -4651,15 +4983,46 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
+[[package]]
+name = "rayon"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
[[package]]
name = "redox_syscall"
-version = "0.5.7"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
dependencies = [
"bitflags 2.6.0",
]
+[[package]]
+name = "redox_users"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror 1.0.69",
+]
+
[[package]]
name = "ref-cast"
version = "1.0.23"
@@ -4677,7 +5040,20 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
+]
+
+[[package]]
+name = "regalloc2"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
+dependencies = [
+ "hashbrown 0.13.2",
+ "log",
+ "rustc-hash 1.1.0",
+ "slice-group-by",
+ "smallvec",
]
[[package]]
@@ -4734,6 +5110,23 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "ring"
+version = "0.1.0"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-poly 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "arrayvec 0.7.6",
+ "blake2",
+ "common",
+ "fflonk",
+ "merlin",
+]
+
[[package]]
name = "ring"
version = "0.17.8"
@@ -4750,10 +5143,23 @@ dependencies = [
]
[[package]]
-name = "rlibc"
-version = "1.0.0"
+name = "ripemd"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe"
+checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f"
+dependencies = [
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "rlp"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa24e92bb2a83198bb76d661a71df9f7076b8c420b8696e4d3d97d50d94479e3"
+dependencies = [
+ "bytes",
+ "rustc-hex",
+]
[[package]]
name = "rustc-demangle"
@@ -4761,6 +5167,12 @@ version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
[[package]]
name = "rustc-hash"
version = "2.1.0"
@@ -4773,46 +5185,37 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver 0.9.0",
-]
-
[[package]]
name = "rustc_version"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
dependencies = [
- "semver 1.0.23",
+ "semver",
]
[[package]]
name = "rustix"
-version = "0.38.41"
+version = "0.38.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6"
+checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85"
dependencies = [
"bitflags 2.6.0",
"errno",
"libc",
"linux-raw-sys",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "rustls"
-version = "0.23.19"
+version = "0.23.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1"
+checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b"
dependencies = [
"log",
"once_cell",
- "ring",
+ "ring 0.17.8",
"rustls-pki-types",
"rustls-webpki",
"subtle",
@@ -4843,9 +5246,9 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
-version = "1.10.0"
+version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
+checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
[[package]]
name = "rustls-platform-verifier"
@@ -4880,16 +5283,16 @@ version = "0.102.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
dependencies = [
- "ring",
+ "ring 0.17.8",
"rustls-pki-types",
"untrusted",
]
[[package]]
name = "rustversion"
-version = "1.0.18"
+version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
+checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
[[package]]
name = "ruzstd"
@@ -4907,20 +5310,11 @@ version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
-[[package]]
-name = "safe-mix"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c"
-dependencies = [
- "rustc_version 0.2.3",
-]
-
[[package]]
name = "safe_arch"
-version = "0.7.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a"
+checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323"
dependencies = [
"bytemuck",
]
@@ -4963,7 +5357,7 @@ checksum = "f8ae9cc099ae85ff28820210732b00f019546f36f33225f509fe25d5816864a0"
dependencies = [
"derive_more 1.0.0",
"parity-scale-codec",
- "primitive-types 0.13.1",
+ "primitive-types",
"scale-bits",
"scale-decode-derive",
"scale-type-resolver",
@@ -4979,7 +5373,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -4990,7 +5384,7 @@ checksum = "5f9271284d05d0749c40771c46180ce89905fd95aa72a2a2fddb4b7c0aa424db"
dependencies = [
"derive_more 1.0.0",
"parity-scale-codec",
- "primitive-types 0.13.1",
+ "primitive-types",
"scale-bits",
"scale-encode-derive",
"scale-type-resolver",
@@ -5007,7 +5401,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -5034,7 +5428,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -5056,7 +5450,7 @@ dependencies = [
"proc-macro2",
"quote",
"scale-info",
- "syn 2.0.90",
+ "syn 2.0.93",
"thiserror 1.0.69",
]
@@ -5110,7 +5504,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -5149,12 +5543,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "scratch"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
-
[[package]]
name = "scrypt"
version = "0.11.0"
@@ -5254,9 +5642,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.12.1"
+version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2"
+checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5"
dependencies = [
"core-foundation-sys",
"libc",
@@ -5264,33 +5652,18 @@ dependencies = [
[[package]]
name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.23"
+version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba"
dependencies = [
"serde",
]
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
[[package]]
name = "serde"
-version = "1.0.215"
+version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
dependencies = [
"serde_derive",
]
@@ -5306,13 +5679,13 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.215"
+version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -5323,14 +5696,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "serde_json"
-version = "1.0.133"
+version = "1.0.134"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
+checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d"
dependencies = [
"itoa",
"memchr",
@@ -5346,7 +5719,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -5372,9 +5745,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.11.0"
+version = "3.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817"
+checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa"
dependencies = [
"base64 0.22.1",
"chrono",
@@ -5439,7 +5812,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
dependencies = [
"digest 0.10.7",
- "keccak",
+ "keccak 0.1.5",
+]
+
+[[package]]
+name = "sha3"
+version = "0.11.0-pre.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e485881f388c2818d709796dc883c1ffcadde9d1f0e054f3a5c14974185261a6"
+dependencies = [
+ "digest 0.11.0-pre.9",
+ "keccak 0.2.0-pre.0",
]
[[package]]
@@ -5541,6 +5924,12 @@ dependencies = [
"autocfg",
]
+[[package]]
+name = "slice-group-by"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
+
[[package]]
name = "smallvec"
version = "1.13.2"
@@ -5607,7 +5996,7 @@ dependencies = [
"serde",
"serde_json",
"sha2 0.10.8",
- "sha3",
+ "sha3 0.10.8",
"siphasher",
"slab",
"smallvec",
@@ -5681,9 +6070,8 @@ dependencies = [
[[package]]
name = "sp-api"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbce492e0482134128b7729ea36f5ef1a9f9b4de2d48ff8dde7b5e464e28ce75"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"docify",
"hash-db",
@@ -5692,10 +6080,10 @@ dependencies = [
"scale-info",
"sp-api-proc-macro",
"sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-metadata-ir",
"sp-runtime",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-state-machine",
"sp-trie",
"sp-version",
@@ -5704,9 +6092,8 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
-version = "20.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9aadf9e97e694f0e343978aa632938c5de309cbcc8afed4136cb71596737278"
+version = "15.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"Inflector",
"blake2",
@@ -5714,14 +6101,13 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "sp-application-crypto"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d8133012faa5f75b2f0b1619d9f720c1424ac477152c143e5f7dbde2fe1a958"
+version = "30.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -5732,9 +6118,8 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
-version = "26.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23"
+version = "23.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"docify",
"integer-sqrt",
@@ -5742,15 +6127,31 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-std",
"static_assertions",
]
+[[package]]
+name = "sp-ark-bls12-381"
+version = "0.4.2"
+source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f"
+dependencies = [
+ "ark-bls12-381-ext",
+ "sp-crypto-ec-utils",
+]
+
+[[package]]
+name = "sp-ark-ed-on-bls12-381-bandersnatch"
+version = "0.4.2"
+source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f"
+dependencies = [
+ "ark-ed-on-bls12-381-bandersnatch-ext",
+ "sp-crypto-ec-utils",
+]
+
[[package]]
name = "sp-authority-discovery"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "519c33af0e25ba2dd2eb3790dc404d634b6e4ce0801bcc8fa3574e07c365e734"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -5761,9 +6162,8 @@ dependencies = [
[[package]]
name = "sp-consensus-babe"
-version = "0.40.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36ee95e17ee8dcd14db7d584b899a426565ca9abe5a266ab82277977fc547f86"
+version = "0.32.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -5780,9 +6180,8 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
-version = "0.40.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbafb7ed44f51c22fa277fb39b33dc601fa426133a8e2b53f3f46b10f07fba43"
+version = "0.32.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -5792,11 +6191,11 @@ dependencies = [
[[package]]
name = "sp-core"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c961a5e33fb2962fa775c044ceba43df9c6f917e2c35d63bfe23738468fa76a7"
+version = "28.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"array-bytes",
+ "bandersnatch_vrfs",
"bitflags 1.3.2",
"blake2",
"bounded-collections",
@@ -5806,7 +6205,7 @@ dependencies = [
"futures",
"hash-db",
"hash256-std-hasher",
- "impl-serde 0.4.0",
+ "impl-serde",
"itertools 0.11.0",
"k256",
"libsecp256k1",
@@ -5816,19 +6215,19 @@ dependencies = [
"parity-scale-codec",
"parking_lot",
"paste",
- "primitive-types 0.12.2",
+ "primitive-types",
"rand",
"scale-info",
"schnorrkel",
"secp256k1 0.28.2",
"secrecy 0.8.0",
"serde",
- "sp-crypto-hashing",
- "sp-debug-derive",
- "sp-externalities",
- "sp-runtime-interface",
- "sp-std",
- "sp-storage",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"ss58-registry",
"substrate-bip39",
"thiserror 1.0.69",
@@ -5837,6 +6236,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "sp-crypto-ec-utils"
+version = "0.10.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
+dependencies = [
+ "ark-bls12-377",
+ "ark-bls12-377-ext",
+ "ark-bls12-381",
+ "ark-bls12-381-ext",
+ "ark-bw6-761",
+ "ark-bw6-761-ext",
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-377",
+ "ark-ed-on-bls12-377-ext",
+ "ark-ed-on-bls12-381-bandersnatch",
+ "ark-ed-on-bls12-381-bandersnatch-ext",
+ "ark-scale",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+]
+
[[package]]
name = "sp-crypto-hashing"
version = "0.1.0"
@@ -5847,48 +6266,77 @@ dependencies = [
"byteorder",
"digest 0.10.7",
"sha2 0.10.8",
- "sha3",
+ "sha3 0.10.8",
+ "twox-hash",
+]
+
+[[package]]
+name = "sp-crypto-hashing"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "blake2b_simd",
+ "byteorder",
+ "digest 0.10.7",
+ "sha2 0.10.8",
+ "sha3 0.10.8",
"twox-hash",
]
[[package]]
name = "sp-crypto-hashing-proc-macro"
version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"quote",
- "sp-crypto-hashing",
- "syn 2.0.90",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "syn 2.0.93",
]
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
+[[package]]
+name = "sp-debug-derive"
+version = "14.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "sp-externalities"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a904407d61cb94228c71b55a9d3708e9d6558991f9e83bd42bd91df37a159d30"
+version = "0.25.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "environmental",
+ "parity-scale-codec",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+]
+
+[[package]]
+name = "sp-externalities"
+version = "0.25.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"environmental",
"parity-scale-codec",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
]
[[package]]
name = "sp-genesis-builder"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a646ed222fd86d5680faa4a8967980eb32f644cae6c8523e1c689a6deda3e8"
+version = "0.8.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -5899,9 +6347,8 @@ dependencies = [
[[package]]
name = "sp-inherents"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afffbddc380d99a90c459ba1554bbbc01d62e892de9f1485af6940b89c4c0d57"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -5913,9 +6360,8 @@ dependencies = [
[[package]]
name = "sp-io"
-version = "38.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4"
+version = "30.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bytes",
"docify",
@@ -5923,16 +6369,16 @@ dependencies = [
"libsecp256k1",
"log",
"parity-scale-codec",
- "polkavm-derive 0.9.1",
+ "polkavm-derive",
"rustversion",
"secp256k1 0.28.2",
"sp-core",
- "sp-crypto-hashing",
- "sp-externalities",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-keystore",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-state-machine",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-trie",
"tracing",
"tracing-core",
@@ -5940,43 +6386,39 @@ dependencies = [
[[package]]
name = "sp-keyring"
-version = "39.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c0e20624277f578b27f44ecfbe2ebc2e908488511ee2c900c5281599f700ab3"
+version = "31.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"sp-core",
"sp-runtime",
- "strum 0.26.3",
+ "strum",
]
[[package]]
name = "sp-keystore"
-version = "0.40.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42"
+version = "0.34.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"parking_lot",
"sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
]
[[package]]
name = "sp-metadata-ir"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a616fa51350b35326682a472ee8e6ba742fdacb18babac38ecd46b3e05ead869"
+version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
"parity-scale-codec",
"scale-info",
]
[[package]]
name = "sp-mmr-primitives"
-version = "34.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a12dd76e368f1e48144a84b4735218b712f84b3f976970e2f25a29b30440e10"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"log",
"parity-scale-codec",
@@ -5985,16 +6427,15 @@ dependencies = [
"serde",
"sp-api",
"sp-core",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-runtime",
"thiserror 1.0.69",
]
[[package]]
name = "sp-npos-elections"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af922f112c7c1ed199eabe14f12a82ceb75e1adf0804870eccfbcf3399492847"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -6007,20 +6448,18 @@ dependencies = [
[[package]]
name = "sp-panic-handler"
version = "13.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"backtrace",
- "lazy_static",
"regex",
]
[[package]]
name = "sp-runtime"
-version = "39.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658f23be7c79a85581029676a73265c107c5469157e3444c8c640fdbaa8bfed0"
+version = "31.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
+ "binary-merkle-tree",
"docify",
"either",
"hash256-std-hasher",
@@ -6037,50 +6476,81 @@ dependencies = [
"sp-arithmetic",
"sp-core",
"sp-io",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-trie",
"sp-weights",
"tracing",
+ "tuplex",
]
[[package]]
name = "sp-runtime-interface"
-version = "28.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "985eb981f40c689c6a0012c937b68ed58dabb4341d06f2dfe4dfd5ed72fa4017"
+version = "24.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "bytes",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "polkavm-derive",
+ "primitive-types",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+ "static_assertions",
+]
+
+[[package]]
+name = "sp-runtime-interface"
+version = "24.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
- "polkavm-derive 0.9.1",
- "primitive-types 0.12.2",
- "sp-externalities",
- "sp-runtime-interface-proc-macro",
- "sp-std",
- "sp-storage",
- "sp-tracing",
- "sp-wasm-interface",
+ "polkavm-derive",
+ "primitive-types",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
"static_assertions",
]
[[package]]
name = "sp-runtime-interface-proc-macro"
-version = "18.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294"
+version = "17.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "Inflector",
+ "expander",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
+[[package]]
+name = "sp-runtime-interface-proc-macro"
+version = "17.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"Inflector",
"expander",
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "sp-session"
-version = "36.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00a3a307fedc423fb8cd2a7726a3bbb99014f1b4b52f26153993e2aae3338fe6"
+version = "27.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -6093,9 +6563,8 @@ dependencies = [
[[package]]
name = "sp-staking"
-version = "36.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a73eedb4b85f4cd420d31764827546aa22f82ce1646d0fd258993d051de7a90"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -6107,9 +6576,8 @@ dependencies = [
[[package]]
name = "sp-state-machine"
-version = "0.43.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "930104d6ae882626e8880d9b1578da9300655d337a3ffb45e130c608b6c89660"
+version = "0.35.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"hash-db",
"log",
@@ -6118,7 +6586,7 @@ dependencies = [
"rand",
"smallvec",
"sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-panic-handler",
"sp-trie",
"thiserror 1.0.69",
@@ -6129,27 +6597,41 @@ dependencies = [
[[package]]
name = "sp-std"
version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+
+[[package]]
+name = "sp-std"
+version = "14.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
[[package]]
name = "sp-storage"
-version = "21.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99c82989b3a4979a7e1ad848aad9f5d0b4388f1f454cc131766526601ab9e8f8"
+version = "19.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "impl-serde",
+ "parity-scale-codec",
+ "ref-cast",
+ "serde",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
+]
+
+[[package]]
+name = "sp-storage"
+version = "19.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde",
"parity-scale-codec",
"ref-cast",
"serde",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
]
[[package]]
name = "sp-timestamp"
-version = "34.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72a1cb4df653d62ccc0dbce1db45d1c9443ec60247ee9576962d24da4c9c6f07"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -6160,9 +6642,19 @@ dependencies = [
[[package]]
name = "sp-tracing"
-version = "17.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5"
+version = "16.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "parity-scale-codec",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "sp-tracing"
+version = "16.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"parity-scale-codec",
"tracing",
@@ -6172,13 +6664,11 @@ dependencies = [
[[package]]
name = "sp-trie"
-version = "37.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd"
+version = "29.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"ahash",
"hash-db",
- "lazy_static",
"memory-db",
"nohash-hasher",
"parity-scale-codec",
@@ -6187,7 +6677,7 @@ dependencies = [
"scale-info",
"schnellru",
"sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"thiserror 1.0.69",
"tracing",
"trie-db",
@@ -6196,39 +6686,48 @@ dependencies = [
[[package]]
name = "sp-version"
-version = "37.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d521a405707b5be561367cd3d442ff67588993de24062ce3adefcf8437ee9fe1"
+version = "29.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde",
"parity-scale-codec",
"parity-wasm",
"scale-info",
"serde",
"sp-crypto-hashing-proc-macro",
"sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"sp-version-proc-macro",
"thiserror 1.0.69",
]
[[package]]
name = "sp-version-proc-macro"
-version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aee8f6730641a65fcf0c8f9b1e448af4b3bb083d08058b47528188bccc7b7a7"
+version = "13.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"parity-scale-codec",
+ "proc-macro-warning",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "sp-wasm-interface"
-version = "21.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9"
+version = "20.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
+dependencies = [
+ "anyhow",
+ "impl-trait-for-tuples",
+ "log",
+ "parity-scale-codec",
+]
+
+[[package]]
+name = "sp-wasm-interface"
+version = "20.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#e051f3edd3d6a0699a9261c8f8985d2e8e95c276"
dependencies = [
"anyhow",
"impl-trait-for-tuples",
@@ -6238,9 +6737,8 @@ dependencies = [
[[package]]
name = "sp-weights"
-version = "31.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e"
+version = "27.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"bounded-collections",
"parity-scale-codec",
@@ -6248,7 +6746,7 @@ dependencies = [
"serde",
"smallvec",
"sp-arithmetic",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
]
[[package]]
@@ -6290,14 +6788,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "staging-xcm"
-version = "14.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96bee7cd999e9cdf10f8db72342070d456e21e82a0f5962ff3b87edbd5f2b20e"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"array-bytes",
"bounded-collections",
"derivative",
"environmental",
+ "frame-support",
+ "hex-literal",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
@@ -6310,9 +6809,8 @@ dependencies = [
[[package]]
name = "staging-xcm-builder"
-version = "17.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3746adbbae27b1e6763f0cca622e15482ebcb94835a9e078c212dd7be896e35"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-system",
@@ -6333,9 +6831,8 @@ dependencies = [
[[package]]
name = "staging-xcm-executor"
-version = "17.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79dd0c5332a5318e58f0300b20768b71cf9427c906f94a743c9dc7c3ee9e7fa9"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"environmental",
"frame-benchmarking",
@@ -6366,7 +6863,6 @@ checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e"
dependencies = [
"cfg-if",
"hashbrown 0.14.5",
- "serde",
]
[[package]]
@@ -6375,32 +6871,13 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-[[package]]
-name = "strum"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
-
[[package]]
name = "strum"
version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
dependencies = [
- "strum_macros 0.26.4",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
-dependencies = [
- "heck 0.4.1",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 1.0.109",
+ "strum_macros",
]
[[package]]
@@ -6409,18 +6886,17 @@ version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [
- "heck 0.5.0",
+ "heck",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "substrate-bip39"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a"
+version = "0.4.7"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"hmac 0.12.1",
"pbkdf2",
@@ -6447,11 +6923,11 @@ dependencies = [
"frame-metadata 17.0.0",
"futures",
"hex",
- "impl-serde 0.5.0",
+ "impl-serde",
"jsonrpsee",
"parity-scale-codec",
"polkadot-sdk",
- "primitive-types 0.13.1",
+ "primitive-types",
"scale-bits",
"scale-decode",
"scale-encode",
@@ -6478,14 +6954,14 @@ version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cfcfb7d9589f3df0ac87c4988661cf3fb370761fcb19f2fd33104cc59daf22a"
dependencies = [
- "heck 0.5.0",
+ "heck",
"parity-scale-codec",
"proc-macro2",
"quote",
"scale-info",
"scale-typegen",
"subxt-metadata",
- "syn 2.0.90",
+ "syn 2.0.93",
"thiserror 1.0.69",
]
@@ -6502,11 +6978,11 @@ dependencies = [
"frame-metadata 17.0.0",
"hashbrown 0.14.5",
"hex",
- "impl-serde 0.5.0",
+ "impl-serde",
"keccak-hash",
"parity-scale-codec",
"polkadot-sdk",
- "primitive-types 0.13.1",
+ "primitive-types",
"scale-bits",
"scale-decode",
"scale-encode",
@@ -6548,7 +7024,7 @@ dependencies = [
"scale-typegen",
"subxt-codegen",
"subxt-utils-fetchmetadata",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -6572,11 +7048,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e7a336d6a1f86f126100a4a717be58352de4c8214300c4f7807f974494efdb9"
dependencies = [
"base64 0.22.1",
+ "bip32",
"bip39",
"cfg-if",
"crypto_secretbox",
"hex",
"hmac 0.12.1",
+ "keccak-hash",
"parity-scale-codec",
"pbkdf2",
"polkadot-sdk",
@@ -6616,9 +7094,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.90"
+version = "2.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
+checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058"
dependencies = [
"proc-macro2",
"quote",
@@ -6633,7 +7111,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -6700,11 +7178,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.4"
+version = "2.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490"
+checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc"
dependencies = [
- "thiserror-impl 2.0.4",
+ "thiserror-impl 2.0.9",
]
[[package]]
@@ -6715,18 +7193,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "thiserror-impl"
-version = "2.0.4"
+version = "2.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061"
+checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -6791,9 +7269,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.8.0"
+version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
+checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8"
dependencies = [
"tinyvec_macros",
]
@@ -6828,25 +7306,24 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "tokio-rustls"
-version = "0.26.0"
+version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
+checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37"
dependencies = [
"rustls",
- "rustls-pki-types",
"tokio",
]
[[package]]
name = "tokio-stream"
-version = "0.1.16"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"
+checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
dependencies = [
"futures-core",
"pin-project-lite",
@@ -6927,7 +7404,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -7019,6 +7496,12 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df"
+[[package]]
+name = "tuplex"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa"
+
[[package]]
name = "twox-hash"
version = "1.6.3"
@@ -7037,18 +7520,6 @@ version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-[[package]]
-name = "uint"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52"
-dependencies = [
- "byteorder",
- "crunchy",
- "hex",
- "static_assertions",
-]
-
[[package]]
name = "uint"
version = "0.10.0"
@@ -7076,18 +7547,6 @@ dependencies = [
"tinyvec",
]
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
-[[package]]
-name = "unicode-width"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
-
[[package]]
name = "unicode-xid"
version = "0.2.6"
@@ -7100,7 +7559,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.6",
"subtle",
]
@@ -7170,10 +7629,10 @@ checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024"
dependencies = [
"ark-bls12-377",
"ark-bls12-381",
- "ark-ec",
- "ark-ff",
- "ark-serialize",
- "ark-serialize-derive",
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-serialize-derive 0.4.2",
"arrayref",
"constcat",
"digest 0.10.7",
@@ -7181,7 +7640,7 @@ dependencies = [
"rand_chacha",
"rand_core",
"sha2 0.10.8",
- "sha3",
+ "sha3 0.10.8",
"thiserror 1.0.69",
"zeroize",
]
@@ -7213,9 +7672,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.97"
+version = "0.2.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c"
+checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396"
dependencies = [
"cfg-if",
"once_cell",
@@ -7224,24 +7683,23 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.97"
+version = "0.2.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd"
+checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79"
dependencies = [
"bumpalo",
"log",
- "once_cell",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.47"
+version = "0.4.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d"
+checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2"
dependencies = [
"cfg-if",
"js-sys",
@@ -7252,9 +7710,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.97"
+version = "0.2.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051"
+checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -7262,91 +7720,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.97"
+version = "0.2.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d"
+checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49"
-
-[[package]]
-name = "wasm-encoder"
-version = "0.220.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebf48234b389415b226a4daef6562933d38c7b28a8b8f64c5c4130dad1561ab7"
-dependencies = [
- "leb128",
- "wasmparser 0.220.0",
-]
-
-[[package]]
-name = "wasm-encoder"
-version = "0.221.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17a3bd88f2155da63a1f2fcb8a56377a24f0b6dfed12733bb5f544e86f690c5"
-dependencies = [
- "leb128",
- "wasmparser 0.221.2",
-]
-
-[[package]]
-name = "wasm-instrument"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc"
-dependencies = [
- "parity-wasm",
-]
-
-[[package]]
-name = "wasm-opt"
-version = "0.116.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c"
-dependencies = [
- "anyhow",
- "libc",
- "strum 0.24.1",
- "strum_macros 0.24.3",
- "tempfile",
- "thiserror 1.0.69",
- "wasm-opt-cxx-sys",
- "wasm-opt-sys",
-]
-
-[[package]]
-name = "wasm-opt-cxx-sys"
-version = "0.116.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e"
-dependencies = [
- "anyhow",
- "cxx",
- "cxx-build",
- "wasm-opt-sys",
-]
-
-[[package]]
-name = "wasm-opt-sys"
-version = "0.116.0"
+version = "0.2.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe"
-dependencies = [
- "anyhow",
- "cc",
- "cxx",
- "cxx-build",
-]
+checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6"
[[package]]
name = "wasmi"
@@ -7398,21 +7787,10 @@ dependencies = [
"bitflags 2.6.0",
"hashbrown 0.14.5",
"indexmap 2.7.0",
- "semver 1.0.23",
+ "semver",
"serde",
]
-[[package]]
-name = "wasmparser"
-version = "0.221.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9845c470a2e10b61dd42c385839cdd6496363ed63b5c9e420b5488b77bd22083"
-dependencies = [
- "bitflags 2.6.0",
- "indexmap 2.7.0",
- "semver 1.0.23",
-]
-
[[package]]
name = "wasmparser-nostd"
version = "0.100.2"
@@ -7422,33 +7800,11 @@ dependencies = [
"indexmap-nostd",
]
-[[package]]
-name = "wast"
-version = "221.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc4470b9de917ba199157d1f0ae104f2ae362be728c43e68c571c7715bd629e"
-dependencies = [
- "bumpalo",
- "leb128",
- "memchr",
- "unicode-width 0.2.0",
- "wasm-encoder 0.221.2",
-]
-
-[[package]]
-name = "wat"
-version = "1.221.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b1f3c6d82af47286494c6caea1d332037f5cbeeac82bbf5ef59cb8c201c466e"
-dependencies = [
- "wast",
-]
-
[[package]]
name = "web-sys"
-version = "0.3.74"
+version = "0.3.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c"
+checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -7475,12 +7831,12 @@ dependencies = [
[[package]]
name = "which"
-version = "7.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9cad3279ade7346b96e38731a641d7343dd6a53d55083dd54eadfa5a1b38c6b"
+checksum = "fb4a9e33648339dc1642b0e36e21b3385e6148e289226f657c809dee59df5028"
dependencies = [
"either",
- "home",
+ "env_home",
"rustix",
"winsafe",
]
@@ -7733,21 +8089,19 @@ dependencies = [
[[package]]
name = "xcm-procedural"
-version = "10.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87fb4f14094d65c500a59bcf540cf42b99ee82c706edd6226a92e769ad60563e"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"Inflector",
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "xcm-runtime-apis"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d4473a5d157e4d437d9ebcb1b99f9693a64983877ee57d97005f0167869935"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -7760,9 +8114,8 @@ dependencies = [
[[package]]
name = "xcm-simulator"
-version = "17.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "058e21bfc3e1180bbd83cad3690d0e63f34f43ab309e338afe988160aa776fcf"
+version = "7.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067#645878a27115db52e5d63115699b4bbb89034067"
dependencies = [
"frame-support",
"frame-system",
@@ -7775,7 +8128,7 @@ dependencies = [
"scale-info",
"sp-io",
"sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=645878a27115db52e5d63115699b4bbb89034067)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -7783,9 +8136,9 @@ dependencies = [
[[package]]
name = "xxhash-rust"
-version = "0.8.12"
+version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984"
+checksum = "d7d48f1b18be023c95e7b75f481cac649d74be7c507ff4a407c55cfb957f7934"
[[package]]
name = "yansi"
@@ -7819,7 +8172,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
"synstructure",
]
@@ -7841,7 +8194,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -7861,7 +8214,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
"synstructure",
]
@@ -7882,7 +8235,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
@@ -7904,14 +8257,14 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.90",
+ "syn 2.0.93",
]
[[package]]
name = "zip"
-version = "2.2.1"
+version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d52293fc86ea7cf13971b3bb81eb21683636e7ae24c729cdaf1b7c4157a352"
+checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45"
dependencies = [
"arbitrary",
"crc32fast",
@@ -7919,5 +8272,5 @@ dependencies = [
"displaydoc",
"indexmap 2.7.0",
"memchr",
- "thiserror 2.0.4",
+ "thiserror 2.0.9",
]
diff --git a/Cargo.toml b/Cargo.toml
index 4b7cff9ff97..c3858c16d79 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -27,7 +27,7 @@ authors = ["Use Ink "]
categories = ["no-std", "embedded"]
edition = "2021"
homepage = "https://use.ink"
-keywords = ["wasm", "ink", "webassembly", "blockchain", "edsl"]
+keywords = ["polkavm", "ink", "riscv", "blockchain", "edsl"]
license = "Apache-2.0"
repository = "https://github.com/use-ink/ink"
version = "5.1.0"
@@ -38,7 +38,7 @@ array-init = { version = "2.0", default-features = false }
blake2 = { version = "0.10" }
cargo_metadata = { version = "0.19.0" }
cfg-if = { version = "1.0" }
-contract-build = { version = "5.0.1" }
+contract-build = { git = "https://github.com/use-ink/cargo-contract", branch = "cmichi-remove-wasm-default-to-revive" }
darling = { version = "0.20.10" }
derive_more = { version = "1.0.0", default-features = false }
either = { version = "1.13", default-features = false }
@@ -55,7 +55,6 @@ proc-macro2 = { version = "1" }
quickcheck = { version = "1" }
quickcheck_macros = { version = "1" }
quote = { version = "1" }
-rlibc = { version = "1" }
scale = { package = "parity-scale-codec", version = "3.6.12", default-features = false, features = ["derive"] }
scale-decode = { version = "0.14.0", default-features = false }
scale-encode = { version = "0.8.0", default-features = false }
@@ -77,34 +76,30 @@ tokio = { version = "1.41.1" }
tracing = { version = "0.1.41" }
tracing-subscriber = { version = "0.3.19" }
trybuild = { version = "1.0.101" }
-wasm-instrument = { version = "0.4.0" }
which = { version = "7.0.0" }
xxhash-rust = { version = "0.8" }
const_env = { version = "0.1"}
-wat = { version = "1.221.2" }
# Substrate dependencies
-frame-metadata = { version = "16.0.0" }
-frame-system = { version = "38.0.0", default-features = false }
-frame-support = { version = "38.0.0", default-features = false }
-pallet-contracts = { version = "38.0.0", default-features = false }
-pallet-balances = { version = "39.0.0", default-features = false }
-pallet-timestamp = { version = "37.0.0", default-features = false }
-pallet-contracts-uapi = { version = "12.0.0", default-features = false }
-pallet-revive-uapi = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-rc2", default-features = false }
-# TODO include mock-network for revive
-pallet-contracts-mock-network = { version = "14.0.0", default-features = false }
-sp-externalities = { version = "0.29.0", default-features = false }
-sp-io = { version = "38.0.0", default-features = false }
-sp-runtime-interface = { version = "28.0.0" }
-sp-core = { version = "34.0.0", default-features = false }
-sp-keyring = { version = "39.0.0", default-features = false }
-sp-runtime = { version = "39.0.2", default-features = false }
-sp-weights = { version = "31.0.0", default-features = false }
-xcm = { package = "staging-xcm", version = "14.2.0", default-features = false }
+frame-metadata = { version = "18.0.0", default-features = false }
+frame-system = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+frame-support = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+pallet-revive = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+pallet-revive-uapi = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false, features = ["unstable-hostfn"] }
+pallet-revive-mock-network = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-io = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false, features = ["disable_target_static_assertions"] }
+sp-core = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
+xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", rev = "645878a27115db52e5d63115699b4bbb89034067", default-features = false }
# PolkaVM dependencies
-polkavm-derive = { version = "0.17.1", default-features = false }
+polkavm-derive = { version = "0.18.0", default-features = false }
# Local dependencies
ink = { version = "=5.1.0", path = "crates/ink", default-features = false }
diff --git a/crates/allocator/src/bump.rs b/crates/allocator/src/bump.rs
index 56aef9c1ae6..16bde75f03d 100644
--- a/crates/allocator/src/bump.rs
+++ b/crates/allocator/src/bump.rs
@@ -24,12 +24,14 @@ use core::alloc::{
};
/// A page in Wasm is `64KiB`
+/// todo: remove
+#[allow(dead_code)]
const PAGE_SIZE: usize = 64 * 1024;
static mut INNER: Option = None;
-#[cfg(target_arch = "riscv32")]
-static mut RISCV_HEAP: [u8; 1024 * 1024] = [0; 1024 * 1024];
+#[cfg(target_arch = "riscv64")]
+static mut RISCV_HEAP: [u8; 1024 * 10] = [0; 1024 * 10];
/// A bump allocator suitable for use in a Wasm environment.
pub struct BumpAllocator;
@@ -53,6 +55,7 @@ unsafe impl GlobalAlloc for BumpAllocator {
#[inline]
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 {
+ // todo
// A new page in Wasm is guaranteed to already be zero initialized, so we can just
// use our regular `alloc` call here and save a bit of work.
//
@@ -97,6 +100,7 @@ impl InnerAlloc {
///
/// This implementation is only meant to be used for testing, since we cannot (easily)
/// test the `wasm32` implementation.
+ #[allow(dead_code)]
fn request_pages(&mut self, _pages: usize) -> Option {
Some(self.upper_limit)
}
@@ -109,62 +113,33 @@ impl InnerAlloc {
0
}
+ #[allow(dead_code)]
fn request_pages(&mut self, _pages: usize) -> Option {
unreachable!(
"This branch is only used to keep the compiler happy when building tests, and
should never actually be called outside of a test run."
)
}
- } else if #[cfg(target_arch = "wasm32")] {
- fn heap_start() -> usize {
- extern "C" {
- static __heap_base: usize;
- }
- // # SAFETY
- //
- // The `__heap_base` symbol is defined by the wasm linker and is guaranteed
- // to point to the start of the heap.
- let heap_start = unsafe { &__heap_base as *const usize as usize };
- // if the symbol isn't found it will resolve to 0
- // for that to happen the rust compiler or linker need to break or change
- assert_ne!(heap_start, 0, "Can't find `__heap_base` symbol.");
- heap_start
- }
-
- fn heap_end() -> usize {
- // Cannot overflow on this architecture
- core::arch::wasm32::memory_size(0) * PAGE_SIZE
- }
-
- /// Request a `pages` number of pages of Wasm memory. Each page is `64KiB` in size.
- ///
- /// Returns `None` if a page is not available.
- fn request_pages(&mut self, pages: usize) -> Option {
- let prev_page = core::arch::wasm32::memory_grow(0, pages);
- if prev_page == usize::MAX {
- return None;
- }
-
- // Cannot overflow on this architecture
- Some(prev_page * PAGE_SIZE)
- }
- } else if #[cfg(target_arch = "riscv32")] {
+ } else if #[cfg(target_arch = "riscv64")] {
fn heap_start() -> usize {
+ #[allow(static_mut_refs)]
unsafe {
RISCV_HEAP.as_mut_ptr() as usize
}
}
+ #[allow(static_mut_refs)]
fn heap_end() -> usize {
Self::heap_start() + unsafe { RISCV_HEAP.len() }
}
+ #[allow(dead_code)]
fn request_pages(&mut self, _pages: usize) -> Option {
// On riscv the memory can't be grown
- None
+ core::panic!("no request possible");
}
} else {
- core::compile_error!("ink! only supports wasm32 and riscv32");
+ core::compile_error!("ink! only supports riscv64");
}
}
@@ -181,15 +156,7 @@ impl InnerAlloc {
let alloc_end = alloc_start.checked_add(aligned_size)?;
if alloc_end > self.upper_limit {
- let required_pages = required_pages(aligned_size)?;
- let page_start = self.request_pages(required_pages)?;
-
- self.upper_limit = required_pages
- .checked_mul(PAGE_SIZE)
- .and_then(|pages| page_start.checked_add(pages))?;
- self.next = page_start.checked_add(aligned_size)?;
-
- Some(page_start)
+ panic!("exhausted heap limit");
} else {
self.next = alloc_end;
Some(alloc_start)
@@ -205,6 +172,7 @@ impl InnerAlloc {
/// - the binary with the inverse of the align creates a bitmask that is used to zero
/// out bits, ensuring alignment according to type requirements and ensures that the
/// next allocated pointer address is of the power of 2.
+ #[allow(clippy::arithmetic_side_effects)] // todo
fn align_ptr(&self, layout: &Layout) -> usize {
(self.next + layout.align() - 1) & !(layout.align() - 1)
}
@@ -216,12 +184,13 @@ impl InnerAlloc {
/// `size = PAGE_SIZE / 2` this function will indicate that one page is required to
/// satisfy the allocation.
#[inline]
-fn required_pages(size: usize) -> Option {
- size.checked_add(PAGE_SIZE - 1)
- .and_then(|num| num.checked_div(PAGE_SIZE))
+#[allow(dead_code)]
+fn required_pages(_size: usize) -> Option {
+ core::panic!("required_pages");
}
-#[cfg(test)]
+// todo
+#[cfg(all(test, target_os = "dragonfly"))]
mod tests {
use super::*;
use std::mem::size_of;
@@ -357,7 +326,8 @@ mod tests {
}
}
-#[cfg(all(test, feature = "ink-fuzz-tests"))]
+// todo
+#[cfg(all(test, feature = "ink-fuzz-tests", target_os = "dragonfly"))]
mod fuzz_tests {
use super::*;
use quickcheck::{
diff --git a/crates/allocator/src/lib.rs b/crates/allocator/src/lib.rs
index 10835e5476a..8371e485fef 100644
--- a/crates/allocator/src/lib.rs
+++ b/crates/allocator/src/lib.rs
@@ -28,8 +28,15 @@
#[global_allocator]
static mut ALLOC: bump::BumpAllocator = bump::BumpAllocator {};
-mod bump;
+#[cfg(not(any(feature = "std", feature = "no-allocator")))]
+pub mod bump;
-#[cfg(all(test, feature = "std", feature = "ink-fuzz-tests",))]
+// todo
+#[cfg(all(
+ test,
+ feature = "std",
+ feature = "ink-fuzz-tests",
+ target_os = "dragonfly"
+))]
#[macro_use(quickcheck)]
extern crate quickcheck_macros;
diff --git a/crates/e2e/Cargo.toml b/crates/e2e/Cargo.toml
index fac65b83791..23393a16d7d 100644
--- a/crates/e2e/Cargo.toml
+++ b/crates/e2e/Cargo.toml
@@ -19,11 +19,12 @@ ink_e2e_macro = { workspace = true, default-features = true }
ink = { workspace = true, default-features = true }
ink_env = { workspace = true, default-features = true }
ink_primitives = { workspace = true, default-features = true }
+ink_sandbox = { version = "=5.1.0", path = "./sandbox", optional = true }
cargo_metadata = { workspace = true }
contract-build = { workspace = true }
-ink_sandbox = { version = "=5.1.0", path = "./sandbox", optional = true }
-pallet-contracts-mock-network = { workspace = true, optional = true }
+pallet-revive = { workspace = true }
+pallet-revive-mock-network = { workspace = true, optional = true }
funty = { workspace = true }
impl-serde = { workspace = true }
jsonrpsee = { workspace = true, features = ["ws-client"] }
@@ -37,17 +38,16 @@ subxt = { workspace = true }
subxt-metadata = { workspace = true, optional = true }
subxt-signer = { workspace = true, features = ["subxt", "sr25519"] }
thiserror = { workspace = true }
-wasm-instrument = { workspace = true }
which = { workspace = true }
# Substrate
frame-support = { workspace = true }
-pallet-contracts = { workspace = true }
sp-core = { workspace = true }
sp-keyring = { workspace = true }
sp-runtime = { workspace = true }
sp-weights = { workspace = true }
regex = "1.11.1"
+itertools = "0.13.0"
[dev-dependencies]
# Required for the doctest of `MessageBuilder::call`
@@ -58,7 +58,7 @@ default = [ "std" ]
std = [
"impl-serde/std",
"ink_e2e_macro/std",
- "pallet-contracts/std",
+ "pallet-revive/std",
"scale-info/std",
"scale/std",
"serde/std",
@@ -69,16 +69,12 @@ std = [
"ink_e2e_macro/std",
"ink_sandbox/std",
"frame-support/std",
- "pallet-contracts-mock-network?/std",
+ "pallet-revive-mock-network?/std",
]
sandbox = [
"dep:ink_sandbox",
"subxt-metadata",
- "pallet-contracts-mock-network",
+ "pallet-revive-mock-network",
"ink_e2e_macro/sandbox",
]
-revive = [
- "ink/revive",
- "ink_env/revive"
-]
diff --git a/crates/e2e/macro/Cargo.toml b/crates/e2e/macro/Cargo.toml
index d9e5a03f2c1..f3a164f153b 100644
--- a/crates/e2e/macro/Cargo.toml
+++ b/crates/e2e/macro/Cargo.toml
@@ -20,6 +20,7 @@ proc-macro = true
[dependencies]
darling = { workspace = true }
+# todo check greyed out deps
ink_ir = { workspace = true, default-features = true }
derive_more = { workspace = true, features = ["from"] }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
diff --git a/crates/e2e/macro/src/codegen.rs b/crates/e2e/macro/src/codegen.rs
index df59283007e..abe02f4b486 100644
--- a/crates/e2e/macro/src/codegen.rs
+++ b/crates/e2e/macro/src/codegen.rs
@@ -150,6 +150,6 @@ fn build_full_client(
fn build_runtime_client(contracts: TokenStream2, runtime: syn::Path) -> TokenStream2 {
quote! {
let contracts = #contracts;
- let mut client = ::ink_e2e::SandboxClient::<_, _, #runtime>::new(contracts);
+ let mut client = ::ink_e2e::SandboxClient::<_, #runtime>::new(contracts);
}
}
diff --git a/crates/e2e/macro/src/lib.rs b/crates/e2e/macro/src/lib.rs
index b15a0a92089..1fe40731baa 100644
--- a/crates/e2e/macro/src/lib.rs
+++ b/crates/e2e/macro/src/lib.rs
@@ -29,7 +29,7 @@ use syn::Result;
///
/// The system requirements are:
///
-/// - A Substrate node with `pallet-contracts` installed on the local system. You can e.g.
+/// - A Substrate node with `pallet-revive` installed on the local system. You can e.g.
/// use [`substrate-contracts-node`](https://github.com/paritytech/substrate-contracts-node)
/// and install it on your PATH, or provide a path to an executable using the
/// `CONTRACTS_NODE` environment variable.
@@ -67,7 +67,7 @@ use syn::Result;
/// ```
///
/// In this configuration the test will not run against a node that is running in the
-/// background, but against an in-process slimmed down `pallet-contracts` execution
+/// background, but against an in-process slimmed down `pallet-revive` execution
/// environment.
///
/// Please see [the page on testing with DRink!](https://use.ink/basics/contract-testing/drink)
diff --git a/crates/e2e/sandbox/Cargo.toml b/crates/e2e/sandbox/Cargo.toml
index 4d347500932..b2331493fc1 100644
--- a/crates/e2e/sandbox/Cargo.toml
+++ b/crates/e2e/sandbox/Cargo.toml
@@ -10,20 +10,21 @@ documentation = "https://docs.rs/ink_sandbox"
homepage.workspace = true
[dependencies]
+sha3 = "0.10.8"
frame-metadata = { workspace = true }
frame-support = { workspace = true }
frame-system = { workspace = true }
pallet-balances = { workspace = true }
-pallet-contracts = { workspace = true }
+pallet-revive = { workspace = true }
pallet-timestamp = { workspace = true }
scale = { workspace = true }
sp-core = { workspace = true }
sp-externalities = { workspace = true }
sp-io = { workspace = true }
+ink_primitives = { workspace = true }
paste = { workspace = true }
scale-info = { workspace = true }
-wat = { workspace = true }
[features]
default = [
@@ -33,8 +34,10 @@ default = [
std = [
"frame-support/std",
"frame-system/std",
+ "frame-metadata/std",
+ "ink_primitives/std",
"pallet-balances/std",
- "pallet-contracts/std",
+ "pallet-revive/std",
"pallet-timestamp/std",
"scale/std",
"scale-info/std",
diff --git a/crates/e2e/sandbox/src/api.rs b/crates/e2e/sandbox/src/api.rs
index 01fe8d48367..190d9ad8f87 100644
--- a/crates/e2e/sandbox/src/api.rs
+++ b/crates/e2e/sandbox/src/api.rs
@@ -1,12 +1,12 @@
pub mod balance_api;
-pub mod contracts_api;
+pub mod revive_api;
pub mod system_api;
pub mod timestamp_api;
pub mod prelude {
pub use super::{
balance_api::BalanceAPI,
- contracts_api::ContractAPI,
+ revive_api::ContractAPI,
system_api::SystemAPI,
timestamp_api::TimestampAPI,
};
diff --git a/crates/e2e/sandbox/src/api/balance_api.rs b/crates/e2e/sandbox/src/api/balance_api.rs
index 70fb0e7ba8a..48fae332c79 100644
--- a/crates/e2e/sandbox/src/api/balance_api.rs
+++ b/crates/e2e/sandbox/src/api/balance_api.rs
@@ -31,10 +31,10 @@ where
///
/// # Arguments
///
- /// * `address` - The address of the account to query.
+ /// * `account` - The account id of the account to query.
fn free_balance(
&mut self,
- address: &AccountIdFor,
+ account_id: &AccountIdFor,
) -> BalanceOf;
}
@@ -55,9 +55,11 @@ where
fn free_balance(
&mut self,
- address: &AccountIdFor,
+ account_id: &AccountIdFor,
) -> BalanceOf {
- self.execute_with(|| pallet_balances::Pallet::::free_balance(address))
+ self.execute_with(|| {
+ pallet_balances::Pallet::::free_balance(account_id)
+ })
}
}
diff --git a/crates/e2e/sandbox/src/api/contracts_api.rs b/crates/e2e/sandbox/src/api/revive_api.rs
similarity index 54%
rename from crates/e2e/sandbox/src/api/contracts_api.rs
rename to crates/e2e/sandbox/src/api/revive_api.rs
index c02c5c27f14..7c3e3554810 100644
--- a/crates/e2e/sandbox/src/api/contracts_api.rs
+++ b/crates/e2e/sandbox/src/api/revive_api.rs
@@ -1,33 +1,57 @@
use crate::{
AccountIdFor,
ContractExecResultFor,
- ContractInstantiateResultFor,
- EventRecordOf,
+ ContractResultInstantiate,
Sandbox,
+ H256,
};
use frame_support::{
- traits::fungible::Inspect,
+ pallet_prelude::DispatchError,
+ sp_runtime::traits::Bounded,
+ traits::{
+ fungible::Inspect,
+ Time,
+ },
weights::Weight,
};
-use frame_system::Config as SysConfig;
-use pallet_contracts::{
+use frame_system::pallet_prelude::OriginFor;
+use ink_primitives::DepositLimit;
+use pallet_revive::{
Code,
CodeUploadResult,
CollectEvents,
- ContractInstantiateResult,
DebugInfo,
- Determinism,
};
-use scale::Decode as _;
+use sp_core::{
+ H160,
+ U256,
+};
use std::ops::Not;
type BalanceOf =
- <::Currency as Inspect>>::Balance;
+ <::Currency as Inspect>>::Balance;
+
+type MomentOf = <::Time as Time>::Moment;
/// Contract API used to interact with the contracts pallet.
pub trait ContractAPI {
/// The runtime contract config.
- type T: pallet_contracts::Config;
+ type T: pallet_revive::Config;
+
+ /// Interface for `bare_instantiate` contract call with a simultaneous upload.
+ ///
+ /// # Arguments
+ ///
+ /// * `contract_bytes` - The contract code.
+ /// * `value` - The number of tokens to be transferred to the contract.
+ /// * `data` - The input data to be passed to the contract (including constructor
+ /// name).
+ /// * `salt` - The salt to be used for contract address derivation.
+ /// * `origin` - The sender of the contract call.
+ /// * `gas_limit` - The gas limit for the contract call.
+ /// * `storage_deposit_limit` - The storage deposit limit for the contract call.
+ #[allow(clippy::type_complexity, clippy::too_many_arguments)]
+ fn map_account(&mut self, account: OriginFor) -> Result<(), DispatchError>;
/// Interface for `bare_instantiate` contract call with a simultaneous upload.
///
@@ -47,15 +71,11 @@ pub trait ContractAPI {
contract_bytes: Vec,
value: BalanceOf,
data: Vec,
- salt: Vec,
- origin: AccountIdFor,
+ salt: Option<[u8; 32]>,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- ) -> ContractInstantiateResult<
- AccountIdFor,
- BalanceOf,
- EventRecordOf,
- >;
+ storage_deposit_limit: DepositLimit>,
+ ) -> ContractResultInstantiate;
/// Interface for `bare_instantiate` contract call for a previously uploaded contract.
///
@@ -72,18 +92,14 @@ pub trait ContractAPI {
#[allow(clippy::type_complexity, clippy::too_many_arguments)]
fn instantiate_contract(
&mut self,
- code_hash: Vec,
+ code_hash: H256,
value: BalanceOf,
data: Vec,
- salt: Vec,
- origin: AccountIdFor,
+ salt: Option<[u8; 32]>,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- ) -> ContractInstantiateResult<
- AccountIdFor,
- BalanceOf,
- EventRecordOf,
- >;
+ storage_deposit_limit: DepositLimit>,
+ ) -> ContractResultInstantiate;
/// Interface for `bare_upload_code` contract call.
///
@@ -95,10 +111,9 @@ pub trait ContractAPI {
fn upload_contract(
&mut self,
contract_bytes: Vec,
- origin: AccountIdFor,
- storage_deposit_limit: Option>,
- determinism: Determinism,
- ) -> CodeUploadResult<::Hash, BalanceOf>;
+ origin: OriginFor,
+ storage_deposit_limit: BalanceOf,
+ ) -> CodeUploadResult>;
/// Interface for `bare_call` contract call.
///
@@ -113,35 +128,49 @@ pub trait ContractAPI {
#[allow(clippy::type_complexity, clippy::too_many_arguments)]
fn call_contract(
&mut self,
- address: AccountIdFor,
+ address: H160,
value: BalanceOf,
data: Vec,
- origin: AccountIdFor,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- determinism: Determinism,
+ storage_deposit_limit: DepositLimit>,
) -> ContractExecResultFor;
}
impl ContractAPI for T
where
T: Sandbox,
- T::Runtime: pallet_contracts::Config,
+ T::Runtime: pallet_revive::Config,
+
+ BalanceOf: Into + TryFrom + Bounded,
+ MomentOf: Into,
+
+ // todo
+ <::Runtime as frame_system::Config>::Hash:
+ frame_support::traits::IsType,
{
type T = T::Runtime;
+ fn map_account(
+ &mut self,
+ account_id: OriginFor,
+ ) -> Result<(), DispatchError> {
+ self.execute_with(|| pallet_revive::Pallet::::map_account(account_id))
+ }
+
fn deploy_contract(
&mut self,
contract_bytes: Vec,
value: BalanceOf,
data: Vec,
- salt: Vec,
- origin: AccountIdFor,
+ salt: Option<[u8; 32]>,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- ) -> ContractInstantiateResultFor {
+ storage_deposit_limit: DepositLimit>,
+ ) -> ContractResultInstantiate {
+ let storage_deposit_limit = storage_deposit_limit_fn(storage_deposit_limit);
self.execute_with(|| {
- pallet_contracts::Pallet::::bare_instantiate(
+ pallet_revive::Pallet::::bare_instantiate(
origin,
value,
gas_limit,
@@ -157,33 +186,26 @@ where
fn instantiate_contract(
&mut self,
- code_hash: Vec,
+ code_hash: H256,
value: BalanceOf,
data: Vec,
- salt: Vec,
- origin: AccountIdFor,
+ salt: Option<[u8; 32]>,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- ) -> ContractInstantiateResult<
- AccountIdFor,
- BalanceOf,
- EventRecordOf,
- > {
- let mut code_hash = &code_hash[..];
+ storage_deposit_limit: DepositLimit>,
+ ) -> ContractResultInstantiate {
+ let storage_deposit_limit = storage_deposit_limit_fn(storage_deposit_limit);
self.execute_with(|| {
- pallet_contracts::Pallet::::bare_instantiate(
+ pallet_revive::Pallet::::bare_instantiate(
origin,
value,
gas_limit,
storage_deposit_limit,
- Code::Existing(
- ::Hash::decode(&mut code_hash)
- .expect("Invalid code hash"),
- ),
+ Code::Existing(code_hash),
data,
salt,
DebugInfo::UnsafeDebug,
- CollectEvents::UnsafeCollect,
+ CollectEvents::Skip,
)
})
}
@@ -191,33 +213,30 @@ where
fn upload_contract(
&mut self,
contract_bytes: Vec,
- origin: AccountIdFor,
- storage_deposit_limit: Option>,
- determinism: Determinism,
- ) -> CodeUploadResult<::Hash, BalanceOf>
- {
+ origin: OriginFor,
+ storage_deposit_limit: BalanceOf,
+ ) -> CodeUploadResult> {
self.execute_with(|| {
- pallet_contracts::Pallet::::bare_upload_code(
+ pallet_revive::Pallet::::bare_upload_code(
origin,
contract_bytes,
storage_deposit_limit,
- determinism,
)
})
}
fn call_contract(
&mut self,
- address: AccountIdFor,
+ address: H160,
value: BalanceOf,
data: Vec,
- origin: AccountIdFor,
+ origin: OriginFor,
gas_limit: Weight,
- storage_deposit_limit: Option>,
- determinism: Determinism,
+ storage_deposit_limit: DepositLimit>,
) -> ContractExecResultFor {
+ let storage_deposit_limit = storage_deposit_limit_fn(storage_deposit_limit);
self.execute_with(|| {
- pallet_contracts::Pallet::::bare_call(
+ pallet_revive::Pallet::::bare_call(
origin,
address,
value,
@@ -226,12 +245,21 @@ where
data,
DebugInfo::UnsafeDebug,
CollectEvents::UnsafeCollect,
- determinism,
)
})
}
}
+/// todo
+fn storage_deposit_limit_fn(
+ limit: DepositLimit,
+) -> pallet_revive::DepositLimit {
+ match limit {
+ DepositLimit::Unchecked => pallet_revive::DepositLimit::Unchecked,
+ DepositLimit::Balance(v) => pallet_revive::DepositLimit::Balance(v),
+ }
+}
+
/// Converts bytes to a '\n'-split string, ignoring empty lines.
pub fn decode_debug_buffer(buffer: &[u8]) -> Vec {
let decoded = buffer.iter().map(|b| *b as char).collect::();
@@ -250,34 +278,35 @@ mod tests {
RuntimeEventOf,
RuntimeOf,
};
- use frame_support::sp_runtime::traits::Hash;
- use pallet_contracts::Origin;
+
+ const STORAGE_DEPOSIT_LIMIT: DepositLimit = DepositLimit::Unchecked;
fn compile_module(contract_name: &str) -> Vec {
let path = [
std::env::var("CARGO_MANIFEST_DIR").as_deref().unwrap(),
"/test-resources/",
contract_name,
- ".wat",
+ ".polkavm",
]
.concat();
- wat::parse_file(path).expect("Failed to parse wat file")
+ std::fs::read(std::path::Path::new(&path)).unwrap()
}
#[test]
fn can_upload_code() {
let mut sandbox = DefaultSandbox::default();
let wasm_binary = compile_module("dummy");
- let hash = < as frame_system::Config>::Hashing>::hash(
- &wasm_binary,
- );
- let result = sandbox.upload_contract(
- wasm_binary,
- DefaultSandbox::default_actor(),
- None,
- Determinism::Enforced,
- );
+ use sha3::{
+ Digest,
+ Keccak256,
+ };
+ let hash = Keccak256::digest(wasm_binary.as_slice());
+ let hash = H256::from_slice(hash.as_slice());
+
+ let origin =
+ DefaultSandbox::convert_account_to_origin(DefaultSandbox::default_actor());
+ let result = sandbox.upload_contract(wasm_binary, origin, 100000000000000);
assert!(result.is_ok());
assert_eq!(hash, result.unwrap().code_hash);
@@ -291,14 +320,17 @@ mod tests {
let events_before = sandbox.events();
assert!(events_before.is_empty());
+ let origin =
+ DefaultSandbox::convert_account_to_origin(DefaultSandbox::default_actor());
+ sandbox.map_account(origin.clone()).expect("cannot map");
let result = sandbox.deploy_contract(
wasm_binary,
0,
vec![],
- vec![],
- DefaultSandbox::default_actor(),
- DefaultSandbox::default_gas_limit(),
None,
+ origin,
+ DefaultSandbox::default_gas_limit(),
+ DepositLimit::Balance(100000000000000),
);
assert!(result.result.is_ok());
assert!(!result.result.unwrap().result.did_revert());
@@ -308,50 +340,50 @@ mod tests {
let instantiation_event = events[event_count - 2].clone();
assert!(matches!(
instantiation_event.event,
- RuntimeEventOf::::Contracts(pallet_contracts::Event::<
+ RuntimeEventOf::::Revive(pallet_revive::Event::<
RuntimeOf,
>::Instantiated { .. })
));
let deposit_event = events[event_count - 1].clone();
assert!(matches!(
deposit_event.event,
- RuntimeEventOf::::Contracts(
- pallet_contracts::Event::>::StorageDepositTransferredAndHeld { .. }
- )
+ RuntimeEventOf::::Revive(pallet_revive::Event::<
+ RuntimeOf,
+ >::StorageDepositTransferredAndHeld { .. })
));
}
#[test]
fn can_call_contract() {
let mut sandbox = DefaultSandbox::default();
- let actor = DefaultSandbox::default_actor();
+ let _actor = DefaultSandbox::default_actor();
let wasm_binary = compile_module("dummy");
+ let origin =
+ DefaultSandbox::convert_account_to_origin(DefaultSandbox::default_actor());
+ sandbox.map_account(origin.clone()).expect("unable to map");
let result = sandbox.deploy_contract(
wasm_binary,
0,
vec![],
- vec![],
- actor.clone(),
- DefaultSandbox::default_gas_limit(),
None,
+ origin.clone(),
+ DefaultSandbox::default_gas_limit(),
+ STORAGE_DEPOSIT_LIMIT,
);
+ assert!(!result.result.clone().unwrap().result.did_revert());
- let contract_address = result
- .result
- .expect("Contract should be deployed")
- .account_id;
+ let contract_address = result.result.expect("Contract should be deployed").addr;
sandbox.reset_events();
let result = sandbox.call_contract(
- contract_address.clone(),
+ contract_address,
0,
vec![],
- actor.clone(),
+ origin.clone(),
DefaultSandbox::default_gas_limit(),
- None,
- Determinism::Enforced,
+ STORAGE_DEPOSIT_LIMIT,
);
assert!(result.result.is_ok());
assert!(!result.result.unwrap().did_revert());
@@ -361,22 +393,31 @@ mod tests {
assert_eq!(
events[0].event,
- RuntimeEventOf::::Contracts(pallet_contracts::Event::<
+ RuntimeEventOf::::Revive(pallet_revive::Event::<
RuntimeOf,
>::ContractEmitted {
- contract: contract_address.clone(),
- data: vec![0, 0, 0, 0],
+ contract: contract_address,
+ topics: vec![H256::from([42u8; 32])],
+ data: vec![1, 2, 3, 4],
})
);
- assert_eq!(
- events[1].event,
- RuntimeEventOf::::Contracts(pallet_contracts::Event::<
- RuntimeOf,
- >::Called {
- contract: contract_address,
- caller: Origin::Signed(actor),
- }),
- );
+ // TODO Wait for `pallet_revive::exec::Origin` re-export.
+ // let account_id = DefaultSandbox::default_actor();
+ // let caller = origin.clone();
+ // let caller = pallet_revive::exec::Origin::from_runtime_origin(caller).unwrap();
+ // let origin =
+ // DefaultSandbox::convert_account_to_origin(DefaultSandbox::default_actor());
+ // let foo = pallet_revive::Origin::>::from(origin);
+ // assert_eq!(
+ // events[1].event,
+ // RuntimeEventOf::::Revive(pallet_revive::Event::<
+ // RuntimeOf,
+ // >::Called {
+ // contract: contract_address,
+ // caller: frame_system::EnsureSigned::try_origin(actor).unwrap(),
+ // caller,
+ // }),
+ // );
}
}
diff --git a/crates/e2e/sandbox/src/lib.rs b/crates/e2e/sandbox/src/lib.rs
index 01ba7b48b79..99e8c7f4984 100644
--- a/crates/e2e/sandbox/src/lib.rs
+++ b/crates/e2e/sandbox/src/lib.rs
@@ -10,16 +10,20 @@ use frame_support::{
traits::fungible::Inspect,
};
use frame_system::{
- pallet_prelude::BlockNumberFor,
+ pallet_prelude::{
+ BlockNumberFor,
+ OriginFor,
+ },
EventRecord,
};
pub use macros::{
BlockBuilder,
DefaultSandbox,
};
-use pallet_contracts::{
- ContractExecResult,
- ContractInstantiateResult,
+use pallet_revive::{
+ ContractResult,
+ ExecReturnValue,
+ InstantiateReturnValue,
};
/// Export pallets that are used in [`crate::create_sandbox`]
pub use {
@@ -33,7 +37,7 @@ pub use {
},
frame_system,
pallet_balances,
- pallet_contracts,
+ pallet_revive,
pallet_timestamp,
paste,
sp_core::crypto::Ss58Codec,
@@ -58,7 +62,7 @@ pub type StorageRoot = H256;
/// Alias for the balance type.
type BalanceOf =
- <::Currency as Inspect>>::Balance;
+ <::Currency as Inspect>>::Balance;
/// Alias for the account ID type.
pub type AccountIdFor = ::AccountId;
@@ -73,15 +77,21 @@ pub type EventRecordOf = EventRecord<
>;
/// Alias for the contract instantiate result.
-pub type ContractInstantiateResultFor = ContractInstantiateResult<
- AccountIdFor,
- BalanceOf,
- EventRecordOf,
->;
+pub type ContractInstantiateResultFor =
+ ContractResult, BalanceOf, EventRecordOf>;
+
+pub type ContractResultFor =
+ ContractResult, EventRecordOf>;
+
+pub type ContractResultInstantiate =
+ ContractResult, EventRecordOf>;
/// Alias for the contract exec result.
pub type ContractExecResultFor =
- ContractExecResult, EventRecordOf>;
+ ContractResult, EventRecordOf>;
+
+/// Alias for the `map_acocunt` result.
+pub type MapAccountResultFor = Result<(), DispatchError>;
/// Alias for the runtime of a sandbox.
pub type RuntimeOf = ::Runtime;
@@ -121,7 +131,7 @@ pub trait Sandbox {
fn default_actor() -> AccountIdFor;
fn default_gas_limit() -> Weight {
- Weight::from_parts(100_000_000_000, 3 * 1024 * 1024)
+ Weight::from_parts(100_000_000_000_000, 6 * 1024 * 1024)
}
/// Metadata of the runtime.
diff --git a/crates/e2e/sandbox/src/macros.rs b/crates/e2e/sandbox/src/macros.rs
index 0b251b9b99b..5b722e833ba 100644
--- a/crates/e2e/sandbox/src/macros.rs
+++ b/crates/e2e/sandbox/src/macros.rs
@@ -19,7 +19,7 @@ pub struct BlockBuilder(std::marker::PhantomData);
impl<
T: pallet_balances::Config
+ pallet_timestamp::Config
- + pallet_contracts::Config,
+ + pallet_revive::Config,
> BlockBuilder
{
/// Create a new externalities with the given balances.
@@ -55,7 +55,7 @@ impl<
.as_secs(),
);
pallet_timestamp::Pallet::::on_initialize(height);
- pallet_contracts::Pallet::::on_initialize(height);
+ pallet_revive::Pallet::::on_initialize(height);
frame_system::Pallet::::note_finished_initialize();
}
@@ -63,7 +63,7 @@ impl<
pub fn finalize_block(
height: frame_system::pallet_prelude::BlockNumberFor,
) -> ::Hash {
- pallet_contracts::Pallet::::on_finalize(height);
+ pallet_revive::Pallet::::on_finalize(height);
pallet_timestamp::Pallet::::on_finalize(height);
pallet_balances::Pallet::::on_finalize(height);
frame_system::Pallet::::finalize().hash()
@@ -107,11 +107,10 @@ mod construct_runtime {
derive_impl,
parameter_types,
sp_runtime::{
- testing::H256,
traits::Convert,
AccountId32, Perbill,
},
- traits::{ConstBool, ConstU128, ConstU32, ConstU64, Currency, Randomness},
+ traits::{ConstBool, ConstU128, ConstU32, ConstU64, Currency},
weights::Weight,
};
@@ -123,7 +122,7 @@ mod construct_runtime {
System: $crate::frame_system,
Balances: $crate::pallet_balances,
Timestamp: $crate::pallet_timestamp,
- Contracts: $crate::pallet_contracts,
+ Revive: $crate::pallet_revive,
$(
$pallet_name: $pallet,
)*
@@ -154,6 +153,7 @@ mod construct_runtime {
type MaxFreezes = ();
type RuntimeHoldReason = RuntimeHoldReason;
type RuntimeFreezeReason = RuntimeFreezeReason;
+ type DoneSlashHandler = ();
}
// Configure pallet timestamp
@@ -164,14 +164,7 @@ mod construct_runtime {
type WeightInfo = ();
}
- // Configure pallet contracts
- pub enum SandboxRandomness {}
- impl Randomness for SandboxRandomness {
- fn random(_subject: &[u8]) -> (H256, u32) {
- unreachable!("No randomness")
- }
- }
-
+ // Configure pallet revive
type BalanceOf = >::Balance;
impl Convert for $runtime {
fn convert(w: Weight) -> BalanceOf {
@@ -180,46 +173,36 @@ mod construct_runtime {
}
parameter_types! {
- pub SandboxSchedule: $crate::pallet_contracts::Schedule<$runtime> = {
- <$crate::pallet_contracts::Schedule<$runtime>>::default()
- };
+ // TODO can we delete some?
pub DeletionWeightLimit: Weight = Weight::zero();
pub DefaultDepositLimit: BalanceOf = 10_000_000;
pub CodeHashLockupDepositPercent: Perbill = Perbill::from_percent(0);
pub MaxDelegateDependencies: u32 = 32;
}
- impl $crate::pallet_contracts::Config for $runtime {
+ impl $crate::pallet_revive::Config for $runtime {
+ type AddressMapper = $crate::pallet_revive::AccountId32Mapper;
+ type ChainId = ConstU64<0>; // TODO
+ type NativeToEthRatio = ConstU32<1>;
type Time = Timestamp;
- type Randomness = SandboxRandomness;
type Currency = Balances;
type RuntimeEvent = RuntimeEvent;
type RuntimeCall = RuntimeCall;
type CallFilter = ();
+ type DepositPerItem = ConstU128<1>;
+ type DepositPerByte = ConstU128<1>;
type WeightPrice = Self;
type WeightInfo = ();
type ChainExtension = $chain_extension;
- type Schedule = SandboxSchedule;
- type CallStack = [$crate::pallet_contracts::Frame; 5];
- type DepositPerByte = ConstU128<1>;
- type DepositPerItem = ConstU128<1>;
- type AddressGenerator = $crate::pallet_contracts::DefaultAddressGenerator;
- type MaxCodeLen = ConstU32<{ 123 * 1024 }>;
- type MaxStorageKeyLen = ConstU32<128>;
- type MaxTransientStorageSize = ConstU32<{ 1024 * 1024 }>;
- type UnsafeUnstableInterface = ConstBool;
- type UploadOrigin = $crate::frame_system::EnsureSigned;
- type InstantiateOrigin = $crate::frame_system::EnsureSigned;
- type MaxDebugBufferLen = ConstU32<{ 2 * 1024 * 1024 }>;
- type Migrations = ();
- type DefaultDepositLimit = DefaultDepositLimit;
- type Debug = $debug;
+ type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>;
+ type PVFMemory = ConstU32<{ 512 * 1024 * 1024 }>;
+ type UnsafeUnstableInterface = ConstBool;
type CodeHashLockupDepositPercent = CodeHashLockupDepositPercent;
- type MaxDelegateDependencies = MaxDelegateDependencies;
type RuntimeHoldReason = RuntimeHoldReason;
- type Environment = ();
+ type Debug = $debug;
type Xcm = ();
- type ApiVersion = ();
+ type UploadOrigin = $crate::frame_system::EnsureSigned;
+ type InstantiateOrigin = $crate::frame_system::EnsureSigned;
}
// Implement `crate::Sandbox` trait
@@ -320,7 +303,7 @@ mod construct_runtime {
// Export runtime type itself, pallets and useful types from the auxiliary module
pub use construct_runtime::{
- $sandbox, $runtime, Balances, Contracts, PalletInfo, RuntimeCall, RuntimeEvent, RuntimeHoldReason,
+ $sandbox, $runtime, Balances, Revive, PalletInfo, RuntimeCall, RuntimeEvent, RuntimeHoldReason,
RuntimeOrigin, System, Timestamp,
};
};
diff --git a/crates/e2e/sandbox/test-resources/dummy.polkavm b/crates/e2e/sandbox/test-resources/dummy.polkavm
new file mode 100644
index 00000000000..34c003082a4
Binary files /dev/null and b/crates/e2e/sandbox/test-resources/dummy.polkavm differ
diff --git a/crates/e2e/sandbox/test-resources/dummy.wat b/crates/e2e/sandbox/test-resources/dummy.wat
deleted file mode 100644
index 23eff87ad51..00000000000
--- a/crates/e2e/sandbox/test-resources/dummy.wat
+++ /dev/null
@@ -1,25 +0,0 @@
-;; Dummy contract emitting a dummy event.
-(module
- (import "seal0" "seal_deposit_event" (func $seal_deposit_event (param i32 i32 i32 i32)))
- (import "seal0" "seal_return" (func $seal_return (param i32 i32 i32)))
- (import "env" "memory" (memory 1 1))
-
- (func (export "deploy"))
-
- (func (export "call")
- ;; emit dummy event
- (call $seal_deposit_event
- (i32.const 0) ;; The topics buffer
- (i32.const 0) ;; The topics buffer's length
- (i32.const 8) ;; The data buffer
- (i32.const 4) ;; The data buffer's length
- )
-
- ;; exit with success
- (call $seal_return
- (i32.const 0) ;; flags
- (i32.const 0) ;; returned value
- (i32.const 4) ;; length of returned value
- )
- )
-)
diff --git a/crates/e2e/src/backend.rs b/crates/e2e/src/backend.rs
index 760a44dff0c..82746b9360a 100644
--- a/crates/e2e/src/backend.rs
+++ b/crates/e2e/src/backend.rs
@@ -12,7 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use super::Keypair;
+use super::{
+ InstantiateDryRunResult,
+ Keypair,
+ H256,
+};
use crate::{
backend_calls::{
InstantiateBuilder,
@@ -20,10 +24,7 @@ use crate::{
UploadBuilder,
},
builders::CreateBuilderPartial,
- contract_results::{
- BareInstantiationResult,
- InstantiateDryRunResult,
- },
+ contract_results::BareInstantiationResult,
CallBuilder,
CallBuilderFinal,
CallDryRunResult,
@@ -33,6 +34,7 @@ use ink_env::{
DefaultEnvironment,
Environment,
};
+use ink_primitives::DepositLimit;
use jsonrpsee::core::async_trait;
use scale::{
Decode,
@@ -175,7 +177,7 @@ pub trait ContractsBackend {
fn remove_code<'a>(
&'a mut self,
caller: &'a Keypair,
- code_hash: E::Hash,
+ code_hash: H256,
) -> RemoveCodeBuilder<'a, E, Self>
where
Self: Sized + BuilderClient,
@@ -230,7 +232,7 @@ pub trait BuilderClient: ContractsBackend {
message: &CallBuilderFinal,
value: E::Balance,
gas_limit: Weight,
- storage_deposit_limit: Option,
+ storage_deposit_limit: DepositLimit,
) -> Result
where
CallBuilderFinal: Clone;
@@ -244,7 +246,7 @@ pub trait BuilderClient: ContractsBackend {
caller: &Keypair,
message: &CallBuilderFinal,
value: E::Balance,
- storage_deposit_limit: Option,
+ storage_deposit_limit: DepositLimit,
) -> Result, Self::Error>
where
CallBuilderFinal: Clone;
@@ -260,14 +262,14 @@ pub trait BuilderClient: ContractsBackend {
&mut self,
contract_name: &str,
caller: &Keypair,
- storage_deposit_limit: Option,
+ storage_deposit_limit: E::Balance,
) -> Result, Self::Error>;
/// Removes the code of the contract at `code_hash`.
async fn bare_remove_code(
&mut self,
caller: &Keypair,
- code_hash: E::Hash,
+ code_hash: crate::H256,
) -> Result;
/// Bare instantiate call. This function does not perform a dry-run,
@@ -290,8 +292,8 @@ pub trait BuilderClient: ContractsBackend {
constructor: &mut CreateBuilderPartial,
value: E::Balance,
gas_limit: Weight,
- storage_deposit_limit: Option,
- ) -> Result, Self::Error>;
+ storage_deposit_limit: DepositLimit,
+ ) -> Result, Self::Error>;
/// Dry run contract instantiation.
async fn bare_instantiate_dry_run<
@@ -304,6 +306,12 @@ pub trait BuilderClient: ContractsBackend {
caller: &Keypair,
constructor: &mut CreateBuilderPartial,
value: E::Balance,
- storage_deposit_limit: Option,
+ storage_deposit_limit: DepositLimit,
) -> Result, Self::Error>;
+
+ /// todo
+ async fn map_account(&mut self, caller: &Keypair) -> Result<(), Self::Error>;
+
+ /// todo
+ async fn map_account_dry_run(&mut self, caller: &Keypair) -> Result<(), Self::Error>;
}
diff --git a/crates/e2e/src/backend_calls.rs b/crates/e2e/src/backend_calls.rs
index aedba9683bb..2a7774683ae 100644
--- a/crates/e2e/src/backend_calls.rs
+++ b/crates/e2e/src/backend_calls.rs
@@ -12,13 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use ink_env::Environment;
-use scale::{
- Decode,
- Encode,
+use super::{
+ balance_to_deposit_limit,
+ InstantiateDryRunResult,
+ Keypair,
};
-use sp_weights::Weight;
-
use crate::{
backend::BuilderClient,
builders::CreateBuilderPartial,
@@ -26,12 +24,18 @@ use crate::{
CallDryRunResult,
CallResult,
ContractsBackend,
- InstantiateDryRunResult,
InstantiationResult,
UploadResult,
+ H256,
};
-
-use super::Keypair;
+use ink_env::Environment;
+use ink_primitives::DepositLimit;
+use scale::{
+ Decode,
+ Encode,
+};
+use sp_weights::Weight;
+use std::marker::PhantomData;
/// Allows to build an end-to-end call using a builder pattern.
pub struct CallBuilder<'a, E, Args, RetType, B>
@@ -48,7 +52,7 @@ where
value: E::Balance,
extra_gas_portion: Option,
gas_limit: Option,
- storage_deposit_limit: Option,
+ storage_deposit_limit: E::Balance,
}
impl<'a, E, Args, RetType, B> CallBuilder<'a, E, Args, RetType, B>
@@ -75,7 +79,7 @@ where
value: 0u32.into(),
extra_gas_portion: None,
gas_limit: None,
- storage_deposit_limit: None,
+ storage_deposit_limit: 0u32.into(),
}
}
@@ -107,7 +111,7 @@ where
/// # Notes
///
/// Overwrites any values specified for `extra_gas_portion`.
- /// The gas estimate fro dry-run will be ignored.
+ /// The gas estimate from the dry-run will be ignored.
pub fn gas_limit(&mut self, limit: Weight) -> &mut Self {
if limit == Weight::from_parts(0, 0) {
self.gas_limit = None
@@ -122,11 +126,7 @@ where
&mut self,
storage_deposit_limit: E::Balance,
) -> &mut Self {
- if storage_deposit_limit == 0u32.into() {
- self.storage_deposit_limit = None
- } else {
- self.storage_deposit_limit = Some(storage_deposit_limit)
- }
+ self.storage_deposit_limit = storage_deposit_limit;
self
}
@@ -140,12 +140,15 @@ where
where
CallBuilderFinal: Clone,
{
+ // todo must be added to remove as well
+ let _map = B::map_account(self.client, self.caller).await; // todo will fail if instantiation happened before
+
let dry_run = B::bare_call_dry_run(
self.client,
self.caller,
self.message,
self.value,
- self.storage_deposit_limit,
+ balance_to_deposit_limit::(self.storage_deposit_limit),
)
.await?;
@@ -164,7 +167,8 @@ where
self.message,
self.value,
gas_limit,
- self.storage_deposit_limit,
+ // todo: the `bare_call` converts this value back, this is unnecessary work
+ DepositLimit::Balance(dry_run.exec_result.storage_deposit.charge_or_zero()),
)
.await?;
@@ -184,7 +188,7 @@ where
self.caller,
self.message,
self.value,
- self.storage_deposit_limit,
+ balance_to_deposit_limit::(self.storage_deposit_limit),
)
.await
}
@@ -206,7 +210,7 @@ where
value: E::Balance,
extra_gas_portion: Option,
gas_limit: Option,
- storage_deposit_limit: Option,
+ storage_deposit_limit: DepositLimit,
}
impl<'a, E, Contract, Args, R, B> InstantiateBuilder<'a, E, Contract, Args, R, B>
@@ -235,7 +239,7 @@ where
value: 0u32.into(),
extra_gas_portion: None,
gas_limit: None,
- storage_deposit_limit: None,
+ storage_deposit_limit: DepositLimit::Unchecked,
}
}
@@ -280,13 +284,9 @@ where
/// Specify the max amount of funds that can be charged for storage.
pub fn storage_deposit_limit(
&mut self,
- storage_deposit_limit: E::Balance,
+ storage_deposit_limit: DepositLimit,
) -> &mut Self {
- if storage_deposit_limit == 0u32.into() {
- self.storage_deposit_limit = None
- } else {
- self.storage_deposit_limit = Some(storage_deposit_limit)
- }
+ self.storage_deposit_limit = storage_deposit_limit;
self
}
@@ -297,13 +297,16 @@ where
pub async fn submit(
&mut self,
) -> Result, B::Error> {
+ // we have to make sure the account was mapped
+ let _map = B::map_account(self.client, self.caller).await; // todo will fail if instantiation happened before
+
let dry_run = B::bare_instantiate_dry_run(
self.client,
self.contract_name,
self.caller,
self.constructor,
self.value,
- self.storage_deposit_limit,
+ self.storage_deposit_limit.clone(),
)
.await?;
@@ -323,12 +326,14 @@ where
self.constructor,
self.value,
gas_limit,
- self.storage_deposit_limit,
+ balance_to_deposit_limit::(
+ dry_run.contract_result.storage_deposit.charge_or_zero(),
+ ),
)
.await?;
Ok(InstantiationResult {
- account_id: instantiate_result.account_id,
+ addr: instantiate_result.addr,
dry_run,
events: instantiate_result.events,
})
@@ -342,7 +347,7 @@ where
self.caller,
self.constructor,
self.value,
- self.storage_deposit_limit,
+ self.storage_deposit_limit.clone(),
)
.await
}
@@ -357,7 +362,7 @@ where
client: &'a mut B,
contract_name: &'a str,
caller: &'a Keypair,
- storage_deposit_limit: Option,
+ storage_deposit_limit: E::Balance,
}
impl<'a, E, B> UploadBuilder<'a, E, B>
@@ -371,7 +376,7 @@ where
client,
contract_name,
caller,
- storage_deposit_limit: None,
+ storage_deposit_limit: 0u32.into(),
}
}
@@ -380,11 +385,7 @@ where
&mut self,
storage_deposit_limit: E::Balance,
) -> &mut Self {
- if storage_deposit_limit == 0u32.into() {
- self.storage_deposit_limit = None
- } else {
- self.storage_deposit_limit = Some(storage_deposit_limit)
- }
+ self.storage_deposit_limit = storage_deposit_limit;
self
}
@@ -408,7 +409,8 @@ where
{
client: &'a mut B,
caller: &'a Keypair,
- code_hash: E::Hash,
+ code_hash: crate::H256,
+ _phantom: PhantomData E>,
}
impl<'a, E, B> RemoveCodeBuilder<'a, E, B>
@@ -417,11 +419,12 @@ where
B: BuilderClient,
{
/// Initialize a remove code builder with essential values.
- pub fn new(client: &'a mut B, caller: &'a Keypair, code_hash: E::Hash) -> Self {
+ pub fn new(client: &'a mut B, caller: &'a Keypair, code_hash: H256) -> Self {
Self {
client,
caller,
code_hash,
+ _phantom: Default::default(),
}
}
diff --git a/crates/e2e/src/builders.rs b/crates/e2e/src/builders.rs
index 93453c32d4c..24df0a63f54 100644
--- a/crates/e2e/src/builders.rs
+++ b/crates/e2e/src/builders.rs
@@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+use crate::H256;
use ink_env::{
call::{
utils::{
ReturnType,
Set,
- Unset,
},
CreateBuilder,
ExecutionInput,
@@ -32,11 +32,8 @@ use scale::Encode;
pub type CreateBuilderPartial = CreateBuilder<
E,
ContractRef,
- Unset<::Hash>,
- Set>,
- Unset<::Balance>,
+ Set