diff --git a/Cargo.lock b/Cargo.lock index ce25db1..e3ced06 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,11 +56,11 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.4" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9cc9d81ace3da457883b0bdf76776e55f1b84219a9e9d55c27ad308548d3f" +checksum = "a379c0d821498c996ceb9e7519fc2dab8286c35a203c1fb95f80ecd66e07cf2f" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "num_enum", "serde", "strum", @@ -68,12 +68,12 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bcb57295c4b632b6b3941a089ee82d00ff31ff9eb3eac801bf605ffddc81041" +checksum = "6a0dd3ed764953a6b20458b2b7abbfdc93d20d14b38babe1a70fe631a443a9f1" dependencies = [ "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", "alloy-trie", @@ -87,18 +87,19 @@ dependencies = [ "rand 0.8.5", "secp256k1", "serde", + "serde_json", "thiserror 2.0.12", ] [[package]] name = "alloy-consensus-any" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab669be40024565acb719daf1b2a050e6dc065fc0bec6050d97a81cdb860bd7" +checksum = "9556182afa73cddffa91e64a5aa9508d5e8c912b3a15f26998d2388a824d2c7b" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", "serde", @@ -110,7 +111,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "crc", "serde", @@ -123,7 +124,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "serde", ] @@ -134,7 +135,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "k256", "serde", @@ -143,14 +144,14 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f853de9ca1819f54de80de5d03bfc1bb7c9fafcf092b480a654447141bc354d" +checksum = "305fa99b538ca7006b0c03cfed24ec6d82beda67aac857ef4714be24231d15e6" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", "auto_impl", @@ -158,20 +159,22 @@ dependencies = [ "derive_more 2.0.1", "either", "serde", - "sha2 0.10.8", + "serde_with 3.14.1", + "sha2 0.10.9", + "thiserror 2.0.12", ] [[package]] name = "alloy-evm" -version = "0.10.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "394b09cf3a32773eedf11828987f9c72dfa74545040be0422e3f5f09a2a3fab9" +checksum = "a2b2845e4c4844e53dd08bf24d3af7b163ca7d1e3c68eb587e38c4e976659089" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-hardforks", - "alloy-primitives 1.2.1", - "alloy-sol-types 1.2.1", + "alloy-primitives 1.3.1", + "alloy-sol-types 1.3.1", "auto_impl", "derive_more 2.0.1", "op-alloy-consensus", @@ -180,43 +183,57 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "alloy-genesis" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a272533715aefc900f89d51db00c96e6fd4f517ea081a12fea482a352c8c815c" +dependencies = [ + "alloy-eips", + "alloy-primitives 1.3.1", + "alloy-serde", + "alloy-trie", + "serde", +] + [[package]] name = "alloy-hardforks" -version = "0.2.7" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977d2492ce210e34baf7b36afaacea272c96fbe6774c47e23f97d14033c0e94f" +checksum = "889eb3949b58368a09d4f16931c660275ef5fb08e5fbd4a96573b19c7085c41f" dependencies = [ "alloy-chains", "alloy-eip2124", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "auto_impl", "dyn-clone", + "serde", ] [[package]] name = "alloy-network-primitives" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eef189583f4c53d231dd1297b28a675ff842b551fb34715f562868a1937431a" +checksum = "223612259a080160ce839a4e5df0125ca403a1d5e7206cc911cea54af5d769aa" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-serde", "serde", ] [[package]] name = "alloy-op-evm" -version = "0.10.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f32538cc243ec5d4603da9845cc2f5254c6a3a78e82475beb1a2a1de6c0d36c" +checksum = "57d69ffa57dbcabea651fbe2fd721e0deb8dc6f1a334d5853817cc7addd006fb" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-op-hardforks", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "auto_impl", "op-alloy-consensus", "op-revm", @@ -225,12 +242,15 @@ dependencies = [ [[package]] name = "alloy-op-hardforks" -version = "0.2.7" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08b147547aff595aa3d4c2fc2c8146263e18d3372909def423619ed631ecbcfa" +checksum = "599c1d7dfbccb66603cb93fde00980d12848d32fe5e814f50562104a92df6487" dependencies = [ + "alloy-chains", "alloy-hardforks", + "alloy-primitives 1.3.1", "auto_impl", + "serde", ] [[package]] @@ -251,9 +271,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6177ed26655d4e84e00b65cb494d4e0b8830e7cae7ef5d63087d445a2600fb55" +checksum = "bc9485c56de23438127a731a6b4c87803d49faf1a7068dcd1d8768aca3a9edb9" dependencies = [ "alloy-rlp", "bytes", @@ -268,7 +288,6 @@ dependencies = [ "rand 0.9.1", "ruint", "serde", - "sha3", "tiny-keccak", ] @@ -296,13 +315,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5b09d86d0c015cb8400c5d1d0483425670bef4fc1260336aea9ef6d4b9540c" +checksum = "1d9d173854879bcf26c7d71c1c3911972a3314df526f4349ffe488e676af577d" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", "derive_more 2.0.1", @@ -313,18 +332,18 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1826285e4ffc2372a8c061d5cc145858e67a0be3309b768c5b77ddb6b9e6cbc7" +checksum = "6d7d47bca1a2a1541e4404aa38b7e262bb4dffd9ac23b4f178729a4ddc5a5caa" dependencies = [ "alloy-consensus", "alloy-consensus-any", "alloy-eips", "alloy-network-primitives", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", - "alloy-sol-types 1.2.1", + "alloy-sol-types 1.3.1", "itertools 0.14.0", "serde", "serde_json", @@ -333,11 +352,11 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906ce0190afeded19cb2e963cb8507c975a7862216b9e74f39bf91ddee6ae74b" +checksum = "6a8468f1a7f9ee3bae73c24eead0239abea720dbf7779384b9c7e20d51bfb6b0" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "serde", "serde_json", ] @@ -358,12 +377,12 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a14f21d053aea4c6630687c2f4ad614bed4c81e14737a9b904798b24f30ea849" +checksum = "d20d867dcf42019d4779519a1ceb55eba8d7f3d0e4f0a89bcba82b8f9eb01e48" dependencies = [ - "alloy-sol-macro-expander 1.2.1", - "alloy-sol-macro-input 1.2.1", + "alloy-sol-macro-expander 1.3.1", + "alloy-sol-macro-input 1.3.1", "proc-macro-error2", "proc-macro2", "quote", @@ -390,11 +409,11 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d99282e7c9ef14eb62727981a985a01869e586d1dec729d3bb33679094c100" +checksum = "b74e91b0b553c115d14bd0ed41898309356dc85d0e3d4b9014c4e7715e48c8ad" dependencies = [ - "alloy-sol-macro-input 1.2.1", + "alloy-sol-macro-input 1.3.1", "const-hex", "heck", "indexmap", @@ -402,7 +421,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.104", - "syn-solidity 1.2.1", + "syn-solidity 1.3.1", "tiny-keccak", ] @@ -424,9 +443,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda029f955b78e493360ee1d7bd11e1ab9f2a220a5715449babc79d6d0a01105" +checksum = "84194d31220803f5f62d0a00f583fd3a062b36382e2bea446f1af96727754565" dependencies = [ "const-hex", "dunce", @@ -435,7 +454,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.104", - "syn-solidity 1.2.1", + "syn-solidity 1.3.1", ] [[package]] @@ -451,21 +470,21 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58377025a47d8b8426b3e4846a251f2c1991033b27f517aade368146f6ab1dfe" +checksum = "f5383d34ea00079e6dd89c652bcbdb764db160cef84e6250926961a0b2295d04" dependencies = [ - "alloy-primitives 1.2.1", - "alloy-sol-macro 1.2.1", + "alloy-primitives 1.3.1", + "alloy-sol-macro 1.3.1", ] [[package]] name = "alloy-trie" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "arrayvec", "derive_more 2.0.1", @@ -477,12 +496,12 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.0.12" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75ef8609ea2b31c799b0a56c724dca4c73105c5ccc205d9dfeb1d038df6a1da" +checksum = "7bf39928a5e70c9755d6811a2928131b53ba785ad37c8bf85c90175b5d43b818" dependencies = [ - "alloy-primitives 1.2.1", - "darling", + "alloy-primitives 1.3.1", + "darling 0.21.3", "proc-macro2", "quote", "syn 2.0.104", @@ -495,9 +514,9 @@ source = "git+https://github.com/datachainlab/milagro_bls?rev=bc2b5b5e8d48b7e2e1 [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "ark-bls12-381" @@ -652,9 +671,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", @@ -743,9 +762,12 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29" +dependencies = [ + "serde", +] [[package]] name = "bitvec" @@ -755,6 +777,7 @@ checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ "funty", "radium", + "serde", "tap", "wyz", ] @@ -849,9 +872,9 @@ dependencies = [ [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "brotli-decompressor", @@ -913,18 +936,18 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.27" +version = "1.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" dependencies = [ "shlex", ] [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "chrono" @@ -948,14 +971,14 @@ dependencies = [ "lcp-types", "prost", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "const-hex" -version = "1.14.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" +checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" dependencies = [ "cfg-if", "cpufeatures", @@ -1031,9 +1054,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto" @@ -1101,8 +1124,18 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.20.11", + "darling_macro 0.20.11", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] @@ -1119,13 +1152,39 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "serde", + "strsim", + "syn 2.0.104", +] + [[package]] name = "darling_macro" version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core", + "darling_core 0.20.11", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core 0.21.3", "quote", "syn 2.0.104", ] @@ -1142,9 +1201,9 @@ dependencies = [ [[package]] name = "derive-where" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" +checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", @@ -1245,9 +1304,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -1371,7 +1430,7 @@ dependencies = [ "milagro_bls", "primitive-types", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "ssz-rs", "ssz-rs-derive", ] @@ -1556,9 +1615,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" @@ -1696,7 +1755,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "subtle-encoding", "tendermint", "tendermint-light-client-verifier", @@ -1735,7 +1794,7 @@ dependencies = [ "hex", "prost", "ripemd", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", ] @@ -1767,9 +1826,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown 0.15.4", @@ -1828,7 +1887,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "serdect", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -1843,13 +1902,13 @@ dependencies = [ [[package]] name = "kona-client" version = "1.0.2" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-op-evm", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-rpc-types-engine", "async-trait", @@ -1881,17 +1940,18 @@ dependencies = [ [[package]] name = "kona-derive" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-rpc-types-engine", "async-trait", "kona-genesis", "kona-hardforks", + "kona-macros", "kona-protocol", "op-alloy-consensus", "op-alloy-rpc-types-engine", @@ -1901,12 +1961,12 @@ dependencies = [ [[package]] name = "kona-driver" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.0" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-evm", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "async-trait", "kona-derive", @@ -1922,15 +1982,15 @@ dependencies = [ [[package]] name = "kona-executor" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.0" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-op-evm", "alloy-op-hardforks", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-trie", "kona-genesis", @@ -1946,17 +2006,18 @@ dependencies = [ [[package]] name = "kona-genesis" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ + "alloy-chains", "alloy-consensus", "alloy-eips", + "alloy-genesis", "alloy-hardforks", "alloy-op-hardforks", - "alloy-primitives 1.2.1", - "alloy-sol-types 1.2.1", + "alloy-primitives 1.3.1", + "alloy-sol-types 1.3.1", "derive_more 2.0.1", - "kona-serde", "op-revm", "serde", "serde_repr", @@ -1965,25 +2026,26 @@ dependencies = [ [[package]] name = "kona-hardforks" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "kona-protocol", "op-alloy-consensus", ] [[package]] name = "kona-interop" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", - "alloy-sol-types 1.2.1", + "alloy-serde", + "alloy-sol-types 1.3.1", "async-trait", "derive_more 2.0.1", "kona-genesis", @@ -1995,12 +2057,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "kona-macros" +version = "0.1.2" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" + [[package]] name = "kona-mpt" -version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.3.0" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-trie", "op-alloy-rpc-types-engine", @@ -2010,9 +2077,9 @@ dependencies = [ [[package]] name = "kona-preimage" version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "async-trait", "thiserror 2.0.12", "tracing", @@ -2021,13 +2088,13 @@ dependencies = [ [[package]] name = "kona-proof" version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-op-evm", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-trie", "ark-bls12-381", @@ -2056,13 +2123,13 @@ dependencies = [ [[package]] name = "kona-proof-interop" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-op-evm", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-rpc-types-engine", "async-trait", @@ -2087,13 +2154,14 @@ dependencies = [ [[package]] name = "kona-protocol" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloc-no-stdlib", "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-hardforks", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-rpc-types-engine", "alloy-rpc-types-eth", @@ -2106,7 +2174,6 @@ dependencies = [ "op-alloy-consensus", "op-alloy-rpc-types", "op-alloy-rpc-types-engine", - "rand 0.9.1", "serde", "thiserror 2.0.12", "tracing", @@ -2116,12 +2183,15 @@ dependencies = [ [[package]] name = "kona-registry" -version = "0.3.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +version = "0.4.5" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "alloy-chains", + "alloy-eips", + "alloy-genesis", + "alloy-hardforks", "alloy-op-hardforks", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "kona-genesis", "lazy_static", "serde", @@ -2129,20 +2199,10 @@ dependencies = [ "toml 0.8.23", ] -[[package]] -name = "kona-serde" -version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" -dependencies = [ - "alloy-primitives 1.2.1", - "serde", - "serde_json", -] - [[package]] name = "kona-std-fpvm" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "async-trait", "buddy_system_allocator", @@ -2154,7 +2214,7 @@ dependencies = [ [[package]] name = "kona-std-fpvm-proc" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=kona-client%2Fv1.0.2#62a4ff9c0e6ac97b0993aba5b8e181be295b38b4" +source = "git+https://github.com/op-rs/kona?rev=kona-node%2Fv1.1.3#aa7e89596afa96f08eb1b2e14db269fabeb673ea" dependencies = [ "cfg-if", "kona-std-fpvm", @@ -2172,7 +2232,7 @@ dependencies = [ "ff", "hex", "serde_arrays", - "sha2 0.10.8", + "sha2 0.10.9", "sp1_bls12_381", "spin 0.9.8", ] @@ -2208,16 +2268,16 @@ dependencies = [ "prost", "serde", "serde_json", - "serde_with", + "serde_with 2.3.3", "sgx_types", "time", ] [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libm" @@ -2301,9 +2361,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" +checksum = "86ea4e65087ff52f3862caff188d489f1fab49a0cb09e01b2e3f1a617b10aaed" dependencies = [ "hashbrown 0.15.4", ] @@ -2357,12 +2417,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "overload", - "winapi", + "windows-sys", ] [[package]] @@ -2473,18 +2532,19 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro2", "quote", @@ -2493,11 +2553,12 @@ dependencies = [ [[package]] name = "nybbles" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +checksum = "63cb50036b1ad148038105af40aaa70ff24d8a14fbc44ae5c914e1348533d12e" dependencies = [ - "const-hex", + "cfg-if", + "ruint", "serde", "smallvec", ] @@ -2510,13 +2571,13 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "op-alloy-consensus" -version = "0.17.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2423a125ef2daa0d15dacc361805a0b6f76d6acfc6e24a1ff6473582087fe75" +checksum = "3a501241474c3118833d6195312ae7eb7cc90bbb0d5f524cbb0b06619e49ff67" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-serde", "derive_more 2.0.1", @@ -2526,14 +2587,14 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.17.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82a315004b6720fbf756afdcfdc97ea7ddbcdccfec86ea7df7562bb0da29a3f" +checksum = "753d6f6b03beca1ba9cbd344c05fee075a2ce715ee9d61981c10b9c764a824a2" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-network-primitives", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rpc-types-eth", "alloy-serde", "derive_more 2.0.1", @@ -2545,13 +2606,13 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.17.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aea08d8ad3f533df0c5082d3e93428a4c57898b7ade1be928fa03918f22e71" +checksum = "14e50c94013a1d036a529df259151991dbbd6cf8dc215e3b68b784f95eec60e6" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "alloy-rlp", "alloy-rpc-types-engine", "alloy-serde", @@ -2563,13 +2624,13 @@ dependencies = [ [[package]] name = "op-revm" -version = "5.0.1" +version = "10.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e8a3830a2be82166fbe9ead34361149ff4320743ed7ee5502ab779de221361" +checksum = "f9ba4f4693811e73449193c8bd656d3978f265871916882e6a51a487e4f96217" dependencies = [ "auto_impl", - "once_cell", "revm", + "serde", ] [[package]] @@ -2584,7 +2645,7 @@ version = "0.1.1" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "ark-ff", "async-trait", "hashbrown 0.15.4", @@ -2595,12 +2656,13 @@ dependencies = [ "kona-genesis", "kona-preimage", "kona-proof", + "kona-registry", "kzg-rs", "prost", "prost-derive", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 2.0.12", ] @@ -2609,7 +2671,7 @@ name = "optimism-elc" version = "0.1.1" dependencies = [ "alloy-consensus", - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "ethereum-consensus", "ethereum-light-client-verifier", "kona-genesis", @@ -2634,12 +2696,6 @@ dependencies = [ "prost", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "p256" version = "0.13.2" @@ -2649,7 +2705,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "primeorder", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -2844,6 +2900,49 @@ dependencies = [ "trie-db", ] +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project-lite" version = "0.2.16" @@ -2937,9 +3036,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -3083,9 +3182,9 @@ dependencies = [ [[package]] name = "revm" -version = "24.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d277408ff8d6f747665ad9e52150ab4caf8d5eaf0d787614cf84633c8337b4" +checksum = "718d90dce5f07e115d0e66450b1b8aa29694c1cf3f89ebddaddccc2ccbd2f13e" dependencies = [ "revm-bytecode", "revm-context", @@ -3102,21 +3201,23 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "4.1.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942fe4724cf552fd28db6b0a2ca5b79e884d40dd8288a4027ed1e9090e0c6f49" +checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" dependencies = [ "bitvec", - "once_cell", + "phf", "revm-primitives", + "serde", ] [[package]] name = "revm-context" -version = "5.0.1" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" +checksum = "5a20c98e7008591a6f012550c2a00aa36cba8c14cc88eb88dec32eb9102554b4" dependencies = [ + "bitvec", "cfg-if", "derive-where", "revm-bytecode", @@ -3124,13 +3225,14 @@ dependencies = [ "revm-database-interface", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-context-interface" -version = "5.0.0" +version = "10.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" +checksum = "b50d241ed1ce647b94caf174fcd0239b7651318b2c4c06b825b59b973dfb8495" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -3139,38 +3241,44 @@ dependencies = [ "revm-database-interface", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-database" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" +checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" dependencies = [ + "alloy-eips", "revm-bytecode", "revm-database-interface", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-database-interface" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" +checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" dependencies = [ "auto_impl", + "either", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-handler" -version = "5.0.1" +version = "10.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "481e8c3290ff4fa1c066592fdfeb2b172edfd14d12e6cade6f6f5588cad9359a" +checksum = "550331ea85c1d257686e672081576172fe3d5a10526248b663bbf54f1bef226a" dependencies = [ "auto_impl", + "derive-where", "revm-bytecode", "revm-context", "revm-context-interface", @@ -3179,74 +3287,81 @@ dependencies = [ "revm-precompile", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-inspector" -version = "5.0.1" +version = "10.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" +checksum = "7c0a6e9ccc2ae006f5bed8bd80cd6f8d3832cd55c5e861b9402fdd556098512f" dependencies = [ "auto_impl", + "either", "revm-context", "revm-database-interface", "revm-handler", "revm-interpreter", "revm-primitives", "revm-state", + "serde", ] [[package]] name = "revm-interpreter" -version = "20.0.0" +version = "25.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" +checksum = "06575dc51b1d8f5091daa12a435733a90b4a132dca7ccee0666c7db3851bc30c" dependencies = [ "revm-bytecode", "revm-context-interface", "revm-primitives", + "serde", ] [[package]] name = "revm-precompile" -version = "21.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" +checksum = "25b57d4bd9e6b5fe469da5452a8a137bc2d030a3cd47c46908efc615bbc699da" dependencies = [ "ark-bls12-381", "ark-bn254", "ark-ec", "ark-ff", "ark-serialize", + "arrayref", "aurora-engine-modexp", "cfg-if", "k256", - "once_cell", "p256", "revm-primitives", "ripemd", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "revm-primitives" -version = "19.2.0" +version = "20.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1588093530ec4442461163be49c433c07a3235d1ca6f6799fef338dacc50d3" +checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" dependencies = [ - "alloy-primitives 1.2.1", + "alloy-primitives 1.3.1", "num_enum", + "once_cell", + "serde", ] [[package]] name = "revm-state" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" +checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" dependencies = [ "bitflags", "revm-bytecode", "revm-primitives", + "serde", ] [[package]] @@ -3280,9 +3395,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "proptest", @@ -3308,9 +3423,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -3433,10 +3548,11 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd" dependencies = [ + "serde_core", "serde_derive", ] @@ -3467,11 +3583,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.226" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33" dependencies = [ "proc-macro2", "quote", @@ -3480,9 +3605,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -3521,17 +3646,40 @@ dependencies = [ "hex", "serde", "serde_json", - "serde_with_macros", + "serde_with_macros 2.3.3", "time", ] +[[package]] +name = "serde_with" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" +dependencies = [ + "serde", + "serde_derive", + "serde_with_macros 3.14.1", +] + [[package]] name = "serde_with_macros" version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling", + "darling 0.20.11", + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "serde_with_macros" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" +dependencies = [ + "darling 0.21.3", "proc-macro2", "quote", "syn 2.0.104", @@ -3567,9 +3715,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -3617,6 +3765,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "smallvec" version = "1.15.1" @@ -3654,7 +3808,7 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -3749,23 +3903,22 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck", "proc-macro2", "quote", - "rustversion", "syn 2.0.104", ] @@ -3826,9 +3979,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ac494e7266fcdd2ad80bf4375d55d27a117ea5c866c26d0e97fe5b3caeeb75" +checksum = "a0b198d366dbec045acfcd97295eb653a7a2b40e4dc764ef1e79aafcad439d3c" dependencies = [ "paste", "proc-macro2", @@ -3874,7 +4027,7 @@ dependencies = [ "serde_bytes", "serde_json", "serde_repr", - "sha2 0.10.8", + "sha2 0.10.9", "signature 1.6.4", "subtle", "subtle-encoding", @@ -4092,9 +4245,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "nu-ansi-term", "serde", @@ -4220,11 +4373,84 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] name = "winnow" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 1d9ba81..3bae859 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,33 +22,34 @@ ethereum-consensus = { git = "https://github.com/datachainlab/ethereum-light-cli ethereum-light-client-verifier = { git = "https://github.com/datachainlab/ethereum-light-client-rs", rev = "v0.2.0", default-features = false } # Kona -kona-mpt = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-client = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-host = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-proof = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-preimage = {git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-executor = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-driver = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-providers-alloy= { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-genesis = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-protocol = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } -kona-derive = { git="https://github.com/anton-rs/kona", rev= "kona-client/v1.0.2", default-features = false } +kona-mpt = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-client = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-host = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-proof = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-preimage = {git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-executor = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-driver = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-providers-alloy= { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-genesis = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-protocol = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-derive = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } +kona-registry = { git="https://github.com/op-rs/kona", rev= "kona-node/v1.1.3", default-features = false } # Alloy -alloy-consensus = { version = "1.0.9", default-features = false } -alloy-primitives = { version = "1.1.2", default-features = false } -alloy-eips = { version = "1.0.9", default-features = false } -alloy-trie = { version = "0.8.1", default-features = false } +alloy-consensus = { version = "1.0.38", default-features = false } +alloy-primitives = { version = "1.3.1", default-features = false } +alloy-eips = { version = "1.0.38", default-features = false } +alloy-trie = { version = "0.9.1", default-features = false } # OP Alloy -op-alloy-rpc-types-engine = { version = "0.17.2", default-features = false } -op-alloy-consensus= { version = "0.17.2", default-features = false } +op-alloy-rpc-types-engine = { version = "0.20.0", default-features = false } +op-alloy-consensus= { version = "0.20.0", default-features = false } # Ethereum -revm = { version = "24.0.1", default-features = false } -op-revm = { version = "5.0.1", default-features = false } -alloy-evm = { version = "0.10.0", default-features = false, features = ["op"] } -alloy-op-evm = { version = "0.10.0", default-features = false } +revm = { version = "29.0.1", default-features = false } +op-revm = { version = "10.1.0", default-features = false } +alloy-evm = { version = "0.21.0", default-features = false, features = ["op"] } +alloy-op-evm = { version = "0.21.0", default-features = false } # Cryptography sha2 = { version = "0.10.8", default-features = false } diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2c13aec --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +PHONY: sync-lock +sync-lock: + cargo update -p kona-client + cd tools/deps && python sync_lock.py + # Check build + cargo build diff --git a/derivation/Cargo.toml b/derivation/Cargo.toml index dcee3d0..25ff149 100644 --- a/derivation/Cargo.toml +++ b/derivation/Cargo.toml @@ -16,6 +16,7 @@ kona-derive = { workspace = true } kona-proof = { workspace = true } kona-genesis = { workspace = true, features = ["serde"] } kona-client = { workspace = true } +kona-registry = { workspace = true } # Alloy alloy-primitives = { workspace = true } diff --git a/derivation/src/derivation.rs b/derivation/src/derivation.rs index 0767dc7..d856472 100644 --- a/derivation/src/derivation.rs +++ b/derivation/src/derivation.rs @@ -8,12 +8,12 @@ use core::clone::Clone; use core::fmt::Debug; use kona_client::fpvm_evm::FpvmOpEvmFactory; use kona_client::single::fetch_safe_head_hash; -use kona_derive::sources::EthereumDataSource; +use kona_derive::EthereumDataSource; use kona_driver::Driver; use kona_executor::TrieDBProvider; -use kona_genesis::RollupConfig; +use kona_genesis::{L1ChainConfig, RollupConfig}; use kona_preimage::{PreimageKey, PreimageOracleClient}; -use kona_proof::boot::L2_ROLLUP_CONFIG_KEY; +use kona_proof::boot::{L1_CONFIG_KEY, L2_ROLLUP_CONFIG_KEY}; use kona_proof::sync::new_oracle_pipeline_cursor; use kona_proof::{ executor::KonaExecutor, @@ -21,6 +21,7 @@ use kona_proof::{ l2::OracleL2ChainProvider, BootInfo, }; +use kona_registry::L1_CONFIGS; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize)] @@ -64,6 +65,7 @@ impl Derivation { oracle: MemoryOracleClient, ) -> Result<(Header, u64), Error> { verify_config(rollup_config, &oracle).await?; + let l1_config = load_l1_config(rollup_config, &oracle).await?; let boot = &BootInfo { l1_head: self.l1_head_hash, agreed_l2_output_root: self.agreed_l2_output_root, @@ -71,6 +73,7 @@ impl Derivation { claimed_l2_block_number: self.l2_block_number, chain_id, rollup_config: rollup_config.clone(), + l1_config: l1_config.clone(), }; let rollup_config = Arc::new(boot.rollup_config.clone()); let safe_head_hash = fetch_safe_head_hash(&oracle, boot.agreed_l2_output_root).await?; @@ -98,6 +101,7 @@ impl Derivation { EthereumDataSource::new_from_parts(l1_provider.clone(), beacon, &rollup_config); let pipeline = OraclePipeline::new( rollup_config.clone(), + l1_config.into(), cursor.clone(), oracle.clone(), da_provider, @@ -159,6 +163,27 @@ async fn verify_config( Ok(()) } +async fn load_l1_config( + rollup_config: &RollupConfig, + oracle: &MemoryOracleClient, +) -> Result { + let l1_config = if let Some(config) = L1_CONFIGS.get(&rollup_config.l1_chain_id) { + config.clone() + } else { + // for devnet only + let config_key = PreimageKey::new_local(L1_CONFIG_KEY.to()); + let ser_cfg = oracle + .get(config_key) + .await + .map_err(|e| Error::UnexpectedPreimageKey { + source: e, + key: config_key.key_value().to_be_bytes(), + })?; + serde_json::from_slice(&ser_cfg).map_err(Error::SerdeError)? + }; + Ok(l1_config) +} + #[cfg(test)] mod test { use crate::derivation::verify_config; @@ -185,7 +210,7 @@ mod test { fn test_verify_config_invalid_error() { let rollup_config = RollupConfig::default(); let rollup_config2 = RollupConfig { - l2_chain_id: rollup_config.l2_chain_id + 1, + l2_chain_id: (rollup_config.l2_chain_id.id() + 1).into(), ..rollup_config.clone() }; diff --git a/derivation/src/errors.rs b/derivation/src/errors.rs index ebfe0a4..3962702 100644 --- a/derivation/src/errors.rs +++ b/derivation/src/errors.rs @@ -55,7 +55,7 @@ pub enum Error { #[error("DriverError: err={0:?}")] DriverError(#[from] kona_driver::DriverError), #[error("PipelineError: err={0:?}")] - PipelineError(#[from] kona_derive::errors::PipelineErrorKind), + PipelineError(#[from] kona_derive::PipelineErrorKind), #[error("SerdeError: err={0:?}")] SerdeError(#[from] serde_json::Error), #[error("UnexpectedLocalPreimageKey: key={0:?}")] diff --git a/derivation/src/lib.rs b/derivation/src/lib.rs index bb6d352..beb0ec9 100644 --- a/derivation/src/lib.rs +++ b/derivation/src/lib.rs @@ -1,4 +1,5 @@ #![no_std] +#![allow(clippy::result_large_err)] extern crate alloc; pub mod derivation; diff --git a/derivation/src/oracle.rs b/derivation/src/oracle.rs index 01b1c4c..8fad4ac 100644 --- a/derivation/src/oracle.rs +++ b/derivation/src/oracle.rs @@ -13,7 +13,7 @@ use ark_ff::BigInteger; use hashbrown::{HashMap, HashSet}; use kona_preimage::errors::{PreimageOracleError, PreimageOracleResult}; use kona_preimage::{HintWriterClient, PreimageKey, PreimageKeyType, PreimageOracleClient}; -use kona_proof::boot::L2_ROLLUP_CONFIG_KEY; +use kona_proof::boot::{L1_CONFIG_KEY, L2_ROLLUP_CONFIG_KEY}; use kona_proof::l1::ROOTS_OF_UNITY; use kona_proof::FlushableCache; use sha2::{Digest, Sha256}; @@ -46,8 +46,7 @@ impl PreimageOracleClient for MemoryOracleClient { Ok(value.clone()) } else { Err(PreimageOracleError::Other(format!( - "key not found: {:?}", - key + "key not found: {key:?}" ))) } } @@ -58,8 +57,7 @@ impl PreimageOracleClient for MemoryOracleClient { Ok(()) } else { Err(PreimageOracleError::Other(format!( - "key not found: {:?}", - key + "key not found: {key:?}" ))) } } @@ -124,7 +122,8 @@ impl TryFrom> for MemoryOracleClient { } PreimageKeyType::Sha256 => verify_sha256_preimage(&preimage_key, &preimage.data)?, PreimageKeyType::Local => { - if preimage_key.key_value() != L2_ROLLUP_CONFIG_KEY { + let key = preimage_key.key_value(); + if key != L2_ROLLUP_CONFIG_KEY && key != L1_CONFIG_KEY { return Err(Error::UnexpectedLocalPreimageKey(preimage_key)); } } diff --git a/light-client/src/account.rs b/light-client/src/account.rs index bdbbc05..6663207 100644 --- a/light-client/src/account.rs +++ b/light-client/src/account.rs @@ -91,7 +91,7 @@ mod test { "48b7747ba1094684d9197bbaa5dcb134587d23e493fb53a29e400c50e50f5147" )), ); - assert!(res.is_ok(), "{:?}", res); + assert!(res.is_ok(), "{res:?}"); } #[test] @@ -149,7 +149,7 @@ mod test { "568a51c3253bbd2d46e3923b35df0489712df11453fd04dd71341120356952c0" )), ); - assert!(res.is_ok(), "{:?}", res); + assert!(res.is_ok(), "{res:?}"); } #[test] diff --git a/light-client/src/client.rs b/light-client/src/client.rs index 4acfbbf..534ae6f 100644 --- a/light-client/src/client.rs +++ b/light-client/src/client.rs @@ -450,8 +450,8 @@ mod test { } fn get_raw_initial_state() -> (Vec, Vec) { // All the test parameters are created by optimism-ibc-relay-prover#prover_test.go#TestSetupHeadersForUpdate - let raw_cs = hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c900220310fa0632e0097b2267656e65736973223a7b226c31223a7b2268617368223a22307833323036646233326531363237623866323332383536653665653235323266343036346638333439333535666663376637333039363966313232303261613236222c226e756d626572223a31327d2c226c32223a7b2268617368223a22307839313834313637643634393239373632303463336436643361383730323566613834383934326161323663666435323632303034326635306433346366353464222c226e756d626572223a307d2c226c325f74696d65223a313735313433353737342c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063356663353030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307866343831373130613162653561366164393036656439656334643665386465353633326262323764222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307864373736366162663339336132383132343835353335343130326134623865353561396164613035222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3ab3010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118b69393c306226f0a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818"); - let raw_cons_state = hex!("0a20000000000000000000000000000000000000000000000000000000000000000010f2a193c3061a2022c0a7b70704f4b53ad38209d3bd6b65acee53b2a3bb09a41a6f94055d13ccd52080022a30b4d15930c89d177627d58c0beae3d8ba6d8b373a9d3bb83dbd9b2eb174b00b7d2debeaf52c4ebe1ac79c4f87c5ae87e13230b87c99df253587f882502475ba00541d608e5bc82c6a488f70ab56c43dbf25ae60e264b77715ffc664ebc4bfa1ba2fc938b69f93c30640b002"); + let raw_cs = hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c900220310bb0832ef097b2267656e65736973223a7b226c31223a7b2268617368223a22307831336531306134636364396230663539313837313334396661386430646435393031343364343435313736343832633162636438646230663861393737353565222c226e756d626572223a31327d2c226c32223a7b2268617368223a22307837316136383764326236626165386564323762306138656463393061376361336264643238386161646131613266373530626432656533346636373366653965222c226e756d626572223a307d2c226c325f74696d65223a313735393937343430312c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063336339643030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c226d696e42617365466565223a307d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307862313764333635653539646666623466643662353362626136363939666132626438373938393832222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307833633765366135366436313436333831333763366162363830643932336437363639313762363764222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3acb010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118b9a79cc7062286010a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a9011056185720192822302612150a04700000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818"); + let raw_cons_state = hex!("0a20000000000000000000000000000000000000000000000000000000000000000010f7b89cc7061a209baac1b6976506d7952379fb02ecb786861ff54224432ec03400a91f3233002320c0022a3093f70c8180924a77912d8f0e01cf69f1cdfa6dc3cc5c4efeae0de9857eafc1e1aadb1e7c1e12d4d66a8149edfbd5e8473230a446d66bb52098ad825e1a9bdcc1790dd176ecba4f309c4b2bfda22bc5329c4a2a64f6b214d308f88a78349bced532a238b9b69cc70640f002"); (raw_cs.into(), raw_cons_state.into()) } @@ -535,8 +535,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("CannotInitializeFrozenClient"), - "{:?}", - err + "{err:?}" ); } @@ -558,8 +557,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("UnexpectedLatestHeight"), - "{:?}", - err + "{err:?}" ); } @@ -568,18 +566,18 @@ mod test { #[test] fn test_update_client_t_pl() { let (raw_cs, raw_cons_state) = get_raw_initial_state(); - test_update_client(1751437975, raw_cs, raw_cons_state, "t_pl"); + test_update_client(1759976903, raw_cs, raw_cons_state, "t_pl"); } /// trusted_to_deterministic = trusted + deterministic /// deterministic_to_latest = latest #[test] - fn test_update_client_trusted_td_l() { + fn test_update_client_td_l() { // All the test parameters are created by optimism-ibc-relay-prover#prover_test.go#TestSetupHeadersForUpdate test_update_client( - 1755429633, - hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c900220310a92e32e0097b2267656e65736973223a7b226c31223a7b2268617368223a22307830633333396361663032383963323734626263373934393038303030663138623833343066373363663666323331613533633161643839343835663635346536222c226e756d626572223a31307d2c226c32223a7b2268617368223a22307865353237373766326136306432366131613939656261386662323738346638613230376433623338333838383034653538376633653935613034316262386534222c226e756d626572223a307d2c226c325f74696d65223a313735353431353736302c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063356663353030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307834363830396434653736666533613461376437646665386534626338396631343034346234623136222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307863373932303165383438363838353137323961316663643866316161396162353064633036393335222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3ab3010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118948986c506226f0a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818").into(), - hex!("0a20000000000000000000000000000000000000000000000000000000000000000010a2e686c5061a202e42a8dbd395e1276ee2ff71c9e25535bfd4fbccba1d4923aa0e2b178e52436f20800f2a30945545a7968c93c743dad6ec355d5ed620ea15b9e9bbca10c97383e8e422beacf939393b76ee7143413f6c7d2a8e5bb8323095d295402443f24a68f46dcc19488fc26374786247a661ad1f42c0c94b87edb33bd6c96ad9aa25a02cdc2081c5520fda3894e386c50640bd0f").into(), + 1759977428, + hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c900220310ce0732ef097b2267656e65736973223a7b226c31223a7b2268617368223a22307831336531306134636364396230663539313837313334396661386430646435393031343364343435313736343832633162636438646230663861393737353565222c226e756d626572223a31327d2c226c32223a7b2268617368223a22307837316136383764326236626165386564323762306138656463393061376361336264643238386161646131613266373530626432656533346636373366653965222c226e756d626572223a307d2c226c325f74696d65223a313735393937343430312c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063336339643030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c226d696e42617365466565223a307d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307862313764333635653539646666623466643662353362626136363939666132626438373938393832222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307833633765366135366436313436333831333763366162363830643932336437363639313762363764222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3acb010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118b9a79cc7062286010a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a9011056185720192822302612150a04700000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818").into(), + hex!("0a200000000000000000000000000000000000000000000000000000000000000000109db79cc7061a205848c78a27b3e867271e46d1a41cb44087544516fe3c84df36bd4455fd9559c120c0022a3093f70c8180924a77912d8f0e01cf69f1cdfa6dc3cc5c4efeae0de9857eafc1e1aadb1e7c1e12d4d66a8149edfbd5e8473230a446d66bb52098ad825e1a9bdcc1790dd176ecba4f309c4b2bfda22bc5329c4a2a64f6b214d308f88a78349bced532a238b9b69cc70640cc02").into(), "td_l", ); } @@ -587,12 +585,12 @@ mod test { /// trusted_to_deterministic = trusted + deterministic /// deterministic_to_latest = any period + latest #[test] - fn test_update_client_trusted_td_pl() { + fn test_update_client_td_pl() { // All the test parameters are created by optimism-ibc-relay-prover#prover_test.go#TestSetupHeadersForUpdate test_update_client( - 1755488051, - hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c900220310c02f32e0097b2267656e65736973223a7b226c31223a7b2268617368223a22307831373937393865386434343238653064326331336430313632646533653637333432613839363563336261303732323136636631636632323739656566643939222c226e756d626572223a31327d2c226c32223a7b2268617368223a22307864633661396161316636336631343161356265326338353932633232633735386537336462333933373532616637633933393336363136376635653035633564222c226e756d626572223a307d2c226c325f74696d65223a313735353437343733342c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063356663353030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307837316634633364306361363232616665303566616633653633653033353061343362366233353265222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307864636339326462303931393665326138386162623137356238646232376338623063643066383433222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3ab3010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118e6d589c506226f0a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818").into(), - hex!("0a20000000000000000000000000000000000000000000000000000000000000000010aeb58ac5061a2099dfa87560b741cfa2724ed4d00c60850aa438a5244b9f57b8d2755688c982a420c00f2a30b6579d5afbcb5d775a140dde9a03beeaae5a60d702db3fa022f559aba4187b5158007c30d17340489e1c9771eda024c53230890f2fd3af0fabb8f909e502f803db3ed3370a50a7adc1a04f76d292faf5f4a01eafca952e8bb46bcc706801ca2003e038e6b28ac50640f30f").into(), + 1759977494, + hex!("08e4ab8301121430346563383746363433353343344435433835331a201ee222554989dda120e26ecacf756fe1235cd8d726706b57517715dde4f0c9002203109c0732ef097b2267656e65736973223a7b226c31223a7b2268617368223a22307831336531306134636364396230663539313837313334396661386430646435393031343364343435313736343832633162636438646230663861393737353565222c226e756d626572223a31327d2c226c32223a7b2268617368223a22307837316136383764326236626165386564323762306138656463393061376361336264643238386161646131613266373530626432656533346636373366653965222c226e756d626572223a307d2c226c325f74696d65223a313735393937343430312c2273797374656d5f636f6e666967223a7b226261746368657241646472223a22307864336632633561666232643736663535373966333236623063643764613566356134313236633335222c226f76657268656164223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c227363616c6172223a22307830313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303063336339643030303030353538222c226761734c696d6974223a36303030303030302c2265697031353539506172616d73223a22307830303030303030303030303030303030222c226f70657261746f72466565506172616d73223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c226d696e42617365466565223a307d7d2c22626c6f636b5f74696d65223a322c226d61785f73657175656e6365725f6472696674223a3630302c227365715f77696e646f775f73697a65223a333630302c226368616e6e656c5f74696d656f7574223a3330302c226c315f636861696e5f6964223a333135313930382c226c325f636861696e5f6964223a323135313930382c227265676f6c6974685f74696d65223a302c2263616e796f6e5f74696d65223a302c2264656c74615f74696d65223a302c2265636f746f6e655f74696d65223a302c22666a6f72645f74696d65223a302c226772616e6974655f74696d65223a302c22686f6c6f63656e655f74696d65223a302c22697374686d75735f74696d65223a302c2262617463685f696e626f785f61646472657373223a22307830306134666534633661616130373239643736393963333837653766323831646436346166613261222c226465706f7369745f636f6e74726163745f61646472657373223a22307862313764333635653539646666623466643662353362626136363939666132626438373938393832222c226c315f73797374656d5f636f6e6669675f61646472657373223a22307833633765366135366436313436333831333763366162363830643932336437363639313762363764222c2270726f746f636f6c5f76657273696f6e735f61646472657373223a22307830303030303030303030303030303030303030303030303030303030303030303030303030303030222c22636861696e5f6f705f636f6e666967223a7b2265697031353539456c6173746963697479223a362c226569703135353944656e6f6d696e61746f72223a35302c226569703135353944656e6f6d696e61746f7243616e796f6e223a3235307d7d3acb010a20d61ea484febacfae5298d52a2b581f3e305a51f3112a9241b968dccf019f7b11100118b9a79cc7062286010a0410000038120e0a04200000381a0608691036183712140a04300000381a0c08691036183720192812301612140a04400000381a0c08691036183720192812301612140a04500000381a0c08691036183720192822302612150a04600000381a0d08a9011056185720192822302612150a04700000381a0d08a901105618572019282230262806300838084204080210034a040880a305520410c0843d421c0a1400000000000000000000000000000000000000001067200f2818").into(), + hex!("0a20000000000000000000000000000000000000000000000000000000000000000010b9b69cc7061a2061dbf4a2b86333dfc2fd429fc51768cf47a5731bac0a929a3fd0c66894f0421b2080022a3080761ae557329579dd3f08c43bfbdff8e0381c71cf81e1bf0eceb2d96264e3d9cfd30cd6dfc689f932fb8b26d045bede323093f70c8180924a77912d8f0e01cf69f1cdfa6dc3cc5c4efeae0de9857eafc1e1aadb1e7c1e12d4d66a8149edfbd5e84738b9b39cc70640bc02").into(), "td_pl", ); } @@ -611,7 +609,7 @@ mod test { cons_states.insert(cs.latest_height, cons_state); let client_message = - std::fs::read(format!("../testdata/update_client_header_{}.bin", suffix)) + std::fs::read(format!("../testdata/update_client_header_{suffix}.bin")) .expect("file not found"); let client_message = Any::try_from(client_message).unwrap(); @@ -713,8 +711,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("UnexpectedTrustedOutputRoot"), - "{:?}", - err + "{err:?}" ); } @@ -743,8 +740,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("UnexpectedPastL1Header"), - "{:?}", - err + "{err:?}" ); } @@ -773,8 +769,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("UnexpectedMisbehaviourOutput"), - "{:?}", - err + "{err:?}" ); } @@ -802,8 +797,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("UnexpectedMisbehaviourHeight"), - "{:?}", - err + "{err:?}" ); } @@ -851,8 +845,7 @@ mod test { .unwrap_err(); assert!( err.to_string().contains("L1VerifyMisbehaviourError"), - "{:?}", - err + "{err:?}" ); } @@ -897,7 +890,7 @@ mod test { proof_height, proof, ); - assert!(res.is_ok(), "{:?}", res); + assert!(res.is_ok(), "{res:?}"); } #[test] @@ -939,7 +932,7 @@ mod test { proof_height, proof, ); - assert!(res.is_ok(), "{:?}", res); + assert!(res.is_ok(), "{res:?}"); } #[test] @@ -970,7 +963,7 @@ mod test { proof, ) .unwrap_err(); - assert!(err.to_string().contains("ClientFrozen"), "{:?}", err); + assert!(err.to_string().contains("ClientFrozen"), "{err:?}"); } #[test] @@ -1001,11 +994,7 @@ mod test { proof, ) .unwrap_err(); - assert!( - err.to_string().contains("UnexpectedProofHeight"), - "{:?}", - err - ); + assert!(err.to_string().contains("UnexpectedProofHeight"), "{err:?}"); } // returns: (path, proof, value) diff --git a/light-client/src/l1.rs b/light-client/src/l1.rs index f3eb48f..4ec068d 100644 --- a/light-client/src/l1.rs +++ b/light-client/src/l1.rs @@ -847,9 +847,8 @@ pub(crate) mod tests { match err { Error::L1VerifyConsensusUpdateError(e) => { assert!( - format!("{:?}", e).contains("InconsistentSlotOrder"), - "Err {:?}", - e + format!("{e:?}").contains("InconsistentSlotOrder"), + "Err {e:?}" ); } _ => panic!("Unexpected error: {:?}", err), @@ -870,9 +869,8 @@ pub(crate) mod tests { match err { Error::L1VerifyExecutionUpdateError(e) => { assert!( - format!("{:?}", e).contains("InvalidExecutionStateRootMerkleBranch"), - "Err {:?}", - e + format!("{e:?}").contains("InvalidExecutionStateRootMerkleBranch"), + "Err {e:?}" ); } _ => panic!("Unexpected error: {:?}", err), diff --git a/rust-toolchain b/rust-toolchain index 4994bc5..d6867e9 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2025-02-01 +nightly-2025-05-01 diff --git a/testdata/update_client_header_t_pl.bin b/testdata/update_client_header_t_pl.bin index a932010..f10960d 100644 Binary files a/testdata/update_client_header_t_pl.bin and b/testdata/update_client_header_t_pl.bin differ diff --git a/testdata/update_client_header_td_l.bin b/testdata/update_client_header_td_l.bin index a67d9a0..110de43 100644 Binary files a/testdata/update_client_header_td_l.bin and b/testdata/update_client_header_td_l.bin differ diff --git a/testdata/update_client_header_td_pl.bin b/testdata/update_client_header_td_pl.bin index 3c3114d..fd3f074 100644 Binary files a/testdata/update_client_header_td_pl.bin and b/testdata/update_client_header_td_pl.bin differ diff --git a/tools/deps/sync_lock.py b/tools/deps/sync_lock.py new file mode 100644 index 0000000..8b3dbbe --- /dev/null +++ b/tools/deps/sync_lock.py @@ -0,0 +1,81 @@ +import tomllib +import tomli_w +from collections import defaultdict +import shutil + + +def load_lock(path): + with open(path, "rb") as f: + return tomllib.load(f) + + +def overwrite_lock(lock_a_path: str, lock_b_path: str, ignore: set, replace: dict): + lock_a = load_lock(lock_a_path) + lock_b = load_lock(lock_b_path) + + a_map = {pkg["name"]: pkg for pkg in lock_a["package"]} + + # Group packages in B by name to detect multiple versions + b_name_map = defaultdict(list) + for pkg in lock_b["package"]: + b_name_map[pkg["name"]].append(pkg) + + # overwrite packages in B with those in A + for name, pkgs in b_name_map.items(): + if name in ignore: + print(f"{name} is in ignore list, skipping...") + continue + + if len(pkgs) > 1: + print(f"{name} has multiple versions in B, skipping...") + continue + + # overwrite attributes + b_pkg = pkgs[0] + if name in a_map: + a_pkg = a_map[name] + + if b_pkg.get("version") == a_pkg.get("version"): + continue + + print(f"Crate overwritten: {name}, version : {b_pkg.get('version')} -> {a_pkg.get('version')}") + + for key in ["version", "source", "checksum"]: + if key in a_pkg: + b_pkg[key] = a_pkg[key] + + if "dependencies" in a_pkg: + b_pkg["dependencies"] = a_pkg["dependencies"] + else: + b_pkg.pop("dependencies", None) + + # Write to temporary file first + tmp_path = lock_b_path + ".tmp" + with open(tmp_path, "w", encoding="utf-8") as f: + f.write(tomli_w.dumps(lock_b)) + + # Replace indent to avoid finding diff in Cargo.lock + with open(tmp_path, "r+", encoding="utf-8") as f: + content = f.read() + # formatting + content = content.replace(" ", " ") + for old, new in replace.items(): + content = content.replace(old, new) + f.seek(0) + f.write(content) + f.truncate() + + shutil.move(tmp_path, lock_b_path) + print(f"Patched Cargo.lock written and moved to {lock_b_path}") + + +if __name__ == "__main__": + # Paths are relative to this script + lock_kona = "../../../../op-rs/kona/Cargo.lock" + lock_self = "../../Cargo.lock" + + ignore = [ + # We must use patched time version + "time", + ] + overwrite_lock(lock_kona, lock_self, set(ignore), {})