diff --git a/Cargo.lock b/Cargo.lock index 57770404..5b5855a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,9 +72,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4a4aaae80afd4be443a6aecd92a6b255dcdd000f97996928efb33d8a71e100" +checksum = "0093d23bf026b580c1f66ed3a053d8209c104a446c5264d3ad99587f6edef24e" dependencies = [ "alloy-consensus", "alloy-contract", @@ -97,40 +97,65 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.63" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "996564c1782285d4e0299c29b318bc74f24b1d7f456cef3e040810b061ee3256" +checksum = "19a9cc9d81ace3da457883b0bdf76776e55f1b84219a9e9d55c27ad308548d3f" dependencies = [ - "alloy-primitives 0.8.22", + "alloy-primitives", "num_enum", "strum", ] [[package]] name = "alloy-consensus" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c309895995eaa4bfcc345f5515a39c7df9447798645cc8bf462b6c5bf1dc96" +checksum = "ad451f9a70c341d951bca4e811d74dbe1e193897acd17e9dbac1353698cc430b" dependencies = [ "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", + "alloy-trie", + "auto_impl", "c-kzg", + "derive_more 2.0.1", + "either", + "k256", + "once_cell", + "rand 0.8.5", + "secp256k1 0.30.0", + "serde", + "serde_with", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-consensus-any" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142daffb15d5be1a2b20d2cd540edbcef03037b55d4ff69dc06beb4d06286dba" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", "serde", ] [[package]] name = "alloy-contract" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4e0ef72b0876ae3068b2ed7dfae9ae1779ce13cfaec2ee1f08f5bd0348dc57" +checksum = "ebf25443920ecb9728cb087fe4dc04a0b290bd6ac85638c58fe94aba70f1a44e" dependencies = [ + "alloy-consensus", "alloy-dyn-abi", "alloy-json-abi", "alloy-network", "alloy-network-primitives", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-provider", "alloy-pubsub", "alloy-rpc-types-eth", @@ -138,73 +163,115 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "alloy-core" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529fc6310dc1126c8de51c376cbc59c79c7f662bd742be7dc67055d5421a81b4" +checksum = "5968f48d7a62587cd874bd84034831da4f7f577ce5de984828e376766efc0f32" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-primitives 0.7.7", + "alloy-primitives", + "alloy-rlp", "alloy-sol-types", ] [[package]] name = "alloy-dyn-abi" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" +checksum = "f9135eb501feccf7f4cb8a183afd406a65483fdad7bbd7332d0470e5d725c92f" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-sol-type-parser", "alloy-sol-types", - "const-hex", "itoa", "serde", "serde_json", - "winnow 0.6.26", + "winnow", ] [[package]] -name = "alloy-eips" +name = "alloy-eip2124" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9431c99a3b3fe606ede4b3d4043bdfbcb780c45b8d8d226c3804e2b75cfbe68" +checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "k256", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eips" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3056872f6da48046913e76edb5ddced272861f6032f09461aea1a2497be5ae5d" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", "alloy-rlp", "alloy-serde", + "auto_impl", "c-kzg", - "derive_more 0.99.19", - "k256", - "once_cell", + "derive_more 2.0.1", + "either", "serde", "sha2", ] [[package]] name = "alloy-genesis" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79614dfe86144328da11098edcc7bc1a3f25ad8d3134a9eb9e857e06f0d9840d" +checksum = "c98fb40f07997529235cc474de814cd7bd9de561e101716289095696c0e4639d" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-eips", + "alloy-primitives", "alloy-serde", + "alloy-trie", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" +checksum = "8b26fdd571915bafe857fccba4ee1a4f352965800e46a53e4a5f50187b7776fa" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-sol-type-parser", "serde", "serde_json", @@ -212,93 +279,89 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e2865c4c3bb4cdad3f0d9ec1ab5c0c657ba69a375651bd35e32fb6c180ccc2" +checksum = "dc08b31ebf9273839bd9a01f9333cbb7a3abb4e820c312ade349dd18bdc79581" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-sol-types", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", "tracing", ] [[package]] name = "alloy-network" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e701fc87ef9a3139154b0b4ccb935b565d27ffd9de020fe541bf2dec5ae4ede" +checksum = "ed117b08f0cc190312bf0c38c34cf4f0dabfb4ea8f330071c587cd7160a88cb2" dependencies = [ "alloy-consensus", + "alloy-consensus-any", "alloy-eips", "alloy-json-rpc", "alloy-network-primitives", - "alloy-primitives 0.7.7", + "alloy-primitives", + "alloy-rpc-types-any", "alloy-rpc-types-eth", "alloy-serde", "alloy-signer", "alloy-sol-types", "async-trait", "auto_impl", + "derive_more 2.0.1", "futures-utils-wasm", - "thiserror 1.0.69", + "serde", + "serde_json", + "thiserror 2.0.12", ] [[package]] name = "alloy-network-primitives" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9d5a0f9170b10988b6774498a022845e13eda94318440d17709d50687f67f9" +checksum = "c7162ff7be8649c0c391f4e248d1273e85c62076703a1f3ec7daf76b283d886d" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", "alloy-serde", "serde", ] [[package]] name = "alloy-primitives" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +checksum = "a326d47106039f38b811057215a92139f46eef7983a4b77b10930a0ea5685b1e" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 0.99.19", - "hex-literal", + "derive_more 2.0.1", + "foldhash", + "hashbrown 0.15.2", + "indexmap 2.7.1", "itoa", "k256", "keccak-asm", + "paste", "proptest", - "rand", + "rand 0.9.1", "ruint", + "rustc-hash", "serde", - "tiny-keccak", -] - -[[package]] -name = "alloy-primitives" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c66bb6715b7499ea755bde4c96223ae8eb74e05c014ab38b9db602879ffb825" -dependencies = [ - "bytes", - "cfg-if", - "const-hex", - "derive_more 2.0.1", - "itoa", - "paste", - "ruint", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-provider" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9c0ab10b93de601a6396fc7ff2ea10d3b28c46f079338fa562107ebf9857c8" +checksum = "d84eba1fd8b6fe8b02f2acd5dd7033d0f179e304bd722d11e817db570d1fa6c4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -306,10 +369,16 @@ dependencies = [ "alloy-json-rpc", "alloy-network", "alloy-network-primitives", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-pubsub", "alloy-rpc-client", + "alloy-rpc-types-anvil", + "alloy-rpc-types-debug", "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-signer", + "alloy-sol-types", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", @@ -318,35 +387,41 @@ dependencies = [ "async-trait", "auto_impl", "dashmap", + "either", "futures", "futures-utils-wasm", - "lru 0.12.5", + "lru 0.13.0", + "parking_lot", "pin-project", "reqwest 0.12.12", "serde", "serde_json", + "thiserror 2.0.12", "tokio", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-pubsub" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5da2c55cbaf229bad3c5f8b00b5ab66c74ef093e5f3a753d874cfecf7d2281" +checksum = "8550f7306e0230fc835eb2ff4af0a96362db4b6fc3f25767d161e0ad0ac765bf" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-transport", "bimap", "futures", + "parking_lot", "serde", "serde_json", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tracing", + "wasmtimer", ] [[package]] @@ -373,17 +448,18 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b38e3ffdb285df5d9f60cb988d336d9b8e3505acb78750c3bc60336a7af41d3" +checksum = "518a699422a3eab800f3dac2130d8f2edba8e4fff267b27a9c7dc6a2b0d313ee" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-pubsub", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", "alloy-transport-ws", + "async-stream", "futures", "pin-project", "reqwest 0.12.12", @@ -391,110 +467,176 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tracing", + "tracing-futures", "url", + "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c31a3750b8f5a350d17354e46a52b0f2f19ec5f2006d816935af599dedc521" +checksum = "c000cab4ec26a4b3e29d144e999e1c539c2fa0abed871bf90311eb3466187ca8" dependencies = [ + "alloy-primitives", + "alloy-rpc-types-anvil", "alloy-rpc-types-engine", "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-anvil" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8abecc34549a208b5f91bc7f02df3205c36e2aa6586f1d9375c3382da1066b3b" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "508b2fbe66d952089aa694e53802327798806498cd29ff88c75135770ecaabfc" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-debug" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c832f2e851801093928dbb4b7bd83cd22270faf76b2e080646b806a285c8757" +dependencies = [ + "alloy-primitives", "serde", ] [[package]] name = "alloy-rpc-types-engine" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff63f51b2fb2f547df5218527fd0653afb1947bf7fead5b3ce58c75d170b30f7" +checksum = "cab52691970553d84879d777419fa7b6a2e92e9fe8641f9324cc071008c2f656" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", "alloy-serde", - "jsonwebtoken", - "rand", + "derive_more 2.0.1", + "rand 0.8.5", "serde", - "thiserror 1.0.69", + "strum", ] [[package]] name = "alloy-rpc-types-eth" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81e18424d962d7700a882fe423714bd5b9dde74c7a7589d4255ea64068773aef" +checksum = "fcaf7dff0fdd756a714d58014f4f8354a1706ebf9fa2cf73431e0aeec3c9431e" dependencies = [ "alloy-consensus", + "alloy-consensus-any", "alloy-eips", "alloy-network-primitives", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e3507a04e868dd83219ad3cd6a8c58aefccb64d33f426b3934423a206343e84" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-rpc-types-txpool" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eec36272621c3ac82b47dd77f0508346687730b1c2e3e10d3715705c217c0a05" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", ] [[package]] name = "alloy-serde" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33feda6a53e6079895aed1d08dcb98a1377b000d80d16370fbbdb8155d547ef" +checksum = "730e8f2edf2fc224cabd1c25d090e1655fa6137b2e409f92e5eec735903f1507" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "serde", "serde_json", ] [[package]] name = "alloy-signer" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740a25b92e849ed7b0fa013951fe2f64be9af1ad5abe805037b44fb7770c5c47" +checksum = "6b0d2428445ec13edc711909e023d7779618504c4800be055a5b940025dbafe3" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "async-trait", "auto_impl", + "either", "elliptic-curve 0.13.8", "k256", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "alloy-signer-local" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b0707d4f63e4356a110b30ef3add8732ab6d181dd7be4607bf79b8777105cee" +checksum = "e14fe6fedb7fe6e0dfae47fe020684f1d8e063274ef14bca387ddb7a6efa8ec1" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "async-trait", "k256", - "rand", - "thiserror 1.0.69", + "rand 0.8.5", + "thiserror 2.0.12", ] [[package]] name = "alloy-sol-macro" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +checksum = "d4be1ce1274ddd7fdfac86e5ece1b225e9bba1f2327e20fbb30ee6b9cc1423fe" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", "syn 2.0.99", @@ -502,16 +644,16 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +checksum = "01e92f3708ea4e0d9139001c86c051c538af0146944a2a9c7181753bd944bf57" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", "heck", - "indexmap", - "proc-macro-error", + "indexmap 2.7.1", + "proc-macro-error2", "proc-macro2", "quote", "syn 2.0.99", @@ -521,14 +663,15 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +checksum = "9afe1bd348a41f8c9b4b54dfb314886786d6201235b0b3f47198b9d910c86bb2" dependencies = [ "alloy-json-abi", "const-hex", "dunce", "heck", + "macro-string", "proc-macro2", "quote", "serde_json", @@ -538,66 +681,69 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" +checksum = "d6195df2acd42df92a380a8db6205a5c7b41282d0ce3f4c665ecf7911ac292f1" dependencies = [ "serde", - "winnow 0.6.26", + "winnow", ] [[package]] name = "alloy-sol-types" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +checksum = "6185e98a79cf19010722f48a74b5a65d153631d2f038cabd250f4b9e9813b8ad" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-sol-macro", - "const-hex", "serde", ] [[package]] name = "alloy-transport" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0590afbdacf2f8cca49d025a2466f3b6584a016a8b28f532f29f8da1007bae" +checksum = "a712bdfeff42401a7dd9518f72f617574c36226a9b5414537fedc34350b73bf9" dependencies = [ "alloy-json-rpc", + "alloy-primitives", "base64 0.22.1", - "futures-util", + "derive_more 2.0.1", + "futures", "futures-utils-wasm", + "parking_lot", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", "tokio", - "tower 0.4.13", + "tower", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-transport-http" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2437d145d80ea1aecde8574d2058cceb8b3c9cba05f6aea8e67907c660d46698" +checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" dependencies = [ "alloy-json-rpc", "alloy-transport", "reqwest 0.12.12", "serde_json", - "tower 0.4.13", + "tower", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804494366e20468776db4e18f9eb5db7db0fe14f1271eb6dbf155d867233405c" +checksum = "606af17a7e064d219746f6d2625676122c79d78bf73dfe746d6db9ecd7dbcb85" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -606,6 +752,7 @@ dependencies = [ "futures", "interprocess", "pin-project", + "serde", "serde_json", "tokio", "tokio-util", @@ -614,9 +761,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.2.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af855163e7df008799941aa6dd324a43ef2bf264b08ba4b22d44aad6ced65300" +checksum = "e0c6f9b37cd8d44aab959613966cc9d4d7a9b429c575cec43b3e5b46ea109a79" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -630,6 +777,22 @@ dependencies = [ "ws_stream_wasm", ] +[[package]] +name = "alloy-trie" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 2.0.1", + "nybbles", + "serde", + "smallvec", + "tracing", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -1129,7 +1292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -1139,7 +1302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -1150,7 +1313,7 @@ checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "colored", "num-traits", - "rand", + "rand 0.8.5", "rayon", ] @@ -1165,6 +1328,9 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "async-channel" @@ -1793,7 +1959,7 @@ dependencies = [ "bitcoin_hashes", "hex-conservative", "hex_lit", - "secp256k1", + "secp256k1 0.29.1", "serde", ] @@ -1916,8 +2082,8 @@ dependencies = [ "num-bigint 0.4.6", "num-traits", "paste", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "regex", "serde", "serde_json", @@ -2055,9 +2221,9 @@ dependencies = [ "num-traits", "openssh", "openssh-sftp-client", - "rand", + "rand 0.8.5", "regex", - "secp256k1", + "secp256k1 0.29.1", "serde", "serde_json", "serial_test", @@ -2129,9 +2295,9 @@ dependencies = [ [[package]] name = "c-kzg" -version = "1.0.3" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +checksum = "7318cfa722931cb5fe0838b98d3ce5621e75f6a6408abc21721d80de9223f2e4" dependencies = [ "blst", "cc", @@ -2206,6 +2372,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", + "serde", "windows-link", ] @@ -2340,12 +2507,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -2527,7 +2688,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -2548,7 +2709,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -2563,13 +2724,49 @@ dependencies = [ "typenum", ] +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.99", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.99", +] + [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -2609,6 +2806,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -2650,10 +2848,8 @@ version = "0.99.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.1", "syn 2.0.99", ] @@ -2793,7 +2989,7 @@ checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" dependencies = [ "digest 0.10.7", "futures", - "rand", + "rand 0.8.5", "reqwest 0.12.12", "thiserror 1.0.69", "tokio", @@ -2827,6 +3023,7 @@ dependencies = [ "digest 0.10.7", "elliptic-curve 0.13.8", "rfc6979 0.4.0", + "serdect", "signature 2.2.0", "spki 0.7.3", ] @@ -2845,9 +3042,12 @@ dependencies = [ [[package]] name = "either" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] [[package]] name = "elf" @@ -2869,7 +3069,7 @@ dependencies = [ "generic-array", "group 0.12.1", "pkcs8 0.9.0", - "rand_core", + "rand_core 0.6.4", "sec1 0.3.0", "subtle", "zeroize", @@ -2888,8 +3088,9 @@ dependencies = [ "generic-array", "group 0.13.0", "pkcs8 0.10.2", - "rand_core", + "rand_core 0.6.4", "sec1 0.7.3", + "serdect", "subtle", "zeroize", ] @@ -3050,7 +3251,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3063,7 +3264,7 @@ dependencies = [ "bitvec", "byteorder", "ff_derive", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3112,7 +3313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -3405,10 +3606,10 @@ dependencies = [ "itertools 0.13.0", "musig2", "num-traits", - "rand", + "rand 0.8.5", "regex", "reqwest 0.11.27", - "secp256k1", + "secp256k1 0.29.1", "serde", "serde_json", "serial_test", @@ -3427,7 +3628,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3438,7 +3639,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff 0.13.0", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3454,13 +3655,19 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", "tracing", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.13.2" @@ -3485,6 +3692,7 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash", + "serde", ] [[package]] @@ -3907,6 +4115,12 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.0.3" @@ -3948,6 +4162,17 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + [[package]] name = "indexmap" version = "2.7.1" @@ -3956,6 +4181,7 @@ checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", + "serde", ] [[package]] @@ -4046,21 +4272,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jsonwebtoken" -version = "9.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" -dependencies = [ - "base64 0.22.1", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "k256" version = "0.13.4" @@ -4071,6 +4282,7 @@ dependencies = [ "ecdsa 0.16.9", "elliptic-curve 0.13.8", "once_cell", + "serdect", "sha2", ] @@ -4229,6 +4441,17 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -4281,7 +4504,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core", + "rand_core 0.6.4", "zeroize", ] @@ -4359,9 +4582,9 @@ dependencies = [ "base16ct 0.2.0", "hmac", "once_cell", - "rand", + "rand 0.8.5", "secp", - "secp256k1", + "secp256k1 0.29.1", "serde", "serdect", "sha2", @@ -4429,7 +4652,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -4516,6 +4739,19 @@ dependencies = [ "cc", ] +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + [[package]] name = "objc" version = "0.2.7" @@ -4547,9 +4783,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssh" @@ -4802,16 +5038,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pem" -version = "3.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" -dependencies = [ - "base64 0.22.1", - "serde", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -4997,6 +5223,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "proc-macro2" version = "1.0.94" @@ -5017,8 +5265,8 @@ dependencies = [ "bitflags 2.9.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -5119,7 +5367,7 @@ checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", "getrandom 0.2.15", - "rand", + "rand 0.8.5", "ring", "rustc-hash", "rustls 0.23.23", @@ -5167,8 +5415,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "serde", ] [[package]] @@ -5178,7 +5438,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -5190,13 +5460,23 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", + "serde", +] + [[package]] name = "rand_xorshift" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -5367,7 +5647,7 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls 0.26.2", - "tower 0.5.2", + "tower", "tower-service", "url", "wasm-bindgen", @@ -5510,7 +5790,7 @@ dependencies = [ "hex", "lazy-regex", "metal", - "rand", + "rand 0.8.5", "rayon", "risc0-circuit-recursion-sys", "risc0-core", @@ -5554,7 +5834,7 @@ dependencies = [ "num-bigint 0.4.6", "num-derive", "num-traits", - "rand", + "rand 0.8.5", "rayon", "risc0-binfmt", "risc0-circuit-rv32im-sys", @@ -5588,7 +5868,7 @@ dependencies = [ "bytemuck", "nvtx", "puffin", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -5645,8 +5925,8 @@ dependencies = [ "ndarray", "parking_lot", "paste", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rayon", "risc0-core", "risc0-sys", @@ -5677,7 +5957,7 @@ dependencies = [ "num-bigint 0.4.6", "num-traits", "prost", - "rand", + "rand 0.8.5", "rayon", "risc0-binfmt", "risc0-build", @@ -5734,9 +6014,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" +checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", @@ -5750,7 +6030,8 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", + "rand 0.9.1", "rlp", "ruint-macro", "serde", @@ -6009,6 +6290,7 @@ dependencies = [ "der 0.7.9", "generic-array", "pkcs8 0.10.2", + "serdect", "subtle", "zeroize", ] @@ -6021,8 +6303,8 @@ checksum = "dd426921f62c7e334ca27173743cd90a7263566a3be76ef0b47773d631633cf9" dependencies = [ "base16ct 0.2.0", "once_cell", - "rand", - "secp256k1", + "rand 0.8.5", + "secp256k1 0.29.1", "serde", "serdect", "subtle", @@ -6035,7 +6317,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "bitcoin_hashes", - "rand", + "rand 0.8.5", + "secp256k1-sys", + "serde", +] + +[[package]] +name = "secp256k1" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" +dependencies = [ + "bitcoin_hashes", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -6170,6 +6464,36 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.7.1", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "serdect" version = "0.2.0" @@ -6227,6 +6551,16 @@ 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.4" @@ -6286,7 +6620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -6296,7 +6630,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -6305,18 +6639,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simple_asn1" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror 2.0.12", - "time", -] - [[package]] name = "slab" version = "0.4.9" @@ -6331,6 +6653,9 @@ name = "smallvec" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] [[package]] name = "socket2" @@ -6485,9 +6810,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +checksum = "14c8c8f496c33dc6343dac05b4be8d9e0bca180a4caa81d7b8416b10cc2273cd" dependencies = [ "paste", "proc-macro2", @@ -6787,9 +7112,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.23.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", @@ -6835,24 +7160,9 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap", + "indexmap 2.7.1", "toml_datetime", - "winnow 0.7.3", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tower-layer", - "tower-service", - "tracing", + "winnow", ] [[package]] @@ -6926,6 +7236,18 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "futures", + "futures-task", + "pin-project", + "tracing", +] + [[package]] name = "tracing-subscriber" version = "0.2.25" @@ -6954,21 +7276,20 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", "http 1.2.0", "httparse", "log", - "rand", + "rand 0.9.1", "rustls 0.23.23", "rustls-pki-types", "sha1", - "thiserror 1.0.69", + "thiserror 2.0.12", "utf-8", ] @@ -7265,6 +7586,20 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasmtimer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" version = "0.3.77" @@ -7521,15 +7856,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.6.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.7.3" @@ -7732,7 +8058,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap", + "indexmap 2.7.1", "memchr", "thiserror 2.0.12", "zopfli", diff --git a/Cargo.toml b/Cargo.toml index 9f86f267..f6dfa12b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,7 +49,7 @@ async-trait = "0.1.81" suppaftp = { version = "6.0.1", features = ["async", "async-native-tls"] } openssh-sftp-client = { version = "0.14.6", features = ["openssh"] } openssh = { version = "0.10.4", features = ["native-mux"] } -alloy = { version = "0.2.1", features = ["full"] } +alloy = { version = "1.0.9", features = ["full"] } clap = { version = "4.5.23", features = ["derive", "cargo", "env"] } toml = "0.5.11" colored = "2.0.0" diff --git a/bitvm/src/chunk/api.rs b/bitvm/src/chunk/api.rs index 50da078a..feca92d9 100644 --- a/bitvm/src/chunk/api.rs +++ b/bitvm/src/chunk/api.rs @@ -1372,6 +1372,6 @@ mod test { index_of_bitcommitted_msg.push(seg.id); } println!("script {i} bitcoms: {:?}", index_of_bitcommitted_msg); - }; + } } } diff --git a/bridge/src/client/chain/ethereum_adaptor.rs b/bridge/src/client/chain/ethereum_adaptor.rs index e270d3a3..3b540d64 100644 --- a/bridge/src/client/chain/ethereum_adaptor.rs +++ b/bridge/src/client/chain/ethereum_adaptor.rs @@ -5,6 +5,9 @@ use alloy::rpc::types::Log; use super::{ chain::PegInEvent, chain::PegOutBurntEvent, chain::PegOutEvent, chain_adaptor::ChainAdaptor, }; +use alloy::network::Ethereum; +use alloy::providers::fillers::{FillProvider, JoinFill, RecommendedFillers}; +use alloy::providers::Identity; use alloy::sol_types::SolEvent; use alloy::{ eips::BlockNumberOrTag, @@ -12,7 +15,7 @@ use alloy::{ providers::{Provider, ProviderBuilder, RootProvider}, rpc::types::Filter, sol, - transports::http::{reqwest::Url, Client, Http}, + transports::http::reqwest::Url, }; use async_trait::async_trait; use bitcoin::hashes::Hash; @@ -52,7 +55,10 @@ sol!( pub struct EthereumAdaptor { bridge_address: EvmAddress, bridge_creation_block: u64, - provider: RootProvider>, + provider: FillProvider< + JoinFill::RecommendedFillers>, + RootProvider, + >, to_block: Option, } @@ -236,7 +242,7 @@ impl EthereumAdaptor { Self { bridge_address: config.bridge_address, bridge_creation_block: config.bridge_creation_block, - provider: ProviderBuilder::new().on_http(config.rpc_url), + provider: ProviderBuilder::new().connect_http(config.rpc_url), to_block: config.to_block, } } diff --git a/goat/src/bin/goat-bridge/commands.rs b/goat/src/bin/goat-bridge/commands.rs index b3e1353a..2b3d9ba6 100644 --- a/goat/src/bin/goat-bridge/commands.rs +++ b/goat/src/bin/goat-bridge/commands.rs @@ -2,48 +2,45 @@ use clap::Subcommand; #[derive(Subcommand)] pub(crate) enum Commands { - /// -GENERAL----: generate disprove scripts - GenerateDisproveScripts{ - }, + /// -GENERAL----: generate disprove scripts + GenerateDisproveScripts {}, /// -GENERAL----: generate all necessary bitvm2 transactions (unsigned) - GenerateBitvmInstanace { - }, + GenerateBitvmInstanace {}, /// -DEPOSITOR--: generate pegin-prepare, pegin-comfirm & pegin-refund txns GeneratePeginTx { /// (sats) deposit amount of pegin tx - #[arg(long="amount")] + #[arg(long = "amount")] deposit_amount: u64, /// (sats) fee amount of pegin tx - #[arg(long="fee")] + #[arg(long = "fee")] fee_amount: u64, /// (Address) address to receive change - #[arg(long="change")] + #[arg(long = "change")] change_address: String, /// (array of strings) input utxos for pegin tx - /// format: "txid:vout:amount" + /// format: "txid:vout:amount" /// example: "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16:0:10000000000" #[arg(long="inputs", num_args = 1.., value_delimiter = ',', required = true)] tx_inputs: Vec, }, /// -FEDERATION-: push federation members' pre-signature for necessary txns, include: pegin_comfirm, take_1, take_2, assert_final, disprove - FederationPresign { - }, + FederationPresign {}, - /// -OPERATOR---: generate winternitz public-keys & secret-keys + /// -OPERATOR---: generate winternitz public-keys & secret-keys /// (⚠ Warning: This feature is for testing and development purposes only. It may not be secure enough for production use.) GenerateWotsKeys { /// (String) a random seed used to generate wots keypairs // #[arg(short = 's', long = "seed")] secret_seed: String, - }, + }, - /// -OPERATOR---: generate winternitz signatures for groth16-proof & intermediate-values + /// -OPERATOR---: generate winternitz signatures for groth16-proof & intermediate-values SignProof { /// skip verifying the correctness of generated sigs #[arg(long)] @@ -51,16 +48,17 @@ pub(crate) enum Commands { }, /// -OPERATOR---: generate pre-kickoff(pegout-confirm) tx - GeneratePrekickoffTx { /// (sats) stake amount of pre-kickof tx - #[arg(long="amount")] + GeneratePrekickoffTx { + /// (sats) stake amount of pre-kickof tx + #[arg(long = "amount")] stake_amount: u64, /// (sats) fee amount of pre-kickof tx - #[arg(long="fee")] + #[arg(long = "fee")] fee_amount: u64, /// (Address) address to receive change - #[arg(long="change")] + #[arg(long = "change")] change_address: String, /// (array of formatted strings) input utxos for prekickoff tx @@ -71,8 +69,7 @@ pub(crate) enum Commands { }, /// -OPERATOR---: push operator's pre-signature necessary txns, include: challenge - OperatorPresign { - }, + OperatorPresign {}, /// -OPERATOR---: operator sign txns: include: kickoff, take-1, assert, take-2 OperatorSign { @@ -97,25 +94,22 @@ pub(crate) enum Commands { take_2: bool, }, - /// -CHALLENGER-: check if the groth16-proof(bitcommitments) is valid - VerifyProof { - }, + /// -CHALLENGER-: check if the groth16-proof(bitcommitments) is valid + VerifyProof {}, /// -CHALLENGER-: send disprove tx Disprove { /// address that will receive challenger success reward reward_address: String, }, - - - /* + /* /// -FEDERATION-: generate psbt for federation members GenerateFederationPsbt { /// (hex String) federation member's public-key // #[arg(long)] pubkey: String, }, - + /// -OPERATOR---: generate psbt for operator GenerateOperatorPsbt { // #[arg(long)] @@ -135,8 +129,8 @@ pub(crate) enum Commands { ValidateKickoff { }, - /// -CHALLENGER-: check if the groth16-proof(bitcommitments) submitted by operator in assert-tx is valid + /// -CHALLENGER-: check if the groth16-proof(bitcommitments) submitted by operator in assert-tx is valid ValidateAssert { }, */ -} \ No newline at end of file +} diff --git a/goat/src/bin/goat-bridge/config.rs b/goat/src/bin/goat-bridge/config.rs index f5b2a672..b45e38cb 100644 --- a/goat/src/bin/goat-bridge/config.rs +++ b/goat/src/bin/goat-bridge/config.rs @@ -1,5 +1,5 @@ -use serde::Deserialize; use bitcoin::Network; +use serde::Deserialize; pub const DEFAULT_WOTS_SECRET_FILE: &str = "data/private/wots_sec.json"; pub const DEFAULT_WOTS_PUBKEY_FILE: &str = "data/public/wots_pub.json"; @@ -30,23 +30,22 @@ pub const ASSERT_FINAL_FILE_NAME: &str = "assert-final.json"; pub const TAKE2_FILE_NAME: &str = "take-2.json"; pub const DISPROVE_FILE_NAME: &str = "disprove.json"; - #[derive(Deserialize, Debug, Clone)] pub struct Config { - #[serde(default)] + #[serde(default)] pub general: GeneralConfig, - #[serde(default)] + #[serde(default)] pub depositor: DepositorConfig, - #[serde(default)] + #[serde(default)] pub operator: OperatorConfig, - #[serde(default)] + #[serde(default)] pub federation: FederationConfig, - #[serde(default)] + #[serde(default)] pub challenger: ChallengerConfig, } #[derive(Deserialize, Debug, Clone)] -pub struct GeneralConfig { +pub struct GeneralConfig { #[serde(default = "default_network")] pub network: String, @@ -54,7 +53,6 @@ pub struct GeneralConfig { pub federation_taproot_pubkey: Option, pub operator_pubkey: Option, // pub operator_taproot_pubkey: Option, - #[serde(default = "default_txns_dir")] pub txns_dir: String, #[serde(default = "default_signed_txns_dir")] @@ -79,29 +77,29 @@ pub struct GeneralConfig { } #[derive(Deserialize, Debug, Default, Clone)] -pub struct DepositorConfig { +pub struct DepositorConfig { pub depositor_evm_address: Option, // pub depositor_taproot_public_key: Option, pub depositor_pubkey: Option, - pub depositor_seckey: Option, + pub depositor_seckey: Option, } #[derive(Deserialize, Debug, Clone)] -pub struct OperatorConfig { +pub struct OperatorConfig { #[serde(default = "default_operator_wots_secret_file")] pub operator_wots_seckey_file: String, - pub operator_seckey: Option, + pub operator_seckey: Option, } #[derive(Deserialize, Debug, Default, Clone)] -pub struct FederationConfig { - pub federation_seckeys: Option>, +pub struct FederationConfig { + pub federation_seckeys: Option>, } #[derive(Deserialize, Debug, Clone)] -pub struct ChallengerConfig { +pub struct ChallengerConfig { #[serde(default = "default_disprove_witness_file")] - pub disprove_witness_file: String, + pub disprove_witness_file: String, } pub fn load_config(file: &str) -> Config { @@ -202,4 +200,3 @@ fn default_signed_assertions_file() -> String { fn default_disprove_witness_file() -> String { DFFAULT_DISPROVE_WITNESS_FILE.to_string() } - diff --git a/goat/src/bin/goat-bridge/files.rs b/goat/src/bin/goat-bridge/files.rs index 4c8eb764..16d7eab0 100644 --- a/goat/src/bin/goat-bridge/files.rs +++ b/goat/src/bin/goat-bridge/files.rs @@ -1,31 +1,27 @@ -use bitvm::treepp::*; -use bitvm::chunk::api::{Signatures as Groth16WotsSignatures, PublicKeys as Groth16WotsPublicKeys, NUM_PUBS, NUM_HASH, NUM_U256}; -use bitvm::signatures::wots_api::{wots256, wots_hash}; -use bitvm::signatures::signing_winternitz::{WinternitzPublicKey, WinternitzSecret}; use ark_bn254::Bn254; -use bitcoin::{ScriptBuf, Transaction, Txid, consensus, Wtxid}; -use goat::proof::{deserialize_proof, deserialize_vk, deserialize_pubin}; +use bitcoin::{consensus, ScriptBuf, Transaction, Txid, Wtxid}; +use bitvm::chunk::api::{ + PublicKeys as Groth16WotsPublicKeys, Signatures as Groth16WotsSignatures, NUM_HASH, NUM_PUBS, + NUM_U256, +}; +use bitvm::signatures::signing_winternitz::{WinternitzPublicKey, WinternitzSecret}; +use bitvm::signatures::wots_api::{wots256, wots_hash}; +use bitvm::treepp::*; use goat::commitments::NUM_KICKOFF; +use goat::proof::{deserialize_proof, deserialize_pubin, deserialize_vk}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; -use std::io::{Write, BufReader}; -use std::fs::{File, self}; +use std::fs::{self, File}; +use std::io::{BufReader, Write}; use std::path::Path; -use serde::{Serialize, Deserialize}; const NUM_SIGS: usize = NUM_PUBS + NUM_HASH + NUM_U256; pub type KickoffWotsSecretKeys = [WinternitzSecret; NUM_KICKOFF]; pub type Groth16WotsSecretKeys = [String; NUM_SIGS]; -pub type WotsSecretKeys = ( - KickoffWotsSecretKeys, - Groth16WotsSecretKeys, -); +pub type WotsSecretKeys = (KickoffWotsSecretKeys, Groth16WotsSecretKeys); pub type KickoffWotsPublicKeys = [WinternitzPublicKey; NUM_KICKOFF]; -pub type WotsPublicKeys = ( - KickoffWotsPublicKeys, - Groth16WotsPublicKeys, -); - +pub type WotsPublicKeys = (KickoffWotsPublicKeys, Groth16WotsPublicKeys); #[derive(Serialize, Deserialize, Eq, PartialEq, Clone)] pub struct SignedTransaction { @@ -47,8 +43,7 @@ impl SignedTransaction { } } - -pub fn write_signed_assertions_to_file(file: &str, sigs: Groth16WotsSignatures) { +pub fn write_signed_assertions_to_file(file: &str, sigs: Groth16WotsSignatures) { let mut sigs_map: HashMap>> = HashMap::new(); let mut index = 0; for ss in *sigs.0 { @@ -89,13 +84,17 @@ pub fn load_signed_assertions_from_file(file: &str) -> Groth16WotsSignatures { let (min, max) = (0, NUM_PUBS); for i in min..max { let v = sigs_map.get(&(i as u32)).unwrap(); - assert!(v.len() == W256_LEN as usize, "Invalid wots siganture length"); + assert!( + v.len() == W256_LEN as usize, + "Invalid wots siganture length" + ); let mut res: Vec<([u8; 20], u8)> = Vec::new(); let sig_len = W256_LEN / 2; for i in 0..sig_len { res.push(( - v[(2*i) as usize].clone().try_into().unwrap(), - v[(2*i+1) as usize][0])); + v[(2 * i) as usize].clone().try_into().unwrap(), + v[(2 * i + 1) as usize][0], + )); } let sig: wots256::Signature = res.try_into().unwrap(); psig.push(sig); @@ -106,13 +105,17 @@ pub fn load_signed_assertions_from_file(file: &str) -> Groth16WotsSignatures { let (min, max) = (max, max + NUM_U256); for i in min..max { let v = sigs_map.get(&(i as u32)).unwrap(); - assert!(v.len() == W256_LEN as usize, "Invalid wots siganture length"); + assert!( + v.len() == W256_LEN as usize, + "Invalid wots siganture length" + ); let mut res: Vec<([u8; 20], u8)> = Vec::new(); let sig_len = W256_LEN / 2; for i in 0..sig_len { res.push(( - v[(2*i) as usize].clone().try_into().unwrap(), - v[(2*i+1) as usize][0])); + v[(2 * i) as usize].clone().try_into().unwrap(), + v[(2 * i + 1) as usize][0], + )); } let sig: wots256::Signature = res.try_into().unwrap(); fsig.push(sig); @@ -123,13 +126,17 @@ pub fn load_signed_assertions_from_file(file: &str) -> Groth16WotsSignatures { let (min, max) = (max, max + NUM_HASH); for i in min..max { let v = sigs_map.get(&(i as u32)).unwrap(); - assert!(v.len() == WHASH_LEN as usize, "Invalid wots siganture length"); + assert!( + v.len() == WHASH_LEN as usize, + "Invalid wots siganture length" + ); let mut res: Vec<([u8; 20], u8)> = Vec::new(); let sig_len = WHASH_LEN / 2; for i in 0..sig_len { res.push(( - v[(2*i) as usize].clone().try_into().unwrap(), - v[(2*i+1) as usize][0])); + v[(2 * i) as usize].clone().try_into().unwrap(), + v[(2 * i + 1) as usize][0], + )); } let sig: wots_hash::Signature = res.try_into().unwrap(); hsig.push(sig); @@ -157,15 +164,19 @@ pub fn write_wots_seckeys(file: &str, seckeys: WotsSecretKeys) { create_necessary_dir(file); let json = serde_json::to_vec_pretty(&(seckeys.0.to_vec(), seckeys.1.to_vec())).unwrap(); let mut file = File::create(file).unwrap(); - file.write_all(&json).unwrap(); + file.write_all(&json).unwrap(); } pub fn load_wots_seckeys(file: &str) -> WotsSecretKeys { create_necessary_dir(file); let file = File::open(file).expect(&format!("fail to open {:?}", file)); let reader = BufReader::new(file); - let seckeys_vec: (Vec, Vec) = serde_json::from_reader(reader).unwrap(); + let seckeys_vec: (Vec, Vec) = + serde_json::from_reader(reader).unwrap(); ( - seckeys_vec.0.try_into().unwrap_or_else(|_e| panic!("kickoff bitcom keys number not match")), + seckeys_vec + .0 + .try_into() + .unwrap_or_else(|_e| panic!("kickoff bitcom keys number not match")), seckeys_vec.1.try_into().unwrap(), ) } @@ -173,8 +184,8 @@ pub fn load_wots_seckeys(file: &str) -> WotsSecretKeys { pub fn write_wots_pubkeys(file: &str, pubkeys: WotsPublicKeys) { let mut pubkeys_map: HashMap>> = HashMap::new(); let mut index = 0; - // wots pk for groth16 proof - for pk in pubkeys.1.0 { + // wots pk for groth16 proof + for pk in pubkeys.1 .0 { let mut v: Vec> = Vec::new(); for d in pk { v.push(d.to_vec()); @@ -182,7 +193,7 @@ pub fn write_wots_pubkeys(file: &str, pubkeys: WotsPublicKeys) { pubkeys_map.insert(index, v); index += 1; } - for pk in pubkeys.1.1 { + for pk in pubkeys.1 .1 { let mut v: Vec> = Vec::new(); for d in pk { v.push(d.to_vec()); @@ -190,7 +201,7 @@ pub fn write_wots_pubkeys(file: &str, pubkeys: WotsPublicKeys) { pubkeys_map.insert(index, v); index += 1; } - for pk in pubkeys.1.2 { + for pk in pubkeys.1 .2 { let mut v: Vec> = Vec::new(); for d in pk { v.push(d.to_vec()); @@ -219,7 +230,10 @@ pub fn load_wots_pubkeys(file: &str) -> WotsPublicKeys { let (min, max) = (0, NUM_PUBS); for i in min..max { let v = pubkeys_map.get(&(i as u32)).unwrap(); - assert!(v.len() == W256_LEN as usize, "Invalid wots public-key length"); + assert!( + v.len() == W256_LEN as usize, + "Invalid wots public-key length" + ); let mut res: Vec<[u8; 20]> = Vec::new(); for i in 0..W256_LEN { res.push(v[i as usize].clone().try_into().unwrap()); @@ -233,7 +247,10 @@ pub fn load_wots_pubkeys(file: &str) -> WotsPublicKeys { let (min, max) = (max, max + NUM_U256); for i in min..max { let v = pubkeys_map.get(&(i as u32)).unwrap(); - assert!(v.len() == W256_LEN as usize, "Invalid wots public-key length"); + assert!( + v.len() == W256_LEN as usize, + "Invalid wots public-key length" + ); let mut res: Vec<[u8; 20]> = Vec::new(); for i in 0..W256_LEN { res.push(v[i as usize].clone().try_into().unwrap()); @@ -247,7 +264,10 @@ pub fn load_wots_pubkeys(file: &str) -> WotsPublicKeys { let (min, max) = (max, max + NUM_HASH); for i in min..max { let v = pubkeys_map.get(&(i as u32)).unwrap(); - assert!(v.len() == WHASH_LEN as usize, "Invalid wots public-key length"); + assert!( + v.len() == WHASH_LEN as usize, + "Invalid wots public-key length" + ); let mut res: Vec<[u8; 20]> = Vec::new(); for i in 0..WHASH_LEN { res.push(v[i as usize].clone().try_into().unwrap()); @@ -261,38 +281,43 @@ pub fn load_wots_pubkeys(file: &str) -> WotsPublicKeys { let (min, max) = (max, max + NUM_KICKOFF); for i in min..max { let v = pubkeys_map.get(&(i as u32)).unwrap(); - assert!(v.len() == NUM_KICKOFF, "Invalid kickoff wots public-key number"); + assert!( + v.len() == NUM_KICKOFF, + "Invalid kickoff wots public-key number" + ); for i in 0..NUM_KICKOFF { - pk_kickoff.push( - serde_json::from_slice(&v[i as usize].clone()).unwrap() - ); + pk_kickoff.push(serde_json::from_slice(&v[i as usize].clone()).unwrap()); } } - let pk_kickoff: [WinternitzPublicKey; NUM_KICKOFF] = pk_kickoff.try_into().unwrap_or_else(|_e| panic!("kickoff bitcom keys number not match")); + let pk_kickoff: [WinternitzPublicKey; NUM_KICKOFF] = pk_kickoff + .try_into() + .unwrap_or_else(|_e| panic!("kickoff bitcom keys number not match")); - let res = ( - pk_kickoff, - (pk0, pk1, pk2), - ); + let res = (pk_kickoff, (pk0, pk1, pk2)); res } pub fn write_scripts_to_file(file: &str, scripts: Vec