diff --git a/.gitignore b/.gitignore index 66d1451..c53c2af 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ book/book/ package.json yarn.lock node_modules/ + +.env \ No newline at end of file diff --git a/README.md b/README.md index a255d7a..2a05335 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,16 @@ To test the project, run: snforge test ``` +## Bindings (Rust) + +To build/update the bindings, first build the contract with `scarb`. + +Then, within the Rust project `bindings/` run: + +````bash +cargo build +```` + ## Scripts ### `submit-state-diff` diff --git a/bindings/Cargo.lock b/bindings/Cargo.lock new file mode 100644 index 0000000..9a375fb --- /dev/null +++ b/bindings/Cargo.lock @@ -0,0 +1,2577 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest", + "itertools", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std", + "digest", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "async-trait" +version = "0.1.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "autocfg" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bigdecimal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "bindings" +version = "0.1.0" +dependencies = [ + "cainome", + "starknet", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cainome" +version = "0.2.3" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.2.5#54df2a4114c0c61359c2f1a70bc7e5fb57d9eaf2" +dependencies = [ + "anyhow", + "async-trait", + "cainome-cairo-serde", + "cainome-parser", + "cainome-rs", + "cainome-rs-macro", + "camino", + "clap", + "clap_complete", + "convert_case", + "serde", + "serde_json", + "starknet", + "thiserror", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "cainome-cairo-serde" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.2.5#54df2a4114c0c61359c2f1a70bc7e5fb57d9eaf2" +dependencies = [ + "starknet", + "thiserror", +] + +[[package]] +name = "cainome-parser" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.2.5#54df2a4114c0c61359c2f1a70bc7e5fb57d9eaf2" +dependencies = [ + "convert_case", + "quote", + "serde_json", + "starknet", + "syn 2.0.55", + "thiserror", +] + +[[package]] +name = "cainome-rs" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.2.5#54df2a4114c0c61359c2f1a70bc7e5fb57d9eaf2" +dependencies = [ + "anyhow", + "cainome-cairo-serde", + "cainome-parser", + "proc-macro2", + "quote", + "serde_json", + "starknet", + "syn 2.0.55", + "thiserror", +] + +[[package]] +name = "cainome-rs-macro" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.2.5#54df2a4114c0c61359c2f1a70bc7e5fb57d9eaf2" +dependencies = [ + "anyhow", + "cainome-cairo-serde", + "cainome-parser", + "cainome-rs", + "proc-macro2", + "quote", + "serde_json", + "starknet", + "syn 2.0.55", + "thiserror", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cc" +version = "1.0.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.4", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.0", +] + +[[package]] +name = "clap_complete" +version = "4.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_derive" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.55", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "either" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "eth-keystore" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest", + "hex", + "hmac", + "pbkdf2", + "rand", + "scrypt", + "serde", + "serde_json", + "sha2", + "sha3", + "thiserror", + "uuid", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-rlp", + "impl-serde", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "h2" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[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", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-rustls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustls" +version = "0.21.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac", + "pbkdf2", + "salsa20", + "sha2", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "serde_json" +version = "1.0.115" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_json_pythonic" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62212da9872ca2a0cad0093191ee33753eddff9266cbbc1b4a602d13a3a768db" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "base64 0.13.1", + "chrono", + "hex", + "indexmap 1.9.3", + "serde", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest", + "keccak", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "starknet" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f8002bf3d750dd2c0434aca8b5e88e2438cd6c452f4c18f34d0a8a9f42cb1a" +dependencies = [ + "starknet-accounts", + "starknet-contract", + "starknet-core", + "starknet-crypto", + "starknet-ff", + "starknet-macros", + "starknet-providers", + "starknet-signers", +] + +[[package]] +name = "starknet-accounts" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8e39a5807a735343493781dd5e640c4af838de470b0a73f420bed642fdc2ff1" +dependencies = [ + "async-trait", + "auto_impl", + "starknet-core", + "starknet-providers", + "starknet-signers", + "thiserror", +] + +[[package]] +name = "starknet-contract" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4996991356cd0e9499c663680eba7e77de4109e4995f652c1608899a65c09ee" +dependencies = [ + "serde", + "serde_json", + "serde_with", + "starknet-accounts", + "starknet-core", + "starknet-providers", + "thiserror", +] + +[[package]] +name = "starknet-core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b15034c07557615f6bea248cb2ac91a103f56792c515319025a5edc4de2a60e" +dependencies = [ + "base64 0.21.7", + "flate2", + "hex", + "serde", + "serde_json", + "serde_json_pythonic", + "serde_with", + "sha3", + "starknet-crypto", + "starknet-ff", +] + +[[package]] +name = "starknet-crypto" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33c03f5ac70f9b067f48db7d2d70bdf18ee0f731e8192b6cfa679136becfcdb0" +dependencies = [ + "crypto-bigint", + "hex", + "hmac", + "num-bigint", + "num-integer", + "num-traits", + "rfc6979", + "sha2", + "starknet-crypto-codegen", + "starknet-curve", + "starknet-ff", + "zeroize", +] + +[[package]] +name = "starknet-crypto-codegen" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af6527b845423542c8a16e060ea1bc43f67229848e7cd4c4d80be994a84220ce" +dependencies = [ + "starknet-curve", + "starknet-ff", + "syn 2.0.55", +] + +[[package]] +name = "starknet-curve" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63c454fecadfb3fe56ee82c405439d663c8a037667cc9d8e4acb1fb17e15b1af" +dependencies = [ + "starknet-ff", +] + +[[package]] +name = "starknet-ff" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "067419451efdea1ee968df8438369960c167e0e905c05b84afd074f50e1d6f3d" +dependencies = [ + "ark-ff", + "bigdecimal", + "crypto-bigint", + "getrandom", + "hex", + "num-bigint", + "serde", +] + +[[package]] +name = "starknet-macros" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5d2964612f0ccd0a700279e33cfc98d6db04f64645ff834f3b7ec422142d7a" +dependencies = [ + "starknet-core", + "syn 2.0.55", +] + +[[package]] +name = "starknet-providers" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a4bd1c262936543d6d14d299f476585e8c9625a4e284d9255b54f1c2e68e64a" +dependencies = [ + "async-trait", + "auto_impl", + "ethereum-types", + "flate2", + "log", + "reqwest", + "serde", + "serde_json", + "serde_with", + "starknet-core", + "thiserror", + "url", +] + +[[package]] +name = "starknet-signers" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c5eb659e66b56ceafb9025cd601226d8f34d273f1b826cd4053ab6333ff0898" +dependencies = [ + "async-trait", + "auto_impl", + "crypto-bigint", + "eth-keystore", + "rand", + "starknet-core", + "starknet-crypto", + "thiserror", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags", + "core-foundation", + "system-configuration-sys", +] + +[[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", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.55", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +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 = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] diff --git a/bindings/Cargo.toml b/bindings/Cargo.toml new file mode 100644 index 0000000..d56a8f7 --- /dev/null +++ b/bindings/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "bindings" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +cainome = { git = "https://github.com/cartridge-gg/cainome", tag = "v0.2.5", features = ["abigen-rs"] } +starknet = "0.9.0" diff --git a/bindings/src/bindings.rs b/bindings/src/bindings.rs new file mode 100644 index 0000000..562eff0 --- /dev/null +++ b/bindings/src/bindings.rs @@ -0,0 +1 @@ +# [derive (Debug)] pub struct BlobstreamX < A : starknet :: accounts :: ConnectedAccount + Sync > {pub address : starknet :: core :: types :: FieldElement , pub account : A ,} impl < A : starknet :: accounts :: ConnectedAccount + Sync > BlobstreamX < A > {pub fn new (address : starknet :: core :: types :: FieldElement , account : A) -> Self {Self {address , account}} pub fn set_contract_address (mut self , address : starknet :: core :: types :: FieldElement) {self . address = address ;} pub fn provider (& self) -> & A :: Provider {self . account . provider ()}} # [derive (Debug)] pub struct BlobstreamXReader < P : starknet :: providers :: Provider + Sync > {pub address : starknet :: core :: types :: FieldElement , pub provider : P , pub block_id : starknet :: core :: types :: BlockId ,} impl < P : starknet :: providers :: Provider + Sync > BlobstreamXReader < P > {pub fn new (address : starknet :: core :: types :: FieldElement , provider : P ,) -> Self {Self {address , provider , block_id : starknet :: core :: types :: BlockId :: Tag (starknet :: core :: types :: BlockTag :: Pending)}} pub fn set_contract_address (mut self , address : starknet :: core :: types :: FieldElement) {self . address = address ;} pub fn provider (& self) -> & P {& self . provider} pub fn with_block (self , block_id : starknet :: core :: types :: BlockId) -> Self {Self {block_id , .. self}}} # [derive (Debug , PartialEq , Clone)] pub struct Upgraded {pub class_hash : cainome :: cairo_serde :: ClassHash} impl cainome :: cairo_serde :: CairoSerde for Upgraded {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += cainome :: cairo_serde :: ClassHash :: cairo_serialized_size (& __rust . class_hash) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (cainome :: cairo_serde :: ClassHash :: cairo_serialize (& __rust . class_hash)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let class_hash = cainome :: cairo_serde :: ClassHash :: cairo_deserialize (__felts , __offset) ? ; __offset += cainome :: cairo_serde :: ClassHash :: cairo_serialized_size (& class_hash) ; Ok (Upgraded {class_hash})}} # [derive (Debug , PartialEq , Clone)] pub struct BinaryMerkleProof {pub side_nodes : Vec < U256 > , pub key : u32 , pub num_leaves : u32} impl cainome :: cairo_serde :: CairoSerde for BinaryMerkleProof {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += Vec :: < U256 > :: cairo_serialized_size (& __rust . side_nodes) ; __size += u32 :: cairo_serialized_size (& __rust . key) ; __size += u32 :: cairo_serialized_size (& __rust . num_leaves) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (Vec :: < U256 > :: cairo_serialize (& __rust . side_nodes)) ; __out . extend (u32 :: cairo_serialize (& __rust . key)) ; __out . extend (u32 :: cairo_serialize (& __rust . num_leaves)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let side_nodes = Vec :: < U256 > :: cairo_deserialize (__felts , __offset) ? ; __offset += Vec :: < U256 > :: cairo_serialized_size (& side_nodes) ; let key = u32 :: cairo_deserialize (__felts , __offset) ? ; __offset += u32 :: cairo_serialized_size (& key) ; let num_leaves = u32 :: cairo_deserialize (__felts , __offset) ? ; __offset += u32 :: cairo_serialized_size (& num_leaves) ; Ok (BinaryMerkleProof {side_nodes , key , num_leaves})}} # [derive (Debug , PartialEq , Clone)] pub struct HeaderRangeRequested {pub trusted_block : u64 , pub trusted_header : U256 , pub target_block : u64} impl cainome :: cairo_serde :: CairoSerde for HeaderRangeRequested {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += u64 :: cairo_serialized_size (& __rust . trusted_block) ; __size += U256 :: cairo_serialized_size (& __rust . trusted_header) ; __size += u64 :: cairo_serialized_size (& __rust . target_block) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (u64 :: cairo_serialize (& __rust . trusted_block)) ; __out . extend (U256 :: cairo_serialize (& __rust . trusted_header)) ; __out . extend (u64 :: cairo_serialize (& __rust . target_block)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let trusted_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& trusted_block) ; let trusted_header = U256 :: cairo_deserialize (__felts , __offset) ? ; __offset += U256 :: cairo_serialized_size (& trusted_header) ; let target_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& target_block) ; Ok (HeaderRangeRequested {trusted_block , trusted_header , target_block})}} # [derive (Debug , PartialEq , Clone)] pub struct NextHeaderRequested {pub trusted_block : u64 , pub trusted_header : U256} impl cainome :: cairo_serde :: CairoSerde for NextHeaderRequested {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += u64 :: cairo_serialized_size (& __rust . trusted_block) ; __size += U256 :: cairo_serialized_size (& __rust . trusted_header) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (u64 :: cairo_serialize (& __rust . trusted_block)) ; __out . extend (U256 :: cairo_serialize (& __rust . trusted_header)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let trusted_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& trusted_block) ; let trusted_header = U256 :: cairo_deserialize (__felts , __offset) ? ; __offset += U256 :: cairo_serialized_size (& trusted_header) ; Ok (NextHeaderRequested {trusted_block , trusted_header})}} # [derive (Debug , PartialEq , Clone)] pub struct OwnershipTransferred {pub previous_owner : cainome :: cairo_serde :: ContractAddress , pub new_owner : cainome :: cairo_serde :: ContractAddress} impl cainome :: cairo_serde :: CairoSerde for OwnershipTransferred {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& __rust . previous_owner) ; __size += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& __rust . new_owner) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (& __rust . previous_owner)) ; __out . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (& __rust . new_owner)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let previous_owner = cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (__felts , __offset) ? ; __offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (__felts , __offset) ? ; __offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; Ok (OwnershipTransferred {previous_owner , new_owner})}} # [derive (Debug , PartialEq , Clone)] pub struct OwnershipTransferStarted {pub previous_owner : cainome :: cairo_serde :: ContractAddress , pub new_owner : cainome :: cairo_serde :: ContractAddress} impl cainome :: cairo_serde :: CairoSerde for OwnershipTransferStarted {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& __rust . previous_owner) ; __size += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& __rust . new_owner) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (& __rust . previous_owner)) ; __out . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (& __rust . new_owner)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let previous_owner = cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (__felts , __offset) ? ; __offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (__felts , __offset) ? ; __offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; Ok (OwnershipTransferStarted {previous_owner , new_owner})}} # [derive (Debug , PartialEq , Clone)] pub struct U256 {pub low : u128 , pub high : u128} impl cainome :: cairo_serde :: CairoSerde for U256 {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += u128 :: cairo_serialized_size (& __rust . low) ; __size += u128 :: cairo_serialized_size (& __rust . high) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (u128 :: cairo_serialize (& __rust . low)) ; __out . extend (u128 :: cairo_serialize (& __rust . high)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let low = u128 :: cairo_deserialize (__felts , __offset) ? ; __offset += u128 :: cairo_serialized_size (& low) ; let high = u128 :: cairo_deserialize (__felts , __offset) ? ; __offset += u128 :: cairo_serialized_size (& high) ; Ok (U256 {low , high})}} # [derive (Debug , PartialEq , Clone)] pub struct HeadUpdate {pub target_block : u64 , pub target_header : U256} impl cainome :: cairo_serde :: CairoSerde for HeadUpdate {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += u64 :: cairo_serialized_size (& __rust . target_block) ; __size += U256 :: cairo_serialized_size (& __rust . target_header) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (u64 :: cairo_serialize (& __rust . target_block)) ; __out . extend (U256 :: cairo_serialize (& __rust . target_header)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let target_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& target_block) ; let target_header = U256 :: cairo_deserialize (__felts , __offset) ? ; __offset += U256 :: cairo_serialized_size (& target_header) ; Ok (HeadUpdate {target_block , target_header})}} # [derive (Debug , PartialEq , Clone)] pub struct DataRoot {pub height : starknet :: core :: types :: FieldElement , pub data_root : U256} impl cainome :: cairo_serde :: CairoSerde for DataRoot {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += starknet :: core :: types :: FieldElement :: cairo_serialized_size (& __rust . height) ; __size += U256 :: cairo_serialized_size (& __rust . data_root) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (starknet :: core :: types :: FieldElement :: cairo_serialize (& __rust . height)) ; __out . extend (U256 :: cairo_serialize (& __rust . data_root)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let height = starknet :: core :: types :: FieldElement :: cairo_deserialize (__felts , __offset) ? ; __offset += starknet :: core :: types :: FieldElement :: cairo_serialized_size (& height) ; let data_root = U256 :: cairo_deserialize (__felts , __offset) ? ; __offset += U256 :: cairo_serialized_size (& data_root) ; Ok (DataRoot {height , data_root})}} # [derive (Debug , PartialEq , Clone)] pub struct DataCommitmentStored {pub proof_nonce : u64 , pub start_block : u64 , pub end_block : u64 , pub data_commitment : U256} impl cainome :: cairo_serde :: CairoSerde for DataCommitmentStored {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {let mut __size = 0 ; __size += u64 :: cairo_serialized_size (& __rust . proof_nonce) ; __size += u64 :: cairo_serialized_size (& __rust . start_block) ; __size += u64 :: cairo_serialized_size (& __rust . end_block) ; __size += U256 :: cairo_serialized_size (& __rust . data_commitment) ; __size} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {let mut __out : Vec < starknet :: core :: types :: FieldElement > = vec ! [] ; __out . extend (u64 :: cairo_serialize (& __rust . proof_nonce)) ; __out . extend (u64 :: cairo_serialize (& __rust . start_block)) ; __out . extend (u64 :: cairo_serialize (& __rust . end_block)) ; __out . extend (U256 :: cairo_serialize (& __rust . data_commitment)) ; __out} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let mut __offset = __offset ; let proof_nonce = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& proof_nonce) ; let start_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& start_block) ; let end_block = u64 :: cairo_deserialize (__felts , __offset) ? ; __offset += u64 :: cairo_serialized_size (& end_block) ; let data_commitment = U256 :: cairo_deserialize (__felts , __offset) ? ; __offset += U256 :: cairo_serialized_size (& data_commitment) ; Ok (DataCommitmentStored {proof_nonce , start_block , end_block , data_commitment})}} # [derive (Debug , PartialEq , Clone)] pub enum OwnableCptEvent {OwnershipTransferred (OwnershipTransferred) , OwnershipTransferStarted (OwnershipTransferStarted)} impl cainome :: cairo_serde :: CairoSerde for OwnableCptEvent {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = std :: option :: Option :: None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {match __rust {OwnableCptEvent :: OwnershipTransferred (val) => OwnershipTransferred :: cairo_serialized_size (val) + 1 , OwnableCptEvent :: OwnershipTransferStarted (val) => OwnershipTransferStarted :: cairo_serialized_size (val) + 1 , _ => 0}} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {match __rust {OwnableCptEvent :: OwnershipTransferred (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 0usize)) ; temp . extend (OwnershipTransferred :: cairo_serialize (val)) ; temp} , OwnableCptEvent :: OwnershipTransferStarted (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 1usize)) ; temp . extend (OwnershipTransferStarted :: cairo_serialize (val)) ; temp} , _ => vec ! []}} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let __index : u128 = __felts [__offset] . try_into () . unwrap () ; match __index as usize {0usize => Ok (OwnableCptEvent :: OwnershipTransferred (OwnershipTransferred :: cairo_deserialize (__felts , __offset + 1) ?)) , 1usize => Ok (OwnableCptEvent :: OwnershipTransferStarted (OwnershipTransferStarted :: cairo_deserialize (__felts , __offset + 1) ?)) , _ => return Err (cainome :: cairo_serde :: Error :: Deserialize (format ! ("Index not handle for enum {}" , "OwnableCptEvent")))}}} impl TryFrom < starknet :: core :: types :: EmittedEvent > for OwnableCptEvent {type Error = String ; fn try_from (event : starknet :: core :: types :: EmittedEvent) -> Result < Self , Self :: Error > {use cainome :: cairo_serde :: CairoSerde ; if event . keys . is_empty () {return Err ("Event has no key" . to_string ()) ;} let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("OwnershipTransferred") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "OwnershipTransferred")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let previous_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "previous_owner" , "OwnershipTransferred" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "new_owner" , "OwnershipTransferred" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; return Ok (OwnableCptEvent :: OwnershipTransferred (OwnershipTransferred {previous_owner , new_owner}))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("OwnershipTransferStarted") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "OwnershipTransferStarted")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let previous_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "previous_owner" , "OwnershipTransferStarted" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "new_owner" , "OwnershipTransferStarted" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; return Ok (OwnableCptEvent :: OwnershipTransferStarted (OwnershipTransferStarted {previous_owner , new_owner}))} ; Err (format ! ("Could not match any event from keys {:?}" , event . keys))}} # [derive (Debug , PartialEq , Clone)] pub enum UpgradeableCptEvent {Upgraded (Upgraded)} impl cainome :: cairo_serde :: CairoSerde for UpgradeableCptEvent {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = std :: option :: Option :: None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {match __rust {UpgradeableCptEvent :: Upgraded (val) => Upgraded :: cairo_serialized_size (val) + 1 , _ => 0}} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {match __rust {UpgradeableCptEvent :: Upgraded (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 0usize)) ; temp . extend (Upgraded :: cairo_serialize (val)) ; temp} , _ => vec ! []}} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let __index : u128 = __felts [__offset] . try_into () . unwrap () ; match __index as usize {0usize => Ok (UpgradeableCptEvent :: Upgraded (Upgraded :: cairo_deserialize (__felts , __offset + 1) ?)) , _ => return Err (cainome :: cairo_serde :: Error :: Deserialize (format ! ("Index not handle for enum {}" , "UpgradeableCptEvent")))}}} impl TryFrom < starknet :: core :: types :: EmittedEvent > for UpgradeableCptEvent {type Error = String ; fn try_from (event : starknet :: core :: types :: EmittedEvent) -> Result < Self , Self :: Error > {use cainome :: cairo_serde :: CairoSerde ; if event . keys . is_empty () {return Err ("Event has no key" . to_string ()) ;} let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("Upgraded") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "Upgraded")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let class_hash = match cainome :: cairo_serde :: ClassHash :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "class_hash" , "Upgraded" , e)) ,} ; data_offset += cainome :: cairo_serde :: ClassHash :: cairo_serialized_size (& class_hash) ; return Ok (UpgradeableCptEvent :: Upgraded (Upgraded {class_hash}))} ; Err (format ! ("Could not match any event from keys {:?}" , event . keys))}} # [derive (Debug , PartialEq , Clone)] pub enum BlobstreamXEvent {DataCommitmentStored (DataCommitmentStored) , HeaderRangeRequested (HeaderRangeRequested) , HeadUpdate (HeadUpdate) , NextHeaderRequested (NextHeaderRequested) , OwnableEvent (OwnableCptEvent) , UpgradeableEvent (UpgradeableCptEvent)} impl cainome :: cairo_serde :: CairoSerde for BlobstreamXEvent {type RustType = Self ; const SERIALIZED_SIZE : std :: option :: Option < usize > = std :: option :: Option :: None ; # [inline] fn cairo_serialized_size (__rust : & Self :: RustType) -> usize {match __rust {BlobstreamXEvent :: DataCommitmentStored (val) => DataCommitmentStored :: cairo_serialized_size (val) + 1 , BlobstreamXEvent :: HeaderRangeRequested (val) => HeaderRangeRequested :: cairo_serialized_size (val) + 1 , BlobstreamXEvent :: HeadUpdate (val) => HeadUpdate :: cairo_serialized_size (val) + 1 , BlobstreamXEvent :: NextHeaderRequested (val) => NextHeaderRequested :: cairo_serialized_size (val) + 1 , BlobstreamXEvent :: OwnableEvent (val) => OwnableCptEvent :: cairo_serialized_size (val) + 1 , BlobstreamXEvent :: UpgradeableEvent (val) => UpgradeableCptEvent :: cairo_serialized_size (val) + 1 , _ => 0}} fn cairo_serialize (__rust : & Self :: RustType) -> Vec < starknet :: core :: types :: FieldElement > {match __rust {BlobstreamXEvent :: DataCommitmentStored (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 0usize)) ; temp . extend (DataCommitmentStored :: cairo_serialize (val)) ; temp} , BlobstreamXEvent :: HeaderRangeRequested (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 1usize)) ; temp . extend (HeaderRangeRequested :: cairo_serialize (val)) ; temp} , BlobstreamXEvent :: HeadUpdate (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 2usize)) ; temp . extend (HeadUpdate :: cairo_serialize (val)) ; temp} , BlobstreamXEvent :: NextHeaderRequested (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 3usize)) ; temp . extend (NextHeaderRequested :: cairo_serialize (val)) ; temp} , BlobstreamXEvent :: OwnableEvent (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 4usize)) ; temp . extend (OwnableCptEvent :: cairo_serialize (val)) ; temp} , BlobstreamXEvent :: UpgradeableEvent (val) => {let mut temp = vec ! [] ; temp . extend (usize :: cairo_serialize (& 5usize)) ; temp . extend (UpgradeableCptEvent :: cairo_serialize (val)) ; temp} , _ => vec ! []}} fn cairo_deserialize (__felts : & [starknet :: core :: types :: FieldElement] , __offset : usize) -> cainome :: cairo_serde :: Result < Self :: RustType > {let __index : u128 = __felts [__offset] . try_into () . unwrap () ; match __index as usize {0usize => Ok (BlobstreamXEvent :: DataCommitmentStored (DataCommitmentStored :: cairo_deserialize (__felts , __offset + 1) ?)) , 1usize => Ok (BlobstreamXEvent :: HeaderRangeRequested (HeaderRangeRequested :: cairo_deserialize (__felts , __offset + 1) ?)) , 2usize => Ok (BlobstreamXEvent :: HeadUpdate (HeadUpdate :: cairo_deserialize (__felts , __offset + 1) ?)) , 3usize => Ok (BlobstreamXEvent :: NextHeaderRequested (NextHeaderRequested :: cairo_deserialize (__felts , __offset + 1) ?)) , 4usize => Ok (BlobstreamXEvent :: OwnableEvent (OwnableCptEvent :: cairo_deserialize (__felts , __offset + 1) ?)) , 5usize => Ok (BlobstreamXEvent :: UpgradeableEvent (UpgradeableCptEvent :: cairo_deserialize (__felts , __offset + 1) ?)) , _ => return Err (cainome :: cairo_serde :: Error :: Deserialize (format ! ("Index not handle for enum {}" , "BlobstreamXEvent")))}}} impl TryFrom < starknet :: core :: types :: EmittedEvent > for BlobstreamXEvent {type Error = String ; fn try_from (event : starknet :: core :: types :: EmittedEvent) -> Result < Self , Self :: Error > {use cainome :: cairo_serde :: CairoSerde ; if event . keys . is_empty () {return Err ("Event has no key" . to_string ()) ;} let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("DataCommitmentStored") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "DataCommitmentStored")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let proof_nonce = match u64 :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "proof_nonce" , "DataCommitmentStored" , e)) ,} ; data_offset += u64 :: cairo_serialized_size (& proof_nonce) ; let start_block = match u64 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "start_block" , "DataCommitmentStored" , e)) ,} ; key_offset += u64 :: cairo_serialized_size (& start_block) ; let end_block = match u64 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "end_block" , "DataCommitmentStored" , e)) ,} ; key_offset += u64 :: cairo_serialized_size (& end_block) ; let data_commitment = match U256 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "data_commitment" , "DataCommitmentStored" , e)) ,} ; key_offset += U256 :: cairo_serialized_size (& data_commitment) ; return Ok (BlobstreamXEvent :: DataCommitmentStored (DataCommitmentStored {proof_nonce , start_block , end_block , data_commitment}))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("HeaderRangeRequested") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "HeaderRangeRequested")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let trusted_block = match u64 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "trusted_block" , "HeaderRangeRequested" , e)) ,} ; key_offset += u64 :: cairo_serialized_size (& trusted_block) ; let trusted_header = match U256 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "trusted_header" , "HeaderRangeRequested" , e)) ,} ; key_offset += U256 :: cairo_serialized_size (& trusted_header) ; let target_block = match u64 :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "target_block" , "HeaderRangeRequested" , e)) ,} ; data_offset += u64 :: cairo_serialized_size (& target_block) ; return Ok (BlobstreamXEvent :: HeaderRangeRequested (HeaderRangeRequested {trusted_block , trusted_header , target_block}))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("HeadUpdate") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "HeadUpdate")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let target_block = match u64 :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "target_block" , "HeadUpdate" , e)) ,} ; data_offset += u64 :: cairo_serialized_size (& target_block) ; let target_header = match U256 :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "target_header" , "HeadUpdate" , e)) ,} ; data_offset += U256 :: cairo_serialized_size (& target_header) ; return Ok (BlobstreamXEvent :: HeadUpdate (HeadUpdate {target_block , target_header}))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("NextHeaderRequested") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "NextHeaderRequested")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let trusted_block = match u64 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "trusted_block" , "NextHeaderRequested" , e)) ,} ; key_offset += u64 :: cairo_serialized_size (& trusted_block) ; let trusted_header = match U256 :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "trusted_header" , "NextHeaderRequested" , e)) ,} ; key_offset += U256 :: cairo_serialized_size (& trusted_header) ; return Ok (BlobstreamXEvent :: NextHeaderRequested (NextHeaderRequested {trusted_block , trusted_header}))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("OwnershipTransferred") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "OwnershipTransferred")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let previous_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "previous_owner" , "OwnershipTransferred" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "new_owner" , "OwnershipTransferred" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; return Ok (BlobstreamXEvent :: OwnableEvent (OwnableCptEvent :: OwnershipTransferred (OwnershipTransferred {previous_owner , new_owner})))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("OwnershipTransferStarted") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "OwnershipTransferStarted")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let previous_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "previous_owner" , "OwnershipTransferStarted" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& previous_owner) ; let new_owner = match cainome :: cairo_serde :: ContractAddress :: cairo_deserialize (& event . keys , key_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "new_owner" , "OwnershipTransferStarted" , e)) ,} ; key_offset += cainome :: cairo_serde :: ContractAddress :: cairo_serialized_size (& new_owner) ; return Ok (BlobstreamXEvent :: OwnableEvent (OwnableCptEvent :: OwnershipTransferStarted (OwnershipTransferStarted {previous_owner , new_owner})))} ; let selector = event . keys [0] ; if selector == starknet :: core :: utils :: get_selector_from_name ("Upgraded") . unwrap_or_else (| _ | panic ! ("Invalid selector for {}" , "Upgraded")) {let mut key_offset = 0 + 1 ; let mut data_offset = 0 ; let class_hash = match cainome :: cairo_serde :: ClassHash :: cairo_deserialize (& event . data , data_offset) {Ok (v) => v , Err (e) => return Err (format ! ("Could not deserialize field {} for {}: {:?}" , "class_hash" , "Upgraded" , e)) ,} ; data_offset += cainome :: cairo_serde :: ClassHash :: cairo_serialized_size (& class_hash) ; return Ok (BlobstreamXEvent :: UpgradeableEvent (UpgradeableCptEvent :: Upgraded (Upgraded {class_hash})))} ; Err (format ! ("Could not match any event from keys {:?}" , event . keys))}} impl < A : starknet :: accounts :: ConnectedAccount + Sync > BlobstreamX < A > {# [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_header_hash (& self , _height : & u64) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_height)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_header_hash") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_latest_block (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_latest_block") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn verify_attestation (& self , proof_nonce : & u64 , data_root : & DataRoot , proof : & BinaryMerkleProof) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , bool > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (proof_nonce)) ; __calldata . extend (DataRoot :: cairo_serialize (data_root)) ; __calldata . extend (BinaryMerkleProof :: cairo_serialize (proof)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("verify_attestation") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn owner (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("owner") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn data_commitment_max (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("data_commitment_max") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_gateway (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_gateway") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_state_proof_nonce (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_state_proof_nonce") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_state_data_commitment (& self , state_nonce : & u64) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (state_nonce)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_state_data_commitment") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_header_range_id (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_header_range_id") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_next_header_id (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_next_header_id") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_frozen (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , bool > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_frozen") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_herodotus_facts_registry (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_herodotus_facts_registry") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_blobstreamx_l1_contract (& self ,) -> cainome :: cairo_serde :: call :: FCall < A :: Provider , starknet :: core :: types :: FieldElement > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_blobstreamx_l1_contract") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn upgrade_getcall (& self , new_class_hash : & cainome :: cairo_serde :: ClassHash) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ClassHash :: cairo_serialize (new_class_hash)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("upgrade") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn upgrade (& self , new_class_hash : & cainome :: cairo_serde :: ClassHash) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ClassHash :: cairo_serialize (new_class_hash)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("upgrade") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn transfer_ownership_getcall (& self , new_owner : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (new_owner)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("transfer_ownership") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn transfer_ownership (& self , new_owner : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (new_owner)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("transfer_ownership") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn renounce_ownership_getcall (& self ,) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("renounce_ownership") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn renounce_ownership (& self ,) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("renounce_ownership") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_gateway_getcall (& self , new_gateway : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (new_gateway)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_gateway") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_gateway (& self , new_gateway : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (new_gateway)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_gateway") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_header_range_id_getcall (& self , _function_id : & U256) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (_function_id)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_header_range_id") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_header_range_id (& self , _function_id : & U256) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (_function_id)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_header_range_id") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_next_header_id_getcall (& self , _function_id : & U256) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (_function_id)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_next_header_id") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_next_header_id (& self , _function_id : & U256) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (_function_id)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_next_header_id") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_frozen_getcall (& self , _frozen : & bool) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (bool :: cairo_serialize (_frozen)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_frozen") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_frozen (& self , _frozen : & bool) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (bool :: cairo_serialize (_frozen)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_frozen") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_herodotus_facts_registry_getcall (& self , facts_registry : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (facts_registry)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_herodotus_facts_registry") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_herodotus_facts_registry (& self , facts_registry : & cainome :: cairo_serde :: ContractAddress) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (cainome :: cairo_serde :: ContractAddress :: cairo_serialize (facts_registry)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_herodotus_facts_registry") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn set_blobstreamx_l1_contract_getcall (& self , l1_contract : & starknet :: core :: types :: FieldElement) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (starknet :: core :: types :: FieldElement :: cairo_serialize (l1_contract)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_blobstreamx_l1_contract") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn set_blobstreamx_l1_contract (& self , l1_contract : & starknet :: core :: types :: FieldElement) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (starknet :: core :: types :: FieldElement :: cairo_serialize (l1_contract)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("set_blobstreamx_l1_contract") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn request_header_range_getcall (& self , _target_block : & u64) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_target_block)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("request_header_range") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn request_header_range (& self , _target_block : & u64) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_target_block)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("request_header_range") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn commit_header_range_getcall (& self , _target_block : & u64) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_target_block)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("commit_header_range") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn commit_header_range (& self , _target_block : & u64) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_target_block)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("commit_header_range") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn request_next_header_getcall (& self ,) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("request_next_header") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn request_next_header (& self ,) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("request_next_header") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn commit_next_header_getcall (& self , _trusted_block : & u64) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_trusted_block)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("commit_next_header") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn commit_next_header (& self , _trusted_block : & u64) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_trusted_block)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("commit_next_header") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn update_data_commitments_from_facts_getcall (& self , l1_block : & U256) -> starknet :: accounts :: Call {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (l1_block)) ; starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("update_data_commitments_from_facts") , calldata : __calldata ,}} # [allow (clippy :: ptr_arg)] pub fn update_data_commitments_from_facts (& self , l1_block : & U256) -> starknet :: accounts :: Execution < A > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (U256 :: cairo_serialize (l1_block)) ; let __call = starknet :: accounts :: Call {to : self . address , selector : starknet :: macros :: selector ! ("update_data_commitments_from_facts") , calldata : __calldata ,} ; self . account . execute (vec ! [__call])}} impl < P : starknet :: providers :: Provider + Sync > BlobstreamXReader < P > {# [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_header_hash (& self , _height : & u64) -> cainome :: cairo_serde :: call :: FCall < P , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (_height)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_header_hash") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_latest_block (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_latest_block") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn verify_attestation (& self , proof_nonce : & u64 , data_root : & DataRoot , proof : & BinaryMerkleProof) -> cainome :: cairo_serde :: call :: FCall < P , bool > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (proof_nonce)) ; __calldata . extend (DataRoot :: cairo_serialize (data_root)) ; __calldata . extend (BinaryMerkleProof :: cairo_serialize (proof)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("verify_attestation") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn owner (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("owner") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn data_commitment_max (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("data_commitment_max") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_gateway (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_gateway") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_state_proof_nonce (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , u64 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_state_proof_nonce") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_state_data_commitment (& self , state_nonce : & u64) -> cainome :: cairo_serde :: call :: FCall < P , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; __calldata . extend (u64 :: cairo_serialize (state_nonce)) ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_state_data_commitment") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_header_range_id (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_header_range_id") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_next_header_id (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , U256 > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_next_header_id") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_frozen (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , bool > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_frozen") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_herodotus_facts_registry (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , cainome :: cairo_serde :: ContractAddress > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_herodotus_facts_registry") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)} # [allow (clippy :: ptr_arg)] # [allow (clippy :: too_many_arguments)] pub fn get_blobstreamx_l1_contract (& self ,) -> cainome :: cairo_serde :: call :: FCall < P , starknet :: core :: types :: FieldElement > {use cainome :: cairo_serde :: CairoSerde ; let mut __calldata = vec ! [] ; let __call = starknet :: core :: types :: FunctionCall {contract_address : self . address , entry_point_selector : starknet :: macros :: selector ! ("get_blobstreamx_l1_contract") , calldata : __calldata ,} ; cainome :: cairo_serde :: call :: FCall :: new (__call , self . provider () ,)}} \ No newline at end of file diff --git a/bindings/src/lib.rs b/bindings/src/lib.rs new file mode 100644 index 0000000..5893c70 --- /dev/null +++ b/bindings/src/lib.rs @@ -0,0 +1,36 @@ +use cainome::rs::abigen; + +abigen!( + BlobstreamX, + "../target/dev/blobstream_sn_blobstreamx.contract_class.json", + type_aliases { + blobstream_sn::blobstreamx::blobstreamx::Event as BlobstreamXEvent; + openzeppelin::access::ownable::ownable::OwnableComponent::Event as OwnableCptEvent; + openzeppelin::upgrades::upgradeable::UpgradeableComponent::Event as UpgradeableCptEvent; + }, + output_path("src/bindings.rs") +); + +mod bindings; + +pub use bindings::{ + BlobstreamX, + BlobstreamXReader, + BinaryMerkleProof, + DataRoot, +}; + +pub mod events { + pub use super::bindings::{ + BlobstreamXEvent, + OwnableCptEvent, + UpgradeableCptEvent, + HeadUpdate, + HeaderRangeRequested, + Upgraded, + OwnershipTransferStarted, + OwnershipTransferred, + DataCommitmentStored, + NextHeaderRequested, + }; +}