From 79bafe76e1aed61f51cdadf4c73b80c139d813b0 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Thu, 5 Jun 2025 09:28:10 +0400 Subject: [PATCH 01/30] upgrade configs with no regard for build --- .envrc | 10 + .gitignore | 1 + Cargo.lock | 4178 ++++++++++++++++++++++++++--------------- Cargo.toml | 16 +- crates/cli/.gitignore | 1 - crates/cli/Cargo.lock | 1585 ---------------- flake.lock | 43 +- flake.nix | 19 +- 8 files changed, 2710 insertions(+), 3143 deletions(-) create mode 100644 .envrc delete mode 100644 crates/cli/.gitignore delete mode 100644 crates/cli/Cargo.lock diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..a3693d2d5 --- /dev/null +++ b/.envrc @@ -0,0 +1,10 @@ +if ! has nix_direnv_version || ! nix_direnv_version 3.0.6; then + URL=https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.6/direnvrc + HASH=sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM= + source_url "$URL" "$HASH" +fi + +watch_file flake.lock +watch_file flake.nix + +use flake . --verbose --show-trace \ No newline at end of file diff --git a/.gitignore b/.gitignore index 321bd3a06..ca481f922 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ meta target docs .DS_Store +.direnv # This is for our deploy scripts that report the addresses of deployed contracts deployments \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 1abb99423..b363e8aac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -27,6 +27,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.8.4" @@ -45,7 +51,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -68,245 +74,359 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba1c79677c9ce51c8d45e20845b05e6fb070ea2c863fba03ad6af2c778474bd" +checksum = "0093d23bf026b580c1f66ed3a053d8209c104a446c5264d3ad99587f6edef24e" dependencies = [ "alloy-consensus", + "alloy-contract", "alloy-core", "alloy-eips", "alloy-genesis", + "alloy-json-rpc", + "alloy-network", "alloy-provider", "alloy-rpc-client", + "alloy-rpc-types", "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "alloy-transport", "alloy-transport-http", ] [[package]] name = "alloy-chains" -version = "0.1.27" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b515e82c8468ddb6ff8db21c78a5997442f113fd8471fd5b2261b2602dd0c67" +checksum = "d6967ca1ed656766e471bc323da42fb0db320ca5e1418b408650e98e4757b3d2" dependencies = [ + "alloy-primitives", "num_enum", "serde", - "strum", + "strum 0.27.1", ] [[package]] name = "alloy-consensus" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da374e868f54c7f4ad2ad56829827badca388efd645f8cf5fccc61c2b5343504" +checksum = "ad451f9a70c341d951bca4e811d74dbe1e193897acd17e9dbac1353698cc430b" dependencies = [ "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", + "alloy-trie", + "auto_impl", "c-kzg", + "derive_more 2.0.1", + "either", + "k256", + "once_cell", + "rand 0.8.5", + "secp256k1", + "serde", + "serde_with", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-consensus-any" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142daffb15d5be1a2b20d2cd540edbcef03037b55d4ff69dc06beb4d06286dba" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", "serde", ] [[package]] name = "alloy-contract" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dc6957ff706f9e5f6fd42f52a93e4bce476b726c92d077b348de28c4a76730c" +checksum = "ebf25443920ecb9728cb087fe4dc04a0b290bd6ac85638c58fe94aba70f1a44e" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-json-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-network-primitives", + "alloy-primitives", "alloy-provider", "alloy-rpc-types-eth", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "alloy-transport", "futures", "futures-util", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "alloy-core" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529fc6310dc1126c8de51c376cbc59c79c7f662bd742be7dc67055d5421a81b4" +checksum = "5968f48d7a62587cd874bd84034831da4f7f577ce5de984828e376766efc0f32" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-rlp", + "alloy-sol-types", ] [[package]] name = "alloy-dyn-abi" -version = "0.6.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2919acdad13336bc5dc26b636cdd6892c2f27fb0d4a58320a00c2713cf6a4e9a" +checksum = "f9135eb501feccf7f4cb8a183afd406a65483fdad7bbd7332d0470e5d725c92f" dependencies = [ - "alloy-json-abi 0.6.4", - "alloy-primitives 0.6.4", - "alloy-sol-type-parser 0.6.4", - "alloy-sol-types 0.6.4", - "const-hex", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "arbitrary", + "derive_arbitrary", + "derive_more 2.0.1", "itoa", + "proptest", "serde", "serde_json", - "winnow 0.6.18", + "winnow 0.7.10", ] [[package]] -name = "alloy-dyn-abi" -version = "0.7.7" +name = "alloy-eip2124" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" +checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-type-parser 0.7.7", - "alloy-sol-types 0.7.7", - "arbitrary", - "const-hex", - "derive_arbitrary", - "derive_more", - "itoa", - "proptest", + "alloy-primitives", + "alloy-rlp", + "crc", "serde", - "serde_json", - "winnow 0.6.18", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "k256", + "serde", + "thiserror 2.0.12", ] [[package]] name = "alloy-eips" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f76ecab54890cdea1e4808fc0891c7e6cfcf71fe1a9fe26810c7280ef768f4ed" +checksum = "3056872f6da48046913e76edb5ddced272861f6032f09461aea1a2497be5ae5d" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", "alloy-rlp", "alloy-serde", + "auto_impl", "c-kzg", - "once_cell", + "derive_more 2.0.1", + "either", "serde", - "sha2", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-ens" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939f8a617f883de8c8da812fa1164abe83f5ece081322ac072483fa0775a9898" +dependencies = [ + "alloy-primitives", ] [[package]] name = "alloy-ethers-typecast" version = "0.2.0" -source = "git+https://github.com/rainlanguage/alloy-ethers-typecast?rev=0881930a22e84db49ba955c5b88e790e1266ac66#0881930a22e84db49ba955c5b88e790e1266ac66" +source = "git+https://github.com/rainlanguage/alloy-ethers-typecast?rev=f7b5bfd0687f16c77dbfdd4905b2434793fa7885#f7b5bfd0687f16c77dbfdd4905b2434793fa7885" dependencies = [ "alloy", "async-trait", "derive_builder 0.12.0", - "ethers", - "getrandom", + "getrandom 0.3.3", "once_cell", "rain-error-decoding", "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tracing", - "tracing-subscriber", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "alloy-evm" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "394b09cf3a32773eedf11828987f9c72dfa74545040be0422e3f5f09a2a3fab9" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-hardforks", + "alloy-primitives", + "alloy-sol-types", + "auto_impl", + "derive_more 2.0.1", + "op-alloy-consensus", + "op-revm", + "revm", + "thiserror 2.0.12", ] [[package]] name = "alloy-genesis" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca15afde1b6d15e3fc1c97421262b1bbb37aee45752e3c8b6d6f13f776554ff" +checksum = "c98fb40f07997529235cc474de814cd7bd9de561e101716289095696c0e4639d" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-eips", + "alloy-primitives", "alloy-serde", + "alloy-trie", "serde", ] [[package]] -name = "alloy-json-abi" -version = "0.6.4" +name = "alloy-hardforks" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ed0f2a6c3a1c947b4508522a53a190dba8f94dcd4e3e1a5af945a498e78f2f" +checksum = "fbff8445282ec080c2673692062bd4930d7a0d6bda257caf138cfc650c503000" dependencies = [ - "alloy-primitives 0.6.4", - "alloy-sol-type-parser 0.6.4", - "serde", - "serde_json", + "alloy-chains", + "alloy-eip2124", + "alloy-primitives", + "auto_impl", + "dyn-clone", ] [[package]] name = "alloy-json-abi" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" +checksum = "8b26fdd571915bafe857fccba4ee1a4f352965800e46a53e4a5f50187b7776fa" dependencies = [ - "alloy-primitives 0.7.7", - "alloy-sol-type-parser 0.7.7", + "alloy-primitives", + "alloy-sol-type-parser", "serde", "serde_json", ] [[package]] name = "alloy-json-rpc" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d6f34930b7e3e2744bcc79056c217f00cb2abb33bc5d4ff88da7623c5bb078b" +checksum = "dc08b31ebf9273839bd9a01f9333cbb7a3abb4e820c312ade349dd18bdc79581" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", + "alloy-sol-types", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", "tracing", ] [[package]] name = "alloy-network" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f6895fc31b48fa12306ef9b4f78b7764f8bd6d7d91cdb0a40e233704a0f23f" +checksum = "ed117b08f0cc190312bf0c38c34cf4f0dabfb4ea8f330071c587cd7160a88cb2" dependencies = [ "alloy-consensus", + "alloy-consensus-any", "alloy-eips", "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", "alloy-rpc-types-eth", "alloy-serde", "alloy-signer", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", "auto_impl", + "derive_more 2.0.1", "futures-utils-wasm", - "thiserror", + "serde", + "serde_json", + "thiserror 2.0.12", ] [[package]] -name = "alloy-primitives" -version = "0.6.4" +name = "alloy-network-primitives" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "600d34d8de81e23b6d909c094e23b3d357e01ca36b78a8c5424c501eedbe86f0" +checksum = "c7162ff7be8649c0c391f4e248d1273e85c62076703a1f3ec7daf76b283d886d" dependencies = [ - "alloy-rlp", - "bytes", - "cfg-if", - "const-hex", - "derive_more", - "getrandom", - "hex-literal", - "itoa", - "k256", - "keccak-asm", - "proptest", - "rand", - "ruint", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", "serde", - "tiny-keccak", +] + +[[package]] +name = "alloy-op-evm" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f32538cc243ec5d4603da9845cc2f5254c6a3a78e82475beb1a2a1de6c0d36c" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-evm", + "alloy-op-hardforks", + "alloy-primitives", + "auto_impl", + "op-alloy-consensus", + "op-revm", + "revm", +] + +[[package]] +name = "alloy-op-hardforks" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ddfbb5cc9f614efa5d56e0d7226214bb67b29271d44b6ddfcbbe25eb0ff898b" +dependencies = [ + "alloy-hardforks", + "auto_impl", ] [[package]] name = "alloy-primitives" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +checksum = "a326d47106039f38b811057215a92139f46eef7983a4b77b10930a0ea5685b1e" dependencies = [ "alloy-rlp", "arbitrary", @@ -314,77 +434,90 @@ dependencies = [ "cfg-if", "const-hex", "derive_arbitrary", - "derive_more", - "ethereum_ssz", - "getrandom", - "hex-literal", + "derive_more 2.0.1", + "foldhash", + "getrandom 0.3.3", + "hashbrown 0.15.3", + "indexmap 2.9.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", "proptest-derive", - "rand", + "rand 0.9.1", "ruint", + "rustc-hash", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-provider" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c538bfa893d07e27cb4f3c1ab5f451592b7c526d511d62b576a2ce59e146e4a" +checksum = "d84eba1fd8b6fe8b02f2acd5dd7033d0f179e304bd722d11e817db570d1fa6c4" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", "alloy-json-rpc", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-network-primitives", + "alloy-primitives", "alloy-rpc-client", "alloy-rpc-types-eth", + "alloy-signer", + "alloy-sol-types", "alloy-transport", "alloy-transport-http", "async-stream", "async-trait", "auto_impl", "dashmap", + "either", "futures", "futures-utils-wasm", "lru", + "parking_lot", "pin-project", "reqwest 0.12.5", "serde", "serde_json", + "thiserror 2.0.12", "tokio", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-pubsub" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7341322d9bc0e49f6e9fd9f2eb8e30f73806f2dd12cbb3d6bab2694c921f87" +checksum = "8550f7306e0230fc835eb2ff4af0a96362db4b6fc3f25767d161e0ad0ac765bf" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-transport", "bimap", "futures", + "parking_lot", "serde", "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", + "wasmtimer", ] [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -393,24 +526,26 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] name = "alloy-rpc-client" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba31bae67773fd5a60020bea900231f8396202b7feca4d0c70c6b59308ab4a8" +checksum = "518a699422a3eab800f3dac2130d8f2edba8e4fff267b27a9c7dc6a2b0d313ee" dependencies = [ "alloy-json-rpc", + "alloy-primitives", "alloy-transport", "alloy-transport-http", + "async-stream", "futures", "pin-project", "reqwest 0.12.5", @@ -418,308 +553,289 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", + "tracing-futures", "url", + "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "184a7a42c7ba9141cc9e76368356168c282c3bc3d9e5d78f3556bdfe39343447" +checksum = "c000cab4ec26a4b3e29d144e999e1c539c2fa0abed871bf90311eb3466187ca8" dependencies = [ + "alloy-primitives", "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-rpc-types-trace", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "508b2fbe66d952089aa694e53802327798806498cd29ff88c75135770ecaabfc" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", "alloy-serde", ] [[package]] name = "alloy-rpc-types-engine" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e765962e3b82fd6f276a0873b5bd897e5d75a25f78fa9a6a21bd350d8e98a4e" +checksum = "cab52691970553d84879d777419fa7b6a2e92e9fe8641f9324cc071008c2f656" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", "alloy-serde", + "derive_more 2.0.1", "jsonwebtoken 9.3.0", - "rand", + "rand 0.8.5", "serde", - "thiserror", + "strum 0.27.1", ] [[package]] name = "alloy-rpc-types-eth" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4123ee21f99ba4bd31bfa36ba89112a18a500f8b452f02b35708b1b951e2b9" +checksum = "fcaf7dff0fdd756a714d58014f4f8354a1706ebf9fa2cf73431e0aeec3c9431e" dependencies = [ "alloy-consensus", + "alloy-consensus-any", "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-network-primitives", + "alloy-primitives", "alloy-rlp", "alloy-serde", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "itertools 0.13.0", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "alloy-rpc-types-trace" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567933b1d95fd42cb70b75126e32afec2e5e2c3c16e7100a3f83dc1c80f4dc0e" +checksum = "6e3507a04e868dd83219ad3cd6a8c58aefccb64d33f426b3934423a206343e84" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "alloy-serde" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9416c52959e66ead795a11f4a86c248410e9e368a0765710e57055b8a1774dd6" +checksum = "730e8f2edf2fc224cabd1c25d090e1655fa6137b2e409f92e5eec735903f1507" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "serde", "serde_json", ] [[package]] name = "alloy-signer" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b33753c09fa1ad85e5b092b8dc2372f1e337a42e84b9b4cff9fede75ba4adb32" +checksum = "6b0d2428445ec13edc711909e023d7779618504c4800be055a5b940025dbafe3" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-primitives", + "alloy-sol-types", "async-trait", "auto_impl", + "either", "elliptic-curve", "k256", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "alloy-signer-ledger" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575e4c924b23132234c75bd1f8f3871c1bc12ba462f76af9b59249515a38253e" +checksum = "3b0e049299cc7e131a438a904f89a493bcea45cd92bbed3e50116a28bc27987c" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", - "coins-ledger 0.11.1", + "coins-ledger", "futures-util", "semver 1.0.23", - "thiserror", + "thiserror 2.0.12", "tracing", ] [[package]] name = "alloy-signer-local" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dfc9c26fe6c6f1bad818c9a976de9044dd12e1f75f1f156a801ee3e8148c1b6" +checksum = "e14fe6fedb7fe6e0dfae47fe020684f1d8e063274ef14bca387ddb7a6efa8ec1" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "async-trait", - "coins-bip32 0.11.1", - "coins-bip39 0.11.1", - "elliptic-curve", + "coins-bip32 0.12.0", + "coins-bip39 0.12.0", "eth-keystore", "k256", - "rand", - "thiserror", + "rand 0.8.5", + "thiserror 2.0.12", ] [[package]] name = "alloy-signer-trezor" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd82e86e4a6604fd11f84b170638d16dcdac9db6c2b5f5b91a3941b7e7af7f94" +checksum = "26c7df3624131eeecf74c18e5cd59bcc125633bad407b1938161edf89eb71485" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "async-trait", "semver 1.0.23", - "thiserror", + "thiserror 2.0.12", "tracing", "trezor-client", ] [[package]] name = "alloy-sol-macro" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86ec0a47740b20bc5613b8712d0d321d031c4efc58e9645af96085d5cccfc27" -dependencies = [ - "const-hex", - "dunce", - "heck 0.4.1", - "indexmap", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.74", - "syn-solidity 0.6.4", - "tiny-keccak", -] - -[[package]] -name = "alloy-sol-macro" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +checksum = "d4be1ce1274ddd7fdfac86e5ece1b225e9bba1f2327e20fbb30ee6b9cc1423fe" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +checksum = "01e92f3708ea4e0d9139001c86c051c538af0146944a2a9c7181753bd944bf57" dependencies = [ - "alloy-json-abi 0.7.7", + "alloy-json-abi", "alloy-sol-macro-input", "const-hex", - "heck 0.5.0", - "indexmap", - "proc-macro-error", + "heck", + "indexmap 2.9.0", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.74", - "syn-solidity 0.7.7", + "syn 2.0.101", + "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +checksum = "9afe1bd348a41f8c9b4b54dfb314886786d6201235b0b3f47198b9d910c86bb2" dependencies = [ - "alloy-json-abi 0.7.7", + "alloy-json-abi", "const-hex", "dunce", - "heck 0.5.0", + "heck", + "macro-string", "proc-macro2", "quote", "serde_json", - "syn 2.0.74", - "syn-solidity 0.7.7", -] - -[[package]] -name = "alloy-sol-type-parser" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0045cc89524e1451ccf33e8581355b6027ac7c6e494bb02959d4213ad0d8e91d" -dependencies = [ - "winnow 0.6.18", + "syn 2.0.101", + "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" -dependencies = [ - "serde", - "winnow 0.6.18", -] - -[[package]] -name = "alloy-sol-types" -version = "0.6.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad09ec5853fa700d12d778ad224dcdec636af424d29fad84fb9a2f16a5b0ef09" +checksum = "d6195df2acd42df92a380a8db6205a5c7b41282d0ce3f4c665ecf7911ac292f1" dependencies = [ - "alloy-primitives 0.6.4", - "alloy-sol-macro 0.6.4", - "const-hex", "serde", + "winnow 0.7.10", ] [[package]] name = "alloy-sol-types" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +checksum = "6185e98a79cf19010722f48a74b5a65d153631d2f038cabd250f4b9e9813b8ad" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-macro 0.7.7", - "const-hex", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", "serde", ] [[package]] name = "alloy-transport" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b51a291f949f755e6165c3ed562883175c97423703703355f4faa4b7d0a57c" +checksum = "a712bdfeff42401a7dd9518f72f617574c36226a9b5414537fedc34350b73bf9" dependencies = [ "alloy-json-rpc", + "alloy-primitives", "base64 0.22.1", - "futures-util", + "derive_more 2.0.1", + "futures", "futures-utils-wasm", + "parking_lot", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", "tokio", - "tower", + "tower 0.5.2", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-transport-http" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d65871f9f1cafe1ed25cde2f1303be83e6473e995a2d56c275ae4fcce6119c" +checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" dependencies = [ "alloy-json-rpc", "alloy-transport", "reqwest 0.12.5", "serde_json", - "tower", + "tower 0.5.2", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7fbc8b6282ce41b01cbddef7bffb133fe6e1bf65dcd39770d45a905c051179" +checksum = "606af17a7e064d219746f6d2625676122c79d78bf73dfe746d6db9ecd7dbcb85" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -728,6 +844,7 @@ dependencies = [ "futures", "interprocess", "pin-project", + "serde", "serde_json", "tokio", "tokio-util", @@ -736,22 +853,38 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.1.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec83fd052684556c78c54df111433493267234d82321c2236560c752f595f20" +checksum = "e0c6f9b37cd8d44aab959613966cc9d4d7a9b429c575cec43b3e5b46ea109a79" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", "http 1.1.0", - "rustls 0.23.12", + "rustls", "serde_json", "tokio", - "tokio-tungstenite 0.23.1", + "tokio-tungstenite", "tracing", "ws_stream_wasm", ] +[[package]] +name = "alloy-trie" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 2.0.1", + "nybbles", + "serde", + "smallvec", + "tracing", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -767,11 +900,22 @@ dependencies = [ "libc", ] +[[package]] +name = "annotate-snippets" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4" +dependencies = [ + "anstyle", + "memchr", + "unicode-width 0.2.0", +] + [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -808,12 +952,13 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.59.0", ] [[package]] @@ -824,40 +969,85 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" dependencies = [ "derive_arbitrary", ] [[package]] -name = "ark-ff" -version = "0.3.0" +name = "ark-bls12-381" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" dependencies = [ - "ark-ff-asm 0.3.0", - "ark-ff-macros 0.3.0", - "ark-serialize 0.3.0", - "ark-std 0.3.0", - "derivative", - "num-bigint", - "num-traits", - "paste", - "rustc_version 0.3.3", - "zeroize", + "ark-ec", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", ] [[package]] -name = "ark-ff" -version = "0.4.2" +name = "ark-bn254" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", + "ark-ec", + "ark-ff 0.5.0", + "ark-r1cs-std", + "ark-std 0.5.0", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-poly", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.3", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", "ark-std 0.4.0", "derivative", "digest 0.10.7", @@ -869,6 +1059,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + [[package]] name = "ark-ff-asm" version = "0.3.0" @@ -889,6 +1099,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.101", +] + [[package]] name = "ark-ff-macros" version = "0.3.0" @@ -914,6 +1134,63 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.3", +] + +[[package]] +name = "ark-r1cs-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" +dependencies = [ + "ark-ec", + "ark-ff 0.5.0", + "ark-relations", + "ark-std 0.5.0", + "educe", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + +[[package]] +name = "ark-relations" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" +dependencies = [ + "ark-ff 0.5.0", + "ark-std 0.5.0", + "tracing", + "tracing-subscriber 0.2.25", +] + [[package]] name = "ark-serialize" version = "0.3.0" @@ -935,6 +1212,30 @@ dependencies = [ "num-bigint", ] +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "ark-std" version = "0.3.0" @@ -942,7 +1243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -952,22 +1253,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] -name = "arrayvec" -version = "0.7.4" +name = "ark-std" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] [[package]] -name = "ascii-canvas" -version = "3.0.0" +name = "arrayref" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" dependencies = [ - "term", + "serde", ] [[package]] @@ -989,7 +1300,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -1000,7 +1311,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -1023,6 +1334,12 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "aurora-engine-modexp" version = "1.1.0" @@ -1041,7 +1358,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -1050,208 +1367,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "aws-credential-types" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9" -dependencies = [ - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "zeroize", -] - -[[package]] -name = "aws-runtime" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f42c2d4218de4dcd890a109461e2f799a1a2ba3bcd2cde9af88360f5df9266c6" -dependencies = [ - "aws-credential-types", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "fastrand", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "percent-encoding", - "pin-project-lite", - "tracing", - "uuid 1.10.0", -] - -[[package]] -name = "aws-sdk-kms" -version = "1.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bc44afa1eaa1d4cae1fb61647b142083c3ae1b77c225b5d61be3d5b64bd93d3" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "http 0.2.12", - "once_cell", - "regex-lite", - "tracing", -] - -[[package]] -name = "aws-sigv4" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5df1b0fa6be58efe9d4ccc257df0a53b89cd8909e86591a13ca54817c87517be" -dependencies = [ - "aws-credential-types", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "form_urlencoded", - "hex", - "hmac", - "http 0.2.12", - "http 1.1.0", - "once_cell", - "percent-encoding", - "sha2", - "time", - "tracing", -] - -[[package]] -name = "aws-smithy-async" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" -dependencies = [ - "futures-util", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "aws-smithy-http" -version = "0.60.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9cd0ae3d97daa0a2bf377a4d8e8e1362cae590c4a1aad0d40058ebca18eb91e" -dependencies = [ - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "bytes-utils", - "futures-core", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "percent-encoding", - "pin-project-lite", - "pin-utils", - "tracing", -] - -[[package]] -name = "aws-smithy-json" -version = "0.60.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" -dependencies = [ - "aws-smithy-types", -] - -[[package]] -name = "aws-smithy-runtime" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abbf454960d0db2ad12684a1640120e7557294b0ff8e2f11236290a1b293225" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes", - "fastrand", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "http-body 1.0.1", - "httparse", - "hyper 0.14.30", - "hyper-rustls 0.24.2", - "once_cell", - "pin-project-lite", - "pin-utils", - "rustls 0.21.12", - "tokio", - "tracing", -] - -[[package]] -name = "aws-smithy-runtime-api" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" -dependencies = [ - "aws-smithy-async", - "aws-smithy-types", - "bytes", - "http 0.2.12", - "http 1.1.0", - "pin-project-lite", - "tokio", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-smithy-types" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cee7cadb433c781d3299b916fbf620fea813bf38f49db282fb6858141a05cc8" -dependencies = [ - "base64-simd", - "bytes", - "bytes-utils", - "http 0.2.12", - "http 1.1.0", - "http-body 0.4.6", - "http-body 1.0.1", - "http-body-util", - "itoa", - "num-integer", - "pin-project-lite", - "pin-utils", - "ryu", - "serde", - "time", -] - -[[package]] -name = "aws-types" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" -dependencies = [ - "aws-credential-types", - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "rustc_version 0.4.0", - "tracing", -] - [[package]] name = "backtrace" version = "0.3.73" @@ -1262,7 +1377,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -1291,16 +1406,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "base64-simd" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" -dependencies = [ - "outref", - "vsimd", -] - [[package]] name = "base64ct" version = "1.6.0" @@ -1321,18 +1426,34 @@ checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitcoin-io" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" + +[[package]] +name = "bitcoin_hashes" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +dependencies = [ + "bitcoin-io", + "hex-conservative", +] [[package]] name = "bitflags" @@ -1346,7 +1467,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ - "arbitrary", "serde", ] @@ -1363,6 +1483,15 @@ dependencies = [ "wyz", ] +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -1374,9 +1503,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" +checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" dependencies = [ "cc", "glob", @@ -1384,13 +1513,38 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bon" +version = "3.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced38439e7a86a4761f7f7d5ded5ff009135939ecb464a24452eaa4c1696af7d" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce61d2d3844c6b8d31b2353d9f66cf5e632b3e9549583fe3cac2f4f6136725e" +dependencies = [ + "darling 0.20.10", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.101", +] + [[package]] name = "bs58" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2", + "sha2 0.10.8", "tinyvec", ] @@ -1436,55 +1590,44 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] -[[package]] -name = "bytes-utils" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" -dependencies = [ - "bytes", - "either", -] - [[package]] name = "bzip2" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47" dependencies = [ "bzip2-sys", - "libc", ] [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] [[package]] name = "c-kzg" -version = "1.0.2" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" +checksum = "7318cfa722931cb5fe0838b98d3ce5621e75f6a6408abc21721d80de9223f2e4" dependencies = [ "blst", "cc", "glob", "hex", "libc", + "once_cell", "serde", ] @@ -1517,17 +1660,15 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "cc" -version = "1.1.12" +version = "1.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68064e60dbf1f17005c2fde4d07c16d8baa506fd7ffed8ccab702d93617975c7" +checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -1546,9 +1687,37 @@ dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", + "serde", "windows-targets 0.52.6", ] +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + [[package]] name = "cipher" version = "0.4.4" @@ -1579,9 +1748,9 @@ dependencies = [ "anstyle", "clap_lex", "strsim 0.11.1", - "terminal_size", + "terminal_size 0.3.0", "unicase", - "unicode-width", + "unicode-width 0.1.13", ] [[package]] @@ -1590,10 +1759,10 @@ version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -1614,24 +1783,24 @@ dependencies = [ "hmac", "k256", "serde", - "sha2", - "thiserror", + "sha2 0.10.8", + "thiserror 1.0.63", ] [[package]] name = "coins-bip32" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c43ff7fd9ff522219058808a259e61423335767b1071d5b346de60d9219657" +checksum = "2073678591747aed4000dd468b97b14d7007f7936851d3f2f01846899f5ebf08" dependencies = [ "bs58", - "coins-core 0.11.1", + "coins-core 0.12.0", "digest 0.10.7", "hmac", "k256", "serde", - "sha2", - "thiserror", + "sha2 0.10.8", + "thiserror 1.0.63", ] [[package]] @@ -1645,25 +1814,25 @@ dependencies = [ "hmac", "once_cell", "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror 1.0.63", ] [[package]] name = "coins-bip39" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4587c0b4064da887ed39a6522f577267d57e58bdd583178cd877d721b56a2e" +checksum = "74b169b26623ff17e9db37a539fe4f15342080df39f129ef7631df7683d6d9d4" dependencies = [ "bitvec", - "coins-bip32 0.11.1", + "coins-bip32 0.12.0", "hmac", "once_cell", "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror 1.0.63", ] [[package]] @@ -1681,16 +1850,16 @@ dependencies = [ "ripemd", "serde", "serde_derive", - "sha2", + "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "coins-core" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3aeeec621f4daec552e9d28befd58020a78cfc364827d06a753e8bc13c6c4b" +checksum = "62b962ad8545e43a28e14e87377812ba9ae748dd4fd963f4c10e9fcc6d13475b" dependencies = [ "base64 0.21.7", "bech32", @@ -1700,51 +1869,28 @@ dependencies = [ "generic-array", "ripemd", "serde", - "sha2", + "sha2 0.10.8", "sha3", - "thiserror", -] - -[[package]] -name = "coins-ledger" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e076e6e5d9708f0b90afe2dbe5a8ba406b5c794347661e6e44618388c7e3a31" -dependencies = [ - "async-trait", - "byteorder", - "cfg-if", - "getrandom", - "hex", - "hidapi-rusb", - "js-sys", - "log", - "nix", - "once_cell", - "thiserror", - "tokio", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", + "thiserror 1.0.63", ] [[package]] name = "coins-ledger" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "166ef757aa936b45f3e5d39c344047f65ef7d25a50067246a498021a816d074b" +checksum = "ab9bc0994d0aa0f4ade5f3a9baf4a8d936f250278c85a1124b401860454246ab" dependencies = [ "async-trait", "byteorder", "cfg-if", "const-hex", - "getrandom", + "getrandom 0.2.15", "hidapi-rusb", "js-sys", "log", "nix", "once_cell", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", "wasm-bindgen", @@ -1764,9 +1910,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ "crossterm", - "strum", - "strum_macros", - "unicode-width", + "strum 0.26.3", + "strum_macros 0.26.4", + "unicode-width 0.1.13", ] [[package]] @@ -1778,15 +1924,15 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", - "unicode-width", + "unicode-width 0.1.13", "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.12.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" dependencies = [ "cfg-if", "cpufeatures", @@ -1801,17 +1947,14 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "convert_case" -version = "0.4.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "core-foundation" @@ -1838,6 +1981,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.2" @@ -1868,9 +2026,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" @@ -1907,7 +2065,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1976,7 +2134,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -1998,17 +2156,18 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", - "hashbrown", + "crossbeam-utils", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -2038,6 +2197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -2051,15 +2211,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive-where" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -2073,11 +2244,11 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ - "derive_builder_macro 0.20.0", + "derive_builder_macro 0.20.2", ] [[package]] @@ -2094,14 +2265,14 @@ dependencies = [ [[package]] name = "derive_builder_core" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -2116,12 +2287,12 @@ dependencies = [ [[package]] name = "derive_builder_macro" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ - "derive_builder_core 0.20.0", - "syn 2.0.74", + "derive_builder_core 0.20.2", + "syn 2.0.101", ] [[package]] @@ -2129,12 +2300,53 @@ name = "derive_more" version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "unicode-xid", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.74", + "syn 2.0.101", + "unicode-xid", ] [[package]] @@ -2146,7 +2358,7 @@ dependencies = [ "console", "shell-words", "tempfile", - "thiserror", + "thiserror 1.0.63", "zeroize", ] @@ -2165,7 +2377,7 @@ 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", "subtle", @@ -2177,17 +2389,16 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", ] [[package]] -name = "dirs-next" -version = "2.0.0" +name = "dirs" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "cfg-if", - "dirs-sys-next", + "dirs-sys 0.5.0", ] [[package]] @@ -2198,19 +2409,20 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.5", "windows-sys 0.48.0", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "dirs-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", - "redox_users", - "winapi", + "option-ext", + "redox_users 0.5.0", + "windows-sys 0.59.0", ] [[package]] @@ -2221,7 +2433,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -2252,15 +2464,31 @@ dependencies = [ "digest 0.10.7", "elliptic-curve", "rfc6979", + "serdect", "signature", "spki", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] [[package]] name = "elliptic-curve" @@ -2276,21 +2504,13 @@ dependencies = [ "group", "pem-rfc7468", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", + "serdect", "subtle", "zeroize", ] -[[package]] -name = "ena" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" -dependencies = [ - "log", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -2317,7 +2537,7 @@ dependencies = [ "hex", "k256", "log", - "rand", + "rand 0.8.5", "rlp", "serde", "sha3", @@ -2325,14 +2545,23 @@ dependencies = [ ] [[package]] -name = "enumn" -version = "0.1.14" +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -2341,14 +2570,24 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "erased-serde" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" +dependencies = [ + "serde", + "typeid", +] + [[package]] name = "errno" -version = "0.3.9" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2363,13 +2602,13 @@ dependencies = [ "hex", "hmac", "pbkdf2 0.11.0", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", - "sha2", + "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.63", "uuid 0.8.2", ] @@ -2386,7 +2625,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror", + "thiserror 1.0.63", "uint", ] @@ -2421,17 +2660,6 @@ dependencies = [ "uint", ] -[[package]] -name = "ethereum_ssz" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3627f83d8b87b432a5fad9934b4565260722a141a2c40f371f8080adec9425" -dependencies = [ - "ethereum-types", - "itertools 0.10.5", - "smallvec", -] - [[package]] name = "ethers" version = "2.0.14" @@ -2441,11 +2669,9 @@ dependencies = [ "ethers-addressbook", "ethers-contract", "ethers-core", - "ethers-etherscan", "ethers-middleware", "ethers-providers", "ethers-signers", - "ethers-solc", ] [[package]] @@ -2476,7 +2702,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -2489,16 +2715,14 @@ dependencies = [ "const-hex", "dunce", "ethers-core", - "ethers-etherscan", "eyre", "prettyplease", "proc-macro2", "quote", "regex", - "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.74", + "syn 2.0.101", "toml", "walkdir", ] @@ -2516,7 +2740,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -2537,34 +2761,18 @@ dependencies = [ "num_enum", "once_cell", "open-fastrlp", - "rand", + "rand 0.8.5", "rlp", "serde", "serde_json", - "strum", - "syn 2.0.74", + "strum 0.26.3", + "syn 2.0.101", "tempfile", - "thiserror", + "thiserror 1.0.63", "tiny-keccak", "unicode-xid", ] -[[package]] -name = "ethers-etherscan" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" -dependencies = [ - "chrono", - "ethers-core", - "reqwest 0.11.27", - "semver 1.0.23", - "serde", - "serde_json", - "thiserror", - "tracing", -] - [[package]] name = "ethers-middleware" version = "2.0.14" @@ -2575,7 +2783,6 @@ dependencies = [ "auto_impl", "ethers-contract", "ethers-core", - "ethers-etherscan", "ethers-providers", "ethers-signers", "futures-channel", @@ -2585,7 +2792,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", "tracing-futures", @@ -2617,9 +2824,8 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tokio", - "tokio-tungstenite 0.20.1", "tracing", "tracing-futures", "url", @@ -2638,50 +2844,14 @@ dependencies = [ "async-trait", "coins-bip32 0.8.7", "coins-bip39 0.8.7", - "coins-ledger 0.10.1", "const-hex", "elliptic-curve", "eth-keystore", "ethers-core", - "futures-executor", - "futures-util", - "rand", - "semver 1.0.23", - "sha2", - "thiserror", - "tracing", -] - -[[package]] -name = "ethers-solc" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" -dependencies = [ - "cfg-if", - "const-hex", - "dirs", - "dunce", - "ethers-core", - "glob", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver 1.0.23", - "serde", - "serde_json", - "solang-parser", - "svm-rs 0.3.5", - "thiserror", - "tiny-keccak", - "tokio", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror 1.0.63", "tracing", - "walkdir", - "yansi 0.5.1", ] [[package]] @@ -2696,15 +2866,26 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fastrlp" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] [[package]] name = "fastrlp" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" dependencies = [ "arrayvec", "auto_impl", @@ -2717,7 +2898,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2741,27 +2922,21 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "arbitrary", "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" -version = "1.0.31" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", - "miniz_oxide", + "libz-rs-sys", + "miniz_oxide 0.8.8", ] [[package]] @@ -2770,6 +2945,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 = "foreign-types" version = "0.3.2" @@ -2785,6 +2966,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "forge-script-sequence" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" +dependencies = [ + "alloy-network", + "alloy-primitives", + "eyre", + "foundry-common", + "foundry-compilers", + "foundry-config", + "revm-inspectors", + "serde", + "serde_json", + "walkdir", +] + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2796,57 +2994,69 @@ dependencies = [ [[package]] name = "foundry-block-explorers" -version = "0.5.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ecb3c05dbf9454cf58c6c440f84c5d2c8f4e94edb4b16f87cfad9e4d818065a" +checksum = "7dd57f39a860475780c0b001167b2bb9039e78d8d09323c6949897f5351ffae6" dependencies = [ "alloy-chains", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers", "reqwest 0.12.5", "semver 1.0.23", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tracing", ] [[package]] name = "foundry-cheatcodes" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-dyn-abi 0.7.7", + "alloy-chains", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-ens", + "alloy-evm", "alloy-genesis", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-network", + "alloy-primitives", "alloy-provider", + "alloy-rlp", "alloy-rpc-types", "alloy-signer", "alloy-signer-local", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "base64 0.22.1", "dialoguer", + "ecdsa", "eyre", + "forge-script-sequence", "foundry-cheatcodes-spec", "foundry-common", "foundry-compilers", "foundry-config", - "foundry-evm-abi", "foundry-evm-core", + "foundry-evm-traces", "foundry-wallets", - "itertools 0.13.0", + "itertools 0.14.0", "jsonpath_lib", "k256", + "memchr", "p256", "parking_lot", - "rand", + "proptest", + "rand 0.9.1", + "rand_chacha 0.9.0", "revm", - "rustc-hash", + "revm-inspectors", "semver 1.0.23", + "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", "toml", "tracing", "walkdir", @@ -2854,35 +3064,40 @@ dependencies = [ [[package]] name = "foundry-cheatcodes-spec" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-sol-types 0.7.7", + "alloy-sol-types", "foundry-macros", "serde", ] [[package]] name = "foundry-common" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-contract", - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-eips", + "alloy-json-abi", "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-network", + "alloy-primitives", "alloy-provider", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types", "alloy-serde", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", "alloy-transport-ws", - "async-trait", + "anstream", + "anstyle", + "chrono", + "ciborium", "clap", "comfy-table", "dunce", @@ -2891,79 +3106,84 @@ dependencies = [ "foundry-common-fmt", "foundry-compilers", "foundry-config", - "foundry-linking", + "itertools 0.14.0", + "jiff", "num-format", - "once_cell", + "path-slash", "reqwest 0.12.5", - "rustc-hash", "semver 1.0.23", "serde", "serde_json", - "thiserror", + "solar-parse", + "solar-sema", + "terminal_size 0.4.2", + "thiserror 2.0.12", "tokio", - "tower", + "tower 0.5.2", "tracing", "url", + "vergen", "walkdir", - "yansi 1.0.1", + "yansi", ] [[package]] name = "foundry-common-fmt" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-dyn-abi", + "alloy-network", + "alloy-primitives", "alloy-rpc-types", "alloy-serde", "chrono", + "revm", "serde", "serde_json", - "yansi 1.0.1", + "yansi", ] [[package]] name = "foundry-compilers" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f506a672502997fbc778f1d30eb4a06a58654049ccc6cd0bdb93a785175f682" +checksum = "d14093062732cc5085a2ad6eb5ec1f20e5b6704b86fc4eeef7ba15f53f75178d" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "auto_impl", - "derivative", - "dirs", + "derive_more 1.0.0", + "dirs 6.0.0", "dyn-clone", "foundry-compilers-artifacts", "foundry-compilers-core", "futures-util", "home", "itertools 0.13.0", - "md-5", - "once_cell", "path-slash", "rayon", "semver 1.0.23", "serde", "serde_json", - "sha2", - "solang-parser", - "svm-rs 0.5.4", + "sha2 0.10.8", + "solar-parse", + "solar-sema", + "svm-rs", "svm-rs-builds", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", - "winnow 0.6.18", - "yansi 1.0.1", + "winnow 0.7.10", + "yansi", ] [[package]] name = "foundry-compilers-artifacts" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c352516419487416dde3250dbb56b576e0605429eb7b7b16f26849d924ee519" +checksum = "d2dfbae2e37ccb536b7dd85303fb0f006902a71218587f649129e9311e2ea646" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -2971,72 +3191,72 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49104d442d6f0266c07edbdd23baa9a1db0f01d04bfdc69b6ac060a57e6f3e27" +checksum = "d17f0a8f8c4ff296546cdb1985a460542bb39ab853815de8ba51b43c134e4051" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers-core", "futures-util", - "md-5", "path-slash", "rayon", "semver 1.0.23", "serde", "serde_json", - "thiserror", + "serde_repr", + "thiserror 2.0.12", "tokio", "tracing", "walkdir", - "yansi 1.0.1", + "yansi", ] [[package]] name = "foundry-compilers-artifacts-vyper" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f012d22d0690ad6b6bbcc8d70467325212ddea3457e8efda6affe17fb5ae938" +checksum = "5e87c18e3fed59ac0b7012f690eb3b0cc0e289e8e60601f438d427d9d85b8760" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers-artifacts-solc", "foundry-compilers-core", "path-slash", + "semver 1.0.23", "serde", ] [[package]] name = "foundry-compilers-core" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23760fd6df67a9878ed0fe91e024bf1ff3b7358369cf54129539a8493177c6e7" +checksum = "053b13c3ee670c41e86235df99805bdfedd88a5efb6bbe697925b69028218481" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "cfg-if", "dunce", - "memmap2", - "once_cell", "path-slash", "regex", "semver 1.0.23", "serde", "serde_json", - "svm-rs 0.5.4", - "thiserror", + "svm-rs", + "thiserror 2.0.12", "tokio", "walkdir", + "xxhash-rust", ] [[package]] name = "foundry-config" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "Inflector", "alloy-chains", - "alloy-primitives 0.7.7", - "dirs-next", + "alloy-primitives", + "clap", + "dirs 6.0.0", "dunce", "eyre", "figment", @@ -3044,33 +3264,38 @@ dependencies = [ "foundry-compilers", "glob", "globset", + "heck", + "itertools 0.14.0", + "mesc", "number_prefix", - "once_cell", "path-slash", "regex", "reqwest 0.12.5", - "revm-primitives", + "revm", "semver 1.0.23", "serde", "serde_json", - "serde_regex", - "solang-parser", - "thiserror", + "solar-interface", + "solar-parse", + "soldeer-core", + "thiserror 2.0.12", "toml", "toml_edit 0.22.20", "tracing", "walkdir", + "yansi", ] [[package]] name = "foundry-evm" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-evm", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", "eyre", "foundry-cheatcodes", "foundry-common", @@ -3085,39 +3310,40 @@ dependencies = [ "proptest", "revm", "revm-inspectors", - "thiserror", + "serde", + "thiserror 2.0.12", "tracing", ] [[package]] name = "foundry-evm-abi" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", - "derive_more", + "alloy-primitives", + "alloy-sol-types", + "derive_more 2.0.1", "foundry-common-fmt", "foundry-macros", - "itertools 0.13.0", - "once_cell", - "rustc-hash", + "itertools 0.14.0", ] [[package]] name = "foundry-evm-core" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-dyn-abi 0.7.7", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-evm", "alloy-genesis", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-network", + "alloy-op-evm", + "alloy-primitives", "alloy-provider", "alloy-rpc-types", - "alloy-serde", - "alloy-sol-types 0.7.7", - "alloy-transport", + "alloy-sol-types", "auto_impl", "eyre", "foundry-cheatcodes-spec", @@ -3126,44 +3352,43 @@ dependencies = [ "foundry-evm-abi", "foundry-fork-db", "futures", - "itertools 0.13.0", + "itertools 0.14.0", + "op-revm", "parking_lot", "revm", "revm-inspectors", - "rustc-hash", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", + "url", ] [[package]] name = "foundry-evm-coverage" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "eyre", "foundry-common", "foundry-compilers", "foundry-evm-core", "rayon", "revm", - "rustc-hash", "semver 1.0.23", "tracing", ] [[package]] name = "foundry-evm-fuzz" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "ahash", - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", "eyre", "foundry-common", "foundry-compilers", @@ -3171,38 +3396,40 @@ dependencies = [ "foundry-evm-core", "foundry-evm-coverage", "foundry-evm-traces", - "indexmap", - "itertools 0.13.0", + "itertools 0.14.0", "parking_lot", "proptest", - "rand", + "rand 0.9.1", "revm", "serde", - "thiserror", + "thiserror 2.0.12", "tracing", ] [[package]] name = "foundry-evm-traces" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", "eyre", "foundry-block-explorers", "foundry-common", "foundry-compilers", "foundry-config", "foundry-evm-core", + "foundry-linking", "futures", - "itertools 0.13.0", - "once_cell", + "itertools 0.14.0", + "rayon", + "revm", "revm-inspectors", - "rustc-hash", "serde", + "serde_json", + "solar-parse", "tempfile", "tokio", "tracing", @@ -3210,23 +3437,21 @@ dependencies = [ [[package]] name = "foundry-fork-db" -version = "0.1.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3f9c9e02b19933218eb39c7234dcb0cc20e461258ced030f6fd6ac254a8637" +checksum = "b02fb598e4a8ae7b7af7c256081a419b071eacf5e03537806b339b3151409403" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-consensus", + "alloy-primitives", "alloy-provider", "alloy-rpc-types", - "alloy-serde", - "alloy-transport", "eyre", "futures", "parking_lot", "revm", - "rustc-hash", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", "url", @@ -3234,69 +3459,59 @@ dependencies = [ [[package]] name = "foundry-linking" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "foundry-compilers", "semver 1.0.23", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "foundry-macros" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] name = "foundry-wallets" -version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" +version = "1.2.2" +source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d3272572e1732008f973a06#dc43e2c1ab70ec111d3272572e1732008f973a06" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "alloy-signer-ledger", "alloy-signer-local", "alloy-signer-trezor", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", - "aws-sdk-kms", "clap", - "derive_builder 0.20.0", + "derive_builder 0.20.2", + "eth-keystore", "eyre", "foundry-config", "rpassword", "serde", - "thiserror", + "thiserror 2.0.12", "tracing", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "fs4" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7e180ac76c23b45e767bd7ae9579bc0bb458618c4bc71835926e098e61d15f8" dependencies = [ - "rustix", + "rustix 0.38.34", "windows-sys 0.52.0", ] @@ -3372,7 +3587,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -3450,7 +3665,21 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", "wasm-bindgen", ] @@ -3468,15 +3697,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.14" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -3498,7 +3727,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3514,13 +3743,48 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap", + "indexmap 2.9.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", "tracing", ] +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -3529,6 +3793,17 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", "serde", ] @@ -3541,12 +3816,6 @@ dependencies = [ "fxhash", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -3575,10 +3844,13 @@ dependencies = [ ] [[package]] -name = "hex-literal" -version = "0.4.1" +name = "hex-conservative" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" +dependencies = [ + "arrayvec", +] [[package]] name = "hidapi-rusb" @@ -3688,7 +3960,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -3711,6 +3983,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2 0.4.10", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -3721,22 +3994,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.30", - "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", - "tokio", - "tokio-rustls 0.24.1", -] - [[package]] name = "hyper-rustls" version = "0.27.2" @@ -3747,13 +4004,13 @@ dependencies = [ "http 1.1.0", "hyper 1.4.1", "hyper-util", - "rustls 0.23.12", - "rustls-native-certs 0.7.1", + "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls", "tower-service", - "webpki-roots 0.26.3", + "webpki-roots", ] [[package]] @@ -3800,7 +4057,7 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower", + "tower 0.4.13", "tower-service", "tracing", ] @@ -3828,20 +4085,133 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + [[package]] name = "ident_case" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] [[package]] -name = "idna" -version = "0.5.0" +name = "ignore" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.9", + "same-file", + "walkdir", + "winapi-util", ] [[package]] @@ -3888,14 +4258,33 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +[[package]] +name = "index_vec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44faf5bb8861a9c72e20d3fb0fdbd59233e43056e2b80475ab0aacdc2e781355" + [[package]] name = "indexmap" -version = "2.4.0" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ + "arbitrary", "equivalent", - "hashbrown", + "hashbrown 0.15.3", + "serde", ] [[package]] @@ -3908,7 +4297,7 @@ dependencies = [ "instant", "number_prefix", "portable-atomic", - "unicode-width", + "unicode-width 0.1.13", ] [[package]] @@ -3984,18 +4373,18 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] @@ -4007,20 +4396,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] -name = "jobserver" -version = "0.1.32" +name = "jiff" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "3590fea8e9e22d449600c9bbd481a8163bef223e4ff938e5f55899f8cf1adb93" dependencies = [ - "libc", + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", ] [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -4074,7 +4484,8 @@ dependencies = [ "ecdsa", "elliptic-curve", "once_cell", - "sha2", + "serdect", + "sha2 0.10.8", "signature", ] @@ -4098,33 +4509,13 @@ dependencies = [ ] [[package]] -name = "lalrpop" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" -dependencies = [ - "ascii-canvas", - "bit-set", - "ena", - "itertools 0.11.0", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.8.4", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", - "walkdir", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.2" +name = "lasso" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +checksum = "6e14eda50a3494b3bf7b9ce51c52434a761e383d7238ce1dd5dcec2fbc13e9fb" dependencies = [ - "regex-automata 0.4.7", + "dashmap", + "hashbrown 0.14.5", ] [[package]] @@ -4132,15 +4523,12 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin 0.9.8", -] [[package]] name = "libc" -version = "0.2.156" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f43f184355eefb8d17fc948dbecf6c13be3c141f20d834ae842193a448c72a" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libm" @@ -4158,6 +4546,52 @@ dependencies = [ "libc", ] +[[package]] +name = "libsecp256k1" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" +dependencies = [ + "arrayref", + "base64 0.22.1", + "digest 0.9.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + [[package]] name = "libusb1-sys" version = "0.7.0" @@ -4170,12 +4604,33 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-rs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" +dependencies = [ + "zlib-rs", +] + [[package]] name = "linux-raw-sys" version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + [[package]] name = "lock_api" version = "0.4.12" @@ -4194,36 +4649,46 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +dependencies = [ + "value-bag", +] [[package]] name = "lru" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown", + "hashbrown 0.15.3", ] [[package]] -name = "matchers" -version = "0.1.0" +name = "macro-string" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ - "regex-automata 0.1.10", + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] -name = "md-5" -version = "0.10.6" +name = "match_cfg" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "cfg-if", - "digest 0.10.7", + "regex-automata 0.1.10", ] [[package]] @@ -4233,21 +4698,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] -name = "memmap2" -version = "0.9.4" +name = "memoffset" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ - "libc", + "autocfg", ] [[package]] -name = "memoffset" -version = "0.7.1" +name = "mesc" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d04b0347d2799ef17df4623dbcb03531031142105168e0c549e0bf1f980e9e7e" dependencies = [ - "autocfg", + "serde", + "serde_json", + "thiserror 1.0.63", ] [[package]] @@ -4256,6 +4723,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "miniz_oxide" version = "0.7.4" @@ -4265,6 +4742,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "1.0.2" @@ -4273,7 +4759,7 @@ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -4294,12 +4780,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - [[package]] name = "nix" version = "0.26.4" @@ -4313,6 +4793,12 @@ dependencies = [ "pin-utils", ] +[[package]] +name = "normalize-path" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d" + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -4441,7 +4927,16 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", ] [[package]] @@ -4450,6 +4945,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + [[package]] name = "object" version = "0.36.3" @@ -4461,9 +4969,59 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + +[[package]] +name = "once_map" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd2cae3bec3936bbed1ccc5a3343b3738858182419f9c0522c7260c80c430b0" +dependencies = [ + "ahash", + "hashbrown 0.15.3", + "parking_lot", + "stable_deref_trait", +] + +[[package]] +name = "op-alloy-consensus" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2423a125ef2daa0d15dacc361805a0b6f76d6acfc6e24a1ff6473582087fe75" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "derive_more 2.0.1", + "thiserror 2.0.12", +] + +[[package]] +name = "op-revm" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0e8a3830a2be82166fbe9ead34361149ff4320743ed7ee5502ab779de221361" +dependencies = [ + "auto_impl", + "once_cell", + "revm", + "serde", +] + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "open-fastrlp" @@ -4513,7 +5071,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -4540,12 +5098,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "outref" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" - [[package]] name = "overload" version = "0.1.1" @@ -4561,7 +5113,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "primeorder", - "sha2", + "sha2 0.10.8", ] [[package]] @@ -4613,17 +5165,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core", - "subtle", -] - [[package]] name = "paste" version = "1.0.15" @@ -4643,9 +5184,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac", - "password-hash", - "sha2", ] [[package]] @@ -4666,7 +5204,7 @@ checksum = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467" dependencies = [ "inlinable_string", "pear_codegen", - "yansi 1.0.1", + "yansi", ] [[package]] @@ -4678,7 +5216,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -4722,20 +5260,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.63", "ucd-trie", ] -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap", -] - [[package]] name = "pharos" version = "0.5.3" @@ -4753,7 +5281,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ "phf_macros", - "phf_shared 0.11.2", + "phf_shared", + "serde", ] [[package]] @@ -4762,8 +5291,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "phf_shared 0.11.2", - "rand", + "phf_shared", + "rand 0.8.5", ] [[package]] @@ -4773,19 +5302,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ "phf_generator", - "phf_shared 0.11.2", + "phf_shared", "proc-macro2", "quote", - "syn 2.0.74", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", + "syn 2.0.101", ] [[package]] @@ -4814,7 +5334,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -4846,10 +5366,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] -name = "portable-atomic" -version = "1.7.0" +name = "portable-atomic" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] [[package]] name = "powerfmt" @@ -4866,12 +5404,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "prettyplease" version = "0.2.20" @@ -4879,7 +5411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -4915,34 +5447,32 @@ dependencies = [ ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", - "version_check", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ + "proc-macro-error-attr2", "proc-macro2", "quote", - "version_check", + "syn 2.0.101", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -4955,26 +5485,26 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", "version_check", - "yansi 1.0.1", + "yansi", ] [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", "bitflags 2.6.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -4982,13 +5512,13 @@ dependencies = [ [[package]] name = "proptest-derive" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e" +checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", ] [[package]] @@ -4999,7 +5529,7 @@ checksum = "b65f4a8ec18723a734e5dc09c173e0abf9690432da5340285d536edcb4dac190" dependencies = [ "once_cell", "protobuf-support", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -5008,7 +5538,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6872f4d4f4b98303239a2b5838f5bbbb77b01ffc892d627957f37a22d7cfe69c" dependencies = [ - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -5028,9 +5558,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.12", + "rustls", "socket2", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -5042,12 +5572,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.17.8", "rustc-hash", - "rustls 0.23.12", + "rustls", "slab", - "thiserror", + "thiserror 1.0.63", "tinyvec", "tracing", ] @@ -5074,6 +5604,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -5083,19 +5619,15 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rain-error-decoding" version = "0.1.0" -source = "git+https://github.com/rainlanguage/rain.error?rev=72d9577fdaf7135113847027ba951f9a43b41827#72d9577fdaf7135113847027ba951f9a43b41827" +source = "git+https://github.com/rainlanguage/rain.error?rev=bf08b5ab305287fc49408a441d6375f35dc280db#bf08b5ab305287fc49408a441d6375f35dc280db" dependencies = [ - "alloy-dyn-abi 0.6.4", - "alloy-json-abi 0.6.4", - "alloy-primitives 0.6.4", - "alloy-sol-types 0.6.4", - "ethers", - "getrandom", + "alloy", + "getrandom 0.2.15", "once_cell", "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -5112,7 +5644,7 @@ dependencies = [ "serde_bytes", "tokio", "tracing", - "tracing-subscriber", + "tracing-subscriber 0.3.18", ] [[package]] @@ -5138,7 +5670,7 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -5160,10 +5692,10 @@ dependencies = [ "rain_interpreter_bindings", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", - "tracing-subscriber", + "tracing-subscriber 0.3.18", ] [[package]] @@ -5177,7 +5709,7 @@ dependencies = [ "rain_interpreter_dispair", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "tokio", ] @@ -5188,8 +5720,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "serde", ] [[package]] @@ -5199,7 +5743,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -5208,7 +5762,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", + "serde", ] [[package]] @@ -5217,7 +5781,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -5261,21 +5825,32 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom", + "getrandom 0.2.15", + "libredox", + "thiserror 1.0.63", +] + +[[package]] +name = "redox_users" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +dependencies = [ + "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -5289,21 +5864,15 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] -[[package]] -name = "regex-lite" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" - [[package]] name = "regex-syntax" version = "0.6.29" @@ -5312,9 +5881,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" @@ -5327,11 +5896,10 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-rustls 0.24.2", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5341,7 +5909,6 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", @@ -5350,13 +5917,11 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.25.4", "winreg 0.50.0", ] @@ -5368,124 +5933,251 @@ checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", "futures-channel", "futures-core", "futures-util", + "h2 0.4.10", "http 1.1.0", "http-body 1.0.1", "http-body-util", "hyper 1.4.1", - "hyper-rustls 0.27.2", + "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", "log", "mime", + "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.12", - "rustls-native-certs 0.7.1", + "rustls", + "rustls-native-certs", "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", + "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.0", + "tokio-rustls", + "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", - "webpki-roots 0.26.3", + "webpki-roots", "winreg 0.52.0", ] [[package]] name = "revm" -version = "10.0.0" +version = "24.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355bde4e21578c241f9379fbb344a73d254969b5007239115e094dda1511cd34" +checksum = "01d277408ff8d6f747665ad9e52150ab4caf8d5eaf0d787614cf84633c8337b4" +dependencies = [ + "revm-bytecode", + "revm-context", + "revm-context-interface", + "revm-database", + "revm-database-interface", + "revm-handler", + "revm-inspector", + "revm-interpreter", + "revm-precompile", + "revm-primitives", + "revm-state", +] + +[[package]] +name = "revm-bytecode" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91f9b90b3bab18942252de2d970ee8559794c49ca7452b2cc1774456040f8fb" +dependencies = [ + "bitvec", + "once_cell", + "phf", + "revm-primitives", + "serde", +] + +[[package]] +name = "revm-context" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" dependencies = [ - "auto_impl", "cfg-if", - "dyn-clone", + "derive-where", + "revm-bytecode", + "revm-context-interface", + "revm-database-interface", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-context-interface" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "auto_impl", + "either", + "revm-database-interface", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-database" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" +dependencies = [ + "alloy-eips", + "revm-bytecode", + "revm-database-interface", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-database-interface" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" +dependencies = [ + "auto_impl", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-handler" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "481e8c3290ff4fa1c066592fdfeb2b172edfd14d12e6cade6f6f5588cad9359a" +dependencies = [ + "auto_impl", + "revm-bytecode", + "revm-context", + "revm-context-interface", + "revm-database-interface", "revm-interpreter", "revm-precompile", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-inspector" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" +dependencies = [ + "auto_impl", + "revm-context", + "revm-database-interface", + "revm-handler", + "revm-interpreter", + "revm-primitives", + "revm-state", "serde", "serde_json", ] [[package]] name = "revm-inspectors" -version = "0.3.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aede4aaaa0c5b446ce1a951629d7929ea48473a0f307bd8d999ecdeb55c420b" +checksum = "4b50ef375dbacefecfdacf8f02afc31df98acc5d8859a6f2b24d121ff2a740a8" dependencies = [ - "alloy-primitives 0.7.7", - "alloy-rpc-types", - "alloy-sol-types 0.7.7", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-sol-types", "anstyle", "colorchoice", "revm", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "revm-interpreter" -version = "6.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dfd24faa3cbbd96e0976103d1e174d6559b8036730f70415488ee21870d578" +checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" dependencies = [ + "revm-bytecode", + "revm-context-interface", "revm-primitives", "serde", ] [[package]] name = "revm-precompile" -version = "8.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c669c9b105dbb41133c17bf7f34d29368e358a7fee8fcc289e90dbfb024dfc4" +checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" dependencies = [ + "ark-bls12-381", + "ark-bn254", + "ark-ec", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", "aurora-engine-modexp", "blst", "c-kzg", + "cfg-if", "k256", + "libsecp256k1", "once_cell", "p256", "revm-primitives", "ripemd", "secp256k1", - "sha2", - "substrate-bn", + "sha2 0.10.8", ] [[package]] name = "revm-primitives" -version = "5.0.0" +version = "19.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "902184a7a781550858d4b96707098da357429f1e4545806fd5b589f455555cf2" +checksum = "18ea2ea0134568ee1e14281ce52f60e2710d42be316888d464c53e37ff184fd8" +dependencies = [ + "alloy-primitives", + "num_enum", + "serde", +] + +[[package]] +name = "revm-state" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" dependencies = [ - "alloy-primitives 0.7.7", - "auto_impl", "bitflags 2.6.0", - "bitvec", - "c-kzg", - "cfg-if", - "derive_more", - "dyn-clone", - "enumn", - "hashbrown", - "hex", - "once_cell", + "revm-bytecode", + "revm-primitives", "serde", ] @@ -5522,7 +6214,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5583,22 +6275,25 @@ dependencies = [ [[package]] name = "ruint" -version = "1.12.3" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" dependencies = [ "alloy-rlp", "arbitrary", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", + "rand 0.9.1", "rlp", "ruint-macro", "serde", @@ -5630,9 +6325,12 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +dependencies = [ + "rand 0.8.5", +] [[package]] name = "rustc-hex" @@ -5667,20 +6365,21 @@ dependencies = [ "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] [[package]] -name = "rustls" -version = "0.21.12" +name = "rustix" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", - "sct", + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", ] [[package]] @@ -5692,23 +6391,11 @@ dependencies = [ "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework", -] - [[package]] name = "rustls-native-certs" version = "0.7.1" @@ -5747,16 +6434,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - [[package]] name = "rustls-webpki" version = "0.102.6" @@ -5810,6 +6487,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sanitize-filename" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc984f4f9ceb736a7bb755c3e3bd17dc56370af2600c9780dcc48c66453da34d" +dependencies = [ + "regex", +] + [[package]] name = "scale-info" version = "2.11.3" @@ -5817,7 +6503,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "cfg-if", - "derive_more", + "derive_more 0.99.18", "parity-scale-codec", "scale-info-derive", ] @@ -5843,6 +6529,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -5858,17 +6550,7 @@ dependencies = [ "hmac", "pbkdf2 0.11.0", "salsa20", - "sha2", -] - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "sha2 0.10.8", ] [[package]] @@ -5881,18 +6563,21 @@ dependencies = [ "der", "generic-array", "pkcs8", + "serdect", "subtle", "zeroize", ] [[package]] name = "secp256k1" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0cc0f1cf93f4969faf3ea1c7d8a9faed25918d96affa959720823dfe86d4f3" +checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ - "rand", + "bitcoin_hashes", + "rand 0.8.5", "secp256k1-sys", + "serde", ] [[package]] @@ -5992,7 +6677,16 @@ checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", +] + +[[package]] +name = "serde_fmt" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" +dependencies = [ + "serde", ] [[package]] @@ -6001,7 +6695,7 @@ version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ - "indexmap", + "indexmap 2.9.0", "itoa", "memchr", "ryu", @@ -6009,13 +6703,14 @@ dependencies = [ ] [[package]] -name = "serde_regex" -version = "1.1.0" +name = "serde_repr" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ - "regex", - "serde", + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -6031,11 +6726,51 @@ dependencies = [ name = "serde_urlencoded" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.9.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" dependencies = [ - "form_urlencoded", - "itoa", - "ryu", + "base16ct", "serde", ] @@ -6050,6 +6785,19 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha2" version = "0.10.8" @@ -6118,7 +6866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -6135,7 +6883,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.63", "time", ] @@ -6159,6 +6907,9 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +dependencies = [ + "serde", +] [[package]] name = "socket2" @@ -6171,17 +6922,165 @@ dependencies = [ ] [[package]] -name = "solang-parser" -version = "0.3.3" +name = "solar-ast" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +checksum = "acb0d9abd88c1325e5c0f9bb153ebfb02ed40bc9639067d0ad120f5d29ee8777" dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", + "alloy-primitives", + "bumpalo", + "either", + "num-bigint", + "num-rational", + "semver 1.0.23", + "solar-data-structures", + "solar-interface", + "solar-macros", + "strum 0.27.1", + "typed-arena", +] + +[[package]] +name = "solar-config" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "908d455bb7c04acd783bd157b63791bf010cf6a495a845e48f7aee334aad319f" +dependencies = [ + "strum 0.27.1", +] + +[[package]] +name = "solar-data-structures" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8b5a697cab81241c4623b4546c69e57182202847a75d7c0047c0dd10b923d8c" +dependencies = [ + "bumpalo", + "index_vec", + "indexmap 2.9.0", + "parking_lot", + "rayon", + "rustc-hash", + "smallvec", +] + +[[package]] +name = "solar-interface" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e49e5a714ec80d7f9c8942584e5e86add1c5e824aa175d0681e9ac7a10e5cc" +dependencies = [ + "annotate-snippets", + "anstream", + "anstyle", + "const-hex", + "derive_builder 0.20.2", + "derive_more 2.0.1", + "dunce", + "itertools 0.13.0", + "itoa", + "lasso", + "match_cfg", + "normalize-path", + "rayon", + "scoped-tls", + "solar-config", + "solar-data-structures", + "solar-macros", + "thiserror 1.0.63", + "tracing", + "unicode-width 0.2.0", +] + +[[package]] +name = "solar-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17f8b99f28f358b41acb6efe4d7b8f326541b3c58a15dd1931d6fe581feefef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "solar-parse" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6982ef2ecfb1338c774c743ab7166ce8c3dcc92089ab77fad58eeb632b201e9" +dependencies = [ + "alloy-primitives", + "bitflags 2.6.0", + "bumpalo", + "itertools 0.13.0", + "memchr", + "num-bigint", + "num-rational", + "num-traits", + "smallvec", + "solar-ast", + "solar-data-structures", + "solar-interface", + "tracing", +] + +[[package]] +name = "solar-sema" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe8e0a3a6dfc7f4987bfb93f9b56079150407ef55c459964a1541c669554b74d" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "bitflags 2.6.0", + "bumpalo", + "derive_more 2.0.1", + "either", + "once_map", + "paste", + "rayon", + "serde", + "serde_json", + "solar-ast", + "solar-data-structures", + "solar-interface", + "solar-macros", + "solar-parse", + "strum 0.27.1", + "thread_local", + "tracing", + "typed-arena", +] + +[[package]] +name = "soldeer-core" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a67f45108aec81281be2c23000bde114d568ac3899026779f21656bbc3d85671" +dependencies = [ + "bon", + "chrono", + "const-hex", + "derive_more 2.0.1", + "dunce", + "home", + "ignore", + "log", + "path-slash", + "rayon", + "regex", + "reqwest 0.12.5", + "sanitize-filename", + "semver 1.0.23", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror 2.0.12", + "tokio", + "toml_edit 0.22.20", + "uuid 1.10.0", + "zip 2.4.2", + "zip-extract", ] [[package]] @@ -6207,23 +7106,16 @@ dependencies = [ ] [[package]] -name = "static_assertions" -version = "1.1.0" +name = "stable_deref_trait" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] -name = "string_cache" -version = "0.8.7" +name = "static_assertions" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", -] +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "strsim" @@ -6243,7 +7135,16 @@ version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros", + "strum_macros 0.26.4", +] + +[[package]] +name = "strum" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +dependencies = [ + "strum_macros 0.27.1", ] [[package]] @@ -6252,24 +7153,24 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] -name = "substrate-bn" -version = "0.6.0" +name = "strum_macros" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ - "byteorder", - "crunchy", - "lazy_static", - "rand", - "rustc-hex", + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.101", ] [[package]] @@ -6279,23 +7180,81 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] -name = "svm-rs" -version = "0.3.5" +name = "sval" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc9739f56c5d0c44a5ed45473ec868af02eb896af8c05f616673a31e1d1bb09" + +[[package]] +name = "sval_buffer" +version = "2.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +checksum = "f39b07436a8c271b34dad5070c634d1d3d76d6776e938ee97b4a66a5e8003d0b" +dependencies = [ + "sval", + "sval_ref", +] + +[[package]] +name = "sval_dynamic" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffcb072d857431bf885580dacecf05ed987bac931230736739a79051dbf3499b" +dependencies = [ + "sval", +] + +[[package]] +name = "sval_fmt" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f214f427ad94a553e5ca5514c95c6be84667cbc5568cce957f03f3477d03d5c" +dependencies = [ + "itoa", + "ryu", + "sval", +] + +[[package]] +name = "sval_json" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ed34b32e638dec9a99c8ac92d0aa1220d40041026b625474c2b6a4d6f4feb" +dependencies = [ + "itoa", + "ryu", + "sval", +] + +[[package]] +name = "sval_nested" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14bae8fcb2f24fee2c42c1f19037707f7c9a29a0cda936d2188d48a961c4bb2a" +dependencies = [ + "sval", + "sval_buffer", + "sval_ref", +] + +[[package]] +name = "sval_ref" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4eaea3821d3046dcba81d4b8489421da42961889902342691fb7eab491d79e" +dependencies = [ + "sval", +] + +[[package]] +name = "sval_serde" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "172dd4aa8cb3b45c8ac8f3b4111d644cd26938b0643ede8f93070812b87fb339" dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest 0.11.27", - "semver 1.0.23", "serde", - "serde_json", - "sha2", - "thiserror", - "url", - "zip 0.6.6", + "sval", + "sval_nested", ] [[package]] @@ -6305,17 +7264,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af5910befd515534a92e9424f250d952fe6f6dba6a92bd001dfeba1fb4a2f87c" dependencies = [ "const-hex", - "dirs", + "dirs 5.0.1", "fs4", "once_cell", "reqwest 0.12.5", "semver 1.0.23", "serde", "serde_json", - "sha2", - "thiserror", + "sha2 0.10.8", + "thiserror 1.0.63", "url", - "zip 2.1.6", + "zip 2.4.2", ] [[package]] @@ -6328,7 +7287,7 @@ dependencies = [ "const-hex", "semver 1.0.23", "serde_json", - "svm-rs 0.5.4", + "svm-rs", ] [[package]] @@ -6344,9 +7303,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -6355,26 +7314,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3d0961cd53c23ea94eeec56ba940f636f6394788976e9f16ca5ee0aca7464a" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "syn-solidity" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +checksum = "14c8c8f496c33dc6343dac05b4be8d9e0bca180a4caa81d7b8416b10cc2273cd" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -6389,6 +7336,17 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -6418,36 +7376,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if", "fastrand", + "getrandom 0.3.3", "once_cell", - "rustix", + "rustix 1.0.7", "windows-sys 0.59.0", ] [[package]] -name = "term" -version = "0.7.0" +name = "terminal_size" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "dirs-next", - "rustversion", - "winapi", + "rustix 0.38.34", + "windows-sys 0.48.0", ] [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" dependencies = [ - "rustix", - "windows-sys 0.48.0", + "rustix 1.0.7", + "windows-sys 0.59.0", ] [[package]] @@ -6456,7 +7413,16 @@ version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.63", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -6467,7 +7433,18 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -6497,7 +7474,9 @@ checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "libc", "num-conv", + "num_threads", "powerfmt", "serde", "time-core", @@ -6529,6 +7508,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -6569,27 +7558,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[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", + "quote", + "syn 2.0.101", ] [[package]] -name = "tokio-rustls" -version = "0.24.1" +name = "tokio-native-tls" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ - "rustls 0.21.12", + "native-tls", "tokio", ] @@ -6599,7 +7578,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls", "rustls-pki-types", "tokio", ] @@ -6618,33 +7597,18 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls 0.21.12", - "tokio", - "tokio-rustls 0.24.1", - "tungstenite 0.20.1", - "webpki-roots 0.25.4", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.23.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.12", + "rustls", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", - "tungstenite 0.23.0", - "webpki-roots 0.26.3", + "tokio-rustls", + "tungstenite", + "webpki-roots", ] [[package]] @@ -6666,7 +7630,7 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ - "indexmap", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", @@ -6688,7 +7652,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap", + "indexmap 2.9.0", "toml_datetime", "winnow 0.5.40", ] @@ -6699,7 +7663,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", @@ -6719,7 +7683,20 @@ dependencies = [ "tokio", "tower-layer", "tower-service", - "tracing", +] + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.1", + "tower-layer", + "tower-service", ] [[package]] @@ -6740,7 +7717,6 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -6754,7 +7730,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] @@ -6773,6 +7749,8 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ + "futures", + "futures-task", "pin-project", "tracing", ] @@ -6788,6 +7766,15 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", +] + [[package]] name = "tracing-subscriber" version = "0.3.18" @@ -6808,15 +7795,15 @@ dependencies = [ [[package]] name = "trezor-client" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f62c95b37f6c769bd65a0d0beb8b2b003e72998003b896a616a6777c645c05ed" +checksum = "10636211ab89c96ed2824adc5ec0d081e1080aeacc24c37abb318dcb31dcc779" dependencies = [ "byteorder", "hex", "protobuf", "rusb", - "thiserror", + "thiserror 1.0.63", "tracing", ] @@ -6828,43 +7815,34 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", - "http 0.2.12", + "http 1.1.0", "httparse", "log", - "rand", - "rustls 0.21.12", + "rand 0.9.1", + "rustls", + "rustls-pki-types", "sha1", - "thiserror", - "url", + "thiserror 2.0.12", "utf-8", ] [[package]] -name = "tungstenite" -version = "0.23.0" +name = "typed-arena" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.1.0", - "httparse", - "log", - "rand", - "rustls 0.23.12", - "rustls-pki-types", - "sha1", - "thiserror", - "utf-8", -] +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" @@ -6884,7 +7862,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ - "arbitrary", "byteorder", "crunchy", "hex", @@ -6915,12 +7892,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" @@ -6928,13 +7899,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "unicode-normalization" -version = "0.1.23" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" @@ -6942,6 +7910,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + [[package]] name = "unicode-xid" version = "0.2.4" @@ -6962,9 +7936,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -6977,6 +7951,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -6989,7 +7969,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom", + "getrandom 0.2.15", "serde", ] @@ -6998,6 +7978,10 @@ name = "uuid" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom 0.2.15", + "serde", +] [[package]] name = "valuable" @@ -7005,6 +7989,42 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "value-bag" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" +dependencies = [ + "value-bag-serde1", + "value-bag-sval2", +] + +[[package]] +name = "value-bag-serde1" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35540706617d373b118d550d41f5dfe0b78a0c195dc13c6815e92e2638432306" +dependencies = [ + "erased-serde", + "serde", + "serde_fmt", +] + +[[package]] +name = "value-bag-sval2" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe7e140a2658cc16f7ee7a86e413e803fc8f9b5127adc8755c19f9fefa63a52" +dependencies = [ + "sval", + "sval_buffer", + "sval_dynamic", + "sval_fmt", + "sval_json", + "sval_ref", + "sval_serde", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -7012,16 +8032,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] -name = "version_check" -version = "0.9.5" +name = "vergen" +version = "8.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" +dependencies = [ + "anyhow", + "cfg-if", + "rustversion", + "time", +] [[package]] -name = "vsimd" -version = "0.8.0" +name = "version_check" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" @@ -7057,29 +8083,38 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -7097,9 +8132,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7107,38 +8142,62 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] -name = "web-sys" -version = "0.3.70" +name = "wasm-streams" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" dependencies = [ + "futures-util", "js-sys", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "webpki-roots" -version = "0.25.4" +name = "wasmtimer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + +[[package]] +name = "web-sys" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] [[package]] name = "webpki-roots" @@ -7361,6 +8420,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" @@ -7381,6 +8449,21 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + [[package]] name = "ws_stream_wasm" version = "0.7.4" @@ -7394,7 +8477,7 @@ dependencies = [ "pharos", "rustc_version 0.4.0", "send_wrapper 0.6.0", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7410,10 +8493,10 @@ dependencies = [ ] [[package]] -name = "yansi" -version = "0.5.1" +name = "xxhash-rust" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yansi" @@ -7424,6 +8507,30 @@ dependencies = [ "is-terminal", ] +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -7442,7 +8549,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "synstructure", ] [[package]] @@ -7462,85 +8590,101 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.101", ] [[package]] -name = "zip" -version = "0.6.6" +name = "zerotrie" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq", - "crc32fast", - "crossbeam-utils", - "flate2", - "hmac", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] name = "zip" -version = "2.1.6" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40dd8c92efc296286ce1fbd16657c5dbefff44f1b4ca01cc5f517d8b7b3d3e2e" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", "displaydoc", "flate2", - "indexmap", + "indexmap 2.9.0", "memchr", - "thiserror", + "thiserror 2.0.12", "zopfli", ] [[package]] -name = "zopfli" -version = "0.8.1" +name = "zip" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd" dependencies = [ - "bumpalo", + "arbitrary", + "bzip2", "crc32fast", - "lockfree-object-pool", - "log", - "once_cell", - "simd-adler32", + "flate2", + "indexmap 2.9.0", + "memchr", + "zopfli", ] [[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" +name = "zip-extract" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "db6d94e397dd6d0273e6747e46e7aa0289bfd9736ba8772f2fe948bc4adc3f73" dependencies = [ - "zstd-safe", + "log", + "thiserror 2.0.12", + "zip 4.0.0", ] [[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +name = "zlib-rs" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] +checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" [[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +name = "zopfli" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" dependencies = [ - "cc", - "pkg-config", + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", ] diff --git a/Cargo.toml b/Cargo.toml index 0e670d008..14f65e850 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,19 +3,19 @@ members = ["crates/*"] resolver = "2" [workspace.package] -edition = "2021" +edition = "2024" license = "CAL-1.0" homepage = "https://github.com/rainprotocol/rain.interpreter" [workspace.dependencies] -alloy = { version = "0.1.4", features = ["sol-types", "json", "json-abi"] } +alloy = { version = "1.0.9", features = ["sol-types", "json", "json-abi"] } anyhow = "1.0.70" clap = { version = "4.2.5", features = ["cargo", "derive"] } ethers = { version = "2.0.14", default-features = false } -foundry-evm = { git = "https://github.com/foundry-rs/foundry", rev = "72e44fb87c38b2acfa2b0b136fc1bc833f71e674" } -foundry-fork-db = "0.1.0" -foundry-block-explorers = "0.5.0" -revm = { version = "10.0.0", default-features = false, features = [ +foundry-evm = { git = "https://github.com/foundry-rs/foundry", rev = "dc43e2c1ab70ec111d3272572e1732008f973a06" } +foundry-fork-db = "0.15.0" +foundry-block-explorers = "0.18.0" +revm = { version = "24.0.1", default-features = false, features = [ "std", "serde", "memory_limit", @@ -32,10 +32,10 @@ tracing = "0.1.37" tracing-subscriber = "0.3.17" reqwest = { version = "0.11.17", features = ["json"] } once_cell = "1.17.1" -alloy-ethers-typecast = { git = "https://github.com/rainlanguage/alloy-ethers-typecast", rev = "0881930a22e84db49ba955c5b88e790e1266ac66" } +alloy-ethers-typecast = { git = "https://github.com/rainlanguage/alloy-ethers-typecast", rev = "f7b5bfd0687f16c77dbfdd4905b2434793fa7885" } rain-interpreter-env = { path = "crates/env" } eyre = "0.6" -rain-error-decoding = { git = "https://github.com/rainlanguage/rain.error", rev = "72d9577fdaf7135113847027ba951f9a43b41827" } +rain-error-decoding = { git = "https://github.com/rainlanguage/rain.error", rev = "bf08b5ab305287fc49408a441d6375f35dc280db" } [workspace.dependencies.rain_interpreter_parser] path = "crates/parser" diff --git a/crates/cli/.gitignore b/crates/cli/.gitignore deleted file mode 100644 index 1de565933..000000000 --- a/crates/cli/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target \ No newline at end of file diff --git a/crates/cli/Cargo.lock b/crates/cli/Cargo.lock deleted file mode 100644 index 13e617d55..000000000 --- a/crates/cli/Cargo.lock +++ /dev/null @@ -1,1585 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anstream" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is-terminal", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" - -[[package]] -name = "anstyle-parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "anstyle-wincon" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" -dependencies = [ - "anstyle", - "windows-sys 0.48.0", -] - -[[package]] -name = "anyhow" -version = "1.0.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" - -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base64" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bumpalo" -version = "3.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clap" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" -dependencies = [ - "clap_builder", - "clap_derive", - "once_cell", -] - -[[package]] -name = "clap_builder" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" -dependencies = [ - "anstream", - "anstyle", - "bitflags", - "clap_lex", - "once_cell", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "clap_lex" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "either" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" - -[[package]] -name = "encoding_rs" -version = "0.8.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[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.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" - -[[package]] -name = "futures-sink" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" - -[[package]] -name = "futures-task" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" - -[[package]] -name = "futures-util" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "pin-utils", -] - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "graphql-introspection-query" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" -dependencies = [ - "serde", -] - -[[package]] -name = "graphql-parser" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" -dependencies = [ - "combine", - "thiserror", -] - -[[package]] -name = "graphql_client" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa61bb9dc6d373a8b465a5da17b62809483e8527a34b0e9034dc0915b09e160a" -dependencies = [ - "graphql_query_derive", - "serde", - "serde_json", -] - -[[package]] -name = "graphql_client_codegen" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e55df64cc702c4ad6647f8df13a799ad11688a3781fadf5045f7ba12733fa9b" -dependencies = [ - "graphql-introspection-query", - "graphql-parser", - "heck", - "lazy_static", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 1.0.109", -] - -[[package]] -name = "graphql_query_derive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52fc9cde811f44b15ec0692b31e56a3067f6f431c5ace712f286e47c1dacc98" -dependencies = [ - "graphql_client_codegen", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "h2" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[package]] -name = "http" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - -[[package]] -name = "is-terminal" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "itoa" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" - -[[package]] -name = "js-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.142" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" - -[[package]] -name = "linux-raw-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mio" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.45.0", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi 0.2.6", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "openssl" -version = "0.10.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" -dependencies = [ - "bitflags", - "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.15", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "proc-macro2" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rain_cli_ob" -version = "0.0.4" -dependencies = [ - "anyhow", - "clap", - "graphql_client", - "once_cell", - "reqwest", - "rust-bigint", - "serde", - "serde_bytes", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags", -] - -[[package]] -name = "reqwest" -version = "0.11.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rust-bigint" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe1d6964d886b707f3e2cec76ac5b0e887661a6699f695ed0d3d5bb4852d6959" -dependencies = [ - "getrandom", - "rust-gmp-kzen", - "serde", - "serde_derive", -] - -[[package]] -name = "rust-gmp-kzen" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e654bb304958a567aefa09e83cc313251388202c40bfc245fac19a0e2dd8d08" -dependencies = [ - "libc", - "num-traits", - "serde", -] - -[[package]] -name = "rustix" -version = "0.37.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc809f704c03a812ac71f22456c857be34185cac691a4316f27ab0f633bb9009" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "ryu" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "security-framework" -version = "2.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "serde" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "serde_json" -version = "1.0.96" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" -dependencies = [ - "autocfg", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[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-util" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" - -[[package]] -name = "web-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] diff --git a/flake.lock b/flake.lock index 996384c3b..a9e3befee 100644 --- a/flake.lock +++ b/flake.lock @@ -182,11 +182,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1741023058, - "narHash": "sha256-LSd/8CBlpDLjci5ANFJjP0w+dGdY/mqKsyUfhjGwnfs=", + "lastModified": 1749028224, + "narHash": "sha256-QASvMXLxZpkSMFCMdymj9ZDLfH+KoYEbUabuiId+uS0=", "owner": "shazow", "repo": "foundry.nix", - "rev": "66becfe20b7e688b8f2e5774609c4436cf202ba0", + "rev": "3c15241d74bfdb82e07636ce65faf02bcbfc13d6", "type": "github" }, "original": { @@ -272,11 +272,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1747828570, - "narHash": "sha256-tv8R4Z/69GC8zogsb5TNDRj5tkhMeHpyYIzRl1cJigo=", + "lastModified": 1749104371, + "narHash": "sha256-m2NmOPd6XgBiskmUq/BS9Xxuf3z0ebnGVfSKNAO5NEM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "040a62f13f40879a05578a66dd4ae0d284c55a5b", + "rev": "48975d7f9b9960ed33c4e8561bcce20cc0c2de5b", "type": "github" }, "original": { @@ -303,11 +303,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1731531548, - "narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=", + "lastModified": 1748662220, + "narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "24f0d4acd634792badd6470134c387a3b039dace", + "rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643", "type": "github" }, "original": { @@ -367,16 +367,17 @@ "solc": "solc_2" }, "locked": { - "lastModified": 1748346550, - "narHash": "sha256-Rlaj/hHHACo0blFKane6/arqIXWUCGe/sCNgqX8VfZ8=", + "lastModified": 1749105147, + "narHash": "sha256-kQ3kva16T5Vh/aFR+CR71H+ebvN2TIel9mALAehm1QA=", "owner": "rainlanguage", "repo": "rainix", - "rev": "a1a5c321f356cb5006d16dd2d1a2242c183b7e96", + "rev": "870f018fa1b7e72a93be6d2bfa65277f9a994d86", "type": "github" }, "original": { "owner": "rainlanguage", "repo": "rainix", + "rev": "870f018fa1b7e72a93be6d2bfa65277f9a994d86", "type": "github" } }, @@ -411,11 +412,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1747795013, - "narHash": "sha256-c7i0xJ+xFhgjO9SWHYu5dF/7lq63RPDvwKAdjc6VCE4=", + "lastModified": 1749091064, + "narHash": "sha256-TGtYjzRX0sueFhwYsnNNFF5TTKnpnloznpIghLzxeXo=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "6b1cf12374361859242a562e1933a7930649131a", + "rev": "12419593ce78f2e8e1e89a373c6515885e218acb", "type": "github" }, "original": { @@ -446,13 +447,13 @@ "solc-macos-amd64-list-json": { "flake": false, "locked": { - "narHash": "sha256-U5ckttxwKO13gIKggel6iybG5oTDbSidPR5nH3Gs+kY=", + "narHash": "sha256-AvITkfpNYgCypXuLJyqco0li+unVw39BAfdOZvd/SPE=", "type": "file", - "url": "https://github.com/ethereum/solc-bin/raw/30a3695/macosx-amd64/list.json" + "url": "https://github.com/ethereum/solc-bin/raw/26fc3fd/macosx-amd64/list.json" }, "original": { "type": "file", - "url": "https://github.com/ethereum/solc-bin/raw/30a3695/macosx-amd64/list.json" + "url": "https://github.com/ethereum/solc-bin/raw/26fc3fd/macosx-amd64/list.json" } }, "solc_2": { @@ -462,11 +463,11 @@ "solc-macos-amd64-list-json": "solc-macos-amd64-list-json" }, "locked": { - "lastModified": 1742758229, - "narHash": "sha256-FrU9rhab/0vOjjeFoQF+Ej43zRLv3enUIYjgLrH3Gd8=", + "lastModified": 1748780655, + "narHash": "sha256-mradCdMvjXwKd7kVFACB/d1CP2LLCyEgUu4vJCSzNLU=", "owner": "hellwolf", "repo": "solc.nix", - "rev": "6885b61bac89da19a6e3c70b89fdd592e2cef884", + "rev": "3b6f3223ace5a7bc400b01a434d86bb1cb2593fb", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 299673365..08d9dbfe3 100644 --- a/flake.nix +++ b/flake.nix @@ -3,14 +3,14 @@ inputs = { flake-utils.url = "github:numtide/flake-utils"; - rainix.url = "github:rainlanguage/rainix"; + rainix.url = + "github:rainlanguage/rainix?rev=870f018fa1b7e72a93be6d2bfa65277f9a994d86"; rain.url = "github:rainlanguage/rain.cli"; }; outputs = { self, flake-utils, rainix, rain }: flake-utils.lib.eachDefaultSystem (system: - let - pkgs = rainix.pkgs.${system}; + let pkgs = rainix.pkgs.${system}; in rec { packages = rec { i9r-prelude = rainix.mkTask.${system} { @@ -41,7 +41,8 @@ -l none \ -o meta/RainterpreterReferenceExtern.rain.meta \ ''; - additionalBuildInputs = rainix.sol-build-inputs.${system} ++ [rain.defaultPackage.${system}]; + additionalBuildInputs = rainix.sol-build-inputs.${system} + ++ [ rain.defaultPackage.${system} ]; }; test-wasm-build = rainix.mkTask.${system} { @@ -56,12 +57,8 @@ devShells.default = pkgs.mkShell { shellHook = rainix.devShells.${system}.default.shellHook; - packages = [ - packages.i9r-prelude - packages.test-wasm-build - ]; + packages = [ packages.i9r-prelude packages.test-wasm-build ]; inputsFrom = [ rainix.devShells.${system}.default ]; }; - } - ); -} \ No newline at end of file + }); +} From 10e2d7e28d02448cea9caf19b644335de3c8c426 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Thu, 5 Jun 2025 13:28:33 +0400 Subject: [PATCH 02/30] fix build for default target --- Cargo.lock | 1545 +++++++++++++++++++------------------ Cargo.toml | 1 + crates/dispair/src/lib.rs | 14 +- crates/eval/src/eval.rs | 8 +- crates/eval/src/fork.rs | 92 ++- crates/eval/src/trace.rs | 8 +- crates/parser/src/v1.rs | 13 +- crates/parser/src/v2.rs | 37 +- 8 files changed, 899 insertions(+), 819 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b363e8aac..3a0bdd87b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,19 +14,13 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -46,12 +40,12 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check", "zerocopy", @@ -68,9 +62,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" @@ -196,7 +190,7 @@ dependencies = [ "proptest", "serde", "serde_json", - "winnow 0.7.10", + "winnow", ] [[package]] @@ -253,7 +247,7 @@ dependencies = [ "derive_more 2.0.1", "either", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -279,9 +273,9 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "url", ] @@ -482,7 +476,7 @@ dependencies = [ "lru", "parking_lot", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.19", "serde", "serde_json", "thiserror 2.0.12", @@ -508,7 +502,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tracing", "wasmtimer", ] @@ -548,12 +542,12 @@ dependencies = [ "async-stream", "futures", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.19", "serde", "serde_json", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tracing", "tracing-futures", "url", @@ -596,7 +590,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more 2.0.1", - "jsonwebtoken 9.3.0", + "jsonwebtoken 9.3.1", "rand 0.8.5", "serde", "strum 0.27.1", @@ -616,7 +610,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "thiserror 2.0.12", @@ -679,7 +673,7 @@ dependencies = [ "async-trait", "coins-ledger", "futures-util", - "semver 1.0.23", + "semver 1.0.26", "thiserror 2.0.12", "tracing", ] @@ -714,7 +708,7 @@ dependencies = [ "alloy-primitives", "alloy-signer", "async-trait", - "semver 1.0.23", + "semver 1.0.26", "thiserror 2.0.12", "tracing", "trezor-client", @@ -778,7 +772,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6195df2acd42df92a380a8db6205a5c7b41282d0ce3f4c665ecf7911ac292f1" dependencies = [ "serde", - "winnow 0.7.10", + "winnow", ] [[package]] @@ -810,7 +804,7 @@ dependencies = [ "serde_json", "thiserror 2.0.12", "tokio", - "tower 0.5.2", + "tower", "tracing", "url", "wasmtimer", @@ -824,9 +818,9 @@ checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.5", + "reqwest 0.12.19", "serde_json", - "tower 0.5.2", + "tower", "tracing", "url", ] @@ -860,7 +854,7 @@ dependencies = [ "alloy-pubsub", "alloy-transport", "futures", - "http 1.1.0", + "http 1.3.1", "rustls", "serde_json", "tokio", @@ -908,7 +902,7 @@ checksum = "710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4" dependencies = [ "anstyle", "memchr", - "unicode-width 0.2.0", + "unicode-width", ] [[package]] @@ -928,26 +922,26 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -963,9 +957,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "arbitrary" @@ -1055,7 +1049,7 @@ dependencies = [ "num-bigint", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -1274,18 +1268,18 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" dependencies = [ "serde", ] [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1294,9 +1288,9 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", @@ -1305,9 +1299,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", @@ -1322,7 +1316,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -1342,9 +1336,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "aurora-engine-modexp" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aef7712851e524f35fbbb74fa6599c5cd8692056a1c36f9ca0d2001b670e7e5" +checksum = "518bc5745a6264b5fd7b09dffb9667e400ee9e2bbe18555fac75e1fe9afa0df9" dependencies = [ "hex", "num", @@ -1352,9 +1346,9 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", @@ -1363,23 +1357,23 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1408,9 +1402,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bech32" @@ -1463,9 +1457,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -1529,7 +1523,7 @@ version = "3.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce61d2d3844c6b8d31b2353d9f66cf5e632b3e9549583fe3cac2f4f6136725e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "ident_case", "prettyplease", "proc-macro2", @@ -1544,43 +1538,37 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2 0.10.8", + "sha2 0.10.9", "tinyvec", ] [[package]] name = "bstr" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "serde", ] -[[package]] -name = "build_const" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" - [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.16.3" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" +checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" [[package]] name = "byteorder" @@ -1633,18 +1621,18 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3054fea8a20d8ff3968d5b22cc27501d2b08dc4decdb31b184323f00c5ef23bb" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1657,10 +1645,10 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -1678,17 +1666,23 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1730,9 +1724,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.16" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" dependencies = [ "clap_builder", "clap_derive", @@ -1740,24 +1734,24 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim 0.11.1", - "terminal_size 0.3.0", + "terminal_size", "unicase", - "unicode-width 0.1.13", + "unicode-width", ] [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck", "proc-macro2", @@ -1767,9 +1761,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "coins-bip32" @@ -1783,8 +1777,8 @@ dependencies = [ "hmac", "k256", "serde", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -1799,8 +1793,8 @@ dependencies = [ "hmac", "k256", "serde", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -1815,8 +1809,8 @@ dependencies = [ "once_cell", "pbkdf2 0.12.2", "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -1831,8 +1825,8 @@ dependencies = [ "once_cell", "pbkdf2 0.12.2", "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -1850,9 +1844,9 @@ dependencies = [ "ripemd", "serde", "serde_derive", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -1869,9 +1863,9 @@ dependencies = [ "generic-array", "ripemd", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -1884,13 +1878,13 @@ dependencies = [ "byteorder", "cfg-if", "const-hex", - "getrandom 0.2.15", + "getrandom 0.2.16", "hidapi-rusb", "js-sys", "log", "nix", "once_cell", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", "tracing", "wasm-bindgen", @@ -1899,33 +1893,32 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "comfy-table" -version = "7.1.1" +version = "7.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" dependencies = [ "crossterm", - "strum 0.26.3", - "strum_macros 0.26.4", - "unicode-width 0.1.13", + "unicode-segmentation", + "unicode-width", ] [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width 0.1.13", - "windows-sys 0.52.0", + "once_cell", + "unicode-width", + "windows-sys 0.59.0", ] [[package]] @@ -1947,6 +1940,26 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "convert_case" version = "0.7.1" @@ -1966,6 +1979,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1974,9 +1997,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -2007,9 +2030,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2032,14 +2055,14 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" -version = "0.27.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "crossterm_winapi", - "libc", "parking_lot", + "rustix 0.38.44", "winapi", ] @@ -2054,9 +2077,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -2101,12 +2124,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -2125,9 +2148,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", @@ -2150,11 +2173,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", "syn 2.0.101", ] @@ -2175,15 +2198,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -2192,9 +2215,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -2269,7 +2292,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.101", @@ -2295,17 +2318,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "derive_more" version = "1.0.0" @@ -2358,7 +2370,7 @@ dependencies = [ "console", "shell-words", "tempfile", - "thiserror 1.0.63", + "thiserror 1.0.69", "zeroize", ] @@ -2383,34 +2395,13 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", -] - [[package]] name = "dirs" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys 0.5.0", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.4.5", - "windows-sys 0.48.0", + "dirs-sys", ] [[package]] @@ -2421,7 +2412,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.0", + "redox_users", "windows-sys 0.59.0", ] @@ -2450,9 +2441,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "ecdsa" @@ -2513,15 +2504,15 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -2566,9 +2557,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" @@ -2606,9 +2597,9 @@ dependencies = [ "scrypt", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", - "thiserror 1.0.63", + "thiserror 1.0.69", "uuid 0.8.2", ] @@ -2625,7 +2616,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror 1.0.63", + "thiserror 1.0.69", "uint", ] @@ -2702,7 +2693,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -2768,7 +2759,7 @@ dependencies = [ "strum 0.26.3", "syn 2.0.101", "tempfile", - "thiserror 1.0.63", + "thiserror 1.0.69", "tiny-keccak", "unicode-xid", ] @@ -2792,7 +2783,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -2824,7 +2815,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -2849,8 +2840,8 @@ dependencies = [ "eth-keystore", "ethers-core", "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "thiserror 1.0.69", "tracing", ] @@ -2894,9 +2885,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "rand_core 0.6.4", "subtle", @@ -2936,7 +2927,7 @@ checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", "libz-rs-sys", - "miniz_oxide 0.8.8", + "miniz_oxide", ] [[package]] @@ -3002,11 +2993,11 @@ dependencies = [ "alloy-json-abi", "alloy-primitives", "foundry-compilers", - "reqwest 0.12.5", - "semver 1.0.23", + "reqwest 0.12.19", + "semver 1.0.26", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tracing", ] @@ -3053,7 +3044,7 @@ dependencies = [ "rand_chacha 0.9.0", "revm", "revm-inspectors", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "thiserror 2.0.12", @@ -3110,16 +3101,16 @@ dependencies = [ "jiff", "num-format", "path-slash", - "reqwest 0.12.5", - "semver 1.0.23", + "reqwest 0.12.19", + "semver 1.0.26", "serde", "serde_json", "solar-parse", "solar-sema", - "terminal_size 0.4.2", + "terminal_size", "thiserror 2.0.12", "tokio", - "tower 0.5.2", + "tower", "tracing", "url", "vergen", @@ -3155,19 +3146,19 @@ dependencies = [ "alloy-primitives", "auto_impl", "derive_more 1.0.0", - "dirs 6.0.0", + "dirs", "dyn-clone", "foundry-compilers-artifacts", "foundry-compilers-core", "futures-util", "home", - "itertools 0.13.0", + "itertools 0.14.0", "path-slash", "rayon", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "solar-parse", "solar-sema", "svm-rs", @@ -3175,7 +3166,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tracing", - "winnow 0.7.10", + "winnow", "yansi", ] @@ -3201,7 +3192,7 @@ dependencies = [ "futures-util", "path-slash", "rayon", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "serde_repr", @@ -3223,7 +3214,7 @@ dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-core", "path-slash", - "semver 1.0.23", + "semver 1.0.26", "serde", ] @@ -3238,7 +3229,7 @@ dependencies = [ "dunce", "path-slash", "regex", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "svm-rs", @@ -3256,7 +3247,7 @@ dependencies = [ "alloy-chains", "alloy-primitives", "clap", - "dirs 6.0.0", + "dirs", "dunce", "eyre", "figment", @@ -3270,9 +3261,9 @@ dependencies = [ "number_prefix", "path-slash", "regex", - "reqwest 0.12.5", + "reqwest 0.12.19", "revm", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "solar-interface", @@ -3280,7 +3271,7 @@ dependencies = [ "soldeer-core", "thiserror 2.0.12", "toml", - "toml_edit 0.22.20", + "toml_edit", "tracing", "walkdir", "yansi", @@ -3377,7 +3368,7 @@ dependencies = [ "foundry-evm-core", "rayon", "revm", - "semver 1.0.23", + "semver 1.0.26", "tracing", ] @@ -3464,7 +3455,7 @@ source = "git+https://github.com/foundry-rs/foundry?rev=dc43e2c1ab70ec111d327257 dependencies = [ "alloy-primitives", "foundry-compilers", - "semver 1.0.23", + "semver 1.0.26", "thiserror 2.0.12", ] @@ -3507,12 +3498,12 @@ dependencies = [ [[package]] name = "fs4" -version = "0.8.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e180ac76c23b45e767bd7ae9579bc0bb458618c4bc71835926e098e61d15f8" +checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" dependencies = [ - "rustix 0.38.34", - "windows-sys 0.52.0", + "rustix 1.0.7", + "windows-sys 0.59.0", ] [[package]] @@ -3523,9 +3514,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3538,9 +3529,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3548,15 +3539,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3565,9 +3556,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-locks" @@ -3581,9 +3572,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -3592,15 +3583,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -3614,9 +3605,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3658,9 +3649,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -3685,15 +3676,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "globset" @@ -3761,7 +3752,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.1.0", + "http 1.3.1", "indexmap 2.9.0", "slab", "tokio", @@ -3824,15 +3815,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -3875,11 +3860,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3895,9 +3880,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -3922,27 +3907,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.1.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.4" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -3952,9 +3937,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -3976,15 +3961,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", "futures-util", "h2 0.4.10", - "http 1.1.0", + "http 1.3.1", "http-body 1.0.1", "httparse", "itoa", @@ -3996,13 +3981,12 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" dependencies = [ - "futures-util", - "http 1.1.0", - "hyper 1.4.1", + "http 1.3.1", + "hyper 1.6.0", "hyper-util", "rustls", "rustls-native-certs", @@ -4010,7 +3994,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", + "webpki-roots 1.0.0", ] [[package]] @@ -4020,7 +4004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.30", + "hyper 0.14.32", "native-tls", "tokio", "tokio-native-tls", @@ -4034,7 +4018,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.4.1", + "hyper 1.6.0", "hyper-util", "native-tls", "tokio", @@ -4044,34 +4028,41 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.1.0", + "http 1.3.1", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.6.0", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", "socket2", + "system-configuration 0.6.1", "tokio", - "tower 0.4.13", "tower-service", "tracing", + "windows-registry", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -4243,13 +4234,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", ] [[package]] @@ -4289,15 +4280,15 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ "console", - "instant", "number_prefix", "portable-atomic", - "unicode-width 0.1.13", + "unicode-width", + "web-time", ] [[package]] @@ -4308,9 +4299,9 @@ checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array", ] @@ -4326,9 +4317,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.2.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" +checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" dependencies = [ "doctest-file", "futures-core", @@ -4341,19 +4332,29 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +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 = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4391,16 +4392,17 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.1" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3590fea8e9e22d449600c9bbd481a8163bef223e4ff938e5f55899f8cf1adb93" +checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" dependencies = [ + "jiff-static", "jiff-tzdb-platform", "log", "portable-atomic", @@ -4409,6 +4411,17 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "jiff-static" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "jiff-tzdb" version = "0.1.4" @@ -4461,14 +4474,14 @@ dependencies = [ [[package]] name = "jsonwebtoken" -version = "9.3.0" +version = "9.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "js-sys", - "pem 3.0.4", - "ring 0.17.8", + "pem 3.0.5", + "ring 0.17.14", "serde", "serde_json", "simple_asn1", @@ -4476,16 +4489,16 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", "once_cell", "serdect", - "sha2 0.10.8", + "sha2 0.10.9", "signature", ] @@ -4500,9 +4513,9 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422fbc7ff2f2f5bdffeb07718e5a5324dca72b0c9293d50df4026652385e3314" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -4532,9 +4545,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" @@ -4542,7 +4555,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "libc", ] @@ -4615,9 +4628,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" @@ -4633,20 +4646,14 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", ] -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - [[package]] name = "log" version = "0.4.27" @@ -4665,6 +4672,12 @@ dependencies = [ "hashbrown 0.15.3", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "macro-string" version = "0.1.4" @@ -4714,7 +4727,7 @@ checksum = "d04b0347d2799ef17df4623dbcb03531031142105168e0c549e0bf1f980e9e7e" dependencies = [ "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -4733,15 +4746,6 @@ dependencies = [ "unicase", ] -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.8" @@ -4753,21 +4757,20 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -4775,7 +4778,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -4901,11 +4904,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", ] @@ -4960,9 +4963,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -5050,11 +5053,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -5076,15 +5079,15 @@ dependencies = [ [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -5113,40 +5116,42 @@ dependencies = [ "ecdsa", "elliptic-curve", "primeorder", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", ] [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -5154,9 +5159,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -5230,9 +5235,9 @@ dependencies = [ [[package]] name = "pem" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" dependencies = [ "base64 0.22.1", "serde", @@ -5255,12 +5260,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", - "thiserror 1.0.63", + "thiserror 2.0.12", "ucd-trie", ] @@ -5271,14 +5276,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ "futures", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", "phf_shared", @@ -5287,9 +5292,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand 0.8.5", @@ -5297,9 +5302,9 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", "phf_shared", @@ -5310,27 +5315,27 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", @@ -5339,9 +5344,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -5361,9 +5366,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" @@ -5397,18 +5402,18 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" dependencies = [ "proc-macro2", "syn 2.0.101", @@ -5439,11 +5444,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -5498,7 +5503,7 @@ checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags 2.9.1", "lazy_static", "num-traits", "rand 0.8.5", @@ -5529,7 +5534,7 @@ checksum = "b65f4a8ec18723a734e5dc09c173e0abf9690432da5340285d536edcb4dac190" dependencies = [ "once_cell", "protobuf-support", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -5538,7 +5543,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6872f4d4f4b98303239a2b5838f5bbbb77b01ffc892d627957f37a22d7cfe69c" dependencies = [ - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -5549,57 +5554,64 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.3" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", "rustls", "socket2", - "thiserror 1.0.63", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.6" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", - "rand 0.8.5", - "ring 0.17.8", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.1", + "ring 0.17.14", "rustc-hash", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.63", + "thiserror 2.0.12", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] @@ -5622,12 +5634,12 @@ version = "0.1.0" source = "git+https://github.com/rainlanguage/rain.error?rev=bf08b5ab305287fc49408a441d6375f35dc280db#bf08b5ab305287fc49408a441d6375f35dc280db" dependencies = [ "alloy", - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "reqwest 0.11.27", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", ] [[package]] @@ -5644,7 +5656,7 @@ dependencies = [ "serde_bytes", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -5670,7 +5682,7 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -5692,10 +5704,10 @@ dependencies = [ "rain_interpreter_bindings", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -5709,7 +5721,7 @@ dependencies = [ "rain_interpreter_dispair", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.69", "tokio", ] @@ -5762,7 +5774,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -5812,22 +5824,11 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror 1.0.63", + "bitflags 2.9.1", ] [[package]] @@ -5836,7 +5837,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", "thiserror 2.0.12", ] @@ -5899,7 +5900,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.32", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5909,12 +5910,12 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tower-service", @@ -5922,14 +5923,14 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "a2f8e5513d63f2e5b386eb5106dc67eaf3f84e95258e210489136b8b92ad6119" dependencies = [ "base64 0.22.1", "bytes", @@ -5938,10 +5939,10 @@ dependencies = [ "futures-core", "futures-util", "h2 0.4.10", - "http 1.1.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.6.0", "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", @@ -5957,25 +5958,25 @@ dependencies = [ "quinn", "rustls", "rustls-native-certs", - "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration", + "sync_wrapper 1.0.2", "tokio", "tokio-native-tls", "tokio-rustls", + "tokio-socks", "tokio-util", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", - "winreg 0.52.0", + "webpki-roots 1.0.0", ] [[package]] @@ -6155,7 +6156,7 @@ dependencies = [ "revm-primitives", "ripemd", "secp256k1", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -6175,7 +6176,7 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "revm-bytecode", "revm-primitives", "serde", @@ -6200,7 +6201,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin 0.5.2", + "spin", "untrusted 0.7.1", "web-sys", "winapi", @@ -6208,15 +6209,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", - "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] @@ -6254,23 +6254,23 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.3.1" +version = "7.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" dependencies = [ "libc", "rtoolbox", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "rtoolbox" -version = "0.0.2" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -6349,24 +6349,24 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.26", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", ] [[package]] @@ -6375,7 +6375,7 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.9.4", @@ -6384,12 +6384,12 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "once_cell", - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", "rustls-webpki", "subtle", @@ -6398,15 +6398,14 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.3", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.2.0", ] [[package]] @@ -6419,37 +6418,31 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.1.3" +name = "rustls-pki-types" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ - "base64 0.22.1", - "rustls-pki-types", + "web-time", + "zeroize", ] -[[package]] -name = "rustls-pki-types" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" - [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "rusty-fork" @@ -6465,9 +6458,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salsa20" @@ -6498,35 +6491,35 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", - "derive_more 0.99.18", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", ] [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6550,7 +6543,7 @@ dependencies = [ "hmac", "pbkdf2 0.11.0", "salsa20", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -6582,9 +6575,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1433bd67156263443f14d603720b082dd3121779323fce20cba2aa07b874bc1b" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ "cc", ] @@ -6595,8 +6588,21 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.9.1", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -6604,9 +6610,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -6623,18 +6629,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -6653,27 +6659,27 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.208" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -6691,9 +6697,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "indexmap 2.9.0", "itoa", @@ -6715,9 +6721,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -6758,7 +6764,7 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.101", @@ -6800,9 +6806,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -6821,9 +6827,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d79b758b7cb2085612b11a235055e485605a5103faccdd633f35bd7aee69dd" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -6852,9 +6858,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -6877,21 +6883,21 @@ checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "simple_asn1" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.63", + "thiserror 2.0.12", "time", ] [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" @@ -6904,18 +6910,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -6932,7 +6938,7 @@ dependencies = [ "either", "num-bigint", "num-rational", - "semver 1.0.23", + "semver 1.0.26", "solar-data-structures", "solar-interface", "solar-macros", @@ -6977,7 +6983,7 @@ dependencies = [ "derive_builder 0.20.2", "derive_more 2.0.1", "dunce", - "itertools 0.13.0", + "itertools 0.14.0", "itoa", "lasso", "match_cfg", @@ -6987,9 +6993,9 @@ dependencies = [ "solar-config", "solar-data-structures", "solar-macros", - "thiserror 1.0.63", + "thiserror 2.0.12", "tracing", - "unicode-width 0.2.0", + "unicode-width", ] [[package]] @@ -7010,9 +7016,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6982ef2ecfb1338c774c743ab7166ce8c3dcc92089ab77fad58eeb632b201e9" dependencies = [ "alloy-primitives", - "bitflags 2.6.0", + "bitflags 2.9.1", "bumpalo", - "itertools 0.13.0", + "itertools 0.14.0", "memchr", "num-bigint", "num-rational", @@ -7032,7 +7038,7 @@ checksum = "fe8e0a3a6dfc7f4987bfb93f9b56079150407ef55c459964a1541c669554b74d" dependencies = [ "alloy-json-abi", "alloy-primitives", - "bitflags 2.6.0", + "bitflags 2.9.1", "bumpalo", "derive_more 2.0.1", "either", @@ -7069,16 +7075,16 @@ dependencies = [ "path-slash", "rayon", "regex", - "reqwest 0.12.5", + "reqwest 0.12.19", "sanitize-filename", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 2.0.12", "tokio", - "toml_edit 0.22.20", - "uuid 1.10.0", + "toml_edit", + "uuid 1.17.0", "zip 2.4.2", "zip-extract", ] @@ -7089,12 +7095,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "spki" version = "0.7.3" @@ -7259,33 +7259,32 @@ dependencies = [ [[package]] name = "svm-rs" -version = "0.5.4" +version = "0.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af5910befd515534a92e9424f250d952fe6f6dba6a92bd001dfeba1fb4a2f87c" +checksum = "62d304f1b54e9c83ec8f0537c9dd40d46344bd9142cc528d5242c4b6fe11ced0" dependencies = [ "const-hex", - "dirs 5.0.1", + "dirs", "fs4", - "once_cell", - "reqwest 0.12.5", - "semver 1.0.23", + "reqwest 0.12.19", + "semver 1.0.26", "serde", "serde_json", - "sha2 0.10.8", - "thiserror 1.0.63", + "sha2 0.10.9", + "tempfile", + "thiserror 2.0.12", "url", "zip 2.4.2", ] [[package]] name = "svm-rs-builds" -version = "0.5.4" +version = "0.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5ea000fdbeab0b2739315f9093c75ea63030e5c44f92daa72401d11b48adda" +checksum = "5ed5035d2abae3cd98c201b116ff22a82861589c060f3e4b687ce951cf381a6e" dependencies = [ - "build_const", "const-hex", - "semver 1.0.23", + "semver 1.0.26", "serde_json", "svm-rs", ] @@ -7332,9 +7331,12 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -7354,8 +7356,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", + "core-foundation 0.9.4", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.9.4", + "system-configuration-sys 0.6.0", ] [[package]] @@ -7368,6 +7381,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -7387,16 +7410,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix 0.38.34", - "windows-sys 0.48.0", -] - [[package]] name = "terminal_size" version = "0.4.2" @@ -7409,11 +7422,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.63", + "thiserror-impl 1.0.69", ] [[package]] @@ -7427,9 +7440,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -7468,9 +7481,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -7485,15 +7498,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -7520,9 +7533,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -7535,9 +7548,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", @@ -7553,9 +7566,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", @@ -7574,20 +7587,31 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", - "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-socks" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" +dependencies = [ + "either", + "futures-util", + "thiserror 1.0.69", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -7608,14 +7632,14 @@ dependencies = [ "tokio", "tokio-rustls", "tungstenite", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -7626,75 +7650,75 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ "indexmap 2.9.0", + "serde", + "serde_spanned", "toml_datetime", - "winnow 0.5.40", + "toml_write", + "winnow", ] [[package]] -name = "toml_edit" -version = "0.22.20" +name = "toml_write" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" -dependencies = [ - "indexmap 2.9.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.18", -] +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" [[package]] name = "tower" -version = "0.4.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "pin-project", "pin-project-lite", + "sync_wrapper 1.0.2", "tokio", "tower-layer", "tower-service", ] [[package]] -name = "tower" -version = "0.5.2" +name = "tower-http" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "futures-core", + "bitflags 2.9.1", + "bytes", "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "iri-string", "pin-project-lite", - "sync_wrapper 1.0.1", + "tower", "tower-layer", "tower-service", ] @@ -7713,9 +7737,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -7724,9 +7748,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", @@ -7735,9 +7759,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -7777,9 +7801,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -7803,7 +7827,7 @@ dependencies = [ "hex", "protobuf", "rusb", - "thiserror 1.0.63", + "thiserror 1.0.69", "tracing", ] @@ -7821,7 +7845,7 @@ checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ "bytes", "data-encoding", - "http 1.1.0", + "http 1.3.1", "httparse", "log", "rand 0.9.1", @@ -7846,15 +7870,15 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -7885,18 +7909,15 @@ dependencies = [ [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -7904,12 +7925,6 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - [[package]] name = "unicode-width" version = "0.2.0" @@ -7918,9 +7933,9 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "untrusted" @@ -7969,25 +7984,27 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "serde", ] [[package]] name = "uuid" -version = "1.10.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.3.3", + "js-sys", "serde", + "wasm-bindgen", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" @@ -8051,9 +8068,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -8120,12 +8137,13 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] @@ -8164,9 +8182,9 @@ dependencies = [ [[package]] name = "wasm-streams" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -8191,9 +8209,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -8201,18 +8229,27 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" dependencies = [ "rustls-pki-types", ] [[package]] name = "widestring" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" [[package]] name = "winapi" @@ -8247,11 +8284,72 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-registry" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3bab093bdd303a1240bb99b8aba8ea8a69ee19d34c9e2ef9594e708a4878820" +dependencies = [ + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", ] [[package]] @@ -8402,24 +8500,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.7.10" @@ -8439,23 +8519,13 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wit-bindgen-rt" version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", ] [[package]] @@ -8475,9 +8545,9 @@ dependencies = [ "js-sys", "log", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.63", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8533,19 +8603,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", @@ -8677,14 +8746,12 @@ checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" [[package]] name = "zopfli" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" dependencies = [ "bumpalo", "crc32fast", - "lockfree-object-pool", "log", - "once_cell", "simd-adler32", ] diff --git a/Cargo.toml b/Cargo.toml index 14f65e850..1e6b7e02a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ anyhow = "1.0.70" clap = { version = "4.2.5", features = ["cargo", "derive"] } ethers = { version = "2.0.14", default-features = false } foundry-evm = { git = "https://github.com/foundry-rs/foundry", rev = "dc43e2c1ab70ec111d3272572e1732008f973a06" } +foundry-evm-core = { git = "https://github.com/foundry-rs/foundry", rev = "dc43e2c1ab70ec111d3272572e1732008f973a06" } foundry-fork-db = "0.15.0" foundry-block-explorers = "0.18.0" revm = { version = "24.0.1", default-features = false, features = [ diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 199e93451..24504dcd4 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -3,7 +3,6 @@ use alloy_ethers_typecast::transaction::{ ReadContractParametersBuilder, ReadContractParametersBuilderError, ReadableClient, ReadableClientError, }; -use ethers::providers::JsonRpcClient; use rain_interpreter_bindings::DeployerISP; use thiserror::Error; @@ -27,9 +26,9 @@ pub struct DISPair { /// Implementation to build DISPair from Deployer address. impl DISPair { - pub async fn from_deployer( + pub async fn from_deployer( deployer: Address, - client: ReadableClient, + client: ReadableClient, ) -> Result { Ok(DISPair { deployer, @@ -42,8 +41,7 @@ impl DISPair { .map_err(DISPairError::ReadContractParametersBuilderError)?, ) .await - .map_err(DISPairError::ReadableClientError)? - ._0, + .map_err(DISPairError::ReadableClientError)?, store: client .read( ReadContractParametersBuilder::default() @@ -53,8 +51,7 @@ impl DISPair { .map_err(DISPairError::ReadContractParametersBuilderError)?, ) .await - .map_err(DISPairError::ReadableClientError)? - ._0, + .map_err(DISPairError::ReadableClientError)?, parser: client .read( ReadContractParametersBuilder::default() @@ -64,8 +61,7 @@ impl DISPair { .map_err(DISPairError::ReadContractParametersBuilderError)?, ) .await - .map_err(DISPairError::ReadableClientError)? - ._0, + .map_err(DISPairError::ReadableClientError)?, }) } } diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 9dd08b047..b2254f0fb 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -101,8 +101,7 @@ impl Forker { let store = self .alloy_call(Address::default(), deployer, iStoreCall {}, decode_errors) .await? - .typed_return - ._0; + .typed_return; let interpreter = self .alloy_call( @@ -112,11 +111,10 @@ impl Forker { decode_errors, ) .await? - .typed_return - ._0; + .typed_return; let eval_args = eval3Call { - bytecode: parse_result.typed_return.bytecode, + bytecode: parse_result.typed_return, sourceIndex: U256::from(source_index), store, namespace: namespace.into(), diff --git a/crates/eval/src/fork.rs b/crates/eval/src/fork.rs index 60aa9b1c8..f42d517a0 100644 --- a/crates/eval/src/fork.rs +++ b/crates/eval/src/fork.rs @@ -1,17 +1,19 @@ use crate::error::ForkCallError; use alloy::primitives::{Address, BlockNumber, U256}; use alloy::sol_types::SolCall; +use foundry_evm::traces::TraceMode; use foundry_evm::{ - backend::{Backend, DatabaseExt, LocalForkId}, + Env, EnvMut, + backend::{Backend, DatabaseExt, JournaledState, LocalForkId}, executors::{Executor, ExecutorBuilder, RawCallResult}, fork::{CreateFork, ForkId, MultiFork}, opts::EvmOpts, }; use rain_error_decoding::AbiDecodedErrorType; +use revm::primitives::hardfork::SpecId; use revm::{ interpreter::InstructionResult, - primitives::{Address as Addr, Bytes, Env, HashSet, SpecId}, - JournaledState, + primitives::{Address as Addr, Bytes}, }; use std::{any::type_name, collections::HashMap}; @@ -35,20 +37,32 @@ pub struct NewForkedEvm { pub fork_block_number: Option, } -impl Default for Forker { - fn default() -> Self { - Self::new() +fn mk_journaled_state(spec_id: SpecId) -> JournaledState { + let mut journaled_state = JournaledState::new(); + journaled_state.set_spec_id(spec_id); + journaled_state +} + +// NOTE: there is a trait for this in foundry-evm-core but it's not exposed +// through the meta crate foundry-evm +fn mk_env_mut(env: &mut Env) -> EnvMut<'_> { + EnvMut { + block: &mut env.evm_env.block_env, + cfg: &mut env.evm_env.cfg_env, + tx: &mut env.tx, } } + impl Forker { /// Creates a new empty instance of `Forker`. - pub fn new() -> Forker { - let db = Backend::new(MultiFork::new().0, None); - let builder = ExecutorBuilder::default().inspectors(|stack| stack.trace(true).debug(false)); - Self { + pub fn new() -> eyre::Result { + let db = Backend::new(MultiFork::new().0, None)?; + let builder = ExecutorBuilder::default() + .inspectors(|stack| stack.trace_mode(TraceMode::Call.with_debug(false))); + Ok(Self { executor: builder.build(Env::default(), db), forks: HashMap::new(), - } + }) } /// Creates a new instance of `Forker` with the specified fork URL and optional fork block number. @@ -90,7 +104,7 @@ impl Forker { env: foundry_evm::opts::Env { chain_id: None, code_size_limit: None, - gas_limit: u64::MAX, + gas_limit: u64::MAX.into(), ..Default::default() }, memory_limit: u64::MAX, @@ -98,29 +112,29 @@ impl Forker { }; let create_fork = CreateFork { - url: fork_url.to_string(), + url: fork_url.clone(), enable_caching: true, - env: evm_opts.fork_evm_env(fork_url).await?.0, + env: evm_opts.fork_evm_env(&fork_url).await?.0, evm_opts, }; let block_number = if let Some(v) = fork_block_number { BlockNumber::from(v) } else { - create_fork.env.block.number.try_into()? + create_fork.env.evm_env.block_env.number.into() }; - let db = Backend::spawn(Some(create_fork.clone())); + let db = Backend::spawn(Some(create_fork.clone()))?; let builder = if let Some(gas) = gas_limit { - ExecutorBuilder::default() - .gas_limit(gas) - .inspectors(|stack| stack.trace(true).debug(false)) + ExecutorBuilder::default().gas_limit(gas) } else { - ExecutorBuilder::default().inspectors(|stack| stack.trace(true).debug(false)) + ExecutorBuilder::default() }; + let builder = + builder.inspectors(|stack| stack.trace_mode(TraceMode::Call.with_debug(false))); let mut forks_map = HashMap::new(); - forks_map.insert(fork_id, (U256::from(0), SpecId::LATEST, block_number)); + forks_map.insert(fork_id, (U256::from(0), SpecId::default(), block_number)); Ok(Self { executor: builder.build(env.unwrap_or(create_fork.env.clone()), db), forks: forks_map, @@ -149,12 +163,12 @@ impl Forker { if self.executor.backend().is_active_fork(*local_fork_id) { Ok(()) } else { - let mut journaled_state = JournaledState::new(*spec_id, HashSet::new()); + let mut journaled_state = mk_journaled_state(*spec_id); self.executor .backend_mut() .select_fork( *local_fork_id, - &mut env.unwrap_or_default(), + &mut mk_env_mut(&mut env.unwrap_or_default()), &mut journaled_state, ) .map(|_| ()) @@ -167,7 +181,7 @@ impl Forker { env: foundry_evm::opts::Env { chain_id: None, code_size_limit: None, - gas_limit: u64::MAX, + gas_limit: u64::MAX.into(), ..Default::default() }, memory_limit: u64::MAX, @@ -176,26 +190,30 @@ impl Forker { let create_fork = CreateFork { url: fork_url.to_string(), enable_caching: true, - env: evm_opts.fork_evm_env(fork_url).await.unwrap().0, + env: evm_opts.fork_evm_env(&fork_url).await.unwrap().0, evm_opts, }; let block_number = if let Some(v) = fork_block_number { BlockNumber::from(v) } else { - create_fork.env.block.number.try_into()? + create_fork.env.evm_env.block_env.number.into() }; - let mut journaled_state = JournaledState::new(SpecId::LATEST, HashSet::new()); + self.forks.insert( fork_id, - (U256::from(self.forks.len()), SpecId::LATEST, block_number), + ( + U256::from(self.forks.len()), + SpecId::default(), + block_number, + ), ); - let default_env = create_fork.env.clone(); + self.executor .backend_mut() .create_select_fork( create_fork, - &mut env.unwrap_or(default_env), - &mut journaled_state, + &mut mk_env_mut(&mut env.unwrap_or_default()), + &mut mk_journaled_state(SpecId::default()), ) .map(|_| ()) .map_err(|e| ForkCallError::ExecutorError(e.to_string())) @@ -233,7 +251,7 @@ impl Forker { return Err(raw.into()); } - let typed_return = T::abi_decode_returns(&raw.result.0, true).map_err(|e| { + let typed_return = T::abi_decode_returns(&raw.result.0).map_err(|e| { ForkCallError::TypedError(format!( "Call:{:?} Error:{:?} Raw:{:?}", type_name::(), @@ -278,7 +296,7 @@ impl Forker { return Err(raw.into()); } - let typed_return = T::abi_decode_returns(&raw.result.0, true).map_err(|e| { + let typed_return = T::abi_decode_returns(&raw.result.0).map_err(|e| { ForkCallError::TypedError(format!("Call:{:?} Error:{:?}", type_name::(), e)) })?; Ok(ForkTypedReturn { raw, typed_return }) @@ -360,7 +378,7 @@ impl Forker { .active_fork_id() .ok_or(ForkCallError::ExecutorError("no active fork!".to_owned()))?; let mut org_block_number = None; - let mut spec_id = SpecId::LATEST; + let mut spec_id = SpecId::default(); #[allow(clippy::for_kv_map)] for (_fork_id, (local_id, sid, bnumber)) in &self.forks { if *local_id == active_fork_local_id { @@ -374,15 +392,15 @@ impl Forker { } let block_number = block_number.unwrap_or(org_block_number.unwrap()); - self.executor.env_mut().block.number = U256::from(block_number); + self.executor.env_mut().evm_env.block_env.number = block_number; self.executor .backend_mut() .roll_fork( Some(active_fork_local_id), block_number, - &mut env.unwrap_or_default(), - &mut JournaledState::new(spec_id, HashSet::new()), + &mut mk_env_mut(&mut env.unwrap_or_default()), + &mut mk_journaled_state(spec_id), ) .map_err(|v| ForkCallError::ExecutorError(v.to_string())) } diff --git a/crates/eval/src/trace.rs b/crates/eval/src/trace.rs index 22c453f96..2273354a2 100644 --- a/crates/eval/src/trace.rs +++ b/crates/eval/src/trace.rs @@ -1,5 +1,6 @@ use crate::fork::ForkTypedReturn; use alloy::primitives::{Address, U256}; +use foundry_evm::traces::CallTraceArena; use rain_interpreter_bindings::IInterpreterV3::{eval3Call, eval3Return}; use thiserror::Error; @@ -61,11 +62,8 @@ impl From> for RainEvalResult { let eval3Return { stack, writes } = typed_return.typed_return; let tracer_address = RAIN_TRACER_ADDRESS.parse::
().unwrap(); - let mut traces: Vec = typed_return - .raw - .traces - .unwrap() - .to_owned() + let call_trace_arena = typed_return.raw.traces.unwrap().to_owned(); + let mut traces: Vec = ::clone(&call_trace_arena) .into_nodes() .iter() .filter_map(|trace_node| { diff --git a/crates/parser/src/v1.rs b/crates/parser/src/v1.rs index ab3db193c..64b20b52d 100644 --- a/crates/parser/src/v1.rs +++ b/crates/parser/src/v1.rs @@ -1,17 +1,16 @@ use crate::error::ParserError; use alloy::primitives::*; use alloy_ethers_typecast::transaction::{ReadContractParametersBuilder, ReadableClient}; -use ethers::providers::JsonRpcClient; use rain_interpreter_bindings::IParserV1::*; use rain_interpreter_dispair::DISPair; #[cfg(not(target_family = "wasm"))] pub trait Parser { /// Call Parser contract to parse the provided rainlang text. - fn parse_text( + fn parse_text( &self, text: &str, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> + Send where Self: Sync, @@ -21,10 +20,10 @@ pub trait Parser { /// Call Parser contract to parse the provided data /// The provided data must contain valid UTF-8 encoding of valid rainlang text. - fn parse( + fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> + Send; } @@ -67,10 +66,10 @@ impl From for ParserV1 { } impl Parser for ParserV1 { - async fn parse( + async fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> Result { client .read( diff --git a/crates/parser/src/v2.rs b/crates/parser/src/v2.rs index 167a97aa6..51f487012 100644 --- a/crates/parser/src/v2.rs +++ b/crates/parser/src/v2.rs @@ -1,7 +1,6 @@ use crate::error::ParserError; use alloy::primitives::*; use alloy_ethers_typecast::transaction::{ReadContractParametersBuilder, ReadableClient}; -use ethers::providers::JsonRpcClient; use rain_interpreter_bindings::IParserPragmaV1::*; use rain_interpreter_bindings::IParserV2::*; use rain_interpreter_dispair::DISPair; @@ -9,10 +8,10 @@ use rain_interpreter_dispair::DISPair; #[cfg(not(target_family = "wasm"))] pub trait Parser2 { /// Call Parser contract to parse the provided rainlang text. - fn parse_text( + fn parse_text( &self, text: &str, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> + Send where Self: Sync, @@ -22,18 +21,18 @@ pub trait Parser2 { /// Call Parser contract to parse the provided data /// The provided data must contain valid UTF-8 encoding of valid rainlang text. - fn parse( + fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> + Send; /// Call Parser contract to parse the provided rainlang text and provide the pragma. /// The provided rainlang text must be valid UTF-8 encoding of valid rainlang text. - fn parse_pragma( + fn parse_pragma( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> + Send; } @@ -98,12 +97,12 @@ impl ParserV2 { } impl Parser2 for ParserV2 { - async fn parse( + async fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> Result { - client + let bytecode = client .read( ReadContractParametersBuilder::default() .address(self.deployer_address) @@ -112,15 +111,17 @@ impl Parser2 for ParserV2 { .map_err(ParserError::ReadContractParametersBuilderError)?, ) .await - .map_err(ParserError::ReadableClientError) + .map_err(ParserError::ReadableClientError)?; + + Ok(parse2Return { bytecode }) } - async fn parse_pragma( + async fn parse_pragma( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> Result { - client + let pragma = client .read( ReadContractParametersBuilder::default() .address(self.deployer_address) @@ -129,16 +130,18 @@ impl Parser2 for ParserV2 { .map_err(ParserError::ReadContractParametersBuilderError)?, ) .await - .map_err(ParserError::ReadableClientError) + .map_err(ParserError::ReadableClientError)?; + + Ok(parsePragma1Return { _0: pragma }) } } impl ParserV2 { /// Call Parser contract to parse the provided rainlang text and provide the pragma. - pub async fn parse_pragma_text( + pub async fn parse_pragma_text( &self, text: &str, - client: ReadableClient, + client: ReadableClient, ) -> Result, ParserError> where Self: Sync, From 89c5670926ae1e20f08bdc424b62c23c90eb5cef Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Thu, 5 Jun 2025 14:07:59 +0400 Subject: [PATCH 03/30] fix the build for wasm --- .cargo/config.toml | 2 ++ crates/cli/Cargo.toml | 15 +++++++++++++-- crates/eval/Cargo.toml | 13 ++++++++++++- crates/parser/src/v1.rs | 8 ++++---- crates/parser/src/v2.rs | 12 ++++++------ 5 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 .cargo/config.toml diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 000000000..0e465b2de --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[target.wasm32-unknown-unknown] +rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""] diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index d7ff5f7fb..abeb1f00c 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -15,8 +15,19 @@ anyhow = { workspace = true } clap = { workspace = true } serde = { workspace = true } serde_bytes = { workspace = true } -tokio = { version = "1.28.0", features = ["full"] } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ['env-filter'] } alloy = { workspace = true } -rain-interpreter-env = { workspace = true } \ No newline at end of file +rain-interpreter-env = { workspace = true } + +[target.'cfg(not(target_family = "wasm"))'.dependencies] +tokio = { version = "1.28.0", features = ["full"] } + +[target.'cfg(target_family = "wasm")'.dependencies] +tokio = { version = "1.28.0", features = [ + "sync", + "macros", + "io-util", + "rt", + "time", +] } diff --git a/crates/eval/Cargo.toml b/crates/eval/Cargo.toml index c58bce1cb..c4f9631be 100644 --- a/crates/eval/Cargo.toml +++ b/crates/eval/Cargo.toml @@ -21,6 +21,17 @@ foundry-evm = { workspace = true } revm = { workspace = true } [dev-dependencies] -tokio = { version = "1.28.0", features = ["full"] } tracing = { workspace = true } rain-interpreter-env = { workspace = true } + +[target.'cfg(not(target_family = "wasm"))'.dev-dependencies] +tokio = { version = "1.28.0", features = ["full"] } + +[target.'cfg(target_family = "wasm")'.dev-dependencies] +tokio = { version = "1.28.0", features = [ + "sync", + "macros", + "io-util", + "rt", + "time", +] } diff --git a/crates/parser/src/v1.rs b/crates/parser/src/v1.rs index 64b20b52d..3128c8391 100644 --- a/crates/parser/src/v1.rs +++ b/crates/parser/src/v1.rs @@ -30,10 +30,10 @@ pub trait Parser { #[cfg(target_family = "wasm")] pub trait Parser { /// Call Parser contract to parse the provided rainlang text. - fn parse_text( + fn parse_text( &self, text: &str, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> where Self: Sync, @@ -43,10 +43,10 @@ pub trait Parser { /// Call Parser contract to parse the provided data /// The provided data must contain valid UTF-8 encoding of valid rainlang text. - fn parse( + fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future>; } diff --git a/crates/parser/src/v2.rs b/crates/parser/src/v2.rs index 51f487012..1a8085f5d 100644 --- a/crates/parser/src/v2.rs +++ b/crates/parser/src/v2.rs @@ -39,10 +39,10 @@ pub trait Parser2 { #[cfg(target_family = "wasm")] pub trait Parser2 { /// Call Parser contract to parse the provided rainlang text. - fn parse_text( + fn parse_text( &self, text: &str, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future> where Self: Sync, @@ -52,18 +52,18 @@ pub trait Parser2 { /// Call Parser contract to parse the provided data /// The provided data must contain valid UTF-8 encoding of valid rainlang text. - fn parse( + fn parse( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future>; /// Call Parser contract to parse the provided rainlang text and provide the pragma. /// The provided rainlang text must be valid UTF-8 encoding of valid rainlang text. - fn parse_pragma( + fn parse_pragma( &self, data: Vec, - client: ReadableClient, + client: ReadableClient, ) -> impl std::future::Future>; } From 06003f857982ad5ed3b52afb2d00fac3bf6d55d1 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Thu, 5 Jun 2025 14:16:59 +0400 Subject: [PATCH 04/30] configure ci concurrency --- .github/workflows/git-clean.yaml | 6 +++++- .github/workflows/rainix.yaml | 10 +++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/git-clean.yaml b/.github/workflows/git-clean.yaml index e62bdf3ab..e91c1355b 100644 --- a/.github/workflows/git-clean.yaml +++ b/.github/workflows/git-clean.yaml @@ -1,6 +1,10 @@ name: Git is clean on: [push] +concurrency: + group: ${{ github.ref }}-git-clean + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + jobs: git-clean: runs-on: ubuntu-latest @@ -37,4 +41,4 @@ jobs: - run: nix develop -c forge fmt # Check if the repo is clean after generating pointers and formatting. - - run: git diff --exit-code \ No newline at end of file + - run: git diff --exit-code diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index edfff7ad4..f46beb136 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -1,6 +1,10 @@ name: Rainix CI on: [push] +concurrency: + group: ${{ github.ref }}-rainix + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + jobs: rainix: strategy: @@ -55,12 +59,12 @@ jobs: env: ETH_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }} ETHERSCAN_API_KEY: ${{ secrets.EXPLORER_VERIFICATION_KEY }} - DEPLOY_BROADCAST: '' - DEPLOY_VERIFIER: '' + DEPLOY_BROADCAST: "" + DEPLOY_VERIFIER: "" DEPLOY_METABOARD_ADDRESS: ${{ vars.CI_DEPLOY_SEPOLIA_METABOARD_ADDRESS }} CI_FORK_SEPOLIA_BLOCK_NUMBER: ${{ vars.CI_FORK_SEPOLIA_BLOCK_NUMBER }} CI_FORK_SEPOLIA_DEPLOYER_ADDRESS: ${{ vars.CI_FORK_SEPOLIA_DEPLOYER_ADDRESS }} CI_DEPLOY_SEPOLIA_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }} CI_FORK_POLYGON_RPC_URL: ${{ secrets.CI_FORK_POLYGON_RPC_URL || vars.CI_FORK_POLYGON_RPC_URL }} CI_FORK_BSC_RPC_URL: ${{ secrets.CI_FORK_BSC_RPC_URL || vars.CI_FORK_BSC_RPC_URL }} - run: nix develop -c ${{ matrix.task }} \ No newline at end of file + run: nix develop -c ${{ matrix.task }} From efeb80c5750adca92a0843f69fb5e8b1ae837666 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Thu, 5 Jun 2025 15:54:05 +0400 Subject: [PATCH 05/30] make tests compile --- Cargo.lock | 619 +------------------------------- Cargo.toml | 1 - crates/cli/src/commands/eval.rs | 4 +- crates/dispair/Cargo.toml | 13 +- crates/dispair/src/lib.rs | 25 +- crates/eval/src/dispatch.rs | 3 +- crates/eval/src/eval.rs | 10 +- crates/eval/src/fork.rs | 29 +- crates/eval/src/namespace.rs | 4 +- crates/parser/Cargo.toml | 13 +- crates/parser/src/v1.rs | 22 +- crates/parser/src/v2.rs | 33 +- 12 files changed, 96 insertions(+), 680 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3a0bdd87b..6e7a3337d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,16 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "addr2line" version = "0.24.2" @@ -98,7 +88,7 @@ dependencies = [ "alloy-primitives", "num_enum", "serde", - "strum 0.27.1", + "strum", ] [[package]] @@ -590,10 +580,10 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more 2.0.1", - "jsonwebtoken 9.3.1", + "jsonwebtoken", "rand 0.8.5", "serde", - "strum 0.27.1", + "strum", ] [[package]] @@ -689,8 +679,8 @@ dependencies = [ "alloy-primitives", "alloy-signer", "async-trait", - "coins-bip32 0.12.0", - "coins-bip39 0.12.0", + "coins-bip32", + "coins-bip39", "eth-keystore", "k256", "rand 0.8.5", @@ -1382,12 +1372,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -1619,38 +1603,6 @@ dependencies = [ "serde", ] -[[package]] -name = "camino" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.26", - "serde", - "serde_json", - "thiserror 1.0.69", -] - [[package]] name = "cc" version = "1.2.25" @@ -1765,22 +1717,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core 0.8.7", - "digest 0.10.7", - "hmac", - "k256", - "serde", - "sha2 0.10.9", - "thiserror 1.0.69", -] - [[package]] name = "coins-bip32" version = "0.12.0" @@ -1788,7 +1724,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2073678591747aed4000dd468b97b14d7007f7936851d3f2f01846899f5ebf08" dependencies = [ "bs58", - "coins-core 0.12.0", + "coins-core", "digest 0.10.7", "hmac", "k256", @@ -1797,22 +1733,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32 0.8.7", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand 0.8.5", - "sha2 0.10.9", - "thiserror 1.0.69", -] - [[package]] name = "coins-bip39" version = "0.12.0" @@ -1820,7 +1740,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74b169b26623ff17e9db37a539fe4f15342080df39f129ef7631df7683d6d9d4" dependencies = [ "bitvec", - "coins-bip32 0.12.0", + "coins-bip32", "hmac", "once_cell", "pbkdf2 0.12.2", @@ -1829,26 +1749,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "coins-core" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2 0.10.9", - "sha3", - "thiserror 1.0.69", -] - [[package]] name = "coins-core" version = "0.12.0" @@ -2517,24 +2417,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enr" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" -dependencies = [ - "base64 0.21.7", - "bytes", - "hex", - "k256", - "log", - "rand 0.8.5", - "rlp", - "serde", - "sha3", - "zeroize", -] - [[package]] name = "enum-ordinalize" version = "4.3.0" @@ -2603,248 +2485,6 @@ dependencies = [ "uuid 0.8.2", ] -[[package]] -name = "ethabi" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" -dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror 1.0.69", - "uint", -] - -[[package]] -name = "ethbloom" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", -] - -[[package]] -name = "ethers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" -dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-middleware", - "ethers-providers", - "ethers-signers", -] - -[[package]] -name = "ethers-addressbook" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" -dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", -] - -[[package]] -name = "ethers-contract" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" -dependencies = [ - "const-hex", - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" -dependencies = [ - "Inflector", - "const-hex", - "dunce", - "ethers-core", - "eyre", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.101", - "toml", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" -dependencies = [ - "Inflector", - "const-hex", - "ethers-contract-abigen", - "ethers-core", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.101", -] - -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec", - "bytes", - "cargo_metadata", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array", - "k256", - "num_enum", - "once_cell", - "open-fastrlp", - "rand 0.8.5", - "rlp", - "serde", - "serde_json", - "strum 0.26.3", - "syn 2.0.101", - "tempfile", - "thiserror 1.0.69", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.7", - "bytes", - "const-hex", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "http 0.2.12", - "instant", - "jsonwebtoken 8.3.0", - "once_cell", - "pin-project", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" -dependencies = [ - "async-trait", - "coins-bip32 0.8.7", - "coins-bip39 0.8.7", - "const-hex", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "rand 0.8.5", - "sha2 0.10.9", - "thiserror 1.0.69", - "tracing", -] - [[package]] name = "eyre" version = "0.6.12" @@ -3560,16 +3200,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-locks" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" -dependencies = [ - "futures-channel", - "futures-task", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -3593,16 +3223,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - [[package]] name = "futures-util" version = "0.3.31" @@ -3627,15 +3247,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -3699,18 +3310,6 @@ dependencies = [ "regex-syntax 0.8.5", ] -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "group" version = "0.13.0" @@ -3798,15 +3397,6 @@ dependencies = [ "serde", ] -[[package]] -name = "hashers" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] - [[package]] name = "heck" version = "0.5.0" @@ -4214,24 +3804,6 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - -[[package]] -name = "impl-serde" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" -dependencies = [ - "serde", -] - [[package]] name = "impl-trait-for-tuples" version = "0.2.3" @@ -4306,15 +3878,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - [[package]] name = "interprocess" version = "2.2.3" @@ -4458,20 +4021,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "jsonwebtoken" -version = "8.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" -dependencies = [ - "base64 0.21.7", - "pem 1.1.1", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "jsonwebtoken" version = "9.3.1" @@ -4480,8 +4029,8 @@ checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" dependencies = [ "base64 0.22.1", "js-sys", - "pem 3.0.5", - "ring 0.17.14", + "pem", + "ring", "serde", "serde_json", "simple_asn1", @@ -5026,31 +4575,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] - -[[package]] -name = "open-fastrlp-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" -dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "openssl" version = "0.10.73" @@ -5224,15 +4748,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - [[package]] name = "pem" version = "3.0.5" @@ -5436,9 +4951,6 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", "uint", ] @@ -5582,7 +5094,7 @@ dependencies = [ "getrandom 0.3.3", "lru-slab", "rand 0.9.1", - "ring 0.17.14", + "ring", "rustc-hash", "rustls", "rustls-pki-types", @@ -5700,7 +5212,6 @@ version = "0.1.0" dependencies = [ "alloy", "alloy-ethers-typecast", - "ethers", "rain_interpreter_bindings", "serde", "serde_json", @@ -5716,7 +5227,6 @@ version = "0.1.0" dependencies = [ "alloy", "alloy-ethers-typecast", - "ethers", "rain_interpreter_bindings", "rain_interpreter_dispair", "serde", @@ -6192,21 +5702,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - [[package]] name = "ring" version = "0.17.14" @@ -6217,7 +5712,7 @@ dependencies = [ "cfg-if", "getrandom 0.2.16", "libc", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] @@ -6237,21 +5732,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", - "rlp-derive", "rustc-hex", ] -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rpassword" version = "7.4.0" @@ -6389,7 +5872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "once_cell", - "ring 0.17.14", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -6433,9 +5916,9 @@ version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ - "ring 0.17.14", + "ring", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] @@ -6489,30 +5972,6 @@ dependencies = [ "regex", ] -[[package]] -name = "scale-info" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" -dependencies = [ - "cfg-if", - "derive_more 1.0.0", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "schannel" version = "0.1.27" @@ -6645,12 +6104,6 @@ dependencies = [ "pest", ] -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - [[package]] name = "send_wrapper" version = "0.6.0" @@ -6942,7 +6395,7 @@ dependencies = [ "solar-data-structures", "solar-interface", "solar-macros", - "strum 0.27.1", + "strum", "typed-arena", ] @@ -6952,7 +6405,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "908d455bb7c04acd783bd157b63791bf010cf6a495a845e48f7aee334aad319f" dependencies = [ - "strum 0.27.1", + "strum", ] [[package]] @@ -7052,7 +6505,7 @@ dependencies = [ "solar-interface", "solar-macros", "solar-parse", - "strum 0.27.1", + "strum", "thread_local", "tracing", "typed-arena", @@ -7089,12 +6542,6 @@ dependencies = [ "zip-extract", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spki" version = "0.7.3" @@ -7129,35 +6576,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - [[package]] name = "strum" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" dependencies = [ - "strum_macros 0.27.1", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.101", + "strum_macros", ] [[package]] @@ -7937,12 +7362,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -8546,7 +7965,7 @@ dependencies = [ "log", "pharos", "rustc_version 0.4.1", - "send_wrapper 0.6.0", + "send_wrapper", "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", diff --git a/Cargo.toml b/Cargo.toml index 1e6b7e02a..54ded7e22 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,6 @@ homepage = "https://github.com/rainprotocol/rain.interpreter" alloy = { version = "1.0.9", features = ["sol-types", "json", "json-abi"] } anyhow = "1.0.70" clap = { version = "4.2.5", features = ["cargo", "derive"] } -ethers = { version = "2.0.14", default-features = false } foundry-evm = { git = "https://github.com/foundry-rs/foundry", rev = "dc43e2c1ab70ec111d3272572e1732008f973a06" } foundry-evm-core = { git = "https://github.com/foundry-rs/foundry", rev = "dc43e2c1ab70ec111d3272572e1732008f973a06" } foundry-fork-db = "0.15.0" diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index b1cdfef88..af897d239 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -104,7 +104,7 @@ impl Execute for Eval { format!("{:#?}", rain_eval_result).as_bytes(), ) } - Err(e) => Err(anyhow!("Error: {:?}", e)), + Err(e) => Err(anyhow!("Error: {e:#?}")), } } } @@ -144,7 +144,7 @@ mod tests { }; let result = eval.execute().await; - println!("{:?}", result); + println!("{result:#?}"); assert!(result.is_ok()); } } diff --git a/crates/dispair/Cargo.toml b/crates/dispair/Cargo.toml index 6369b04ce..4cbe3e0b5 100644 --- a/crates/dispair/Cargo.toml +++ b/crates/dispair/Cargo.toml @@ -10,20 +10,23 @@ homepage = "https://github.com/rainlanguage/rain.interpreter" alloy-ethers-typecast = { workspace = true } rain_interpreter_bindings = { workspace = true } serde = { workspace = true } -serde_json = { workspace = true } +serde_json = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } alloy = { workspace = true } -ethers = { workspace = true, features = [ - "legacy", -] } thiserror = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { version = "1.28.0", features = ["full"] } [target.'cfg(target_family = "wasm")'.dependencies] -tokio = { version = "1.28.0", features = ["sync", "macros", "io-util", "rt", "time"] } +tokio = { version = "1.28.0", features = [ + "sync", + "macros", + "io-util", + "rt", + "time", +] } [package.metadata.docs.rs] all-features = true diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 24504dcd4..3edb8c3c8 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -70,16 +70,14 @@ impl DISPair { mod tests { use super::*; use alloy::primitives::Address; - use ethers::providers::{MockProvider, MockResponse, Provider}; - use serde_json::json; + use alloy::providers::mock::Asserter; use tracing_subscriber::FmtSubscriber; #[tokio::test] async fn test_from_deployer() { setup_tracing(); - // MockProvider for testing - let transport = MockProvider::default(); + let asserter = Asserter::new(); let deployer_address = "0x1234567890123456789012345678901234567890" .parse::
() .unwrap(); @@ -89,22 +87,11 @@ mod tests { // Mock responses for the read calls - the responses will be popped off // the stack in the reverse order they are pushed on. - transport.push_response(MockResponse::Value(json!(format!( - "0x{:0>64}", - parser_address - )))); + asserter.push_success(&format!("0x{parser_address:0>64}")); + asserter.push_success(&format!("0x{store_address:0>64}")); + asserter.push_success(&format!("0x{interpreter_address:0>64}")); - transport.push_response(MockResponse::Value(json!(format!( - "0x{:0>64}", - store_address - )))); - - transport.push_response(MockResponse::Value(json!(format!( - "0x{:0>64}", - interpreter_address - )))); - - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let dispair = DISPair::from_deployer(deployer_address, client) .await .unwrap(); diff --git a/crates/eval/src/dispatch.rs b/crates/eval/src/dispatch.rs index 2d2c59efa..9c316e663 100644 --- a/crates/eval/src/dispatch.rs +++ b/crates/eval/src/dispatch.rs @@ -35,7 +35,8 @@ mod tests { let encoded_dispatch = CreateEncodedDispatch::encode(&address, source_index, max_outputs); - let mut encoded_dispatch_bytes = encoded_dispatch.into().as_le_slice().to_owned(); + let mut encoded_dispatch_bytes = + encoded_dispatch.into_underlying().as_le_slice().to_owned(); encoded_dispatch_bytes.reverse(); assert_eq!(&encoded_dispatch_bytes[8..28], address.as_slice()); diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index b2254f0fb..2b088d012 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -133,6 +133,7 @@ impl Forker { #[cfg(test)] mod tests { use alloy::primitives::utils::parse_ether; + use foundry_evm::traces::CallTraceArena; use rain_interpreter_env::{ CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, }; @@ -160,7 +161,7 @@ mod tests { .unwrap(); let expected_bytes: Vec = alloy::hex::decode("0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000000000000000000000000000000000000000000130100000302000101100001011000002b120000").unwrap(); - assert_eq!(res.typed_return.bytecode, expected_bytes); + assert_eq!(res.typed_return.0, expected_bytes); } #[tokio::test(flavor = "multi_thread", worker_threads = 1)] @@ -194,7 +195,12 @@ mod tests { // stack in the trace for source index 0 let mut expected_stack_trace = vec![0u8, 0u8, 0u8, 0u8]; expected_stack_trace.append(&mut parse_ether("3").unwrap().to_be_bytes_vec()); - let source_index_zero_trace = res.raw.traces.unwrap().into_nodes()[1].to_owned().trace; + + let sparsed_trace_arena = res.raw.traces.unwrap(); + let source_index_zero_trace = ::clone(&sparsed_trace_arena) + .into_nodes()[1] + .to_owned() + .trace; assert_eq!(source_index_zero_trace.data, expected_stack_trace); // asserting the known trace address diff --git a/crates/eval/src/fork.rs b/crates/eval/src/fork.rs index f42d517a0..820050c4f 100644 --- a/crates/eval/src/fork.rs +++ b/crates/eval/src/fork.rs @@ -453,7 +453,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let parser_address = result.typed_return._0; + let parser_address = result.typed_return; let expected_address = "0xf14e09601a47552de6abd3a0b165607fafd2b5ba" .parse::
() .unwrap(); @@ -479,7 +479,7 @@ mod tests { ) .await .unwrap(); - let store_address: Address = store_result.typed_return._0; + let store_address: Address = store_result.typed_return; let namespace = U256::from(1); let key = U256::from(3); @@ -513,8 +513,7 @@ mod tests { ) .await .unwrap() - .typed_return - ._0; + .typed_return; assert_eq!(value, get); } @@ -535,8 +534,8 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let old_balance = result.typed_return._0; - let polygon_old_balance = result.typed_return._0; + let old_balance = result.typed_return; + let polygon_old_balance = result.typed_return; let from_address = POLYGON_ACC.parse::
().unwrap(); let to_address: Address = USDT_POLYGON.parse::
().unwrap(); @@ -565,7 +564,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let new_balance = result.typed_return._0; + let new_balance = result.typed_return; assert_eq!(new_balance, old_balance - send_amount); let polygon_balance = new_balance; @@ -585,7 +584,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let old_balance = result.typed_return._0; + let old_balance = result.typed_return; let from_address = BSC_ACC.parse::
().unwrap(); let to_address: Address = USDT_BSC.parse::
().unwrap(); @@ -614,7 +613,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let new_balance = result.typed_return._0; + let new_balance = result.typed_return; assert_eq!(new_balance, old_balance - send_amount); // switch fork @@ -633,7 +632,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let balance = result.typed_return._0; + let balance = result.typed_return; assert_eq!(balance, polygon_balance); // reset fork @@ -645,7 +644,7 @@ mod tests { .alloy_call(from_address, to_address, call, false) .await .unwrap(); - let balance = result.typed_return._0; + let balance = result.typed_return; assert_eq!(balance, polygon_old_balance); Ok(()) @@ -662,8 +661,8 @@ mod tests { // check the env block number is the same as the fork block number assert_eq!( - forker.executor.env().block.number, - U256::from(POLYGON_FORK_NUMBER) + forker.executor.env().evm_env.block_env.number, + POLYGON_FORK_NUMBER ); // roll the fork forwards by 1 block @@ -673,8 +672,8 @@ mod tests { // check the env block number is updated assert_eq!( - forker.executor.env().block.number, - U256::from(POLYGON_FORK_NUMBER + 1) + forker.executor.env().evm_env.block_env.number, + POLYGON_FORK_NUMBER + 1 ); } } diff --git a/crates/eval/src/namespace.rs b/crates/eval/src/namespace.rs index 5e5d446d7..67d6f7978 100644 --- a/crates/eval/src/namespace.rs +++ b/crates/eval/src/namespace.rs @@ -1,4 +1,4 @@ -use alloy::primitives::{keccak256, Address, B256, U256}; +use alloy::primitives::{Address, B256, U256, keccak256}; use rain_interpreter_bindings::IInterpreterV2::FullyQualifiedNamespace; pub struct CreateNamespace {} @@ -35,7 +35,7 @@ mod tests { .as_slice() .to_owned(); - let mut namespace_bytes = namespace.into().as_le_slice().to_owned(); + let mut namespace_bytes = namespace.into_underlying().as_le_slice().to_owned(); namespace_bytes.reverse(); assert_eq!(namespace_bytes, expected); } diff --git a/crates/parser/Cargo.toml b/crates/parser/Cargo.toml index 36e834c41..dd570c61f 100644 --- a/crates/parser/Cargo.toml +++ b/crates/parser/Cargo.toml @@ -7,19 +7,22 @@ description = "Rain Interpreter Parser Rust Crate." homepage = "https://github.com/rainlanguage/rain.interpreter" [dependencies] -alloy-ethers-typecast = { workspace = true } +alloy-ethers-typecast = { workspace = true } rain_interpreter_dispair = { workspace = true } rain_interpreter_bindings = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } alloy = { workspace = true } -ethers = { workspace = true, features = [ - "legacy", -] } thiserror = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { version = "1.28.0", features = ["full"] } [target.'cfg(target_family = "wasm")'.dependencies] -tokio = { version = "1.28.0", features = ["sync", "macros", "io-util", "rt", "time"] } +tokio = { version = "1.28.0", features = [ + "sync", + "macros", + "io-util", + "rt", + "time", +] } diff --git a/crates/parser/src/v1.rs b/crates/parser/src/v1.rs index 3128c8391..5f69fe436 100644 --- a/crates/parser/src/v1.rs +++ b/crates/parser/src/v1.rs @@ -88,7 +88,7 @@ impl Parser for ParserV1 { mod tests { use super::*; use alloy::primitives::{Address, U256}; - use ethers::providers::{MockProvider, MockResponse, Provider}; + use alloy::providers::mock::Asserter; #[tokio::test] async fn test_from_dispair() { @@ -109,9 +109,9 @@ mod tests { #[tokio::test] async fn test_parse() { - let transport = MockProvider::default(); - transport.push_response(MockResponse::Value(serde_json::Value::String( - [ + let asserter = Asserter::new(); + asserter.push_success( + &[ "0x0000000000000000000000000000000000000000000000000000000000000040", // offset to start of bytecode "0000000000000000000000000000000000000000000000000000000000000080", // offset to start of constants "0000000000000000000000000000000000000000000000000000000000000002", // length of bytecode @@ -121,9 +121,9 @@ mod tests { "0000000000000000000000000000000000000000000000000000000000000004", ] .concat(), - ))); + ); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let parser = ParserV1 { address: Address::repeat_byte(0x1), }; @@ -138,9 +138,9 @@ mod tests { async fn test_parse_text() { let rainlang = "my rainlang"; - let transport = MockProvider::default(); - transport.push_response(MockResponse::Value(serde_json::Value::String( - [ + let asserter = Asserter::new(); + asserter.push_success( + &[ "0x0000000000000000000000000000000000000000000000000000000000000040", // offset to start of bytecode "0000000000000000000000000000000000000000000000000000000000000080", // offset to start of constants "000000000000000000000000000000000000000000000000000000000000000b", // length of bytecode @@ -150,9 +150,9 @@ mod tests { "0000000000000000000000000000000000000000000000000000000000000004", ] .concat(), - ))); + ); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let parser = ParserV1 { address: Address::repeat_byte(0x1), }; diff --git a/crates/parser/src/v2.rs b/crates/parser/src/v2.rs index 1a8085f5d..bcc754c9b 100644 --- a/crates/parser/src/v2.rs +++ b/crates/parser/src/v2.rs @@ -154,8 +154,7 @@ impl ParserV2 { #[cfg(test)] mod tests { use super::*; - use alloy::primitives::Address; - use ethers::providers::{MockProvider, MockResponse, Provider}; + use alloy::{primitives::Address, providers::mock::Asserter}; #[tokio::test] async fn test_from_dispair() { @@ -176,17 +175,17 @@ mod tests { #[tokio::test] async fn test_parse() { - let transport = MockProvider::default(); - transport.push_response(MockResponse::Value(serde_json::Value::String( - [ + let asserter = Asserter::new(); + asserter.push_success( + &[ "0x0000000000000000000000000000000000000000000000000000000000000020", // offset to start of bytecode "0000000000000000000000000000000000000000000000000000000000000002", // length of bytecode "1234000000000000000000000000000000000000000000000000000000000000", // bytecode ] .concat(), - ))); + ); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let parser = ParserV2 { deployer_address: Address::repeat_byte(0x1), }; @@ -200,17 +199,17 @@ mod tests { async fn test_parse_text() { let rainlang = "my rainlang"; - let transport = MockProvider::default(); - transport.push_response(MockResponse::Value(serde_json::Value::String( - [ + let asserter = Asserter::new(); + asserter.push_success( + &[ "0x0000000000000000000000000000000000000000000000000000000000000020", // length of bytecode "000000000000000000000000000000000000000000000000000000000000000b", // offset to start of bytecode "6d79207261696e6c616e67000000000000000000000000000000000000000000", // bytecode ] .concat(), - ))); + ); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let parser = ParserV2 { deployer_address: Address::repeat_byte(0x1), }; @@ -227,9 +226,9 @@ mod tests { let pragma1 = Address::repeat_byte(0x11); let pragma2 = Address::repeat_byte(0x22); - let transport = MockProvider::default(); - transport.push_response(MockResponse::Value(serde_json::Value::String( - [ + let asserter = Asserter::new(); + asserter.push_success( + &[ "0000000000000000000000000000000000000000000000000000000000000020", // offset "0000000000000000000000000000000000000000000000000000000000000020", // offset "0000000000000000000000000000000000000000000000000000000000000002", // array length @@ -237,9 +236,9 @@ mod tests { "0000000000000000000000002222222222222222222222222222222222222222", // array of addresses ] .concat(), - ))); + ); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new_mocked(asserter); let parser = ParserV2 { deployer_address: Address::repeat_byte(0x1), }; From 2c2564abc6c84a2681015a5efdc8e5868d133ec1 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Fri, 6 Jun 2025 06:00:10 +0000 Subject: [PATCH 06/30] fix mock --- crates/cli/src/commands/eval.rs | 2 +- crates/dispair/src/lib.rs | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index af897d239..c6bb638c1 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -104,7 +104,7 @@ impl Execute for Eval { format!("{:#?}", rain_eval_result).as_bytes(), ) } - Err(e) => Err(anyhow!("Error: {e:#?}")), + Err(e) => Err(anyhow!("Error: {:?}", e)), } } } diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 3edb8c3c8..0342e3f75 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -78,18 +78,16 @@ mod tests { setup_tracing(); let asserter = Asserter::new(); - let deployer_address = "0x1234567890123456789012345678901234567890" + let deployer_address = "0x1111111111111111111111111111111111111111" .parse::
() .unwrap(); - let interpreter_address = "1234567890123456789012345678901234567891"; - let store_address = "1234567890123456789012345678901234567892"; - let parser_address = "1234567890123456789012345678901234567893"; + let interpreter_address = "2222222222222222222222222222222222222222"; + let store_address = "3333333333333333333333333333333333333333"; + let parser_address = "4444444444444444444444444444444444444444"; - // Mock responses for the read calls - the responses will be popped off - // the stack in the reverse order they are pushed on. - asserter.push_success(&format!("0x{parser_address:0>64}")); - asserter.push_success(&format!("0x{store_address:0>64}")); asserter.push_success(&format!("0x{interpreter_address:0>64}")); + asserter.push_success(&format!("0x{store_address:0>64}")); + asserter.push_success(&format!("0x{parser_address:0>64}")); let client = ReadableClient::new_mocked(asserter); let dispair = DISPair::from_deployer(deployer_address, client) From b7b9203ca7114b10fd3838b76e2cffce1c606811 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Fri, 6 Jun 2025 11:10:55 +0400 Subject: [PATCH 07/30] rm redundant conversions --- crates/eval/src/fork.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/eval/src/fork.rs b/crates/eval/src/fork.rs index 820050c4f..3b2bedb83 100644 --- a/crates/eval/src/fork.rs +++ b/crates/eval/src/fork.rs @@ -117,10 +117,10 @@ impl Forker { env: evm_opts.fork_evm_env(&fork_url).await?.0, evm_opts, }; - let block_number = if let Some(v) = fork_block_number { - BlockNumber::from(v) + let block_number = if let Some(block_number) = fork_block_number { + block_number } else { - create_fork.env.evm_env.block_env.number.into() + create_fork.env.evm_env.block_env.number }; let db = Backend::spawn(Some(create_fork.clone()))?; @@ -193,10 +193,10 @@ impl Forker { env: evm_opts.fork_evm_env(&fork_url).await.unwrap().0, evm_opts, }; - let block_number = if let Some(v) = fork_block_number { - BlockNumber::from(v) + let block_number = if let Some(block_number) = fork_block_number { + block_number } else { - create_fork.env.evm_env.block_env.number.into() + create_fork.env.evm_env.block_env.number }; self.forks.insert( From fadbdfed1424263aca856ffd255265a8538461e0 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Fri, 6 Jun 2025 11:42:04 +0400 Subject: [PATCH 08/30] nix switch --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index a9e3befee..ae8eb64a2 100644 --- a/flake.lock +++ b/flake.lock @@ -367,17 +367,17 @@ "solc": "solc_2" }, "locked": { - "lastModified": 1749105147, - "narHash": "sha256-kQ3kva16T5Vh/aFR+CR71H+ebvN2TIel9mALAehm1QA=", + "lastModified": 1749195246, + "narHash": "sha256-2pxLmguxgvcIaoCrxrrJaod+Sen/HjULnibdjogNp14=", "owner": "rainlanguage", "repo": "rainix", - "rev": "870f018fa1b7e72a93be6d2bfa65277f9a994d86", + "rev": "8ef27fa997337ec2414d1e21999a298b75a0f01e", "type": "github" }, "original": { "owner": "rainlanguage", "repo": "rainix", - "rev": "870f018fa1b7e72a93be6d2bfa65277f9a994d86", + "rev": "8ef27fa997337ec2414d1e21999a298b75a0f01e", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 08d9dbfe3..ade1df3ab 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ inputs = { flake-utils.url = "github:numtide/flake-utils"; rainix.url = - "github:rainlanguage/rainix?rev=870f018fa1b7e72a93be6d2bfa65277f9a994d86"; + "github:rainlanguage/rainix?rev=8ef27fa997337ec2414d1e21999a298b75a0f01e"; rain.url = "github:rainlanguage/rain.cli"; }; From b5cc23379e765b84939572e9da69e4ca5fe84b0d Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 14:17:38 +0400 Subject: [PATCH 09/30] switch flake input to main rainix --- flake.lock | 17 ++++++++--------- flake.nix | 3 +-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index ae8eb64a2..79a9f932c 100644 --- a/flake.lock +++ b/flake.lock @@ -182,11 +182,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1749028224, - "narHash": "sha256-QASvMXLxZpkSMFCMdymj9ZDLfH+KoYEbUabuiId+uS0=", + "lastModified": 1741023058, + "narHash": "sha256-LSd/8CBlpDLjci5ANFJjP0w+dGdY/mqKsyUfhjGwnfs=", "owner": "shazow", "repo": "foundry.nix", - "rev": "3c15241d74bfdb82e07636ce65faf02bcbfc13d6", + "rev": "66becfe20b7e688b8f2e5774609c4436cf202ba0", "type": "github" }, "original": { @@ -367,17 +367,16 @@ "solc": "solc_2" }, "locked": { - "lastModified": 1749195246, + "lastModified": 1749284231, "narHash": "sha256-2pxLmguxgvcIaoCrxrrJaod+Sen/HjULnibdjogNp14=", "owner": "rainlanguage", "repo": "rainix", - "rev": "8ef27fa997337ec2414d1e21999a298b75a0f01e", + "rev": "f3ef7c9b21db154d6e57858aa2f59ce40e6677bb", "type": "github" }, "original": { "owner": "rainlanguage", "repo": "rainix", - "rev": "8ef27fa997337ec2414d1e21999a298b75a0f01e", "type": "github" } }, @@ -447,13 +446,13 @@ "solc-macos-amd64-list-json": { "flake": false, "locked": { - "narHash": "sha256-AvITkfpNYgCypXuLJyqco0li+unVw39BAfdOZvd/SPE=", + "narHash": "sha256-U5ckttxwKO13gIKggel6iybG5oTDbSidPR5nH3Gs+kY=", "type": "file", - "url": "https://github.com/ethereum/solc-bin/raw/26fc3fd/macosx-amd64/list.json" + "url": "https://github.com/ethereum/solc-bin/raw/30a3695/macosx-amd64/list.json" }, "original": { "type": "file", - "url": "https://github.com/ethereum/solc-bin/raw/26fc3fd/macosx-amd64/list.json" + "url": "https://github.com/ethereum/solc-bin/raw/30a3695/macosx-amd64/list.json" } }, "solc_2": { diff --git a/flake.nix b/flake.nix index ade1df3ab..9205ffd88 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,7 @@ inputs = { flake-utils.url = "github:numtide/flake-utils"; - rainix.url = - "github:rainlanguage/rainix?rev=8ef27fa997337ec2414d1e21999a298b75a0f01e"; + rainix.url = "github:rainlanguage/rainix"; rain.url = "github:rainlanguage/rain.cli"; }; From 7c355bcbe887a1ef6829855a9a8439dd8a58b650 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 14:22:24 +0400 Subject: [PATCH 10/30] set editor solidity compiler version --- .vscode/settings.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 3905ae4c1..077436d26 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,6 @@ { - "editor.rulers": [80] + "editor.rulers": [ + 80 + ], + "solidity.compileUsingRemoteVersion": "v0.8.25+commit.b61c2a91" } \ No newline at end of file From 862d28b20e84fcb89911c574bb59de21c7befcf2 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 15:06:26 +0400 Subject: [PATCH 11/30] update test generated value boundaries --- .vscode/settings.json | 3 ++- test/src/lib/op/evm/LibOpBlockNumber.t.sol | 2 +- test/src/lib/op/evm/LibOpTimestamp.t.sol | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 077436d26..99982f2f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,6 @@ "editor.rulers": [ 80 ], - "solidity.compileUsingRemoteVersion": "v0.8.25+commit.b61c2a91" + "solidity.compileUsingRemoteVersion": "v0.8.25+commit.b61c2a91", + "solidity.formatter": "forge" } \ No newline at end of file diff --git a/test/src/lib/op/evm/LibOpBlockNumber.t.sol b/test/src/lib/op/evm/LibOpBlockNumber.t.sol index e71767396..2ba067cb4 100644 --- a/test/src/lib/op/evm/LibOpBlockNumber.t.sol +++ b/test/src/lib/op/evm/LibOpBlockNumber.t.sol @@ -47,7 +47,7 @@ contract LibOpBlockNumberTest is OpTest { /// Directly test the runtime logic of LibOpBlockNumber. This tests that the /// opcode correctly pushes the block number onto the stack. function testOpBlockNumberRun(uint256 blockNumber, uint16 operandData) external { - blockNumber = bound(blockNumber, 0, uint256(uint128(type(int128).max))); + blockNumber = bound(blockNumber, 0, uint256(type(uint64).max)); InterpreterState memory state = opTestDefaultInterpreterState(); vm.roll(blockNumber); StackItem[] memory inputs = new StackItem[](0); diff --git a/test/src/lib/op/evm/LibOpTimestamp.t.sol b/test/src/lib/op/evm/LibOpTimestamp.t.sol index eb167fd93..ff550fc20 100644 --- a/test/src/lib/op/evm/LibOpTimestamp.t.sol +++ b/test/src/lib/op/evm/LibOpTimestamp.t.sol @@ -69,7 +69,7 @@ contract LibOpTimestampTest is OpTest { string[] memory words = timestampWords(); for (uint256 i; i < words.length; ++i) { - blockTimestamp = bound(blockTimestamp, 0, type(uint256).max / 1e18); + blockTimestamp = bound(blockTimestamp, 0, uint256(type(uint64).max)); vm.warp(blockTimestamp); bytes memory bytecode = iDeployer.parse2(bytes(string.concat("_: ", words[i], "();"))); (StackItem[] memory stack, bytes32[] memory kvs) = iInterpreter.eval4( From 2c1d71db4c15187a9cd416de3347c479557c9d42 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 15:10:25 +0400 Subject: [PATCH 12/30] add explainer comment --- .cargo/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.cargo/config.toml b/.cargo/config.toml index 0e465b2de..0c6c27f83 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1,3 @@ [target.wasm32-unknown-unknown] +# Required to make the rand feature of alloy work for wasm32-unknown-unknown rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""] From 66d25ef804e496f79b5031bc85cde6830d9e1c5b Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 15:39:18 +0400 Subject: [PATCH 13/30] address ai feedback --- crates/cli/src/commands/eval.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index c6bb638c1..d0ccf1434 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -144,7 +144,6 @@ mod tests { }; let result = eval.execute().await; - println!("{result:#?}"); assert!(result.is_ok()); } } From ab9288e41fd7bc09b66b58422520c0324ffd2577 Mon Sep 17 00:00:00 2001 From: 0xgleb Date: Sat, 7 Jun 2025 17:11:17 +0400 Subject: [PATCH 14/30] update rain.metadata submodule --- lib/rain.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rain.metadata b/lib/rain.metadata index ce2872c68..908c33677 160000 --- a/lib/rain.metadata +++ b/lib/rain.metadata @@ -1 +1 @@ -Subproject commit ce2872c682e9570f8362090df39307f52dc3a0ad +Subproject commit 908c3367763b28d18b11ad99a96971c615592e8c From 6a29dc9e9b3082df389619fb0a15a1108ea8650c Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 21:07:31 +0000 Subject: [PATCH 15/30] init --- Cargo.lock | 58 ++++++-- Cargo.toml | 4 +- crates/bindings/src/lib.rs | 34 ++++- crates/cli/Cargo.toml | 4 +- crates/cli/src/commands/eval.rs | 20 +-- crates/dispair/Cargo.toml | 3 + crates/dispair/src/lib.rs | 53 +++---- crates/env/Cargo.toml | 10 -- crates/env/src/lib.rs | 39 ------ crates/eval/Cargo.toml | 2 +- crates/eval/src/eval.rs | 93 ++++++++----- crates/eval/src/fork.rs | 130 ++++++++--------- crates/eval/src/namespace.rs | 2 +- crates/eval/src/trace.rs | 75 +++++----- crates/test_fixtures/Cargo.toml | 15 ++ crates/test_fixtures/src/lib.rs | 239 ++++++++++++++++++++++++++++++++ test/utils/TestERC20.sol | 19 +++ 17 files changed, 543 insertions(+), 257 deletions(-) delete mode 100644 crates/env/Cargo.toml delete mode 100644 crates/env/src/lib.rs create mode 100644 crates/test_fixtures/Cargo.toml create mode 100644 crates/test_fixtures/src/lib.rs create mode 100644 test/utils/TestERC20.sol diff --git a/Cargo.lock b/Cargo.lock index 6e7a3337d..61aa538f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -69,6 +69,7 @@ dependencies = [ "alloy-genesis", "alloy-json-rpc", "alloy-network", + "alloy-node-bindings", "alloy-provider", "alloy-rpc-client", "alloy-rpc-types", @@ -379,6 +380,27 @@ dependencies = [ "serde", ] +[[package]] +name = "alloy-node-bindings" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aec69b8e97eaba1df99ac52e485931c066795dc92b221e337cf2a6d53f4beb10" +dependencies = [ + "alloy-genesis", + "alloy-hardforks", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", + "k256", + "rand 0.8.5", + "serde_json", + "tempfile", + "thiserror 2.0.12", + "tracing", + "url", +] + [[package]] name = "alloy-op-evm" version = "0.10.0" @@ -449,8 +471,10 @@ dependencies = [ "alloy-json-rpc", "alloy-network", "alloy-network-primitives", + "alloy-node-bindings", "alloy-primitives", "alloy-rpc-client", + "alloy-rpc-types-anvil", "alloy-rpc-types-eth", "alloy-signer", "alloy-sol-types", @@ -557,6 +581,18 @@ dependencies = [ "serde", ] +[[package]] +name = "alloy-rpc-types-anvil" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f7e3f1efdb3ef6f2e0e09036099933f9d96ff1d3129be4b2e5394550a58b39d" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + [[package]] name = "alloy-rpc-types-any" version = "1.0.9" @@ -5161,9 +5197,9 @@ dependencies = [ "alloy", "anyhow", "clap", - "rain-interpreter-env", "rain-interpreter-eval", "rain_interpreter_bindings", + "rain_interpreter_test_fixtures", "serde", "serde_bytes", "tokio", @@ -5171,14 +5207,6 @@ dependencies = [ "tracing-subscriber 0.3.19", ] -[[package]] -name = "rain-interpreter-env" -version = "0.0.0" -dependencies = [ - "alloy", - "once_cell", -] - [[package]] name = "rain-interpreter-eval" version = "0.1.0" @@ -5188,8 +5216,8 @@ dependencies = [ "foundry-evm", "once_cell", "rain-error-decoding", - "rain-interpreter-env", "rain_interpreter_bindings", + "rain_interpreter_test_fixtures", "reqwest 0.11.27", "revm", "serde", @@ -5213,6 +5241,7 @@ dependencies = [ "alloy", "alloy-ethers-typecast", "rain_interpreter_bindings", + "rain_interpreter_test_fixtures", "serde", "serde_json", "thiserror 1.0.69", @@ -5235,6 +5264,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "rain_interpreter_test_fixtures" +version = "0.0.0" +dependencies = [ + "alloy", + "getrandom 0.2.16", + "serde_json", +] + [[package]] name = "rand" version = "0.8.5" diff --git a/Cargo.toml b/Cargo.toml index 54ded7e22..81595a31b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,6 @@ tracing-subscriber = "0.3.17" reqwest = { version = "0.11.17", features = ["json"] } once_cell = "1.17.1" alloy-ethers-typecast = { git = "https://github.com/rainlanguage/alloy-ethers-typecast", rev = "f7b5bfd0687f16c77dbfdd4905b2434793fa7885" } -rain-interpreter-env = { path = "crates/env" } eyre = "0.6" rain-error-decoding = { git = "https://github.com/rainlanguage/rain.error", rev = "bf08b5ab305287fc49408a441d6375f35dc280db" } @@ -48,3 +47,6 @@ path = "crates/bindings" [workspace.dependencies.rain-interpreter-eval] path = "crates/eval" + +[workspace.dependencies.rain_interpreter_test_fixtures] +path = "crates/test_fixtures" diff --git a/crates/bindings/src/lib.rs b/crates/bindings/src/lib.rs index f6fdc26c9..576f2a71e 100644 --- a/crates/bindings/src/lib.rs +++ b/crates/bindings/src/lib.rs @@ -1,5 +1,6 @@ use alloy::sol; +// interpreters sol!( #![sol(all_derives = true)] IInterpreterV2, @@ -10,6 +11,13 @@ sol!( IInterpreterV3, "../../out/IInterpreterV3.sol/IInterpreterV3.json" ); +sol!( + #![sol(all_derives = true)] + IInterpreterV4, + "../../out/IInterpreterV4.sol/IInterpreterV4.json" +); + +// stores sol!( #![sol(all_derives = true)] IInterpreterStoreV1, @@ -17,19 +25,39 @@ sol!( ); sol!( #![sol(all_derives = true)] - IParserV1, "../../out/IParserV1.sol/IParserV1.json"); + IInterpreterStoreV2, + "../../out/IInterpreterStoreV2.sol/IInterpreterStoreV2.json" +); +sol!( + #![sol(all_derives = true)] + IInterpreterStoreV3, + "../../out/IInterpreterStoreV3.sol/IInterpreterStoreV3.json" +); +// parsers sol!( #![sol(all_derives = true)] - IParserV2, "../../out/IParserV2.sol/IParserV2.json"); + IParserV1, "../../out/IParserV1.sol/IParserV1.json" +); +sol!( + #![sol(all_derives = true)] + IParserV2, "../../out/IParserV2.sol/IParserV2.json" +); + +// pragma sol!( #![sol(all_derives = true)] - IParserPragmaV1, "../../out/IParserPragmaV1.sol/IParserPragmaV1.json"); + IParserPragmaV1, "../../out/IParserPragmaV1.sol/IParserPragmaV1.json" +); + +// deployer sol!( #![sol(all_derives = true)] IExpressionDeployerV3, "../../out/IExpressionDeployerV3.sol/IExpressionDeployerV3.json" ); + +// dispair binding sol! { #![sol(all_derives = true)] interface DeployerISP { diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index abeb1f00c..30dd517e2 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -18,7 +18,6 @@ serde_bytes = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ['env-filter'] } alloy = { workspace = true } -rain-interpreter-env = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { version = "1.28.0", features = ["full"] } @@ -31,3 +30,6 @@ tokio = { version = "1.28.0", features = [ "rt", "time", ] } + +[dev-dependencies] +rain_interpreter_test_fixtures = { workspace = true } diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index d0ccf1434..c8009bf75 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -6,7 +6,7 @@ use anyhow::anyhow; use anyhow::Context; use anyhow::Result; use clap::Args; -use rain_interpreter_bindings::IInterpreterStoreV1::FullyQualifiedNamespace; +use rain_interpreter_bindings::IInterpreterStoreV3::FullyQualifiedNamespace; use rain_interpreter_eval::trace::RainEvalResult; use rain_interpreter_eval::{eval::ForkEvalArgs, fork::Forker}; use std::path::PathBuf; @@ -62,6 +62,8 @@ impl TryFrom for ForkEvalArgs { namespace: FullyQualifiedNamespace::from(namespace), context, decode_errors: args.decode_errors, + inputs: vec![], + state_overlay: vec![], }) } } @@ -112,10 +114,7 @@ impl Execute for Eval { #[cfg(test)] mod tests { use super::*; - - use rain_interpreter_env::{ - CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - }; + use rain_interpreter_test_fixtures::LocalEvm; #[test] fn test_parse_int_or_hex() { @@ -127,16 +126,19 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_execute() { + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); + let eval = Eval { output_path: None, forked_evm: NewForkedEvmCliArgs { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }, fork_eval_args: ForkEvalCliArgs { - rainlang_string: r"_: add(10 2), _: context<0 0>(), _:context<0 1>();".into(), + rainlang_string: r"_: 12, _: context<0 0>(), _:context<0 1>();".into(), source_index: 0, - deployer: *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, + deployer, namespace: "0x123".into(), context: vec!["0x06,99".into()], decode_errors: true, diff --git a/crates/dispair/Cargo.toml b/crates/dispair/Cargo.toml index 4cbe3e0b5..af7afa687 100644 --- a/crates/dispair/Cargo.toml +++ b/crates/dispair/Cargo.toml @@ -28,5 +28,8 @@ tokio = { version = "1.28.0", features = [ "time", ] } +[dev-dependencies] +rain_interpreter_test_fixtures = { workspace = true } + [package.metadata.docs.rs] all-features = true diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 0342e3f75..3e76e5380 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -69,47 +69,26 @@ impl DISPair { #[cfg(test)] mod tests { use super::*; - use alloy::primitives::Address; - use alloy::providers::mock::Asserter; - use tracing_subscriber::FmtSubscriber; + use rain_interpreter_test_fixtures::LocalEvm; #[tokio::test] async fn test_from_deployer() { - setup_tracing(); - - let asserter = Asserter::new(); - let deployer_address = "0x1111111111111111111111111111111111111111" - .parse::
() - .unwrap(); - let interpreter_address = "2222222222222222222222222222222222222222"; - let store_address = "3333333333333333333333333333333333333333"; - let parser_address = "4444444444444444444444444444444444444444"; - - asserter.push_success(&format!("0x{interpreter_address:0>64}")); - asserter.push_success(&format!("0x{store_address:0>64}")); - asserter.push_success(&format!("0x{parser_address:0>64}")); - - let client = ReadableClient::new_mocked(asserter); - let dispair = DISPair::from_deployer(deployer_address, client) + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); + let client = ReadableClient::new_from_url(local_evm.url()) .await - .unwrap(); - - assert_eq!(dispair.deployer, deployer_address); - assert_eq!( - dispair.interpreter, - interpreter_address.parse::
().unwrap() - ); - assert_eq!(dispair.store, store_address.parse::
().unwrap()); - assert_eq!(dispair.parser, parser_address.parse::
().unwrap()); - } - - #[allow(dead_code)] - fn setup_tracing() { - let subscriber = FmtSubscriber::builder() - .with_max_level(tracing::Level::DEBUG) - .finish(); + .expect("Failed to create ReadableClient"); + let dispair = DISPair::from_deployer(deployer, client).await.unwrap(); + let expected = DISPair { + deployer, + interpreter: *local_evm.interpreter.address(), + store: *local_evm.store.address(), + parser: *local_evm.parser.address(), + }; - tracing::subscriber::set_global_default(subscriber) - .expect("Failed to set tracing subscriber"); + assert_eq!(dispair.deployer, expected.deployer); + assert_eq!(dispair.interpreter, expected.interpreter); + assert_eq!(dispair.store, expected.store); + assert_eq!(dispair.parser, expected.parser); } } diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml deleted file mode 100644 index d1d2e6954..000000000 --- a/crates/env/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "rain-interpreter-env" -version = "0.0.0" -edition.workspace = true -license.workspace = true -homepage.workspace = true - -[dependencies] -once_cell = { workspace = true } -alloy = { workspace = true } diff --git a/crates/env/src/lib.rs b/crates/env/src/lib.rs deleted file mode 100644 index 817c3d6ac..000000000 --- a/crates/env/src/lib.rs +++ /dev/null @@ -1,39 +0,0 @@ -use alloy::primitives::{Address, BlockNumber}; -use once_cell::sync::Lazy; - -pub static CI_DEPLOY_SEPOLIA_RPC_URL: Lazy = Lazy::new(|| { - env!( - "CI_DEPLOY_SEPOLIA_RPC_URL", - "$CI_DEPLOY_SEPOLIA_RPC_URL not set." - ) - .to_string() -}); - -pub static CI_FORK_SEPOLIA_DEPLOYER_ADDRESS: Lazy
= Lazy::new(|| { - env!( - "CI_FORK_SEPOLIA_DEPLOYER_ADDRESS", - "$CI_FORK_SEPOLIA_DEPLOYER_ADDRESS not set." - ) - .parse() - .unwrap() -}); - -pub static CI_FORK_SEPOLIA_BLOCK_NUMBER: Lazy = Lazy::new(|| { - env!( - "CI_FORK_SEPOLIA_BLOCK_NUMBER", - "$CI_FORK_SEPOLIA_BLOCK_NUMBER not set." - ) - .parse() - .unwrap() -}); - -pub static CI_FORK_POLYGON_RPC_URL: Lazy = Lazy::new(|| { - env!( - "CI_FORK_POLYGON_RPC_URL", - "$CI_FORK_POLYGON_RPC_URL not set." - ) - .to_string() -}); - -pub static CI_FORK_BSC_RPC_URL: Lazy = - Lazy::new(|| env!("CI_FORK_BSC_RPC_URL", "$CI_FORK_BSC_RPC_URL not set.").to_string()); diff --git a/crates/eval/Cargo.toml b/crates/eval/Cargo.toml index c4f9631be..65f7afc32 100644 --- a/crates/eval/Cargo.toml +++ b/crates/eval/Cargo.toml @@ -22,7 +22,7 @@ revm = { workspace = true } [dev-dependencies] tracing = { workspace = true } -rain-interpreter-env = { workspace = true } +rain_interpreter_test_fixtures = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] tokio = { version = "1.28.0", features = ["full"] } diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 2b088d012..859736baa 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -2,8 +2,8 @@ use crate::error::ForkCallError; use crate::fork::{ForkTypedReturn, Forker}; use alloy::primitives::{Address, U256}; use rain_interpreter_bindings::DeployerISP::{iInterpreterCall, iStoreCall}; -use rain_interpreter_bindings::IInterpreterStoreV1::FullyQualifiedNamespace; -use rain_interpreter_bindings::IInterpreterV3::eval3Call; +use rain_interpreter_bindings::IInterpreterStoreV3::FullyQualifiedNamespace; +use rain_interpreter_bindings::IInterpreterV4::{EvalV4, eval4Call}; use rain_interpreter_bindings::IParserV2::parse2Call; #[derive(Debug, Clone)] @@ -14,6 +14,8 @@ pub struct ForkEvalArgs { pub namespace: FullyQualifiedNamespace, pub context: Vec>, pub decode_errors: bool, + pub inputs: Vec, + pub state_overlay: Vec, } #[derive(Debug, Clone)] @@ -74,6 +76,9 @@ impl Forker { /// * `deployer` - The address of the deployer. /// * `namespace` - The fully qualified namespace. /// * `context` - The context vector. + /// * `inputs` - The inputs vector. + /// * `state_overlay` - The state_overlay vector. + /// * `decode_errors` - Whether to decode errors from registry or not /// /// # Returns /// @@ -81,7 +86,7 @@ impl Forker { pub async fn fork_eval( &self, args: ForkEvalArgs, - ) -> Result, ForkCallError> { + ) -> Result, ForkCallError> { let ForkEvalArgs { rainlang_string, source_index, @@ -89,6 +94,8 @@ impl Forker { namespace, context, decode_errors, + inputs, + state_overlay, } = args; let parse_result = self .fork_parse(ForkParseArgs { @@ -113,13 +120,19 @@ impl Forker { .await? .typed_return; - let eval_args = eval3Call { - bytecode: parse_result.typed_return, - sourceIndex: U256::from(source_index), - store, - namespace: namespace.into(), - context, - inputs: vec![], + let eval_args = eval4Call { + eval: EvalV4 { + bytecode: parse_result.typed_return, + sourceIndex: U256::from(source_index), + store, + namespace: namespace.into(), + context: context + .into_iter() + .map(|v| v.into_iter().map(Into::into).collect()) + .collect(), + inputs: inputs.into_iter().map(Into::into).collect(), + stateOverlay: state_overlay.into_iter().map(Into::into).collect(), + }, }; let res = self @@ -132,76 +145,78 @@ impl Forker { #[cfg(test)] mod tests { - use alloy::primitives::utils::parse_ether; - use foundry_evm::traces::CallTraceArena; - use rain_interpreter_env::{ - CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - }; - - use std::sync::Arc; - use super::*; use crate::fork::NewForkedEvm; + use alloy::primitives::FixedBytes; + use foundry_evm::traces::CallTraceArena; + use rain_interpreter_test_fixtures::LocalEvm; + use std::sync::Arc; #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_fork_parse() { - let deployer: Address = *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS; + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; let fork = Forker::new_with_fork(args, None, None).await.unwrap(); + let x = local_evm.deployer.iInterpreter().call().await.unwrap(); + println!("{}", x); let res = fork .fork_parse(ForkParseArgs { - rainlang_string: r"_: add(1 2);".to_owned(), + rainlang_string: r"_: 1;".to_owned(), deployer, decode_errors: true, }) .await .unwrap(); - let expected_bytes: Vec = alloy::hex::decode("0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000000000000000000000000000000000000000000130100000302000101100001011000002b120000").unwrap(); + let expected_bytes: Vec = alloy::hex::decode("0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b0100000101000101100000").unwrap(); assert_eq!(res.typed_return.0, expected_bytes); } #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_fork_eval() { - let deployer: Address = *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS; + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_owned(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; let fork = Forker::new_with_fork(args, None, None).await.unwrap(); let res = fork .fork_eval(ForkEvalArgs { - rainlang_string: r"_: add(1 2);".into(), + rainlang_string: r"_: 3;".into(), source_index: 0, deployer, namespace: FullyQualifiedNamespace::default(), context: vec![], decode_errors: true, + state_overlay: vec![], + inputs: vec![], }) .await .unwrap(); // stack - let expected_stack = vec![parse_ether("3").unwrap()]; + let expected_stack: Vec> = vec![FixedBytes::left_padding_from(&[3u8])]; assert_eq!(res.typed_return.stack, expected_stack); // storage writes - let expected_writes = vec![]; + let expected_writes: Vec> = vec![]; assert_eq!(res.typed_return.writes, expected_writes); // stack in the trace for source index 0 let mut expected_stack_trace = vec![0u8, 0u8, 0u8, 0u8]; - expected_stack_trace.append(&mut parse_ether("3").unwrap().to_be_bytes_vec()); + expected_stack_trace.append(&mut >::left_padding_from(&[3u8]).to_vec()); let sparsed_trace_arena = res.raw.traces.unwrap(); let source_index_zero_trace = ::clone(&sparsed_trace_arena) .into_nodes()[1] .to_owned() .trace; - assert_eq!(source_index_zero_trace.data, expected_stack_trace); + assert_eq!(source_index_zero_trace.data.to_vec(), expected_stack_trace); // asserting the known trace address let expected_trace_address = "0xF06Cd48c98d7321649dB7D8b2C396A81A2046555" @@ -213,10 +228,11 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 10)] async fn test_fork_eval_parallel() { - let deployer: Address = *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS; + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; let fork = Forker::new_with_fork(args, None, None).await.unwrap(); let fork = Arc::new(fork); // Wrap in Arc for shared ownership @@ -227,12 +243,14 @@ mod tests { let handle = tokio::spawn(async move { fork_clone .fork_eval(ForkEvalArgs { - rainlang_string: r"_: add(1 2);".into(), + rainlang_string: r"_: 3;".into(), source_index: 0, deployer, namespace: FullyQualifiedNamespace::default(), context: vec![], decode_errors: true, + state_overlay: vec![], + inputs: vec![], }) .await .unwrap() @@ -242,7 +260,10 @@ mod tests { for handle in handles { let res = handle.await.unwrap(); - assert_eq!(res.typed_return.stack, vec![parse_ether("3").unwrap()]); + assert_eq!( + res.typed_return.stack, + vec![FixedBytes::left_padding_from(&[3u8])] + ); } } } diff --git a/crates/eval/src/fork.rs b/crates/eval/src/fork.rs index 3b2bedb83..a988e3a7d 100644 --- a/crates/eval/src/fork.rs +++ b/crates/eval/src/fork.rs @@ -408,19 +408,18 @@ impl Forker { #[cfg(test)] mod tests { - use crate::namespace::CreateNamespace; - use rain_interpreter_env::{ - CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_BSC_RPC_URL, CI_FORK_POLYGON_RPC_URL, - CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - }; - use super::*; - use alloy::primitives::U256; + use crate::namespace::CreateNamespace; use alloy::sol; + use alloy::{ + primitives::{FixedBytes, U256}, + providers::Provider, + }; use rain_interpreter_bindings::{ - DeployerISP::{iParserCall, iStoreCall}, - IInterpreterStoreV1::{getCall, setCall}, + DeployerISP::iParserCall, + IInterpreterStoreV3::{getCall, setCall}, }; + use rain_interpreter_test_fixtures::LocalEvm; sol! { interface IERC20 { @@ -431,59 +430,45 @@ mod tests { function transferFrom(address from, address to, uint256 amount) external returns (bool); } } - const USDT_POLYGON: &str = "0xc2132d05d31c914a87c6611c10748aeb04b58e8f"; - const USDT_BSC: &str = "0x55d398326f99059fF775485246999027B3197955"; - const POLYGON_FORK_NUMBER: u64 = 54697866; - const BSC_FORK_NUMBER: u64 = 40531873; - const BSC_ACC: &str = "0xee5B5B923fFcE93A870B3104b7CA09c3db80047A"; - const POLYGON_ACC: &str = "0xF977814e90dA44bFA03b6295A0616a897441aceC"; #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_forker_read() { + let local_evm = LocalEvm::new().await; + let deployer = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; + let forker = Forker::new_with_fork(args, None, None).await.unwrap(); let from_address = Address::default(); - let to_address: Address = *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS; + let to_address = deployer; let call = iParserCall {}; let result = forker .alloy_call(from_address, to_address, call, false) .await .unwrap(); let parser_address = result.typed_return; - let expected_address = "0xf14e09601a47552de6abd3a0b165607fafd2b5ba" - .parse::
() - .unwrap(); + let expected_address = *local_evm.parser.address(); assert_eq!(parser_address, expected_address); } #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_forker_write() { + let local_evm = LocalEvm::new().await; let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; let mut forker = Forker::new_with_fork(args, None, None).await.unwrap(); let from_address = Address::repeat_byte(0x02); - let store_call = iStoreCall {}; - let store_result = forker - .alloy_call( - from_address, - *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - store_call, - false, - ) - .await - .unwrap(); - let store_address: Address = store_result.typed_return; + let store_address = *local_evm.store.address(); let namespace = U256::from(1); - let key = U256::from(3); - let value = U256::from(4); + let key = >::left_padding_from(&[3u8]); + let value = >::left_padding_from(&[4u8]); let _set = forker .alloy_call_committing( from_address, @@ -507,7 +492,7 @@ mod tests { store_address, getCall { namespace: fully_quallified_namespace.into(), - key: U256::from(3), + key: >::left_padding_from(&[3u8]), }, false, ) @@ -519,16 +504,19 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_multi_fork_read_write_switch_reset() -> Result<(), ForkCallError> { + let local_evm1 = LocalEvm::new_with_tokens(1).await; + let local_evm1_token = *local_evm1.tokens[0].address(); + let local_evm1_token_holder = local_evm1.anvil.addresses()[0]; let args = NewForkedEvm { - fork_url: CI_FORK_POLYGON_RPC_URL.clone(), - fork_block_number: Some(POLYGON_FORK_NUMBER), + fork_url: local_evm1.url(), + fork_block_number: None, }; let mut forker = Forker::new_with_fork(args, None, None).await.unwrap(); let from_address = Address::default(); - let to_address: Address = USDT_POLYGON.parse::
().unwrap(); + let to_address = local_evm1_token; let call = IERC20::balanceOfCall { - account: POLYGON_ACC.parse::
().unwrap(), + account: local_evm1_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -537,8 +525,8 @@ mod tests { let old_balance = result.typed_return; let polygon_old_balance = result.typed_return; - let from_address = POLYGON_ACC.parse::
().unwrap(); - let to_address: Address = USDT_POLYGON.parse::
().unwrap(); + let from_address = local_evm1_token_holder; + let to_address = local_evm1_token; let send_amount = U256::from(0xffu64); let transfer_call = IERC20::transferCall { to: Address::repeat_byte(0x2), @@ -556,9 +544,9 @@ mod tests { .unwrap(); let from_address = Address::default(); - let to_address: Address = USDT_POLYGON.parse::
().unwrap(); + let to_address = local_evm1_token; let call = IERC20::balanceOfCall { - account: POLYGON_ACC.parse::
().unwrap(), + account: local_evm1_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -569,16 +557,19 @@ mod tests { let polygon_balance = new_balance; // switch fork + let local_evm2 = LocalEvm::new_with_tokens(1).await; + let local_evm2_token = *local_evm2.tokens[0].address(); + let local_evm2_token_holder = local_evm2.anvil.addresses()[0]; let args = NewForkedEvm { - fork_url: CI_FORK_BSC_RPC_URL.to_owned(), - fork_block_number: Some(BSC_FORK_NUMBER), + fork_url: local_evm2.url(), + fork_block_number: None, }; forker.add_or_select(args, None).await?; let from_address = Address::default(); - let to_address: Address = USDT_BSC.parse::
().unwrap(); + let to_address = local_evm2_token; let call = IERC20::balanceOfCall { - account: BSC_ACC.parse::
().unwrap(), + account: local_evm2_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -586,9 +577,9 @@ mod tests { .unwrap(); let old_balance = result.typed_return; - let from_address = BSC_ACC.parse::
().unwrap(); - let to_address: Address = USDT_BSC.parse::
().unwrap(); - let send_amount = U256::from(0xffffffffu64); + let from_address = local_evm2_token_holder; + let to_address = local_evm2_token; + let send_amount = U256::from(0xffu64); let transfer_call = IERC20::transferCall { to: Address::repeat_byte(0x2), amount: send_amount, @@ -605,9 +596,9 @@ mod tests { .unwrap(); let from_address = Address::default(); - let to_address: Address = USDT_BSC.parse::
().unwrap(); + let to_address = local_evm2_token; let call = IERC20::balanceOfCall { - account: BSC_ACC.parse::
().unwrap(), + account: local_evm2_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -616,17 +607,17 @@ mod tests { let new_balance = result.typed_return; assert_eq!(new_balance, old_balance - send_amount); - // switch fork + // switch fork back to fork1 let args = NewForkedEvm { - fork_url: CI_FORK_POLYGON_RPC_URL.clone(), - fork_block_number: Some(POLYGON_FORK_NUMBER), + fork_url: local_evm1.url(), + fork_block_number: None, }; forker.add_or_select(args, None).await?; let from_address = Address::default(); - let to_address: Address = USDT_POLYGON.parse::
().unwrap(); + let to_address = local_evm1_token; let call = IERC20::balanceOfCall { - account: POLYGON_ACC.parse::
().unwrap(), + account: local_evm1_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -636,9 +627,9 @@ mod tests { assert_eq!(balance, polygon_balance); // reset fork - forker.roll_fork(Some(POLYGON_FORK_NUMBER), None)?; + forker.roll_fork(None, None)?; let call = IERC20::balanceOfCall { - account: POLYGON_ACC.parse::
().unwrap(), + account: local_evm1_token_holder, }; let result = forker .alloy_call(from_address, to_address, call, false) @@ -653,27 +644,24 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_fork_rolls() { // we need to roll the fork forwards and check that the env block number is updated + let local_evm = LocalEvm::new().await; + let block_number = local_evm.provider.get_block_number().await.unwrap() - 2; let args = NewForkedEvm { - fork_url: CI_FORK_POLYGON_RPC_URL.clone(), - fork_block_number: Some(POLYGON_FORK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: Some(block_number), }; let mut forker = Forker::new_with_fork(args, None, None).await.unwrap(); // check the env block number is the same as the fork block number - assert_eq!( - forker.executor.env().evm_env.block_env.number, - POLYGON_FORK_NUMBER - ); + assert_eq!(forker.executor.env().evm_env.block_env.number, block_number); // roll the fork forwards by 1 block - forker - .roll_fork(Some(POLYGON_FORK_NUMBER + 1), None) - .unwrap(); + forker.roll_fork(Some(block_number + 1), None).unwrap(); // check the env block number is updated assert_eq!( forker.executor.env().evm_env.block_env.number, - POLYGON_FORK_NUMBER + 1 + block_number + 1 ); } } diff --git a/crates/eval/src/namespace.rs b/crates/eval/src/namespace.rs index 67d6f7978..becc72cf8 100644 --- a/crates/eval/src/namespace.rs +++ b/crates/eval/src/namespace.rs @@ -1,5 +1,5 @@ use alloy::primitives::{Address, B256, U256, keccak256}; -use rain_interpreter_bindings::IInterpreterV2::FullyQualifiedNamespace; +use rain_interpreter_bindings::IInterpreterV4::FullyQualifiedNamespace; pub struct CreateNamespace {} diff --git a/crates/eval/src/trace.rs b/crates/eval/src/trace.rs index 2273354a2..1cfbfabe0 100644 --- a/crates/eval/src/trace.rs +++ b/crates/eval/src/trace.rs @@ -1,7 +1,7 @@ use crate::fork::ForkTypedReturn; use alloy::primitives::{Address, U256}; use foundry_evm::traces::CallTraceArena; -use rain_interpreter_bindings::IInterpreterV3::{eval3Call, eval3Return}; +use rain_interpreter_bindings::IInterpreterV4::{eval4Call, eval4Return}; use thiserror::Error; @@ -48,7 +48,7 @@ impl RainSourceTrace { } /// A struct representing the result of a Rain eval call. Contains the stack, -/// writes, and traces. Can be constructed from a `ForkTypedReturn`. +/// writes, and traces. Can be constructed from a `ForkTypedReturn`. #[derive(Debug, Clone)] pub struct RainEvalResult { pub reverted: bool, @@ -57,9 +57,9 @@ pub struct RainEvalResult { pub traces: Vec, } -impl From> for RainEvalResult { - fn from(typed_return: ForkTypedReturn) -> Self { - let eval3Return { stack, writes } = typed_return.typed_return; +impl From> for RainEvalResult { + fn from(typed_return: ForkTypedReturn) -> Self { + let eval4Return { stack, writes } = typed_return.typed_return; let tracer_address = RAIN_TRACER_ADDRESS.parse::
().unwrap(); let call_trace_arena = typed_return.raw.traces.unwrap().to_owned(); @@ -78,8 +78,8 @@ impl From> for RainEvalResult { RainEvalResult { reverted: typed_return.raw.reverted, - stack, - writes, + stack: stack.into_iter().map(Into::into).collect(), + writes: writes.into_iter().map(Into::into).collect(), traces, } } @@ -167,25 +167,24 @@ mod tests { use super::*; use crate::eval::ForkEvalArgs; use crate::fork::{Forker, NewForkedEvm}; - use alloy::primitives::utils::parse_ether; - use rain_interpreter_bindings::IInterpreterStoreV1::FullyQualifiedNamespace; - use rain_interpreter_env::{ - CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - }; + use rain_interpreter_bindings::IInterpreterStoreV3::FullyQualifiedNamespace; + use rain_interpreter_test_fixtures::LocalEvm; #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_fork_trace() { - let deployer_address: Address = *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS; + let local_evm = LocalEvm::new().await; + let deployer_address = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; + let fork = Forker::new_with_fork(args, None, None).await.unwrap(); let res = fork .fork_eval(ForkEvalArgs { rainlang_string: r" - a: add(1 2), + a: 3, b: 2, c: 4, _: call<1>(1 2), @@ -193,9 +192,9 @@ mod tests { :set(3 4); a b:, c: call<2>(a b), - d: add(a b); + d: 3; a b:, - c: mul(a b); + c: 2; " .into(), source_index: 0, @@ -203,6 +202,8 @@ mod tests { namespace: FullyQualifiedNamespace::default(), context: vec![], decode_errors: true, + state_overlay: vec![], + inputs: vec![], }) .await .unwrap(); @@ -212,11 +213,11 @@ mod tests { // reverted assert!(!rain_eval_result.reverted); // stack - let expected_stack = vec_i32_to_u256(vec![3, 4, 2, 3]); + let expected_stack = vec![U256::from(3), U256::from(4), U256::from(2), U256::from(3)]; assert_eq!(rain_eval_result.stack, expected_stack); // storage writes - let expected_writes = vec_i32_to_u256(vec![3, 4, 1, 2]); + let expected_writes = vec![U256::from(3), U256::from(4), U256::from(1), U256::from(2)]; assert_eq!(rain_eval_result.writes, expected_writes); // stack traces @@ -224,52 +225,56 @@ mod tests { let trace_0 = RainSourceTrace { parent_source_index: 0, source_index: 0, - stack: vec_i32_to_u256(vec![3, 4, 2, 3]), + stack: vec![U256::from(3), U256::from(4), U256::from(2), U256::from(3)], }; assert_eq!(rain_eval_result.traces[0], trace_0); // 0 1 let trace_1 = RainSourceTrace { parent_source_index: 0, source_index: 1, - stack: vec_i32_to_u256(vec![3, 2, 2, 1]), + stack: vec![U256::from(3), U256::from(2), U256::from(2), U256::from(1)], }; assert_eq!(rain_eval_result.traces[1], trace_1); // 1 2 let trace_2 = RainSourceTrace { parent_source_index: 1, source_index: 2, - stack: vec_i32_to_u256(vec![2, 2, 1]), + stack: vec![U256::from(2), U256::from(2), U256::from(1)], }; assert_eq!(rain_eval_result.traces[2], trace_2); } #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_search_trace_by_path() { + let local_evm = LocalEvm::new().await; + let deployer_address = *local_evm.deployer.address(); let args = NewForkedEvm { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }; let fork = Forker::new_with_fork(args, None, None).await.unwrap(); let res = fork .fork_eval(ForkEvalArgs { rainlang_string: r" - a: add(1 2), + a: 3, b: 2, c: 4, _: call<1>(1 2); a b:, c: call<2>(a b), - d: add(a b); + d: 3; a b:, - c: mul(a b); + c: 2; " .into(), source_index: 0, - deployer: *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, + deployer: deployer_address, namespace: FullyQualifiedNamespace::default(), context: vec![], decode_errors: true, + state_overlay: vec![], + inputs: vec![], }) .await .unwrap(); @@ -278,11 +283,11 @@ mod tests { // search_trace_by_path let trace_0 = rain_eval_result.search_trace_by_path("0.1").unwrap(); - assert_eq!(trace_0, parse_ether("2").unwrap()); + assert_eq!(trace_0, U256::from(2)); let trace_1 = rain_eval_result.search_trace_by_path("0.1.3").unwrap(); - assert_eq!(trace_1, parse_ether("3").unwrap()); + assert_eq!(trace_1, U256::from(3)); let trace_2 = rain_eval_result.search_trace_by_path("0.1.2").unwrap(); - assert_eq!(trace_2, parse_ether("2").unwrap()); + assert_eq!(trace_2, U256::from(2)); // test the various errors // bad trace path @@ -294,10 +299,4 @@ mod tests { let result = rain_eval_result.search_trace_by_path("0.1.12"); assert!(matches!(result, Err(TraceSearchError::TraceNotFound(_)))); } - - fn vec_i32_to_u256(vec: Vec) -> Vec { - vec.iter() - .map(|&x| parse_ether(&x.to_string()).unwrap()) - .collect() - } } diff --git a/crates/test_fixtures/Cargo.toml b/crates/test_fixtures/Cargo.toml new file mode 100644 index 000000000..97562e30b --- /dev/null +++ b/crates/test_fixtures/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "rain_interpreter_test_fixtures" +edition.workspace = true +license.workspace = true +homepage.workspace = true +publish = false + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +serde_json = { workspace = true } +alloy = { workspace = true, features = ["node-bindings", "sol-types", "rpc-types", "provider-http", "network", "contract", "signer-local"] } + +[target.'cfg(target_family = "wasm")'.dependencies] +getrandom = { version = "0", features = ["js", "js-sys"] } \ No newline at end of file diff --git a/crates/test_fixtures/src/lib.rs b/crates/test_fixtures/src/lib.rs new file mode 100644 index 000000000..4f9d7164d --- /dev/null +++ b/crates/test_fixtures/src/lib.rs @@ -0,0 +1,239 @@ +use alloy::{ + contract::SolCallBuilder, + network::EthereumWallet, + node_bindings::{Anvil, AnvilInstance}, + primitives::{Address, Bytes, U256, utils::parse_units}, + providers::{ + PendingTransactionError, Provider, ProviderBuilder, RootProvider, + fillers::{FillProvider, JoinFill, WalletFiller}, + }, + rpc::types::{TransactionReceipt, TransactionRequest}, + signers::local::PrivateKeySigner, + sol, + sol_types::SolCall, + transports::{RpcError, TransportErrorKind}, +}; +use std::marker::PhantomData; + +sol!( + #![sol(all_derives = true, rpc = true)] + ERC20, "../../out/TestERC20.sol/TestERC20.json" +); + +sol!( + #![sol(all_derives = true, rpc = true)] + Interpreter, + "../../out/Rainterpreter.sol/Rainterpreter.json" +); + +sol!( + #![sol(all_derives = true, rpc = true)] + Store, + "../../out/RainterpreterStore.sol/RainterpreterStore.json" +); + +sol!( + #![sol(all_derives = true, rpc = true)] + Parser, + "../../out/RainterpreterParser.sol/RainterpreterParser.json" +); + +sol!( + #![sol(all_derives = true, rpc = true)] + Deployer, + "../../out/RainterpreterExpressionDeployer.sol/RainterpreterExpressionDeployer.json" +); + +// type aliases for LocalEvm fillers and provider type +pub type LocalEvmFillers = JoinFill< + JoinFill< + alloy::providers::Identity, + JoinFill< + alloy::providers::fillers::GasFiller, + JoinFill< + alloy::providers::fillers::BlobGasFiller, + JoinFill< + alloy::providers::fillers::NonceFiller, + alloy::providers::fillers::ChainIdFiller, + >, + >, + >, + >, + WalletFiller, +>; +pub type LocalEvmProvider = FillProvider; + +/// A local evm instance that wraps an Anvil instance and provider with +/// signers as well as rain contracts already deployed on it. +/// The first signer wallet is the main wallet that would sign any transactions +/// that dont specify a sender (transaction's 'to' field) +pub struct LocalEvm { + /// The Anvil instance, ie the local blockchain + pub anvil: AnvilInstance, + + /// The alloy provider instance of this local blockchain + pub provider: LocalEvmProvider, + + /// Alloy interpreter contract instance deployed on this blockchain + pub interpreter: Interpreter::InterpreterInstance, + + /// Alloy store contract instance deployed on this blockchain + pub store: Store::StoreInstance, + + /// Alloy parser contract instance deployed on this blockchain + pub parser: Parser::ParserInstance, + + /// Alloy expression deployer contract instance deployed on this blockchain + pub deployer: Deployer::DeployerInstance, + + /// Array of alloy ERC20 contract instances deployed on this blockchain + pub tokens: Vec>, + + /// All wallets of this local blockchain that can be used to perform transactions + /// the first wallet is the blockchain's default wallet, ie transactions that dont + /// explicitly specify a sender address will use this as the sender + pub signer_wallets: Vec, +} + +impl LocalEvm { + /// Instantiates this struct with rain contracts deployed and no ERC20 tokens + pub async fn new() -> Self { + let anvil = Anvil::new().try_spawn().unwrap(); + + // set up signers from anvil accounts + let mut signer_wallets = vec![]; + let mut default_signer = + EthereumWallet::from(PrivateKeySigner::from(anvil.keys()[0].clone())); + let other_signer_wallets: Vec = anvil.keys()[1..] + .iter() + .map(|v| EthereumWallet::from(PrivateKeySigner::from(v.clone()))) + .collect(); + + for s in &other_signer_wallets { + default_signer.register_signer(s.default_signer()) + } + signer_wallets.push(default_signer); + signer_wallets.extend(other_signer_wallets); + + // Create a provider with the wallet and fillers + let provider = ProviderBuilder::new() + .wallet(signer_wallets[0].clone()) + .connect_http(anvil.endpoint_url()); + + // deploy rain contracts + let interpreter = Interpreter::deploy(provider.clone()).await.unwrap(); + let store = Store::deploy(provider.clone()).await.unwrap(); + let parser = Parser::deploy(provider.clone()).await.unwrap(); + let config = Deployer::RainterpreterExpressionDeployerConstructionConfigV2 { + interpreter: *interpreter.address(), + parser: *parser.address(), + store: *store.address(), + }; + let deployer = Deployer::deploy(provider.clone(), config).await.unwrap(); + + Self { + anvil, + provider, + interpreter, + store, + parser, + deployer, + tokens: vec![], + signer_wallets, + } + } + + /// Instantiates with number of ERC20 tokens with 18 decimals. + /// Each token after being deployed will mint 1 milion tokens to the + /// default address, which is the first signer wallet of this instance + pub async fn new_with_tokens(tokens_count: u8) -> Self { + let mut local_evm = Self::new().await; + + // deploy tokens contracts and mint 1 milion of each for the default address (first signer wallet) + for i in 1..=tokens_count { + local_evm + .deploy_new_token( + &format!("Token{}", i), + &format!("Token{}", i), + 18, + parse_units("1_000_000", 18).unwrap().into(), + local_evm.anvil.addresses()[0], + ) + .await; + } + local_evm + } + + /// Get the local rpc url of the underlying anvil instance + pub fn url(&self) -> String { + self.anvil.endpoint() + } + + /// Deploys a new ERC20 token with the given arguments + pub async fn deploy_new_token( + &mut self, + name: &str, + symbol: &str, + decimals: u8, + supply: U256, + recipient: Address, + ) -> ERC20::ERC20Instance { + let token = ERC20::deploy( + self.provider.clone(), + name.to_string(), + symbol.to_string(), + decimals, + recipient, + supply, + ) + .await + .unwrap(); + self.tokens.push(token.clone()); + token + } + + /// Sends a contract write transaction to the blockchain and returns the tx receipt + pub async fn send_contract_transaction( + &self, + contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData>, + ) -> Result { + self.provider + .send_transaction(contract_call.into_transaction_request()) + .await? + .get_receipt() + .await + } + + /// Sends (write call) a raw transaction request to the blockchain and returns the tx receipt + pub async fn send_transaction( + &self, + tx: TransactionRequest, + ) -> Result { + self.provider + .send_transaction(tx) + .await? + .get_receipt() + .await + } + + /// Calls (readonly call) contract method and returns the decoded result + pub async fn call_contract( + &self, + contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData>, + ) -> Result, RpcError> { + Ok(T::abi_decode_returns( + &self + .provider + .call(contract_call.into_transaction_request()) + .await?, + )) + } + + /// Calls (readonly call) a raw transaction and returns the result + pub async fn call( + &self, + tx: &TransactionRequest, + ) -> Result> { + self.provider.call(tx.clone()).await + } +} diff --git a/test/utils/TestERC20.sol b/test/utils/TestERC20.sol new file mode 100644 index 000000000..dfd880f0f --- /dev/null +++ b/test/utils/TestERC20.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CAL +pragma solidity =0.8.25; + +import {ERC20} from "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; + +contract TestERC20 is ERC20 { + uint8 private _decimals; + + constructor(string memory name_, string memory symbol_, uint8 decimals_, address recipient_, uint256 supply_) + ERC20(name_, symbol_) + { + _decimals = decimals_; + _mint(recipient_, supply_); + } + + function decimals() public view virtual override returns (uint8) { + return _decimals; + } +} From ffd2c54c860cf986497f0cc0e76326a576144577 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 21:46:25 +0000 Subject: [PATCH 16/30] Update TestERC20.sol --- test/utils/TestERC20.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/test/utils/TestERC20.sol b/test/utils/TestERC20.sol index dfd880f0f..c605edccb 100644 --- a/test/utils/TestERC20.sol +++ b/test/utils/TestERC20.sol @@ -3,6 +3,7 @@ pragma solidity =0.8.25; import {ERC20} from "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; +// a erc20 contract for testing purposes in `test_fixtures` crate to deploy erc20 tokens on the local evm contract TestERC20 is ERC20 { uint8 private _decimals; From 4359b73ec501c153157f683d0896780ea377ece1 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 21:46:42 +0000 Subject: [PATCH 17/30] Update TestERC20.sol --- test/utils/TestERC20.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/utils/TestERC20.sol b/test/utils/TestERC20.sol index c605edccb..68c5cf188 100644 --- a/test/utils/TestERC20.sol +++ b/test/utils/TestERC20.sol @@ -3,7 +3,7 @@ pragma solidity =0.8.25; import {ERC20} from "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; -// a erc20 contract for testing purposes in `test_fixtures` crate to deploy erc20 tokens on the local evm +// an erc20 contract for testing purposes in `test_fixtures` crate to deploy erc20 tokens on the local evm contract TestERC20 is ERC20 { uint8 private _decimals; From f1fa512c75724e42fd885a83299ea12b5e5cd5d8 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 21:58:33 +0000 Subject: [PATCH 18/30] fmt --- crates/test_fixtures/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/test_fixtures/Cargo.toml b/crates/test_fixtures/Cargo.toml index 97562e30b..8163ffbd7 100644 --- a/crates/test_fixtures/Cargo.toml +++ b/crates/test_fixtures/Cargo.toml @@ -12,4 +12,4 @@ serde_json = { workspace = true } alloy = { workspace = true, features = ["node-bindings", "sol-types", "rpc-types", "provider-http", "network", "contract", "signer-local"] } [target.'cfg(target_family = "wasm")'.dependencies] -getrandom = { version = "0", features = ["js", "js-sys"] } \ No newline at end of file +getrandom = { version = "0", features = ["js", "js-sys"] } From 955a67afc57cf0382478dcf50b0cdd0ce3a6e530 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 22:08:12 +0000 Subject: [PATCH 19/30] Update eval.rs --- crates/cli/src/commands/eval.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index c8009bf75..0df131e81 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -36,6 +36,14 @@ pub struct ForkEvalCliArgs { #[arg(short, long, help = "Decode errors using the openchain.xyz database")] pub decode_errors: bool, + + // Accept inputs vector as array of uint256 + #[arg(short, long, help = "The inputs vectore")] + pub inputs: Vec, + + // Accept state overlay vector as array of uint256 + #[arg( short, long, help = "The state overlay vector")] + pub state_overlay: Vec, } impl TryFrom for ForkEvalArgs { @@ -62,8 +70,8 @@ impl TryFrom for ForkEvalArgs { namespace: FullyQualifiedNamespace::from(namespace), context, decode_errors: args.decode_errors, - inputs: vec![], - state_overlay: vec![], + inputs: args.inputs, + state_overlay: args.state_overlay, }) } } @@ -142,6 +150,8 @@ mod tests { namespace: "0x123".into(), context: vec!["0x06,99".into()], decode_errors: true, + inputs: vec![], + state_overlay: vec![], }, }; From 051d98ab1728f0b02d70a4ca978a60243cd5f226 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 22:14:55 +0000 Subject: [PATCH 20/30] Update lib.rs --- crates/dispair/src/lib.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 3e76e5380..66b32731d 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -79,16 +79,10 @@ mod tests { .await .expect("Failed to create ReadableClient"); let dispair = DISPair::from_deployer(deployer, client).await.unwrap(); - let expected = DISPair { - deployer, - interpreter: *local_evm.interpreter.address(), - store: *local_evm.store.address(), - parser: *local_evm.parser.address(), - }; - assert_eq!(dispair.deployer, expected.deployer); - assert_eq!(dispair.interpreter, expected.interpreter); - assert_eq!(dispair.store, expected.store); - assert_eq!(dispair.parser, expected.parser); + assert_eq!(dispair.deployer, deployer); + assert_eq!(dispair.interpreter, *local_evm.interpreter.address(),); + assert_eq!(dispair.store, *local_evm.store.address()); + assert_eq!(dispair.parser, *local_evm.parser.address(),); } } From f17bb0a8f249d92514a5f39d2e6ec2795f1b372f Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Fri, 6 Jun 2025 22:15:17 +0000 Subject: [PATCH 21/30] fmt --- crates/cli/src/commands/eval.rs | 2 +- crates/dispair/src/lib.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index 0df131e81..be81ea675 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -42,7 +42,7 @@ pub struct ForkEvalCliArgs { pub inputs: Vec, // Accept state overlay vector as array of uint256 - #[arg( short, long, help = "The state overlay vector")] + #[arg(short, long, help = "The state overlay vector")] pub state_overlay: Vec, } diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 66b32731d..b128ab285 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -81,8 +81,8 @@ mod tests { let dispair = DISPair::from_deployer(deployer, client).await.unwrap(); assert_eq!(dispair.deployer, deployer); - assert_eq!(dispair.interpreter, *local_evm.interpreter.address(),); + assert_eq!(dispair.interpreter, *local_evm.interpreter.address()); assert_eq!(dispair.store, *local_evm.store.address()); - assert_eq!(dispair.parser, *local_evm.parser.address(),); + assert_eq!(dispair.parser, *local_evm.parser.address()); } } From 3de0ef941e5aae0cc8f8fa2a366a0ffd8be5b795 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sat, 7 Jun 2025 02:22:21 +0000 Subject: [PATCH 22/30] update --- crates/eval/src/eval.rs | 3 +-- crates/test_fixtures/src/lib.rs | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 859736baa..573b96b61 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -161,8 +161,7 @@ mod tests { fork_block_number: None, }; let fork = Forker::new_with_fork(args, None, None).await.unwrap(); - let x = local_evm.deployer.iInterpreter().call().await.unwrap(); - println!("{}", x); + let res = fork .fork_parse(ForkParseArgs { rainlang_string: r"_: 1;".to_owned(), diff --git a/crates/test_fixtures/src/lib.rs b/crates/test_fixtures/src/lib.rs index 4f9d7164d..92f31c16b 100644 --- a/crates/test_fixtures/src/lib.rs +++ b/crates/test_fixtures/src/lib.rs @@ -44,7 +44,7 @@ sol!( "../../out/RainterpreterExpressionDeployer.sol/RainterpreterExpressionDeployer.json" ); -// type aliases for LocalEvm fillers and provider type +// type aliases for LocalEvm fillers and provider pub type LocalEvmFillers = JoinFill< JoinFill< alloy::providers::Identity, @@ -63,7 +63,7 @@ pub type LocalEvmFillers = JoinFill< >; pub type LocalEvmProvider = FillProvider; -/// A local evm instance that wraps an Anvil instance and provider with +/// LocalEvm is a thin wrapper around Anvil instance and alloy provider with /// signers as well as rain contracts already deployed on it. /// The first signer wallet is the main wallet that would sign any transactions /// that dont specify a sender (transaction's 'to' field) @@ -89,7 +89,7 @@ pub struct LocalEvm { /// Array of alloy ERC20 contract instances deployed on this blockchain pub tokens: Vec>, - /// All wallets of this local blockchain that can be used to perform transactions + /// All wallets of this local blockchain that can be used to perform transactions. /// the first wallet is the blockchain's default wallet, ie transactions that dont /// explicitly specify a sender address will use this as the sender pub signer_wallets: Vec, From 84b63e089ae2c63b51df9e8d092d0192409ad1c6 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:18:46 +0000 Subject: [PATCH 23/30] update --- .env.example | 5 --- .github/workflows/rainix.yaml | 5 --- crates/cli/src/commands/eval.rs | 24 +++++++++----- crates/eval/src/eval.rs | 24 +++++++------- crates/test_fixtures/src/lib.rs | 57 +++++++++++++-------------------- 5 files changed, 52 insertions(+), 63 deletions(-) delete mode 100644 .env.example diff --git a/.env.example b/.env.example deleted file mode 100644 index e04835c54..000000000 --- a/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -CI_DEPLOY_SEPOLIA_RPC_URL= -CI_FORK_SEPOLIA_BLOCK_NUMBER= -CI_FORK_SEPOLIA_DEPLOYER_ADDRESS= -CI_FORK_POLYGON_RPC_URL= -CI_FORK_BSC_RPC_URL= \ No newline at end of file diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index f46beb136..819e2c592 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -62,9 +62,4 @@ jobs: DEPLOY_BROADCAST: "" DEPLOY_VERIFIER: "" DEPLOY_METABOARD_ADDRESS: ${{ vars.CI_DEPLOY_SEPOLIA_METABOARD_ADDRESS }} - CI_FORK_SEPOLIA_BLOCK_NUMBER: ${{ vars.CI_FORK_SEPOLIA_BLOCK_NUMBER }} - CI_FORK_SEPOLIA_DEPLOYER_ADDRESS: ${{ vars.CI_FORK_SEPOLIA_DEPLOYER_ADDRESS }} - CI_DEPLOY_SEPOLIA_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }} - CI_FORK_POLYGON_RPC_URL: ${{ secrets.CI_FORK_POLYGON_RPC_URL || vars.CI_FORK_POLYGON_RPC_URL }} - CI_FORK_BSC_RPC_URL: ${{ secrets.CI_FORK_BSC_RPC_URL || vars.CI_FORK_BSC_RPC_URL }} run: nix develop -c ${{ matrix.task }} diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index be81ea675..55fc5b3f0 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -38,12 +38,20 @@ pub struct ForkEvalCliArgs { pub decode_errors: bool, // Accept inputs vector as array of uint256 - #[arg(short, long, help = "The inputs vectore")] - pub inputs: Vec, + #[arg( + short, + long, + help = "The inputs vector which are prepopulated stack items" + )] + pub inputs: Option>, // Accept state overlay vector as array of uint256 - #[arg(short, long, help = "The state overlay vector")] - pub state_overlay: Vec, + #[arg( + short, + long, + help = "The state overlay vector which applies to the state before evaluation to facilitate 'what if' analysis" + )] + pub state_overlay: Option>, } impl TryFrom for ForkEvalArgs { @@ -70,8 +78,8 @@ impl TryFrom for ForkEvalArgs { namespace: FullyQualifiedNamespace::from(namespace), context, decode_errors: args.decode_errors, - inputs: args.inputs, - state_overlay: args.state_overlay, + inputs: args.inputs.unwrap_or_default(), + state_overlay: args.state_overlay.unwrap_or_default(), }) } } @@ -150,8 +158,8 @@ mod tests { namespace: "0x123".into(), context: vec!["0x06,99".into()], decode_errors: true, - inputs: vec![], - state_overlay: vec![], + inputs: None, + state_overlay: None, }, }; diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 573b96b61..367d51129 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -7,21 +7,34 @@ use rain_interpreter_bindings::IInterpreterV4::{EvalV4, eval4Call}; use rain_interpreter_bindings::IParserV2::parse2Call; #[derive(Debug, Clone)] +/// Arguments for evaluating a Rainlang string in a forked EVM context pub struct ForkEvalArgs { + /// The Rainalang string to evaluate pub rainlang_string: String, + /// The source index pub source_index: u16, + /// The address of the deployer pub deployer: Address, + /// The fully qualified namespace pub namespace: FullyQualifiedNamespace, + /// The context matrix pub context: Vec>, + /// Whether to decode errors from the registry pub decode_errors: bool, + /// Inputs vector which are prepopulated stack items pub inputs: Vec, + /// Applies to the state before evaluation to facilitate "what if" analysis pub state_overlay: Vec, } #[derive(Debug, Clone)] +/// Arguments for parsing a Rainlang string in a forked EVM context pub struct ForkParseArgs { + /// The Rainlang string to parse pub rainlang_string: String, + /// The address of the deployer pub deployer: Address, + /// Whether to decode errors from the registry pub decode_errors: bool, } @@ -69,17 +82,6 @@ impl Forker { } /// Evaluates the Rain language string and returns the evaluation result. - /// - /// # Arguments - /// * `rainlang_string` - The Rainalang string to evaluate. - /// * `source_index` - The source index. - /// * `deployer` - The address of the deployer. - /// * `namespace` - The fully qualified namespace. - /// * `context` - The context vector. - /// * `inputs` - The inputs vector. - /// * `state_overlay` - The state_overlay vector. - /// * `decode_errors` - Whether to decode errors from registry or not - /// /// # Returns /// /// The typed return of the eval, plus Foundry's RawCallResult struct, including the trace. diff --git a/crates/test_fixtures/src/lib.rs b/crates/test_fixtures/src/lib.rs index 92f31c16b..0608d4e85 100644 --- a/crates/test_fixtures/src/lib.rs +++ b/crates/test_fixtures/src/lib.rs @@ -1,13 +1,15 @@ use alloy::{ contract::SolCallBuilder, - network::EthereumWallet, + network::{AnyNetwork, AnyReceiptEnvelope, EthereumWallet}, node_bindings::{Anvil, AnvilInstance}, primitives::{Address, Bytes, U256, utils::parse_units}, providers::{ PendingTransactionError, Provider, ProviderBuilder, RootProvider, fillers::{FillProvider, JoinFill, WalletFiller}, + utils::JoinedRecommendedFillers, }, - rpc::types::{TransactionReceipt, TransactionRequest}, + rpc::types::{Log, TransactionReceipt, TransactionRequest}, + serde::WithOtherFields, signers::local::PrivateKeySigner, sol, sol_types::SolCall, @@ -45,23 +47,8 @@ sol!( ); // type aliases for LocalEvm fillers and provider -pub type LocalEvmFillers = JoinFill< - JoinFill< - alloy::providers::Identity, - JoinFill< - alloy::providers::fillers::GasFiller, - JoinFill< - alloy::providers::fillers::BlobGasFiller, - JoinFill< - alloy::providers::fillers::NonceFiller, - alloy::providers::fillers::ChainIdFiller, - >, - >, - >, - >, - WalletFiller, ->; -pub type LocalEvmProvider = FillProvider; +pub type LocalEvmFillers = JoinFill>; +pub type LocalEvmProvider = FillProvider, AnyNetwork>; /// LocalEvm is a thin wrapper around Anvil instance and alloy provider with /// signers as well as rain contracts already deployed on it. @@ -75,19 +62,19 @@ pub struct LocalEvm { pub provider: LocalEvmProvider, /// Alloy interpreter contract instance deployed on this blockchain - pub interpreter: Interpreter::InterpreterInstance, + pub interpreter: Interpreter::InterpreterInstance, /// Alloy store contract instance deployed on this blockchain - pub store: Store::StoreInstance, + pub store: Store::StoreInstance, /// Alloy parser contract instance deployed on this blockchain - pub parser: Parser::ParserInstance, + pub parser: Parser::ParserInstance, /// Alloy expression deployer contract instance deployed on this blockchain - pub deployer: Deployer::DeployerInstance, + pub deployer: Deployer::DeployerInstance, /// Array of alloy ERC20 contract instances deployed on this blockchain - pub tokens: Vec>, + pub tokens: Vec>, /// All wallets of this local blockchain that can be used to perform transactions. /// the first wallet is the blockchain's default wallet, ie transactions that dont @@ -115,8 +102,8 @@ impl LocalEvm { signer_wallets.push(default_signer); signer_wallets.extend(other_signer_wallets); - // Create a provider with the wallet and fillers - let provider = ProviderBuilder::new() + // Create a provider with the wallet and fillers with http endpoint of the anvil instance + let provider = ProviderBuilder::new_with_network::() .wallet(signer_wallets[0].clone()) .connect_http(anvil.endpoint_url()); @@ -177,7 +164,7 @@ impl LocalEvm { decimals: u8, supply: U256, recipient: Address, - ) -> ERC20::ERC20Instance { + ) -> ERC20::ERC20Instance { let token = ERC20::deploy( self.provider.clone(), name.to_string(), @@ -195,8 +182,9 @@ impl LocalEvm { /// Sends a contract write transaction to the blockchain and returns the tx receipt pub async fn send_contract_transaction( &self, - contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData>, - ) -> Result { + contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData, AnyNetwork>, + ) -> Result>>, PendingTransactionError> + { self.provider .send_transaction(contract_call.into_transaction_request()) .await? @@ -207,8 +195,9 @@ impl LocalEvm { /// Sends (write call) a raw transaction request to the blockchain and returns the tx receipt pub async fn send_transaction( &self, - tx: TransactionRequest, - ) -> Result { + tx: WithOtherFields, + ) -> Result>>, PendingTransactionError> + { self.provider .send_transaction(tx) .await? @@ -219,7 +208,7 @@ impl LocalEvm { /// Calls (readonly call) contract method and returns the decoded result pub async fn call_contract( &self, - contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData>, + contract_call: SolCallBuilder<&LocalEvmProvider, PhantomData, AnyNetwork>, ) -> Result, RpcError> { Ok(T::abi_decode_returns( &self @@ -232,8 +221,8 @@ impl LocalEvm { /// Calls (readonly call) a raw transaction and returns the result pub async fn call( &self, - tx: &TransactionRequest, + tx: WithOtherFields, ) -> Result> { - self.provider.call(tx.clone()).await + self.provider.call(tx).await } } From 564b36352fcac2610f25a279de5cedfc8d8eee96 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:24:50 +0000 Subject: [PATCH 24/30] Update eval.rs --- crates/eval/src/eval.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 367d51129..32cd6f76c 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -11,13 +11,13 @@ use rain_interpreter_bindings::IParserV2::parse2Call; pub struct ForkEvalArgs { /// The Rainalang string to evaluate pub rainlang_string: String, - /// The source index + /// The source index of the rainlang to evaluate pub source_index: u16, /// The address of the deployer pub deployer: Address, /// The fully qualified namespace pub namespace: FullyQualifiedNamespace, - /// The context matrix + /// The context matrix, that will be available in "context" word pub context: Vec>, /// Whether to decode errors from the registry pub decode_errors: bool, From 575bf6447bb1a177153c718141e6b24e50a654f4 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:25:21 +0000 Subject: [PATCH 25/30] Update eval.rs --- crates/eval/src/eval.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 32cd6f76c..7187bdf47 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -17,7 +17,7 @@ pub struct ForkEvalArgs { pub deployer: Address, /// The fully qualified namespace pub namespace: FullyQualifiedNamespace, - /// The context matrix, that will be available in "context" word + /// The context matrix, that will be available in "context" word and its aliases pub context: Vec>, /// Whether to decode errors from the registry pub decode_errors: bool, From c63e9e7e826dfed46b14778e8da602b9f931230c Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:27:10 +0000 Subject: [PATCH 26/30] Update eval.rs --- crates/eval/src/eval.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 7187bdf47..6d65223e5 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -82,6 +82,10 @@ impl Forker { } /// Evaluates the Rain language string and returns the evaluation result. + /// + /// # Arguments + /// * `args` - The arguments for the evaluation + /// /// # Returns /// /// The typed return of the eval, plus Foundry's RawCallResult struct, including the trace. From c960930da5c53b4baf1245386ff828b86ef4f03a Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:27:36 +0000 Subject: [PATCH 27/30] Update eval.rs --- crates/eval/src/eval.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 6d65223e5..32219014d 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -84,7 +84,7 @@ impl Forker { /// Evaluates the Rain language string and returns the evaluation result. /// /// # Arguments - /// * `args` - The arguments for the evaluation + /// * `args` - The fork eval arguments for the evaluation /// /// # Returns /// From e96364dd9fd93ef1fa309d9285bacd93cbfa0c7c Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:29:26 +0000 Subject: [PATCH 28/30] Update eval.rs --- crates/eval/src/eval.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 32219014d..899c3bf04 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -205,7 +205,7 @@ mod tests { .unwrap(); // stack - let expected_stack: Vec> = vec![FixedBytes::left_padding_from(&[3u8])]; + let expected_stack = vec![>::left_padding_from(&[3u8])]; assert_eq!(res.typed_return.stack, expected_stack); // storage writes From b63c2957af0c7384e588df0e53127c3ff1363c2b Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:32:06 +0000 Subject: [PATCH 29/30] Update eval.rs --- crates/eval/src/eval.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/crates/eval/src/eval.rs b/crates/eval/src/eval.rs index 899c3bf04..7a705513c 100644 --- a/crates/eval/src/eval.rs +++ b/crates/eval/src/eval.rs @@ -154,9 +154,8 @@ mod tests { use super::*; use crate::fork::NewForkedEvm; use alloy::primitives::FixedBytes; - use foundry_evm::traces::CallTraceArena; use rain_interpreter_test_fixtures::LocalEvm; - use std::sync::Arc; + use std::{ops::Deref, sync::Arc}; #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_fork_parse() { @@ -217,8 +216,7 @@ mod tests { expected_stack_trace.append(&mut >::left_padding_from(&[3u8]).to_vec()); let sparsed_trace_arena = res.raw.traces.unwrap(); - let source_index_zero_trace = ::clone(&sparsed_trace_arena) - .into_nodes()[1] + let source_index_zero_trace = sparsed_trace_arena.deref().clone().into_nodes()[1] .to_owned() .trace; assert_eq!(source_index_zero_trace.data.to_vec(), expected_stack_trace); From d3141a613fc50e91cafd36b4a6b6371d2323e77b Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Sun, 8 Jun 2025 00:33:31 +0000 Subject: [PATCH 30/30] Update trace.rs --- crates/eval/src/trace.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/eval/src/trace.rs b/crates/eval/src/trace.rs index 1cfbfabe0..67a2c4b76 100644 --- a/crates/eval/src/trace.rs +++ b/crates/eval/src/trace.rs @@ -1,6 +1,7 @@ +use std::ops::Deref; + use crate::fork::ForkTypedReturn; use alloy::primitives::{Address, U256}; -use foundry_evm::traces::CallTraceArena; use rain_interpreter_bindings::IInterpreterV4::{eval4Call, eval4Return}; use thiserror::Error; @@ -63,7 +64,9 @@ impl From> for RainEvalResult { let tracer_address = RAIN_TRACER_ADDRESS.parse::
().unwrap(); let call_trace_arena = typed_return.raw.traces.unwrap().to_owned(); - let mut traces: Vec = ::clone(&call_trace_arena) + let mut traces: Vec = call_trace_arena + .deref() + .clone() .into_nodes() .iter() .filter_map(|trace_node| {