diff --git a/Cargo.lock b/Cargo.lock index d2d30c179ab..ff9991960eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,16 +2,6 @@ # It is not intended for manual editing. version = 3 -[[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 = "actix-codec" version = "0.5.1" @@ -454,15 +444,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "assert_matches" version = "1.5.0" @@ -529,17 +510,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "async_io_stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" -dependencies = [ - "futures 0.3.28", - "pharos", - "rustc_version", -] - [[package]] name = "atoi" version = "2.0.0" @@ -570,17 +540,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "auto_impl" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" -dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -680,12 +639,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "beef" version = "0.5.2" @@ -783,15 +736,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - [[package]] name = "bit-vec" version = "0.6.3" @@ -1036,16 +980,6 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "bs58" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" -dependencies = [ - "sha2 0.10.8", - "tinyvec", -] - [[package]] name = "bumpalo" version = "3.14.0" @@ -1097,9 +1031,6 @@ name = "bytes" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" -dependencies = [ - "serde", -] [[package]] name = "bytestring" @@ -1110,16 +1041,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - [[package]] name = "bzip2-sys" version = "0.1.11+1.0.8" @@ -1162,20 +1083,6 @@ dependencies = [ "serde_json", ] -[[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", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "cast" version = "0.3.0" @@ -1444,74 +1351,12 @@ dependencies = [ "indexmap 1.9.3", ] -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core", - "digest 0.10.7", - "hmac", - "k256 0.13.2", - "serde", - "sha2 0.10.8", - "thiserror", -] - -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror", -] - -[[package]] -name = "coins-core" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.5", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2 0.10.8", - "sha3 0.10.8", - "thiserror", -] - [[package]] name = "colorchoice" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" -[[package]] -name = "colored" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" -dependencies = [ - "lazy_static", - "windows-sys 0.48.0", -] - [[package]] name = "compile-fmt" version = "0.1.0" @@ -1538,19 +1383,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "const-hex" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d59688ad0945eaf6b84cb44fedbe93484c81b48970e98f09db8a22832d7961" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "hex", - "proptest", - "serde", -] - [[package]] name = "const-oid" version = "0.9.5" @@ -2023,12 +1855,6 @@ dependencies = [ "parking_lot_core", ] -[[package]] -name = "data-encoding" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" - [[package]] name = "debugid" version = "0.8.0" @@ -2036,7 +1862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ "serde", - "uuid 1.5.0", + "uuid", ] [[package]] @@ -2121,48 +1947,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", -] - -[[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", - "windows-sys 0.48.0", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "dotenvy" version = "0.15.7" @@ -2175,12 +1959,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - [[package]] name = "ecdsa" version = "0.14.8" @@ -2288,15 +2066,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "ena" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" -dependencies = [ - "log", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -2312,24 +2081,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "enr" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" -dependencies = [ - "base64 0.21.5", - "bytes", - "hex", - "k256 0.13.2", - "log", - "rand 0.8.5", - "rlp", - "serde", - "sha3 0.10.8", - "zeroize", -] - [[package]] name = "env_logger" version = "0.9.3" @@ -2401,28 +2152,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "eth-keystore" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" -dependencies = [ - "aes", - "ctr", - "digest 0.10.7", - "hex", - "hmac", - "pbkdf2 0.11.0", - "rand 0.8.5", - "scrypt", - "serde", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "thiserror", - "uuid 0.8.2", -] - [[package]] name = "ethabi" version = "18.0.0" @@ -2448,275 +2177,23 @@ checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak 2.0.2", -] - -[[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.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c7cd562832e2ff584fa844cd2f6e5d4f35bbe11b28c7c9b8df957b2e1d0c701" -dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-etherscan", - "ethers-middleware", - "ethers-providers", - "ethers-signers", - "ethers-solc", -] - -[[package]] -name = "ethers-addressbook" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35dc9a249c066d17e8947ff52a4116406163cf92c7f0763cb8c001760b26403f" -dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", -] - -[[package]] -name = "ethers-contract" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43304317c7f776876e47f2f637859f6d0701c1ec7930a150f169d5fbe7d76f5a" -dependencies = [ - "const-hex", - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f96502317bf34f6d71a3e3d270defaa9485d754d789e15a8e04a84161c95eb" -dependencies = [ - "Inflector", - "const-hex", - "dunce", - "ethers-core", - "ethers-etherscan", - "eyre", - "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", - "regex", - "reqwest", - "serde", - "serde_json", - "syn 2.0.38", - "toml", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "452ff6b0a64507ce8d67ffd48b1da3b42f03680dcf5382244e9c93822cbbf5de" -dependencies = [ - "Inflector", - "const-hex", - "ethers-contract-abigen", - "ethers-core", - "proc-macro2 1.0.69", - "quote 1.0.33", - "serde_json", - "syn 2.0.38", -] - -[[package]] -name = "ethers-core" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aab3cef6cc1c9fd7f787043c81ad3052eff2b96a3878ef1526aa446311bdbfc9" -dependencies = [ - "arrayvec 0.7.4", - "bytes", - "cargo_metadata 0.18.1", - "chrono", - "const-hex", - "elliptic-curve 0.13.7", - "ethabi", - "generic-array", - "k256 0.13.2", - "num_enum 0.7.2", - "once_cell", - "open-fastrlp", - "rand 0.8.5", - "rlp", - "serde", - "serde_json", - "strum 0.25.0", - "syn 2.0.38", - "tempfile", - "thiserror", - "tiny-keccak 2.0.2", - "unicode-xid 0.2.4", -] - -[[package]] -name = "ethers-etherscan" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d45b981f5fa769e1d0343ebc2a44cfa88c9bc312eb681b676318b40cef6fb1" -dependencies = [ - "chrono", - "ethers-core", - "reqwest", - "semver", - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145211f34342487ef83a597c1e69f0d3e01512217a7c72cc8a25931854c7dca0" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-etherscan", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb6b15393996e3b8a78ef1332d6483c11d839042c17be58decc92fa8b1c3508a" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.5", - "bytes", - "const-hex", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "http", - "instant", - "jsonwebtoken", - "once_cell", - "pin-project", - "reqwest", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-tungstenite", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b125a103b56aef008af5d5fb48191984aa326b50bfd2557d231dc499833de3" -dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "const-hex", - "elliptic-curve 0.13.7", - "eth-keystore", - "ethers-core", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror", - "tracing", + "impl-rlp", + "impl-serde", + "tiny-keccak 2.0.2", ] [[package]] -name = "ethers-solc" -version = "2.0.13" +name = "ethereum-types" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d21df08582e0a43005018a858cc9b465c5fff9cf4056651be64f844e57d1f55f" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ - "cfg-if 1.0.0", - "const-hex", - "dirs", - "dunce", - "ethers-core", - "glob", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver", - "serde", - "serde_json", - "solang-parser", - "svm-rs", - "thiserror", - "tiny-keccak 2.0.2", - "tokio", - "tracing", - "walkdir", - "yansi", + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", ] [[package]] @@ -2746,16 +2223,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - [[package]] name = "fastrand" version = "2.0.1" @@ -2971,16 +2438,6 @@ dependencies = [ "tiny-keccak 1.5.0", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -3059,16 +2516,6 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" -[[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.28" @@ -3099,7 +2546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" dependencies = [ "gloo-timers", - "send_wrapper 0.4.0", + "send_wrapper", ] [[package]] @@ -3121,15 +2568,6 @@ dependencies = [ "slab", ] -[[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" @@ -3399,15 +2837,6 @@ dependencies = [ "allocator-api2", ] -[[package]] -name = "hashers" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] - [[package]] name = "hashlink" version = "0.8.4" @@ -3724,12 +3153,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - [[package]] name = "indexmap" version = "1.9.3" @@ -3773,15 +3196,6 @@ dependencies = [ "yaml-rust", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "ipnet" version = "2.9.0" @@ -3827,15 +3241,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.12.0" @@ -4096,34 +3501,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "lalrpop" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" -dependencies = [ - "ascii-canvas", - "bit-set", - "diff", - "ena", - "is-terminal", - "itertools 0.10.5", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.7.5", - "string_cache", - "term", - "tiny-keccak 2.0.2", - "unicode-xid 0.2.4", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" - [[package]] name = "language-tags" version = "0.3.2" @@ -4173,17 +3550,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" -dependencies = [ - "bitflags 2.4.1", - "libc", - "redox_syscall 0.4.1", -] - [[package]] name = "librocksdb-sys" version = "0.11.0+8.1.1" @@ -4641,12 +4007,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" - [[package]] name = "nix" version = "0.27.1" @@ -4890,16 +4250,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", + "num_enum_derive", ] [[package]] @@ -4914,18 +4265,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 2.0.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", -] - [[package]] name = "object" version = "0.32.1" @@ -4953,31 +4292,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec 0.7.4", - "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 1.0.69", - "quote 1.0.33", - "syn 1.0.109", -] - [[package]] name = "openssl" version = "0.10.57" @@ -5022,12 +4336,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "ordered-float" version = "2.10.1" @@ -5162,51 +4470,12 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", - "hmac", - "password-hash", - "sha2 0.10.8", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", -] - [[package]] name = "peeking_take_while" version = "0.1.2" @@ -5292,67 +4561,6 @@ dependencies = [ "indexmap 2.1.0", ] -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures 0.3.28", - "rustc_version", -] - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared 0.11.2", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - [[package]] name = "pin-project" version = "1.1.3" @@ -5497,12 +4705,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "pretty_assertions" version = "1.4.0" @@ -5533,7 +4735,6 @@ dependencies = [ "impl-codec", "impl-rlp", "impl-serde", - "scale-info", "uint", ] @@ -5640,22 +4841,6 @@ dependencies = [ "vise-exporter", ] -[[package]] -name = "proptest" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" -dependencies = [ - "bitflags 2.4.1", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha", - "rand_xorshift", - "regex-syntax 0.8.2", - "unarray", -] - [[package]] name = "prost" version = "0.12.1" @@ -5907,15 +5092,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "rand_xoshiro" version = "0.6.0" @@ -5981,17 +5157,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_users" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - [[package]] name = "regex" version = "1.10.2" @@ -6030,12 +5195,6 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" -[[package]] -name = "regex-syntax" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" - [[package]] name = "regex-syntax" version = "0.8.2" @@ -6198,15 +5357,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "rkyv" version = "0.7.43" @@ -6222,7 +5372,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.5.0", + "uuid", ] [[package]] @@ -6243,21 +5393,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 1.0.69", - "quote 1.0.33", - "syn 1.0.109", -] - [[package]] name = "rocksdb" version = "0.21.0" @@ -6459,15 +5597,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - [[package]] name = "same-file" version = "1.0.6" @@ -6477,30 +5606,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "scale-info" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" -dependencies = [ - "cfg-if 1.0.0", - "derive_more", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 1.0.109", -] - [[package]] name = "schannel" version = "0.1.22" @@ -6516,18 +5621,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scrypt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" -dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2 0.10.8", -] - [[package]] name = "sct" version = "0.7.0" @@ -6628,12 +5721,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "sentry" version = "0.31.7" @@ -6739,7 +5826,7 @@ dependencies = [ "thiserror", "time", "url", - "uuid 1.5.0", + "uuid", ] [[package]] @@ -6799,15 +5886,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_spanned" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" -dependencies = [ - "serde", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -7001,12 +6079,6 @@ dependencies = [ "time", ] -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - [[package]] name = "sized-chunks" version = "0.6.5" @@ -7024,7 +6096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" dependencies = [ "bytecount", - "cargo_metadata 0.14.2", + "cargo_metadata", "error-chain", "glob", "pulldown-cmark", @@ -7137,20 +6209,6 @@ dependencies = [ "sha-1", ] -[[package]] -name = "solang-parser" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" -dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid 0.2.4", -] - [[package]] name = "spin" version = "0.5.2" @@ -7438,19 +6496,6 @@ dependencies = [ "zksync_types", ] -[[package]] -name = "string_cache" -version = "0.8.7" -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", -] - [[package]] name = "stringprep" version = "0.1.4" @@ -7504,16 +6549,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros 0.24.3", -] - -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", + "strum_macros", ] [[package]] @@ -7529,45 +6565,12 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "rustversion", - "syn 2.0.38", -] - [[package]] name = "subtle" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "svm-rs" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" -dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest", - "semver", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "url", - "zip", -] - [[package]] name = "syn" version = "0.15.44" @@ -7714,17 +6717,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "termcolor" version = "1.3.0" @@ -7983,21 +6975,6 @@ dependencies = [ "tokio", ] -[[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.7", - "tokio", - "tokio-rustls 0.24.1", - "tungstenite", - "webpki-roots 0.25.2", -] - [[package]] name = "tokio-util" version = "0.7.9" @@ -8013,26 +6990,11 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.20.2", -] - [[package]] name = "toml_datetime" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] [[package]] name = "toml_edit" @@ -8052,8 +7014,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ "indexmap 2.1.0", - "serde", - "serde_spanned", "toml_datetime", "winnow", ] @@ -8106,7 +7066,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "uuid 1.5.0", + "uuid", ] [[package]] @@ -8154,16 +7114,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.4" @@ -8219,26 +7169,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -[[package]] -name = "tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.21.7", - "sha1", - "thiserror", - "url", - "utf-8", -] - [[package]] name = "typenum" version = "1.17.0" @@ -8272,12 +7202,6 @@ dependencies = [ "libc", ] -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - [[package]] name = "unicase" version = "2.7.0" @@ -8401,28 +7325,12 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8parse" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", - "serde", -] - [[package]] name = "uuid" version = "1.5.0" @@ -8433,19 +7341,6 @@ dependencies = [ "serde", ] -[[package]] -name = "validium_mode_example" -version = "0.1.0" -dependencies = [ - "colored", - "ethers", - "hex", - "loadnext", - "tokio", - "zksync-web3-rs", - "zksync_web3_decl", -] - [[package]] name = "valuable" version = "0.1.0" @@ -8946,25 +7841,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ws_stream_wasm" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures 0.3.28", - "js-sys", - "log", - "pharos", - "rustc_version", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "wyz" version = "0.5.1" @@ -9029,26 +7905,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq", - "crc32fast", - "crossbeam-utils 0.8.16", - "flate2", - "hmac", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd 0.11.2+zstd.1.5.2", -] - [[package]] name = "zk_evm" version = "1.3.1" @@ -9132,7 +7988,7 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git#32dd320953841aa78579d9da08abbc70bcaed175" dependencies = [ "anyhow", - "num_enum 0.6.1", + "num_enum", "serde", "static_assertions", "zkevm_opcode_defs 1.3.2", @@ -9144,7 +8000,7 @@ version = "1.4.1" source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.4.1#0aac08c3b097ee8147e748475117ac46bddcdcef" dependencies = [ "anyhow", - "num_enum 0.6.1", + "num_enum", "serde", "static_assertions", "zkevm_opcode_defs 1.4.1", @@ -9365,27 +8221,6 @@ dependencies = [ "zksync_web3_decl", ] -[[package]] -name = "zksync-web3-rs" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bc9b106393359ac013c2527db318ced4ca838d26ef03488233af557ebe5da8" -dependencies = [ - "async-trait", - "clap 4.4.6", - "env_logger 0.10.0", - "ethers", - "ethers-contract", - "hex", - "lazy_static", - "log", - "serde", - "serde_json", - "sha2 0.9.9", - "thiserror", - "tokio", -] - [[package]] name = "zksync_basic_types" version = "0.1.0" @@ -9750,7 +8585,7 @@ dependencies = [ "serde", "serde_json", "sqlx", - "strum 0.24.1", + "strum", "thiserror", "tokio", "tracing", @@ -10031,7 +8866,7 @@ dependencies = [ "chrono", "serde", "serde_with", - "strum 0.24.1", + "strum", "tokio", "zkevm_test_harness 1.3.3", "zksync_object_store", @@ -10156,7 +8991,7 @@ dependencies = [ "chrono", "hex", "num 0.4.1", - "num_enum 0.6.1", + "num_enum", "once_cell", "prost", "rlp", @@ -10164,7 +8999,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "strum 0.24.1", + "strum", "thiserror", "tokio", "zksync_basic_types", @@ -10216,15 +9051,6 @@ dependencies = [ "zksync_types", ] -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", -] - [[package]] name = "zstd" version = "0.12.4" @@ -10243,16 +9069,6 @@ dependencies = [ "zstd-safe 7.0.0", ] -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - [[package]] name = "zstd-safe" version = "6.0.6" diff --git a/Cargo.toml b/Cargo.toml index bab68263e57..a7dab6c4b36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,8 +52,6 @@ members = [ # SDK section "sdk/zksync-rs", - - "validium_mode_example", ] resolver = "2" diff --git a/validium_mode_example/.gitignore b/validium_mode_example/.gitignore deleted file mode 100644 index ea8c4bf7f35..00000000000 --- a/validium_mode_example/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/validium_mode_example/BytesWriter.abi b/validium_mode_example/BytesWriter.abi deleted file mode 100644 index 4ac2b64a62e..00000000000 --- a/validium_mode_example/BytesWriter.abi +++ /dev/null @@ -1,39 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_message", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "readBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_message", - "type": "bytes" - } - ], - "name": "writeBytes", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/validium_mode_example/BytesWriter.bin b/validium_mode_example/BytesWriter.bin deleted file mode 100644 index 979b0f1ee73..00000000000 --- a/validium_mode_example/BytesWriter.bin +++ /dev/null @@ -1 +0,0 @@ -00050000000000020000008003000039000000400030043f0000000003010019000000600330027000000073033001970000000102200190000000960000c13d000000040230008c000001600000413d000000000201043b000000e0022002700000007a0420009c0000014e0000613d0000007b0220009c000001600000c13d0000000002000416000000000202004b000001600000c13d000000040230008a000000200220008c000001600000413d0000000402100370000000000502043b000000770250009c000001600000213d00000023025000390000007f04000041000000000632004b000000000600001900000000060480190000007f02200197000000000702004b00000000040080190000007f0220009c000000000406c019000000000204004b000001600000c13d0000000406500039000000000261034f000000000402043b000000770240009c0000009c0000213d000000bf07400039000000200200008a000000000727016f000000770870009c0000009c0000213d000000400070043f000000800040043f00000000054500190000002405500039000000000335004b000001600000213d0000002003600039000000000131034f0000001f0340018f0000000505400272000000440000613d00000000060000190000000507600210000000000871034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b0000003c0000413d000000000603004b000000530000613d0000000505500210000000000151034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000161019f0000000000150435000000a0014000390000000000010435000000800100043d000000770310009c0000009c0000213d000000000400041a000000010340019000000001054002700000007f0350018f000000000305c0190000001f0530008c00000000050000190000000105002039000000000454013f00000001044001900000015c0000c13d000000200430008c000000750000413d0000001f0410003900000005044002700000007c054000410000007c04000041000000200610008c000000000405801900000000000004350000001f0330003900000005033002700000007c03300041000000000534004b000000750000813d000000000004041b0000000104400039000000000534004b000000710000413d0000001f0310008c0000019f0000a13d0000000003210170000000a0040000390000007c020000410000000000000435000000890000613d0000007c0200004100000020060000390000000004000019000000000506001900000080065000390000000006060433000000000062041b000000200650003900000001022000390000002004400039000000000734004b0000007f0000413d000000a004500039000000000313004b000000930000813d0000000303100210000000f80330018f000000010500008a000000000335022f000000000353013f0000000004040433000000000334016f000000000032041b00000001020000390000000103100210000001a90000013d0000000002000416000000000202004b000001600000c13d0000007402300041000000750220009c000000a20000213d000000800100004100000000001004350000004101000039000000040010043f0000008101000041000001c9000104300000009f023000390000007602200197000000400020043f0000001f0230018f0000000504300272000000b10000613d00000000050000190000000506500210000000000761034f000000000707043b000000800660003900000000007604350000000105500039000000000645004b000000a90000413d000000000502004b000000c00000613d0000000504400210000000000141034f00000003022002100000008004400039000000000504043300000000052501cf000000000525022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000151019f0000000000140435000000200130008c000001600000413d000000800400043d000000770140009c000001600000213d00000080033000390000009f01400039000000000131004b000001600000813d00000080024000390000000001020433000000770510009c0000009c0000213d0000003f05100039000000200900008a000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000000770750009c0000009c0000213d00000001066001900000009c0000c13d000000400050043f00000000061804360000000004140019000000a004400039000000000334004b000001600000213d000000000301004b000000e90000613d000000000300001900000000046300190000002003300039000000000523001900000000050504330000000000540435000000000413004b000000e20000413d000000000116001900000000000104350000000004080433000000770140009c0000009c0000213d000000000100041a000000010210019000000001011002700000007f0310018f000000000301c0190000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b0000015c0000c13d000000200130008c0000011f0000413d000100000003001d000300000004001d000000000000043500000073010000410000000002000414000000730320009c0000000002018019000000c00120021000000078011001c70000801002000039000500000008001d000400000009001d000200000006001d01c701c20000040f0000000206000029000000040900002900000005080000290000000102200190000001600000613d00000003040000290000001f024000390000000502200270000000200340008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b0000011f0000813d000000000002041b0000000102200039000000000312004b0000011b0000413d0000001f0140008c000001b10000a13d000300000004001d000000000000043500000073010000410000000002000414000000730320009c0000000002018019000000c00120021000000078011001c70000801002000039000500000008001d000400000009001d01c701c20000040f000000040300002900000005060000290000000102200190000001600000613d000000030700002900000000033701700000002002000039000000000101043b000001400000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000001380000413d000000000373004b0000014b0000813d0000000303700210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102700210000001bb0000013d0000000001000416000000000101004b000001600000c13d000000000100041a000000010310019000000001041002700000007f0240018f000000000204c0190000001f0420008c00000000040000190000000104002039000000000441013f0000000104400190000001620000613d0000008001000041000000000010043500000022010000390000009f0000013d0000000001000019000001c900010430000000800020043f000000000303004b000001750000613d000000a0010000390000000000000435000000000302004b000001810000613d0000007c0100004100000000040000190000000003040019000000000401041a000000a005300039000000000045043500000001011000390000002004300039000000000524004b0000016b0000413d000000c0013000390000017b0000013d000001000300008a000000000131016f000000a00010043f000000000102004b000000c001000039000000a0010060390000001f01100039000000200200008a000000000121016f0000007d021000410000007e0220009c0000009c0000413d000000400010043f00000020020000390000000003210436000000800200043d00000000002304350000004003100039000000000402004b000001910000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000524004b0000018a0000413d000000000332001900000000000304350000005f02200039000000200300008a000000000232016f0000007303000041000000730420009c0000000002038019000000730410009c000000000103801900000040011002100000006002200210000000000112019f000001c80001042e000000000201004b0000000002000019000001a30000613d000000a00200043d0000000303100210000000010400008a000000000334022f000000000343013f000000000332016f0000000102100210000000000123019f000000000010041b0000007301000041000000400200043d000000730320009c00000000020180190000004001200210000001c80001042e000000000104004b0000000001000019000001b50000613d00000000010604330000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000007901000041000001c80001042e000001c5002104230000000102000039000000000001042d0000000002000019000000000001042d000001c700000432000001c80001042e000001c9000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000d98b5568000000000000000000000000000000000000000000000000000000007932db75290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff000000000000008080000000000000000000000000000000000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000b6a433bc7df435258118f8b80ff5a7799eb18cd0bf3a38b685cb901f1d11d13f \ No newline at end of file diff --git a/validium_mode_example/BytesWriter.sol b/validium_mode_example/BytesWriter.sol deleted file mode 100644 index 0327d293372..00000000000 --- a/validium_mode_example/BytesWriter.sol +++ /dev/null @@ -1,27 +0,0 @@ -//SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.8; - -contract BytesWriter { - bytes private message; - - constructor(bytes memory _message) { - message = _message; - } - - function readBytes() public view returns (bytes memory) { - return message; - } - - function writeBytes(bytes memory _message) public { - message = _message; - } - - // event StringBytesLengthMessage(address sender, string inputString, uint256 bytesLength); - - // function getStringBytesLength(string memory str) external { - // bytes memory strBytes = bytes(str); - // uint256 length = strBytes.length; - - // emit StringBytesLengthMessage(msg.sender, str, length); - // } -} diff --git a/validium_mode_example/Cargo.toml b/validium_mode_example/Cargo.toml deleted file mode 100644 index 2ac5791c83e..00000000000 --- a/validium_mode_example/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "validium_mode_example" -version = "0.1.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -zksync-web3-rs = "*" -zksync_web3_decl = { path = "../core/lib/web3_decl" } -loadnext = { path = "../core/tests/loadnext" } -ethers = "2.0.1" -hex = "0.4.3" -tokio = { version = "1", features = ["macros", "process"] } -colored = "2.0" diff --git a/validium_mode_example/Context.sol b/validium_mode_example/Context.sol deleted file mode 100644 index df4427b9ebd..00000000000 --- a/validium_mode_example/Context.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.8.0; - -/** - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address) { - return msg.sender; - } - - function _msgData() internal view virtual returns (bytes calldata) { - return msg.data; - } -} diff --git a/validium_mode_example/ERC20.abi b/validium_mode_example/ERC20.abi deleted file mode 100644 index b6148fda651..00000000000 --- a/validium_mode_example/ERC20.abi +++ /dev/null @@ -1,416 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_afterTokenTransfer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_beforeTokenTransfer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_transfer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/validium_mode_example/ERC20.bin b/validium_mode_example/ERC20.bin deleted file mode 100644 index 97fc9e06706..00000000000 --- a/validium_mode_example/ERC20.bin +++ /dev/null @@ -1 +0,0 @@ -00010000000000020008000000000002000000000701034f00000000000703550000008001000039000000400010043f0000000001070019000000600110027000000152011001970000000102200190000000370000c13d000000040210008c0000038b0000413d000000000207043b000000e0022002700000015a0320009c000001230000a13d0000015b0320009c0000013a0000a13d0000015c0320009c000001660000a13d0000015d0320009c000001f00000613d0000015e0320009c000001b10000613d0000015f0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000002402700370000000000302043b000001720230009c0000038b0000213d00000000001004350000000101000039000000200010043f0000004002000039000800000002001d0000000001000019000700000003001d054405240000040f00000007020000290000000000200435000000200010043f00000000010000190000000802000029000002a40000013d0000000002000416000000000202004b0000038b0000c13d0000015302100041000001540220009c000000430000213d000001850100004100000000001004350000004101000039000000040010043f000001860100004100000546000104300000009f021000390000015502200197000000400020043f0000001f0210018f0000000503100272000000520000613d00000000040000190000000505400210000000000657034f000000000606043b000000800550003900000000006504350000000104400039000000000534004b0000004a0000413d000000000402004b000000610000613d0000000503300210000000000437034f00000003022002100000008003300039000000000503043300000000052501cf000000000525022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000252019f0000000000230435000000400210008c0000038b0000413d000000800500043d000001560250009c0000038b0000213d00000080021000390000009f03500039000000000323004b0000038b0000813d00000080045000390000000003040433000001560630009c0000003d0000213d0000003f06300039000000200900008a000000000696016f000000400a00043d00000000066a00190000000007a6004b00000000070000190000000107004039000001560860009c0000003d0000213d00000001077001900000003d0000c13d000000400060043f000000000b3a04360000000005350019000000a005500039000000000525004b0000038b0000213d000000000503004b0000008a0000613d000000000500001900000020055000390000000006a50019000000000745001900000000070704330000000000760435000000000635004b000000830000413d00000000033b00190000000000030435000000a00400043d000001560340009c0000038b0000213d0000001f034000390000015705000041000000000113004b000000000100001900000000010580190000015703300197000000000603004b0000000005008019000001570330009c000000000501c019000000000105004b0000038b0000c13d00000080034000390000000001030433000001560510009c0000003d0000213d0000003f05100039000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000001560750009c0000003d0000213d00000001066001900000003d0000c13d000000400050043f0000000005180436000800000005001d0000000004140019000000a004400039000000000224004b0000038b0000213d00040000000b001d00070000000a001d000500000009001d000000000201004b000000be0000613d000000000200001900000020022000390000000004820019000000000532001900000000050504330000000000540435000000000412004b000000b70000413d0000000801100029000000000001043500000007010000290000000001010433000600000001001d000001560110009c0000003d0000213d000100000008001d0000000301000039000300000001001d000000000101041a000000010210019000000001011002700000007f0310018f000000000301c019000200000003001d0000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b000002870000c13d0000000201000029000000200110008c000000f40000413d0000000301000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f00000001022001900000038b0000613d00000006030000290000001f023000390000000502200270000000200330008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b000000f40000813d000000000002041b0000000102200039000000000312004b000000f00000413d00000006010000290000001f0110008c000003910000a13d0000000301000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f0000000102200190000000050200002900000007060000290000038b0000613d00000006032001800000002002000039000000000101043b000001130000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b0000010b0000413d000000060330006c0000011f0000813d00000006030000290000000303300210000000f80330018f000000010400008a000000000334022f000000000343013f00000007022000290000000002020433000000000232016f000000000021041b0000000601000029000000010110021000000001011001bf0000039e0000013d000001670320009c0000015a0000213d0000016d0320009c000001a40000213d000001700320009c000002070000613d000001710220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000201043b000001720120009c0000038b0000213d0000002401700370000000000301043b0000000001000411054404ca0000040f000001fe0000013d000001620320009c000001ad0000213d000001650320009c000002200000613d000001660220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000401043b000001720140009c0000038b0000213d0000002401700370000000000201043b000000000104004b000002ba0000c13d0000017801000041000000800010043f0000002001000039000000840010043f0000002101000039000000a40010043f0000018001000041000000c40010043f0000018101000041000000e40010043f00000182010000410000054600010430000001680320009c000001b60000213d0000016b0320009c000002380000613d0000016c0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f054404460000040f000002900000013d000001600320009c000002780000613d000001610220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000800000001001d000001720110009c0000038b0000213d0000002401700370000000000101043b000700000001001d0000000001000411000500000001001d00000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b00000008020000290000000000200435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b000000000101041a0000000703000029000000000231004b000003530000813d000000400100043d00000064021000390000017603000041000000000032043500000044021000390000017703000041000000000032043500000024021000390000002503000039000002d60000013d0000016e0320009c0000028b0000613d0000016f0120009c0000038b0000c13d0000000001000416000000000101004b0000038b0000c13d0000000201000039000002a50000013d000001630320009c000002960000613d000001640220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f000002900000013d000001690320009c000002a70000613d0000016a0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000800000001001d000001720110009c0000038b0000213d0000000001000411000500000001001d00000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c7000080100200003900070000000703530544053f0000040f000000070300035f00000001022001900000038b0000613d000000000101043b00000008020000290000000000200435000000200010043f0000002401300370000000000101043b000700000001001d0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b000000000101041a0000000703100029000000000113004b000000000100001900000001010040390000000101100190000003540000613d000003000000013d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000201043b000001720120009c0000038b0000213d0000002401700370000000000301043b0000000001000411054404460000040f0000000101000039000000400200043d00000000001204350000015201000041000001520320009c0000000002018019000000400120021000000174011001c7000005450001042e0000000001000416000000000101004b0000038b0000c13d0000000303000039000000000203041a000000010420019000000001052002700000007f0650018f000000000605c0190000001f0560008c00000000050000190000000105002039000000000552013f0000000105500190000002870000c13d000000800060043f000000000404004b000002e20000c13d000001000300008a000000000232016f000000a00020043f000000000106004b000000c001000039000000a001006039000002f10000013d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000401043b000001720140009c0000038b0000213d0000002401700370000000000501043b000000000104004b000002f80000c13d0000017801000041000000800010043f0000002001000039000000840010043f0000001f01000039000000a40010043f0000018301000041000000c40010043f000001840100004100000546000104300000000002000416000000000202004b0000038b0000c13d000000040110008a000000600110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000002402700370000000000202043b000001720320009c0000038b0000213d0000004403700370000000000303043b000700000003001d000800000001001d054404460000040f000000080100002900000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b0000000002000411000500000002001d0000000000200435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f000000080400002900000001022001900000038b0000613d000000000101043b000000000101041a0000000703000029000000000231004b0000038d0000813d000000400100043d00000064021000390000018703000041000000000032043500000044021000390000018803000041000000000032043500000024021000390000002803000039000002d60000013d0000000001000416000000000101004b0000038b0000c13d0000000403000039000000000203041a000000010420019000000001052002700000007f0650018f000000000605c0190000001f0560008c00000000050000190000000105002039000000000552013f0000000105500190000002b00000613d000001850100004100000000001004350000002201000039000000400000013d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f054404ca0000040f0000015201000041000000400200043d000001520320009c00000000020180190000004001200210000005450001042e0000000002000416000000000202004b0000038b0000c13d000000040110008a000000200110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000000000100435000000200000043f00000040020000390000000001000019054405240000040f000000000101041a000002ad0000013d0000000001000416000000000101004b0000038b0000c13d0000000501000039000000000101041a000000ff0110018f000000800010043f0000017301000041000005450001042e000000800060043f000000000404004b000003040000c13d000001000300008a000000000232016f000000a00020043f000000000106004b000000c001000039000000a001006039000003130000013d000700000002001d0000000000400435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c70000801002000039000800000004001d0544053f0000040f000000080300002900000001022001900000038b0000613d000000000101043b000000000201041a000000070120006c000003600000813d000000400100043d00000064021000390000017e03000041000000000032043500000044021000390000017f030000410000000000320435000000240210003900000022030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c700000546000104300000000000300435000000a001000039000000000206004b000003190000613d000001890200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000564004b000002e80000413d000000c0013000390000001f01100039000000200200008a000000000121016f0000017b021000410000017c0220009c0000003d0000413d000003190000013d0000000201000039000000000301041a0000000002530019000000000332004b000000000300001900000001030040390000000103300190000003280000613d000001850100004100000000001004350000001101000039000000400000013d0000000000300435000000a001000039000000000206004b000003190000613d0000017a0200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000564004b0000030a0000413d000000c0013000390000001f01100039000000200200008a000000000121016f0000017b021000410000017c0220009c0000003d0000413d000800000001001d000000400010043f0000008002000039054404160000040f000000080400002900000000014100490000015202000041000001520310009c0000000001028019000001520340009c000000000402801900000040024002100000006001100210000000000121019f000005450001042e000700000005001d000000000021041b0000000000400435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c70000801002000039000800000004001d0544053f0000040f000000080600002900000001022001900000038b0000613d000000000101043b000000000301041a00000007040000290000000002430019000000000332004b000000000300001900000001030040390000000103300190000003000000c13d000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d040000410000000005000019000003880000013d000000000331004900000005010000290000000802000029054404ca0000040f000000400100043d000000060200002900000000002104350000015202000041000001520310009c0000000001028019000000400110021000000174011001c7000005450001042e000600000002001d0000000000300435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c700008010020000390544053f0000040f000000080500002900000001022001900000038b0000613d00000007040000290000000602400069000000000101043b000000000021041b0000000201000039000000000201041a000000000342004b000003000000413d0000000002420049000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d0400004100000000060000190544053a0000040f0000000101200190000002900000c13d00000000010000190000054600010430000000000331004900000000010400190000000502000029000003560000013d000000060100006b0000000001000019000003960000613d0000000401000029000000000101043300000006040000290000000302400210000000010300008a000000000223022f000000000232013f000000000121016f0000000102400210000000000121019f0000000302000029000000000012041b00000001010000290000000001010433000700000001001d000001560110009c0000003d0000213d0000000401000039000600000001001d000000000101041a000000010210019000000001021002700000007f0320018f000000000302c019000400000003001d0000001f0230008c00000000020000190000000102002039000000000121013f0000000101100190000002870000c13d0000000401000029000000200110008c000003d30000413d0000000601000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f00000001022001900000038b0000613d00000007030000290000001f023000390000000502200270000000200330008c0000000002004019000000000301043b00000004010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b000003d30000813d000000000002041b0000000102200039000000000312004b000003cf0000413d00000007010000290000001f0110008c000004020000a13d0000000601000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f0000000102200190000000050200002900000001060000290000038b0000613d00000007032001800000002002000039000000000101043b000003f20000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003ea0000413d000000070330006c000003fe0000813d00000007030000290000000303300210000000f80330018f000000010400008a000000000334022f000000000343013f00000001022000290000000002020433000000000232016f000000000021041b0000000101000039000000070200002900000001022002100000040e0000013d000000070100006b0000000001000019000004070000613d0000000801000029000000000101043300000007040000290000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f0000000602000029000000000012041b0000002001000039000001000010044300000120000004430000015901000041000005450001042e00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000403004b000004250000613d000000000400001900000000054100190000002004400039000000000624001900000000060604330000000000650435000000000534004b0000041e0000413d000000000231001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d000000040110008a00000157020000410000005f0310008c000000000300001900000000030220190000015701100197000000000401004b0000000002008019000001570110009c000000000203c019000000000102004b000004440000613d00000000030003670000000401300370000000000101043b000001720210009c000004440000213d0000002402300370000000000202043b000001720420009c000004440000213d0000004403300370000000000303043b000000000001042d00000000010000190000054600010430000400000000000200000172011001980000049b0000613d000400000003001d000201720020019c000004a50000613d000300000001001d0000000000100435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d000000000101043b000000000201041a000100000002001d000000040120006c000004af0000413d00000003010000290000000000100435000000200000043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d0000000103000029000000040230006a000000000101043b000000000021041b000000020100002900000000001004350000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d000000000101043b000000000301041a00000004040000290000000002430019000000000332004b000000000300001900000001030040390000000103300190000004c40000c13d000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d04000041000000030500002900000002060000290544053a0000040f0000000101200190000004990000613d000000000001042d00000000010000190000054600010430000000400100043d00000064021000390000018e03000041000000000032043500000044021000390000018f03000041000000000032043500000024021000390000002503000039000004b80000013d000000400100043d00000064021000390000018c03000041000000000032043500000044021000390000018d03000041000000000032043500000024021000390000002303000039000004b80000013d000000400100043d00000064021000390000018a03000041000000000032043500000044021000390000018b030000410000000000320435000000240210003900000026030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c70000054600010430000001850100004100000000001004350000001101000039000000040010043f0000018601000041000005460001043000030000000000020000017201100198000005050000613d000200000003001d000301720020019c0000050f0000613d000100000001001d00000000001004350000000101000039000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000000303000029000005030000613d000000000101043b0000000000300435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000003060000290000000102200190000005030000613d000000000101043b0000000202000029000000000021041b000000400100043d000000000021043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d020000390000000303000039000001900400004100000001050000290544053a0000040f0000000101200190000005030000613d000000000001042d00000000010000190000054600010430000000400100043d00000064021000390000019303000041000000000032043500000044021000390000019403000041000000000032043500000024021000390000002403000039000005180000013d000000400100043d000000640210003900000191030000410000000000320435000000440210003900000192030000410000000000320435000000240210003900000022030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c700000546000104300000015203000041000001520410009c00000000010380190000004001100210000001520420009c00000000020380190000006002200210000000000112019f0000000002000414000001520420009c0000000002038019000000c002200210000000000112019f00000195011001c700008010020000390544053f0000040f0000000102200190000005380000613d000000000101043b000000000001042d000000000100001900000546000104300000053d002104210000000102000039000000000001042d0000000002000019000000000001042d00000542002104230000000102000039000000000001042d0000000002000019000000000001042d0000054400000432000005450001042e0000054600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000000000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000004e6ec2460000000000000000000000000000000000000000000000000000000095d89b4000000000000000000000000000000000000000000000000000000000a9059cba00000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000cad3be8300000000000000000000000000000000000000000000000000000000dd62ed3e0000000000000000000000000000000000000000000000000000000095d89b4100000000000000000000000000000000000000000000000000000000a457c2d70000000000000000000000000000000000000000000000000000000070a082300000000000000000000000000000000000000000000000000000000070a08231000000000000000000000000000000000000000000000000000000008f811a1c000000000000000000000000000000000000000000000000000000004e6ec247000000000000000000000000000000000000000000000000000000006161eb180000000000000000000000000000000000000000000000000000000023b872dc00000000000000000000000000000000000000000000000000000000313ce56600000000000000000000000000000000000000000000000000000000313ce56700000000000000000000000000000000000000000000000000000000395093510000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000030e0789e00000000000000000000000000000000000000000000000000000000104e81fe00000000000000000000000000000000000000000000000000000000104e81ff0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b3000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000200000000000000000000000000200000000000000000000000000000000000040000000000000000000000000207a65726f00000000000000000000000000000000000000000000000000000045524332303a2064656372656173656420616c6c6f77616e63652062656c6f7708c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840000000000000000000000008a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19bffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000080ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef636500000000000000000000000000000000000000000000000000000000000045524332303a206275726e20616d6f756e7420657863656564732062616c616e45524332303a206275726e2066726f6d20746865207a65726f206164647265737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000045524332303a206d696e7420746f20746865207a65726f20616464726573730000000000000000000000000000000000000000640000008000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000006c6c6f77616e636500000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732061c2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b616c616e6365000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732062657373000000000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220746f20746865207a65726f2061646472647265737300000000000000000000000000000000000000000000000000000045524332303a207472616e736665722066726f6d20746865207a65726f2061648c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925737300000000000000000000000000000000000000000000000000000000000045524332303a20617070726f766520746f20746865207a65726f206164647265726573730000000000000000000000000000000000000000000000000000000045524332303a20617070726f76652066726f6d20746865207a65726f206164640200000000000000000000000000000000000000000000000000000000000000f7b6a0ef06930cfb358d73424bfb79061f7dc9a44ad5004b52f294ee14c39e12 \ No newline at end of file diff --git a/validium_mode_example/ERC20.sol b/validium_mode_example/ERC20.sol deleted file mode 100644 index f3da1db61a4..00000000000 --- a/validium_mode_example/ERC20.sol +++ /dev/null @@ -1,368 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.8.0; - -import "./IERC20.sol"; -import "./IERC20Metadata.sol"; -import "./Context.sol"; - -/** - * @dev Implementation of the {IERC20} interface. - * - * This implementation is agnostic to the way tokens are created. This means - * that a supply mechanism has to be added in a derived contract using {_mint}. - * For a generic mechanism see {ERC20PresetMinterPauser}. - * - * TIP: For a detailed writeup see our guide - * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How - * to implement supply mechanisms]. - * - * We have followed general OpenZeppelin Contracts guidelines: functions revert - * instead returning `false` on failure. This behavior is nonetheless - * conventional and does not conflict with the expectations of ERC20 - * applications. - * - * Additionally, an {Approval} event is emitted on calls to {transferFrom}. - * This allows applications to reconstruct the allowance for all accounts just - * by listening to said events. Other implementations of the EIP may not emit - * these events, as it isn't required by the specification. - * - * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} - * functions have been added to mitigate the well-known issues around setting - * allowances. See {IERC20-approve}. - */ -contract ERC20 is Context, IERC20, IERC20Metadata { - mapping(address => uint256) private _balances; - - mapping(address => mapping(address => uint256)) private _allowances; - - uint256 private _totalSupply; - - string private _name; - string private _symbol; - - uint8 private _decimals; - - /** - * @dev Sets the values for {name} and {symbol}. - * - * The default value of {decimals} is 18. To select a different value for - * {decimals} you should overload it. - * - * All two of these values are immutable: they can only be set once during - * construction. - */ - constructor(string memory name_, string memory symbol_) { - _name = name_; - _symbol = symbol_; - } - - /** - * @dev Returns the name of the token. - */ - function name() public view virtual override returns (string memory) { - return _name; - } - - /** - * @dev Returns the symbol of the token, usually a shorter version of the - * name. - */ - function symbol() public view virtual override returns (string memory) { - return _symbol; - } - - /** - * @dev Returns the number of decimals used to get its user representation. - * For example, if `decimals` equals `2`, a balance of `505` tokens should - * be displayed to a user as `5.05` (`505 / 10 ** 2`). - * - * Tokens usually opt for a value of 18, imitating the relationship between - * Ether and Wei. This is the value {ERC20} uses, unless this function is - * overridden; - * - * NOTE: This information is only used for _display_ purposes: it in - * no way affects any of the arithmetic of the contract, including - * {IERC20-balanceOf} and {IERC20-transfer}. - */ - function decimals() public view virtual override returns (uint8) { - return _decimals; - } - - /** - * @dev See {IERC20-totalSupply}. - */ - function totalSupply() public view virtual override returns (uint256) { - return _totalSupply; - } - - /** - * @dev See {IERC20-balanceOf}. - */ - function balanceOf(address account) public view virtual override returns (uint256) { - return _balances[account]; - } - - /** - * @dev See {IERC20-transfer}. - * - * Requirements: - * - * - `recipient` cannot be the zero address. - * - the caller must have a balance of at least `amount`. - */ - function transfer(address recipient, uint256 amount) public virtual override returns (bool) { - _transfer(_msgSender(), recipient, amount); - return true; - } - - /** - * @dev See {IERC20-allowance}. - */ - function allowance(address owner, address spender) public view virtual override returns (uint256) { - return _allowances[owner][spender]; - } - - /** - * @dev See {IERC20-approve}. - * - * Requirements: - * - * - `spender` cannot be the zero address. - */ - function approve(address spender, uint256 amount) public virtual override returns (bool) { - _approve(_msgSender(), spender, amount); - return true; - } - - /** - * @dev See {IERC20-transferFrom}. - * - * Emits an {Approval} event indicating the updated allowance. This is not - * required by the EIP. See the note at the beginning of {ERC20}. - * - * Requirements: - * - * - `sender` and `recipient` cannot be the zero address. - * - `sender` must have a balance of at least `amount`. - * - the caller must have allowance for ``sender``'s tokens of at least - * `amount`. - */ - function transferFrom( - address sender, - address recipient, - uint256 amount - ) public virtual override returns (bool) { - _transfer(sender, recipient, amount); - - uint256 currentAllowance = _allowances[sender][_msgSender()]; - require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); - unchecked { - _approve(sender, _msgSender(), currentAllowance - amount); - } - - return true; - } - - /** - * @dev Atomically increases the allowance granted to `spender` by the caller. - * - * This is an alternative to {approve} that can be used as a mitigation for - * problems described in {IERC20-approve}. - * - * Emits an {Approval} event indicating the updated allowance. - * - * Requirements: - * - * - `spender` cannot be the zero address. - */ - function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { - _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); - return true; - } - - /** - * @dev Atomically decreases the allowance granted to `spender` by the caller. - * - * This is an alternative to {approve} that can be used as a mitigation for - * problems described in {IERC20-approve}. - * - * Emits an {Approval} event indicating the updated allowance. - * - * Requirements: - * - * - `spender` cannot be the zero address. - * - `spender` must have allowance for the caller of at least - * `subtractedValue`. - */ - function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { - uint256 currentAllowance = _allowances[_msgSender()][spender]; - require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); - unchecked { - _approve(_msgSender(), spender, currentAllowance - subtractedValue); - } - - return true; - } - - /** - * @dev Moves `amount` of tokens from `sender` to `recipient`. - * - * This internal function is equivalent to {transfer}, and can be used to - * e.g. implement automatic token fees, slashing mechanisms, etc. - * - * Emits a {Transfer} event. - * - * Requirements: - * - * - `sender` cannot be the zero address. - * - `recipient` cannot be the zero address. - * - `sender` must have a balance of at least `amount`. - */ - function _transfer( - address sender, - address recipient, - uint256 amount - ) public /*internal*/ virtual { - require(sender != address(0), "ERC20: transfer from the zero address"); - require(recipient != address(0), "ERC20: transfer to the zero address"); - - _beforeTokenTransfer(sender, recipient, amount); - - uint256 senderBalance = _balances[sender]; - require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); - unchecked { - _balances[sender] = senderBalance - amount; - } - _balances[recipient] += amount; - - emit Transfer(sender, recipient, amount); - - _afterTokenTransfer(sender, recipient, amount); - } - - /** @dev Creates `amount` tokens and assigns them to `account`, increasing - * the total supply. - * - * Emits a {Transfer} event with `from` set to the zero address. - * - * Requirements: - * - * - `account` cannot be the zero address. - */ - function _mint(address account, uint256 amount) public /*internal*/ virtual { - require(account != address(0), "ERC20: mint to the zero address"); - - _beforeTokenTransfer(address(0), account, amount); - - _totalSupply += amount; - _balances[account] += amount; - emit Transfer(address(0), account, amount); - - _afterTokenTransfer(address(0), account, amount); - } - - /** - * @dev Destroys `amount` tokens from `account`, reducing the - * total supply. - * - * Emits a {Transfer} event with `to` set to the zero address. - * - * Requirements: - * - * - `account` cannot be the zero address. - * - `account` must have at least `amount` tokens. - */ - function _burn(address account, uint256 amount) public /*internal*/ virtual { - require(account != address(0), "ERC20: burn from the zero address"); - - _beforeTokenTransfer(account, address(0), amount); - - uint256 accountBalance = _balances[account]; - require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); - unchecked { - _balances[account] = accountBalance - amount; - } - _totalSupply -= amount; - - emit Transfer(account, address(0), amount); - - _afterTokenTransfer(account, address(0), amount); - } - - /** - * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. - * - * This internal function is equivalent to `approve`, and can be used to - * e.g. set automatic allowances for certain subsystems, etc. - * - * Emits an {Approval} event. - * - * Requirements: - * - * - `owner` cannot be the zero address. - * - `spender` cannot be the zero address. - */ - function _approve( - address owner, - address spender, - uint256 amount - ) public /*internal*/ virtual { - require(owner != address(0), "ERC20: approve from the zero address"); - require(spender != address(0), "ERC20: approve to the zero address"); - - _allowances[owner][spender] = amount; - emit Approval(owner, spender, amount); - } - - /** - * @dev Hook that is called before any transfer of tokens. This includes - * minting and burning. - * - * Calling conditions: - * - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * will be transferred to `to`. - * - when `from` is zero, `amount` tokens will be minted for `to`. - * - when `to` is zero, `amount` of ``from``'s tokens will be burned. - * - `from` and `to` are never both zero. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) public /*internal*/ virtual {} - - /** - * @dev Hook that is called after any transfer of tokens. This includes - * minting and burning. - * - * Calling conditions: - * - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * has been transferred to `to`. - * - when `from` is zero, `amount` tokens have been minted for `to`. - * - when `to` is zero, `amount` of ``from``'s tokens have been burned. - * - `from` and `to` are never both zero. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _afterTokenTransfer( - address from, - address to, - uint256 amount - ) public /*internal*/ virtual {} - - /** - * @dev Sets {decimals} to a value other than the default one of 18. - * - * WARNING: This function should only be called from the constructor. Most - * applications that interact with token contracts will not expect - * {decimals} to ever change, and may work incorrectly if it does. - */ - function _setupDecimals(uint8 decimals_) internal { - _decimals = decimals_; - } -} diff --git a/validium_mode_example/Greeter.abi b/validium_mode_example/Greeter.abi deleted file mode 100644 index a46e53a2bd0..00000000000 --- a/validium_mode_example/Greeter.abi +++ /dev/null @@ -1,39 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "greet", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - } - ], - "name": "setGreeting", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/validium_mode_example/Greeter.bin b/validium_mode_example/Greeter.bin deleted file mode 100644 index cc5bd5e64fd..00000000000 --- a/validium_mode_example/Greeter.bin +++ /dev/null @@ -1 +0,0 @@ -0002000000000002000500000000000200010000000103550000006001100270000000830010019d0000008001000039000000400010043f0000000101200190000000a80000c13d0000000001000031000000040110008c000001880000413d0000000101000367000000000101043b000000e001100270000000880210009c000001770000613d000000890110009c000001880000c13d0000000001000416000000000110004c000001880000c13d0000000001000031000000040210008a0000008503000041000000200420008c000000000400001900000000040340190000008502200197000000000520004c000000000300a019000000850220009c00000000020400190000000002036019000000000220004c000001880000c13d00000001020003670000000403200370000000000303043b000000840430009c000001880000213d00000023043000390000008505000041000000000614004b0000000006000019000000000605801900000085011001970000008504400197000000000714004b0000000005008019000000000114013f000000850110009c00000000010600190000000001056019000000000110004c000001880000c13d0000000401300039000000000112034f000000000101043b000000840210009c000001dc0000213d000000bf04100039000000200200008a000000000424016f000000840540009c000001dc0000213d000000400040043f000000800010043f000000240430003900000000034100190000000005000031000000000353004b000001880000213d0000001f0310018f00000001044003670000000505100272000000560000613d00000000060000190000000507600210000000000874034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b0000004e0000413d000000000630004c000000650000613d0000000505500210000000000454034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f0000000000350435000000a0011000390000000000010435000000800100043d000000840310009c000001dc0000213d000000000400041a000000010340019000000001034002700000007f0530018f00000000030560190000001f0530008c00000000050000190000000105002039000000000454013f0000000104400190000001960000c13d000000200430008c000000870000413d0000001f0410003900000005044002700000008a044000410000008a05000041000000200610008c000000000405401900000000000004350000001f0330003900000005033002700000008a03300041000000000534004b000000870000813d000000000004041b0000000104400039000000000534004b000000830000413d0000001f0310008c000001f30000a13d00000000032101700000008a02000041000000a00400003900000000000004350000009b0000613d00000020060000390000008a020000410000000004000019000000000506001900000080065000390000000006060433000000000062041b000000200650003900000001022000390000002004400039000000000734004b000000910000413d000000a004500039000000000313004b000000a50000813d0000000303100210000000f80330018f000000010500008a000000000335022f000000000353013f0000000004040433000000000334016f000000000032041b00000001020000390000000103100210000001fd0000013d0000000001000416000000000110004c000001880000c13d00000000010000310000001f02100039000000200900008a000000000492016f000000400200043d0000000003240019000000000443004b00000000040000190000000104004039000000840530009c000001dc0000213d0000000104400190000001dc0000c13d000000400030043f0000001f0310018f00000001040003670000000505100272000000c60000613d000000000600001900000005076002100000000008720019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000000be0000413d000000000630004c000000d50000613d0000000505500210000000000454034f00000000055200190000000303300210000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f00000000003504350000008503000041000000200410008c000000000400001900000000040340190000008505100197000000000650004c000000000300a019000000850550009c000000000304c019000000000330004c000001880000c13d0000000004020433000000840340009c000001880000213d000000000312001900000000012400190000001f021000390000008504000041000000000532004b0000000005000019000000000504801900000085022001970000008506300197000000000762004b0000000004008019000000000262013f000000850220009c00000000020500190000000002046019000000000220004c000001880000c13d0000000002010433000000840420009c000001dc0000213d0000003f04200039000000000494016f000000400700043d0000000004470019000000000574004b00000000050000190000000105004039000000840640009c000001dc0000213d0000000105500190000001dc0000c13d000000400040043f000000000627043600000000042100190000002004400039000000000334004b000001880000213d000000000320004c000001120000613d000000000300001900000000046300190000002003300039000000000513001900000000050504330000000000540435000000000423004b0000010b0000413d000000000126001900000000000104350000000004070433000000840140009c000001dc0000213d000000000100041a000000010210019000000001011002700000007f0310018f000000000301c0190000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b000001960000c13d000000200130008c000001480000413d000100000003001d000300000004001d000000000000043500000083010000410000000002000414000000830320009c0000000001024019000000c00110021000000086011001c70000801002000039000500000009001d000400000007001d000200000006001d020602010000040f0000000206000029000000040700002900000005090000290000000102200190000001880000613d00000003040000290000001f024000390000000502200270000000200340008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b000001480000813d000000000002041b0000000102200039000000000312004b000001440000413d0000001f0140008c000001e20000a13d000300000004001d000000000000043500000083010000410000000002000414000000830320009c0000000001024019000000c00110021000000086011001c70000801002000039000500000009001d000400000007001d020602010000040f000000040600002900000005030000290000000102200190000001880000613d000000030700002900000000033701700000002002000039000000000101043b000001690000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000001610000413d000000000373004b000001740000813d0000000303700210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102700210000001ec0000013d0000000001000416000000000110004c000001880000c13d000000040100008a00000000011000310000008502000041000000000310004c000000000300001900000000030240190000008501100197000000000410004c000000000200a019000000850110009c00000000010300190000000001026019000000000110004c0000018a0000613d00000000010000190000020800010430000000000400041a000000010540019000000001014002700000007f0210018f000000000301001900000000030260190000001f0130008c00000000010000190000000101002039000000000114013f00000001011001900000019c0000613d0000008b0100004100000000001004350000002201000039000000040010043f0000008c010000410000020800010430000000400200043d0000000001320436000000000550004c000001ae0000613d0000000000000435000000000430004c0000000004000019000001b40000613d0000008a0500004100000000040000190000000006410019000000000705041a000000000076043500000001055000390000002004400039000000000634004b000001a60000413d000001b40000013d000001000500008a000000000454016f0000000000410435000000000330004c000000200400003900000000040060190000003f03400039000000200400008a000000000543016f0000000003250019000000000553004b00000000050000190000000105004039000000840630009c000001dc0000213d0000000105500190000001dc0000c13d000000400030043f00000020050000390000000005530436000000000202043300000000002504350000004005300039000000000620004c000001cf0000613d000000000600001900000000075600190000000008610019000000000808043300000000008704350000002006600039000000000726004b000001c80000413d000000000152001900000000000104350000005f01200039000000000141016f0000008302000041000000830410009c0000000001028019000000830430009c000000000203401900000040022002100000006001100210000000000121019f000002070001042e0000008b0100004100000000001004350000004101000039000000040010043f0000008c010000410000020800010430000000000140004c0000000001000019000001e60000613d00000000010604330000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000008701000041000002070001042e000000000210004c0000000002000019000001f70000613d000000a00200043d0000000303100210000000010400008a000000000334022f000000000343013f000000000332016f0000000102100210000000000123019f000000000010041b0000000001000019000002070001042e00000204002104230000000102000039000000000001042d0000000002000019000000000001042d0000020600000432000002070001042e000002080001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000cfae321700000000000000000000000000000000000000000000000000000000a4136862290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5634e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049640b54fe6c32c3d2b931a12d0e92ca2c903f61744f706361c28dd6cf0a568a \ No newline at end of file diff --git a/validium_mode_example/Greeter.sol b/validium_mode_example/Greeter.sol deleted file mode 100644 index 7208f4c1326..00000000000 --- a/validium_mode_example/Greeter.sol +++ /dev/null @@ -1,18 +0,0 @@ -//SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.8; - -contract Greeter { - string private greeting; - - constructor(string memory _greeting) { - greeting = _greeting; - } - - function greet() public view returns (string memory) { - return greeting; - } - - function setGreeting(string memory _greeting) public { - greeting = _greeting; - } -} diff --git a/validium_mode_example/IERC20.sol b/validium_mode_example/IERC20.sol deleted file mode 100644 index 2693a9f9ba1..00000000000 --- a/validium_mode_example/IERC20.sol +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.8.0; - -/** - * @dev Interface of the ERC20 standard as defined in the EIP. - */ -interface IERC20 { - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by `account`. - */ - function balanceOf(address account) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `recipient`. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transfer(address recipient, uint256 amount) external returns (bool); - - /** - * @dev Returns the remaining number of tokens that `spender` will be - * allowed to spend on behalf of `owner` through {transferFrom}. This is - * zero by default. - * - * This value changes when {approve} or {transferFrom} are called. - */ - function allowance(address owner, address spender) external view returns (uint256); - - /** - * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * IMPORTANT: Beware that changing an allowance with this method brings the risk - * that someone may use both the old and the new allowance by unfortunate - * transaction ordering. One possible solution to mitigate this race - * condition is to first reduce the spender's allowance to 0 and set the - * desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * - * Emits an {Approval} event. - */ - function approve(address spender, uint256 amount) external returns (bool); - - /** - * @dev Moves `amount` tokens from `sender` to `recipient` using the - * allowance mechanism. `amount` is then deducted from the caller's - * allowance. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transferFrom( - address sender, - address recipient, - uint256 amount - ) external returns (bool); - - /** - * @dev Emitted when `value` tokens are moved from one account (`from`) to - * another (`to`). - * - * Note that `value` may be zero. - */ - event Transfer(address indexed from, address indexed to, uint256 value); - - /** - * @dev Emitted when the allowance of a `spender` for an `owner` is set by - * a call to {approve}. `value` is the new allowance. - */ - event Approval(address indexed owner, address indexed spender, uint256 value); -} diff --git a/validium_mode_example/IERC20Metadata.sol b/validium_mode_example/IERC20Metadata.sol deleted file mode 100644 index 1846275af4b..00000000000 --- a/validium_mode_example/IERC20Metadata.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.8.0; - -import "./IERC20.sol"; - -/** - * @dev Interface for the optional metadata functions from the ERC20 standard. - * - * _Available since v4.1._ - */ -interface IERC20Metadata is IERC20 { - /** - * @dev Returns the name of the token. - */ - function name() external view returns (string memory); - - /** - * @dev Returns the symbol of the token. - */ - function symbol() external view returns (string memory); - - /** - * @dev Returns the decimals places of the token. - */ - function decimals() external view returns (uint8); -} diff --git a/validium_mode_example/README.md b/validium_mode_example/README.md deleted file mode 100644 index 777696d4dc0..00000000000 --- a/validium_mode_example/README.md +++ /dev/null @@ -1,72 +0,0 @@ -# Validium example - -In order to start the node as a validium and run the example follow the next steps. - -## Run the server - -To run this example we need to run the server in validium mode. In the `zksync-era` directory, you can run the following -command: - -```sh -zk && zk clean --all && zk init --validium-mode && zk server -``` - -> [!IMPORTANT] Make sure that the flag `--validium-mode` is present when initializing the server. - -This will set up the Ethereum node with the validium contracts, and also define an `env` var which the server will pick -up in order to run as a validium node. - -## Run the example - -In this example we're going to run some transactions. - -Once the server is running, run this command in other terminal: - -```sh -cargo run --release --bin zksync_full_stack -``` - -This test does the following: - -- Inits a wallet -- Deposits some funds into the wallet -- Deploys a sample ERC20 contract -- Query the contract for the token name and symbol -- Mint 100000 tokens into the address `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` -- Transfer 1000 tokens from `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` to `bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB` - -## Logs and prints - -- For each transaction, we use the rpc client to query the transaction details and print them out. The following fields - are printed: - - `Transaction hash`: The hash of the transaction - - `Transaction gas used`: The gas used to perform this transaction. - - `L2 fee`: The total cost of this transaction. - -## Example output - -You will have an output similar to this one: - -``` -Deposit transaction hash: 0x77f378f1857ad7ff8c1041d2ce0f7f167587a90a19f9fd923c9ea91fbdf37650 -Deploy -Contract address: 0x4b5df730c2e6b28e17013a1485e5d9bc41efe021 -Transaction hash 0xe08786e302027040056555bdba6e0462fdee56768d982485d80f732043013bb5 -Transaction gas used 161163 -L2 fee: 40290750000000 - -Mint -Transaction hash 0x2f5b565959c8c5ffe320a364df27f4de451ed93ee6344a838f2212397da7fe5f -Transaction gas used 124046 -L2 fee: 31011500000000 -L1 max fee per gas: 1200000011 - -Transfer 1000 -Transaction hash 0x7cfadf74a5fa571ed9e2f1a115edc62f8db913d61d387177b7b07e2cb270af75 -Transaction gas used 125466 -L2 fee: 31366500000000 -L1 max fee per gas: 1000000010 -``` - -> [!NOTE] You can observe how the different fields evolve depending on the operation. The `transaction hash` is a -> changing field. diff --git a/validium_mode_example/src/main.rs b/validium_mode_example/src/main.rs deleted file mode 100644 index e290e4d9cd8..00000000000 --- a/validium_mode_example/src/main.rs +++ /dev/null @@ -1,269 +0,0 @@ -use std::{str::FromStr, time::Duration}; - -use colored::Colorize; -use ethers::{abi::Abi, providers::Http, utils::parse_units}; -use loadnext::config::LoadtestConfig; -use tokio::time::sleep; -use zksync_web3_decl::{ - jsonrpsee::http_client::HttpClientBuilder, - namespaces::{EthNamespaceClient, ZksNamespaceClient}, -}; -use zksync_web3_rs::{ - eip712::Eip712TransactionRequest, - providers::{Middleware, Provider}, - signers::{LocalWallet, Signer}, - zks_provider::ZKSProvider, - zks_wallet::{DeployRequest, DepositRequest}, - ZKSWallet, -}; - -static ERA_PROVIDER_URL: &str = "http://127.0.0.1:3050"; -static PRIVATE_KEY: &str = "7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"; - -static CONTRACT_BIN: &str = include_str!("../ERC20.bin"); -static CONTRACT_ABI: &str = include_str!("../ERC20.abi"); - -static L1_URL: &str = "http://localhost:8545"; - -#[tokio::main(flavor = "current_thread")] -async fn main() { - let l1_provider = - Provider::::try_from(L1_URL).expect("Could not instantiate L1 Provider"); - let zk_wallet = { - let era_provider = Provider::try_from(ERA_PROVIDER_URL).unwrap(); - - let chain_id = era_provider.get_chainid().await.unwrap(); - let l2_wallet = LocalWallet::from_str(PRIVATE_KEY) - .unwrap() - .with_chain_id(chain_id.as_u64()); - ZKSWallet::new( - l2_wallet, - None, - Some(era_provider.clone()), - Some(l1_provider.clone()), - ) - .unwrap() - }; - - let config = LoadtestConfig::from_env() - .expect("Config parameters should be loaded from env or from default values"); - - let l1_rpc_client = HttpClientBuilder::default() - .build(config.l1_rpc_address) - .unwrap(); - let l2_rpc_client = HttpClientBuilder::default() - .build(config.l2_rpc_address) - .unwrap(); - - let deposit_transaction_hash = { - let amount = parse_units("11", "ether").unwrap(); - let request = DepositRequest::new(amount.into()); - zk_wallet - .deposit(&request) - .await - .expect("Failed to perform deposit transaction") - }; - println!(); - println!("Deposit transaction hash: {:?}", deposit_transaction_hash); - - // Deploy contract: - let contract_address = { - // Read both files from disk: - let abi = Abi::load(CONTRACT_ABI.as_bytes()).unwrap(); - let contract_bin = hex::decode(CONTRACT_BIN).unwrap().to_vec(); - - // DeployRequest sets the parameters for the constructor call and the deployment transaction. - let request = DeployRequest::with( - abi, - contract_bin, - vec!["ToniToken".to_owned(), "teth".to_owned()], - ) - .from(zk_wallet.l2_address()); - - let eip712_request: Eip712TransactionRequest = request.clone().try_into().unwrap(); - println!("{}", "Deploy".bright_magenta()); - - let transaction_receipt = zk_wallet - .get_era_provider() - .unwrap() - .clone() - .send_transaction_eip712(&zk_wallet.l2_wallet, eip712_request) - .await - .unwrap() - .await - .unwrap() - .unwrap(); - - let address = transaction_receipt.contract_address.unwrap(); - println!("Contract address: {:#?}", address); - - let transaction_hash_deploy = transaction_receipt.transaction_hash; - let transaction_hash_formatted_deploy = - format!("{:#?}", transaction_receipt.transaction_hash); - println!("Transaction hash {}", transaction_hash_formatted_deploy); - let transaction_gas_used_formatted_deploy = - format!("{:#?}", transaction_receipt.gas_used.unwrap()); - println!( - "Transaction gas used {}", - transaction_gas_used_formatted_deploy.cyan() - ); - let l2_transaction_deploy = { - loop { - let l2_transaction = l2_rpc_client - .get_transaction_details(transaction_hash_deploy) - .await - .unwrap() - .unwrap(); - - if l2_transaction.eth_commit_tx_hash.is_some() { - break l2_transaction.clone(); - } - - sleep(Duration::from_secs(1)).await; - } - }; - - let l2_tx_fee_formatted_deploy = format!("{:#?}", l2_transaction_deploy.fee); - println!("L2 fee: {}", l2_tx_fee_formatted_deploy.green()); - - address - }; - println!(); - - println!("{}", "Mint".bright_magenta()); - let receipt_mint = zk_wallet - .get_era_provider() - .unwrap() - .clone() - .send_eip712( - &zk_wallet.l2_wallet, - contract_address, - "_mint(address, uint256)", - Some( - [ - "CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826".into(), - "100000".into(), - ] - .into(), - ), - None, - ) - .await - .unwrap() - .await - .unwrap() - .unwrap(); - - let transaction_hash_mint = receipt_mint.transaction_hash; - let transaction_hash_formatted_mint = format!("{:#?}", receipt_mint.transaction_hash); - println!("Transaction hash {}", transaction_hash_formatted_mint); - let transaction_gas_used_formatted_mint = format!("{:#?}", receipt_mint.gas_used.unwrap()); - println!( - "Transaction gas used {}", - transaction_gas_used_formatted_mint.cyan() - ); - let l2_transaction_mint = { - loop { - let l2_transaction = l2_rpc_client - .get_transaction_details(transaction_hash_mint) - .await - .unwrap() - .unwrap(); - - if l2_transaction.eth_commit_tx_hash.is_some() { - break l2_transaction.clone(); - } - - sleep(Duration::from_secs(1)).await; // Adjust the duration as needed - } - }; - - let l2_tx_fee_formatted_mint = format!("{:#?}", l2_transaction_mint.fee); - println!("L2 fee: {}", l2_tx_fee_formatted_mint.green()); - - let l1_transaction_transfer = l1_rpc_client - .get_transaction_by_hash(l2_transaction_mint.eth_commit_tx_hash.unwrap()) - .await - .unwrap() - .unwrap(); - - let l1_max_fee_per_gas_mint = l1_transaction_transfer.max_fee_per_gas.unwrap(); - let l1_max_fee_per_gas_formatted_mint = format!("{:#?}", l1_max_fee_per_gas_mint); - println!( - "L1 max fee per gas: {}", - l1_max_fee_per_gas_formatted_mint.cyan() - ); - println!(); - - let values: Vec<&str> = vec!["1000"]; - - for &value in &values { - println!("Transfer {}", value.bright_magenta()); - let receipt_transfer = zk_wallet - .get_era_provider() - .unwrap() - .clone() - .send_eip712( - &zk_wallet.l2_wallet, - contract_address, - "_transfer(address, address, uint256)", - Some( - [ - "CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826".into(), - "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), - value.into(), - ] - .into(), - ), - None, - ) - .await - .unwrap() - .await - .unwrap() - .unwrap(); - - let transaction_hash_transfer = receipt_transfer.transaction_hash; - let transaction_hash_formatted_transfer = - format!("{:#?}", receipt_transfer.transaction_hash); - println!("Transaction hash {}", transaction_hash_formatted_transfer); - let transaction_gas_used_formatted_transfer = - format!("{:#?}", receipt_transfer.gas_used.unwrap()); - println!( - "Transaction gas used {}", - transaction_gas_used_formatted_transfer.cyan() - ); - let l2_transaction_transfer = { - loop { - let l2_transaction = l2_rpc_client - .get_transaction_details(transaction_hash_transfer) - .await - .unwrap() - .unwrap(); - - if l2_transaction.eth_commit_tx_hash.is_some() { - break l2_transaction.clone(); - } - - sleep(Duration::from_secs(1)).await; // Adjust the duration as needed - } - }; - - let l2_tx_fee_formatted_transfer = format!("{:#?}", l2_transaction_transfer.fee); - println!("L2 fee: {}", l2_tx_fee_formatted_transfer.green()); - - let l1_transaction_transfer = l1_rpc_client - .get_transaction_by_hash(l2_transaction_transfer.eth_commit_tx_hash.unwrap()) - .await - .unwrap() - .unwrap(); - - let l1_max_fee_per_gas_transfer = l1_transaction_transfer.max_fee_per_gas.unwrap(); - let l1_max_fee_per_gas_formatted_transfer = format!("{:#?}", l1_max_fee_per_gas_transfer); - println!( - "L1 max fee per gas: {}", - l1_max_fee_per_gas_formatted_transfer.cyan() - ); - println!(); - } -}