diff --git a/Cargo.lock b/Cargo.lock index 6dab0cc2304..a560473fb89 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,6 +71,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + [[package]] name = "allocator-api2" version = "0.2.20" @@ -396,12 +402,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - [[package]] name = "asn1_der" version = "0.7.6" @@ -1314,7 +1314,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1330,7 +1330,7 @@ dependencies = [ "pbkdf2 0.12.2", "rand", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1350,7 +1350,7 @@ dependencies = [ "serde_derive", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1369,19 +1369,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - [[package]] name = "comma" version = "1.0.0" @@ -1401,7 +1388,7 @@ dependencies = [ "mime", "mime_guess", "rand", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1482,9 +1469,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", "time", @@ -1493,12 +1480,13 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" dependencies = [ "cookie", - "idna 0.3.0", + "document-features", + "idna", "log", "publicsuffix", "serde", @@ -1533,15 +1521,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "counter" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd" -dependencies = [ - "num-traits", -] - [[package]] name = "countme" version = "3.0.1" @@ -1738,42 +1717,57 @@ dependencies = [ [[package]] name = "cynic" -version = "2.2.8" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1afa0591b1021e427e548a1f0f147fe6168f6c7c7f7006bace77f28856051b8" +checksum = "17334136b717249d58b05739a825e2c83f53b0beee0e1f714c332cf48eee7023" dependencies = [ "cynic-proc-macros", - "reqwest 0.11.27", + "ref-cast", + "reqwest", "serde", "serde_json", "static_assertions", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cynic-codegen" -version = "2.2.8" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a1bb05cc554f46079d0fa72abe995a2d32d0737d410a41da75b31e3f7ef768" +checksum = "5aa0d13b24fe724349a8363f04183d4ee0dc2ab5e40c574f8f8ee2edbc0d344d" dependencies = [ - "counter", - "darling 0.13.4", - "graphql-parser", + "cynic-parser", + "darling", "once_cell", + "ouroboros", "proc-macro2", "quote", "strsim 0.10.0", - "syn 1.0.109", + "syn 2.0.87", + "thiserror 1.0.69", +] + +[[package]] +name = "cynic-parser" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86a21da88ae46f2be6a622880a72f968d05c50b5a797e525332d0c988f693f70" +dependencies = [ + "indexmap 2.6.0", + "lalrpop-util", + "logos 0.14.4", ] [[package]] name = "cynic-proc-macros" -version = "2.2.8" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa595c4ed7a5374e0e58c5c34f9d93bd6b7d45062790963bd4b4c3c0bf520c4d" +checksum = "046126da74af834da9b8b6e9c2a8e56bf85bc4f2b871550586008237b64ff6bb" dependencies = [ "cynic-codegen", - "syn 1.0.109", + "darling", + "quote", + "syn 2.0.87", ] [[package]] @@ -1784,17 +1778,7 @@ checksum = "35c7fc89d334ab745ba679f94c7314c9b17ecdcd923c111df6206e9fd7729fa9" dependencies = [ "serde", "serde_json", - "thiserror", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", + "thiserror 1.0.69", ] [[package]] @@ -1803,22 +1787,8 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -1835,24 +1805,13 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.10", + "darling_core", "quote", "syn 2.0.87", ] @@ -1967,7 +1926,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.10", + "darling", "proc-macro2", "quote", "syn 2.0.87", @@ -2043,7 +2002,7 @@ dependencies = [ "console", "shell-words", "tempfile", - "thiserror", + "thiserror 1.0.69", "zeroize", ] @@ -2165,6 +2124,15 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "downcast-rs" version = "1.2.1" @@ -2236,12 +2204,24 @@ version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" dependencies = [ - "enum-ordinalize", + "enum-ordinalize 3.1.15", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize 4.3.0", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "either" version = "1.13.0" @@ -2345,6 +2325,26 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "enumn" version = "0.1.14" @@ -2447,7 +2447,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.69", "uuid 0.8.2", ] @@ -2594,7 +2594,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fe00b427b7c4835f8b82170eb7b9a63634376b63d73b9a9093367e82570bbaa" dependencies = [ "regex", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2604,7 +2604,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" dependencies = [ "libc", - "thiserror", + "thiserror 1.0.69", "winapi", ] @@ -2800,7 +2800,7 @@ dependencies = [ "sway-core", "sway-features", "sway-types", - "thiserror", + "thiserror 1.0.69", "tokio", "walkdir", ] @@ -2897,7 +2897,7 @@ dependencies = [ "ipfs-api-backend-hyper", "petgraph", "regex", - "reqwest 0.12.9", + "reqwest", "semver 1.0.23", "serde", "serde_ignored", @@ -2967,7 +2967,7 @@ dependencies = [ "fuel-types", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3001,9 +3001,9 @@ dependencies = [ [[package]] name = "forc-wallet" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed94e0de4d8265fe744704544932bf1285ffa16ee5feb18062194904d299f9f" +checksum = "122298b1bc082dbbdfae99e0f9f9594398bd025d48e639a986c645434db3b887" dependencies = [ "anyhow", "clap", @@ -3066,9 +3066,9 @@ dependencies = [ [[package]] name = "fuel-abi-types" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bce44ac13b1971be7cea024a2003cf944522093dafec454fea9ff792f0ff2577" +checksum = "026deca571c0d3304a4392a0d99c7477d58cade18b2861232c151eb0816dde0a" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -3078,14 +3078,14 @@ dependencies = [ "serde", "serde_json", "syn 2.0.87", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "fuel-asm" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f325971bf9047ec70004f80a989e03456316bc19cbef3ff3a39a38b192ab56e" +checksum = "885617a606218680114122f4e1107ed5c9424e42dec05de84843e4a3a99e2cd7" dependencies = [ "bitflags 2.6.0", "fuel-types", @@ -3095,9 +3095,9 @@ dependencies = [ [[package]] name = "fuel-core-chain-config" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990db3029efd3766c4ae7c92a53c159ae66abf6f568ac6a3d58354f11400e6e2" +checksum = "c07eb148d6490789534dca63a77e2d8033ecd85b74c0bbd3118f3e0962f4233e" dependencies = [ "anyhow", "bech32", @@ -3115,9 +3115,9 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09b3a35e82226d77b10653829beb508dc4bcf698fbdaa96610faf894e794444" +checksum = "bdd96a66ac7026c8c60df5cf171ad9eecbf0648e49abfc57d3f7d5df739ced47" dependencies = [ "anyhow", "base64 0.22.1", @@ -3129,20 +3129,20 @@ dependencies = [ "hex", "hyper-rustls 0.24.2", "itertools 0.12.1", - "reqwest 0.11.27", + "reqwest", "schemafy_lib", "serde", "serde_json", "tai64", - "thiserror", + "thiserror 1.0.69", "tracing", ] [[package]] name = "fuel-core-metrics" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a1c3eb92040d95d27f7c658801bb5c04ad4aaf67de380cececbeed5aab6e61" +checksum = "4862e95dd35b0d0dde68ea5d1b3ba3ac74f688a1f5268b145aa73be723a620eb" dependencies = [ "once_cell", "parking_lot", @@ -3156,9 +3156,9 @@ dependencies = [ [[package]] name = "fuel-core-poa" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f6f78fa31dc56b9458e3ca9a7058b4bea381e16e49fcab0db49923be8a30f9c" +checksum = "6b075ba0902dbc2e73cc8e160af1174336df68edc72de16e53a4c54687ff866f" dependencies = [ "anyhow", "async-trait", @@ -3175,9 +3175,9 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8312b598da4b9a6503c9263c1c2a7ea58d34ab1f86e7f345490e12d309fb29bb" +checksum = "eeedffccabe0b1cf36ee799c4eca8ced6acb08512082c4a8106d418089449f41" dependencies = [ "anyhow", "async-trait", @@ -3191,9 +3191,9 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda9242ebc9e8ef3251b9eae85f4ce5cdb376348baa30925606f3ce602db7ec5" +checksum = "d7b2fb00d3888948699b8412e67fa21fb4a5d19e73b220295071a59b2ced1fc5" dependencies = [ "anyhow", "derive_more 0.99.18", @@ -3213,15 +3213,16 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee3a95b189bf729d21354a761862bb481298cbd883550adc3fef1bc7beb0b67" +checksum = "40479537a591e091863ee5f939f3a8ec248cabf864fb287c13cc2f09d8059d11" dependencies = [ "anyhow", "bs58", "derivative", "derive_more 0.99.18", "fuel-vm", + "k256", "rand", "secrecy", "serde", @@ -3231,9 +3232,9 @@ dependencies = [ [[package]] name = "fuel-crypto" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e318850ca64890ff123a99b6b866954ef49da94ab9bc6827cf6ee045568585" +checksum = "8e5643d6c281369825854bbc96d5d1648fe49ddcc3443961c633270f65e6c4b6" dependencies = [ "coins-bip32", "coins-bip39", @@ -3252,9 +3253,9 @@ dependencies = [ [[package]] name = "fuel-derive" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0bc46a3552964bae5169e79b383761a54bd115ea66951a1a7a229edcefa55a" +checksum = "8703ee10001e6a52ad9a0d8411ca5a92098de978ccfbdddd0ba185f3a7405b4c" dependencies = [ "proc-macro2", "quote", @@ -3275,7 +3276,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror", + "thiserror 1.0.69", "uint", ] @@ -3301,7 +3302,7 @@ version = "0.3.1-dev" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7eed51e8869a40529c44dc6d971f3509f2a3aa55dc9b213d6f88ee2da38a3d44" dependencies = [ - "educe", + "educe 0.4.23", "indexmap 1.9.3", "quote", "serde", @@ -3311,9 +3312,9 @@ dependencies = [ [[package]] name = "fuel-merkle" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79eca6a452311c70978a5df796c0f99f27e474b69719e0db4c1d82e68800d07" +checksum = "7446f9cc1885ede3af88cf567931f96fd1feda3146e9052c09b1b260fbd56173" dependencies = [ "derive_more 0.99.18", "digest 0.10.7", @@ -3326,19 +3327,19 @@ dependencies = [ [[package]] name = "fuel-storage" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0c46b5d76b3e11197bd31e036cd8b1cb46c4d822cacc48836638080c6d2b76" +checksum = "01f810b544f0930fc68e1311ea078fad9af6912d5215a9ae9febda67206e34e5" [[package]] name = "fuel-tx" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6723bb8710ba2b70516ac94d34459593225870c937670fb3afaf82e0354667ac" +checksum = "806498d953bc989995425f1bb7c17890f5538a3664c6ec3b5d8a77c63d617421" dependencies = [ "bitflags 2.6.0", - "derivative", - "derive_more 0.99.18", + "derive_more 1.0.0", + "educe 0.6.0", "fuel-asm", "fuel-crypto", "fuel-merkle", @@ -3354,9 +3355,9 @@ dependencies = [ [[package]] name = "fuel-types" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982265415a99b5bd6277bc24194a233bb2e18764df11c937b3dbb11a02c9e545" +checksum = "d0d46d41db59c131195e6d842cc1e50f0b8adeadf2a840519e8b57b78e57a0bf" dependencies = [ "fuel-derive", "hex", @@ -3366,16 +3367,16 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b5362d7d072c72eec20581f67fc5400090c356a7f3ae77c79880b3b177b667" +checksum = "9bcf74f636cc01a1ab035458628f925945bb4df9da653058c6ab2b26fa25f087" dependencies = [ "anyhow", "async-trait", "backtrace", "bitflags 2.6.0", - "derivative", "derive_more 0.99.18", + "educe 0.6.0", "ethnum", "fuel-asm", "fuel-crypto", @@ -3395,14 +3396,15 @@ dependencies = [ "sha3", "static_assertions", "strum 0.24.1", + "substrate-bn", "tai64", ] [[package]] name = "fuels" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bf359dceffcbab4163bca473a03658b912686c3aa81a223f828260729dd474" +checksum = "953825fefd5141d586051a4639181cfdc1a7f6b9f063759992f3ac0dec4d168c" dependencies = [ "fuel-core-client", "fuel-crypto", @@ -3416,9 +3418,9 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0b09d6ce3a12196f6944c74bdd795c39950d32ebaaf56b2943741a5e4308a1" +checksum = "b189b85cd777c7453268f94da63fdea1efcadf02913568ab1c0d9d2c19a7a52d" dependencies = [ "async-trait", "chrono", @@ -3435,16 +3437,16 @@ dependencies = [ "rand", "semver 1.0.23", "tai64", - "thiserror", + "thiserror 1.0.69", "tokio", "zeroize", ] [[package]] name = "fuels-code-gen" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bf5f7b37ec598514fb3767abdae5372a9fa0919d350703f5d627ec2eb33456" +checksum = "2834cea3765d3172148285a7f0e5b3e8480c95dddcb70687d6a1545d27e8cba1" dependencies = [ "Inflector", "fuel-abi-types", @@ -3458,9 +3460,9 @@ dependencies = [ [[package]] name = "fuels-core" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab66cdf52fa6ef98dbc9cc7b4ce19c6a340b2a4710c5d5f87eae39ffb868bad7" +checksum = "0ecd1f67da0380e46cc72ec7b00f1323fdee5113b9b0b8d9de3c3bdf2ef785bc" dependencies = [ "async-trait", "bech32", @@ -3481,15 +3483,15 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", "uint", ] [[package]] name = "fuels-macros" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1471d221453d13d4643c9a698212781f0e8ac40f515a8566538db87409e30752" +checksum = "604a27c929d6557289aab0e76ad30025d31d9ea8a567310880129e1a69e114c5" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -3500,9 +3502,9 @@ dependencies = [ [[package]] name = "fuels-programs" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a854561a68ef4088972119cf31023d2d1afd58584da203bcb7dfbd1e84dd8fc" +checksum = "f1ff7d91cd7c396b86331c6e76c489427a249c7d69dd9d3934542e1ca31ece46" dependencies = [ "async-trait", "fuel-abi-types", @@ -3519,9 +3521,9 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7b428c35a54e4d667343b4051f07a7397e6039bd110411c37647db4478086e" +checksum = "814ed63e1b9266cb7a074e882f638ffd2b8c42a95c13ff2ddda57e3d729d8acf" dependencies = [ "fuel-core-chain-config", "fuel-core-client", @@ -3664,8 +3666,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -3712,7 +3716,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" dependencies = [ "faster-hex", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3725,7 +3729,7 @@ dependencies = [ "gix-trace", "home", "once_cell", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3745,7 +3749,7 @@ dependencies = [ "gix-path", "home", "serde", - "thiserror", + "thiserror 1.0.69", "url", ] @@ -3776,17 +3780,7 @@ checksum = "3a6ad932c6dd3cfaf16b66754a42f87bbeefd591530c4b6a8334270a7df3e853" dependencies = [ "ahash 0.8.11", "petgraph", - "thiserror", -] - -[[package]] -name = "graphql-parser" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" -dependencies = [ - "combine", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3860,7 +3854,7 @@ dependencies = [ "pest_derive", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -4162,7 +4156,7 @@ dependencies = [ "rustls-native-certs", "tokio", "tokio-rustls 0.24.1", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] @@ -4180,6 +4174,7 @@ dependencies = [ "tokio", "tokio-rustls 0.26.0", "tower-service", + "webpki-roots 0.26.7", ] [[package]] @@ -4376,16 +4371,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.0.3" @@ -4450,9 +4435,9 @@ dependencies = [ [[package]] name = "impl-tools" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a84bc8d2baf8da56e93b4247067d918e1a44829bbbe3e4b875aaf8d7d3c7bc9" +checksum = "0ae95c9095c2f1126d7db785955c73cdc5fc33e7c3fa911bd4a42931672029a7" dependencies = [ "autocfg", "impl-tools-lib", @@ -4462,9 +4447,9 @@ dependencies = [ [[package]] name = "impl-tools-lib" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a795a1e201125947a063b967c79de6ae152143ab522f481d4f493c44835ba37a" +checksum = "2a391adcea096a89a593317881fb61ef4e68d3e7d9de9e2338e6e1557be29e10" dependencies = [ "proc-macro-error2", "proc-macro2", @@ -4594,7 +4579,7 @@ dependencies = [ "hyper 0.14.31", "hyper-multipart-rfc7578", "ipfs-api-prelude", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -4615,7 +4600,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-util", "tracing", @@ -4759,6 +4744,15 @@ dependencies = [ "libc", ] +[[package]] +name = "lalrpop-util" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d05b3fe34b8bd562c338db725dfa9beb9451a48f65f129ccb9538b48d2c93b" +dependencies = [ + "rustversion", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -4817,7 +4811,7 @@ dependencies = [ "multihash 0.19.2", "quick-protobuf", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", "tracing", "zeroize", ] @@ -4948,6 +4942,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.12" @@ -4970,7 +4970,31 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf8b031682c67a8e3d5446840f9573eb7fe26efe7ec8d195c9ac4c0647c502f1" dependencies = [ - "logos-derive", + "logos-derive 0.12.1", +] + +[[package]] +name = "logos" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7251356ef8cb7aec833ddf598c6cb24d17b689d20b993f9d11a3d764e34e6458" +dependencies = [ + "logos-derive 0.14.4", +] + +[[package]] +name = "logos-codegen" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f80069600c0d66734f5ff52cc42f2dabd6b29d205f333d61fd7832e9e9963f" +dependencies = [ + "beef", + "fnv", + "lazy_static", + "proc-macro2", + "quote", + "regex-syntax 0.8.5", + "syn 2.0.87", ] [[package]] @@ -4987,6 +5011,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "logos-derive" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24fb722b06a9dc12adb0963ed585f19fc61dc5413e6a9be9422ef92c091e731d" +dependencies = [ + "logos-codegen", +] + [[package]] name = "lsp-types" version = "0.94.1" @@ -5457,7 +5490,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 2.0.87", @@ -5611,6 +5644,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "ouroboros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" +dependencies = [ + "aliasable", + "ouroboros_macro", + "static_assertions", +] + +[[package]] +name = "ouroboros_macro" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.87", +] + [[package]] name = "outref" version = "0.5.1" @@ -5765,7 +5822,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.69", "ucd-trie", ] @@ -6046,7 +6103,7 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "thiserror", + "thiserror 1.0.69", "toml 0.5.11", ] @@ -6113,6 +6170,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "version_check", + "yansi", +] + [[package]] name = "prometheus-client" version = "0.22.3" @@ -6197,7 +6267,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" dependencies = [ - "idna 1.0.3", + "idna", "psl-types", ] @@ -6243,6 +6313,58 @@ dependencies = [ "memchr", ] +[[package]] +name = "quinn" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.0.0", + "rustls 0.23.17", + "socket2", + "thiserror 2.0.11", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom", + "rand", + "ring", + "rustc-hash 2.0.0", + "rustls 0.23.17", + "rustls-pki-types", + "slab", + "thiserror 2.0.11", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.37" @@ -6379,7 +6501,27 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox 0.1.3", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] [[package]] @@ -6441,49 +6583,6 @@ dependencies = [ "bytecheck", ] -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "cookie", - "cookie_store", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.31", - "hyper-rustls 0.24.2", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration 0.5.1", - "tokio", - "tokio-rustls 0.24.1", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", - "winreg", -] - [[package]] name = "reqwest" version = "0.12.9" @@ -6492,6 +6591,8 @@ checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", + "cookie", + "cookie_store", "encoding_rs", "futures-core", "futures-util", @@ -6511,19 +6612,24 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "quinn", + "rustls 0.23.17", "rustls-pemfile 2.2.0", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", - "system-configuration 0.6.1", + "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls 0.26.0", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots 0.26.7", "windows-registry", ] @@ -6613,7 +6719,7 @@ dependencies = [ "nix 0.25.1", "regex", "tempfile", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -6863,6 +6969,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f1a745511c54ba6d4465e8d5dfbd81b45791756de28d4981af70d6dca128f1e" dependencies = [ "once_cell", + "ring", "rustls-pki-types", "rustls-webpki 0.102.8", "subtle", @@ -6904,6 +7011,9 @@ name = "rustls-pki-types" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -7273,7 +7383,7 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ - "darling 0.20.10", + "darling", "proc-macro2", "quote", "syn 2.0.87", @@ -7660,7 +7770,6 @@ name = "sway-core" version = "0.66.6" dependencies = [ "clap", - "derivative", "dirs 5.0.1", "either", "fuel-abi-types", @@ -7695,7 +7804,7 @@ dependencies = [ "sway-types", "sway-utils", "sysinfo", - "thiserror", + "thiserror 1.0.69", "tracing", "uint", "vec1", @@ -7711,7 +7820,7 @@ dependencies = [ "smallvec", "strsim 0.11.1", "sway-types", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -7794,7 +7903,7 @@ dependencies = [ "swayfmt", "syn 2.0.87", "tempfile", - "thiserror", + "thiserror 1.0.69", "tikv-jemallocator", "tokio", "toml_edit", @@ -7832,7 +7941,7 @@ dependencies = [ "sway-ast", "sway-error", "sway-types", - "thiserror", + "thiserror 1.0.69", "unicode-bidi", "unicode-xid", ] @@ -7853,7 +7962,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "sway-utils", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -7883,7 +7992,7 @@ dependencies = [ "sway-types", "sway-utils", "test-macros", - "thiserror", + "thiserror 1.0.69", "toml 0.8.19", ] @@ -7965,7 +8074,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "thiserror", + "thiserror 1.0.69", "walkdir", "yaml-rust", ] @@ -7985,17 +8094,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys 0.5.0", -] - [[package]] name = "system-configuration" version = "0.6.1" @@ -8004,17 +8102,7 @@ checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.6.0", "core-foundation", - "system-configuration-sys 0.6.0", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", + "system-configuration-sys", ] [[package]] @@ -8029,9 +8117,9 @@ dependencies = [ [[package]] name = "tai64" -version = "4.1.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "014639506e4f425c78e823eabf56e71c093f940ae55b43e58f682e7bc2f5887a" +checksum = "ed7401421025f4132e6c1f7af5e7f8287383969f36e6628016cd509b8d3da9dc" dependencies = [ "serde", ] @@ -8053,12 +8141,12 @@ dependencies = [ "either", "globset", "itertools 0.10.5", - "logos", + "logos 0.12.1", "once_cell", "rowan", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "time", "tracing", ] @@ -8224,7 +8312,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -8238,6 +8335,17 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -8321,7 +8429,7 @@ dependencies = [ "rand", "rustc-hash 1.1.0", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", "unicode-normalization", "wasm-bindgen", "zeroize", @@ -8809,15 +8917,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - [[package]] name = "unsafe-libyaml" version = "0.2.11" @@ -8849,7 +8948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", - "idna 1.0.3", + "idna", "percent-encoding", "serde", ] @@ -9097,12 +9196,31 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki-roots" version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "6.0.3" @@ -9353,16 +9471,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if 1.0.0", - "windows-sys 0.48.0", -] - [[package]] name = "winsafe" version = "0.0.19" diff --git a/Cargo.toml b/Cargo.toml index 92cef478d05..9bcc4389947 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -79,31 +79,31 @@ sway-ir-macros = { path = "sway-ir/sway-ir-macros", version = "0.66.6" } # # Dependencies from the `fuel-abi-types` repository: -fuel-abi-types = "0.7" +fuel-abi-types = "0.8" # Dependencies from the `fuel-core` repository: # # Although ALL verions are "X.Y", we need the complete semver for # fuel-core-client as the GitHub Actions workflow parses this value to pull down # the correct tarball -fuel-core-client = { version = "0.40.0", default-features = false } -fuel-core-types = { version = "0.40", default-features = false } +fuel-core-client = { version = "0.41.4", default-features = false } +fuel-core-types = { version = "0.41", default-features = false } # Dependencies from the `fuels-rs` repository: -fuels = "0.66.10" -fuels-core = "0.66.10" -fuels-accounts = "0.66.10" +fuels = "0.70" +fuels-core = "0.70" +fuels-accounts = "0.70" # Dependencies from the `fuel-vm` repository: -fuel-asm = "0.58" -fuel-crypto = "0.58" -fuel-types = "0.58" -fuel-tx = "0.58" -fuel-vm = "0.58" +fuel-asm = "0.59" +fuel-crypto = "0.59" +fuel-types = "0.59" +fuel-tx = "0.59" +fuel-vm = "0.59" # Dependencies from the `forc-wallet` repository: -forc-wallet = "0.11" +forc-wallet = "0.12" # # External dependencies @@ -129,7 +129,6 @@ comrak = "0.28" crossbeam-channel = "0.5" dap = "0.4.1-alpha" dashmap = "6.1" -derivative = "2.2" devault = "0.2" dialoguer = "0.11" dirs = "5.0" diff --git a/forc-plugins/forc-client/src/op/run/mod.rs b/forc-plugins/forc-client/src/op/run/mod.rs index 7d21d439e8c..e7e25fd99f5 100644 --- a/forc-plugins/forc-client/src/op/run/mod.rs +++ b/forc-plugins/forc-client/src/op/run/mod.rs @@ -22,7 +22,7 @@ use fuels::{ transaction_builders::{BuildableTransaction, VariableOutputPolicy}, }, }; -use fuels_accounts::{provider::Provider, Account}; +use fuels_accounts::{provider::Provider, Account, ViewOnlyAccount}; use pkg::BuiltPackage; use std::time::Duration; use std::{path::PathBuf, str::FromStr}; diff --git a/forc-plugins/forc-client/src/util/account.rs b/forc-plugins/forc-client/src/util/account.rs index 17ecc6781b8..c94735b0b41 100644 --- a/forc-plugins/forc-client/src/util/account.rs +++ b/forc-plugins/forc-client/src/util/account.rs @@ -24,26 +24,6 @@ pub enum ForcClientAccount { #[async_trait] impl Account for ForcClientAccount { - async fn get_asset_inputs_for_amount( - &self, - asset_id: AssetId, - amount: u64, - excluded_coins: Option>, - ) -> Result> { - match self { - ForcClientAccount::Wallet(wallet) => { - wallet - .get_asset_inputs_for_amount(asset_id, amount, excluded_coins) - .await - } - ForcClientAccount::KmsSigner(account) => { - account - .get_asset_inputs_for_amount(asset_id, amount, excluded_coins) - .await - } - } - } - fn add_witnesses(&self, tb: &mut Tb) -> Result<()> { tb.add_signer(self.clone())?; @@ -51,6 +31,7 @@ impl Account for ForcClientAccount { } } +#[async_trait] impl ViewOnlyAccount for ForcClientAccount { fn address(&self) -> &Bech32Address { match self { @@ -67,6 +48,26 @@ impl ViewOnlyAccount for ForcClientAccount { ForcClientAccount::KmsSigner(account) => Ok(account.provider()), } } + + async fn get_asset_inputs_for_amount( + &self, + asset_id: AssetId, + amount: u64, + excluded_coins: Option>, + ) -> Result> { + match self { + ForcClientAccount::Wallet(wallet) => { + wallet + .get_asset_inputs_for_amount(asset_id, amount, excluded_coins) + .await + } + ForcClientAccount::KmsSigner(account) => { + account + .get_asset_inputs_for_amount(asset_id, amount, excluded_coins) + .await + } + } + } } #[async_trait] diff --git a/forc-plugins/forc-client/src/util/aws.rs b/forc-plugins/forc-client/src/util/aws.rs index 90da533815c..3b5f4e66a56 100644 --- a/forc-plugins/forc-client/src/util/aws.rs +++ b/forc-plugins/forc-client/src/util/aws.rs @@ -241,6 +241,7 @@ impl Signer for AwsSigner { } } +#[async_trait] impl ViewOnlyAccount for AwsSigner { fn address(&self) -> &Bech32Address { &self.bech @@ -249,10 +250,7 @@ impl ViewOnlyAccount for AwsSigner { fn try_provider(&self) -> Result<&Provider> { Ok(&self.provider) } -} -#[async_trait] -impl Account for AwsSigner { async fn get_asset_inputs_for_amount( &self, asset_id: AssetId, @@ -267,3 +265,6 @@ impl Account for AwsSigner { .collect::>()) } } + +#[async_trait] +impl Account for AwsSigner {} diff --git a/forc-plugins/forc-client/src/util/tx.rs b/forc-plugins/forc-client/src/util/tx.rs index a1dad6a3fcd..a8a35171eb0 100644 --- a/forc-plugins/forc-client/src/util/tx.rs +++ b/forc-plugins/forc-client/src/util/tx.rs @@ -188,12 +188,13 @@ pub(crate) async fn select_account( let wallet_path = default_wallet_path(); let accounts = collect_user_accounts(&wallet_path, password)?; let account_balances = collect_account_balances(&accounts, provider).await?; - let base_asset_id = provider.base_asset_id(); + let consensus_parameters = provider.consensus_parameters().await?; + let base_asset_id = consensus_parameters.base_asset_id(); let total_balance = account_balances .iter() .flat_map(|account| account.values()) - .sum::(); + .sum::(); if total_balance == 0 { let first_account = accounts .get(&0) diff --git a/forc-plugins/forc-client/tests/deploy.rs b/forc-plugins/forc-client/tests/deploy.rs index 00a49ecbae7..210c3a11aa3 100644 --- a/forc-plugins/forc-client/tests/deploy.rs +++ b/forc-plugins/forc-client/tests/deploy.rs @@ -657,7 +657,8 @@ async fn test_non_owner_fails_to_set_target() { SecretKey::from_str(forc_client::constants::DEFAULT_PRIVATE_KEY).unwrap(); let owner_wallet = WalletUnlocked::new_from_private_key(owner_secret_key, Some(provider.clone())); - let base_asset_id = provider.base_asset_id(); + let consensus_parameters = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_parameters.base_asset_id(); // Fund attacker wallet so that it can try to make a set proxy target call. owner_wallet @@ -1052,7 +1053,8 @@ async fn deployed_predicate_call() { )); let provider = Provider::connect(&node_url).await.unwrap(); - let base_asset_id = *provider.base_asset_id(); + let consensus_parameters = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_parameters.base_asset_id(); let secret_key = SecretKey::from_str(forc_client::constants::DEFAULT_PRIVATE_KEY).unwrap(); let wallet_unlocked = WalletUnlocked::new_from_private_key(secret_key, Some(provider.clone())); let loader_path = tmp_dir.path().join("out/deployed_predicate-loader.bin"); @@ -1074,16 +1076,16 @@ async fn deployed_predicate_call() { wallet_unlocked .transfer( predicate.address(), - 500, - base_asset_id, + 2000, + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Check predicate balance. - let balance = predicate.get_asset_balance(&base_asset_id).await.unwrap(); - assert_eq!(balance, 500); + let balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); + assert_eq!(balance, 2000); // Try to spend it let amount_to_unlock = 300; @@ -1091,15 +1093,15 @@ async fn deployed_predicate_call() { .transfer( wallet_unlocked.address(), amount_to_unlock, - base_asset_id, + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Check predicate balance again. - let balance = predicate.get_asset_balance(&base_asset_id).await.unwrap(); - assert_eq!(balance, 200); + let balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); + assert_eq!(balance, 828); node.kill().unwrap(); } diff --git a/forc-test/src/execute.rs b/forc-test/src/execute.rs index a0423caba12..9b3d899a326 100644 --- a/forc-test/src/execute.rs +++ b/forc-test/src/execute.rs @@ -120,6 +120,7 @@ impl TestExecutor { gas_price, consensus_params.gas_costs(), consensus_params.fee_params(), + None, ) .map_err(|e| anyhow::anyhow!("{e:?}"))?; diff --git a/forc-test/src/lib.rs b/forc-test/src/lib.rs index f3c24fb814d..781fd54ec3c 100644 --- a/forc-test/src/lib.rs +++ b/forc-test/src/lib.rs @@ -230,7 +230,7 @@ impl PackageWithDeploymentToTest { .map(|(contract_id, tx)| { // Transact the deployment transaction constructed for this contract dependency. let tx = tx - .into_ready(gas_price, params.gas_costs(), params.fee_params()) + .into_ready(gas_price, params.gas_costs(), params.fee_params(), None) .unwrap(); interpreter.transact(tx).map_err(anyhow::Error::msg)?; Ok(contract_id) @@ -247,7 +247,7 @@ impl PackageWithDeploymentToTest { ¶ms, ); let root_contract_tx = root_contract_tx - .into_ready(gas_price, params.gas_costs(), params.fee_params()) + .into_ready(gas_price, params.gas_costs(), params.fee_params(), None) .unwrap(); // Deploy the root contract. interpreter diff --git a/sway-core/Cargo.toml b/sway-core/Cargo.toml index 71ca263d962..1c4ede7eb2f 100644 --- a/sway-core/Cargo.toml +++ b/sway-core/Cargo.toml @@ -10,7 +10,6 @@ repository.workspace = true [dependencies] clap = { workspace = true, features = ["derive"] } -derivative.workspace = true dirs.workspace = true either.workspace = true ethabi.workspace = true diff --git a/sway-core/src/asm_generation/finalized_asm.rs b/sway-core/src/asm_generation/finalized_asm.rs index 03a6b842a29..0533f10069d 100644 --- a/sway-core/src/asm_generation/finalized_asm.rs +++ b/sway-core/src/asm_generation/finalized_asm.rs @@ -599,6 +599,8 @@ fn print_instruction(op: &Instruction) { Instruction::ECAL(x) => f("ECAL", x.unpack()), Instruction::BSIZ(x) => f("BSIZ", x.unpack()), Instruction::BLDD(x) => f("BLDD", x.unpack()), + Instruction::ECOP(x) => f("ECOP", x.unpack()), + Instruction::EPAR(x) => f("EPAR", x.unpack()), } } diff --git a/test/src/e2e_vm_tests/harness.rs b/test/src/e2e_vm_tests/harness.rs index 31dbcda4b48..deb185d15d7 100644 --- a/test/src/e2e_vm_tests/harness.rs +++ b/test/src/e2e_vm_tests/harness.rs @@ -203,7 +203,7 @@ pub(crate) fn runs_in_vm( let tx = tb .finalize_checked(block_height) - .into_ready(gas_price, params.gas_costs(), params.fee_params()) + .into_ready(gas_price, params.gas_costs(), params.fee_params(), None) .map_err(|e| anyhow::anyhow!("{e:?}"))?; let mem_instance = MemoryInstance::new(); diff --git a/test/src/sdk-harness/Cargo.lock b/test/src/sdk-harness/Cargo.lock index 54d09476c97..1a29e280a0e 100644 --- a/test/src/sdk-harness/Cargo.lock +++ b/test/src/sdk-harness/Cargo.lock @@ -69,6 +69,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -83,6 +84,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + [[package]] name = "allocator-api2" version = "0.2.20" @@ -177,12 +184,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - [[package]] name = "asn1-rs" version = "0.6.2" @@ -250,6 +251,7 @@ dependencies = [ "fnv", "futures-timer", "futures-util", + "handlebars", "http 1.1.0", "indexmap 2.6.0", "mime", @@ -275,7 +277,7 @@ checksum = "a94c2d176893486bd37cd1b6defadd999f7357bf5804e92f510c08bcf16c538f" dependencies = [ "Inflector", "async-graphql-parser", - "darling 0.20.10", + "darling", "proc-macro-crate", "proc-macro2", "quote", @@ -406,6 +408,12 @@ dependencies = [ "critical-section", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "attohttpc" version = "0.24.1" @@ -430,15 +438,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" dependencies = [ "async-trait", - "axum-core", + "axum-core 0.2.9", "bitflags 1.3.2", "bytes", "futures-util", "http 0.2.12", - "http-body", - "hyper", + "http-body 0.4.6", + "hyper 0.14.31", "itoa", - "matchit", + "matchit 0.5.0", "memchr", "mime", "percent-encoding", @@ -446,14 +454,69 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "tokio", - "tower", + "tower 0.4.13", "tower-http 0.3.5", "tower-layer", "tower-service", ] +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core 0.3.4", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.31", + "itoa", + "matchit 0.7.3", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 0.1.2", + "tower 0.4.13", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core 0.4.5", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "itoa", + "matchit 0.7.3", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 1.0.2", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + [[package]] name = "axum-core" version = "0.2.9" @@ -464,8 +527,45 @@ dependencies = [ "bytes", "futures-util", "http 0.2.12", - "http-body", + "http-body 0.4.6", + "mime", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.2", "tower-layer", "tower-service", ] @@ -528,6 +628,49 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" + +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.87", +] + +[[package]] +name = "bip32" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b" +dependencies = [ + "bs58", + "hmac 0.12.1", + "k256", + "rand_core", + "ripemd", + "sha2 0.10.8", + "subtle", + "zeroize", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -613,6 +756,17 @@ dependencies = [ "serde", ] +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "cc" version = "1.1.37" @@ -624,6 +778,15 @@ dependencies = [ "shlex", ] +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -686,6 +849,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "4.5.20" @@ -790,19 +964,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -839,9 +1000,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", "time", @@ -850,12 +1011,13 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" dependencies = [ "cookie", - "idna 0.3.0", + "document-features", + "idna 1.0.3", "log", "publicsuffix", "serde", @@ -891,12 +1053,34 @@ dependencies = [ ] [[package]] -name = "counter" -version = "0.5.7" +name = "cosmos-sdk-proto" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd" +checksum = "462e1f6a8e005acc8835d32d60cbd7973ed65ea2a8d8473830e675f050956427" dependencies = [ - "num-traits", + "prost 0.13.4", + "tendermint-proto 0.40.1", + "tonic 0.12.3", +] + +[[package]] +name = "cosmrs" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "210fbe6f98594963b46cc980f126a9ede5db9a3848ca65b71303bebdb01afcd9" +dependencies = [ + "bip32", + "cosmos-sdk-proto", + "ecdsa", + "eyre", + "k256", + "rand_core", + "serde", + "serde_json", + "signature", + "subtle-encoding", + "tendermint 0.40.1", + "thiserror", ] [[package]] @@ -1145,14 +1329,28 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core", + "subtle-ng", + "zeroize", +] + [[package]] name = "cynic" -version = "2.2.8" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1afa0591b1021e427e548a1f0f147fe6168f6c7c7f7006bace77f28856051b8" +checksum = "17334136b717249d58b05739a825e2c83f53b0beee0e1f714c332cf48eee7023" dependencies = [ "cynic-proc-macros", - "reqwest", + "ref-cast", + "reqwest 0.12.12", "serde", "serde_json", "static_assertions", @@ -1161,38 +1359,42 @@ dependencies = [ [[package]] name = "cynic-codegen" -version = "2.2.8" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a1bb05cc554f46079d0fa72abe995a2d32d0737d410a41da75b31e3f7ef768" +checksum = "5aa0d13b24fe724349a8363f04183d4ee0dc2ab5e40c574f8f8ee2edbc0d344d" dependencies = [ - "counter", - "darling 0.13.4", - "graphql-parser", + "cynic-parser", + "darling", "once_cell", + "ouroboros", "proc-macro2", "quote", "strsim 0.10.0", - "syn 1.0.109", + "syn 2.0.87", + "thiserror", ] [[package]] -name = "cynic-proc-macros" -version = "2.2.8" +name = "cynic-parser" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa595c4ed7a5374e0e58c5c34f9d93bd6b7d45062790963bd4b4c3c0bf520c4d" +checksum = "86a21da88ae46f2be6a622880a72f968d05c50b5a797e525332d0c988f693f70" dependencies = [ - "cynic-codegen", - "syn 1.0.109", + "indexmap 2.6.0", + "lalrpop-util", + "logos", ] [[package]] -name = "darling" -version = "0.13.4" +name = "cynic-proc-macros" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +checksum = "046126da74af834da9b8b6e9c2a8e56bf85bc4f2b871550586008237b64ff6bb" dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", + "cynic-codegen", + "darling", + "quote", + "syn 2.0.87", ] [[package]] @@ -1201,22 +1403,8 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -1233,24 +1421,13 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.10", + "darling_core", "quote", "syn 2.0.87", ] @@ -1339,6 +1516,27 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "unicode-xid", +] + [[package]] name = "diff" version = "0.1.13" @@ -1404,6 +1602,15 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "downcast" version = "0.11.0" @@ -1440,6 +1647,19 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-dalek" version = "2.1.1" @@ -1455,6 +1675,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "either" version = "1.13.0" @@ -1539,6 +1771,38 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -1611,15 +1875,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43ddc25e1ad2cc0106d5e2d967397b4fb2068a66677ee9b0eea4600e5cfe8fb4" dependencies = [ "futures", - "hyper", - "hyper-rustls", - "hyper-timeout", + "hyper 0.14.31", + "hyper-rustls 0.24.2", + "hyper-timeout 0.4.1", "log", "pin-project", "rand", "tokio", ] +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1663,6 +1937,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "flex-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +dependencies = [ + "eyre", + "paste", +] + [[package]] name = "float-cmp" version = "0.9.0" @@ -1701,9 +1985,9 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "fuel-abi-types" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bce44ac13b1971be7cea024a2003cf944522093dafec454fea9ff792f0ff2577" +checksum = "026deca571c0d3304a4392a0d99c7477d58cade18b2861232c151eb0816dde0a" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -1730,40 +2014,40 @@ dependencies = [ [[package]] name = "fuel-asm" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f325971bf9047ec70004f80a989e03456316bc19cbef3ff3a39a38b192ab56e" +checksum = "885617a606218680114122f4e1107ed5c9424e42dec05de84843e4a3a99e2cd7" dependencies = [ "bitflags 2.6.0", - "fuel-types 0.58.2", + "fuel-types 0.59.1", "serde", "strum 0.24.1", ] [[package]] name = "fuel-compression" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e42841f56f76ed759b3f516e5188d5c42de47015bee951651660c13b6dfa6c" +checksum = "6269052edeef79b4fe02ee1bb518e926098dd0ef81d88e3a617b218c05cef233" dependencies = [ - "fuel-derive 0.58.2", - "fuel-types 0.58.2", + "fuel-derive 0.59.1", + "fuel-types 0.59.1", "serde", ] [[package]] name = "fuel-core" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5873aa1178f6fafdd967ddee2214a78be8be0c612a9c695889d31b5c1ede44" +checksum = "d7e75606a02ad2c90f1b81cf634057e06e29049924eed9bd0a1c13c5a769065b" dependencies = [ "anyhow", "async-graphql", "async-graphql-value", "async-trait", - "axum", + "axum 0.5.17", "clap", - "derive_more", + "derive_more 0.99.18", "enum-iterator", "fuel-core-chain-config", "fuel-core-compression", @@ -1777,43 +2061,49 @@ dependencies = [ "fuel-core-poa", "fuel-core-producer", "fuel-core-services", + "fuel-core-shared-sequencer", "fuel-core-storage", "fuel-core-txpool", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "fuel-core-upgradable-executor", "futures", "hex", - "hyper", + "hyper 0.14.31", "indicatif", "itertools 0.12.1", + "num_cpus", "paste", + "postcard", "rand", + "rocksdb", "serde", "serde_json", "strum 0.25.0", "strum_macros 0.25.3", + "tempfile", "thiserror", "tokio", "tokio-rayon", "tokio-stream", "tokio-util", - "tower", + "tower 0.4.13", "tower-http 0.4.4", "tracing", + "url", "uuid 1.11.0", ] [[package]] name = "fuel-core-chain-config" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990db3029efd3766c4ae7c92a53c159ae66abf6f568ac6a3d58354f11400e6e2" +checksum = "c07eb148d6490789534dca63a77e2d8033ecd85b74c0bbd3118f3e0962f4233e" dependencies = [ "anyhow", "bech32", "derivative", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "itertools 0.12.1", "postcard", "rand", @@ -1825,21 +2115,21 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09b3a35e82226d77b10653829beb508dc4bcf698fbdaa96610faf894e794444" +checksum = "bdd96a66ac7026c8c60df5cf171ad9eecbf0648e49abfc57d3f7d5df739ced47" dependencies = [ "anyhow", "base64 0.22.1", "cynic", - "derive_more", + "derive_more 0.99.18", "eventsource-client", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "futures", "hex", - "hyper-rustls", + "hyper-rustls 0.24.2", "itertools 0.12.1", - "reqwest", + "reqwest 0.12.12", "schemafy_lib", "serde", "serde_json", @@ -1850,12 +2140,13 @@ dependencies = [ [[package]] name = "fuel-core-compression" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6ed44f8fcd0f1ff5983510e49835149b39afb8226257f6397db17a0ca0558d" +checksum = "f7f25bb9a40048ee8fa5a82f8fb4c56b11022589beb6dd718f91b5682dc11e0a" dependencies = [ "anyhow", - "fuel-core-types 0.40.0", + "enum_dispatch", + "fuel-core-types 0.41.4", "paste", "rand", "serde", @@ -1865,38 +2156,38 @@ dependencies = [ [[package]] name = "fuel-core-consensus-module" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61161b1016ffb1a4f0d629534dd0b165bdaf146ce5037ccd5c8e8c9ec740d52f" +checksum = "7971b214b1498fb49750d5580200e1faac449d7b28805fe8b698e1176ec51bfd" dependencies = [ "anyhow", "fuel-core-chain-config", "fuel-core-poa", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", ] [[package]] name = "fuel-core-database" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceae011a49cbccb0e9b043c67f7e64dfd2f4d41233de34aff11d23646e98f5d8" +checksum = "fe47c270be518140e98c1479651b878845c9a7e2f214a30498786404d44d113c" dependencies = [ "anyhow", - "derive_more", + "derive_more 0.99.18", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", ] [[package]] name = "fuel-core-executor" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db57f06af045fafa81b76ca11318d47579e41babb0839fb0955ae7cf32e58a1f" +checksum = "20de760b6029a678862d344e8eece5f63d09c7ac412f85124e74d2dcdfb7b9e3" dependencies = [ "anyhow", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "hex", "parking_lot", "serde", @@ -1905,41 +2196,43 @@ dependencies = [ [[package]] name = "fuel-core-gas-price-service" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea974f842be1ca7783df7eec770b5865c3babd50a10a5d8f107bdac65419c45" +checksum = "94b4678fae77cc32e9420d403738b7c224fd99ca3803b70a7c00029f9d62f575" dependencies = [ "anyhow", "async-trait", "enum-iterator", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "fuel-gas-price-algorithm", "futures", "num_enum", "parking_lot", - "reqwest", + "reqwest 0.12.12", "serde", + "serde_json", "strum 0.25.0", "strum_macros 0.25.3", "thiserror", "tokio", "tokio-stream", "tracing", + "url", ] [[package]] name = "fuel-core-importer" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a6a75d87da09380dc6f706ec0eb4171cb1309fef6a4c8b709025769a1903235" +checksum = "4b8b8a76cbbba6f78677096c5c6802ba61bdd81131d713d177224f6eaee7ed84" dependencies = [ "anyhow", - "derive_more", + "derive_more 0.99.18", "fuel-core-metrics", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "parking_lot", "rayon", "tokio", @@ -1948,9 +2241,9 @@ dependencies = [ [[package]] name = "fuel-core-metrics" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a1c3eb92040d95d27f7c658801bb5c04ad4aaf67de380cececbeed5aab6e61" +checksum = "4862e95dd35b0d0dde68ea5d1b3ba3ac74f688a1f5268b145aa73be723a620eb" dependencies = [ "once_cell", "parking_lot", @@ -1964,9 +2257,9 @@ dependencies = [ [[package]] name = "fuel-core-p2p" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db5c996b4d392a5f1991b4d2fcc2fe570dc846f8a763a30105cd7b3c8d08e747" +checksum = "261120770ebcba2399aff23a51e5541e822c295c4f6bc82d3051850b598ed170" dependencies = [ "anyhow", "async-trait", @@ -1974,7 +2267,7 @@ dependencies = [ "fuel-core-metrics", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "futures", "hex", "hickory-resolver", @@ -1985,11 +2278,14 @@ dependencies = [ "prometheus-client", "quick-protobuf", "quick-protobuf-codec", + "quick_cache", "rand", "rayon", "serde", "serde_with", "sha2 0.10.8", + "strum 0.25.0", + "strum_macros 0.25.3", "thiserror", "tokio", "tracing", @@ -1998,16 +2294,16 @@ dependencies = [ [[package]] name = "fuel-core-poa" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f6f78fa31dc56b9458e3ca9a7058b4bea381e16e49fcab0db49923be8a30f9c" +checksum = "6b075ba0902dbc2e73cc8e160af1174336df68edc72de16e53a4c54687ff866f" dependencies = [ "anyhow", "async-trait", "fuel-core-chain-config", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "serde", "serde_json", "tokio", @@ -2017,15 +2313,15 @@ dependencies = [ [[package]] name = "fuel-core-producer" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7739b2019df5b9d5042ba2d9f7036c6feee105a0e441d8bcfd933221da5be635" +checksum = "7bc00c5376b06225f2eecddb50912477486a3334817e2d3af464767b185c59a8" dependencies = [ "anyhow", "async-trait", - "derive_more", + "derive_more 0.99.18", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "tokio", "tokio-rayon", "tracing", @@ -2033,9 +2329,9 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8312b598da4b9a6503c9263c1c2a7ea58d34ab1f86e7f345490e12d309fb29bb" +checksum = "eeedffccabe0b1cf36ee799c4eca8ced6acb08512082c4a8106d418089449f41" dependencies = [ "anyhow", "async-trait", @@ -2048,17 +2344,43 @@ dependencies = [ "tracing", ] +[[package]] +name = "fuel-core-shared-sequencer" +version = "0.41.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a2431b93df4ed96cfd3606823eeca8635e085620b8ff79cf550cb08ff31af1" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "cosmos-sdk-proto", + "cosmrs", + "fuel-core-services", + "fuel-core-types 0.41.4", + "fuel-sequencer-proto", + "futures", + "postcard", + "prost 0.12.6", + "reqwest 0.12.12", + "serde", + "serde_json", + "tendermint-rpc", + "tokio", + "tracing", + "url", +] + [[package]] name = "fuel-core-storage" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda9242ebc9e8ef3251b9eae85f4ce5cdb376348baa30925606f3ce602db7ec5" +checksum = "d7b2fb00d3888948699b8412e67fa21fb4a5d19e73b220295071a59b2ced1fc5" dependencies = [ "anyhow", - "derive_more", + "derive_more 0.99.18", "enum-iterator", - "fuel-core-types 0.40.0", - "fuel-vm 0.58.2", + "fuel-core-types 0.41.4", + "fuel-vm 0.59.1", "impl-tools", "itertools 0.12.1", "mockall", @@ -2074,16 +2396,17 @@ dependencies = [ [[package]] name = "fuel-core-txpool" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34cde90da8d814046018c5341129bffdbc51e6721e69ada9a393b3d4c16be14b" +checksum = "d423acc6e5e79f69066d852b113e296f15aa0c26ecbda4606b8f4c0682b9f334" dependencies = [ "anyhow", "async-trait", - "derive_more", + "derive_more 0.99.18", + "fuel-core-metrics", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "futures", "num-rational", "parking_lot", @@ -2101,7 +2424,7 @@ checksum = "84fda0c6dc7b3bd24a993b3902f55862b8db0fa6de5b0f1d45f5942bc59792eb" dependencies = [ "anyhow", "derivative", - "derive_more", + "derive_more 0.99.18", "fuel-vm 0.56.0", "secrecy", "serde", @@ -2111,15 +2434,16 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee3a95b189bf729d21354a761862bb481298cbd883550adc3fef1bc7beb0b67" +checksum = "40479537a591e091863ee5f939f3a8ec248cabf864fb287c13cc2f09d8059d11" dependencies = [ "anyhow", "bs58", "derivative", - "derive_more", - "fuel-vm 0.58.2", + "derive_more 0.99.18", + "fuel-vm 0.59.1", + "k256", "rand", "secrecy", "serde", @@ -2129,15 +2453,15 @@ dependencies = [ [[package]] name = "fuel-core-upgradable-executor" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620b671cd011ee14c846628ca0d913b770923b36fd87d44dd7ba70f1a8db0eec" +checksum = "0a46a579f9424270aa2a2ddfa4b1d60e45d877e473621079cffc2e63db632357" dependencies = [ "anyhow", - "derive_more", + "derive_more 0.99.18", "fuel-core-executor", "fuel-core-storage", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "fuel-core-wasm-executor", "parking_lot", "postcard", @@ -2147,15 +2471,15 @@ dependencies = [ [[package]] name = "fuel-core-wasm-executor" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b44366541d35be9ea11ed88ed54629c64e91c309ca5fbf861fd909d443ca7575" +checksum = "e83b09c3f0f20b9c41424c4f6b34712ff2329b9f69ef98adb353d94d7d0d79b8" dependencies = [ "anyhow", "fuel-core-executor", "fuel-core-storage", "fuel-core-types 0.35.0", - "fuel-core-types 0.40.0", + "fuel-core-types 0.41.4", "postcard", "serde", "serde_json", @@ -2179,15 +2503,15 @@ dependencies = [ [[package]] name = "fuel-crypto" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e318850ca64890ff123a99b6b866954ef49da94ab9bc6827cf6ee045568585" +checksum = "8e5643d6c281369825854bbc96d5d1648fe49ddcc3443961c633270f65e6c4b6" dependencies = [ "coins-bip32", "coins-bip39", "ecdsa", "ed25519-dalek", - "fuel-types 0.58.2", + "fuel-types 0.59.1", "k256", "lazy_static", "p256", @@ -2212,9 +2536,9 @@ dependencies = [ [[package]] name = "fuel-derive" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0bc46a3552964bae5169e79b383761a54bd115ea66951a1a7a229edcefa55a" +checksum = "8703ee10001e6a52ad9a0d8411ca5a92098de978ccfbdddd0ba185f3a7405b4c" dependencies = [ "proc-macro2", "quote", @@ -2224,12 +2548,13 @@ dependencies = [ [[package]] name = "fuel-gas-price-algorithm" -version = "0.40.0" +version = "0.41.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b51715a07bb4a099ca4c658796c7a732f3edb3dfb2cec3407769081c949dc0b" +checksum = "459f23b08bc4dd7a84532d2131ebb516a7da179af81228283878f7cb5c4408e7" dependencies = [ "serde", "thiserror", + "tracing", ] [[package]] @@ -2238,7 +2563,7 @@ version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf17ce8ee5e8b573ea584c223635ff09f1288ad022bcf662954fdccb907602eb" dependencies = [ - "derive_more", + "derive_more 0.99.18", "digest 0.10.7", "fuel-storage 0.56.0", "hashbrown 0.13.2", @@ -2249,19 +2574,31 @@ dependencies = [ [[package]] name = "fuel-merkle" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79eca6a452311c70978a5df796c0f99f27e474b69719e0db4c1d82e68800d07" +checksum = "7446f9cc1885ede3af88cf567931f96fd1feda3146e9052c09b1b260fbd56173" dependencies = [ - "derive_more", + "derive_more 0.99.18", "digest 0.10.7", - "fuel-storage 0.58.2", + "fuel-storage 0.59.1", "hashbrown 0.13.2", "hex", "serde", "sha2 0.10.8", ] +[[package]] +name = "fuel-sequencer-proto" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbdd607c9c70921cc016becde659e5062ae460b7bb3f525a1dd65f8209c0083" +dependencies = [ + "prost 0.12.6", + "prost-types", + "regex", + "tonic 0.11.0", +] + [[package]] name = "fuel-storage" version = "0.56.0" @@ -2270,9 +2607,9 @@ checksum = "4c1b711f28553ddc5f3546711bd220e144ce4c1af7d9e9a1f70b2f20d9f5b791" [[package]] name = "fuel-storage" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0c46b5d76b3e11197bd31e036cd8b1cb46c4d822cacc48836638080c6d2b76" +checksum = "01f810b544f0930fc68e1311ea078fad9af6912d5215a9ae9febda67206e34e5" [[package]] name = "fuel-tx" @@ -2282,7 +2619,7 @@ checksum = "13aae44611588d199dd119e4a0ebd8eb7ae4cde6bf8b4d12715610b1f5e5b731" dependencies = [ "bitflags 2.6.0", "derivative", - "derive_more", + "derive_more 0.99.18", "fuel-asm 0.56.0", "fuel-crypto 0.56.0", "fuel-merkle 0.56.0", @@ -2298,18 +2635,18 @@ dependencies = [ [[package]] name = "fuel-tx" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6723bb8710ba2b70516ac94d34459593225870c937670fb3afaf82e0354667ac" +checksum = "806498d953bc989995425f1bb7c17890f5538a3664c6ec3b5d8a77c63d617421" dependencies = [ "bitflags 2.6.0", - "derivative", - "derive_more", - "fuel-asm 0.58.2", + "derive_more 1.0.0", + "educe", + "fuel-asm 0.59.1", "fuel-compression", - "fuel-crypto 0.58.2", - "fuel-merkle 0.58.2", - "fuel-types 0.58.2", + "fuel-crypto 0.59.1", + "fuel-merkle 0.59.1", + "fuel-types 0.59.1", "hashbrown 0.14.5", "itertools 0.10.5", "postcard", @@ -2332,11 +2669,11 @@ dependencies = [ [[package]] name = "fuel-types" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982265415a99b5bd6277bc24194a233bb2e18764df11c937b3dbb11a02c9e545" +checksum = "d0d46d41db59c131195e6d842cc1e50f0b8adeadf2a840519e8b57b78e57a0bf" dependencies = [ - "fuel-derive 0.58.2", + "fuel-derive 0.59.1", "hex", "rand", "serde", @@ -2352,7 +2689,7 @@ dependencies = [ "backtrace", "bitflags 2.6.0", "derivative", - "derive_more", + "derive_more 0.99.18", "ethnum", "fuel-asm 0.56.0", "fuel-crypto 0.56.0", @@ -2375,24 +2712,24 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.58.2" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b5362d7d072c72eec20581f67fc5400090c356a7f3ae77c79880b3b177b667" +checksum = "9bcf74f636cc01a1ab035458628f925945bb4df9da653058c6ab2b26fa25f087" dependencies = [ "anyhow", "async-trait", "backtrace", "bitflags 2.6.0", - "derivative", - "derive_more", + "derive_more 0.99.18", + "educe", "ethnum", - "fuel-asm 0.58.2", + "fuel-asm 0.59.1", "fuel-compression", - "fuel-crypto 0.58.2", - "fuel-merkle 0.58.2", - "fuel-storage 0.58.2", - "fuel-tx 0.58.2", - "fuel-types 0.58.2", + "fuel-crypto 0.59.1", + "fuel-merkle 0.59.1", + "fuel-storage 0.59.1", + "fuel-tx 0.59.1", + "fuel-types 0.59.1", "hashbrown 0.14.5", "itertools 0.10.5", "libm", @@ -2405,18 +2742,19 @@ dependencies = [ "sha3", "static_assertions", "strum 0.24.1", + "substrate-bn", "tai64", ] [[package]] name = "fuels" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bf359dceffcbab4163bca473a03658b912686c3aa81a223f828260729dd474" +checksum = "953825fefd5141d586051a4639181cfdc1a7f6b9f063759992f3ac0dec4d168c" dependencies = [ "fuel-core-client", - "fuel-crypto 0.58.2", - "fuel-tx 0.58.2", + "fuel-crypto 0.59.1", + "fuel-tx 0.59.1", "fuels-accounts", "fuels-core", "fuels-macros", @@ -2426,9 +2764,9 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0b09d6ce3a12196f6944c74bdd795c39950d32ebaaf56b2943741a5e4308a1" +checksum = "b189b85cd777c7453268f94da63fdea1efcadf02913568ab1c0d9d2c19a7a52d" dependencies = [ "async-trait", "chrono", @@ -2436,10 +2774,10 @@ dependencies = [ "elliptic-curve", "eth-keystore", "fuel-core-client", - "fuel-core-types 0.40.0", - "fuel-crypto 0.58.2", - "fuel-tx 0.58.2", - "fuel-types 0.58.2", + "fuel-core-types 0.41.4", + "fuel-crypto 0.59.1", + "fuel-tx 0.59.1", + "fuel-types 0.59.1", "fuels-core", "itertools 0.12.1", "rand", @@ -2452,9 +2790,9 @@ dependencies = [ [[package]] name = "fuels-code-gen" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bf5f7b37ec598514fb3767abdae5372a9fa0919d350703f5d627ec2eb33456" +checksum = "2834cea3765d3172148285a7f0e5b3e8480c95dddcb70687d6a1545d27e8cba1" dependencies = [ "Inflector", "fuel-abi-types", @@ -2468,22 +2806,22 @@ dependencies = [ [[package]] name = "fuels-core" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab66cdf52fa6ef98dbc9cc7b4ce19c6a340b2a4710c5d5f87eae39ffb868bad7" +checksum = "0ecd1f67da0380e46cc72ec7b00f1323fdee5113b9b0b8d9de3c3bdf2ef785bc" dependencies = [ "async-trait", "bech32", "chrono", "fuel-abi-types", - "fuel-asm 0.58.2", + "fuel-asm 0.59.1", "fuel-core-chain-config", "fuel-core-client", - "fuel-core-types 0.40.0", - "fuel-crypto 0.58.2", - "fuel-tx 0.58.2", - "fuel-types 0.58.2", - "fuel-vm 0.58.2", + "fuel-core-types 0.41.4", + "fuel-crypto 0.59.1", + "fuel-tx 0.59.1", + "fuel-types 0.59.1", + "fuel-vm 0.59.1", "fuels-macros", "hex", "itertools 0.12.1", @@ -2497,9 +2835,9 @@ dependencies = [ [[package]] name = "fuels-macros" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1471d221453d13d4643c9a698212781f0e8ac40f515a8566538db87409e30752" +checksum = "604a27c929d6557289aab0e76ad30025d31d9ea8a567310880129e1a69e114c5" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -2510,15 +2848,15 @@ dependencies = [ [[package]] name = "fuels-programs" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a854561a68ef4088972119cf31023d2d1afd58584da203bcb7dfbd1e84dd8fc" +checksum = "f1ff7d91cd7c396b86331c6e76c489427a249c7d69dd9d3934542e1ca31ece46" dependencies = [ "async-trait", "fuel-abi-types", - "fuel-asm 0.58.2", - "fuel-tx 0.58.2", - "fuel-types 0.58.2", + "fuel-asm 0.59.1", + "fuel-tx 0.59.1", + "fuel-types 0.59.1", "fuels-accounts", "fuels-core", "itertools 0.12.1", @@ -2529,19 +2867,19 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.66.10" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7b428c35a54e4d667343b4051f07a7397e6039bd110411c37647db4478086e" +checksum = "814ed63e1b9266cb7a074e882f638ffd2b8c42a95c13ff2ddda57e3d729d8acf" dependencies = [ "fuel-core", "fuel-core-chain-config", "fuel-core-client", "fuel-core-poa", "fuel-core-services", - "fuel-core-types 0.40.0", - "fuel-crypto 0.58.2", - "fuel-tx 0.58.2", - "fuel-types 0.58.2", + "fuel-core-types 0.41.4", + "fuel-crypto 0.59.1", + "fuel-tx 0.59.1", + "fuel-types 0.59.1", "fuels-accounts", "fuels-core", "futures", @@ -2714,8 +3052,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -2746,14 +3086,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] -name = "graphql-parser" -version = "0.4.0" +name = "glob" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" -dependencies = [ - "combine", - "thiserror", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "group" @@ -2785,6 +3121,39 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.6.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "handlebars" +version = "5.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b" +dependencies = [ + "log", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "hash32" version = "0.2.1" @@ -3022,6 +3391,29 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] + [[package]] name = "http-range-header" version = "0.3.1" @@ -3050,9 +3442,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -3064,6 +3456,27 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.7", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -3072,13 +3485,31 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.31", "log", "rustls 0.21.12", "rustls-native-certs", "tokio", - "tokio-rustls", - "webpki-roots", + "tokio-rustls 0.24.1", + "webpki-roots 0.25.4", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.5.2", + "hyper-util", + "rustls 0.23.16", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.1", + "tower-service", + "webpki-roots 0.26.7", ] [[package]] @@ -3087,12 +3518,44 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper", + "hyper 0.14.31", "pin-project-lite", "tokio", "tokio-io-timeout", ] +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper 1.5.2", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.5.2", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.61" @@ -3327,7 +3790,7 @@ dependencies = [ "bytes", "futures", "http 0.2.12", - "hyper", + "hyper 0.14.31", "log", "rand", "tokio", @@ -3337,9 +3800,9 @@ dependencies = [ [[package]] name = "impl-tools" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a84bc8d2baf8da56e93b4247067d918e1a44829bbbe3e4b875aaf8d7d3c7bc9" +checksum = "0ae95c9095c2f1126d7db785955c73cdc5fc33e7c3fa911bd4a42931672029a7" dependencies = [ "autocfg", "impl-tools-lib", @@ -3349,9 +3812,9 @@ dependencies = [ [[package]] name = "impl-tools-lib" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a795a1e201125947a063b967c79de6ae152143ab522f481d4f493c44835ba37a" +checksum = "2a391adcea096a89a593317881fb61ef4e68d3e7d9de9e2338e6e1557be29e10" dependencies = [ "proc-macro-error2", "proc-macro2", @@ -3359,6 +3822,12 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + [[package]] name = "indexmap" version = "1.9.3" @@ -3499,12 +3968,21 @@ dependencies = [ ] [[package]] -name = "keccak" -version = "0.1.5" +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lalrpop-util" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "e8d05b3fe34b8bd562c338db725dfa9beb9451a48f65f129ccb9538b48d2c93b" dependencies = [ - "cpufeatures", + "rustversion", ] [[package]] @@ -3512,6 +3990,15 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "leb128" @@ -3525,6 +4012,16 @@ version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +[[package]] +name = "libloading" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + [[package]] name = "libm" version = "0.2.11" @@ -3972,7 +4469,7 @@ dependencies = [ "thiserror", "tracing", "url", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] @@ -4000,6 +4497,21 @@ dependencies = [ "libc", ] +[[package]] +name = "librocksdb-sys" +version = "0.11.0+8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "lz4-sys", +] + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -4048,6 +4560,17 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "libz-sys" +version = "1.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -4066,6 +4589,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.12" @@ -4082,6 +4611,39 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "logos" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7251356ef8cb7aec833ddf598c6cb24d17b689d20b993f9d11a3d764e34e6458" +dependencies = [ + "logos-derive", +] + +[[package]] +name = "logos-codegen" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f80069600c0d66734f5ff52cc42f2dabd6b29d205f333d61fd7832e9e9963f" +dependencies = [ + "beef", + "fnv", + "lazy_static", + "proc-macro2", + "quote", + "regex-syntax", + "syn 2.0.87", +] + +[[package]] +name = "logos-derive" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24fb722b06a9dc12adb0963ed585f19fc61dc5413e6a9be9422ef92c091e731d" +dependencies = [ + "logos-codegen", +] + [[package]] name = "lru" version = "0.12.5" @@ -4100,6 +4662,16 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "mach2" version = "0.4.2" @@ -4121,6 +4693,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "memchr" version = "2.7.4" @@ -4487,6 +5065,30 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "ouroboros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" +dependencies = [ + "aliasable", + "ouroboros_macro", + "static_assertions", +] + +[[package]] +name = "ouroboros_macro" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.87", +] + [[package]] name = "p256" version = "0.13.2" @@ -4553,6 +5155,39 @@ dependencies = [ "hmac 0.12.1", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "peg" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "295283b02df346d1ef66052a757869b2876ac29a6bb0ac3f5f7cd44aebe40e8f" +dependencies = [ + "peg-macros", + "peg-runtime", +] + +[[package]] +name = "peg-macros" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdad6a1d9cf116a059582ce415d5f5566aabcd4008646779dab7fdc2a9a9d426" +dependencies = [ + "peg-runtime", + "proc-macro2", + "quote", +] + +[[package]] +name = "peg-runtime" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" + [[package]] name = "pem" version = "3.0.4" @@ -4580,6 +5215,40 @@ dependencies = [ "ucd-trie", ] +[[package]] +name = "pest_derive" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "pest_meta" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.8", +] + [[package]] name = "petgraph" version = "0.6.5" @@ -4759,6 +5428,16 @@ dependencies = [ "yansi", ] +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn 2.0.87", +] + [[package]] name = "primeorder" version = "0.13.6" @@ -4817,6 +5496,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "version_check", + "yansi", +] + [[package]] name = "prometheus-client" version = "0.22.3" @@ -4840,6 +5532,61 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive 0.12.6", +] + +[[package]] +name = "prost" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +dependencies = [ + "bytes", + "prost-derive 0.13.4", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "prost-derive" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost 0.12.6", +] + [[package]] name = "psl-types" version = "2.0.11" @@ -4893,6 +5640,18 @@ dependencies = [ "unsigned-varint 0.8.0", ] +[[package]] +name = "quick_cache" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d7c94f8935a9df96bb6380e8592c70edf497a643f94bd23b2f76b399385dbf4" +dependencies = [ + "ahash", + "equivalent", + "hashbrown 0.14.5", + "parking_lot", +] + [[package]] name = "quinn" version = "0.11.5" @@ -5040,6 +5799,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "regalloc2" version = "0.9.3" @@ -5090,16 +5869,14 @@ checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.7", "bytes", - "cookie", - "cookie_store", "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", - "hyper", - "hyper-rustls", + "http-body 0.4.6", + "hyper 0.14.31", + "hyper-rustls 0.24.2", "ipnet", "js-sys", "log", @@ -5108,23 +5885,68 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls 0.21.12", - "rustls-pemfile", + "rustls-native-certs", + "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +dependencies = [ + "base64 0.22.1", + "bytes", + "cookie", + "cookie_store", + "futures-core", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.5.2", + "hyper-rustls 0.27.5", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.16", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-rustls 0.26.1", + "tower 0.5.2", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.26.7", + "windows-registry", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -5179,9 +6001,19 @@ dependencies = [ name = "ripemd" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rocksdb" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ - "digest 0.10.7", + "libc", + "librocksdb-sys", ] [[package]] @@ -5217,6 +6049,12 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "rustc_version" version = "0.4.1" @@ -5281,7 +6119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.4", "schannel", "security-framework", ] @@ -5295,6 +6133,15 @@ dependencies = [ "base64 0.21.7", ] +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "rustls-pki-types" version = "1.10.0" @@ -5354,6 +6201,15 @@ dependencies = [ "cipher", ] +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "schannel" version = "0.1.26" @@ -5497,6 +6353,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" version = "1.0.215" @@ -5520,6 +6385,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "serde_spanned" version = "0.6.8" @@ -5565,7 +6441,7 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ - "darling 0.20.10", + "darling", "proc-macro2", "quote", "syn 2.0.87", @@ -5834,12 +6710,40 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "substrate-bn" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" +dependencies = [ + "byteorder", + "crunchy", + "lazy_static", + "rand", + "rustc-hex", +] + [[package]] name = "subtle" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "subtle-encoding" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" +dependencies = [ + "zeroize", +] + +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + [[package]] name = "syn" version = "1.0.109" @@ -5868,6 +6772,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + [[package]] name = "synstructure" version = "0.13.1" @@ -5902,9 +6815,9 @@ dependencies = [ [[package]] name = "tai64" -version = "4.1.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "014639506e4f425c78e823eabf56e71c093f940ae55b43e58f682e7bc2f5887a" +checksum = "ed7401421025f4132e6c1f7af5e7f8287383969f36e6628016cd509b8d3da9dc" dependencies = [ "serde", ] @@ -5934,6 +6847,143 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "tendermint" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b50aae6ec24c3429149ad59b5b8d3374d7804d4c7d6125ceb97cb53907fb68d" +dependencies = [ + "bytes", + "digest 0.10.7", + "ed25519", + "ed25519-consensus", + "flex-error", + "futures", + "num-traits", + "once_cell", + "prost 0.12.6", + "prost-types", + "serde", + "serde_bytes", + "serde_json", + "serde_repr", + "sha2 0.10.8", + "signature", + "subtle", + "subtle-encoding", + "tendermint-proto 0.36.0", + "time", + "zeroize", +] + +[[package]] +name = "tendermint" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9703e34d940c2a293804752555107f8dbe2b84ec4c6dd5203831235868105d2" +dependencies = [ + "bytes", + "digest 0.10.7", + "ed25519", + "ed25519-consensus", + "flex-error", + "futures", + "k256", + "num-traits", + "once_cell", + "prost 0.13.4", + "ripemd", + "serde", + "serde_bytes", + "serde_json", + "serde_repr", + "sha2 0.10.8", + "signature", + "subtle", + "subtle-encoding", + "tendermint-proto 0.40.1", + "time", + "zeroize", +] + +[[package]] +name = "tendermint-config" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e07b383dc8780ebbec04cfb603f3fdaba6ea6663d8dd861425b1ffa7761fe90d" +dependencies = [ + "flex-error", + "serde", + "serde_json", + "tendermint 0.36.0", + "toml", + "url", +] + +[[package]] +name = "tendermint-proto" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f193d04afde6592c20fd70788a10b8cb3823091c07456db70d8a93f5fb99c1" +dependencies = [ + "bytes", + "flex-error", + "prost 0.12.6", + "prost-types", + "serde", + "serde_bytes", + "subtle-encoding", + "time", +] + +[[package]] +name = "tendermint-proto" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9e1705aa0fa5ecb2c6aa7fb78c2313c4a31158ea5f02048bf318f849352eb" +dependencies = [ + "bytes", + "flex-error", + "prost 0.13.4", + "serde", + "serde_bytes", + "subtle-encoding", + "time", +] + +[[package]] +name = "tendermint-rpc" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e3c231a3632cab53f92ad4161c730c468c08cfe4f0aa5a6735b53b390aecbd" +dependencies = [ + "async-trait", + "bytes", + "flex-error", + "futures", + "getrandom", + "peg", + "pin-project", + "rand", + "reqwest 0.11.27", + "semver", + "serde", + "serde_bytes", + "serde_json", + "subtle", + "subtle-encoding", + "tendermint 0.36.0", + "tendermint-config", + "tendermint-proto 0.36.0", + "thiserror", + "time", + "tokio", + "tracing", + "url", + "uuid 1.11.0", + "walkdir", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -5956,7 +7006,7 @@ dependencies = [ "assert_matches", "fuel-core", "fuel-core-client", - "fuel-vm 0.58.2", + "fuel-vm 0.59.1", "fuels", "hex", "paste", @@ -6103,6 +7153,16 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls 0.23.16", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.16" @@ -6162,6 +7222,63 @@ dependencies = [ "winnow", ] +[[package]] +name = "tonic" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.6.20", + "base64 0.21.7", + "bytes", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.31", + "hyper-timeout 0.4.1", + "percent-encoding", + "pin-project", + "prost 0.12.6", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.7.9", + "base64 0.22.1", + "bytes", + "h2 0.4.7", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.5.2", + "hyper-timeout 0.5.2", + "hyper-util", + "percent-encoding", + "pin-project", + "prost 0.13.4", + "socket2", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower" version = "0.4.13" @@ -6170,8 +7287,11 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "indexmap 1.9.3", "pin-project", "pin-project-lite", + "rand", + "slab", "tokio", "tokio-util", "tower-layer", @@ -6179,6 +7299,21 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-http" version = "0.3.5" @@ -6190,10 +7325,10 @@ dependencies = [ "futures-core", "futures-util", "http 0.2.12", - "http-body", + "http-body 0.4.6", "http-range-header", "pin-project-lite", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] @@ -6209,7 +7344,7 @@ dependencies = [ "futures-core", "futures-util", "http 0.2.12", - "http-body", + "http-body 0.4.6", "http-range-header", "pin-project-lite", "tokio", @@ -6347,15 +7482,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - [[package]] name = "unsigned-varint" version = "0.7.2" @@ -6432,6 +7558,12 @@ dependencies = [ "getrandom", ] +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.5" @@ -6444,6 +7576,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -6780,6 +7922,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "6.0.3" @@ -6857,6 +8008,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" diff --git a/test/src/sdk-harness/Cargo.toml b/test/src/sdk-harness/Cargo.toml index 7a2a74da1f1..3ae060b8ac3 100644 --- a/test/src/sdk-harness/Cargo.toml +++ b/test/src/sdk-harness/Cargo.toml @@ -10,15 +10,15 @@ publish = false assert_matches = "1.5" # Dependencies from the `fuel-core` repository: -fuel-core = { version = "0.40", default-features = false } +fuel-core = { version = "0.41", default-features = false } # Using full semver as the workspace Cargo.toml (see the comment there) -fuel-core-client = { version = "0.40.0", default-features = false } +fuel-core-client = { version = "0.41.4", default-features = false } # Dependencies from the `fuel-vm` repository: -fuel-vm = { version = "0.58", features = ["random"] } +fuel-vm = { version = "0.59", features = ["random"] } # Dependencies from the `fuels-rs` repository: -fuels = { version = "0.66.10", features = ["fuel-core-lib"] } +fuels = { version = "0.70", features = ["fuel-core-lib"] } hex = "0.4" paste = "1.0" diff --git a/test/src/sdk-harness/test_projects/asset_id/mod.rs b/test/src/sdk-harness/test_projects/asset_id/mod.rs index fde59262697..376910e3efa 100644 --- a/test/src/sdk-harness/test_projects/asset_id/mod.rs +++ b/test/src/sdk-harness/test_projects/asset_id/mod.rs @@ -17,8 +17,10 @@ async fn can_get_base_asset_id() { .await .unwrap() .value; + let consensus_params = wallet.provider().unwrap().consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); - assert_eq!(asset_id, *wallet.provider().unwrap().base_asset_id()); + assert_eq!(asset_id, *base_asset_id); } async fn get_instance(wallet: WalletUnlocked) -> (TestAssetId, ContractId) { diff --git a/test/src/sdk-harness/test_projects/auth/mod.rs b/test/src/sdk-harness/test_projects/auth/mod.rs index 530a291b7e2..704991a7c21 100644 --- a/test/src/sdk-harness/test_projects/auth/mod.rs +++ b/test/src/sdk-harness/test_projects/auth/mod.rs @@ -75,9 +75,13 @@ async fn msg_sender_from_contract() { async fn input_message_msg_sender_from_contract() { // Wallet let mut wallet = WalletUnlocked::new_random(None); + let mut deployer_wallet = WalletUnlocked::new_random(None); // Setup coins and messages let coins = setup_single_asset_coins(wallet.address(), AssetId::BASE, 100, 1000); + let coins_2 = setup_single_asset_coins(deployer_wallet.address(), AssetId::BASE, 100, 1000); + let total_coins = [coins, coins_2].concat(); + let msg = setup_single_message( &Bech32Address { hrp: "".to_string(), @@ -89,10 +93,11 @@ async fn input_message_msg_sender_from_contract() { vec![], ); - let provider = setup_test_provider(coins.clone(), vec![msg.clone()], None, None) + let provider = setup_test_provider(total_coins.clone(), vec![msg.clone()], None, None) .await .unwrap(); wallet.set_provider(provider.clone()); + deployer_wallet.set_provider(provider.clone()); // Setup contract let id = Contract::load_from( @@ -100,7 +105,7 @@ async fn input_message_msg_sender_from_contract() { LoadConfiguration::default(), ) .unwrap() - .deploy(&wallet, TxPolicies::default()) + .deploy(&deployer_wallet, TxPolicies::default()) .await .unwrap(); let instance = AuthContract::new(id.clone(), wallet.clone()); @@ -109,7 +114,7 @@ async fn input_message_msg_sender_from_contract() { let call_handler = instance .methods() .returns_msg_sender_address(Address::from(*msg.recipient.hash())); - let mut tb = call_handler.transaction_builder().await.unwrap(); + let mut tb = call_handler.transaction_builder().await.unwrap().enable_burn(true); // Inputs tb.inputs_mut().push(Input::ResourceSigned { @@ -258,7 +263,7 @@ async fn caller_addresses_from_messages() { tb.add_signer(wallet3.clone()).unwrap(); let provider = wallet1.provider().unwrap(); - let tx = tb.build(provider.clone()).await.unwrap(); + let tx = tb.enable_burn(true).build(provider.clone()).await.unwrap(); // Send and verify let tx_id = provider.send_transaction(tx).await.unwrap(); @@ -398,7 +403,7 @@ async fn caller_addresses_from_coins() { tb.add_signer(wallet3.clone()).unwrap(); let provider = wallet1.provider().unwrap(); - let tx = tb.build(provider.clone()).await.unwrap(); + let tx = tb.enable_burn(true).build(provider.clone()).await.unwrap(); // Send and verify let tx_id = provider.send_transaction(tx).await.unwrap(); @@ -539,7 +544,7 @@ async fn caller_addresses_from_coins_and_messages() { tb.add_signer(wallet3.clone()).unwrap(); let provider = wallet1.provider().unwrap(); - let tx = tb.build(provider.clone()).await.unwrap(); + let tx = tb.enable_burn(true).build(provider.clone()).await.unwrap(); // Send and verify let tx_id = provider.send_transaction(tx).await.unwrap(); diff --git a/test/src/sdk-harness/test_projects/script_data/mod.rs b/test/src/sdk-harness/test_projects/script_data/mod.rs index 4768da0f62d..07c4798e9ed 100644 --- a/test/src/sdk-harness/test_projects/script_data/mod.rs +++ b/test/src/sdk-harness/test_projects/script_data/mod.rs @@ -19,7 +19,8 @@ async fn call_script(script_data: Vec) -> Result> { .with_script(std::fs::read( "test_projects/script_data/out/release/script_data.bin", )?) - .with_script_data(script_data); + .with_script_data(script_data) + .enable_burn(true); tx.add_signer(wallet.clone()).unwrap(); diff --git a/test/src/sdk-harness/test_projects/tx_fields/mod.rs b/test/src/sdk-harness/test_projects/tx_fields/mod.rs index b732ccab1f0..59c29f27442 100644 --- a/test/src/sdk-harness/test_projects/tx_fields/mod.rs +++ b/test/src/sdk-harness/test_projects/tx_fields/mod.rs @@ -112,11 +112,11 @@ async fn get_contracts( let contract_id = Contract::load_from(TX_CONTRACT_BYTECODE_PATH, LoadConfiguration::default()) .unwrap() - .deploy(&wallet, TxPolicies::default()) + .deploy(&deployment_wallet, TxPolicies::default()) .await .unwrap(); - let instance = TxContractTest::new(contract_id.clone(), deployment_wallet.clone()); + let instance = TxContractTest::new(contract_id.clone(), wallet.clone()); (instance, contract_id.into(), wallet, deployment_wallet) } @@ -194,12 +194,9 @@ async fn setup_output_predicate( ], ); - let mut node_config = NodeConfig::default(); - node_config.starting_gas_price = 0; - let mut wallets = - launch_custom_provider_and_get_wallets(wallets_config, Some(node_config), None) - .await - .unwrap(); + let mut wallets = launch_custom_provider_and_get_wallets(wallets_config, None, None) + .await + .unwrap(); let wallet1 = wallets.pop().unwrap(); let wallet2 = wallets.pop().unwrap(); @@ -362,7 +359,7 @@ mod tx { builder.add_signer(wallet.clone()).unwrap(); - let tx = builder.build(provider).await.unwrap(); + let tx = builder.enable_burn(true).build(provider).await.unwrap(); let tx_inputs = tx.inputs().clone(); @@ -513,6 +510,8 @@ mod tx { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Get the predicate let predicate_data = TestTxTypePredicateEncoder::default() @@ -525,10 +524,7 @@ mod tx { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); // Prepare bytecode and subsections @@ -542,7 +538,7 @@ mod tx { .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await @@ -550,10 +546,7 @@ mod tx { } // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!( predicate_balance as usize, predicate_coin_amount as usize * subsections.len() @@ -568,16 +561,13 @@ mod tx { // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); + let predicate_output = + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); @@ -594,10 +584,7 @@ mod tx { } // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } @@ -616,6 +603,8 @@ mod tx { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare bytecode and subsections let bytecode = fs::read(TX_CONTRACT_BYTECODE_PATH).unwrap(); @@ -649,26 +638,20 @@ mod tx { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!( predicate_balance as usize, predicate_coin_amount as usize * subsections.len() @@ -676,16 +659,13 @@ mod tx { // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); + let predicate_output = + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); @@ -701,10 +681,7 @@ mod tx { provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } } @@ -725,6 +702,8 @@ mod tx { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Get the predicate let predicate_data = TestTxTypePredicateEncoder::default() @@ -737,10 +716,7 @@ mod tx { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); // Transfer enough funds to the predicate @@ -748,17 +724,14 @@ mod tx { .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance as usize, predicate_coin_amount as usize); // Prepare blobs @@ -773,13 +746,13 @@ mod tx { let blob = blobs[0].clone(); // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate let predicate_output = - wallet.get_asset_outputs_for_amount(&wallet.address(), *provider.base_asset_id(), 1); + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); let mut builder = BlobTransactionBuilder::default().with_blob(blob); @@ -801,10 +774,7 @@ mod tx { .unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } @@ -824,6 +794,8 @@ mod tx { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare blobs let max_words_per_blob = 10_000; @@ -839,12 +811,12 @@ mod tx { let mut builder = BlobTransactionBuilder::default().with_blob(blob.clone()); // Prepare the predicate - let witnesses = builder.witnesses().clone(); let predicate_data = TestTxWitnessPredicateEncoder::new(EncoderConfig { max_depth: 10, max_tokens: 100_000, }) - .encode_data( // Blob and witnesses are just wrappers for Vec, and function the same in case of Transaction::Blob, so using blobs here instead of witnesses + .encode_data( + // Blob and witnesses are just wrappers for Vec, and function the same in case of Transaction::Blob, so using blobs here instead of witnesses 0, blobs.len() as u64 + 1, blob.len() as u64, @@ -858,37 +830,31 @@ mod tx { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance as usize, predicate_coin_amount as usize); // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate let predicate_output = - wallet.get_asset_outputs_for_amount(&wallet.address(), *provider.base_asset_id(), 1); + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); @@ -904,10 +870,7 @@ mod tx { provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } } @@ -941,7 +904,7 @@ mod inputs { // Assert invalid index returns None let result = contract_instance .methods() - .get_input_type(2) + .get_input_type(100) // 100 is a very high input index .call() .await .unwrap(); @@ -950,7 +913,7 @@ mod inputs { #[tokio::test] async fn can_get_tx_input_amount() { - let default_amount = 1000000000; + let default_amount = 1000; let (contract_instance, _, _, _) = get_contracts(true).await; let result = contract_instance .methods() @@ -964,7 +927,7 @@ mod inputs { // Assert invalid index returns None let result = contract_instance .methods() - .get_input_amount(2) + .get_input_amount(0) .call() .await .unwrap(); @@ -974,7 +937,7 @@ mod inputs { #[tokio::test] async fn can_get_tx_input_coin_owner() { - let (contract_instance, _, _, deployment_wallet) = get_contracts(true).await; + let (contract_instance, _, wallet, _) = get_contracts(true).await; let owner_result = contract_instance .methods() @@ -983,12 +946,12 @@ mod inputs { .await .unwrap(); - assert_eq!(owner_result.value, Some(deployment_wallet.address().into())); + assert_eq!(owner_result.value, Some(wallet.address().into())); // Assert invalid index returns None let result = contract_instance .methods() - .get_input_coin_owner(2) + .get_input_coin_owner(0) .call() .await .unwrap(); @@ -1004,32 +967,30 @@ mod inputs { let provider = wallet.provider().unwrap(); // Add predicate coin to inputs and call contract - let mut tb = contract_instance + let handler = contract_instance .methods() - .get_input_predicate(1, predicate_bytes.clone()) - .transaction_builder() - .await - .unwrap(); + .get_input_predicate(1, predicate_bytes.clone()); + let mut tb = handler.transaction_builder().await.unwrap(); tb.inputs_mut().push(predicate_coin); - let tx = tb.build(provider).await.unwrap(); + let tx = tb.enable_burn(true).build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); - assert_eq!(receipts[1].data(), Some(&[1u8][..])); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); + + assert!(response.value); // Assert invalid index returns None let result = contract_instance .methods() - .get_input_predicate(3, predicate_bytes.clone()) + .get_input_predicate(0, predicate_bytes.clone()) .call() .await .unwrap(); @@ -1052,6 +1013,8 @@ mod inputs { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare bytecode and subsections let bytecode = fs::read(TX_CONTRACT_BYTECODE_PATH).unwrap(); @@ -1077,26 +1040,20 @@ mod inputs { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!( predicate_balance as usize, predicate_coin_amount as usize * subsections.len() @@ -1104,16 +1061,13 @@ mod inputs { // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); + let predicate_output = + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); @@ -1129,10 +1083,7 @@ mod inputs { provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } } @@ -1152,6 +1103,8 @@ mod inputs { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare blobs let max_words_per_blob = 10_000; @@ -1178,40 +1131,31 @@ mod inputs { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance as usize, predicate_coin_amount as usize); // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); + let predicate_output = + wallet.get_asset_outputs_for_amount(&wallet.address(), *base_asset_id, 1); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); @@ -1227,10 +1171,7 @@ mod inputs { provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } @@ -1258,7 +1199,7 @@ mod inputs { builder.add_signer(wallet.clone()).unwrap(); - let tx = builder.build(provider).await.unwrap(); + let tx = builder.enable_burn(true).build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); let tx_id = provider.send_transaction(tx).await.unwrap(); @@ -1285,38 +1226,30 @@ mod inputs { #[tokio::test] async fn can_get_input_message_recipient() { - let (contract_instance, _, wallet, _) = get_contracts(true).await; + let (contract_instance, _, wallet, _) = get_contracts(false).await; let provider = wallet.provider().unwrap(); let message = &wallet.get_messages().await.unwrap()[0]; let recipient = message.recipient.hash; - let mut builder = contract_instance - .methods() - .get_input_message_recipient(3) - .transaction_builder() - .await - .unwrap(); - - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); - + let handler = contract_instance.methods().get_input_message_recipient(1); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(SdkInput::ResourceSigned { resource: CoinType::Message(message.clone()), }); - + // This message will pay for the tx fee - hence no need to use adjust_for_fee builder.add_signer(wallet.clone()).unwrap(); - let tx = builder.build(provider).await.unwrap(); + let tx = builder.enable_burn(true).build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); - assert_eq!(receipts[1].data().unwrap()[8..40], *recipient.as_slice()); + assert_eq!(response.value.unwrap().as_slice(), recipient.as_slice()); // Assert none returned when transaction type is not a message let none_result = contract_instance @@ -1331,20 +1264,14 @@ mod inputs { #[tokio::test] async fn can_get_input_message_nonce() { - let (contract_instance, _, wallet, _) = get_contracts(true).await; + let (contract_instance, _, wallet, _) = get_contracts(false).await; let provider = wallet.provider().unwrap(); let message = &wallet.get_messages().await.unwrap()[0]; let nonce = message.nonce; - let mut builder = contract_instance - .methods() - .get_input_message_nonce(3) - .transaction_builder() - .await - .unwrap(); - - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + let handler = contract_instance.methods().get_input_message_nonce(1); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(SdkInput::ResourceSigned { resource: CoinType::Message(message.clone()), @@ -1352,18 +1279,17 @@ mod inputs { builder.add_signer(wallet.clone()).unwrap(); - let tx = builder.build(provider).await.unwrap(); + let tx = builder.enable_burn(true).build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); - assert_eq!(receipts[1].data().unwrap()[8..40], *nonce.as_slice()); + assert_eq!(response.value.unwrap().0.as_slice(), nonce.as_slice()); // Assert none returned when transaction type is not a message let none_result = contract_instance @@ -1391,7 +1317,7 @@ mod inputs { // Assert none returned when not a valid index let none_result = contract_instance .methods() - .get_input_witness_index(3) + .get_input_witness_index(0) .call() .await .unwrap(); @@ -1405,36 +1331,32 @@ mod inputs { let provider = wallet.provider().unwrap(); let message = &wallet.get_messages().await.unwrap()[0]; - let mut builder = contract_instance - .methods() - .get_input_message_data_length(3) - .transaction_builder() - .await - .unwrap(); - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + let handler = contract_instance.methods().get_input_message_data_length(1); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(SdkInput::ResourceSigned { resource: CoinType::Message(message.clone()), }); + wallet + .adjust_for_fee(&mut builder, 1_000_000_000) + .await + .unwrap(); + builder.add_signer(wallet.clone()).unwrap(); let tx = builder.build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); - assert_eq!( - receipts[1].data(), - Some(&[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3][..]) - ); + assert_eq!(response.value.unwrap(), 3); // Assert none returned when transaction type is not a message let none_result = contract_instance @@ -1454,41 +1376,33 @@ mod inputs { generate_predicate_inputs(100, &wallet).await; let provider = wallet.provider().unwrap(); - let mut builder = contract_instance - .methods() - .get_input_predicate_length(3) - .transaction_builder() - .await - .unwrap(); - - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + let handler = contract_instance.methods().get_input_predicate_length(1); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(message); + wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + builder.add_signer(wallet.clone()).unwrap(); let tx = builder.build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); - let len = predicate_bytecode.len() as u64; - assert_eq!( - receipts[1].data().unwrap()[8..16], - *len.to_be_bytes().as_slice() - ); + let expected_length = predicate_bytecode.len() as u64; + assert_eq!(response.value.unwrap(), expected_length); // Assert none returned when index is invalid let none_result = contract_instance .methods() - .get_input_predicate_length(3) + .get_input_predicate_length(0) // always a contract input .call() .await .unwrap(); @@ -1549,34 +1463,35 @@ mod inputs { let message = &wallet.get_messages().await.unwrap()[0]; let provider = wallet.provider().unwrap(); - let mut builder = contract_instance - .methods() - .get_input_message_data(3, 0, Bytes(MESSAGE_DATA.into())) - .transaction_builder() - .await - .unwrap(); - - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + let handler = contract_instance.methods().get_input_message_data( + 1, + 0, + Bytes(MESSAGE_DATA.into()), + ); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(SdkInput::ResourceSigned { resource: CoinType::Message(message.clone()), }); + wallet + .adjust_for_fee(&mut builder, 1_000_000_000) + .await + .unwrap(); + builder.add_signer(wallet.clone()).unwrap(); let tx = builder.build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); - assert_eq!(receipts[1].data(), Some(&[1][..])); + assert!(response.value); // Assert none returned when transaction type is not a message let none_result = contract_instance @@ -1595,34 +1510,34 @@ mod inputs { let message = &wallet.get_messages().await.unwrap()[0]; let provider = wallet.provider().unwrap(); - let mut builder = contract_instance - .methods() - .get_input_message_data(3, 1, Bytes(MESSAGE_DATA[1..].into())) - .transaction_builder() - .await - .unwrap(); - - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + let handler = contract_instance.methods().get_input_message_data( + 1, + 1, + Bytes(MESSAGE_DATA[1..].into()), + ); + let mut builder = handler.transaction_builder().await.unwrap(); builder.inputs_mut().push(SdkInput::ResourceSigned { resource: CoinType::Message(message.clone()), }); + wallet + .adjust_for_fee(&mut builder, 1_000_000_000) + .await + .unwrap(); + builder.add_signer(wallet.clone()).unwrap(); let tx = builder.build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); - - assert_eq!(receipts[1].data(), Some(&[1][..])); + let receipts = tx_status.take_receipts_checked(None).unwrap(); + let response = handler.get_response(receipts).unwrap(); + assert!(response.value); } #[tokio::test] @@ -1674,33 +1589,33 @@ mod inputs { let handler = contract_instance .methods() - .get_input_predicate(3, predicate_bytecode.clone()); + .get_input_predicate(1, predicate_bytecode.clone()); let mut builder = handler.transaction_builder().await.unwrap(); - wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); - builder.inputs_mut().push(message); + wallet.adjust_for_fee(&mut builder, 1000).await.unwrap(); + builder.add_signer(wallet.clone()).unwrap(); let tx = builder.build(provider).await.unwrap(); let provider = wallet.provider().unwrap(); - let tx_id = provider.send_transaction(tx).await.unwrap(); - let receipts = provider - .tx_status(&tx_id) + let tx_status = provider + .send_transaction_and_await_commit(tx) .await - .unwrap() - .take_receipts_checked(None) .unwrap(); + let receipts = tx_status.take_receipts_checked(None).unwrap(); - assert_eq!(receipts[1].data(), Some(1u8.to_le_bytes().as_slice())); + // Use the handler to get and decode the response using the receipt + let response = handler.get_response(receipts).unwrap(); + assert!(response.value); // Assert none returned when index is invalid let none_result = contract_instance .methods() - .get_input_predicate(3, predicate_bytecode) + .get_input_predicate(0, predicate_bytecode) // 0 is always a contract input .call() .await .unwrap(); @@ -1715,6 +1630,8 @@ mod outputs { use super::*; mod success { + use fuel_core_client::client::schema::schema::__fields::GasCosts::exp; + use super::*; #[tokio::test] @@ -1757,6 +1674,8 @@ mod outputs { .pop() .unwrap(); let provider = wallet.try_provider().unwrap(); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Get the predicate let predicate: Predicate = @@ -1766,10 +1685,7 @@ mod outputs { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); // Transfer funds to predicate @@ -1777,17 +1693,14 @@ mod outputs { .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, predicate_coin_amount); // Get contract ready for deployment @@ -1809,14 +1722,14 @@ mod outputs { // Inputs let inputs = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), predicate_coin_amount, None) + .get_asset_inputs_for_amount(*base_asset_id, predicate_coin_amount, None) .await .unwrap(); // Outputs let mut outputs = wallet.get_asset_outputs_for_amount( &wallet.address(), - *provider.base_asset_id(), + *base_asset_id, predicate_coin_amount, ); outputs.push(SdkOutput::contract_created( @@ -1871,8 +1784,8 @@ mod outputs { .unwrap(); let new_balance = predicate.get_asset_balance(&asset_id).await.unwrap(); - - assert!(balance - transfer_amount == new_balance); + let expected_fee = 1; + assert_eq!(balance - transfer_amount - expected_fee, new_balance); } #[tokio::test] @@ -1902,6 +1815,8 @@ mod outputs { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare bytecode and subsections let bytecode = fs::read(TX_CONTRACT_BYTECODE_PATH).unwrap(); @@ -1917,7 +1832,7 @@ mod outputs { // Prepare the predicate let predicate_data = TestTxOutputCountPredicateEncoder::default() - .encode_data(builder.inputs().len() as u16 + 1u16) // Add one for this predicate + .encode_data(1) // There is only 1 output - which is a change output .unwrap(); let predicate: Predicate = Predicate::load_from(TX_OUTPUT_COUNT_PREDICATE_BYTECODE_PATH) @@ -1927,26 +1842,20 @@ mod outputs { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!( predicate_balance as usize, predicate_coin_amount as usize * subsections.len() @@ -1954,35 +1863,24 @@ mod outputs { // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); - // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); - // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); - builder - .outputs - .push(predicate_output.get(0).unwrap().clone()); - - wallet.add_witnesses(&mut builder).unwrap(); - wallet.adjust_for_fee(&mut builder, 0).await.unwrap(); + builder.outputs.push(SdkOutput::change( + wallet.address().into(), + 0, + *base_asset_id, + )); // Submit the transaction let tx = builder.build(&provider).await.unwrap(); provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } } @@ -2002,6 +1900,8 @@ mod outputs { .await .unwrap(); wallet.set_provider(provider.clone()); + let consensus_params = provider.consensus_parameters().await.unwrap(); + let base_asset_id = consensus_params.base_asset_id(); // Prepare blobs let max_words_per_blob = 10_000; @@ -2015,11 +1915,9 @@ mod outputs { let blob = blobs[0].clone(); - let mut builder = BlobTransactionBuilder::default().with_blob(blob); - // Prepare the predicate let predicate_data = TestTxOutputCountPredicateEncoder::default() - .encode_data(builder.inputs().len() as u16 + 1u16) // Add one for this predicate + .encode_data(1) // There is only 1 output - which is a change output .unwrap(); let predicate: Predicate = Predicate::load_from(TX_OUTPUT_COUNT_PREDICATE_BYTECODE_PATH) @@ -2029,59 +1927,44 @@ mod outputs { let predicate_coin_amount = 100; // Predicate has no funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); wallet .transfer( predicate.address(), predicate_coin_amount, - *provider.base_asset_id(), + *base_asset_id, TxPolicies::default(), ) .await .unwrap(); // Predicate has funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance as usize, predicate_coin_amount as usize); // Inputs for predicate let predicate_input = predicate - .get_asset_inputs_for_amount(*provider.base_asset_id(), 1, None) + .get_asset_inputs_for_amount(*base_asset_id, 1, None) .await .unwrap(); - // Outputs for predicate - let predicate_output = wallet.get_asset_outputs_for_amount( - &wallet.address(), - *provider.base_asset_id(), - 1, - ); + let mut builder = BlobTransactionBuilder::default().with_blob(blob); // Append the predicate to the transaction builder.inputs.push(predicate_input.get(0).unwrap().clone()); - builder - .outputs - .push(predicate_output.get(0).unwrap().clone()); - - wallet.add_witnesses(&mut builder).unwrap(); - wallet.adjust_for_fee(&mut builder, 0).await.unwrap(); + builder.outputs.push(SdkOutput::change( + wallet.address().into(), + 0, + *base_asset_id, + )); // Submit the transaction let tx = builder.build(&provider).await.unwrap(); provider.send_transaction(tx).await.unwrap(); // The predicate has spent it's funds - let predicate_balance = predicate - .get_asset_balance(&provider.base_asset_id()) - .await - .unwrap(); + let predicate_balance = predicate.get_asset_balance(base_asset_id).await.unwrap(); assert_eq!(predicate_balance, 0); } @@ -2119,34 +2002,32 @@ mod outputs { let mut tb = call_handler.transaction_builder().await.unwrap(); // Inputs for predicate - let transfer_amount = 100; - let predicate_input = predicate + let transfer_amount = 99; + let predicate_inputs = predicate .get_asset_inputs_for_amount(asset_id, transfer_amount, None) .await .unwrap(); // Outputs for predicate - let predicate_output = - wallet.get_asset_outputs_for_amount(&wallet.address(), asset_id, transfer_amount); + let predicate_outputs = + wallet.get_asset_outputs_for_amount(wallet.address(), asset_id, transfer_amount); // Append the inputs and outputs to the transaction - tb.inputs.push(predicate_input.get(0).unwrap().clone()); - tb.outputs.push(predicate_output.get(0).unwrap().clone()); - tb.outputs.push(SdkOutput::Change { - to: wallet.address().into(), - amount: 0, - asset_id, - }); - - wallet.adjust_for_fee(&mut tb, 0).await.unwrap(); - tb.add_signer(wallet.clone()).unwrap(); + tb.inputs.extend(predicate_inputs); + tb.outputs.extend(predicate_outputs); let tx = tb.build(provider.clone()).await.unwrap(); - let _tx_id = provider.send_transaction(tx).await.unwrap(); + use fuels::types::transaction::Transaction; + dbg!(&tx.outputs()); + let _ = provider + .send_transaction_and_await_commit(tx) + .await + .unwrap(); // Assert the predicate balance has changed let new_balance = predicate.get_asset_balance(&asset_id).await.unwrap(); - assert!(balance - transfer_amount == new_balance); + let expected_fee = 1; + assert_eq!(balance - transfer_amount - expected_fee, new_balance); } #[tokio::test]