diff --git a/.github/actions/bitcoin/action.yml b/.github/actions/bitcoin/action.yml index 331a994b..877ca3b8 100644 --- a/.github/actions/bitcoin/action.yml +++ b/.github/actions/bitcoin/action.yml @@ -12,7 +12,7 @@ runs: steps: - name: Bitcoin Daemon Cache id: cache-bitcoind - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # 4.2.4 with: path: bitcoin.tar.gz key: bitcoind-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }} diff --git a/.github/actions/build-dependencies/action.yml b/.github/actions/build-dependencies/action.yml index ae16a9e1..a6e8a2e5 100644 --- a/.github/actions/build-dependencies/action.yml +++ b/.github/actions/build-dependencies/action.yml @@ -52,7 +52,7 @@ runs: - name: Install solc shell: bash run: | - cargo +1.91 install svm-rs --version =0.5.19 + cargo +1.91.1 install svm-rs --version =0.5.21 svm install 0.8.29 svm use 0.8.29 @@ -75,11 +75,8 @@ runs: if: runner.os == 'Linux' - name: Install rootless Docker - uses: docker/setup-docker-action@b60f85385d03ac8acfca6d9996982511d8620a19 + uses: docker/setup-docker-action@e61617a16c407a86262fb923c35a616ddbe070b3 # 4.6.0 with: rootless: true set-host: true if: runner.os == 'Linux' - - # - name: Cache Rust - # uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43 diff --git a/.github/actions/monero-wallet-rpc/action.yml b/.github/actions/monero-wallet-rpc/action.yml index c51526c7..df86d038 100644 --- a/.github/actions/monero-wallet-rpc/action.yml +++ b/.github/actions/monero-wallet-rpc/action.yml @@ -5,14 +5,14 @@ inputs: version: description: "Version to download and run" required: false - default: v0.18.4.3 + default: v0.18.4.4 runs: using: "composite" steps: - name: Monero Wallet RPC Cache id: cache-monero-wallet-rpc - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # 4.2.4 with: path: monero-wallet-rpc key: monero-wallet-rpc-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }} diff --git a/.github/actions/monero/action.yml b/.github/actions/monero/action.yml index 356eafa5..5efa0878 100644 --- a/.github/actions/monero/action.yml +++ b/.github/actions/monero/action.yml @@ -5,14 +5,14 @@ inputs: version: description: "Version to download and run" required: false - default: v0.18.4.3 + default: v0.18.4.4 runs: using: "composite" steps: - name: Monero Daemon Cache id: cache-monerod - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # 4.2.4 with: path: /usr/bin/monerod key: monerod-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }} diff --git a/.github/actions/test-dependencies/action.yml b/.github/actions/test-dependencies/action.yml index 0c8b80cf..d39c6462 100644 --- a/.github/actions/test-dependencies/action.yml +++ b/.github/actions/test-dependencies/action.yml @@ -5,7 +5,7 @@ inputs: monero-version: description: "Monero version to download and run as a regtest node" required: false - default: v0.18.4.3 + default: v0.18.4.4 bitcoin-version: description: "Bitcoin version to download and run as a regtest node" @@ -19,9 +19,9 @@ runs: uses: ./.github/actions/build-dependencies - name: Install Foundry - uses: foundry-rs/foundry-toolchain@8f1998e9878d786675189ef566a2e4bf24869773 + uses: foundry-rs/foundry-toolchain@50d5a8956f2e319df19e6b57539d7e2acb9f8c1e # 1.5.0 with: - version: nightly-f625d0fa7c51e65b4bf1e8f7931cd1c6e2e285e9 + version: v1.5.0 cache: false - name: Run a Monero Regtest Node diff --git a/.github/nightly-version b/.github/nightly-version index fabbd836..dcdb8e3a 100644 --- a/.github/nightly-version +++ b/.github/nightly-version @@ -1 +1 @@ -nightly-2025-11-11 +nightly-2025-12-01 diff --git a/.github/workflows/common-tests.yml b/.github/workflows/common-tests.yml index b93db510..13b88f5c 100644 --- a/.github/workflows/common-tests.yml +++ b/.github/workflows/common-tests.yml @@ -17,7 +17,7 @@ jobs: test-common: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/coordinator-tests.yml b/.github/workflows/coordinator-tests.yml index b956f752..a703c896 100644 --- a/.github/workflows/coordinator-tests.yml +++ b/.github/workflows/coordinator-tests.yml @@ -31,7 +31,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/crypto-tests.yml b/.github/workflows/crypto-tests.yml index e84d3e92..45449a36 100644 --- a/.github/workflows/crypto-tests.yml +++ b/.github/workflows/crypto-tests.yml @@ -19,7 +19,7 @@ jobs: test-crypto: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/daily-deny.yml b/.github/workflows/daily-deny.yml index 7836827e..9e823481 100644 --- a/.github/workflows/daily-deny.yml +++ b/.github/workflows/daily-deny.yml @@ -9,16 +9,10 @@ jobs: name: Run cargo deny runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - - - name: Advisory Cache - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 - with: - path: ~/.cargo/advisory-db - key: rust-advisory-db + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install cargo deny - run: cargo +1.91 install cargo-deny --version =0.18.5 + run: cargo +1.91.1 install cargo-deny --version =0.18.6 - name: Run cargo deny run: cargo deny -L error --all-features check --hide-inclusion-graph diff --git a/.github/workflows/full-stack-tests.yml b/.github/workflows/full-stack-tests.yml index 7bcce866..2b5e9de0 100644 --- a/.github/workflows/full-stack-tests.yml +++ b/.github/workflows/full-stack-tests.yml @@ -13,7 +13,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 09ab776a..c9a0d698 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Get nightly version to use id: nightly @@ -43,16 +43,10 @@ jobs: deny: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - - - name: Advisory Cache - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 - with: - path: ~/.cargo/advisory-db - key: rust-advisory-db + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install cargo deny - run: cargo +1.91 install cargo-deny --version =0.18.5 + run: cargo +1.91.1 install cargo-deny --version =0.18.6 - name: Run cargo deny run: cargo deny -L error --all-features check --hide-inclusion-graph @@ -60,7 +54,7 @@ jobs: fmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Get nightly version to use id: nightly @@ -73,10 +67,10 @@ jobs: - name: Run rustfmt run: cargo +${{ steps.nightly.outputs.version }} fmt -- --check - - name: Install foundry - uses: foundry-rs/foundry-toolchain@8f1998e9878d786675189ef566a2e4bf24869773 + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@50d5a8956f2e319df19e6b57539d7e2acb9f8c1e # 1.5.0 with: - version: nightly-41d4e5437107f6f42c7711123890147bc736a609 + version: v1.5.0 cache: false - name: Run forge fmt @@ -85,20 +79,20 @@ jobs: machete: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Verify all dependencies are in use run: | - cargo +1.91 install cargo-machete --version =0.9.1 - cargo +1.91 machete + cargo +1.91.1 install cargo-machete --version =0.9.1 + cargo +1.91.1 machete msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Verify claimed `rust-version` shell: bash run: | - cargo +1.91 install cargo-msrv --version =0.18.4 + cargo +1.91.1 install cargo-msrv --version =0.18.4 function check_msrv { # We `cd` into the directory passed as the first argument, but will return to the @@ -189,16 +183,16 @@ jobs: slither: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies - name: Slither run: | - python3 -m pip install slither-analyzer + python3 -m pip install slither-analyzer==0.11.3 - slither --include-paths ./networks/ethereum/schnorr/contracts/Schnorr.sol + slither ./networks/ethereum/schnorr/contracts/Schnorr.sol slither --include-paths ./networks/ethereum/schnorr/contracts ./networks/ethereum/schnorr/contracts/tests/Schnorr.sol slither processor/ethereum/deployer/contracts/Deployer.sol slither processor/ethereum/erc20/contracts/IERC20.sol diff --git a/.github/workflows/message-queue-tests.yml b/.github/workflows/message-queue-tests.yml index aa6f9328..984107c1 100644 --- a/.github/workflows/message-queue-tests.yml +++ b/.github/workflows/message-queue-tests.yml @@ -27,7 +27,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/mini-tests.yml b/.github/workflows/mini-tests.yml index 9728e040..083f4942 100644 --- a/.github/workflows/mini-tests.yml +++ b/.github/workflows/mini-tests.yml @@ -17,7 +17,7 @@ jobs: test-common: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/monthly-nightly-update.yml b/.github/workflows/monthly-nightly-update.yml index 05b3e412..0cd730f6 100644 --- a/.github/workflows/monthly-nightly-update.yml +++ b/.github/workflows/monthly-nightly-update.yml @@ -9,7 +9,7 @@ jobs: name: Update nightly runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 with: submodules: "recursive" diff --git a/.github/workflows/networks-tests.yml b/.github/workflows/networks-tests.yml index 70d6ae8c..c0ae281c 100644 --- a/.github/workflows/networks-tests.yml +++ b/.github/workflows/networks-tests.yml @@ -21,7 +21,7 @@ jobs: test-networks: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Test Dependencies uses: ./.github/actions/test-dependencies diff --git a/.github/workflows/no-std.yml b/.github/workflows/no-std.yml index ef222ff8..f9b581ac 100644 --- a/.github/workflows/no-std.yml +++ b/.github/workflows/no-std.yml @@ -23,7 +23,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 4f1c18df..09f36650 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -46,16 +46,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Setup Ruby - uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb + uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # 1.268.0 with: bundler-cache: true cache-version: 0 working-directory: "${{ github.workspace }}/docs" - name: Setup Pages id: pages - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b + uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # 5.0.0 - name: Build with Jekyll run: cd ${{ github.workspace }}/docs && bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" env: @@ -74,7 +74,7 @@ jobs: mv target/doc docs/_site/rust - name: Upload artifact - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b + uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # 4.0.0 with: path: "docs/_site/" @@ -88,4 +88,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # 4.0.5 diff --git a/.github/workflows/processor-tests.yml b/.github/workflows/processor-tests.yml index 5f6043eb..27b6336d 100644 --- a/.github/workflows/processor-tests.yml +++ b/.github/workflows/processor-tests.yml @@ -31,7 +31,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/reproducible-runtime.yml b/.github/workflows/reproducible-runtime.yml index 2c418bd5..af4ea096 100644 --- a/.github/workflows/reproducible-runtime.yml +++ b/.github/workflows/reproducible-runtime.yml @@ -27,7 +27,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7dfda669..fa9c12d2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,7 +29,7 @@ jobs: test-infra: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies @@ -74,7 +74,7 @@ jobs: test-substrate: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies @@ -101,7 +101,7 @@ jobs: test-serai-client: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Build Dependencies uses: ./.github/actions/build-dependencies diff --git a/Cargo.lock b/Cargo.lock index 853022f8..38bce483 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,9 +92,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc32535569185cbcb6ad5fa64d989a47bccb9a08e27284b1f2a3ccf16e6d010" +checksum = "1b9ebac8ff9c2f07667e1803dc777304337e160ce5153335beb45e8ec0751808" dependencies = [ "alloy-primitives", "num_enum", @@ -1186,9 +1186,9 @@ checksum = "30bdbe14aa07b06e6cfeffc529a1f099e5fbe249524f8125358604df99a4bed2" [[package]] name = "bitcoin-io" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" +checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin-serai" @@ -2899,7 +2899,7 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", ] @@ -2926,7 +2926,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support", "frame-support-procedural", @@ -2949,7 +2949,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "43.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support", "frame-system", @@ -2965,7 +2965,7 @@ dependencies = [ [[package]] name = "frame-support" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "environmental", @@ -2996,7 +2996,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "35.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "Inflector", "cfg-expr", @@ -3015,7 +3015,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.4.0", @@ -3027,7 +3027,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "proc-macro2", "quote", @@ -3037,7 +3037,7 @@ dependencies = [ [[package]] name = "frame-system" version = "43.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "cfg-if", "frame-support", @@ -3054,7 +3054,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.49.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support", "parity-scale-codec", @@ -4189,9 +4189,16 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.20.1" +version = "0.20.99" +dependencies = [ + "kvdb-rocksdb 0.21.0", +] + +[[package]] +name = "kvdb-rocksdb" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b089b6062662d720a836f055931434439fcd3a90f0059db0b831a99da6db460" +checksum = "739ac938a308a9a8b6772fd1d840fd9c0078f9c74fe294feaf32faae727102cc" dependencies = [ "kvdb", "num_cpus", @@ -4666,7 +4673,8 @@ dependencies = [ [[package]] name = "librocksdb-sys" version = "0.17.3+10.4.2" -source = "git+https://github.com/rust-rocksdb/rust-rocksdb#a3f6cb54514624c0aed3bf5591f18b82e4c3170b" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" dependencies = [ "bindgen", "bzip2-sys", @@ -4676,13 +4684,6 @@ dependencies = [ "zstd-sys", ] -[[package]] -name = "librocksdb-sys" -version = "0.17.99" -dependencies = [ - "librocksdb-sys 0.17.3+10.4.2", -] - [[package]] name = "libz-sys" version = "1.1.23" @@ -5691,7 +5692,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support", "frame-system", @@ -5702,7 +5703,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-benchmarking", "frame-support", @@ -5723,7 +5724,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-benchmarking", "frame-support", @@ -5743,7 +5744,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-support", "frame-system", @@ -5754,7 +5755,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "frame-benchmarking", "frame-support", @@ -6863,7 +6864,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddb7af00d2b17dbd07d82c0063e25411959748ff03e8d4f96134c2ff41fce34f" dependencies = [ "libc", - "librocksdb-sys 0.17.99", + "librocksdb-sys", ] [[package]] @@ -7097,7 +7098,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "34.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "log", "sp-core", @@ -7108,7 +7109,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.53.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -7138,7 +7139,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "futures", "log", @@ -7160,7 +7161,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.47.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "sp-api", @@ -7175,10 +7176,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "46.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", - "sc-chain-spec-derive", "sc-client-api", "sc-executor", "sc-network", @@ -7194,21 +7194,10 @@ dependencies = [ "sp-state-machine", ] -[[package]] -name = "sc-chain-spec-derive" -version = "12.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "sc-cli" version = "0.55.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "chrono", @@ -7244,7 +7233,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "fnv", "futures", @@ -7270,12 +7259,12 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.49.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "hash-db", "kvdb", "kvdb-memorydb", - "kvdb-rocksdb", + "kvdb-rocksdb 0.20.99", "linked-hash-map", "log", "parity-db", @@ -7297,7 +7286,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -7319,7 +7308,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.53.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "fork-tree", @@ -7356,7 +7345,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7369,7 +7358,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.38.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "ahash", "array-bytes", @@ -7412,7 +7401,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -7434,7 +7423,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.45.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "parking_lot", @@ -7454,7 +7443,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.41.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "sc-allocator", "sp-wasm-interface", @@ -7465,7 +7454,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.41.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "anyhow", "log", @@ -7481,7 +7470,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "console", "futures", @@ -7497,7 +7486,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "38.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "parking_lot", @@ -7511,7 +7500,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.53.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "async-channel", @@ -7555,7 +7544,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.51.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -7565,7 +7554,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.53.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "ahash", "futures", @@ -7584,7 +7573,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "async-channel", @@ -7618,7 +7607,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "futures", @@ -7637,7 +7626,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.19.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "bs58", "bytes", @@ -7658,7 +7647,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7667,7 +7656,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "48.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "futures", "jsonrpsee", @@ -7686,7 +7675,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.52.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7698,7 +7687,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "25.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -7722,7 +7711,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.54.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "directories", @@ -7782,7 +7771,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.40.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "log", "parity-scale-codec", @@ -7792,7 +7781,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "45.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "derive_more 1.0.0", "futures", @@ -7812,7 +7801,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "30.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "chrono", "futures", @@ -7831,7 +7820,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "42.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "chrono", "console", @@ -7859,7 +7848,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -7870,7 +7859,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -7900,7 +7889,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -7917,7 +7906,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "20.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-channel", "futures", @@ -9025,11 +9014,8 @@ dependencies = [ name = "serai-reproducible-runtime-tests" version = "0.1.0" dependencies = [ - "dockertest", "hex", "rand_core 0.6.4", - "serai-docker-tests", - "tokio", ] [[package]] @@ -9473,7 +9459,7 @@ dependencies = [ [[package]] name = "sp-api" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "hash-db", "log", @@ -9492,7 +9478,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "25.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "Inflector", "blake2 0.10.6", @@ -9506,7 +9492,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "serde", @@ -9517,7 +9503,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "28.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "integer-sqrt", "num-traits", @@ -9529,7 +9515,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "sp-api", @@ -9539,7 +9525,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "sp-api", "sp-inherents", @@ -9549,7 +9535,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "futures", "parity-scale-codec", @@ -9568,7 +9554,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.45.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "futures", @@ -9582,7 +9568,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.45.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "parity-scale-codec", @@ -9599,7 +9585,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "26.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "finality-grandpa", "log", @@ -9615,7 +9601,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.45.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "serde", @@ -9625,7 +9611,7 @@ dependencies = [ [[package]] name = "sp-core" version = "38.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -9663,7 +9649,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "blake2b_simd", "byteorder", @@ -9676,7 +9662,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "quote", "sp-crypto-hashing", @@ -9686,7 +9672,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "kvdb", "parking_lot", @@ -9695,7 +9681,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "proc-macro2", "quote", @@ -9705,7 +9691,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "environmental", "parity-scale-codec", @@ -9715,7 +9701,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.20.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "sp-api", @@ -9724,7 +9710,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9736,7 +9722,7 @@ dependencies = [ [[package]] name = "sp-io" version = "43.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "bytes", "log", @@ -9757,7 +9743,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "44.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "sp-core", "sp-runtime", @@ -9767,7 +9753,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.44.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "parking_lot", @@ -9778,7 +9764,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "backtrace", "regex", @@ -9787,7 +9773,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "36.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "rustc-hash", "serde", @@ -9796,7 +9782,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "44.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "either", "hash256-std-hasher", @@ -9819,7 +9805,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "32.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "bytes", "parity-scale-codec", @@ -9833,7 +9819,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "20.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "Inflector", "expander", @@ -9846,19 +9832,20 @@ dependencies = [ [[package]] name = "sp-session" version = "41.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "sp-api", "sp-core", "sp-keystore", + "sp-runtime", "sp-staking", ] [[package]] name = "sp-staking" version = "41.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "sp-core", @@ -9868,7 +9855,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.48.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "hash-db", "log", @@ -9888,12 +9875,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9905,7 +9892,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "async-trait", "parity-scale-codec", @@ -9917,7 +9904,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "19.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "regex", @@ -9929,7 +9916,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "39.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "sp-api", "sp-runtime", @@ -9938,7 +9925,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "41.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "ahash", "foldhash 0.1.5", @@ -9961,7 +9948,7 @@ dependencies = [ [[package]] name = "sp-version" version = "42.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9975,7 +9962,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -9987,7 +9974,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "24.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9999,7 +9986,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "33.1.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -10139,7 +10126,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "hyper", "log", @@ -10150,7 +10137,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "29.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=8c36534bb0bd5a02979f94bb913d11d55fe7eadc#8c36534bb0bd5a02979f94bb913d11d55fe7eadc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk#875af759416d5220d951e022c9a3e490b3c16677" dependencies = [ "cargo_metadata", "console", diff --git a/Cargo.toml b/Cargo.toml index a10f0c84..6aa2f184 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -214,8 +214,8 @@ parity-bip39 = { path = "patches/parity-bip39" } k256 = { git = "https://github.com/kayabaNerve/elliptic-curves", rev = "4994c9ab163781a88cd4a49beae812a89a44e8c3" } p256 = { git = "https://github.com/kayabaNerve/elliptic-curves", rev = "4994c9ab163781a88cd4a49beae812a89a44e8c3" } -# `jemalloc` conflicts with `mimalloc`, so patch to a `rocksdb` which never uses `jemalloc` -librocksdb-sys = { path = "patches/librocksdb-sys" } +# `jemalloc` conflicts with `mimalloc`, so patch to a `kvdb-rocksdb` which never exposes `jemalloc` +kvdb-rocksdb = { path = "patches/kvdb-rocksdb" } [workspace.lints.clippy] incompatible_msrv = "allow" # Manually verified with a GitHub workflow diff --git a/coordinator/tributary/src/lib.rs b/coordinator/tributary/src/lib.rs index d89ddc3d..10ee3d86 100644 --- a/coordinator/tributary/src/lib.rs +++ b/coordinator/tributary/src/lib.rs @@ -575,14 +575,9 @@ impl ScanBlock<'_, TD, TDT, P> { }; let msgs = ( decode_signed_message::>(&data.0).unwrap(), - if data.1.is_some() { - Some( - decode_signed_message::>(&data.1.unwrap()) - .unwrap(), - ) - } else { - None - }, + data.1.as_ref().map(|data| { + decode_signed_message::>(data).unwrap() + }), ); // Since anything with evidence is fundamentally faulty behavior, not just temporal diff --git a/deny.toml b/deny.toml index 3ff53ad2..1a772b2f 100644 --- a/deny.toml +++ b/deny.toml @@ -153,6 +153,5 @@ allow-git = [ "https://github.com/kayabaNerve/elliptic-curves", "https://github.com/monero-oxide/monero-oxide", "https://github.com/rust-bitcoin/rust-bip39", - "https://github.com/rust-rocksdb/rust-rocksdb", "https://github.com/serai-dex/patch-polkadot-sdk", ] diff --git a/orchestration/dev/networks/monero/hashes-v0.18.4.3.txt b/orchestration/dev/networks/monero/hashes-v0.18.4.3.txt deleted file mode 100644 index 00d837e6..00000000 --- a/orchestration/dev/networks/monero/hashes-v0.18.4.3.txt +++ /dev/null @@ -1,50 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -# This GPG-signed message exists to confirm the SHA256 sums of Monero binaries. -# -# Please verify the signature against the key for binaryFate in the -# source code repository (/utils/gpg_keys). -# -# -## CLI -4e1481835824b9233f204553d4a19645274824f3f6185d8a4b50198470752f54 monero-android-armv7-v0.18.4.3.tar.bz2 -1aebd24aaaec3d1e87a64163f2e30ab2cd45f3902a7a859413f6870944775c21 monero-android-armv8-v0.18.4.3.tar.bz2 -ff7b9c5cf2cb3d602c3dff1902ac0bc3394768cefc260b6003a9ad4bcfb7c6a4 monero-freebsd-x64-v0.18.4.3.tar.bz2 -3ac83049bc565fb5238501f0fa629cdd473bbe94d5fb815088af8e6ff1d761cd monero-linux-armv7-v0.18.4.3.tar.bz2 -b1cc5f135de3ba8512d56deb4b536b38c41addde922b2a53bf443aeaf2a5a800 monero-linux-armv8-v0.18.4.3.tar.bz2 -95baaa6e8957b92caeaed7fb19b5c2659373df8dd5f4de2601ed3dae7b17ce2f monero-linux-riscv64-v0.18.4.3.tar.bz2 -3a7b36ae4da831a4e9913e0a891728f4c43cd320f9b136cdb6686b1d0a33fafa monero-linux-x64-v0.18.4.3.tar.bz2 -e0b51ca71934c33cb83cfa8535ffffebf431a2fc9efe3acf2baad96fb6ce21ec monero-linux-x86-v0.18.4.3.tar.bz2 -bab9a6d3c2ca519386cff5ff0b5601642a495ed1a209736acaf354468cba1145 monero-mac-armv8-v0.18.4.3.tar.bz2 -a8d8273b14f31569f5b7aa3063fbd322e3caec3d63f9f51e287dfc539c7f7d61 monero-mac-x64-v0.18.4.3.tar.bz2 -bd9f615657c35d2d7dd9a5168ad54f1547dbf9a335dee7f12fab115f6f394e36 monero-win-x64-v0.18.4.3.zip -e642ed7bbfa34c30b185387fa553aa9c3ea608db1f3fc0e9332afa9b522c9c1a monero-win-x86-v0.18.4.3.zip -6ba5e082c8fa25216aba7aea8198f3e23d4b138df15c512457081e1eb3d03ff6 monero-source-v0.18.4.3.tar.bz2 -# -## GUI -7b9255c696a462a00a810d9c8f94e60400a9e7d6438e8d6a8b693e9c13dca9ab monero-gui-install-win-x64-v0.18.4.3.exe -0bd84de0a7c18b2a3ea8e8eff2194ae000cf1060045badfd4ab48674bc1b9325 monero-gui-linux-x64-v0.18.4.3.tar.bz2 -68ea30db32efb4a0671ec723297b6629d932fa188edf76edb38a37adaa3528e6 monero-gui-mac-armv8-v0.18.4.3.dmg -27243b01f030fdae68c59cae1daf21f530bbadeaf10579d2908db9a834191cee monero-gui-mac-x64-v0.18.4.3.dmg -dc9531cb4319b37b2c2dea4126e44a0fe6e7b6f34d278ccf5dd9ba693e3031e0 monero-gui-win-x64-v0.18.4.3.zip -0d44687644db9b1824f324416e98f4a46b3bb0a5ed09af54b2835b6facaa0cdd monero-gui-source-v0.18.4.3.tar.bz2 -# -# -# ~binaryFate ------BEGIN PGP SIGNATURE----- - -iQIzBAEBCAAdFiEEgaxZH+nEtlxYBq/D8K9NRioL35IFAmjntxwACgkQ8K9NRioL -35J57g//dUOY1KAoLNaV7XLJyGbNk1lT6c2+A8h1wkK6iNQhXsmnc6rcigsHXrG0 -LQyVUuZJ6ELhNb6BnH5V0zbcB72t8XjkSEqlYhStUfMnaUvj1VdXtL/OnSs3fEvt -Zwz6QBTxIKDDYEYyXrvCK96cYaYlIOgK3IVn/zoHdrHRUqTXqRJkFoTHum5l783y -vr9BwMFFWYePUrilphjIiLyJDl+eB5al8PaJkqK2whxBUHoA2jF1edJOSq2mZajI -+L2fBYClePS8oqwoKGquqCh2RVcmdtXtQTVzRIoNx14qFzP8ymqa+6z1Ygkri7bV -qMCJk7KQ8ND7uU9NShpaCIqrZpr5GZ4Al6SRkcpK/7mipQcy2QpKJR3iOpcfiTX1 -YmYGVmLB3zmHu2kiS0kogZv6Ob7+tVFzOQ8NZX4FVnpB0N0phqMfNFOfHzdQZrsZ -qg29HNc9sHlUmsOVmE5w+7Oq+s79yvQB3034XXi/9wQu+f8fKRhqZboe0fe77FLf -QXoAYrZZ7LnGz0Z75Q9O4RB7uxM0Ug5imvyEFus4iuBVyBWjgcfyLnbkKJtbXmfn -BZBbTProhPJfVa/VffBxW9HZB27W7O14oGWVpUkGWnVMZfVY/78XTUHwxaScQsPO -SGawjobQsB3pTMNr/kra1XTjkti70si8Fcs5ueYWGB3yfc6r3hU= -=5HRY ------END PGP SIGNATURE----- diff --git a/orchestration/dev/networks/monero/hashes-v0.18.4.4.txt b/orchestration/dev/networks/monero/hashes-v0.18.4.4.txt new file mode 100644 index 00000000..0e62e2e7 --- /dev/null +++ b/orchestration/dev/networks/monero/hashes-v0.18.4.4.txt @@ -0,0 +1,50 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +# This GPG-signed message exists to confirm the SHA256 sums of Monero binaries. +# +# Please verify the signature against the key for binaryFate in the +# source code repository (/utils/gpg_keys). +# +# +## CLI +7c2ad18ca3a1ad5bc603630ca935a753537a38a803e98d645edd6a3b94a5f036 monero-android-armv7-v0.18.4.4.tar.bz2 +eb81b71f029884ab5fec76597be583982c95fd7dc3fc5f5083a422669cee311e monero-android-armv8-v0.18.4.4.tar.bz2 +bc539178df23d1ae8b69569d9c328b5438ae585c0aacbebe12d8e7d387a745b0 monero-freebsd-x64-v0.18.4.4.tar.bz2 +2040dc22748ef39ed8a755324d2515261b65315c67b91f449fa1617c5978910b monero-linux-armv7-v0.18.4.4.tar.bz2 +b9daede195a24bdd05bba68cb5cb21e42c2e18b82d4d134850408078a44231c5 monero-linux-armv8-v0.18.4.4.tar.bz2 +c939ea6e8002798f24a56ac03cbfc4ff586f70d7d9c3321b7794b3bcd1fa4c45 monero-linux-riscv64-v0.18.4.4.tar.bz2 +7fe45ee9aade429ccdcfcad93b905ba45da5d3b46d2dc8c6d5afc48bd9e7f108 monero-linux-x64-v0.18.4.4.tar.bz2 +8c174b756e104534f3d3a69fe68af66d6dc4d66afa97dfe31735f8d069d20570 monero-linux-x86-v0.18.4.4.tar.bz2 +645e9bbae0275f555b2d72a9aa30d5f382df787ca9528d531521750ce2da9768 monero-mac-armv8-v0.18.4.4.tar.bz2 +af3d98f09da94632db3e2f53c62cc612e70bf94aa5942d2a5200b4393cd9c842 monero-mac-x64-v0.18.4.4.tar.bz2 +7eb3b87a105b3711361dd2b3e492ad14219d21ed8fd3dd726573a6cbd96e83a6 monero-win-x64-v0.18.4.4.zip +a148a2bd2b14183fb36e2cf917fce6f33fb687564db2ed53193b8432097ab398 monero-win-x86-v0.18.4.4.zip +84570eee26238d8f686605b5e31d59569488a3406f32e7045852de91f35508a2 monero-source-v0.18.4.4.tar.bz2 +# +## GUI +4c81c8e97bd542daa453776d888557db1ceb2a718d43f6135ad68b12c8119948 monero-gui-install-win-x64-v0.18.4.4.exe +e45cb3fa9d972d67628cfed6463fb7604ae1414a11ba449f5e2f901c769ac788 monero-gui-linux-x64-v0.18.4.4.tar.bz2 +a6f071719c401df339dba2d43ec6fffe103fda3e1df46f354b2496f34bb61cc4 monero-gui-mac-armv8-v0.18.4.4.dmg +811df70811a25f31289f24ebc0edc8f7648670384698d4c768bac5c2acbf2026 monero-gui-mac-x64-v0.18.4.4.dmg +b96faa56aa77cabed1f31f3fc9496e756a8da8c1124da2b9cb0b3730a8b6fbd9 monero-gui-win-x64-v0.18.4.4.zip +a7f6b91bc9efaa83173a397614626bf7612123e0017a48f66137ac397f7d19f8 monero-gui-source-v0.18.4.4.tar.bz2 +# +# +# ~binaryFate +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCAAdFiEEgaxZH+nEtlxYBq/D8K9NRioL35IFAmkbGLgACgkQ8K9NRioL +35LWYRAAnPeUu7TADV9Nly2gBlwu7bMK6l7pcUzs3hHhCMpg/Zb7wF8lx4D/r/hT +3wf3gNVK6tYl5GMPpF7GSKvK35SSzNN+8khRd7vhRByG75LGLnrNlcBsQU2wOzUv +Rmm2R8L8GP0B/+zXO92uJDMZ7Q7x72O+3fVX05217HBwz2kvzE1NpXe+EJPnUukA +Tr5CRnxKhxPbilvIhoEHdwkScMZqHMfsbdrefrB3KpO3xEaUz+gO9wESp7nzr4vp +Du6gJYBPK25Z2heZHCRsGN4WQP4QQv4MC0IFczc9fkVDBjywsJeNRRUbGtxR/BNt +vNJGI/kS+7KV140j6GkqAh/leZcaVJ5LRyCaHAwEQNA2T5okhrM0WZpoOAsZMi5K +bW4lNOXfWSw6/tokEPeuoi49yw0f9z0C8a4VLNOZGWKqmHcsA8WE6oVfmvVk6xWu +BqTU1Z9LJqL17GWRAReSX1ZuNA0Q0Pb/klUwP4X2afJcCVZ2YeBNr4jr21u3dYXY +QiLj0Gv7gg7a/GiMpVglNn5GzCu6mT0D94sbMNK+U5Tbve7aOtijJZ8JR62eO/mR +h+oNEys/xEcP9PQ5p74cNL71hNSfWSOcNi+GLSgXC75vsOGr7i96uaamilsHnsYB +p8PZMHzOf1pi6i/L5oOEuRgaujd9IjyCbxoYh3bbxxjBOhNEMqU= +=CVLA +-----END PGP SIGNATURE----- diff --git a/orchestration/runtime/Dockerfile b/orchestration/runtime/Dockerfile index a6856b4f..787f24a7 100644 --- a/orchestration/runtime/Dockerfile +++ b/orchestration/runtime/Dockerfile @@ -1,11 +1,32 @@ +#check=skip=FromPlatformFlagConstDisallowed +# We want to explicitly set the platform to ensure a constant host environment + # rust:1.91.1-alpine as of November 11th, 2025 (GMT) -FROM --platform=linux/amd64 rust@sha256:700c0959b23445f69c82676b72caa97ca4359decd075dca55b13339df27dc4d3 AS deterministic +FROM --platform=linux/amd64 rust@sha256:700c0959b23445f69c82676b72caa97ca4359decd075dca55b13339df27dc4d3 -# Add the wasm toolchain +# In order to compile the runtime, including the `proc-macro`s and build scripts, we need the +# required development libraries. These are traditionally provided by `musl-dev` which is not +# inherently included with this image (https://github.com/rust-lang/docker-rust/issues/68). While we +# could install it here, we'd be unable to pin the installed package by its hash as desired. +# +# Rust does have self-contained libraries, intended to be used when the desired development files +# are not otherwise available. These can be enabled with `link-self-contained=yes`. Unfortunately, +# this doesn't work here (https://github.com/rust-lang/rust/issues/149371). +# +# While we can't set `link-self-contained=yes`, we can install Rust's self-contained libraries onto +# our system so they're generally available. +RUN echo '#!/bin/sh' > libs.sh +RUN echo 'set -e' >> libs.sh +RUN echo 'SYSROOT=$(rustc --print sysroot)' >> libs.sh +RUN echo 'LIBS=$SYSROOT/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained' >> libs.sh +RUN echo 'ln -s $LIBS/Scrt1.o $LIBS/crti.o $LIBS/crtn.o /usr/lib' >> libs.sh +# We also need `libc.so` which is already present on the system, just not under that name +RUN echo 'ln -s /lib/libc.musl-x86_64.so.1 /usr/lib/libc.so' >> libs.sh +RUN /bin/sh ./libs.sh + +# Add the WASM toolchain RUN rustup target add wasm32v1-none -FROM deterministic - # Add files for build ADD patches /serai/patches ADD common /serai/common @@ -25,32 +46,8 @@ ADD AGPL-3.0 /serai WORKDIR /serai -# `proc-macro`s are difficult here on Alpine, with `musl`. Rust expects to be able to build the -# `proc-macro`s into dynamic libraries, which requires setting `target-feature=-crt-static` -# (disabling static linking). This will become the default at some point in the future -# (https://github.com/rust-lang/compiler-time/issues/422). -# -# While this is fine, Rust/musl will expect to be able to link `crti.o` into the built -# `proc-macro`s. `crti.o` would be provided by the `musl-dev` package which Rust's docker images do -# not include by default (https://github.com/rust-lang/docker-rust/issues/68). While we could add it -# ourselves, we cannot do so _while pinning by a hash_. We'd have to pin it by its version tag. -# -# Rust does provide `crti.o` as part of its self-contained builds. We cannot use -# `link-self-contained=yes` here however, as that would link `musl` into the `proc-macro`s and -# `musl` may only be linked once into a running program -# (https://github.com/rust-lang/rust/issues/149371). -# -# While we can't use self-contained builds, we can use the libraries shipped for self-contained -# builds. We do so here, adding Rust's libraries to the linker's search path, making `crti.o` -# available without adding `musl-dev`. -RUN echo 'SYSROOT=$(rustc --print sysroot)' >> libs.sh -RUN echo 'LIBS=$SYSROOT/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained' >> libs.sh -RUN echo 'ln -s $LIBS/Scrt1.o $LIBS/crti.o $LIBS/crtn.o /usr/lib' >> libs.sh -# For `libc`, we need a shared library, not a static archive, so we convert it now -RUN echo 'gcc -shared -o /usr/lib/libc.so -L$LIBS -Wl,--whole-archive -lc -Wl,--no-whole-archive -nodefaultlibs' >> libs.sh -RUN /bin/sh ./libs.sh +# Build the runtime +RUN cargo build --release -p serai-runtime -ENV RUSTFLAGS="-Ctarget-feature=-crt-static" -CMD cargo build --release -p serai-runtime && \ - mkdir -p /volume && \ - cp /serai/target/release/wbuild/serai-runtime/serai_runtime.wasm /volume/serai.wasm +# Copy the runtime to the provided volume +CMD ["cp", "/serai/target/release/wbuild/serai-runtime/serai_runtime.wasm", "/volume/serai.wasm"] diff --git a/orchestration/src/coordinator.rs b/orchestration/src/coordinator.rs index 8f7d4b83..94809adb 100644 --- a/orchestration/src/coordinator.rs +++ b/orchestration/src/coordinator.rs @@ -16,7 +16,7 @@ pub fn coordinator( ) { let db = network.db(); let longer_reattempts = if network == Network::Dev { "longer-reattempts" } else { "" }; - let setup = mimalloc(Os::Debian).to_string() + + let setup = mimalloc(Os::Debian) + &build_serai_service( "", Os::Debian, diff --git a/orchestration/src/ethereum_relayer.rs b/orchestration/src/ethereum_relayer.rs index a90ad4a6..3ae4734e 100644 --- a/orchestration/src/ethereum_relayer.rs +++ b/orchestration/src/ethereum_relayer.rs @@ -3,7 +3,7 @@ use std::path::Path; use crate::{Network, Os, mimalloc, os, build_serai_service, write_dockerfile}; pub fn ethereum_relayer(orchestration_path: &Path, network: Network) { - let setup = mimalloc(Os::Debian).to_string() + + let setup = mimalloc(Os::Debian) + &build_serai_service( "", Os::Debian, diff --git a/orchestration/src/message_queue.rs b/orchestration/src/message_queue.rs index d411af9d..c3276d65 100644 --- a/orchestration/src/message_queue.rs +++ b/orchestration/src/message_queue.rs @@ -13,7 +13,7 @@ pub fn message_queue( ethereum_key: ::G, monero_key: ::G, ) { - let setup = mimalloc(Os::Alpine).to_string() + + let setup = mimalloc(Os::Alpine) + &build_serai_service("", Os::Alpine, network.release(), network.db(), "serai-message-queue"); let env_vars = [ diff --git a/orchestration/src/mimalloc.rs b/orchestration/src/mimalloc.rs index 5e8bcbff..ce3ab170 100644 --- a/orchestration/src/mimalloc.rs +++ b/orchestration/src/mimalloc.rs @@ -1,36 +1,85 @@ use crate::Os; -pub fn mimalloc(os: Os) -> &'static str { - const ALPINE_MIMALLOC: &str = r#" +// 2.2.4 +const MIMALLOC_VERSION: &str = "fbd8b99c2b828428947d70fdc046bb55609be93e"; +const FLAGS: &str = + "-DMI_SECURE=ON -DMI_GUARDED=ON -DMI_BUILD_STATIC=OFF -DMI_BUILD_OBJECT=OFF -DMI_BUILD_TESTS=OFF"; + +pub fn mimalloc(os: Os) -> String { + let build_script = |env, flags| { + format!( + r#" +#!/bin/sh +set -e + +git clone https://github.com/microsoft/mimalloc +cd mimalloc +git checkout {MIMALLOC_VERSION} + +# For some reason, `mimalloc` contains binary blobs in the repository, so we remove those now +rm -rf .git ./bin + +mkdir -p out/secure +cd out/secure + +# `CMakeLists.txt` requires a C++ compiler but `mimalloc` does not use one by default. We claim +# there is a working C++ compiler so CMake doesn't complain, allowing us to not unnecessarily +# install one. If it was ever invoked, our choice of `false` would immediately let us know. +# https://github.com/microsoft/mimalloc/issues/1179 +{env} CXX=false cmake -DCMAKE_CXX_COMPILER_WORKS=1 {FLAGS} ../.. +make + +cd ../.. + +# Copy the built library to the original directory +cd .. +cp mimalloc/out/secure/libmimalloc-secure.so ./libmimalloc.so +# Clean up the source directory +rm -rf ./mimalloc + "# + ) + }; + + let build_commands = |env, flags| { + let mut result = String::new(); + for line in build_script(env, flags) + .lines() + .map(|line| { + assert!(!line.contains('"')); + format!(r#"RUN echo "{line}" >> ./mimalloc.sh"#) + }) + .chain(["RUN /bin/sh ./mimalloc.sh", "RUN rm ./mimalloc.sh"].into_iter().map(str::to_string)) + { + result.push_str(&line); + result.push('\n'); + } + result + }; + let alpine_build = build_commands("CC=$(uname -m)-alpine-linux-musl-gcc", "-DMI_LIBC_MUSL=ON"); + let debian_build = build_commands("", ""); + + let alpine_mimalloc = format!( + r#" FROM alpine:latest AS mimalloc-alpine -RUN apk update && apk upgrade && apk --no-cache add gcc g++ libc-dev make cmake git -RUN git clone https://github.com/microsoft/mimalloc && \ - cd mimalloc && \ - git checkout fbd8b99c2b828428947d70fdc046bb55609be93e && \ - mkdir -p out/secure && \ - cd out/secure && \ - cmake -DMI_SECURE=ON -DMI_GUARDED=on ../.. && \ - make && \ - cp ./libmimalloc-secure.so ../../../libmimalloc.so -"#; +RUN apk update && apk upgrade && apk --no-cache add musl-dev gcc make cmake git - const DEBIAN_MIMALLOC: &str = r#" +{alpine_build} +"# + ); + + let debian_mimalloc = format!( + r#" FROM debian:trixie-slim AS mimalloc-debian -RUN apt update && apt upgrade -y && apt install -y gcc g++ make cmake git -RUN git clone https://github.com/microsoft/mimalloc && \ - cd mimalloc && \ - git checkout fbd8b99c2b828428947d70fdc046bb55609be93e && \ - mkdir -p out/secure && \ - cd out/secure && \ - cmake -DMI_SECURE=ON -DMI_GUARDED=on ../.. && \ - make && \ - cp ./libmimalloc-secure.so ../../../libmimalloc.so -"#; +RUN apt update && apt upgrade -y && apt install -y gcc make cmake git + +{debian_build} +"# + ); match os { - Os::Alpine => ALPINE_MIMALLOC, - Os::Debian => DEBIAN_MIMALLOC, + Os::Alpine => alpine_mimalloc, + Os::Debian => debian_mimalloc, } } diff --git a/orchestration/src/networks/bitcoin.rs b/orchestration/src/networks/bitcoin.rs index 38a2072d..c98f383c 100644 --- a/orchestration/src/networks/bitcoin.rs +++ b/orchestration/src/networks/bitcoin.rs @@ -29,7 +29,7 @@ RUN tar xzvf bitcoin-${BITCOIN_VERSION}-$(uname -m)-linux-gnu.tar.gz RUN mv bitcoin-${BITCOIN_VERSION}/bin/bitcoind . "#; - let setup = mimalloc(Os::Debian).to_string() + DOWNLOAD_BITCOIN; + let setup = mimalloc(Os::Debian) + DOWNLOAD_BITCOIN; let run_bitcoin = format!( r#" diff --git a/orchestration/src/networks/ethereum/mod.rs b/orchestration/src/networks/ethereum/mod.rs index 8b5c5a85..cc0ad52d 100644 --- a/orchestration/src/networks/ethereum/mod.rs +++ b/orchestration/src/networks/ethereum/mod.rs @@ -17,7 +17,7 @@ pub fn ethereum(orchestration_path: &Path, network: Network) { (reth(network), nimbus(network)) }; - let download = mimalloc(Os::Alpine).to_string() + &el_download + &cl_download; + let download = mimalloc(Os::Alpine) + &el_download + &cl_download; let run = format!( r#" @@ -26,7 +26,7 @@ CMD ["/run.sh"] "#, network.label() ); - let run = mimalloc(Os::Debian).to_string() + + let run = mimalloc(Os::Debian) + &os(Os::Debian, &(el_run_as_root + "\r\n" + &cl_run_as_root), "ethereum") + &el_run + &cl_run + diff --git a/orchestration/src/networks/monero.rs b/orchestration/src/networks/monero.rs index 14eaa632..e5005aae 100644 --- a/orchestration/src/networks/monero.rs +++ b/orchestration/src/networks/monero.rs @@ -10,7 +10,7 @@ fn monero_internal( monero_binary: &str, ports: &str, ) { - const MONERO_VERSION: &str = "0.18.4.3"; + const MONERO_VERSION: &str = "0.18.4.4"; let arch = match std::env::consts::ARCH { // We probably would run this without issues yet it's not worth needing to provide support for @@ -41,7 +41,7 @@ RUN tar -xvjf monero-linux-{arch}-v{MONERO_VERSION}.tar.bz2 --strip-components=1 network.label(), ); - let setup = mimalloc(os).to_string() + &download_monero; + let setup = mimalloc(os) + &download_monero; let run_monero = format!( r#" diff --git a/orchestration/src/processor.rs b/orchestration/src/processor.rs index 58bdf185..74061ebd 100644 --- a/orchestration/src/processor.rs +++ b/orchestration/src/processor.rs @@ -17,7 +17,7 @@ pub fn processor( substrate_evrf_key: Zeroizing>, network_evrf_key: Zeroizing>, ) { - let setup = mimalloc(Os::Debian).to_string() + + let setup = mimalloc(Os::Debian) + &build_serai_service( if coin == "ethereum" { r#" diff --git a/orchestration/src/serai.rs b/orchestration/src/serai.rs index c4e7cc75..e592c112 100644 --- a/orchestration/src/serai.rs +++ b/orchestration/src/serai.rs @@ -12,8 +12,7 @@ pub fn serai( serai_key: &Zeroizing<::F>, ) { // Always builds in release for performance reasons - let setup = - mimalloc(Os::Debian).to_string() + &build_serai_service("", Os::Debian, true, "", "serai-node"); + let setup = mimalloc(Os::Debian) + &build_serai_service("", Os::Debian, true, "", "serai-node"); let env_vars = [("KEY", hex::encode(serai_key.to_repr()))]; let mut env_vars_str = String::new(); diff --git a/patches/kvdb-rocksdb/Cargo.toml b/patches/kvdb-rocksdb/Cargo.toml new file mode 100644 index 00000000..5b2972cf --- /dev/null +++ b/patches/kvdb-rocksdb/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "kvdb-rocksdb" +version = "0.20.99" +description = "Replacement for `kvdb-rocksdb` which removes the `jemalloc` feature" +license = "MIT" +repository = "https://github.com/serai-dex/serai/tree/develop/patches/kvdb-rocksdb" +authors = ["Luke Parker "] +edition = "2021" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[workspace] + +[dependencies] +kvdb-rocksdb = { version = "0.21", default-features = false } + +[features] +jemalloc = [] diff --git a/patches/kvdb-rocksdb/src/lib.rs b/patches/kvdb-rocksdb/src/lib.rs new file mode 100644 index 00000000..5cd9b458 --- /dev/null +++ b/patches/kvdb-rocksdb/src/lib.rs @@ -0,0 +1 @@ +pub use kvdb_rocksdb::*; diff --git a/patches/librocksdb-sys/Cargo.toml b/patches/librocksdb-sys/Cargo.toml deleted file mode 100644 index 6a3175ff..00000000 --- a/patches/librocksdb-sys/Cargo.toml +++ /dev/null @@ -1,35 +0,0 @@ -[package] -name = "librocksdb-sys" -version = "0.17.99" -description = "Replacement for `librocksdb-sys` which removes the `jemalloc` feature" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/librocksdb-sys" -authors = ["Luke Parker "] -keywords = [] -edition = "2018" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[workspace] - -[dependencies] -# librocksdb-sys 0.17.3+10.4.2, with the commit provided by crates.io in `cargo_vcs_info.json` -librocksdb-sys = { git = "https://github.com/rust-rocksdb/rust-rocksdb", commit = "bb7d2168eab1bc7849f23adbcb825e3aba1bd2f4", default-features = false } - -[features] -default = ["librocksdb-sys/default"] -jemalloc = [] -static = ["librocksdb-sys/static"] -bindgen-runtime = ["librocksdb-sys/bindgen-runtime"] -bindgen-static = ["librocksdb-sys/bindgen-static"] -mt_static = ["librocksdb-sys/mt_static"] -io-uring = ["librocksdb-sys/io-uring"] -snappy = ["librocksdb-sys/snappy"] -lz4 = ["librocksdb-sys/lz4"] -zstd = ["librocksdb-sys/zstd"] -zlib = ["librocksdb-sys/zlib"] -bzip2 = ["librocksdb-sys/bzip2"] -rtti = ["librocksdb-sys/rtti"] -lto = ["librocksdb-sys/lto"] diff --git a/patches/librocksdb-sys/src/lib.rs b/patches/librocksdb-sys/src/lib.rs deleted file mode 100644 index 3178f28e..00000000 --- a/patches/librocksdb-sys/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use librocksdb_sys::*; diff --git a/substrate/abi/Cargo.toml b/substrate/abi/Cargo.toml index 6900ca75..d4ac2301 100644 --- a/substrate/abi/Cargo.toml +++ b/substrate/abi/Cargo.toml @@ -22,12 +22,12 @@ workspace = true borsh = { version = "1", default-features = false, features = ["derive", "de_strict_order"] } bitvec = { version = "1", default-features = false, features = ["alloc"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serde = { version = "1", default-features = false, features = ["derive"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"], optional = true } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, features = ["serde"], optional = true } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, optional = true } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, features = ["serde"], optional = true } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, optional = true } serai-primitives = { path = "../primitives", version = "0.1", default-features = false } diff --git a/substrate/client/serai/Cargo.toml b/substrate/client/serai/Cargo.toml index 3cbedb6c..a8779ba7 100644 --- a/substrate/client/serai/Cargo.toml +++ b/substrate/client/serai/Cargo.toml @@ -30,7 +30,7 @@ serai-abi = { path = "../../abi", version = "0.1", default-features = false, fea [dev-dependencies] blake2 = { version = "0.11.0-rc.3", default-features = false } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } tokio = { version = "1", default-features = false, features = ["rt", "macros"] } dockertest = "0.5" diff --git a/substrate/coins/Cargo.toml b/substrate/coins/Cargo.toml index 8bd04d57..a740c8b9 100644 --- a/substrate/coins/Cargo.toml +++ b/substrate/coins/Cargo.toml @@ -18,10 +18,10 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["substrate"] } serai-core-pallet = { path = "../core", default-features = false } @@ -29,9 +29,9 @@ serai-core-pallet = { path = "../core", default-features = false } [dev-dependencies] borsh = { version = "1", default-features = false, features = ["std", "derive", "de_strict_order"] } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, features = ["std"] } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, features = ["std"] } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, features = ["std"] } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, features = ["std"] } [features] std = [ diff --git a/substrate/core/Cargo.toml b/substrate/core/Cargo.toml index f2ae8aa5..35e8eb94 100644 --- a/substrate/core/Cargo.toml +++ b/substrate/core/Cargo.toml @@ -20,12 +20,12 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["substrate"] } diff --git a/substrate/dex/Cargo.toml b/substrate/dex/Cargo.toml index 7d356fc8..f490cde0 100644 --- a/substrate/dex/Cargo.toml +++ b/substrate/dex/Cargo.toml @@ -18,10 +18,10 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } substrate-median = { path = "../median", default-features = false } @@ -32,9 +32,9 @@ serai-coins-pallet = { path = "../coins", default-features = false } [dev-dependencies] borsh = { version = "1", default-features = false, features = ["std", "derive", "de_strict_order"] } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, features = ["std"] } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, features = ["std"] } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false, features = ["std"] } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false, features = ["std"] } [features] std = [ diff --git a/substrate/economic-security/Cargo.toml b/substrate/economic-security/Cargo.toml index fdd00d11..0977609a 100644 --- a/substrate/economic-security/Cargo.toml +++ b/substrate/economic-security/Cargo.toml @@ -21,8 +21,8 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } dex-pallet = { package = "serai-dex-pallet", path = "../dex", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../coins", default-features = false } @@ -30,16 +30,16 @@ coins-pallet = { package = "serai-coins-pallet", path = "../coins", default-feat serai-primitives = { path = "../primitives", default-features = false } [dev-dependencies] -pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } validator-sets-pallet = { package = "serai-validator-sets-pallet", path = "../validator-sets", default-features = false } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } [features] std = [ diff --git a/substrate/emissions/Cargo.toml b/substrate/emissions/Cargo.toml index 7115d304..2bf244be 100644 --- a/substrate/emissions/Cargo.toml +++ b/substrate/emissions/Cargo.toml @@ -21,11 +21,11 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../coins", default-features = false } validator-sets-pallet = { package = "serai-validator-sets-pallet", path = "../validator-sets", default-features = false } diff --git a/substrate/genesis-liquidity/Cargo.toml b/substrate/genesis-liquidity/Cargo.toml index 9c7034e5..c491f557 100644 --- a/substrate/genesis-liquidity/Cargo.toml +++ b/substrate/genesis-liquidity/Cargo.toml @@ -21,12 +21,12 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } dex-pallet = { package = "serai-dex-pallet", path = "../dex", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../coins", default-features = false } diff --git a/substrate/in-instructions/Cargo.toml b/substrate/in-instructions/Cargo.toml index cdf93ec7..0f32921e 100644 --- a/substrate/in-instructions/Cargo.toml +++ b/substrate/in-instructions/Cargo.toml @@ -24,14 +24,14 @@ bitvec = { version = "1", default-features = false, features = ["alloc"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "max-encoded-len"] } -sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-primitives = { path = "../primitives", default-features = false } @@ -42,9 +42,9 @@ genesis-liquidity-pallet = { package = "serai-genesis-liquidity-pallet", path = emissions-pallet = { package = "serai-emissions-pallet", path = "../emissions", default-features = false } [dev-dependencies] -pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } economic-security-pallet = { package = "serai-economic-security-pallet", path = "../economic-security", default-features = false } diff --git a/substrate/median/Cargo.toml b/substrate/median/Cargo.toml index 39fc6fbc..f8e7e2be 100644 --- a/substrate/median/Cargo.toml +++ b/substrate/median/Cargo.toml @@ -17,11 +17,11 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } [dev-dependencies] rand_core = { version = "0.6", default-features = false, features = ["std"] } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } [features] std = ["scale/std", "frame-support/std"] diff --git a/substrate/node/Cargo.toml b/substrate/node/Cargo.toml index 58b0916b..f99503e6 100644 --- a/substrate/node/Cargo.toml +++ b/substrate/node/Cargo.toml @@ -34,20 +34,20 @@ secq256k1 = { path = "../../crypto/secq256k1" } libp2p = "0.56" -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-inherents = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-blockchain = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-consensus = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-state-machine = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-keystore = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-inherents = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-blockchain = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-consensus = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-state-machine = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-keystore = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } -frame-benchmarking = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +frame-benchmarking = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } serai-abi = { path = "../abi", features = ["std", "substrate"] } serai-runtime = { path = "../runtime", features = ["std"] } @@ -59,24 +59,24 @@ futures-util = "0.3" tokio = { version = "1", features = ["sync", "rt-multi-thread"] } jsonrpsee = { version = "0.24", features = ["server"] } -sc-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-transaction-pool-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-basic-authorship = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-client-db = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-executor = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-service = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-client-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-network = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +sc-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-transaction-pool-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-basic-authorship = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-client-db = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-executor = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-service = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-client-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-network = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } -sc-consensus = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-consensus-slots = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +sc-consensus = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-consensus-slots = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } -sc-telemetry = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-chain-spec = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } -sc-cli = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +sc-telemetry = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-chain-spec = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } +sc-cli = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } serai-env = { path = "../../common/env" } diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 0f1f9fb3..c210f9b9 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -23,7 +23,7 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str bitvec = { version = "1", default-features = false, features = ["alloc"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"], optional = true } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } ciphersuite = { path = "../../crypto/ciphersuite", default-features = false, features = ["alloc"] } schnorr-signatures = { path = "../../crypto/schnorr", default-features = false } diff --git a/substrate/runtime/Cargo.toml b/substrate/runtime/Cargo.toml index 6c2097b7..921f0d30 100644 --- a/substrate/runtime/Cargo.toml +++ b/substrate/runtime/Cargo.toml @@ -20,34 +20,34 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -sp-version = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-version = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-inherents = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-inherents = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["substrate"] } [target.'cfg(target_family = "wasm")'.dependencies] borsh = { version = "1", default-features = false } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-executive = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-executive = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-core-pallet = { path = "../core", default-features = false } serai-coins-pallet = { path = "../coins", default-features = false } @@ -56,7 +56,7 @@ serai-signals-pallet = { path = "../signals", default-features = false } serai-dex-pallet = { path = "../dex", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc" } +substrate-wasm-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk" } [features] std = [ diff --git a/substrate/runtime/src/wasm/mod.rs b/substrate/runtime/src/wasm/mod.rs index ff86b4fc..a3d12445 100644 --- a/substrate/runtime/src/wasm/mod.rs +++ b/substrate/runtime/src/wasm/mod.rs @@ -114,7 +114,6 @@ impl frame_system::Config for Runtime { type BlockLength = BlockLength; type RuntimeOrigin = RuntimeOrigin; type RuntimeCall = RuntimeCall; - type RuntimeTask = (); type Nonce = u32; type Hash = ::Hash; type Hashing = sp_runtime::traits::BlakeTwo256; diff --git a/substrate/signals/Cargo.toml b/substrate/signals/Cargo.toml index 683c4bf4..0a947fd9 100644 --- a/substrate/signals/Cargo.toml +++ b/substrate/signals/Cargo.toml @@ -21,10 +21,10 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["substrate"] } diff --git a/substrate/validator-sets/Cargo.toml b/substrate/validator-sets/Cargo.toml index bce0ae67..f9cd0e71 100644 --- a/substrate/validator-sets/Cargo.toml +++ b/substrate/validator-sets/Cargo.toml @@ -20,17 +20,17 @@ bitvec = { version = "1", default-features = false, features = ["alloc", "serde" scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "bit-vec"] } -sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } -pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "8c36534bb0bd5a02979f94bb913d11d55fe7eadc", default-features = false } +pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["substrate"] } diff --git a/tests/reproducible-runtime/Cargo.toml b/tests/reproducible-runtime/Cargo.toml index e51740f6..956fccc3 100644 --- a/tests/reproducible-runtime/Cargo.toml +++ b/tests/reproducible-runtime/Cargo.toml @@ -17,10 +17,5 @@ rustdoc-args = ["--cfg", "docsrs"] workspace = true [dependencies] -rand_core = "0.6" -hex = "0.4" - -dockertest = "0.5" -serai-docker-tests = { path = "../docker" } - -tokio = { version = "1", features = ["time"] } +rand_core = { version = "0.6", default-features = false, features = ["std"] } +hex = { version = "0.4", default-features = false, features = ["std"] } diff --git a/tests/reproducible-runtime/src/lib.rs b/tests/reproducible-runtime/src/lib.rs index 025039b7..e87734f2 100644 --- a/tests/reproducible-runtime/src/lib.rs +++ b/tests/reproducible-runtime/src/lib.rs @@ -1,101 +1,81 @@ #[test] pub fn reproducibly_builds() { - use std::{collections::HashSet, process::Command}; + use std::{collections::HashSet, path::PathBuf, process::Command}; use rand_core::{RngCore, OsRng}; - use dockertest::{PullPolicy, Image, TestBodySpecification, DockerTest}; - const RUNS: usize = 3; const TIMEOUT: u16 = 3 * 60 * 60; // 3 hours - serai_docker_tests::build("runtime".to_string()); - - let mut ids = vec![[0; 8]; RUNS]; - for id in &mut ids { - OsRng.fill_bytes(id); + let mut images = vec![]; + for _ in 0 .. RUNS { + let mut image = [0; 32]; + OsRng.fill_bytes(&mut image); + images.push(format!("runtime-{}", hex::encode(image))); } - let mut test = DockerTest::new().with_network(dockertest::Network::Isolated); - for id in &ids { - test.provide_container( - TestBodySpecification::with_image( - Image::with_repository("serai-dev-runtime").pull_policy(PullPolicy::Never), - ) - .set_handle(format!("runtime-build-{}", hex::encode(id))) - .replace_cmd(vec![ - "sh".to_string(), - "-c".to_string(), - // Sleep for a minute after building to prevent the container from closing before we - // retrieve the hash - "cd /serai/substrate/runtime && cargo clean && cargo build --release && - printf \"Runtime hash: \" > hash && - sha256sum /serai/target/release/wbuild/serai-runtime/serai_runtime.wasm >> hash && - cat hash && - sleep 60" - .to_string(), - ]), + let path = Command::new("cargo") + .arg("locate-project") + .arg("--workspace") + .arg("--message-format") + .arg("plain") + .output() + .unwrap(); + assert!(path.status.success()); + let mut path = PathBuf::from(String::from_utf8(path.stdout).unwrap().trim()); + assert_eq!(path.file_name().unwrap(), "Cargo.toml"); + assert!(path.pop()); + + let mut commands = vec![]; + for image in &images { + commands.push( + Command::new("docker") + .current_dir(&path) + .arg("build") + .arg("--progress") + .arg("plain") + .arg("--no-cache") + .arg("--file") + .arg("./orchestration/runtime/Dockerfile") + .arg("--tag") + .arg(image) + .arg(".") + .spawn() + .unwrap(), ); } - test.run(|_| async { - let ids = ids; - let mut containers = vec![]; - for container in String::from_utf8( - Command::new("docker").arg("ps").arg("--format").arg("{{.Names}}").output().unwrap().stdout, - ) - .expect("output wasn't utf-8") - .lines() - { - for id in &ids { - if container.contains(&hex::encode(id)) { - containers.push(container.trim().to_string()); - } - } + let mut outputs = vec![]; + for (image, mut command) in images.into_iter().zip(commands) { + assert!(command.wait().unwrap().success()); + outputs.push( + Command::new("docker") + .arg("run") + .arg("--quiet") + .arg("--rm") + .arg(&image) + .arg("sha256sum") + .arg("/serai/target/release/wbuild/serai-runtime/serai_runtime.wasm") + .output(), + ); + // Attempt to clean up the image + let _ = Command::new("docker").arg("rmi").arg(&image).output(); + } + + let mut expected = None; + for output in outputs { + let output = output.unwrap(); + assert!(output.status.success()); + if expected.is_none() { + expected = Some(output.stdout.clone()); } - assert_eq!(containers.len(), RUNS, "couldn't find all containers"); + assert_eq!(expected, Some(output.stdout)); + } - let mut res = vec![None; RUNS]; - 'attempt: for _ in 0 .. (TIMEOUT / 10) { - tokio::time::sleep(core::time::Duration::from_secs(10)).await; - - 'runner: for (i, container) in containers.iter().enumerate() { - if res[i].is_some() { - continue; - } - - let logs = Command::new("docker").arg("logs").arg(container).output().unwrap(); - let Some(last_log) = - std::str::from_utf8(&logs.stdout).expect("output wasn't utf-8").lines().last() - else { - continue 'runner; - }; - - let split = last_log.split("Runtime hash: ").collect::>(); - if split.len() == 2 { - res[i] = Some(split[1].to_string()); - continue 'runner; - } - } - - for item in &res { - if item.is_none() { - continue 'attempt; - } - } - break; - } - - // If we didn't get results from all runners, panic - for item in &res { - if item.is_none() { - panic!("couldn't get runtime hashes within allowed time"); - } - } - let mut identical = HashSet::new(); - for res in res.clone() { - identical.insert(res.unwrap()); - } - assert_eq!(identical.len(), 1, "got different runtime hashes {res:?}"); - }); + let result = String::from_utf8(expected.unwrap()).unwrap(); + let hash = result.split_whitespace().next().unwrap(); + // Check this appears to be a 32-byte hash (encoded as hex) + assert_eq!(hash.len(), 64); + hex::decode(hash).unwrap(); + println!("Hash: {hash}"); }