From 7b07846203ebaeabbbca568afddaf06b1190828b Mon Sep 17 00:00:00 2001 From: Jon C Date: Tue, 13 Oct 2026 21:14:57 +0200 Subject: [PATCH 1/3] deps: Bump quinn-proto for RUSTSEC advisory --- Cargo.lock | 89 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 78 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0f40df2b..7d8ab9ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,7 +36,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.16", ] [[package]] @@ -1101,6 +1101,17 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "rand_core 0.10.1", +] + [[package]] name = "chrono" version = "0.4.39" @@ -1220,6 +1231,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.4.2" @@ -1331,7 +1351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.16", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", @@ -2099,6 +2119,20 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "rand_core 0.10.1", + "wasm-bindgen", +] + [[package]] name = "glob" version = "0.3.3" @@ -2767,7 +2801,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.16", ] [[package]] @@ -3662,7 +3696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.16", "opaque-debug", "universal-hash", ] @@ -3902,14 +3936,15 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.15" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fcb935c5bec503c2f0e306bdd3e58bb9029dcb14fa8d9ac76e3a5256ac0763e" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "bytes", - "getrandom 0.3.1", + "getrandom 0.4.3", "lru-slab", - "rand 0.9.2", + "rand 0.10.3", + "rand_pcg", "ring", "rustc-hash", "rustls", @@ -3944,6 +3979,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "radium" version = "0.7.0" @@ -3984,6 +4025,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" +dependencies = [ + "chacha20", + "getrandom 0.4.3", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -4041,6 +4093,12 @@ dependencies = [ "getrandom 0.3.1", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_hc" version = "0.2.0" @@ -4050,6 +4108,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_pcg" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a" +dependencies = [ + "rand_core 0.10.1", +] + [[package]] name = "rand_xorshift" version = "0.3.0" @@ -4586,7 +4653,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.16", "digest 0.10.7", ] @@ -4598,7 +4665,7 @@ checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.16", "digest 0.9.0", "opaque-debug", ] @@ -4610,7 +4677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.16", "digest 0.10.7", ] From 6bb4d59c85b460bb501e073c61afa08dc2320d94 Mon Sep 17 00:00:00 2001 From: Jon C Date: Tue, 13 Oct 2026 21:34:50 +0200 Subject: [PATCH 2/3] Also bump toolchains --- Makefile | 2 +- pinocchio/program/tests/ui_amount_to_amount.rs | 4 ++-- program/tests/processor.rs | 2 +- rust-toolchain.toml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 4de5377b..1c2cddf1 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -RUST_TOOLCHAIN_NIGHTLY = nightly-2026-01-22 +RUST_TOOLCHAIN_NIGHTLY = nightly-2026-07-16 SOLANA_CLI_VERSION = 3.0.0 nightly = +${RUST_TOOLCHAIN_NIGHTLY} diff --git a/pinocchio/program/tests/ui_amount_to_amount.rs b/pinocchio/program/tests/ui_amount_to_amount.rs index 40df1682..cb848f70 100644 --- a/pinocchio/program/tests/ui_amount_to_amount.rs +++ b/pinocchio/program/tests/ui_amount_to_amount.rs @@ -109,8 +109,8 @@ fn fail_ui_amount_to_amount_with_invalid_ui_amount() { ); // String representing the ui value `2.0` - let ui_amount = [b'2', b'.', b'0']; - let input = from_utf8(&ui_amount).unwrap(); + let ui_amount = b"2.0"; + let input = from_utf8(ui_amount).unwrap(); // When we try to convert the ui amount using the mint, the transaction should // fail with an error since the resulting value does not fit in an `u64`. diff --git a/program/tests/processor.rs b/program/tests/processor.rs index 4bae59b5..9a882f9f 100644 --- a/program/tests/processor.rs +++ b/program/tests/processor.rs @@ -47,7 +47,7 @@ fn do_process_instruction( // Update accounts after the instruction is processed. for (original, (_, updated)) in accounts .iter_mut() - .zip(result.resulting_accounts.into_iter()) + .zip(result.resulting_accounts) { original.data = updated.data().to_vec(); original.lamports = updated.lamports(); diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 53551330..64222091 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.93.1" +channel = "1.98.1" From 148e48077cbee59645e9be9972f62b688c17709c Mon Sep 17 00:00:00 2001 From: Jon C Date: Tue, 13 Oct 2026 21:57:04 +0200 Subject: [PATCH 3/3] Fixup wasm bump issues with sol_memcpy_ not being available --- pinocchio/program/src/processor/mod.rs | 9 ++++++++- program/tests/processor.rs | 5 +---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pinocchio/program/src/processor/mod.rs b/pinocchio/program/src/processor/mod.rs index 5a3a4676..dc1e7294 100644 --- a/pinocchio/program/src/processor/mod.rs +++ b/pinocchio/program/src/processor/mod.rs @@ -1,3 +1,5 @@ +#[cfg(any(target_arch = "bpf", target_os = "solana"))] +use pinocchio::syscalls::sol_memcpy_; use { core::{slice::from_raw_parts, str::from_utf8_unchecked}, pinocchio::{ @@ -5,7 +7,6 @@ use { hint::{likely, unlikely}, program_error::ProgramError, pubkey::{pubkey_eq, Pubkey}, - syscalls::sol_memcpy_, ProgramResult, }, pinocchio_token_interface::{ @@ -180,6 +181,7 @@ fn try_ui_amount_into_amount(ui_amount: &str, decimals: u8) -> Result Result