diff --git a/Cargo.lock b/Cargo.lock index 8944c23..850e9fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli", + "gimli 0.28.1", ] [[package]] @@ -38,12 +38,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "alloy-eip2930" version = "0.1.0" @@ -52,62 +46,55 @@ checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ "alloy-primitives", "alloy-rlp", + "serde", ] [[package]] name = "alloy-eip7702" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d319bb544ca6caeab58c39cea8921c55d924d4f68f2c60f24f914673f9a74a" +checksum = "5f6cee6a35793f3db8a5ffe60e86c695f321d081a567211245f503e8c498fce8" dependencies = [ "alloy-primitives", "alloy-rlp", + "derive_more", "k256", -] - -[[package]] -name = "alloy-eips" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "499ee14d296a133d142efd215eb36bf96124829fe91cf8f5d4e5ccdd381eae00" -dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "alloy-rlp", - "c-kzg", - "derive_more 1.0.0", - "once_cell", "serde", ] [[package]] name = "alloy-primitives" -version = "0.8.0" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a767e59c86900dd7c3ce3ecef04f3ace5ac9631ee150beb8b7d22f7fa3bbb2d7" +checksum = "9fce5dbd6a4f118eecc4719eaa9c7ffc31c315e6c5ccde3642db927802312425" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 0.99.18", + "derive_more", + "foldhash", + "hashbrown 0.15.1", "hex-literal", + "indexmap", "itoa", "k256", "keccak-asm", + "paste", "proptest", "rand", "ruint", + "rustc-hash", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -116,13 +103,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -133,9 +120,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -148,49 +135,49 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "ark-ff" @@ -226,7 +213,7 @@ dependencies = [ "num-bigint", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -318,9 +305,9 @@ dependencies = [ [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "aurora-engine-modexp" @@ -340,14 +327,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" @@ -433,26 +420,14 @@ dependencies = [ "generic-array", ] -[[package]] -name = "blst" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" -dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", -] - [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.9", "serde", ] @@ -476,23 +451,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" - -[[package]] -name = "c-kzg" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" -dependencies = [ - "blst", - "cc", - "glob", - "hex", - "libc", - "serde", -] +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "cast" @@ -502,12 +463,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.8" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504bdec147f2cc13c8b57ed9401fd8a147cc66b67ad5cb241394244f2c947549" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -545,9 +507,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.14" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c937d4061031a6d0c8da4b9a4f98a172fc2976dfb1c19213a9cf7d0d3c837e36" +checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" dependencies = [ "clap_builder", "clap_derive", @@ -555,9 +517,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.14" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85379ba512b21a328adf887e85f7742d12e96eb31f3ef077df4ffc26b506ffed" +checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" dependencies = [ "anstream", "anstyle", @@ -567,21 +529,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" [[package]] name = "color-eyre" @@ -612,9 +574,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" @@ -630,9 +592,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" dependencies = [ "cfg-if", "cpufeatures", @@ -647,26 +609,20 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" dependencies = [ "libc", ] [[package]] name = "cranelift" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f738d9e5c11effbd4913af6d66b5a935201f3aa210d6a139f5101b30b3eb2bc8" +checksum = "0fddbe6496ab9cb8384706a5562c54f56883e359a2e98a960800c8ddf1219edc" dependencies = [ "cranelift-codegen", "cranelift-frontend", @@ -675,70 +631,81 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6b33d7e757a887989eb18b35712b2a67d96171ec3149d1bfb657b29b7b367c" +checksum = "2ba4f80548f22dc9c43911907b5e322c5555544ee85f785115701e6a28c9abe1" dependencies = [ "cranelift-entity", ] +[[package]] +name = "cranelift-bitset" +version = "0.114.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "005884e3649c3e5ff2dc79e8a94b138f11569cc08a91244a292714d2a86e9156" + [[package]] name = "cranelift-codegen" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9acf15cb22be42d07c3b57d7856329cb228b7315d385346149df2566ad5e4aa" +checksum = "fe4036255ec33ce9a37495dfbcfc4e1118fd34e693eff9a1e106336b7cd16a9b" dependencies = [ "bumpalo", "cranelift-bforest", + "cranelift-bitset", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli", + "gimli 0.31.1", "hashbrown 0.14.5", "log", "regalloc2", - "rustc-hash 1.1.0", + "rustc-hash", + "serde", "smallvec", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e934d301392b73b3f8b0540391fb82465a0f179a3cee7c726482ac4727efcc97" +checksum = "f7ca74f4b68319da11d39e894437cb6e20ec7c2e11fbbda823c3bf207beedff7" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb2a2566b3d54b854dfb288b3b187f6d3d17d6f762c92898207eba302931da" +checksum = "897e54f433a0269c4187871aa06d452214d5515d228d5bdc22219585e9eef895" [[package]] name = "cranelift-control" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0100f33b704cdacd01ad66ff41f8c5030d57cbff078e2a4e49ab1822591299fa" +checksum = "29cb4018f5bf59fb53f515fa9d80e6f8c5ce19f198dc538984ebd23ecf8965ec" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8cfdc315e5d18997093e040a8d234bea1ac1e118a716d3e30f40d449e78207b" +checksum = "305399fd781a2953ac78c1396f02ff53144f39c33eb7fc7789cf4e8936d13a96" +dependencies = [ + "cranelift-bitset", +] [[package]] name = "cranelift-frontend" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f74b84f16af2e982b0c0c72233503d9d55cbfe3865dbe807ca28dc6642a28b5" +checksum = "9230b460a128d53653456137751d27baf567947a3ab8c0c4d6e31fd08036d81e" dependencies = [ "cranelift-codegen", "log", @@ -748,15 +715,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf306d3dde705fb94bd48082f01d38c4ededc74293a4c007805f610bf08bc6e" +checksum = "b961e24ae3ec9813a24a15ae64bbd2a42e4de4d79a7f3225a412e3b94e78d1c8" [[package]] name = "cranelift-jit" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5c5cfb8bbd3339cd25cca30e7516ff8fe5cb1feeddde6980cc4d5ef34df97bb" +checksum = "62699329d4ced20fe281fbaef45e11b473b7ab310491b4bdebcd8b818a8ef7fe" dependencies = [ "anyhow", "cranelift-codegen", @@ -769,14 +736,14 @@ dependencies = [ "region", "target-lexicon", "wasmtime-jit-icache-coherence", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "cranelift-module" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9b0d4269b36fd858e6d8f20cd4938941186fb831488c361888cb2d6b33a9a6" +checksum = "2f20b0b51ba962dac30fc7e812b86e4390d908acd4f59bcc8ac7610a8f3e0977" dependencies = [ "anyhow", "cranelift-codegen", @@ -785,9 +752,9 @@ dependencies = [ [[package]] name = "cranelift-native" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea0ebdef7aff4a79bcbc8b6495f31315f16b3bf311152f472eaa8d679352581" +checksum = "4d5bd76df6c9151188dfa428c863b33da5b34561b67f43c0cf3f24a794f9fa1f" dependencies = [ "cranelift-codegen", "libc", @@ -796,16 +763,16 @@ dependencies = [ [[package]] name = "cranelift-object" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e33439ec20db058bc7cc3410f9748ab1ad90a35cef713d625c736f43e3820d" +checksum = "ee231640a7ecceedd0f1f2782d9288db6a6908cc70675ed9427e3bf0ea6daacd" dependencies = [ "anyhow", "cranelift-codegen", "cranelift-control", "cranelift-module", "log", - "object 0.36.3", + "object 0.36.5", "target-lexicon", ] @@ -928,19 +895,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.0", - "syn 2.0.72", -] - [[package]] name = "derive_more" version = "1.0.0" @@ -958,7 +912,8 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", + "unicode-xid", ] [[package]] @@ -1062,7 +1017,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -1099,9 +1054,9 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fastrlp" @@ -1142,6 +1097,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "funty" version = "2.0.0" @@ -1150,9 +1111,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "generator" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "979f00864edc7516466d6b3157706e06c032f22715700ddd878228a91d02bc56" +checksum = "dbb949699c3e4df3a183b1d2142cb24277057055ed23c68ed58894f76c517223" dependencies = [ "cfg-if", "libc", @@ -1197,18 +1158,18 @@ name = "gimli" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" dependencies = [ "fallible-iterator", "indexmap", "stable_deref_trait", ] -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "group" version = "0.13.0" @@ -1232,21 +1193,20 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.13.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", ] [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" dependencies = [ - "ahash", - "allocator-api2", + "foldhash", ] [[package]] @@ -1261,6 +1221,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -1289,7 +1255,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22275f8051874cd2f05b2aa1e0098d5cbec34df30ff92f1a1e2686a4cefed870" dependencies = [ "bincode", - "derive_more 1.0.0", + "derive_more", "iai-callgrind-macros", "iai-callgrind-runner", ] @@ -1300,13 +1266,13 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8e6677dc52bd798b988e62ffd6831bf7eb46e4348cb1c74c1164954ebd0e5a1" dependencies = [ - "derive_more 1.0.0", + "derive_more", "proc-macro-error2", "proc-macro2", "quote", "serde", "serde_json", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -1329,13 +1295,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -1346,12 +1312,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.3.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.1", ] [[package]] @@ -1376,16 +1342,16 @@ checksum = "9dd28cfd4cfba665d47d31c08a6ba637eed16770abca2eccbbc3ca831fef1e44" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -1407,9 +1373,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2" [[package]] name = "jobserver" @@ -1422,18 +1388,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -1442,11 +1408,20 @@ dependencies = [ "sha2", ] +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + [[package]] name = "keccak-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422fbc7ff2f2f5bdffeb07718e5a5324dca72b0c9293d50df4026652385e3314" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -1463,19 +1438,18 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "libfuzzer-sys" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" +checksum = "9b9569d2f74e257076d8c6bfa73fb505b46b851e51ddaecc825944aa3bed17fa" dependencies = [ "arbitrary", "cc", - "once_cell", ] [[package]] @@ -1490,9 +1464,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -1544,10 +1518,10 @@ dependencies = [ ] [[package]] -name = "mach" -version = "0.3.2" +name = "mach2" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ "libc", ] @@ -1666,7 +1640,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -1681,21 +1655,21 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "crc32fast", - "hashbrown 0.14.5", + "hashbrown 0.15.1", "indexmap", "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oorandom" @@ -1717,28 +1691,29 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -1749,9 +1724,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -1788,7 +1763,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -1802,9 +1777,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pkcs8" @@ -1818,9 +1793,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ "num-traits", "plotters-backend", @@ -1831,15 +1806,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" [[package]] name = "plotters-svg" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ "plotters-backend", ] @@ -1866,9 +1841,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ "toml_edit", ] @@ -1892,14 +1867,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "307e3004becf10f5a6e0d59d20f3cd28231b0e0827a96cd3e0ce6d14bc1e4bb3" dependencies = [ "unicode-ident", ] @@ -1918,7 +1893,7 @@ dependencies = [ "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -1932,9 +1907,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2006,9 +1981,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -2017,27 +1992,27 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.9.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +checksum = "12908dbeb234370af84d0579b9f68258a0f67e201412dd9a2814e6f45b2fc0f0" dependencies = [ - "hashbrown 0.13.2", + "hashbrown 0.14.5", "log", - "rustc-hash 1.1.0", + "rustc-hash", "slice-group-by", "smallvec", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -2051,13 +2026,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -2074,27 +2049,27 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "region" -version = "2.2.0" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" +checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7" dependencies = [ "bitflags 1.3.2", "libc", - "mach", - "winapi", + "mach2", + "windows-sys 0.52.0", ] [[package]] name = "revm" -version = "14.0.1" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f719e28cc6fdd086f8bc481429e587740d20ad89729cec3f5f5dd7b655474df" +checksum = "15689a3c6a8d14b647b4666f2e236ef47b5a5133cdfd423f545947986fff7013" dependencies = [ "auto_impl", "cfg-if", @@ -2105,9 +2080,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "959ecbc36802de6126852479844737f20194cf8e6718e0c30697d306a2cca916" +checksum = "74e3f11d0fed049a4a10f79820c59113a79b38aed4ebec786a79d5c667bfeb51" dependencies = [ "paste", "phf", @@ -2117,9 +2092,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.1" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e25f604cb9db593ca3013be8c00f310d6790ccb1b7d8fbbdd4660ec8888043a" +checksum = "e381060af24b750069a2b2d2c54bba273d84e8f5f9e8026fc9262298e26cc336" dependencies = [ "aurora-engine-modexp", "cfg-if", @@ -2133,11 +2108,12 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "9.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ccb981ede47ccf87c68cebf1ba30cdbb7ec935233ea305f3dfff4c1e10ae541" +checksum = "3702f132bb484f4f0d0ca4f6fbde3c82cfd745041abbedd6eda67730e1868ef0" dependencies = [ - "alloy-eips", + "alloy-eip2930", + "alloy-eip7702", "alloy-primitives", "auto_impl", "bitflags 2.6.0", @@ -2145,7 +2121,6 @@ dependencies = [ "cfg-if", "dyn-clone", "enumn", - "hashbrown 0.14.5", "hex", "serde", ] @@ -2167,7 +2142,7 @@ dependencies = [ "revmc-context", "revmc-cranelift", "revmc-llvm", - "rustc-hash 2.0.0", + "rustc-hash", "similar-asserts", "tempfile", "tracing", @@ -2281,7 +2256,7 @@ version = "0.1.0" dependencies = [ "inkwell", "revmc-backend", - "rustc-hash 2.0.0", + "rustc-hash", "tracing", ] @@ -2350,12 +2325,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc-hash" version = "2.0.0" @@ -2379,18 +2348,18 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver 1.0.23", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", "errno", @@ -2401,9 +2370,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rusty-fork" @@ -2469,38 +2438,38 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] [[package]] name = "serde" -version = "1.0.205" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33aedb1a7135da52b7c21791455563facbbcc43d0f0f66165b42c21b3dfb150" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.205" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692d6f5ac90220161d6774db30c662202721e64aed9058d2c394f451261420c1" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] name = "serde_json" -version = "1.0.122" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -2519,11 +2488,21 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + [[package]] name = "sha3-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d79b758b7cb2085612b11a235055e485605a5103faccdd633f35bd7aee69dd" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -2538,6 +2517,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signature" version = "2.2.0" @@ -2560,9 +2545,9 @@ dependencies = [ [[package]] name = "similar-asserts" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e041bb827d1bfca18f213411d51b665309f1afb37a04a5d1464530e13779fc0f" +checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" dependencies = [ "console", "similar", @@ -2652,9 +2637,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", @@ -2675,9 +2660,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", @@ -2712,22 +2697,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -2740,15 +2725,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -2776,9 +2752,9 @@ checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", "toml_datetime", @@ -2804,7 +2780,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -2858,9 +2834,9 @@ dependencies = [ [[package]] name = "tracing-tracy" -version = "0.11.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be7f8874d6438e4263f9874c84eded5095bda795d9c7da6ea0192e1750d3ffe" +checksum = "dc775fdaf33c3dfd19dc354729e65e87914bc67dcdc390ca1210807b8bee5902" dependencies = [ "tracing-core", "tracing-subscriber", @@ -2869,9 +2845,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.17.1" +version = "0.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63de1e1d4115534008d8fd5788b39324d6f58fc707849090533828619351d855" +checksum = "746b078c6a09ebfd5594609049e07116735c304671eaab06ce749854d23435bc" dependencies = [ "loom", "once_cell", @@ -2880,11 +2856,12 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.23.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b98232a2447ce0a58f9a0bfb5f5e39647b5c597c994b63945fcccd1306fafb" +checksum = "3637e734239e12ab152cd269302500bd063f37624ee210cd04b4936ed671f3b1" dependencies = [ "cc", + "windows-targets", ] [[package]] @@ -2895,9 +2872,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -2919,21 +2896,27 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "utf8parse" @@ -2980,34 +2963,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3015,40 +2999,40 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasmtime-jit-icache-coherence" -version = "22.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5afe2f0499542f9a4bcfa1b55bfdda803b6ade4e7c93c6b99e0f39dba44b0a91" +checksum = "91b218a92866f74f35162f5d03a4e0f62cd0e1cc624285b1014275e5d4575fad" dependencies = [ "anyhow", "cfg-if", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -3116,7 +3100,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -3127,7 +3111,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -3233,9 +3217,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.40" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -3267,7 +3251,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] [[package]] @@ -3287,5 +3271,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.89", ] diff --git a/Cargo.toml b/Cargo.toml index 7e2cf1b..03f51d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,9 +44,9 @@ revmc-cranelift = { version = "0.1.0", path = "crates/revmc-cranelift", default- revmc-llvm = { version = "0.1.0", path = "crates/revmc-llvm", default-features = false } alloy-primitives = { version = "0.8", default-features = false } -revm = { version = "14.0", default-features = false } -revm-primitives = { version = "9.0", default-features = false } -revm-interpreter = { version = "10.0", default-features = false } +revm = { version = "18.0", default-features = false } +revm-primitives = { version = "14.0", default-features = false } +revm-interpreter = { version = "14.0", default-features = false } ruint = { version = "1.12", default-features = false } color-eyre = "0.6" diff --git a/crates/revmc-cli/benches/bench.rs b/crates/revmc-cli/benches/bench.rs index f9e6218..e9ad55d 100644 --- a/crates/revmc-cli/benches/bench.rs +++ b/crates/revmc-cli/benches/bench.rs @@ -9,7 +9,7 @@ use revmc::{llvm, EvmCompiler, EvmCompilerFn, EvmContext, EvmLlvmBackend, EvmSta use revmc_cli::Bench; use std::time::Duration; -const SPEC_ID: SpecId = SpecId::PRAGUE_EOF; +const SPEC_ID: SpecId = SpecId::OSAKA; fn bench(c: &mut Criterion) { for bench in &revmc_cli::get_benches() { diff --git a/crates/revmc-cli/benches/iai.rs b/crates/revmc-cli/benches/iai.rs index f7ffece..6ec5809 100644 --- a/crates/revmc-cli/benches/iai.rs +++ b/crates/revmc-cli/benches/iai.rs @@ -25,7 +25,7 @@ fn setup_group(group: &mut BinaryBenchmarkGroup) { args.push("1"); // args.extend(["1", "--shared-library", so.to_str().unwrap()]); } - let mut bench = Bench::new(name); + let mut bench = Bench::new(name.replace('-', "_")); bench.command(Command::new(CMD).args(&args)).config(BinaryBenchmarkConfig::default()); if !is_ct { @@ -53,7 +53,7 @@ fn setup_group(group: &mut BinaryBenchmarkGroup) { ("fibonacci", true), ("counter", true), ("hash_10k", true), - ("hash_10k-eof", true), + // ("hash_10k-eof", true), ("bswap64", true), ("usdc_proxy", false), ("weth", false), diff --git a/crates/revmc-cli/src/main.rs b/crates/revmc-cli/src/main.rs index e431466..2fe6bcc 100644 --- a/crates/revmc-cli/src/main.rs +++ b/crates/revmc-cli/src/main.rs @@ -61,9 +61,9 @@ struct Cli { out_dir: Option, #[arg(short = 'O', long, default_value = "3")] opt_level: OptimizationLevel, - #[arg(long, value_enum, default_value = "pragueeof")] + #[arg(long, value_enum, default_value = "osaka")] spec_id: SpecIdValueEnum, - /// Short-hand for `--spec-id pragueeof`. + /// Short-hand for `--spec-id osaka`. #[arg(long, conflicts_with = "spec_id")] eof: bool, /// Skip validating EOF code. @@ -155,7 +155,7 @@ fn main() -> Result<()> { let bytecode = contract.bytecode.original_byte_slice(); - let spec_id = if cli.eof { SpecId::PRAGUE_EOF } else { cli.spec_id.into() }; + let spec_id = if cli.eof { SpecId::OSAKA } else { cli.spec_id.into() }; if !stack_input.is_empty() { compiler.inspect_stack_length(true); } @@ -300,7 +300,7 @@ pub enum SpecIdValueEnum { SHANGHAI, CANCUN, PRAGUE, - PRAGUE_EOF, + OSAKA, LATEST, } @@ -326,7 +326,7 @@ impl From for SpecId { SpecIdValueEnum::SHANGHAI => Self::SHANGHAI, SpecIdValueEnum::CANCUN => Self::CANCUN, SpecIdValueEnum::PRAGUE => Self::PRAGUE, - SpecIdValueEnum::PRAGUE_EOF => Self::PRAGUE_EOF, + SpecIdValueEnum::OSAKA => Self::OSAKA, SpecIdValueEnum::LATEST => Self::LATEST, } } diff --git a/crates/revmc-cranelift/Cargo.toml b/crates/revmc-cranelift/Cargo.toml index b54c87b..799fb75 100644 --- a/crates/revmc-cranelift/Cargo.toml +++ b/crates/revmc-cranelift/Cargo.toml @@ -19,8 +19,8 @@ workspace = true [dependencies] revmc-backend.workspace = true -cranelift = "0.109" -cranelift-jit = "0.109" -cranelift-module = "0.109" -cranelift-native = "0.109" -cranelift-object = "0.109" +cranelift = "0.114" +cranelift-jit = "0.114" +cranelift-module = "0.114" +cranelift-native = "0.114" +cranelift-object = "0.114" diff --git a/crates/revmc-cranelift/src/lib.rs b/crates/revmc-cranelift/src/lib.rs index 872d126..2242f3c 100644 --- a/crates/revmc-cranelift/src/lib.rs +++ b/crates/revmc-cranelift/src/lib.rs @@ -285,7 +285,7 @@ pub struct EvmCraneliftBuilder<'a> { symbols: Symbols, } -impl<'a> BackendTypes for EvmCraneliftBuilder<'a> { +impl BackendTypes for EvmCraneliftBuilder<'_> { type Type = ::Type; type Value = ::Value; type StackSlot = ::StackSlot; @@ -293,7 +293,7 @@ impl<'a> BackendTypes for EvmCraneliftBuilder<'a> { type Function = ::Function; } -impl<'a> TypeMethods for EvmCraneliftBuilder<'a> { +impl TypeMethods for EvmCraneliftBuilder<'_> { fn type_ptr(&self) -> Self::Type { self.ptr_type } @@ -736,7 +736,7 @@ impl<'a> Builder for EvmCraneliftBuilder<'a> { } fn unreachable(&mut self) { - self.bcx.ins().trap(TrapCode::UnreachableCodeReached); + self.bcx.ins().trap(TrapCode::user(0).unwrap()); } fn get_or_build_function( diff --git a/crates/revmc-llvm/src/lib.rs b/crates/revmc-llvm/src/lib.rs index 32df9a2..e14c377 100644 --- a/crates/revmc-llvm/src/lib.rs +++ b/crates/revmc-llvm/src/lib.rs @@ -218,7 +218,7 @@ impl<'ctx> BackendTypes for EvmLlvmBackend<'ctx> { type Function = FunctionValue<'ctx>; } -impl<'ctx> TypeMethods for EvmLlvmBackend<'ctx> { +impl TypeMethods for EvmLlvmBackend<'_> { fn type_ptr(&self) -> Self::Type { self.ty_ptr.into() } @@ -251,7 +251,10 @@ impl<'ctx> TypeMethods for EvmLlvmBackend<'ctx> { } impl<'ctx> Backend for EvmLlvmBackend<'ctx> { - type Builder<'a> = EvmLlvmBuilder<'a, 'ctx> where Self: 'a; + type Builder<'a> + = EvmLlvmBuilder<'a, 'ctx> + where + Self: 'a; type FuncId = u32; fn ir_extension(&self) -> &'static str { @@ -443,7 +446,7 @@ pub struct EvmLlvmBuilder<'a, 'ctx> { function: FunctionValue<'ctx>, } -impl<'a, 'ctx> std::ops::Deref for EvmLlvmBuilder<'a, 'ctx> { +impl<'ctx> std::ops::Deref for EvmLlvmBuilder<'_, 'ctx> { type Target = EvmLlvmBackend<'ctx>; #[inline] @@ -452,14 +455,14 @@ impl<'a, 'ctx> std::ops::Deref for EvmLlvmBuilder<'a, 'ctx> { } } -impl<'a, 'ctx> std::ops::DerefMut for EvmLlvmBuilder<'a, 'ctx> { +impl std::ops::DerefMut for EvmLlvmBuilder<'_, '_> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { self.backend } } -impl<'a, 'ctx> EvmLlvmBuilder<'a, 'ctx> { +impl<'ctx> EvmLlvmBuilder<'_, 'ctx> { #[allow(dead_code)] fn extract_value( &mut self, @@ -561,7 +564,7 @@ impl<'a, 'ctx> EvmLlvmBuilder<'a, 'ctx> { } } -impl<'a, 'ctx> BackendTypes for EvmLlvmBuilder<'a, 'ctx> { +impl<'ctx> BackendTypes for EvmLlvmBuilder<'_, 'ctx> { type Type = as BackendTypes>::Type; type Value = as BackendTypes>::Value; type StackSlot = as BackendTypes>::StackSlot; @@ -569,7 +572,7 @@ impl<'a, 'ctx> BackendTypes for EvmLlvmBuilder<'a, 'ctx> { type Function = as BackendTypes>::Function; } -impl<'a, 'ctx> TypeMethods for EvmLlvmBuilder<'a, 'ctx> { +impl TypeMethods for EvmLlvmBuilder<'_, '_> { fn type_ptr(&self) -> Self::Type { self.backend.type_ptr() } @@ -591,7 +594,7 @@ impl<'a, 'ctx> TypeMethods for EvmLlvmBuilder<'a, 'ctx> { } } -impl<'a, 'ctx> Builder for EvmLlvmBuilder<'a, 'ctx> { +impl Builder for EvmLlvmBuilder<'_, '_> { fn create_block(&mut self, name: &str) -> Self::BasicBlock { self.cx.append_basic_block(self.function, name) } diff --git a/crates/revmc-llvm/src/orc.rs b/crates/revmc-llvm/src/orc.rs index ac52bb1..2ad104b 100644 --- a/crates/revmc-llvm/src/orc.rs +++ b/crates/revmc-llvm/src/orc.rs @@ -789,7 +789,7 @@ pub struct ExecutionSessionRef<'ee> { _marker: PhantomData<&'ee ()>, } -impl<'ee> ExecutionSessionRef<'ee> { +impl ExecutionSessionRef<'_> { /// Wraps a raw pointer. pub unsafe fn from_inner(es: LLVMOrcExecutionSessionRef) -> Self { Self { es, _marker: PhantomData } diff --git a/crates/revmc/src/bytecode/info.rs b/crates/revmc/src/bytecode/info.rs index 09c9638..fa350f3 100644 --- a/crates/revmc/src/bytecode/info.rs +++ b/crates/revmc/src/bytecode/info.rs @@ -337,10 +337,10 @@ const fn make_map(spec_id: SpecId) -> [OpcodeInfo; 256] { // 0xCD // 0xCE // 0xCF - DATALOAD = 4 | EOF, if PRAGUE_EOF; - DATALOADN = 3 | EOF, if PRAGUE_EOF; - DATASIZE = 2 | EOF, if PRAGUE_EOF; - DATACOPY = 3 | DYNAMIC | EOF, if PRAGUE_EOF; // [2] + DATALOAD = 4 | EOF, if OSAKA; + DATALOADN = 3 | EOF, if OSAKA; + DATASIZE = 2 | EOF, if OSAKA; + DATACOPY = 3 | DYNAMIC | EOF, if OSAKA; // [2] // 0xD4 // 0xD5 // 0xD6 @@ -353,21 +353,21 @@ const fn make_map(spec_id: SpecId) -> [OpcodeInfo; 256] { // 0xDD // 0xDE // 0xDF - RJUMP = 2 | EOF, if PRAGUE_EOF; - RJUMPI = 4 | EOF, if PRAGUE_EOF; - RJUMPV = 4 | EOF, if PRAGUE_EOF; - CALLF = 5 | EOF, if PRAGUE_EOF; - RETF = 3 | EOF, if PRAGUE_EOF; - JUMPF = 5 | EOF, if PRAGUE_EOF; - DUPN = 3 | EOF, if PRAGUE_EOF; - SWAPN = 3 | EOF, if PRAGUE_EOF; - EXCHANGE = 3 | EOF, if PRAGUE_EOF; + RJUMP = 2 | EOF, if OSAKA; + RJUMPI = 4 | EOF, if OSAKA; + RJUMPV = 4 | EOF, if OSAKA; + CALLF = 5 | EOF, if OSAKA; + RETF = 3 | EOF, if OSAKA; + JUMPF = 5 | EOF, if OSAKA; + DUPN = 3 | EOF, if OSAKA; + SWAPN = 3 | EOF, if OSAKA; + EXCHANGE = 3 | EOF, if OSAKA; // 0xE9 // 0xEA // 0xEB - EOFCREATE = DYNAMIC | EOF, if PRAGUE_EOF; // TODO: EOF_CREATE_GAS | DYNAMIC is too big + EOFCREATE = DYNAMIC | EOF, if OSAKA; // TODO: EOF_CREATE_GAS | DYNAMIC is too big // 0xED - RETURNCONTRACT = DYNAMIC | EOF, if PRAGUE_EOF; + RETURNCONTRACT = DYNAMIC | EOF, if OSAKA; // 0xEF CREATE = DYNAMIC; CALL = DYNAMIC; @@ -376,11 +376,11 @@ const fn make_map(spec_id: SpecId) -> [OpcodeInfo; 256] { DELEGATECALL = DYNAMIC, if HOMESTEAD; CREATE2 = DYNAMIC, if PETERSBURG; // 0xF6 - RETURNDATALOAD = 3 | EOF, if PRAGUE_EOF; - EXTCALL = DYNAMIC | EOF, if PRAGUE_EOF; - EXTDELEGATECALL = DYNAMIC | EOF, if PRAGUE_EOF; + RETURNDATALOAD = 3 | EOF, if OSAKA; + EXTCALL = DYNAMIC | EOF, if OSAKA; + EXTDELEGATECALL = DYNAMIC | EOF, if OSAKA; STATICCALL = DYNAMIC, if BYZANTIUM; - EXTSTATICCALL = DYNAMIC | EOF, if PRAGUE_EOF; + EXTSTATICCALL = DYNAMIC | EOF, if OSAKA; // 0xFC REVERT = DYNAMIC, if BYZANTIUM; INVALID = 0; diff --git a/crates/revmc/src/bytecode/opcode.rs b/crates/revmc/src/bytecode/opcode.rs index 36cf813..8e41407 100644 --- a/crates/revmc/src/bytecode/opcode.rs +++ b/crates/revmc/src/bytecode/opcode.rs @@ -193,7 +193,7 @@ pub fn format_bytecode_to( spec_id: SpecId, w: &mut W, ) -> fmt::Result { - if spec_id.is_enabled_in(SpecId::PRAGUE_EOF) && bytecode.starts_with(&EOF_MAGIC_BYTES) { + if spec_id.is_enabled_in(SpecId::OSAKA) && bytecode.starts_with(&EOF_MAGIC_BYTES) { write!(w, "{:#?}", Eof::decode(Bytes::copy_from_slice(bytecode))) } else { write!(w, "{}", OpcodesIter::new(bytecode, spec_id)) diff --git a/crates/revmc/src/compiler/mod.rs b/crates/revmc/src/compiler/mod.rs index 843a958..9f38838 100644 --- a/crates/revmc/src/compiler/mod.rs +++ b/crates/revmc/src/compiler/mod.rs @@ -332,7 +332,7 @@ impl EvmCompiler { match input { EvmCompilerInput::Code(code) => { bytecode = code; - if spec_id.is_enabled_in(SpecId::PRAGUE_EOF) && code.starts_with(&EOF_MAGIC_BYTES) { + if spec_id.is_enabled_in(SpecId::OSAKA) && code.starts_with(&EOF_MAGIC_BYTES) { eof = Some(Cow::Owned(Eof::decode(Bytes::copy_from_slice(code))?)); } else { eof = None; diff --git a/crates/revmc/src/compiler/translate.rs b/crates/revmc/src/compiler/translate.rs index 963d306..fa4c6cc 100644 --- a/crates/revmc/src/compiler/translate.rs +++ b/crates/revmc/src/compiler/translate.rs @@ -483,7 +483,7 @@ impl<'a, B: Backend> FunctionCx<'a, B> { self.bcx.switch_to_block(entry_block); let is_eof = self.bytecode.is_eof(); - let is_eof_enabled = self.bytecode.spec_id.is_enabled_in(SpecId::PRAGUE_EOF); + let is_eof_enabled = self.bytecode.spec_id.is_enabled_in(SpecId::OSAKA); if is_eof { ensure!(is_eof_enabled, "EOF bytecode in non-EOF spec"); } @@ -1752,7 +1752,7 @@ impl<'a, B: Backend> FunctionCx<'a, B> { } /// IR builtins. -impl<'a, B: Backend> FunctionCx<'a, B> { +impl FunctionCx<'_, B> { fn call_byte(&mut self, index: B::Value, value: B::Value) -> B::Value { self.call_ir_binop_builtin("byte", index, value, Self::build_byte) } diff --git a/crates/revmc/src/tests/mod.rs b/crates/revmc/src/tests/mod.rs index c4c4caa..e254630 100644 --- a/crates/revmc/src/tests/mod.rs +++ b/crates/revmc/src/tests/mod.rs @@ -133,7 +133,7 @@ tests! { }), eof_in_legacy(@raw { bytecode: &[op::PUSH0, op::PUSH0, op::SWAPN, 0], - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::EOFOpcodeDisabledInLegacy, expected_stack: &[U256::ZERO, U256::ZERO], expected_gas: 2 + 2, @@ -158,7 +158,7 @@ tests! { }), dupn(@raw { bytecode: &eof(&[op::PUSH1, 1, op::DUPN, 0, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[1_U256, 1_U256], expected_gas: 3 + 3, }), @@ -179,13 +179,13 @@ tests! { }), swapn(@raw { bytecode: &eof(&[op::PUSH1, 1, op::PUSH1, 2, op::SWAPN, 0, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[2_U256, 1_U256], expected_gas: 3 + 3 + 3, }), exchange(@raw { bytecode: &eof(&[op::PUSH1, 1, op::PUSH1, 2, op::PUSH1, 3, op::EXCHANGE, 0, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[2_U256, 1_U256, 3_U256], expected_gas: 3 + 3 + 3 + 3, }), @@ -279,56 +279,56 @@ tests! { rjump1(@raw { bytecode: &eof(&[op::RJUMP, 0x00, 0x00, op::PUSH1, 69, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[69_U256], expected_gas: 2 + 3, }), rjumpi1(@raw { bytecode: &eof(&[op::PUSH0, op::RJUMPI, 0x00, 0x03, op::PUSH1, 69, op::STOP, op::PUSH1, 42, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[69_U256], expected_gas: 2 + 4 + 3, }), rjumpi2(@raw { bytecode: &eof(&[op::PUSH1, 1, op::RJUMPI, 0x00, 0x03, op::PUSH1, 69, op::STOP, op::PUSH1, 42, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[42_U256], expected_gas: 3 + 4 + 3, }), rjumpv1(@raw { bytecode: &rjumpv_code::<0>(), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[20_U256], expected_gas: 10, }), rjumpv2(@raw { bytecode: &rjumpv_code::<1>(), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[30_U256], expected_gas: 10, }), rjumpv3(@raw { bytecode: &rjumpv_code::<2>(), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[40_U256], expected_gas: 10, }), rjumpv4(@raw { bytecode: &rjumpv_code::<3>(), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[10_U256], expected_gas: 10, }), rjumpv5(@raw { bytecode: &rjumpv_code::<69>(), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[10_U256], expected_gas: 10, }), rjumpv_overflow(@raw { // RJUMPV 0x0200030000fff6 bytecode: &eof(&hex!("6000e20200030000fff65b5b0061201560015500")), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_gas: 113, }), } @@ -340,7 +340,7 @@ tests! { &[op::CALLF, 0x00, 0x02, op::PUSH1, 2, op::RETF], &[ op::PUSH1, 3, op::RETF], ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[3_U256, 2_U256, 1_U256], expected_gas: GAS_WHAT_INTERPRETER_SAYS, }), @@ -350,7 +350,7 @@ tests! { &[op::JUMPF, 0x00, 0x02, op::PUSH1, 2, op::RETF], &[ op::PUSH1, 3, op::RETF], ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[3_U256, 1_U256], expected_gas: GAS_WHAT_INTERPRETER_SAYS, }), @@ -359,7 +359,7 @@ tests! { &[op::PUSH1, 1, op::JUMPF, 0x00, 0x01], &[op::PUSH1, 2, op::STOP], ]).raw, - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[1_U256, 2_U256], expected_gas: GAS_WHAT_INTERPRETER_SAYS, }), @@ -623,13 +623,13 @@ tests! { returndata { returndataload1(@raw { bytecode: &eof(&[op::PUSH0, op::RETURNDATALOAD, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[U256::from_be_slice(&DEF_RD[..32])], expected_gas: 2 + 3, }), returndataload2(@raw { bytecode: &eof(&[op::PUSH1, 63, op::RETURNDATALOAD, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[0xbb00000000000000000000000000000000000000000000000000000000000000_U256], expected_gas: 3 + 3, }), @@ -648,38 +648,38 @@ tests! { data { dataload1(@raw { bytecode: &eof(&[op::PUSH0, op::DATALOAD, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[U256::from_be_slice(&DEF_DATA[..32])], expected_gas: 2 + 4, }), dataload2(@raw { bytecode: &eof(&[op::PUSH1, 63, op::DATALOAD, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[0xcc00000000000000000000000000000000000000000000000000000000000000_U256], expected_gas: 3 + 4, }), dataloadn1(@raw { bytecode: &eof(&[op::DATALOADN, 0x00, 0x00, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[U256::from_be_slice(&DEF_DATA[..32])], expected_gas: 3, }), // NOTE: out-of-bounds `DATALOADN` is not allowed. // dataloadn2(@raw { // bytecode: &eof(&[op::DATALOADN, 0x00, 63, op::STOP]), - // spec_id: SpecId::PRAGUE_EOF, + // spec_id: SpecId::OSAKA, // expected_stack: &[0xcc00000000000000000000000000000000000000000000000000000000000000_U256], // expected_gas: 3, // }), datasize(@raw { bytecode: &eof(&[op::DATASIZE, op::DATASIZE, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_stack: &[U256::from(DEF_DATA.len()), U256::from(DEF_DATA.len())], expected_gas: 4, }), datacopy(@raw { bytecode: &eof(&[op::PUSH1, 32, op::PUSH0, op::PUSH0, op::DATACOPY, op::STOP]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_memory: &DEF_DATA[..32], expected_gas: 3 + 2 + 2 + (gas::verylowcopy_cost(32).unwrap() + gas::memory_gas(1)), }), @@ -1003,7 +1003,7 @@ tests! { op::EOFCREATE, 0x00, op::STOP, ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::CallOrCreate, expected_memory: &0x69_U256.to_be_bytes::<32>(), expected_gas: GAS_WHAT_INTERPRETER_SAYS, @@ -1022,7 +1022,7 @@ tests! { }), returncontract(@raw { bytecode: &eof(&[op::PUSH1, 32, op::PUSH0, op::RETURNCONTRACT, 0x00]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::ReturnContract, expected_gas: GAS_WHAT_INTERPRETER_SAYS, expected_memory: &[0; 32], @@ -1151,7 +1151,7 @@ tests! { op::EXTCALL, op::STOP, ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::CallOrCreate, expected_memory: MEMORY_WHAT_INTERPRETER_SAYS, expected_gas: GAS_WHAT_INTERPRETER_SAYS, @@ -1165,7 +1165,7 @@ tests! { op::EXTDELEGATECALL, op::STOP, ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::CallOrCreate, expected_memory: MEMORY_WHAT_INTERPRETER_SAYS, expected_gas: GAS_WHAT_INTERPRETER_SAYS, @@ -1194,7 +1194,7 @@ tests! { op::EXTSTATICCALL, op::STOP, ]), - spec_id: SpecId::PRAGUE_EOF, + spec_id: SpecId::OSAKA, expected_return: InstructionResult::CallOrCreate, expected_memory: MEMORY_WHAT_INTERPRETER_SAYS, expected_gas: GAS_WHAT_INTERPRETER_SAYS, diff --git a/crates/revmc/src/tests/resume.rs b/crates/revmc/src/tests/resume.rs index feac8a6..40da622 100644 --- a/crates/revmc/src/tests/resume.rs +++ b/crates/revmc/src/tests/resume.rs @@ -4,12 +4,12 @@ use revm_interpreter::{opcode as op, InstructionResult}; use revm_primitives::{SpecId, U256}; matrix_tests!(legacy = |compiler| run(compiler, TEST, DEF_SPEC)); -matrix_tests!(eof_one_section = |compiler| run(compiler, &eof(TEST), SpecId::PRAGUE_EOF)); +matrix_tests!(eof_one_section = |compiler| run(compiler, &eof(TEST), SpecId::OSAKA)); matrix_tests!( eof_two_sections = |compiler| run( compiler, &eof_sections_unchecked(&[&[op::JUMPF, 0x00, 0x01], TEST]).raw, - SpecId::PRAGUE_EOF + SpecId::OSAKA ) ); diff --git a/crates/revmc/src/tests/runner.rs b/crates/revmc/src/tests/runner.rs index 3dd3e9e..3b5e82e 100644 --- a/crates/revmc/src/tests/runner.rs +++ b/crates/revmc/src/tests/runner.rs @@ -27,9 +27,9 @@ impl<'a> arbitrary::Arbitrary<'a> for TestCase<'a> { fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { let is_eof_enabled = u.arbitrary::()?; let spec_id_range = if is_eof_enabled { - SpecId::PRAGUE_EOF as u8..=SpecId::PRAGUE_EOF as u8 + SpecId::OSAKA as u8..=SpecId::OSAKA as u8 } else { - 0..=(SpecId::PRAGUE_EOF as u8 - 1) + 0..=(SpecId::OSAKA as u8 - 1) }; let spec_id = SpecId::try_from_u8(u.int_in_range(spec_id_range)?).unwrap_or(DEF_SPEC); @@ -389,7 +389,7 @@ fn run_compiled_test_case(test_case: &TestCase<'_>, f: EvmCompilerFn) { assert_ecx, } = *test_case; - let is_eof_enabled = spec_id.is_enabled_in(SpecId::PRAGUE_EOF); + let is_eof_enabled = spec_id.is_enabled_in(SpecId::OSAKA); if !is_eof_enabled && bytecode.starts_with(&primitives::EOF_MAGIC_BYTES) { panic!("EOF is not enabled in the current spec, forgot to set `spec_id`?");