From 7a790f3a209aed9237c9abdde0b87cadd07f095d Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Sat, 23 Aug 2025 11:00:05 -0400 Subject: [PATCH 1/8] ff/alloc when ciphersuite/alloc --- crypto/ciphersuite/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/ciphersuite/Cargo.toml b/crypto/ciphersuite/Cargo.toml index f86155aa..5e69b454 100644 --- a/crypto/ciphersuite/Cargo.toml +++ b/crypto/ciphersuite/Cargo.toml @@ -38,7 +38,7 @@ rand_core = { version = "0.6", default-features = false, features = ["std"] } ff-group-tests = { version = "0.13", path = "../ff-group-tests" } [features] -alloc = ["std-shims"] +alloc = ["std-shims", "ff/alloc"] std = [ "std-shims/std", From f8adfb56ad30d736e918746ad4eaf0a914e3273d Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Tue, 26 Aug 2025 23:15:58 -0400 Subject: [PATCH 2/8] Remove unwrap within debug assertion --- crypto/dkg/musig/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/dkg/musig/src/lib.rs b/crypto/dkg/musig/src/lib.rs index 36f4fd31..93f5fad8 100644 --- a/crypto/dkg/musig/src/lib.rs +++ b/crypto/dkg/musig/src/lib.rs @@ -150,7 +150,7 @@ pub fn musig( } let group_key = multiexp::multiexp(&multiexp); debug_assert_eq!(our_pub_key, verification_shares[¶ms.i()]); - debug_assert_eq!(musig_key_vartime::(context, keys).unwrap(), group_key); + debug_assert_eq!(musig_key_vartime::(context, keys), Some(group_key)); ThresholdKeys::new( params, From 98b9cc82a7b962bf1327c3958089987834ebd52b Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Mon, 1 Sep 2025 15:42:47 -0400 Subject: [PATCH 3/8] Fix Some(_) which should be Ok(_) --- crypto/dkg/musig/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/dkg/musig/src/lib.rs b/crypto/dkg/musig/src/lib.rs index 93f5fad8..7a3cebde 100644 --- a/crypto/dkg/musig/src/lib.rs +++ b/crypto/dkg/musig/src/lib.rs @@ -150,7 +150,7 @@ pub fn musig( } let group_key = multiexp::multiexp(&multiexp); debug_assert_eq!(our_pub_key, verification_shares[¶ms.i()]); - debug_assert_eq!(musig_key_vartime::(context, keys), Some(group_key)); + debug_assert_eq!(musig_key_vartime::(context, keys), Ok(group_key)); ThresholdKeys::new( params, From 251996c1b0796b18695f94e84d52fa78ec1134c6 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Mon, 1 Sep 2025 15:46:04 -0400 Subject: [PATCH 4/8] Use `solc 0.8.26` `next` already does, and it's annoying to have to consistently switch between the two branches. --- .github/actions/build-dependencies/action.yml | 4 ++-- networks/ethereum/build.rs | 2 +- orchestration/src/processor.rs | 4 ++-- spec/Getting Started.md | 10 +--------- 4 files changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/actions/build-dependencies/action.yml b/.github/actions/build-dependencies/action.yml index c50ce6cf..bfc02a4c 100644 --- a/.github/actions/build-dependencies/action.yml +++ b/.github/actions/build-dependencies/action.yml @@ -44,8 +44,8 @@ runs: shell: bash run: | cargo +1.89 install svm-rs --version =0.5.18 - svm install 0.8.25 - svm use 0.8.25 + svm install 0.8.26 + svm use 0.8.26 - name: Remove preinstalled Docker shell: bash diff --git a/networks/ethereum/build.rs b/networks/ethereum/build.rs index 38fcfe00..435131be 100644 --- a/networks/ethereum/build.rs +++ b/networks/ethereum/build.rs @@ -10,7 +10,7 @@ fn main() { { if let Some(version) = line.strip_prefix("Version: ") { let version = version.split('+').next().unwrap(); - assert_eq!(version, "0.8.25"); + assert_eq!(version, "0.8.26"); } } diff --git a/orchestration/src/processor.rs b/orchestration/src/processor.rs index a16cd1fc..6375f27a 100644 --- a/orchestration/src/processor.rs +++ b/orchestration/src/processor.rs @@ -21,8 +21,8 @@ pub fn processor( if coin == "ethereum" { r#" RUN cargo install svm-rs -RUN svm install 0.8.25 -RUN svm use 0.8.25 +RUN svm install 0.8.26 +RUN svm use 0.8.26 "# } else { "" diff --git a/spec/Getting Started.md b/spec/Getting Started.md index 06a5cfb7..01d1e757 100644 --- a/spec/Getting Started.md +++ b/spec/Getting Started.md @@ -32,15 +32,7 @@ rustup toolchain install nightly rustup target add wasm32v1-none --toolchain nightly ``` -### Install Solidity - -``` -cargo install svm-rs -svm install 0.8.25 -svm use 0.8.25 -``` - -### Install Solidity Compiler Version Manager +### Install Solidity with `svm` ``` cargo install svm-rs From eaa9a0e5a63398f45256b6da7926ca166552e2d3 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Sat, 30 Aug 2025 15:48:56 -0400 Subject: [PATCH 5/8] Pin actions in the pages workflow --- .github/workflows/pages.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 069517c8..72691f20 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@v3 + uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Setup Ruby - uses: ruby/setup-ruby@v1 + uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb with: bundler-cache: true cache-version: 0 working-directory: "${{ github.workspace }}/docs" - name: Setup Pages id: pages - uses: actions/configure-pages@v3 + uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b - 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@v3 + uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b with: path: "docs/_site/" @@ -88,4 +88,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e From 568324f631f18189caf4efe2510cb860cce92c46 Mon Sep 17 00:00:00 2001 From: Mohan <86064887+binarybaron@users.noreply.github.com> Date: Mon, 1 Sep 2025 21:57:19 +0200 Subject: [PATCH 6/8] fix(spec): svm version mismatch in docs; document foundryup (#665) * fix(spec): Change svm version in docs to 0.8.26 * fix(spec): add instructions for using foundryup --- spec/Getting Started.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spec/Getting Started.md b/spec/Getting Started.md index 01d1e757..a2716582 100644 --- a/spec/Getting Started.md +++ b/spec/Getting Started.md @@ -36,14 +36,15 @@ rustup target add wasm32v1-none --toolchain nightly ``` cargo install svm-rs -svm install 0.8.25 -svm use 0.8.25 +svm install 0.8.26 +svm use 0.8.26 ``` ### Install foundry (for tests) ``` -cargo install --git https://github.com/foundry-rs/foundry --profile local --locked forge cast chisel anvil +curl -L https://foundry.paradigm.xyz | bash +foundryup ``` ### Clone and Build Serai From 7d54c02ec6182b6ddf3fa09c48961f12e2f08658 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Mon, 1 Sep 2025 16:48:34 -0400 Subject: [PATCH 7/8] Update to latest nightly Replaces #671 due to a lint being triggered. --- .github/nightly-version | 2 +- processor/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/nightly-version b/.github/nightly-version index 45e51c4c..10423e5c 100644 --- a/.github/nightly-version +++ b/.github/nightly-version @@ -1 +1 @@ -nightly-2025-08-01 +nightly-2025-09-01 diff --git a/processor/src/main.rs b/processor/src/main.rs index 98b09a06..6f4ca953 100644 --- a/processor/src/main.rs +++ b/processor/src/main.rs @@ -755,7 +755,7 @@ async fn main() { ExternalNetworkId::Ethereum => { let relayer_hostname = env::var("ETHEREUM_RELAYER_HOSTNAME") .expect("ethereum relayer hostname wasn't specified") - .to_string(); + .clone(); let relayer_port = env::var("ETHEREUM_RELAYER_PORT").expect("ethereum relayer port wasn't specified"); let relayer_url = relayer_hostname + ":" + &relayer_port; From 0066b94d38c34be3f407ee050e4f9340eb186258 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Mon, 1 Sep 2025 20:52:11 -0400 Subject: [PATCH 8/8] Update `substrate-wasm-builder` from `serai/polkadot-sdk` to `serai/patch-polkadot-sdk` Steps towards allowing us to delete the `serai/polkadot-sdk` repository. --- Cargo.lock | 58 ++++++++++++++++++------------------ deny.toml | 2 +- substrate/runtime/Cargo.toml | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4e3bec66..48360d40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2229,7 +2229,7 @@ dependencies = [ "borsh", "ciphersuite", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -2255,7 +2255,7 @@ dependencies = [ "multiexp", "rand_core", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -2272,7 +2272,7 @@ dependencies = [ "multiexp", "rand_core", "schnorr-signatures", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -2287,7 +2287,7 @@ dependencies = [ "dleq", "flexible-transcript", "rand_core", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -2297,7 +2297,7 @@ version = "0.6.0" dependencies = [ "ciphersuite", "dkg", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -2316,7 +2316,7 @@ dependencies = [ "multiexp", "rand_core", "rustversion", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -3494,7 +3494,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -4041,7 +4041,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -4918,7 +4918,7 @@ dependencies = [ "schnorr-signatures", "serde_json", "subtle", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -4930,7 +4930,7 @@ dependencies = [ "curve25519-dalek", "monero-base58", "monero-io", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -4966,7 +4966,7 @@ dependencies = [ "monero-primitives", "rand_core", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -4987,7 +4987,7 @@ dependencies = [ "rand_core", "std-shims", "subtle", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -5025,7 +5025,7 @@ dependencies = [ "monero-io", "monero-primitives", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -5072,7 +5072,7 @@ dependencies = [ "serde", "serde_json", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -5108,7 +5108,7 @@ dependencies = [ "rand_core", "rand_distr", "std-shims", - "thiserror 2.0.14", + "thiserror 2.0.16", "zeroize", ] @@ -9368,10 +9368,10 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/serai-dex/polkadot-sdk?branch=serai-next#ebfc5f338a9752403fa07e88dd072b1d6de7acfc" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=19c487d6aa9893b6b09a21ce0ab8aefb1c299186#19c487d6aa9893b6b09a21ce0ab8aefb1c299186" dependencies = [ - "thiserror 2.0.14", - "zstd 0.13.2", + "thiserror 2.0.16", + "zstd 0.13.3", ] [[package]] @@ -9878,8 +9878,8 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "25.0.0" -source = "git+https://github.com/serai-dex/polkadot-sdk?branch=serai-next#ebfc5f338a9752403fa07e88dd072b1d6de7acfc" +version = "26.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=19c487d6aa9893b6b09a21ce0ab8aefb1c299186#19c487d6aa9893b6b09a21ce0ab8aefb1c299186" dependencies = [ "build-helper", "cargo_metadata", @@ -10053,11 +10053,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.14", + "thiserror-impl 2.0.16", ] [[package]] @@ -10073,9 +10073,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", @@ -11221,7 +11221,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -11584,7 +11584,7 @@ dependencies = [ name = "zstd" version = "0.11.2+zstd.1.5.2" dependencies = [ - "zstd 0.13.2", + "zstd 0.13.3", ] [[package]] @@ -11598,9 +11598,9 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe 7.2.1", ] diff --git a/deny.toml b/deny.toml index cc2f2c3d..f997a732 100644 --- a/deny.toml +++ b/deny.toml @@ -106,5 +106,5 @@ allow-git = [ "https://github.com/monero-oxide/monero-oxide", "https://github.com/serai-dex/substrate-bip39", "https://github.com/serai-dex/substrate", - "https://github.com/serai-dex/polkadot-sdk", + "https://github.com/serai-dex/patch-polkadot-sdk", ] diff --git a/substrate/runtime/Cargo.toml b/substrate/runtime/Cargo.toml index 97e7d42c..861402d6 100644 --- a/substrate/runtime/Cargo.toml +++ b/substrate/runtime/Cargo.toml @@ -76,7 +76,7 @@ frame-system-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/serai-dex/polkadot-sdk", branch = "serai-next" } +substrate-wasm-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "19c487d6aa9893b6b09a21ce0ab8aefb1c299186" } [features] std = [