From 0ffc275c2c17a9bc4c33b402775f237cbf77ad9c Mon Sep 17 00:00:00 2001 From: Guilherme Dantas Date: Mon, 31 Aug 2026 11:58:00 -0300 Subject: [PATCH] chore: bump rollups-contracts to 3.0.0-alpha.10 This commit first bumps the cartesi-rollups-contracts Soldeer dependency from 3.0.0-alpha.9 to 3.0.0-alpha.10 (which doesn't actually lead to any smart contract changes, just compilation artifact distribution), and makes the necessary adjustments in the repo related to that bump. Then, it bumps the cartesi-rollups-contracts Rust dependency from 3.0.0-alpha.4 (which used alloy 1) to 3.0.0-alpha.10 (which, since 3.0.0-alpha.8 uses alloy 2). With this bump, some changes to the Rust node were necessary, such as to use IApplication rather than Application (which is no longer available) and to make small adjustments related to the alloy 1-to-2 bump. Pertaining to this last bump, it was also necessary to bump rustc from 1.90 to 1.94, which is a minimal requirement from alloy 2. We also took the opportunity to remove the pnpm version from the test Dockerfile, as it was no longer being used, and to use the interface IInputBox rather than InputBox (which is still readily available, but we chose to use IInputBox for consistency, and because it is generally preffered to use an interface over a contract). Also, to make smart contract Rust bindings consistent with each other, we made it so that the internal contract bindings were also generated with Alloy 2 as dependency. --- .github/actions/setup-tools/action.yml | 4 +- .github/workflows/build.yml | 2 +- Cargo.lock | 783 +++++++++++------- Cargo.toml | 8 +- cartesi-rollups/contracts/foundry.toml | 10 +- .../contracts/script/Deployment.s.sol | 2 +- .../contracts/script/build-devnet.sh | 2 +- cartesi-rollups/contracts/script/deploy.sh | 2 +- cartesi-rollups/contracts/soldeer.lock | 8 +- .../node/src/blockchain_reader/mod.rs | 16 +- cartesi-rollups/node/src/engine/constants.rs | 6 +- cartesi-rollups/node/src/kms.rs | 4 +- cartesi-rollups/node/src/provider.rs | 4 +- cartesi-rollups/node/src/tournament/reader.rs | 4 +- script/contract-bindings.sh | 1 + script/devnet-fingerprint.sh | 2 +- script/tests/devnet-fingerprint.sh | 2 +- test/Dockerfile | 3 +- 18 files changed, 523 insertions(+), 340 deletions(-) diff --git a/.github/actions/setup-tools/action.yml b/.github/actions/setup-tools/action.yml index 25955ec0f..b404f5724 100644 --- a/.github/actions/setup-tools/action.yml +++ b/.github/actions/setup-tools/action.yml @@ -8,9 +8,9 @@ inputs: rust-version: description: 'Rust version to install (if Rust is setup)' required: false - # Keep in step with the release container (rust:1.90-trixie in + # Keep in step with the release container (rust:1.94-trixie in # build.yml); the workspace uses post-1.86 std APIs. - default: '1.90' + default: '1.94' setup-qemu: description: 'Whether to setup QEMU for riscv support' required: false diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9fcf57f94..ed928f2f6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -283,7 +283,7 @@ jobs: os: ubuntu-24.04-arm runs-on: ${{ matrix.os }} container: - image: rust:1.90-trixie + image: rust:1.94-trixie env: DEBIAN_FRONTEND: noninteractive steps: diff --git a/Cargo.lock b/Cargo.lock index 8db9cf2c1..3367223aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,14 +31,15 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae62e633fa48b4190af5e841eb05179841bb8b713945103291e2c0867037c0d1" +checksum = "9867f85f660948ddbef071ae484027654c04b62c7decd5b61464a7ed1f8931a0" dependencies = [ "alloy-consensus", "alloy-contract", "alloy-core", "alloy-eips", + "alloy-ens", "alloy-genesis", "alloy-json-rpc", "alloy-network", @@ -69,9 +70,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b151e38e42f1586a01369ec52a6934702731d07e8509a7307331b09f6c46dc" +checksum = "12a542fe1e6a48cfd010a9e8eba1235436de58ee0f1415e588c27d5d556e98df" dependencies = [ "alloy-eips", "alloy-primitives", @@ -80,13 +81,14 @@ dependencies = [ "alloy-trie", "alloy-tx-macros", "auto_impl", + "borsh", "c-kzg", "derive_more", "either", "k256", "once_cell", "rand 0.8.5", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_json", "serde_with", @@ -95,9 +97,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2d5e8668ef6215efdb7dcca6f22277b4e483a5650e05f5de22b2350971f4b8" +checksum = "05ac1559726a5e71d6dbab59cbd8ad0988c762105d2ae41ae4f3241a3166262d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -109,9 +111,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630288cf4f3a34a8c6bc75c03dce1dbd47833138f65f37d53a1661eafc96b83f" +checksum = "b86722084d6d07822a6c67e39ae794d437fb9de12fa4127d4f9fd93f89651121" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -127,13 +129,16 @@ dependencies = [ "futures-util", "serde_json", "thiserror", + "tokio", + "tracing", + "wasmtimer", ] [[package]] name = "alloy-core" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca96214615ec8cf3fa2a54b32f486eb49100ca7fe7eb0b8c1137cd316e7250a" +checksum = "e88cf3d065edfb29a13278215b8521d3ef72a41e2432e019c1f0dd8e30649a5d" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -144,9 +149,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdff496dd4e98a81f4861e66f7eaf5f2488971848bb42d9c892f871730245c8" +checksum = "d9f1a3f2206f2ba4206fdeeddce6640eed3e26b8a13ac41444adb66b76d8e650" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -155,7 +160,7 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow", + "winnow 1.0.4", ] [[package]] @@ -173,59 +178,91 @@ dependencies = [ [[package]] name = "alloy-eip2930" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" +checksum = "e64579d931b3f8eacc7c9ab0b220e87e9c4816e5c724ede1947b55c2f8e92ae5" dependencies = [ "alloy-primitives", "alloy-rlp", + "borsh", "serde", ] [[package]] name = "alloy-eip7702" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" +checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" dependencies = [ "alloy-primitives", "alloy-rlp", + "borsh", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-eip7928" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb59cca9e58f5c624becc3cffb32772dc278f31eeae4606844a88592e8d2672" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "borsh", + "once_cell", "serde", "thiserror", ] [[package]] name = "alloy-eips" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5434834adaf64fa20a6fb90877bc1d33214c41b055cc49f82189c98614368cc" +checksum = "d40246adf7468b430fce87945ece8a54ef27fa760dd9f670f5162a412007bdb2" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", + "alloy-eip7928", "alloy-primitives", "alloy-rlp", "alloy-serde", "auto_impl", + "borsh", "c-kzg", "derive_more", "either", "serde", "serde_with", "sha2", +] + +[[package]] +name = "alloy-ens" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be9aa797694e7c55b007aa8f172daef76a83272cbedb8800bdc7038eed3bdb1a" +dependencies = [ + "alloy-contract", + "alloy-primitives", + "alloy-provider", + "alloy-sol-types", + "async-trait", "thiserror", ] [[package]] name = "alloy-genesis" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919a8471cfbed7bcd8cf1197a57dda583ce0e10c6385f6ff4e8b41304b223392" +checksum = "4951473e6ff25cdf82eb87b6a1a5fbb4af9c97528398a4a62fbf516198ec5028" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-serde", "alloy-trie", + "borsh", "serde", "serde_with", ] @@ -245,9 +282,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" +checksum = "208699c66c453fbb4c50d2e602f8ceff8a5f1fa48ac8b6ee3b6357fdc93da311" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -257,9 +294,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c69f6c9c68a1287c9d5ff903d0010726934de0dac10989be37b75a29190d55" +checksum = "7e5722ea29a9a85ecdba2516c58f50d71e77cd25f8ce7e9f4ee8570ddeee6df1" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -272,9 +309,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf2ae05219e73e0979cb2cf55612aafbab191d130f203079805eaf881cca58" +checksum = "e2e4d278913f00ab611f5367448a3a800fed173ab791c3cc67b7a1b0d7afd305" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -298,9 +335,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58f4f345cef483eab7374f2b6056973c7419ffe8ad35e994b7a7f5d8e0c7ba4" +checksum = "e4e52ae56d1acaa6b46e9d7015b8ae6c10f3d1c213a32ae70b17426a03ae6729" dependencies = [ "alloy-consensus", "alloy-eips", @@ -311,9 +348,9 @@ dependencies = [ [[package]] name = "alloy-node-bindings" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61321a0dbc084c2c9f2b07aa34f10db7ac80065c01721e567e5426d882c73de6" +checksum = "cdbb4a1bc03b411a3880d410ccc48d866b72d753ab1080605631890955b9caa2" dependencies = [ "alloy-genesis", "alloy-hardforks", @@ -322,6 +359,7 @@ dependencies = [ "alloy-signer", "alloy-signer-local", "k256", + "libc", "rand 0.8.5", "serde_json", "tempfile", @@ -332,17 +370,18 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355bf68a433e0fd7f7d33d5a9fc2583fde70bf5c530f63b80845f8da5505cf28" +checksum = "9c902f0ca3f8353c41e3e1ec3cf26be49412525bc48ab9d3c4710d7be4f01832" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", "derive_more", - "foldhash 0.2.0", - "hashbrown 0.16.0", + "fixed-cache", + "foldhash", + "hashbrown 0.17.1", "indexmap 2.12.0", "itoa", "k256", @@ -350,18 +389,19 @@ dependencies = [ "paste", "proptest", "rand 0.9.2", + "rapidhash", "ruint", "rustc-hash", + "secp256k1 0.31.1", "serde", "sha3", - "tiny-keccak", ] [[package]] name = "alloy-provider" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2597751539b1cc8fe4204e5325f9a9ed83fcacfb212018dfcfa7877e76de21" +checksum = "386124639a5c386329b9f2ef2b42969badbf7bba40422b513e3e5739c516dc34" dependencies = [ "alloy-chains", "alloy-consensus", @@ -400,9 +440,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.12" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" +checksum = "24671b1f62edcf0f9b62994c7bf72cd621a04a4b99f5020ece1a647b40e2f103" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -411,9 +451,9 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.12" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" +checksum = "9d4311c03125e8a18296504560b9de3d75ecbd0dcda7f71e6cf2a196d57e6fba" dependencies = [ "proc-macro2", "quote", @@ -422,9 +462,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf8eb8be597cfa8c312934d2566ec4516f066d69164f9212d7a148979fdcfd8" +checksum = "3dfd3ebc1756426a6a9e17979d4467632aff01f359136c50e5320ac6e32d6b8d" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -445,9 +485,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339af7336571dd39ae3a15bde08ae6a647e62f75350bd415832640268af92c06" +checksum = "417dc664965e36fc43a4f9c8eb8b2d14067a29c430e23470d2c923c1c977bac7" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -457,9 +497,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d98fb386a462e143f5efa64350860af39950c49e7c0cbdba419c16793116ef" +checksum = "5a07bb602ee07767e393b5862f719a1d061deca15e617fbb1f7af49cd49576e4" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -469,20 +509,24 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbde0801a32d21c5f111f037bee7e22874836fba7add34ed4a6919932dd7cf23" +checksum = "cd0a6cce3f97e5d9c0048081b5d173e0e406c2056c52c012e578a1d451ff0cdc" dependencies = [ "alloy-consensus-any", + "alloy-network-primitives", + "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", + "serde", + "serde_json", ] [[package]] name = "alloy-rpc-types-eth" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "361cd87ead4ba7659bda8127902eda92d17fa7ceb18aba1676f7be10f7222487" +checksum = "1eb4c87dfdde83cd97e03a8c0c5e986b52e14075e02266e322ac6c7eb02e7399" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -501,9 +545,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64600fc6c312b7e0ba76f73a381059af044f4f21f43e07f51f1fa76c868fe302" +checksum = "2ff89f75b8a9d00f659750e9220c31b42d67c69ffc43b2ac8911dfd0506eb4a6" dependencies = [ "alloy-primitives", "serde", @@ -512,9 +556,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5772858492b26f780468ae693405f895d6a27dea6e3eab2c36b6217de47c2647" +checksum = "69e1f6fae3ade809daa4c32bee35a30a439bb307209d7b42f3995988b5cc74b8" dependencies = [ "alloy-primitives", "async-trait", @@ -527,9 +571,9 @@ dependencies = [ [[package]] name = "alloy-signer-aws" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66acf5f8745dd935e94855aada39d83b555112872321d9293748424de144897e" +checksum = "495d56d8b67d1d656d50053cf6263e4191bd626952f0401197eeb755b390924e" dependencies = [ "alloy-consensus", "alloy-network", @@ -546,9 +590,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4195b803d0a992d8dbaab2ca1986fc86533d4bc80967c0cce7668b26ad99ef9" +checksum = "621cc39c34b85875858ef149598f3d5f9797dff9a3247f3606fcc06f9b20acc8" dependencies = [ "alloy-consensus", "alloy-network", @@ -562,13 +606,13 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ce480400051b5217f19d6e9a82d9010cdde20f1ae9c00d53591e4a1afbb312" +checksum = "fdcbd48d60e029be4a325c3a2f1312761caea4ed249f18ba9e8ed24ca1bf01e6" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error2", + "proc-macro-error3", "proc-macro2", "quote", "syn 2.0.107", @@ -576,28 +620,28 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" +checksum = "59c9f7c535f99a7e7b64cc520968b09ed14cec3715572fcc277cfbff602808cd" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", "heck", "indexmap 2.12.0", - "proc-macro-error2", + "proc-macro-error3", "proc-macro2", "quote", + "sha3", "syn 2.0.107", "syn-solidity", - "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" +checksum = "1abd404fbc12f543823005146b73fd07621bdc0baaa950d26995c543a9d73811" dependencies = [ "alloy-json-abi", "const-hex", @@ -613,19 +657,19 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954d1b2533b9b2c7959652df3076954ecb1122a28cc740aa84e7b0a49f6ac0a9" +checksum = "40a7fd71864526bfeca8903010d5bb7fd28a0a4f5cc55818304c9cad8f0d63ab" dependencies = [ "serde", - "winnow", + "winnow 1.0.4", ] [[package]] name = "alloy-sol-types" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" +checksum = "adfc2ba3fb0e865de4934bcad6d37fc51e9ffcd5294be1322eab38e4494e051b" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -635,12 +679,11 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025a940182bddaeb594c26fe3728525ae262d0806fe6a4befdf5d7bc13d54bce" +checksum = "06f4ca8484d6295d5165f67de8fdb00ae630ba585efb606f003171286b56441c" dependencies = [ "alloy-json-rpc", - "alloy-primitives", "auto_impl", "base64 0.22.1", "derive_more", @@ -660,12 +703,13 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5064d1e1e1aabc918b5954e7fb8154c39e77ec6903a581b973198b26628fa" +checksum = "8342aa5a7f8dee6d606307eebbc847d9799a823c7e4f37b9c1e32b08715f73c8" dependencies = [ "alloy-json-rpc", "alloy-transport", + "itertools 0.14.0", "reqwest", "serde_json", "tower", @@ -675,28 +719,27 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.9.1" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" +checksum = "3f14b5d9b2c2173980202c6ff470d96e7c5e202c65a9f67884ad565226df7fbb" dependencies = [ "alloy-primitives", "alloy-rlp", - "arrayvec", "derive_more", "nybbles", "serde", "smallvec", + "thiserror", "tracing", ] [[package]] name = "alloy-tx-macros" -version = "1.0.41" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e52276fdb553d3c11563afad2898f4085165e4093604afe3d78b69afbf408f" +checksum = "1d0626c4f3b2028f7e8db32f53c22d9ecd5939f772317b7c4b6fe5219cb0589a" dependencies = [ - "alloy-primitives", - "darling 0.21.3", + "darling 0.23.0", "proc-macro2", "quote", "syn 2.0.107", @@ -961,9 +1004,6 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -dependencies = [ - "serde", -] [[package]] name = "async-recursion" @@ -1459,21 +1499,6 @@ dependencies = [ "syn 2.0.107", ] -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - [[package]] name = "bitcoin-io" version = "0.1.3" @@ -1523,6 +1548,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + [[package]] name = "blst" version = "0.3.16" @@ -1611,6 +1645,30 @@ dependencies = [ "serde_with", ] +[[package]] +name = "borsh" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a" +dependencies = [ + "borsh-derive", + "bytes", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cdfe656708a01f89b451a7d36466e6fe6c414de0aa18fc54f864f6f9ca9f56" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 3.0.4", +] + [[package]] name = "bumpalo" version = "3.19.0" @@ -1702,9 +1760,9 @@ dependencies = [ [[package]] name = "cartesi-rollups-contracts" -version = "3.0.0-alpha.4" +version = "3.0.0-alpha.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5155609bc75488ef8e2e11f80078eef7909688a43bcd9fd4df390d4aa4dc64f6" +checksum = "ace1d02fcf0617adac8936690b0026d19de872007b479e228e5fab754e0ba6a7" dependencies = [ "alloy", "serde", @@ -1855,6 +1913,16 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +[[package]] +name = "combine" +version = "4.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "const-hex" version = "1.17.0" @@ -1862,7 +1930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "proptest", "serde_core", ] @@ -1928,6 +1996,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 = "crc" version = "3.3.0" @@ -1977,6 +2054,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", +] + [[package]] name = "darling" version = "0.20.11" @@ -1997,6 +2083,16 @@ dependencies = [ "darling_macro 0.21.3", ] +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core 0.23.0", + "darling_macro 0.23.0", +] + [[package]] name = "darling_core" version = "0.20.11" @@ -2018,6 +2114,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.107", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ "ident_case", "proc-macro2", "quote", @@ -2048,6 +2157,17 @@ dependencies = [ "syn 2.0.107", ] +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core 0.23.0", + "quote", + "syn 2.0.107", +] + [[package]] name = "dashmap" version = "6.1.0" @@ -2160,12 +2280,22 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", + "block-buffer 0.10.4", "const-oid", - "crypto-common", + "crypto-common 0.1.6", "subtle", ] +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.1", + "crypto-common 0.2.2", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -2403,6 +2533,16 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" +[[package]] +name = "fixed-cache" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fe63500644ef0269fe6b744e7e5dc5c20b5eebf3d881bc2be53f194636f6583" +dependencies = [ + "equivalent", + "rapidhash", +] + [[package]] name = "fixed-hash" version = "0.8.0" @@ -2421,33 +2561,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foldhash" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.2" @@ -2616,16 +2735,15 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "governor" -version = "0.8.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be93b4ec2e4710b04d9264c0c7350cdd62a8c20e5e4ac732552ebb8f0debe8eb" +checksum = "9efcab3c1958580ff1f25a2a41be1668f7603d849bb63af523b208a3cc1223b8" dependencies = [ "cfg-if", "futures-sink", "futures-timer", "futures-util", - "getrandom 0.3.4", - "no-std-compat", + "hashbrown 0.16.0", "nonzero_ext", "parking_lot", "portable-atomic", @@ -2701,23 +2819,26 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.5" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.1.5", + "foldhash", ] [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" dependencies = [ - "foldhash 0.2.0", + "allocator-api2", + "equivalent", + "foldhash", "serde", + "serde_core", ] [[package]] @@ -2842,6 +2963,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "hybrid-array" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" +dependencies = [ + "typenum", +] + [[package]] name = "hyper" version = "0.14.32" @@ -2935,7 +3065,6 @@ dependencies = [ "tokio", "tokio-rustls 0.26.4", "tower-service", - "webpki-roots 1.0.3", ] [[package]] @@ -2951,22 +3080,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper 1.7.0", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - [[package]] name = "hyper-util" version = "0.1.17" @@ -3194,16 +3307,6 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" -[[package]] -name = "iri-string" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -3267,6 +3370,55 @@ dependencies = [ "syn 2.0.107", ] +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys", + "log", + "simd_cesu8", + "thiserror", + "walkdir", + "windows-link 0.2.1", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "simd_cesu8", + "syn 2.0.107", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.107", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -3303,18 +3455,19 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "d8f198d1db720e4940b5a493201d199d9f24f568f8f746bd13706243a2f71598" dependencies = [ - "cpufeatures", + "cfg-if", + "cpufeatures 0.3.1", ] [[package]] name = "keccak-asm" -version = "0.1.4" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +checksum = "dd5dc2c0d691cbf7595cde551ced329cca99c2387c2cbc97754c5d0cd045d3ee" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -3408,11 +3561,11 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "lru" -version = "0.13.0" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +checksum = "0d317b4b9eb398e6acce275758ec6125535505e7a146fb1a9b8bda2451b0ff4c" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.17.1", ] [[package]] @@ -3423,9 +3576,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "macro-string" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +checksum = "59a9dbbfc75d2688ed057456ce8a3ee3f48d12eec09229f560f3643b9f275653" dependencies = [ "proc-macro2", "quote", @@ -3467,29 +3620,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "native-tls" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework 2.11.1", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "no-std-compat" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" - [[package]] name = "nom" version = "7.1.3" @@ -3643,50 +3773,12 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "openssl" -version = "0.10.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" -dependencies = [ - "bitflags 2.10.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "openssl-probe" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" -[[package]] -name = "openssl-sys" -version = "0.9.110" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "outref" version = "0.5.2" @@ -3909,22 +4001,22 @@ dependencies = [ ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "proc-macro-error-attr3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +checksum = "82366fd7d8b7a440d66d13418820c69df9b3908bcb1a0476d7f5ce5d12f5a04d" dependencies = [ "proc-macro2", "quote", ] [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "proc-macro-error3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "b511283ea8a74b4b39447b128c5d00f03a356b7424554b13e298a5550100d9ac" dependencies = [ - "proc-macro-error-attr2", + "proc-macro-error-attr3", "proc-macro2", "quote", "syn 2.0.107", @@ -3945,8 +4037,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bb0be07becd10686a0bb407298fb425360a5c44a663774406340c59a22de4ce" dependencies = [ - "bit-set", - "bit-vec", "bitflags 2.10.0", "lazy_static", "num-traits", @@ -3954,8 +4044,6 @@ dependencies = [ "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", - "rusty-fork", - "tempfile", "unarray", ] @@ -4006,12 +4094,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quinn" version = "0.11.9" @@ -4038,6 +4120,7 @@ version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ + "aws-lc-rs", "bytes", "getrandom 0.3.4", "lru-slab", @@ -4159,6 +4242,15 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rapidhash" +version = "4.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5da7e78a036ce858e8d55b7e7dc8ba3a88b78350fd2155d3591bbd966b58589e" +dependencies = [ + "rustversion", +] + [[package]] name = "raw-cpuid" version = "11.6.0" @@ -4243,9 +4335,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reqwest" -version = "0.12.24" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ "base64 0.22.1", "bytes", @@ -4257,23 +4349,20 @@ dependencies = [ "http-body-util", "hyper 1.7.0", "hyper-rustls 0.27.7", - "hyper-tls", "hyper-util", "js-sys", "log", "mime", - "native-tls", "percent-encoding", "pin-project-lite", "quinn", "rustls 0.23.33", "rustls-pki-types", + "rustls-platform-verifier", "serde", "serde_json", - "serde_urlencoded", "sync_wrapper", "tokio", - "tokio-native-tls", "tokio-rustls 0.26.4", "tower", "tower-http", @@ -4282,7 +4371,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 1.0.3", ] [[package]] @@ -4490,6 +4578,33 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.33", + "rustls-native-certs 0.8.2", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.7", + "security-framework 3.5.1", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -4518,24 +4633,21 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" -[[package]] -name = "rusty-fork" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - [[package]] name = "ryu" version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "schannel" version = "0.1.28" @@ -4608,10 +4720,21 @@ checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", "rand 0.8.5", - "secp256k1-sys", + "secp256k1-sys 0.10.1", "serde", ] +[[package]] +name = "secp256k1" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" +dependencies = [ + "bitcoin_hashes", + "rand 0.9.2", + "secp256k1-sys 0.11.0", +] + [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -4621,6 +4744,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb913707158fadaf0d8702c2db0e857de66eb003ccfdda5924b5f5ac98efb38" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" version = "2.11.1" @@ -4795,25 +4927,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.8" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1" dependencies = [ - "digest 0.10.7", + "digest 0.11.3", "keccak", ] [[package]] name = "sha3-asm" -version = "0.1.4" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +checksum = "a6287fd675f713484342a89cbf0a386abef5f15919cfad607e5e1f19e1e15331" dependencies = [ "cc", "cfg-if", @@ -4844,6 +4976,22 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simd_cesu8" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" +dependencies = [ + "rustc_version 0.4.1", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "slab" version = "0.4.11" @@ -4988,11 +5136,22 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "syn-solidity" -version = "1.4.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" +checksum = "e452eb8cb83fc8b81597eb07c8d39f770d04905af9c5bffce8bea7213df29960" dependencies = [ "paste", "proc-macro2", @@ -5221,16 +5380,6 @@ dependencies = [ "syn 2.0.107", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.24.1" @@ -5309,7 +5458,7 @@ dependencies = [ "indexmap 2.12.0", "toml_datetime", "toml_parser", - "winnow", + "winnow 0.7.13", ] [[package]] @@ -5318,7 +5467,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ - "winnow", + "winnow 0.7.13", ] [[package]] @@ -5371,20 +5520,20 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ "bitflags 2.10.0", "bytes", "futures-util", "http 1.3.1", "http-body 1.0.1", - "iri-string", "pin-project-lite", "tower", "tower-layer", "tower-service", + "url", ] [[package]] @@ -5574,12 +5723,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] -name = "wait-timeout" -version = "0.2.1" +name = "walkdir" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ - "libc", + "same-file", + "winapi-util", ] [[package]] @@ -5712,6 +5862,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.26.11" @@ -5746,6 +5905,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -6020,6 +6188,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/Cargo.toml b/Cargo.toml index b86325554..3c4b4ae96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,10 +46,10 @@ cartesi-prt-contracts = { path = "prt/contracts/bindings-rs" } ## Dependencies # cartesi -cartesi-rollups-contracts = "=3.0.0-alpha.4" +cartesi-rollups-contracts = "=3.0.0-alpha.10" # eth -alloy = { version = "1.0", features = [ +alloy = { version = "2.0", features = [ "contract", "network", "reqwest", @@ -57,9 +57,9 @@ alloy = { version = "1.0", features = [ "signers", "sol-types", ] } -alloy-transport = { version = "1.0", features = ["throttle"] } +alloy-transport = { version = "2.0", features = ["throttle"] } alloy-chains = { version = "0.2" } -reqwest = { version = "0.12", features = ["http2"] } +reqwest = { version = "0.13", features = ["http2"] } ruint = "1.12" tiny-keccak = { version = "2.0", features = ["keccak"] } diff --git a/cartesi-rollups/contracts/foundry.toml b/cartesi-rollups/contracts/foundry.toml index f0a105ec4..ac7bad29b 100644 --- a/cartesi-rollups/contracts/foundry.toml +++ b/cartesi-rollups/contracts/foundry.toml @@ -8,10 +8,10 @@ via_ir = true allow_paths = ["../../prt/contracts", "../../machine/step"] remappings = [ - "@openzeppelin-contracts-5.2.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.9/dependencies/@openzeppelin-contracts-5.2.0/", + "@openzeppelin-contracts-5.2.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.10/dependencies/@openzeppelin-contracts-5.2.0/", "@openzeppelin-contracts-5.5.0/=dependencies/@openzeppelin-contracts-5.5.0/", - "cartesi-machine-solidity-step-0.15.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.9/dependencies/cartesi-machine-solidity-step-0.15.0/", - "cartesi-rollups-contracts-3.0.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.9/", + "cartesi-machine-solidity-step-0.15.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.10/dependencies/cartesi-machine-solidity-step-0.15.0/", + "cartesi-rollups-contracts-3.0.0/=dependencies/cartesi-rollups-contracts-3.0.0-alpha.10/", "forge-std-1.9.6/=dependencies/forge-std-1.9.6/", "prt-contracts-test/=../../prt/contracts/test/", "prt-contracts/=../../prt/contracts/src/", @@ -23,7 +23,7 @@ evm_version = "prague" always_use_create_2_factory = true fs_permissions = [ { access = "read-write", path = "deployments" }, - { access = "read", path = "dependencies/cartesi-rollups-contracts-3.0.0-alpha.9/deployments" }, + { access = "read", path = "dependencies/cartesi-rollups-contracts-3.0.0-alpha.10/deployments" }, { access = "read", path = "../../prt/contracts/deployments" }, ] @@ -41,4 +41,4 @@ exclude_lints = ["incorrect-shift"] [dependencies] "@openzeppelin-contracts" = "5.5.0" forge-std = "1.9.6" -cartesi-rollups-contracts = "3.0.0-alpha.9" +cartesi-rollups-contracts = "3.0.0-alpha.10" diff --git a/cartesi-rollups/contracts/script/Deployment.s.sol b/cartesi-rollups/contracts/script/Deployment.s.sol index b5e55b02a..1c117183a 100644 --- a/cartesi-rollups/contracts/script/Deployment.s.sol +++ b/cartesi-rollups/contracts/script/Deployment.s.sol @@ -10,7 +10,7 @@ import {DaveAppFactory} from "src/DaveAppFactory.sol"; contract DeploymentScript is BaseDeploymentScript { function run() external { _importDeployments("../../prt/contracts"); - _importDeployments("dependencies/cartesi-rollups-contracts-3.0.0-alpha.9"); + _importDeployments("dependencies/cartesi-rollups-contracts-3.0.0-alpha.10"); address inputBox = _loadDeployment(".", "InputBox"); address appFactory = _loadDeployment(".", "ApplicationFactory"); diff --git a/cartesi-rollups/contracts/script/build-devnet.sh b/cartesi-rollups/contracts/script/build-devnet.sh index 7d94a5904..bbe6f97dd 100755 --- a/cartesi-rollups/contracts/script/build-devnet.sh +++ b/cartesi-rollups/contracts/script/build-devnet.sh @@ -6,7 +6,7 @@ cd "${BASH_SOURCE%/*}/.." deployment_complete=0 build_fingerprint=$(../../script/devnet-fingerprint.sh inputs) -base_contracts=dependencies/cartesi-rollups-contracts-3.0.0-alpha.9 +base_contracts=dependencies/cartesi-rollups-contracts-3.0.0-alpha.10 cleanup() { exit_code=$? diff --git a/cartesi-rollups/contracts/script/deploy.sh b/cartesi-rollups/contracts/script/deploy.sh index 7bc0c1640..b7de578ef 100755 --- a/cartesi-rollups/contracts/script/deploy.sh +++ b/cartesi-rollups/contracts/script/deploy.sh @@ -6,7 +6,7 @@ cd "${BASH_SOURCE%/*}/.." roots=( '../../prt/contracts' - 'dependencies/cartesi-rollups-contracts-3.0.0-alpha.9' + 'dependencies/cartesi-rollups-contracts-3.0.0-alpha.10' '.' ) diff --git a/cartesi-rollups/contracts/soldeer.lock b/cartesi-rollups/contracts/soldeer.lock index f7d87c852..ffe8f2bf4 100644 --- a/cartesi-rollups/contracts/soldeer.lock +++ b/cartesi-rollups/contracts/soldeer.lock @@ -7,10 +7,10 @@ integrity = "da8336cf949f0e0667ae8360af849681e3a3e76d7e61e7a86b1a3414a158aeea" [[dependencies]] name = "cartesi-rollups-contracts" -version = "3.0.0-alpha.9" -url = "https://soldeer-revisions.s3.amazonaws.com/cartesi-rollups-contracts/3_0_0-alpha_9_19-08-2026_11:52:19_rollups-contracts.zip" -checksum = "c17618f6aa3313ce8e28f043877b8e16695b358ccf0f77ecca19b234718ebf16" -integrity = "f606c1db57d8b6ff0de8a73ec8b7d762e79d3b06959554e748663f03d0b1f588" +version = "3.0.0-alpha.10" +url = "https://soldeer-revisions.s3.amazonaws.com/cartesi-rollups-contracts/3_0_0-alpha_10_31-08-2026_14:12:15_rollups-contracts.zip" +checksum = "59f53310976c298e41488d2375a71d37627263ebf1287345fd95f3fd9263570f" +integrity = "2496aa404900aa0ae82b4d390443699048e87baa9e24636c9bad4feae72b74f2" [[dependencies]] name = "forge-std" diff --git a/cartesi-rollups/node/src/blockchain_reader/mod.rs b/cartesi-rollups/node/src/blockchain_reader/mod.rs index 5fcb9091d..4033a9174 100644 --- a/cartesi-rollups/node/src/blockchain_reader/mod.rs +++ b/cartesi-rollups/node/src/blockchain_reader/mod.rs @@ -16,8 +16,8 @@ use std::{fmt, iter::Peekable, time::Duration}; use crate::storage::{Epoch, Input, InputId, Storage}; use cartesi_dave_contracts::dave_consensus::DaveConsensus::{self, EpochSealed}; use cartesi_rollups_contracts::{ - application::Application, - input_box::InputBox::{self, InputAdded}, + i_application::IApplication, + i_input_box::IInputBox::{self, InputAdded}, }; #[derive(Debug, Clone, Copy)] @@ -60,7 +60,7 @@ impl fmt::Display for AddressBook { impl AddressBook { // fetch other addresses from application pub async fn new(app: Address, provider: &impl Provider) -> Self { - let application_contract = Application::new(app, provider); + let application_contract = IApplication::new(app, provider); let consensus = application_contract .getOutputsMerkleRootValidator() @@ -88,7 +88,7 @@ impl AddressBook { let initial_hash = Self::initial_hash(consensus, provider).await; - let input_box_contract = InputBox::new(input_box, provider); + let input_box_contract = IInputBox::new(input_box, provider); let input_box_created_block: u64 = input_box_contract .getDeploymentBlockNumber() @@ -386,7 +386,7 @@ mod blockchain_reader_tests { }, }; use cartesi_rollups_contracts::{ - input_box::InputBox::{self, InputAdded}, + i_input_box::IInputBox::{self, InputAdded}, inputs::Inputs::EvmAdvanceCall, }; @@ -432,7 +432,7 @@ mod blockchain_reader_tests { } async fn add_input( - inputbox: &InputBox::InputBoxInstance, + inputbox: &IInputBox::IInputBoxInstance, application_address: Address, input_payload: &'static str, count: usize, @@ -528,7 +528,7 @@ mod blockchain_reader_tests { #[tokio::test] async fn test_input_reader() -> Result<()> { let (anvil, provider, address_book) = spawn_anvil_and_provider().await?; - let inputbox = InputBox::new(address_book.input_box, &provider); + let inputbox = IInputBox::new(address_book.input_box, &provider); let input_count_1 = 2; // Inputbox is deployed with 1 input already @@ -589,7 +589,7 @@ mod blockchain_reader_tests { async fn test_blockchain_reader() -> Result<()> { let (anvil, provider, address_book) = spawn_anvil_and_provider().await?; - let inputbox = InputBox::new(address_book.input_box, provider.clone()); + let inputbox = IInputBox::new(address_book.input_box, provider.clone()); let (handle, mut storage) = state_access(); diff --git a/cartesi-rollups/node/src/engine/constants.rs b/cartesi-rollups/node/src/engine/constants.rs index aa09dc45c..48dbc3bb3 100644 --- a/cartesi-rollups/node/src/engine/constants.rs +++ b/cartesi-rollups/node/src/engine/constants.rs @@ -103,19 +103,19 @@ mod tests { let root = manifest_dir.join("../.."); let emulator_constants = std::fs::read_to_string(root.join( "cartesi-rollups/contracts/dependencies/\ - cartesi-rollups-contracts-3.0.0-alpha.9/dependencies/\ + cartesi-rollups-contracts-3.0.0-alpha.10/dependencies/\ cartesi-machine-solidity-step-0.15.0/src/EmulatorConstants.sol", )) .expect("read DaveConsensus's vendored EmulatorConstants.sol"); let memory = std::fs::read_to_string(root.join( "cartesi-rollups/contracts/dependencies/\ - cartesi-rollups-contracts-3.0.0-alpha.9/dependencies/\ + cartesi-rollups-contracts-3.0.0-alpha.10/dependencies/\ cartesi-machine-solidity-step-0.15.0/src/Memory.sol", )) .expect("read DaveConsensus's vendored Memory.sol"); let canonical_machine = std::fs::read_to_string(root.join( "cartesi-rollups/contracts/dependencies/\ - cartesi-rollups-contracts-3.0.0-alpha.9/src/common/CanonicalMachine.sol", + cartesi-rollups-contracts-3.0.0-alpha.10/src/common/CanonicalMachine.sol", )) .expect("read CanonicalMachine.sol"); diff --git a/cartesi-rollups/node/src/kms.rs b/cartesi-rollups/node/src/kms.rs index d163a0437..5ef9e81a6 100644 --- a/cartesi-rollups/node/src/kms.rs +++ b/cartesi-rollups/node/src/kms.rs @@ -104,7 +104,9 @@ mod tests { use alloy::{ consensus::Transaction, - network::{Ethereum, EthereumWallet, NetworkWallet, TransactionBuilder}, + network::{ + Ethereum, EthereumWallet, NetworkTransactionBuilder, NetworkWallet, TransactionBuilder, + }, primitives::Address, rpc::types::TransactionRequest, signers::Signer, diff --git a/cartesi-rollups/node/src/provider.rs b/cartesi-rollups/node/src/provider.rs index 562964b67..d56f6a345 100644 --- a/cartesi-rollups/node/src/provider.rs +++ b/cartesi-rollups/node/src/provider.rs @@ -5,7 +5,9 @@ use crate::args::SignerArgs; use crate::kms::{CommonSignature, KmsSignerBuilder}; use alloy::{ eips::{eip1559::Eip1559Estimation, eip2718::Encodable2718}, - network::{Ethereum, EthereumWallet, NetworkWallet, TransactionBuilder}, + network::{ + Ethereum, EthereumWallet, NetworkTransactionBuilder, NetworkWallet, TransactionBuilder, + }, primitives::{Address, B256, keccak256}, providers::{DynProvider, Provider, ProviderBuilder}, rpc::{client::RpcClient, types::TransactionRequest}, diff --git a/cartesi-rollups/node/src/tournament/reader.rs b/cartesi-rollups/node/src/tournament/reader.rs index d35626827..232f3515e 100644 --- a/cartesi-rollups/node/src/tournament/reader.rs +++ b/cartesi-rollups/node/src/tournament/reader.rs @@ -1136,9 +1136,11 @@ mod tests { .iter() .find(|request| request["method"] == "eth_call") .unwrap(); + // alloy 2 serializes a `BlockId::Hash` without `require_canonical` as a + // bare EIP-1898 hash string instead of a `{ "blockHash": ... }` object. assert_eq!( descriptor_call["params"][1], - serde_json::json!({ "blockHash": format!("{:#x}", at.hash) }) + serde_json::json!(format!("{:#x}", at.hash)) ); } diff --git a/script/contract-bindings.sh b/script/contract-bindings.sh index 0194198fe..9ec20903e 100755 --- a/script/contract-bindings.sh +++ b/script/contract-bindings.sh @@ -70,6 +70,7 @@ configure_module() { bind --force --alloy + --alloy-version 2 --select "$bindings_filter" --module --bindings-path "./bindings-rs/src/contract" diff --git a/script/devnet-fingerprint.sh b/script/devnet-fingerprint.sh index e511d9501..714a1ec03 100755 --- a/script/devnet-fingerprint.sh +++ b/script/devnet-fingerprint.sh @@ -17,7 +17,7 @@ CDPATH= cd -- "$repo_root" || { exit 2 } -readonly base_contracts="cartesi-rollups/contracts/dependencies/cartesi-rollups-contracts-3.0.0-alpha.9" +readonly base_contracts="cartesi-rollups/contracts/dependencies/cartesi-rollups-contracts-3.0.0-alpha.10" readonly input_format="devnet-inputs-v5" readonly manifest_format="v4" diff --git a/script/tests/devnet-fingerprint.sh b/script/tests/devnet-fingerprint.sh index b429201e5..6bddf4d26 100755 --- a/script/tests/devnet-fingerprint.sh +++ b/script/tests/devnet-fingerprint.sh @@ -27,7 +27,7 @@ source_roots=( config_roots=( prt/contracts cartesi-rollups/contracts - cartesi-rollups/contracts/dependencies/cartesi-rollups-contracts-3.0.0-alpha.9 + cartesi-rollups/contracts/dependencies/cartesi-rollups-contracts-3.0.0-alpha.10 ) for root in "${source_roots[@]}"; do diff --git a/test/Dockerfile b/test/Dockerfile index d92ea6d95..38a12b705 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,9 +1,8 @@ # syntax=docker.io/docker/dockerfile:1 -ARG RUST_VERSION=1.90 +ARG RUST_VERSION=1.94 ARG DEBIAN_VERSION=trixie ARG FOUNDRY_VERSION=1.5.1 -ARG PNPM_VERSION=10.7.0 ARG JUST_VERSION=1.46.0 #### base stage