diff --git a/.gitignore b/.gitignore
index 2b557759..f1fa4610 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ broadcast/
compiled/*.wasm
.docker/cli/*.json
.env
+node_modules/
diff --git a/.gitmodules b/.gitmodules
index fd31347d..888d42dc 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,3 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
-[submodule "lib/WAVS"]
- path = lib/WAVS
- url = https://github.com/Lay3rLabs/WAVS
- tag = v0.3.0-alpha4
diff --git a/Cargo-component.lock b/Cargo-component.lock
new file mode 100644
index 00000000..5cd5bc90
--- /dev/null
+++ b/Cargo-component.lock
@@ -0,0 +1,11 @@
+# This file is automatically generated by cargo-component.
+# It is not intended for manual editing.
+version = 1
+
+[[package]]
+name = "wavs:worker"
+
+[[package.version]]
+requirement = "^0.3.0-alpha2"
+version = "0.3.0-alpha2"
+digest = "sha256:b551fdb5109fc5fd9cc2e08f42331a84172b9813235b88c47ed770ce32b05d09"
diff --git a/Cargo.lock b/Cargo.lock
index e036028f..f454d151 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -24,10 +24,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
- "getrandom",
+ "getrandom 0.2.15",
"once_cell",
"version_check",
- "zerocopy",
+ "zerocopy 0.7.35",
]
[[package]]
@@ -38,27 +38,30 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
[[package]]
name = "alloy"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-contract 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-contract 0.11.0",
"alloy-core",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-genesis",
- "alloy-network 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-provider 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-rpc-client 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport-http 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-network 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-provider 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-client 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-types",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-signer 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-signer-local",
+ "alloy-transport 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-transport-http 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
]
[[package]]
name = "alloy-chains"
-version = "0.1.57"
+version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ab9d1367c6ffb90c93fb4a9a4989530aa85112438c6f73a734067255d348469"
+checksum = "4d37bc62b68c056e3742265ab73c73d413d07357909e0e4ea1e95453066a7469"
dependencies = [
"alloy-primitives",
"num_enum",
@@ -71,10 +74,10 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4138dc275554afa6f18c4217262ac9388790b2fc393c2dfe03c51d357abf013"
dependencies = [
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.9.2",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.9.2",
"alloy-trie",
"auto_impl",
"c-kzg",
@@ -84,13 +87,30 @@ dependencies = [
[[package]]
name = "alloy-consensus"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce20c85f6b24a5da40b2350a748e348417f0465dedbb523a4d149143bc4a41ce"
dependencies = [
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-trie",
+ "auto_impl",
+ "c-kzg",
+ "derive_more",
+ "serde",
+]
+
+[[package]]
+name = "alloy-consensus"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-primitives",
+ "alloy-rlp",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-trie",
"auto_impl",
"c-kzg",
@@ -104,24 +124,38 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa04e1882c31288ce1028fdf31b6ea94cfa9eafa2e497f903ded631c8c6a42c"
dependencies = [
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.9.2",
+ "alloy-eips 0.9.2",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.9.2",
"serde",
]
[[package]]
name = "alloy-consensus-any"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e23af02ccded0031ef2b70df4fe9965b1c742c5d5384c8c767ae0311f7e62b9"
dependencies = [
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde",
+]
+
+[[package]]
+name = "alloy-consensus-any"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-primitives",
+ "alloy-rlp",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"serde",
]
@@ -133,13 +167,13 @@ checksum = "5f21886c1fea0626f755a49b2ac653b396fb345233f6170db2da3d0ada31560c"
dependencies = [
"alloy-dyn-abi",
"alloy-json-abi",
- "alloy-network 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-network-primitives 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-network 0.9.2",
+ "alloy-network-primitives 0.9.2",
"alloy-primitives",
- "alloy-provider 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-types-eth 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-provider 0.9.2",
+ "alloy-rpc-types-eth 0.9.2",
"alloy-sol-types",
- "alloy-transport 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport 0.9.2",
"futures",
"futures-util",
"thiserror 2.0.11",
@@ -147,18 +181,18 @@ dependencies = [
[[package]]
name = "alloy-contract"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
"alloy-dyn-abi",
"alloy-json-abi",
- "alloy-network 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-network-primitives 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-network 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network-primitives 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
- "alloy-provider 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-rpc-types-eth 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-provider 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-types-eth 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-sol-types",
- "alloy-transport 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-transport 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"futures",
"futures-util",
"thiserror 2.0.11",
@@ -166,9 +200,9 @@ dependencies = [
[[package]]
name = "alloy-core"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "648275bb59110f88cc5fa9a176845e52a554ebfebac2d21220bcda8c9220f797"
+checksum = "482f377cebceed4bb1fb5e7970f0805e2ab123d06701be9351b67ed6341e74aa"
dependencies = [
"alloy-dyn-abi",
"alloy-json-abi",
@@ -179,9 +213,9 @@ dependencies = [
[[package]]
name = "alloy-dyn-abi"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc9138f4f0912793642d453523c3116bd5d9e11de73b70177aa7cb3e94b98ad2"
+checksum = "555896f0b8578adb522b1453b6e6cc6704c3027bd0af20058befdde992cee8e9"
dependencies = [
"alloy-json-abi",
"alloy-primitives",
@@ -194,6 +228,18 @@ dependencies = [
"winnow",
]
+[[package]]
+name = "alloy-eip2124"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0"
+dependencies = [
+ "alloy-primitives",
+ "alloy-rlp",
+ "crc",
+ "thiserror 2.0.11",
+]
+
[[package]]
name = "alloy-eip2930"
version = "0.1.0"
@@ -227,7 +273,7 @@ dependencies = [
"alloy-eip7702",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.9.2",
"c-kzg",
"derive_more",
"once_cell",
@@ -237,14 +283,36 @@ dependencies = [
[[package]]
name = "alloy-eips"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7149e011edbd588f6df6564b369c75f6b538d76db14053d95e0b43b2d92e4266"
dependencies = [
+ "alloy-eip2124",
"alloy-eip2930",
"alloy-eip7702",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "auto_impl",
+ "c-kzg",
+ "derive_more",
+ "once_cell",
+ "serde",
+ "sha2 0.10.8",
+]
+
+[[package]]
+name = "alloy-eips"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-eip2124",
+ "alloy-eip2930",
+ "alloy-eip7702",
+ "alloy-primitives",
+ "alloy-rlp",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "auto_impl",
"c-kzg",
"derive_more",
"once_cell",
@@ -254,21 +322,21 @@ dependencies = [
[[package]]
name = "alloy-genesis"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-trie",
"serde",
]
[[package]]
name = "alloy-json-abi"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24acd2f5ba97c7a320e67217274bc81fe3c3174b8e6144ec875d9d54e760e278"
+checksum = "4012581681b186ba0882007ed873987cc37f86b1b488fe6b91d5efd0b585dc41"
dependencies = [
"alloy-primitives",
"alloy-sol-type-parser",
@@ -292,8 +360,22 @@ dependencies = [
[[package]]
name = "alloy-json-rpc"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0c5c9651fd20a2fd4a57606b6a570d1c17ab86e686b962b2f1ecac68b51e020"
+dependencies = [
+ "alloy-primitives",
+ "alloy-sol-types",
+ "serde",
+ "serde_json",
+ "thiserror 2.0.11",
+ "tracing",
+]
+
+[[package]]
+name = "alloy-json-rpc"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
"alloy-primitives",
"alloy-sol-types",
@@ -309,16 +391,16 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4556f01fe41d0677495df10a648ddcf7ce118b0e8aa9642a0e2b6dd1fb7259de"
dependencies = [
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-consensus-any 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-network-primitives 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.9.2",
+ "alloy-consensus-any 0.9.2",
+ "alloy-eips 0.9.2",
+ "alloy-json-rpc 0.9.2",
+ "alloy-network-primitives 0.9.2",
"alloy-primitives",
- "alloy-rpc-types-any 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-types-eth 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-signer 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-types-any 0.9.2",
+ "alloy-rpc-types-eth 0.9.2",
+ "alloy-serde 0.9.2",
+ "alloy-signer 0.9.2",
"alloy-sol-types",
"async-trait",
"auto_impl",
@@ -330,19 +412,44 @@ dependencies = [
[[package]]
name = "alloy-network"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b02ed56783fb2c086a4ac8961175dd6d3ad163e6cf6125f0b83f7de03379b607"
dependencies = [
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-consensus-any 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-json-rpc 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-network-primitives 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus-any 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-network-primitives 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"alloy-primitives",
- "alloy-rpc-types-any 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-rpc-types-eth 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-signer 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-rpc-types-any 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-types-eth 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-signer 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-sol-types",
+ "async-trait",
+ "auto_impl",
+ "futures-utils-wasm",
+ "serde",
+ "serde_json",
+ "thiserror 2.0.11",
+]
+
+[[package]]
+name = "alloy-network"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-consensus-any 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-json-rpc 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network-primitives 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-primitives",
+ "alloy-rpc-types-any 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-types-eth 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-signer 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-sol-types",
"async-trait",
"auto_impl",
@@ -358,30 +465,43 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31c3c6b71340a1d076831823f09cb6e02de01de5c6630a9631bdb36f947ff80"
dependencies = [
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.9.2",
+ "alloy-eips 0.9.2",
"alloy-primitives",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.9.2",
"serde",
]
[[package]]
name = "alloy-network-primitives"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0624cfa9311aa8283cd3bf5eed883d0d1e823e2a4d57b30e1b49af4b3678a6b"
+dependencies = [
+ "alloy-consensus 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-primitives",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde",
+]
+
+[[package]]
+name = "alloy-network-primitives"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"serde",
]
[[package]]
name = "alloy-primitives"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92"
+checksum = "478bedf4d24e71ea48428d1bc278553bd7c6ae07c30ca063beb0b09fe58a9e74"
dependencies = [
"alloy-rlp",
"bytes",
@@ -396,7 +516,7 @@ dependencies = [
"keccak-asm",
"paste",
"proptest",
- "rand",
+ "rand 0.8.5",
"ruint",
"rustc-hash",
"serde",
@@ -411,63 +531,95 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22c4441b3ebe2d77fa9cf629ba68c3f713eb91779cff84275393db97eddd82"
dependencies = [
"alloy-chains",
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-network 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-network-primitives 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.9.2",
+ "alloy-eips 0.9.2",
+ "alloy-json-rpc 0.9.2",
+ "alloy-network 0.9.2",
+ "alloy-network-primitives 0.9.2",
"alloy-primitives",
- "alloy-rpc-client 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-types-eth 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-transport 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-transport-http 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-client 0.9.2",
+ "alloy-rpc-types-eth 0.9.2",
+ "alloy-transport 0.9.2",
"async-stream",
"async-trait",
"auto_impl",
"dashmap",
"futures",
"futures-utils-wasm",
- "lru",
+ "lru 0.12.5",
"parking_lot",
"pin-project",
- "reqwest",
"schnellru",
"serde",
"serde_json",
"thiserror 2.0.11",
"tokio",
"tracing",
+ "wasmtimer",
+]
+
+[[package]]
+name = "alloy-provider"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07c68df5354225da542efeb6d9388b65773b3304309b437416146e9d1e2bc1bd"
+dependencies = [
+ "alloy-chains",
+ "alloy-consensus 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-network 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-network-primitives 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-primitives",
+ "alloy-rpc-client 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-types-eth 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport-http 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "async-stream",
+ "async-trait",
+ "auto_impl",
+ "dashmap",
+ "futures",
+ "futures-utils-wasm",
+ "lru 0.13.0",
+ "parking_lot",
+ "pin-project",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "thiserror 2.0.11",
+ "tokio",
+ "tracing",
"url",
"wasmtimer",
]
[[package]]
name = "alloy-provider"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
"alloy-chains",
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-json-rpc 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-network 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-network-primitives 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-json-rpc 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network-primitives 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
- "alloy-rpc-client 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-rpc-types-eth 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport-http 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-rpc-client 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-types-eth 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-transport 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-transport-http 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"async-stream",
"async-trait",
"auto_impl",
"dashmap",
"futures",
"futures-utils-wasm",
- "lru",
+ "lru 0.13.0",
"parking_lot",
"pin-project",
"reqwest",
- "schnellru",
"serde",
"serde_json",
"thiserror 2.0.11",
@@ -496,7 +648,7 @@ checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -505,10 +657,31 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d06a292b37e182e514903ede6e623b9de96420e8109ce300da288a96d88b7e4b"
dependencies = [
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-json-rpc 0.9.2",
"alloy-primitives",
- "alloy-transport 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-transport-http 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport 0.9.2",
+ "alloy-transport-http 0.9.2",
+ "futures",
+ "pin-project",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-stream",
+ "tower 0.5.2",
+ "tracing",
+ "wasmtimer",
+]
+
+[[package]]
+name = "alloy-rpc-client"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0371aae9b44a35e374c94c7e1df5cbccf0f52b2ef7c782291ed56e86d88ec106"
+dependencies = [
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-primitives",
+ "alloy-transport 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport-http 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"futures",
"pin-project",
"reqwest",
@@ -524,13 +697,13 @@ dependencies = [
[[package]]
name = "alloy-rpc-client"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-json-rpc 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-json-rpc 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
- "alloy-transport 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport-http 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-transport 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-transport-http 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"futures",
"pin-project",
"reqwest",
@@ -546,14 +719,12 @@ dependencies = [
[[package]]
name = "alloy-rpc-types"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9383845dd924939e7ab0298bbfe231505e20928907d7905aa3bf112287305e06"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
"alloy-primitives",
- "alloy-rpc-types-engine",
- "alloy-rpc-types-eth 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-types-eth 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"serde",
]
@@ -563,54 +734,67 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca445cef0eb6c2cf51cfb4e214fbf1ebd00893ae2e6f3b944c8101b07990f988"
dependencies = [
- "alloy-consensus-any 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-types-eth 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus-any 0.9.2",
+ "alloy-rpc-types-eth 0.9.2",
+ "alloy-serde 0.9.2",
]
[[package]]
name = "alloy-rpc-types-any"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66e119337400d8b0348e1576ab37ffa56d1a04cbc977a84d4fa0a527d7cb0c21"
+dependencies = [
+ "alloy-consensus-any 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-types-eth 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "alloy-rpc-types-any"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-consensus-any 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-rpc-types-eth 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus-any 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-rpc-types-eth 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
]
[[package]]
-name = "alloy-rpc-types-engine"
+name = "alloy-rpc-types-eth"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5f821f30344862a0b6eb9a1c2eb91dfb2ff44c7489f37152a526cdcab79264"
+checksum = "0938bc615c02421bd86c1733ca7205cc3d99a122d9f9bff05726bd604b76a5c2"
dependencies = [
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.9.2",
+ "alloy-consensus-any 0.9.2",
+ "alloy-eips 0.9.2",
+ "alloy-network-primitives 0.9.2",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "derive_more",
- "jsonwebtoken",
- "rand",
+ "alloy-serde 0.9.2",
+ "alloy-sol-types",
+ "itertools 0.13.0",
"serde",
- "strum",
+ "serde_json",
+ "thiserror 2.0.11",
]
[[package]]
name = "alloy-rpc-types-eth"
-version = "0.9.2"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0938bc615c02421bd86c1733ca7205cc3d99a122d9f9bff05726bd604b76a5c2"
+checksum = "8a4a43d8b1344e3ef115ed7a2cee934876e4a64d2b9d9bee8738f9806900757e"
dependencies = [
- "alloy-consensus 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-consensus-any 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-eips 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-network-primitives 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-consensus-any 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-eips 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-network-primitives 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-serde 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"alloy-sol-types",
- "itertools 0.13.0",
+ "itertools 0.14.0",
"serde",
"serde_json",
"thiserror 2.0.11",
@@ -618,18 +802,18 @@ dependencies = [
[[package]]
name = "alloy-rpc-types-eth"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-consensus 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-consensus-any 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-eips 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-network-primitives 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-consensus-any 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-eips 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network-primitives 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-serde 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"alloy-sol-types",
- "itertools 0.13.0",
+ "itertools 0.14.0",
"serde",
"serde_json",
"thiserror 2.0.11",
@@ -648,8 +832,19 @@ dependencies = [
[[package]]
name = "alloy-serde"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86aa42c36e3c0db5bd9a7314e98aa261a61d5e3d6a0bd7e51fb8b0a3d6438481"
+dependencies = [
+ "alloy-primitives",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "alloy-serde"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
"alloy-primitives",
"serde",
@@ -672,8 +867,9 @@ dependencies = [
[[package]]
name = "alloy-signer"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c613222abd016e03ba548f41db938a2c99108b59c0c66ca105eab1b7a2e6b40a"
dependencies = [
"alloy-primitives",
"async-trait",
@@ -683,25 +879,53 @@ dependencies = [
"thiserror 2.0.11",
]
+[[package]]
+name = "alloy-signer"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-primitives",
+ "async-trait",
+ "auto_impl",
+ "elliptic-curve",
+ "k256",
+ "thiserror 2.0.11",
+]
+
+[[package]]
+name = "alloy-signer-local"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-consensus 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-network 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-primitives",
+ "alloy-signer 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "async-trait",
+ "k256",
+ "rand 0.8.5",
+ "thiserror 2.0.11",
+]
+
[[package]]
name = "alloy-sol-macro"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d039d267aa5cbb7732fa6ce1fd9b5e9e29368f580f80ba9d7a8450c794de4b2"
+checksum = "a2708e27f58d747423ae21d31b7a6625159bd8d867470ddd0256f396a68efa11"
dependencies = [
"alloy-sol-macro-expander",
"alloy-sol-macro-input",
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
name = "alloy-sol-macro-expander"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "620ae5eee30ee7216a38027dec34e0585c55099f827f92f50d11e3d2d3a4a954"
+checksum = "c6b7984d7e085dec382d2c5ef022b533fcdb1fe6129200af30ebf5afddb6a361"
dependencies = [
"alloy-json-abi",
"alloy-sol-macro-input",
@@ -711,16 +935,16 @@ dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"syn-solidity",
"tiny-keccak",
]
[[package]]
name = "alloy-sol-macro-input"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad9f7d057e00f8c5994e4ff4492b76532c51ead39353aa2ed63f8c50c0f4d52e"
+checksum = "33d6a9fc4ed1a3c70bdb2357bec3924551c1a59f24e5a04a74472c755b37f87d"
dependencies = [
"alloy-json-abi",
"const-hex",
@@ -729,15 +953,15 @@ dependencies = [
"proc-macro2",
"quote",
"serde_json",
- "syn 2.0.96",
+ "syn 2.0.98",
"syn-solidity",
]
[[package]]
name = "alloy-sol-type-parser"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74e60b084fe1aef8acecda2743ff2d93c18ff3eb67a2d3b12f62582a1e66ef5e"
+checksum = "1b1b3e9a48a6dd7bb052a111c8d93b5afc7956ed5e2cb4177793dc63bb1d2a36"
dependencies = [
"serde",
"winnow",
@@ -745,9 +969,9 @@ dependencies = [
[[package]]
name = "alloy-sol-types"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1382302752cd751efd275f4d6ef65877ddf61e0e6f5ac84ef4302b79a33a31a"
+checksum = "6044800da35c38118fd4b98e18306bd3b91af5dedeb54c1b768cf1b4fb68f549"
dependencies = [
"alloy-json-abi",
"alloy-primitives",
@@ -762,7 +986,7 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d17722a198f33bbd25337660787aea8b8f57814febb7c746bc30407bdfc39448"
dependencies = [
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-json-rpc 0.9.2",
"base64 0.22.1",
"futures-util",
"futures-utils-wasm",
@@ -778,12 +1002,30 @@ dependencies = [
[[package]]
name = "alloy-transport"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40e2f34fcd849676c8fe274a6e72f0664dfede7ce06d12daa728d2e72f1b4393"
dependencies = [
- "alloy-json-rpc 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "base64 0.22.1",
+ "futures-utils-wasm",
+ "serde",
+ "serde_json",
+ "thiserror 2.0.11",
+ "tokio",
+ "tower 0.5.2",
+ "tracing",
+ "url",
+ "wasmtimer",
+]
+
+[[package]]
+name = "alloy-transport"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
+dependencies = [
+ "alloy-json-rpc 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"base64 0.22.1",
- "futures-util",
"futures-utils-wasm",
"serde",
"serde_json",
@@ -801,8 +1043,18 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e1509599021330a31c4a6816b655e34bf67acb1cc03c564e09fd8754ff6c5de"
dependencies = [
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-transport 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport 0.9.2",
+ "url",
+]
+
+[[package]]
+name = "alloy-transport-http"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e291c97c3c0ebb5d03c34e3a55c0f7c5bfa307536a2efaaa6fae4b3a4d09851"
+dependencies = [
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest",
"serde_json",
"tower 0.5.2",
@@ -812,11 +1064,11 @@ dependencies = [
[[package]]
name = "alloy-transport-http"
-version = "0.9.2"
-source = "git+https://github.com/alloy-rs/alloy?rev=v0.9.2#7259b76063d511be2461c078f051dd02c9a175ce"
+version = "0.11.0"
+source = "git+https://github.com/alloy-rs/alloy?rev=v0.11.0#f4d34d4039270b9e2da2b62cc84351f1145ef3a5"
dependencies = [
- "alloy-json-rpc 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
- "alloy-transport 0.9.2 (git+https://github.com/alloy-rs/alloy?rev=v0.9.2)",
+ "alloy-json-rpc 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
+ "alloy-transport 0.11.0 (git+https://github.com/alloy-rs/alloy?rev=v0.11.0)",
"reqwest",
"serde_json",
"tower 0.5.2",
@@ -826,9 +1078,9 @@ dependencies = [
[[package]]
name = "alloy-trie"
-version = "0.7.8"
+version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6917c79e837aa7b77b7a6dae9f89cbe15313ac161c4d3cfaf8909ef21f3d22d8"
+checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b"
dependencies = [
"alloy-primitives",
"alloy-rlp",
@@ -1023,7 +1275,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c"
dependencies = [
"num-traits",
- "rand",
+ "rand 0.8.5",
]
[[package]]
@@ -1033,7 +1285,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185"
dependencies = [
"num-traits",
- "rand",
+ "rand 0.8.5",
"rayon",
]
@@ -1065,18 +1317,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
name = "async-trait"
-version = "0.1.85"
+version = "0.1.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056"
+checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -1093,7 +1345,7 @@ checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -1203,15 +1455,16 @@ dependencies = [
[[package]]
name = "bip32"
-version = "0.5.2"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b"
+checksum = "db40d3dfbeab4e031d78c844642fa0caa0b0db11ce1607ac9d2986dff1405c69"
dependencies = [
"bs58",
"hmac",
"k256",
- "rand_core",
+ "rand_core 0.6.4",
"ripemd",
+ "secp256k1",
"sha2 0.10.8",
"subtle",
"zeroize",
@@ -1324,9 +1577,9 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.16.0"
+version = "3.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
[[package]]
name = "byte-slice-cast"
@@ -1342,9 +1595,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
+checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9"
dependencies = [
"serde",
]
@@ -1366,9 +1619,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.10"
+version = "1.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
+checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda"
dependencies = [
"shlex",
]
@@ -1398,6 +1651,26 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+[[package]]
+name = "const_format"
+version = "0.2.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
[[package]]
name = "core-foundation"
version = "0.9.4"
@@ -1426,26 +1699,26 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cosmos-sdk-proto"
-version = "0.25.0"
+version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8ce7f4797cdf5cd18be6555ff3f0a8d37023c2d60f3b2708895d601b85c1c46"
+checksum = "462e1f6a8e005acc8835d32d60cbd7973ed65ea2a8d8473830e675f050956427"
dependencies = [
"prost",
- "tendermint-proto 0.39.1",
+ "tendermint-proto",
"tonic",
]
[[package]]
name = "cosmwasm-core"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c34c440d4d8e3ecec783d0f9c89d25565168b0f4cdb80a1f6a387cf2168c0740"
+checksum = "de32156e4fd80c59be39ed6f4ebb596d59b0a4eaf01d6f146e27628ec7e8f8c1"
[[package]]
name = "cosmwasm-crypto"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134e765161d60228cc27635032d2a466542ca83fd6c87f3c87f4963c0bd51008"
+checksum = "38fe1e6107ae3c9ba5e1f14178dd8bd52210535030d07f0609cf0d754c1f7de2"
dependencies = [
"ark-bls12-381",
"ark-ec",
@@ -1459,7 +1732,7 @@ dependencies = [
"k256",
"num-traits",
"p256",
- "rand_core",
+ "rand_core 0.6.4",
"rayon",
"sha2 0.10.8",
"thiserror 1.0.69",
@@ -1467,20 +1740,20 @@ dependencies = [
[[package]]
name = "cosmwasm-derive"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c94a4b93e722c91d2e58471cfe69480f4a656cfccacd8bfda5638f2a5d4512b"
+checksum = "484926c9dc8b90c59a717946c86bb272182003cbaabb378560086648d4056656"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
name = "cosmwasm-std"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4434e556b0aebff34bf082e75d175b5d7edbcf1d90d4cedb59623a1249fff567"
+checksum = "c92be4747d9abe3a96a5a78af34d29947992b3f67f602987ff8a87142ce9c413"
dependencies = [
"base64 0.22.1",
"bech32",
@@ -1490,7 +1763,7 @@ dependencies = [
"cosmwasm-derive",
"derive_more",
"hex",
- "rand_core",
+ "rand_core 0.6.4",
"rmp-serde",
"schemars",
"serde",
@@ -1502,13 +1775,28 @@ dependencies = [
[[package]]
name = "cpufeatures"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3"
+checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
dependencies = [
"libc",
]
+[[package]]
+name = "crc"
+version = "3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
+
[[package]]
name = "crossbeam-deque"
version = "0.8.6"
@@ -1547,7 +1835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"generic-array",
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
"zeroize",
]
@@ -1586,7 +1874,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -1597,7 +1885,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8"
dependencies = [
"byteorder",
"digest 0.9.0",
- "rand_core",
+ "rand_core 0.6.4",
"subtle-ng",
"zeroize",
]
@@ -1618,9 +1906,9 @@ dependencies = [
[[package]]
name = "deadpool"
-version = "0.12.1"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6541a3916932fe57768d4be0b1ffb5ec7cbf74ca8c903fdfd5c0fe8aa958f0ed"
+checksum = "5ed5957ff93768adf7a65ab167a17835c3d2c3c50d084fe305174c112f468e2f"
dependencies = [
"deadpool-runtime",
"num_cpus",
@@ -1680,7 +1968,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"unicode-xid",
]
@@ -1713,7 +2001,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -1724,9 +2012,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
[[package]]
name = "dyn-clone"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
+checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35"
[[package]]
name = "ecdsa"
@@ -1760,7 +2048,7 @@ checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b"
dependencies = [
"curve25519-dalek-ng",
"hex",
- "rand_core",
+ "rand_core 0.6.4",
"sha2 0.9.9",
"zeroize",
]
@@ -1775,7 +2063,7 @@ dependencies = [
"ed25519",
"hashbrown 0.14.5",
"hex",
- "rand_core",
+ "rand_core 0.6.4",
"sha2 0.10.8",
"zeroize",
]
@@ -1799,7 +2087,7 @@ dependencies = [
"generic-array",
"group",
"pkcs8",
- "rand_core",
+ "rand_core 0.6.4",
"sec1",
"subtle",
"zeroize",
@@ -1834,16 +2122,18 @@ dependencies = [
name = "eth-trigger-weather"
version = "0.1.0"
dependencies = [
- "alloy-contract 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-contract 0.9.2",
+ "alloy-primitives",
"alloy-sol-macro",
"alloy-sol-types",
"anyhow",
"layer-climb",
- "layer-wasi",
"reqwest",
"serde",
"serde_json",
- "wit-bindgen-rt 0.37.0",
+ "wavs-wasi-chain",
+ "wit-bindgen",
+ "wit-bindgen-rt 0.38.0",
"wstd",
]
@@ -1891,7 +2181,7 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
]
@@ -1908,7 +2198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
dependencies = [
"byteorder",
- "rand",
+ "rand 0.8.5",
"rustc-hex",
"static_assertions",
]
@@ -1919,7 +2209,6 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b"
dependencies = [
- "eyre",
"paste",
]
@@ -2021,7 +2310,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -2094,6 +2383,20 @@ dependencies = [
"wasm-bindgen",
]
+[[package]]
+name = "getrandom"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi 0.13.3+wasi-0.2.2",
+ "wasm-bindgen",
+ "windows-targets",
+]
+
[[package]]
name = "gimli"
version = "0.31.1"
@@ -2125,7 +2428,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
dependencies = [
"ff",
- "rand_core",
+ "rand_core 0.6.4",
"subtle",
]
@@ -2257,9 +2560,9 @@ dependencies = [
[[package]]
name = "httparse"
-version = "1.9.5"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
+checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a"
[[package]]
name = "httpdate"
@@ -2269,9 +2572,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
-version = "1.5.2"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0"
+checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
dependencies = [
"bytes",
"futures-channel",
@@ -2355,9 +2658,9 @@ dependencies = [
[[package]]
name = "ibc-proto"
-version = "0.49.1"
+version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "694657ebe503dc1cb1c67ed5c7ca880479c026a37004808ee94505df5b0cbf60"
+checksum = "9b70f517162e74e2d35875b8b94bf4d1e45f2c69ef3de452dc855944455d33ca"
dependencies = [
"base64 0.22.1",
"bytes",
@@ -2367,7 +2670,7 @@ dependencies = [
"informalsystems-pbjson",
"prost",
"subtle-encoding",
- "tendermint-proto 0.39.1",
+ "tendermint-proto",
"tonic",
]
@@ -2500,7 +2803,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -2547,7 +2850,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -2611,6 +2914,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.14"
@@ -2627,21 +2939,6 @@ dependencies = [
"wasm-bindgen",
]
-[[package]]
-name = "jsonwebtoken"
-version = "9.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f"
-dependencies = [
- "base64 0.21.7",
- "js-sys",
- "pem",
- "ring",
- "serde",
- "serde_json",
- "simple_asn1",
-]
-
[[package]]
name = "k256"
version = "0.13.4"
@@ -2677,8 +2974,9 @@ dependencies = [
[[package]]
name = "layer-climb"
-version = "0.3.3"
-source = "git+https://github.com/Lay3rLabs/climb?tag=v0.3.3#7be72a07f6878c25dfd194b8a5470eb225904d6e"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ca54182f5d19ff84eca02303615e40e2ff63a5938ff9997b96f2d6d59e03923"
dependencies = [
"layer-climb-address",
"layer-climb-config",
@@ -2688,8 +2986,9 @@ dependencies = [
[[package]]
name = "layer-climb-address"
-version = "0.3.3"
-source = "git+https://github.com/Lay3rLabs/climb?tag=v0.3.3#7be72a07f6878c25dfd194b8a5470eb225904d6e"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cff156dbee7aa712a81c1d9c7cf6aa30eadc11db5b726a06e3a144f1ea75dafb"
dependencies = [
"alloy-primitives",
"anyhow",
@@ -2704,19 +3003,17 @@ dependencies = [
"layer-climb-proto",
"log",
"serde",
- "serde-wasm-bindgen",
"signature",
"subtle-encoding",
- "tendermint 0.39.1",
- "thiserror 1.0.69",
- "wasm-bindgen",
- "wasm-bindgen-futures",
+ "tendermint",
+ "thiserror 2.0.11",
]
[[package]]
name = "layer-climb-config"
-version = "0.3.3"
-source = "git+https://github.com/Lay3rLabs/climb?tag=v0.3.3#7be72a07f6878c25dfd194b8a5470eb225904d6e"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acb7a23d050ebf199092d1d60de77d19e72fd874725f40d39729c00dfa69f8e9"
dependencies = [
"anyhow",
"serde",
@@ -2725,8 +3022,9 @@ dependencies = [
[[package]]
name = "layer-climb-core"
-version = "0.3.3"
-source = "git+https://github.com/Lay3rLabs/climb?tag=v0.3.3#7be72a07f6878c25dfd194b8a5470eb225904d6e"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a26632d133a575a01ca6aaf06944c6fad3b77db29008f14bf6c5253911b5550"
dependencies = [
"anyhow",
"async-trait",
@@ -2737,65 +3035,43 @@ dependencies = [
"deadpool",
"futures",
"futures-timer",
- "getrandom",
+ "getrandom 0.3.1",
"hex",
+ "http",
+ "http-body",
+ "http-body-util",
+ "httparse",
"layer-climb-address",
"layer-climb-config",
"layer-climb-proto",
"log",
- "rand",
+ "rand 0.9.0",
"reqwest",
"serde",
"serde_json",
- "tendermint 0.39.1",
- "tendermint-rpc 0.39.1",
- "thiserror 1.0.69",
+ "tendermint",
+ "tendermint-rpc",
+ "thiserror 2.0.11",
"tokio",
"toml",
"tonic",
"tonic-web-wasm-client",
+ "tower-service",
"tracing",
+ "wstd",
]
[[package]]
name = "layer-climb-proto"
-version = "0.3.3"
-source = "git+https://github.com/Lay3rLabs/climb?tag=v0.3.3#7be72a07f6878c25dfd194b8a5470eb225904d6e"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ca3c6288380d3ac8db3d4392f51092ed218904dff929c4b0dd988b8bdffd665"
dependencies = [
"anyhow",
"cosmos-sdk-proto",
"ibc-proto",
- "tendermint-proto 0.39.1",
- "thiserror 1.0.69",
-]
-
-[[package]]
-name = "layer-wasi"
-version = "0.1.0"
-dependencies = [
- "alloy-json-rpc 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-primitives",
- "alloy-provider 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-client 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-rpc-types",
- "alloy-sol-types",
- "alloy-transport 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "alloy-transport-http 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "anyhow",
- "async-trait",
- "cfg-if",
- "cosmwasm-std",
- "layer-climb",
- "serde",
- "serde_json",
- "tendermint 0.40.1",
- "tendermint-rpc 0.40.1",
- "tower-service",
- "url",
- "wasi 0.13.3+wasi-0.2.2",
- "wit-bindgen",
- "wit-bindgen-rt 0.37.0",
- "wstd",
+ "tendermint-proto",
+ "thiserror 2.0.11",
]
[[package]]
@@ -2859,6 +3135,15 @@ dependencies = [
"hashbrown 0.15.2",
]
+[[package]]
+name = "lru"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465"
+dependencies = [
+ "hashbrown 0.15.2",
+]
+
[[package]]
name = "matchit"
version = "0.7.3"
@@ -2899,9 +3184,9 @@ dependencies = [
[[package]]
name = "native-tls"
-version = "0.2.12"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
+checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c"
dependencies = [
"libc",
"log",
@@ -2976,7 +3261,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3003,9 +3288,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.20.2"
+version = "1.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
[[package]]
name = "opaque-debug"
@@ -3015,9 +3300,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
-version = "0.10.68"
+version = "0.10.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
+checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6"
dependencies = [
"bitflags",
"cfg-if",
@@ -3036,7 +3321,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3047,9 +3332,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]]
name = "openssl-sys"
-version = "0.9.104"
+version = "0.9.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
+checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc"
dependencies = [
"cc",
"libc",
@@ -3071,28 +3356,30 @@ dependencies = [
[[package]]
name = "parity-scale-codec"
-version = "3.6.12"
+version = "3.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee"
+checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d"
dependencies = [
"arrayvec",
"bitvec",
"byte-slice-cast",
+ "const_format",
"impl-trait-for-tuples",
"parity-scale-codec-derive",
+ "rustversion",
"serde",
]
[[package]]
name = "parity-scale-codec-derive"
-version = "3.6.12"
+version = "3.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c"
+checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.98",
]
[[package]]
@@ -3151,16 +3438,6 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a"
-[[package]]
-name = "pem"
-version = "3.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
-dependencies = [
- "base64 0.22.1",
- "serde",
-]
-
[[package]]
name = "percent-encoding"
version = "2.3.1"
@@ -3180,22 +3457,22 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.1.8"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916"
+checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.8"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb"
+checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3238,7 +3515,7 @@ version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
dependencies = [
- "zerocopy",
+ "zerocopy 0.7.35",
]
[[package]]
@@ -3248,7 +3525,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac"
dependencies = [
"proc-macro2",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3299,7 +3576,7 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3322,8 +3599,8 @@ dependencies = [
"bitflags",
"lazy_static",
"num-traits",
- "rand",
- "rand_chacha",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
"rand_xorshift",
"regex-syntax",
"rusty-fork",
@@ -3351,7 +3628,7 @@ dependencies = [
"itertools 0.13.0",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3382,11 +3659,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
- "rand_chacha",
- "rand_core",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
"serde",
]
+[[package]]
+name = "rand"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
+dependencies = [
+ "rand_chacha 0.9.0",
+ "rand_core 0.9.0",
+ "zerocopy 0.8.17",
+]
+
[[package]]
name = "rand_chacha"
version = "0.3.1"
@@ -3394,7 +3682,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.9.0",
]
[[package]]
@@ -3403,7 +3701,17 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom",
+ "getrandom 0.2.15",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
+dependencies = [
+ "getrandom 0.3.1",
+ "zerocopy 0.8.17",
]
[[package]]
@@ -3412,7 +3720,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -3512,7 +3820,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
dependencies = [
"cc",
"cfg-if",
- "getrandom",
+ "getrandom 0.2.15",
"libc",
"spin",
"untrusted",
@@ -3578,7 +3886,7 @@ dependencies = [
"parity-scale-codec",
"primitive-types",
"proptest",
- "rand",
+ "rand 0.8.5",
"rlp",
"ruint-macro",
"serde",
@@ -3600,9 +3908,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustc-hash"
-version = "2.1.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
+checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
[[package]]
name = "rustc-hex"
@@ -3643,9 +3951,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.21"
+version = "0.23.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8"
+checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7"
dependencies = [
"log",
"once_cell",
@@ -3679,9 +3987,9 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
-version = "1.10.1"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
+checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
[[package]]
name = "rustls-webpki"
@@ -3714,9 +4022,9 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.18"
+version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
[[package]]
name = "same-file"
@@ -3757,7 +4065,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3791,6 +4099,24 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "secp256k1"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f"
+dependencies = [
+ "secp256k1-sys",
+]
+
+[[package]]
+name = "secp256k1-sys"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e"
+dependencies = [
+ "cc",
+]
+
[[package]]
name = "security-framework"
version = "2.11.1"
@@ -3875,17 +4201,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "serde-wasm-bindgen"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
-dependencies = [
- "js-sys",
- "serde",
- "wasm-bindgen",
-]
-
[[package]]
name = "serde_bytes"
version = "0.11.15"
@@ -3903,7 +4218,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -3914,14 +4229,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
name = "serde_json"
-version = "1.0.137"
+version = "1.0.138"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
+checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
dependencies = [
"itoa",
"memchr",
@@ -3937,7 +4252,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4018,19 +4333,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest 0.10.7",
- "rand_core",
-]
-
-[[package]]
-name = "simple_asn1"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb"
-dependencies = [
- "num-bigint",
- "num-traits",
- "thiserror 2.0.11",
- "time",
+ "rand_core 0.6.4",
]
[[package]]
@@ -4117,7 +4420,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4154,9 +4457,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.96"
+version = "2.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
+checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
dependencies = [
"proc-macro2",
"quote",
@@ -4165,14 +4468,14 @@ dependencies = [
[[package]]
name = "syn-solidity"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84e4d83a0a6704561302b917a932484e1cae2d8c6354c64be8b7bac1c1fe057"
+checksum = "9c2de690018098e367beeb793991c7d4dc7270f42c9d2ac4ccc876c1368ca430"
dependencies = [
"paste",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4192,7 +4495,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4224,48 +4527,18 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.15.0"
+version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
+checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91"
dependencies = [
"cfg-if",
"fastrand",
- "getrandom",
+ "getrandom 0.3.1",
"once_cell",
"rustix",
"windows-sys 0.59.0",
]
-[[package]]
-name = "tendermint"
-version = "0.39.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f3afea7809ffaaf1e5d9c3c9997cb3a834df7e94fbfab2fad2bc4577f1cde41"
-dependencies = [
- "bytes",
- "digest 0.10.7",
- "ed25519",
- "ed25519-consensus",
- "flex-error",
- "futures",
- "k256",
- "num-traits",
- "once_cell",
- "prost",
- "ripemd",
- "serde",
- "serde_bytes",
- "serde_json",
- "serde_repr",
- "sha2 0.10.8",
- "signature",
- "subtle",
- "subtle-encoding",
- "tendermint-proto 0.39.1",
- "time",
- "zeroize",
-]
-
[[package]]
name = "tendermint"
version = "0.40.1"
@@ -4278,9 +4551,11 @@ dependencies = [
"ed25519-consensus",
"flex-error",
"futures",
+ "k256",
"num-traits",
"once_cell",
"prost",
+ "ripemd",
"serde",
"serde_bytes",
"serde_json",
@@ -4289,25 +4564,11 @@ dependencies = [
"signature",
"subtle",
"subtle-encoding",
- "tendermint-proto 0.40.1",
+ "tendermint-proto",
"time",
"zeroize",
]
-[[package]]
-name = "tendermint-config"
-version = "0.39.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8add7b85b0282e5901521f78fe441956ac1e2752452f4e1f2c0ce7e1f10d485"
-dependencies = [
- "flex-error",
- "serde",
- "serde_json",
- "tendermint 0.39.1",
- "toml",
- "url",
-]
-
[[package]]
name = "tendermint-config"
version = "0.40.1"
@@ -4317,26 +4578,11 @@ dependencies = [
"flex-error",
"serde",
"serde_json",
- "tendermint 0.40.1",
+ "tendermint",
"toml",
"url",
]
-[[package]]
-name = "tendermint-proto"
-version = "0.39.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf3abf34ecf33125621519e9952688e7a59a98232d51538037ba21fbe526a802"
-dependencies = [
- "bytes",
- "flex-error",
- "prost",
- "serde",
- "serde_bytes",
- "subtle-encoding",
- "time",
-]
-
[[package]]
name = "tendermint-proto"
version = "0.40.1"
@@ -4352,35 +4598,6 @@ dependencies = [
"time",
]
-[[package]]
-name = "tendermint-rpc"
-version = "0.39.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9693f42544bf3b41be3cbbfa418650c86e137fb8f5a57981659a84b677721ecf"
-dependencies = [
- "async-trait",
- "bytes",
- "flex-error",
- "getrandom",
- "peg",
- "pin-project",
- "rand",
- "semver 1.0.25",
- "serde",
- "serde_bytes",
- "serde_json",
- "subtle",
- "subtle-encoding",
- "tendermint 0.39.1",
- "tendermint-config 0.39.1",
- "tendermint-proto 0.39.1",
- "thiserror 1.0.69",
- "time",
- "url",
- "uuid",
- "walkdir",
-]
-
[[package]]
name = "tendermint-rpc"
version = "0.40.1"
@@ -4390,19 +4607,19 @@ dependencies = [
"async-trait",
"bytes",
"flex-error",
- "getrandom",
+ "getrandom 0.2.15",
"peg",
"pin-project",
- "rand",
+ "rand 0.8.5",
"semver 1.0.25",
"serde",
"serde_bytes",
"serde_json",
"subtle",
"subtle-encoding",
- "tendermint 0.40.1",
- "tendermint-config 0.40.1",
- "tendermint-proto 0.40.1",
+ "tendermint",
+ "tendermint-config",
+ "tendermint-proto",
"thiserror 1.0.69",
"time",
"url",
@@ -4436,7 +4653,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4447,7 +4664,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4466,7 +4683,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21"
dependencies = [
"deranged",
- "itoa",
"num-conv",
"powerfmt",
"serde",
@@ -4548,7 +4764,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4598,9 +4814,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.19"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
+checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
dependencies = [
"serde",
"serde_spanned",
@@ -4619,9 +4835,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.22.22"
+version = "0.22.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
+checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee"
dependencies = [
"indexmap 2.7.1",
"serde",
@@ -4666,9 +4882,9 @@ dependencies = [
[[package]]
name = "tonic-web-wasm-client"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef5ca6e7bdd0042c440d36b6df97c1436f1d45871ce18298091f114004b1beb4"
+checksum = "c191f6613df48874158b6af303313eadf25d1b7a534216b62a1f049d77cd2711"
dependencies = [
"base64 0.22.1",
"byteorder",
@@ -4700,7 +4916,7 @@ dependencies = [
"indexmap 1.9.3",
"pin-project",
"pin-project-lite",
- "rand",
+ "rand 0.8.5",
"slab",
"tokio",
"tokio-util",
@@ -4755,7 +4971,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -4805,9 +5021,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-ident"
-version = "1.0.15"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243"
+checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
[[package]]
name = "unicode-normalization"
@@ -4855,9 +5071,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "uuid"
-version = "1.12.1"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b"
+checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0"
[[package]]
name = "valuable"
@@ -4879,9 +5095,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "wait-timeout"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
dependencies = [
"libc",
]
@@ -4920,6 +5136,15 @@ dependencies = [
"wit-bindgen-rt 0.33.0",
]
+[[package]]
+name = "wasi"
+version = "0.14.1+wasi-0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad7df608df60a1c33e247881838b0f809512086e3e3bb1c18323b77eeb1f844e"
+dependencies = [
+ "wit-bindgen-rt 0.39.0",
+]
+
[[package]]
name = "wasm-bindgen"
version = "0.2.100"
@@ -4942,7 +5167,7 @@ dependencies = [
"log",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"wasm-bindgen-shared",
]
@@ -4977,7 +5202,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -4993,9 +5218,9 @@ dependencies = [
[[package]]
name = "wasm-encoder"
-version = "0.223.0"
+version = "0.224.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e636076193fa68103e937ac951b5f2f587624097017d764b8984d9c0f149464"
+checksum = "1ab7a13a23790fe91ea4eb7526a1f3131001d874e3e00c2976c48861f2e82920"
dependencies = [
"leb128",
"wasmparser",
@@ -5003,9 +5228,9 @@ dependencies = [
[[package]]
name = "wasm-metadata"
-version = "0.223.0"
+version = "0.224.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c730c3379d3d20e5a0245b0724b924483e853588ca8fba547c1e21f19e7d735"
+checksum = "c93c9e49fa2749be3c5ab28ad4be03167294915cd3b2ded3f04f760cef5cfb86"
dependencies = [
"anyhow",
"indexmap 2.7.1",
@@ -5033,9 +5258,9 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.223.0"
+version = "0.224.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5a99faceb1a5a84dd6084ec4bfa4b2ab153b5793b43fd8f58b89232634afc35"
+checksum = "04f17a5917c2ddd3819e84c661fae0d6ba29d7b9c1f0e96c708c65a9c4188e11"
dependencies = [
"bitflags",
"hashbrown 0.15.2",
@@ -5057,6 +5282,31 @@ dependencies = [
"wasm-bindgen",
]
+[[package]]
+name = "wavs-wasi-chain"
+version = "0.3.0-alpha3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ecbd58a7784af9529bbeb97f4fc9230635093909c4ecb7ac42b8734542894e1"
+dependencies = [
+ "alloy-json-rpc 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-primitives",
+ "alloy-provider 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-rpc-client 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-sol-types",
+ "alloy-transport 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alloy-transport-http 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "anyhow",
+ "async-trait",
+ "cfg-if",
+ "futures-utils-wasm",
+ "serde",
+ "serde_json",
+ "tower-service",
+ "wasi 0.14.1+wasi-0.2.3",
+ "wit-bindgen-rt 0.39.0",
+ "wstd",
+]
+
[[package]]
name = "web-sys"
version = "0.3.77"
@@ -5069,9 +5319,9 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.26.7"
+version = "0.26.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"
+checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9"
dependencies = [
"rustls-pki-types",
]
@@ -5199,28 +5449,28 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.6.24"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
+checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603"
dependencies = [
"memchr",
]
[[package]]
name = "wit-bindgen"
-version = "0.37.0"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9219694564701fa935754f1552ce299154fc74948d6d148134ce55f3504c8bf1"
+checksum = "b550e454e4cce8984398539a94a0226511e1f295b14afdc8f08b4e2e2ff9de3a"
dependencies = [
- "wit-bindgen-rt 0.37.0",
+ "wit-bindgen-rt 0.38.0",
"wit-bindgen-rust-macro",
]
[[package]]
name = "wit-bindgen-core"
-version = "0.37.0"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba105733ba146c94e067793fb46505265ea8720eb14ceae65b10797c7728a65"
+checksum = "70e2f98d49960a416074c5d72889f810ed3032a32ffef5e4760094426fefbfe8"
dependencies = [
"anyhow",
"heck",
@@ -5238,9 +5488,20 @@ dependencies = [
[[package]]
name = "wit-bindgen-rt"
-version = "0.37.0"
+version = "0.38.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed6f8d372a2d4a1227f2556e051cc24b2a5f15768d53451c84ff91e2527139e3"
+dependencies = [
+ "bitflags",
+ "futures",
+ "once_cell",
+]
+
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc801b991c56492f87ab3086e786468f75c285a4d73017ab0ebc2fa1aed5d82c"
+checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags",
"futures",
@@ -5249,15 +5510,15 @@ dependencies = [
[[package]]
name = "wit-bindgen-rust"
-version = "0.37.0"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257e0d217bc06635837d751447c39e77b9901752e052288ff6fe0fdb17850bc5"
+checksum = "1cc49091f84e4f2ace078bbc86082b57e667b9e789baece4b1184e0963382b6e"
dependencies = [
"anyhow",
"heck",
"indexmap 2.7.1",
"prettyplease",
- "syn 2.0.96",
+ "syn 2.0.98",
"wasm-metadata",
"wit-bindgen-core",
"wit-component",
@@ -5265,24 +5526,24 @@ dependencies = [
[[package]]
name = "wit-bindgen-rust-macro"
-version = "0.37.0"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ac98caa9302234687b8e67ce7dfcf31ae5238523f166b93c23988fd0d4e0594"
+checksum = "3545a699dc9d72298b2064ce71b771fc10fc6b757d29306b1e54a4283a75abba"
dependencies = [
"anyhow",
"prettyplease",
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"wit-bindgen-core",
"wit-bindgen-rust",
]
[[package]]
name = "wit-component"
-version = "0.223.0"
+version = "0.224.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c10ed2aeee4c8ec5715875f62f4a3de3608d6987165c116810d8c2908aa9d93b"
+checksum = "923637fe647372efbbb654757f8c884ba280924477e1d265eca7e35d4cdcea8b"
dependencies = [
"anyhow",
"bitflags",
@@ -5299,9 +5560,9 @@ dependencies = [
[[package]]
name = "wit-parser"
-version = "0.223.0"
+version = "0.224.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92772f4dcacb804b275981eea1d920b12b377993b53307f1e33d87404e080281"
+checksum = "e3477d8d0acb530d76beaa8becbdb1e3face08929db275f39934963eb4f716f8"
dependencies = [
"anyhow",
"id-arena",
@@ -5329,13 +5590,27 @@ checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "wstd"
-version = "0.4.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "159bdbe25114f4549900a9ba7170f3604c10b76c76bb58bbb61767b27773f844"
+checksum = "26293c0587d2203a141282311221f9ba0048425a04b21d9fcff8fc62fc8ecd75"
dependencies = [
+ "futures-core",
+ "http",
+ "itoa",
+ "pin-project-lite",
"slab",
- "url",
- "wasi 0.13.3+wasi-0.2.2",
+ "wasi 0.14.1+wasi-0.2.3",
+ "wstd-macro",
+]
+
+[[package]]
+name = "wstd-macro"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75a8316f91fc3e508b03fdc979dec4ceeddb29744fc1c2c2ed825e00159f96f9"
+dependencies = [
+ "quote",
+ "syn 2.0.98",
]
[[package]]
@@ -5367,7 +5642,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"synstructure",
]
@@ -5378,7 +5653,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
"byteorder",
- "zerocopy-derive",
+ "zerocopy-derive 0.7.35",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.8.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713"
+dependencies = [
+ "zerocopy-derive 0.8.17",
]
[[package]]
@@ -5389,7 +5673,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.98",
]
[[package]]
@@ -5409,7 +5704,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
"synstructure",
]
@@ -5430,7 +5725,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
[[package]]
@@ -5452,5 +5747,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.96",
+ "syn 2.0.98",
]
diff --git a/Cargo.toml b/Cargo.toml
index 744a9c3e..2e924c12 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,32 +17,38 @@ rust-version = "1.80.0"
[workspace.dependencies]
bindings = { path = "crates/bindings" }
-wit-bindgen-rt = {version = "0.37.0", features = ["bitflags"]}
-wstd = "0.4.0"
+
+# WASI
+wit-bindgen-rt = {version = "0.38.0", features = ["bitflags"]}
+wit-bindgen = "0.38.0"
+wstd = "0.5.0"
+wasi = "0.13.3"
+wavs-wasi-chain = "0.3.0-alpha3"
+
+# Other
serde = { version = "1.0.211", features = ["derive"] }
serde_json = "1.0.127"
-# layer WAVS imports
-layer-wasi = { path = "./lib/WAVS/sdk/wasi" }
-alloy-contract = "0.9.2"
-alloy-json-rpc = "0.9.2"
-alloy-primitives = "0.8.15"
-alloy-provider = "0.9.2"
-alloy-rlp = {version = "0.3.10", features = ["derive"]}
-alloy-rpc-client = "0.9.2"
-alloy-rpc-types = "0.9.2"
-alloy-sol-macro = { version = "0.8.15", features = ["json"]}
-alloy-sol-types = "0.8.15"
-alloy-transport = "0.9.2"
-alloy-transport-http = "0.9.2"
anyhow = "1.0.90"
async-trait = "0.1.85"
cfg-if = "1.0.0"
cosmwasm-std = {version = "2.2.0", features = ["stargate"]}
-layer-climb = { git = "https://github.com/Lay3rLabs/climb", tag = "v0.3.3" }
+layer-climb = "0.3.7"
tendermint = { version = "0.40.1", default-features = false}
tendermint-rpc = "0.40.1"
tower-service = "0.3.3"
url = "2.5.3"
-wasi = "0.13.3"
wasmtime-wasi = { version = "24.0.0", default-features = true }
-wit-bindgen = "0.37.0"
+futures-utils-wasm = "0.1.0"
+
+## Alloy
+# must match the crates/bindings/Cargo.toml & app/Cargo.toml value
+alloy = { version = "0.11.0", features = ["full", "signer-mnemonic", "node-bindings"] }
+alloy-contract = "0.9.2"
+alloy-sol-macro = { version = "0.8.15", features = ["json"]}
+alloy-primitives = {version = "0.8.20", features = ["serde"]}
+alloy-sol-types = "0.8.20"
+alloy-json-rpc = "0.11.0"
+alloy-provider = "0.11.0"
+alloy-transport-http = "0.11.0"
+alloy-transport = "0.11.0"
+alloy-rpc-client = "0.11.0"
diff --git a/Makefile b/Makefile
index 379f4e16..6074dc21 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ CARGO=cargo
bindings: _build_forge
# Generate new bindings
@forge bind --bindings-path ./crates/bindings --crate-name bindings --overwrite \
- --alloy --alloy-version v0.9.2
+ --alloy --alloy-version v0.11.0
@$(CARGO) fmt --manifest-path ./crates/bindings/Cargo.toml
## build: building the project
@@ -34,6 +34,9 @@ update-submodules:
clean: clean-docker
@forge clean
@$(CARGO) clean
+ @rm -rf cache
+ @rm -rf out
+ @rm -rf broadcast
## clean-docker: remove unused docker containers
clean-docker:
@@ -55,6 +58,7 @@ setup:
## start-all: starting anvil and WAVS with docker compose
start-all: clean-docker
+ @rm .docker/cli/*.json || true
@trap 'kill $(jobs -pr)' EXIT
# running anvil out of compose is a temp work around for MacOS
@anvil &
diff --git a/README.md b/README.md
index 40b1affa..b54e5635 100644
--- a/README.md
+++ b/README.md
@@ -24,8 +24,8 @@ forge init --template Lay3rLabs/wavs-foundry-template my-wavs
### Solidity
```bash
-# Initialize the submodule dependencies
-forge install
+# Initialize the dependencies
+forge install && npm install
# Build the contracts
forge build
@@ -52,7 +52,10 @@ make test
```bash
# MacOS: if you get permission errors: eval `ssh-agent -s` && ssh-add
-(cd lib/WAVS; cargo install --path ./packages/cli)
+# (cd lib/WAVS; cargo install --path ./packages/cli)
+# (cd lib/WAVS; just docker-build)
+
+docker cp $(docker create --name tc ghcr.io/lay3rlabs/wavs:0.3.0-alpha5-amd64):/usr/local/bin/wavs-cli ~/.cargo/bin/wavs-cli && docker rm tc
```
### Start Anvil, WAVS, and Deploy Eigenlayer
@@ -74,27 +77,20 @@ make start-all
### Upload your WAVS Service Manager
```bash
+# Deploy service-manager
+sudo chmod 0666 .docker/cli/deployments.json
+wavs-cli deploy-eigen-service-manager --data ./.docker/cli
+export SERVICE_MANAGER=`jq -r '.eigen_service_managers.local | .[-1]' .docker/cli/deployments.json`
+
# Deploy
export FOUNDRY_ANVIL_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
-forge script ./script/WavsSubmit.s.sol --rpc-url http://localhost:8545 --broadcast
+forge script ./script/Deploy.s.sol ${SERVICE_MANAGER} --sig "run(string)" --rpc-url http://localhost:8545 --broadcast
# Grab deployed service manager from script file output
export SERVICE_HANDLER_ADDR=`jq -r '.service_handler' "./.docker/cli/script_deploy.json"`
echo "Service Handler Addr: $SERVICE_HANDLER_ADDR"
export TRIGGER_ADDR=`jq -r '.trigger' "./.docker/cli/script_deploy.json"`; echo "Trigger Addr: $TRIGGER_ADDR"
-
-# add read-write access
-sudo chmod 0666 .docker/cli/deployments.json
-
-wavs-cli deploy-eigen-service-manager --data ./.docker/cli --service-handler ${SERVICE_HANDLER_ADDR}
-export SERVICE_MANAGER=0x0e801d84fa97b50751dbf25036d067dcf18858bf
-
-# Set the service manager in the service handler
-# - handleAddPayload can only be called by onlyServiceManager
-# - add-task requires to getServiceManager() from the contract to deploy
-cast send ${SERVICE_HANDLER_ADDR} "setServiceManager(address)" ${SERVICE_MANAGER} --rpc-url http://localhost:8545 --private-key $FOUNDRY_ANVIL_PRIVATE_KEY
-# cast call ${SERVICE_HANDLER_ADDR} "getServiceManager()(address)" --rpc-url http://localhost:8545
```
### Build WASI components
@@ -115,18 +111,16 @@ make wasi-build
# Contract trigger function signature to listen for
trigger_event=$(cast sig-event "NewTrigger(bytes)"); echo "Trigger Event: $trigger_event"
-service_info=`wavs-cli deploy-service --log-level=error --data ./.docker/cli --component $(pwd)/compiled/eth_trigger_weather.wasm \
+wavs-cli deploy-service --log-level=error --quiet-results=false --data ./.docker/cli --component $(pwd)/compiled/eth_trigger_weather.wasm \
--trigger-event-name ${trigger_event:2} \
--trigger eth-contract-event \
--trigger-address ${TRIGGER_ADDR} \
- --submit-address ${SERVICE_MANAGER} \
- --service-config '{"fuelLimit":100000000,"maxGas":5000000,"hostEnvs":["WAVS_ENV_OPEN_WEATHER_API_KEY"],"kv":[],"workflowId":"default","componentId":"default"}'`
+ --submit-address ${SERVICE_HANDLER_ADDR} \
+ --service-config '{"fuel_limit":100000000,"max_gas":5000000,"host_envs":["WAVS_ENV_OPEN_WEATHER_API_KEY"],"kv":[],"workflow_id":"default","component_id":"default"}'
-echo "Service info: $service_info"
# Submit AVS request -> chain
-SERVICE_ID=`echo $service_info | jq -r .service[0]`; echo "Service ID: $SERVICE_ID"
-wavs-cli add-task --input "Nashville,TN" --data ./.docker/cli --service-id ${SERVICE_ID}
+cast send ${TRIGGER_ADDR} "addTrigger(bytes)" `cast format-bytes32-string Nashville,TN` --rpc-url http://localhost:8545 --private-key $FOUNDRY_ANVIL_PRIVATE_KEY
# Grab data from the contract directly
hex_bytes=$(cast decode-abi "getData(uint64)(bytes)" `cast call ${SERVICE_HANDLER_ADDR} "getData(uint64)" 1`)
diff --git a/aggregator.toml b/aggregator.toml
new file mode 100644
index 00000000..2dfecd9c
--- /dev/null
+++ b/aggregator.toml
@@ -0,0 +1,18 @@
+# the allowed cors origins. Default is empty list.
+cors_allowed_origins = [
+ "https://lay3rlabs.github.io/*",
+ "http://localhost:*",
+ "http://127.0.0.1:*",
+]
+
+# the directory to store the data. Default is "/var/wavs-aggregator"
+# data = "~/wavs/aggregator"
+
+chain = "local"
+
+[chains.eth.local]
+chain_id = "31337"
+ws_endpoint = "ws://localhost:8545"
+http_endpoint = "http://localhost:8545"
+
+tasks_quorum = 1
diff --git a/app/Cargo.toml b/app/Cargo.toml
index e8a05816..e19501c8 100644
--- a/app/Cargo.toml
+++ b/app/Cargo.toml
@@ -8,6 +8,6 @@ edition = "2021"
[dependencies]
bindings.workspace = true
# must match the crates/bindings/Cargo.toml value
-alloy = { git = "https://github.com/alloy-rs/alloy", rev = "v0.9.2", features = ["sol-types", "contract"] }
+alloy = { git = "https://github.com/alloy-rs/alloy", rev = "v0.11.0", features = ["sol-types", "contract"] }
eyre = "0.6"
tokio = { version = "1.19", features = ["macros", "rt-multi-thread"] }
diff --git a/app/src/main.rs b/app/src/main.rs
index 511b21b8..ea11c139 100644
--- a/app/src/main.rs
+++ b/app/src/main.rs
@@ -3,7 +3,7 @@ use alloy::{
primitives::Address,
providers::{Provider, ProviderBuilder},
};
-use bindings::wavssubmit::WavsSubmit;
+use bindings::simplesubmit::SimpleSubmit;
use eyre::Result;
#[tokio::main]
@@ -20,8 +20,8 @@ async fn main() -> Result<()> {
println!("Block: {:?}", block);
// TODO: update me with your contract!
- let contract_address = "0x851356ae760d987E095750cCeb3bC6014560891C".parse::
()?;
- let contract = WavsSubmit::new(contract_address, provider.clone());
+ let contract_address = "0x36c02da8a0983159322a80ffe9f24b1acff8b570".parse::()?;
+ let contract = SimpleSubmit::new(contract_address, provider.clone());
let resp = contract.getData(1).call().await?;
diff --git a/components/eth-trigger-weather/Cargo.toml b/components/eth-trigger-weather/Cargo.toml
index eb8fa3c3..84b18b2e 100644
--- a/components/eth-trigger-weather/Cargo.toml
+++ b/components/eth-trigger-weather/Cargo.toml
@@ -7,17 +7,19 @@ rust-version.workspace = true
repository.workspace = true
[dependencies]
-wit-bindgen-rt = { workspace = true }
-layer-wasi = { workspace = true }
+wit-bindgen = { workspace = true }
+wit-bindgen-rt = {workspace = true}
+wavs-wasi-chain = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
-reqwest = { version = "0.12.9", features = ["json"] }
+reqwest = { version = "0.12.12", features = ["json"] }
alloy-sol-macro = { workspace = true }
wstd = { workspace = true }
layer-climb = { workspace = true }
alloy-sol-types = { workspace = true }
anyhow = { workspace = true }
alloy-contract = { workspace = true }
+alloy-primitives = {workspace = true}
[lib]
crate-type = ["cdylib"]
@@ -31,3 +33,4 @@ lto = true
[package.metadata.component]
package = "component:eth-trigger-weather"
+target = "wavs:worker/layer-trigger-world@0.3.0-alpha2"
diff --git a/components/eth-trigger-weather/src/bindings.rs b/components/eth-trigger-weather/src/bindings.rs
new file mode 100644
index 00000000..70c4317c
--- /dev/null
+++ b/components/eth-trigger-weather/src/bindings.rs
@@ -0,0 +1,881 @@
+pub type TriggerAction = wavs::worker::layer_types::TriggerAction;
+#[doc(hidden)]
+#[allow(non_snake_case)]
+pub unsafe fn _export_run_cabi(arg0: *mut u8) -> *mut u8 {
+ #[cfg(target_arch = "wasm32")] _rt::run_ctors_once();
+ let l0 = *arg0.add(0).cast::<*mut u8>();
+ let l1 = *arg0.add(4).cast::();
+ let len2 = l1;
+ let bytes2 = _rt::Vec::from_raw_parts(l0.cast(), len2, len2);
+ let l3 = *arg0.add(8).cast::<*mut u8>();
+ let l4 = *arg0.add(12).cast::();
+ let len5 = l4;
+ let bytes5 = _rt::Vec::from_raw_parts(l3.cast(), len5, len5);
+ let l6 = i32::from(*arg0.add(16).cast::());
+ use wavs::worker::layer_types::TriggerSource as V26;
+ let v26 = match l6 {
+ 0 => {
+ let e26 = {
+ let l7 = *arg0.add(20).cast::<*mut u8>();
+ let l8 = *arg0.add(24).cast::();
+ let len9 = l8;
+ let l10 = *arg0.add(28).cast::<*mut u8>();
+ let l11 = *arg0.add(32).cast::();
+ let len12 = l11;
+ let bytes12 = _rt::Vec::from_raw_parts(l10.cast(), len12, len12);
+ let l13 = *arg0.add(36).cast::<*mut u8>();
+ let l14 = *arg0.add(40).cast::();
+ let len15 = l14;
+ wavs::worker::layer_types::TriggerSourceEthContractEvent {
+ address: wavs::worker::layer_types::EthAddress {
+ raw_bytes: _rt::Vec::from_raw_parts(l7.cast(), len9, len9),
+ },
+ chain_name: _rt::string_lift(bytes12),
+ event_hash: _rt::Vec::from_raw_parts(l13.cast(), len15, len15),
+ }
+ };
+ V26::EthContractEvent(e26)
+ }
+ 1 => {
+ let e26 = {
+ let l16 = *arg0.add(20).cast::<*mut u8>();
+ let l17 = *arg0.add(24).cast::();
+ let len18 = l17;
+ let bytes18 = _rt::Vec::from_raw_parts(l16.cast(), len18, len18);
+ let l19 = *arg0.add(28).cast::();
+ let l20 = *arg0.add(32).cast::<*mut u8>();
+ let l21 = *arg0.add(36).cast::();
+ let len22 = l21;
+ let bytes22 = _rt::Vec::from_raw_parts(l20.cast(), len22, len22);
+ let l23 = *arg0.add(40).cast::<*mut u8>();
+ let l24 = *arg0.add(44).cast::();
+ let len25 = l24;
+ let bytes25 = _rt::Vec::from_raw_parts(l23.cast(), len25, len25);
+ wavs::worker::layer_types::TriggerSourceCosmosContractEvent {
+ address: wavs::worker::layer_types::CosmosAddress {
+ bech32_addr: _rt::string_lift(bytes18),
+ prefix_len: l19 as u32,
+ },
+ chain_name: _rt::string_lift(bytes22),
+ event_type: _rt::string_lift(bytes25),
+ }
+ };
+ V26::CosmosContractEvent(e26)
+ }
+ n => {
+ debug_assert_eq!(n, 2, "invalid enum discriminant");
+ V26::Manual
+ }
+ };
+ let l27 = i32::from(*arg0.add(48).cast::());
+ use wavs::worker::layer_types::TriggerData as V67;
+ let v67 = match l27 {
+ 0 => {
+ let e67 = {
+ let l28 = *arg0.add(56).cast::<*mut u8>();
+ let l29 = *arg0.add(60).cast::();
+ let len30 = l29;
+ let l31 = *arg0.add(64).cast::<*mut u8>();
+ let l32 = *arg0.add(68).cast::();
+ let len33 = l32;
+ let bytes33 = _rt::Vec::from_raw_parts(l31.cast(), len33, len33);
+ let l34 = *arg0.add(72).cast::<*mut u8>();
+ let l35 = *arg0.add(76).cast::();
+ let base39 = l34;
+ let len39 = l35;
+ let mut result39 = _rt::Vec::with_capacity(len39);
+ for i in 0..len39 {
+ let base = base39.add(i * 8);
+ let e39 = {
+ let l36 = *base.add(0).cast::<*mut u8>();
+ let l37 = *base.add(4).cast::();
+ let len38 = l37;
+ _rt::Vec::from_raw_parts(l36.cast(), len38, len38)
+ };
+ result39.push(e39);
+ }
+ _rt::cabi_dealloc(base39, len39 * 8, 4);
+ let l40 = *arg0.add(80).cast::<*mut u8>();
+ let l41 = *arg0.add(84).cast::();
+ let len42 = l41;
+ let l43 = *arg0.add(88).cast::();
+ wavs::worker::layer_types::TriggerDataEthContractEvent {
+ contract_address: wavs::worker::layer_types::EthAddress {
+ raw_bytes: _rt::Vec::from_raw_parts(l28.cast(), len30, len30),
+ },
+ chain_name: _rt::string_lift(bytes33),
+ log: wavs::worker::layer_types::EthEventLogData {
+ topics: result39,
+ data: _rt::Vec::from_raw_parts(l40.cast(), len42, len42),
+ },
+ block_height: l43 as u64,
+ }
+ };
+ V67::EthContractEvent(e67)
+ }
+ 1 => {
+ let e67 = {
+ let l44 = *arg0.add(56).cast::<*mut u8>();
+ let l45 = *arg0.add(60).cast::();
+ let len46 = l45;
+ let bytes46 = _rt::Vec::from_raw_parts(l44.cast(), len46, len46);
+ let l47 = *arg0.add(64).cast::();
+ let l48 = *arg0.add(68).cast::<*mut u8>();
+ let l49 = *arg0.add(72).cast::();
+ let len50 = l49;
+ let bytes50 = _rt::Vec::from_raw_parts(l48.cast(), len50, len50);
+ let l51 = *arg0.add(76).cast::<*mut u8>();
+ let l52 = *arg0.add(80).cast::();
+ let len53 = l52;
+ let bytes53 = _rt::Vec::from_raw_parts(l51.cast(), len53, len53);
+ let l54 = *arg0.add(84).cast::<*mut u8>();
+ let l55 = *arg0.add(88).cast::();
+ let base62 = l54;
+ let len62 = l55;
+ let mut result62 = _rt::Vec::with_capacity(len62);
+ for i in 0..len62 {
+ let base = base62.add(i * 16);
+ let e62 = {
+ let l56 = *base.add(0).cast::<*mut u8>();
+ let l57 = *base.add(4).cast::();
+ let len58 = l57;
+ let bytes58 = _rt::Vec::from_raw_parts(l56.cast(), len58, len58);
+ let l59 = *base.add(8).cast::<*mut u8>();
+ let l60 = *base.add(12).cast::();
+ let len61 = l60;
+ let bytes61 = _rt::Vec::from_raw_parts(l59.cast(), len61, len61);
+ (_rt::string_lift(bytes58), _rt::string_lift(bytes61))
+ };
+ result62.push(e62);
+ }
+ _rt::cabi_dealloc(base62, len62 * 16, 4);
+ let l63 = *arg0.add(96).cast::();
+ wavs::worker::layer_types::TriggerDataCosmosContractEvent {
+ contract_address: wavs::worker::layer_types::CosmosAddress {
+ bech32_addr: _rt::string_lift(bytes46),
+ prefix_len: l47 as u32,
+ },
+ chain_name: _rt::string_lift(bytes50),
+ event: wavs::worker::layer_types::CosmosEvent {
+ ty: _rt::string_lift(bytes53),
+ attributes: result62,
+ },
+ block_height: l63 as u64,
+ }
+ };
+ V67::CosmosContractEvent(e67)
+ }
+ n => {
+ debug_assert_eq!(n, 2, "invalid enum discriminant");
+ let e67 = {
+ let l64 = *arg0.add(56).cast::<*mut u8>();
+ let l65 = *arg0.add(60).cast::();
+ let len66 = l65;
+ _rt::Vec::from_raw_parts(l64.cast(), len66, len66)
+ };
+ V67::Raw(e67)
+ }
+ };
+ let result68 = T::run(wavs::worker::layer_types::TriggerAction {
+ config: wavs::worker::layer_types::TriggerConfig {
+ service_id: _rt::string_lift(bytes2),
+ workflow_id: _rt::string_lift(bytes5),
+ trigger_source: v26,
+ },
+ data: v67,
+ });
+ _rt::cabi_dealloc(arg0, 104, 8);
+ let ptr69 = _RET_AREA.0.as_mut_ptr().cast::();
+ match result68 {
+ Ok(e) => {
+ *ptr69.add(0).cast::() = (0i32) as u8;
+ let vec70 = (e).into_boxed_slice();
+ let ptr70 = vec70.as_ptr().cast::();
+ let len70 = vec70.len();
+ ::core::mem::forget(vec70);
+ *ptr69.add(8).cast::() = len70;
+ *ptr69.add(4).cast::<*mut u8>() = ptr70.cast_mut();
+ }
+ Err(e) => {
+ *ptr69.add(0).cast::() = (1i32) as u8;
+ let vec71 = (e.into_bytes()).into_boxed_slice();
+ let ptr71 = vec71.as_ptr().cast::();
+ let len71 = vec71.len();
+ ::core::mem::forget(vec71);
+ *ptr69.add(8).cast::() = len71;
+ *ptr69.add(4).cast::<*mut u8>() = ptr71.cast_mut();
+ }
+ };
+ ptr69
+}
+#[doc(hidden)]
+#[allow(non_snake_case)]
+pub unsafe fn __post_return_run(arg0: *mut u8) {
+ let l0 = i32::from(*arg0.add(0).cast::());
+ match l0 {
+ 0 => {
+ let l1 = *arg0.add(4).cast::<*mut u8>();
+ let l2 = *arg0.add(8).cast::();
+ let base3 = l1;
+ let len3 = l2;
+ _rt::cabi_dealloc(base3, len3 * 1, 1);
+ }
+ _ => {
+ let l4 = *arg0.add(4).cast::<*mut u8>();
+ let l5 = *arg0.add(8).cast::();
+ _rt::cabi_dealloc(l4, l5, 1);
+ }
+ }
+}
+pub trait Guest {
+ fn run(trigger_action: TriggerAction) -> Result<_rt::Vec, _rt::String>;
+}
+#[doc(hidden)]
+macro_rules! __export_world_layer_trigger_world_cabi {
+ ($ty:ident with_types_in $($path_to_types:tt)*) => {
+ const _ : () = { #[export_name = "run"] unsafe extern "C" fn export_run(arg0 : *
+ mut u8,) -> * mut u8 { $($path_to_types)*:: _export_run_cabi::<$ty > (arg0) }
+ #[export_name = "cabi_post_run"] unsafe extern "C" fn _post_return_run(arg0 : *
+ mut u8,) { $($path_to_types)*:: __post_return_run::<$ty > (arg0) } };
+ };
+}
+#[doc(hidden)]
+pub(crate) use __export_world_layer_trigger_world_cabi;
+#[repr(align(4))]
+struct _RetArea([::core::mem::MaybeUninit; 12]);
+static mut _RET_AREA: _RetArea = _RetArea([::core::mem::MaybeUninit::uninit(); 12]);
+#[allow(dead_code)]
+pub mod wavs {
+ #[allow(dead_code)]
+ pub mod worker {
+ #[allow(dead_code, clippy::all)]
+ pub mod layer_types {
+ #[used]
+ #[doc(hidden)]
+ static __FORCE_SECTION_REF: fn() = super::super::super::__link_custom_section_describing_imports;
+ use super::super::super::_rt;
+ #[derive(Clone)]
+ pub struct CosmosAddress {
+ pub bech32_addr: _rt::String,
+ /// prefix is the first part of the bech32 address
+ pub prefix_len: u32,
+ }
+ impl ::core::fmt::Debug for CosmosAddress {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("CosmosAddress")
+ .field("bech32-addr", &self.bech32_addr)
+ .field("prefix-len", &self.prefix_len)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct CosmosEvent {
+ pub ty: _rt::String,
+ pub attributes: _rt::Vec<(_rt::String, _rt::String)>,
+ }
+ impl ::core::fmt::Debug for CosmosEvent {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("CosmosEvent")
+ .field("ty", &self.ty)
+ .field("attributes", &self.attributes)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct CosmosChainConfig {
+ pub chain_id: _rt::String,
+ pub rpc_endpoint: Option<_rt::String>,
+ pub grpc_endpoint: Option<_rt::String>,
+ pub grpc_web_endpoint: Option<_rt::String>,
+ pub gas_price: f32,
+ pub gas_denom: _rt::String,
+ pub bech32_prefix: _rt::String,
+ }
+ impl ::core::fmt::Debug for CosmosChainConfig {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("CosmosChainConfig")
+ .field("chain-id", &self.chain_id)
+ .field("rpc-endpoint", &self.rpc_endpoint)
+ .field("grpc-endpoint", &self.grpc_endpoint)
+ .field("grpc-web-endpoint", &self.grpc_web_endpoint)
+ .field("gas-price", &self.gas_price)
+ .field("gas-denom", &self.gas_denom)
+ .field("bech32-prefix", &self.bech32_prefix)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct EthAddress {
+ pub raw_bytes: _rt::Vec,
+ }
+ impl ::core::fmt::Debug for EthAddress {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("EthAddress")
+ .field("raw-bytes", &self.raw_bytes)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct EthEventLogData {
+ /// the raw log topics that can be decoded into an event
+ pub topics: _rt::Vec<_rt::Vec>,
+ /// the raw log data that can be decoded into an event
+ pub data: _rt::Vec,
+ }
+ impl ::core::fmt::Debug for EthEventLogData {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("EthEventLogData")
+ .field("topics", &self.topics)
+ .field("data", &self.data)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct EthChainConfig {
+ pub chain_id: _rt::String,
+ pub ws_endpoint: Option<_rt::String>,
+ pub http_endpoint: Option<_rt::String>,
+ }
+ impl ::core::fmt::Debug for EthChainConfig {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("EthChainConfig")
+ .field("chain-id", &self.chain_id)
+ .field("ws-endpoint", &self.ws_endpoint)
+ .field("http-endpoint", &self.http_endpoint)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerSourceEthContractEvent {
+ pub address: EthAddress,
+ pub chain_name: _rt::String,
+ pub event_hash: _rt::Vec,
+ }
+ impl ::core::fmt::Debug for TriggerSourceEthContractEvent {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerSourceEthContractEvent")
+ .field("address", &self.address)
+ .field("chain-name", &self.chain_name)
+ .field("event-hash", &self.event_hash)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerSourceCosmosContractEvent {
+ pub address: CosmosAddress,
+ pub chain_name: _rt::String,
+ pub event_type: _rt::String,
+ }
+ impl ::core::fmt::Debug for TriggerSourceCosmosContractEvent {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerSourceCosmosContractEvent")
+ .field("address", &self.address)
+ .field("chain-name", &self.chain_name)
+ .field("event-type", &self.event_type)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub enum TriggerSource {
+ EthContractEvent(TriggerSourceEthContractEvent),
+ CosmosContractEvent(TriggerSourceCosmosContractEvent),
+ Manual,
+ }
+ impl ::core::fmt::Debug for TriggerSource {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ match self {
+ TriggerSource::EthContractEvent(e) => {
+ f.debug_tuple("TriggerSource::EthContractEvent")
+ .field(e)
+ .finish()
+ }
+ TriggerSource::CosmosContractEvent(e) => {
+ f.debug_tuple("TriggerSource::CosmosContractEvent")
+ .field(e)
+ .finish()
+ }
+ TriggerSource::Manual => {
+ f.debug_tuple("TriggerSource::Manual").finish()
+ }
+ }
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerConfig {
+ pub service_id: _rt::String,
+ pub workflow_id: _rt::String,
+ pub trigger_source: TriggerSource,
+ }
+ impl ::core::fmt::Debug for TriggerConfig {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerConfig")
+ .field("service-id", &self.service_id)
+ .field("workflow-id", &self.workflow_id)
+ .field("trigger-source", &self.trigger_source)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerDataEthContractEvent {
+ pub contract_address: EthAddress,
+ pub chain_name: _rt::String,
+ pub log: EthEventLogData,
+ pub block_height: u64,
+ }
+ impl ::core::fmt::Debug for TriggerDataEthContractEvent {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerDataEthContractEvent")
+ .field("contract-address", &self.contract_address)
+ .field("chain-name", &self.chain_name)
+ .field("log", &self.log)
+ .field("block-height", &self.block_height)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerDataCosmosContractEvent {
+ pub contract_address: CosmosAddress,
+ pub chain_name: _rt::String,
+ pub event: CosmosEvent,
+ pub block_height: u64,
+ }
+ impl ::core::fmt::Debug for TriggerDataCosmosContractEvent {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerDataCosmosContractEvent")
+ .field("contract-address", &self.contract_address)
+ .field("chain-name", &self.chain_name)
+ .field("event", &self.event)
+ .field("block-height", &self.block_height)
+ .finish()
+ }
+ }
+ #[derive(Clone)]
+ pub enum TriggerData {
+ EthContractEvent(TriggerDataEthContractEvent),
+ CosmosContractEvent(TriggerDataCosmosContractEvent),
+ Raw(_rt::Vec),
+ }
+ impl ::core::fmt::Debug for TriggerData {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ match self {
+ TriggerData::EthContractEvent(e) => {
+ f.debug_tuple("TriggerData::EthContractEvent")
+ .field(e)
+ .finish()
+ }
+ TriggerData::CosmosContractEvent(e) => {
+ f.debug_tuple("TriggerData::CosmosContractEvent")
+ .field(e)
+ .finish()
+ }
+ TriggerData::Raw(e) => {
+ f.debug_tuple("TriggerData::Raw").field(e).finish()
+ }
+ }
+ }
+ }
+ #[derive(Clone)]
+ pub struct TriggerAction {
+ pub config: TriggerConfig,
+ pub data: TriggerData,
+ }
+ impl ::core::fmt::Debug for TriggerAction {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ f.debug_struct("TriggerAction")
+ .field("config", &self.config)
+ .field("data", &self.data)
+ .finish()
+ }
+ }
+ #[derive(Clone, Copy)]
+ pub enum LogLevel {
+ Error,
+ Warn,
+ Info,
+ Debug,
+ Trace,
+ }
+ impl ::core::fmt::Debug for LogLevel {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::fmt::Result {
+ match self {
+ LogLevel::Error => f.debug_tuple("LogLevel::Error").finish(),
+ LogLevel::Warn => f.debug_tuple("LogLevel::Warn").finish(),
+ LogLevel::Info => f.debug_tuple("LogLevel::Info").finish(),
+ LogLevel::Debug => f.debug_tuple("LogLevel::Debug").finish(),
+ LogLevel::Trace => f.debug_tuple("LogLevel::Trace").finish(),
+ }
+ }
+ }
+ }
+ }
+}
+#[allow(dead_code, clippy::all)]
+pub mod host {
+ #[used]
+ #[doc(hidden)]
+ static __FORCE_SECTION_REF: fn() = super::__link_custom_section_describing_imports;
+ use super::_rt;
+ pub type EthChainConfig = super::wavs::worker::layer_types::EthChainConfig;
+ pub type CosmosChainConfig = super::wavs::worker::layer_types::CosmosChainConfig;
+ pub type LogLevel = super::wavs::worker::layer_types::LogLevel;
+ #[allow(unused_unsafe, clippy::all)]
+ pub fn get_eth_chain_config(chain_name: &str) -> Option {
+ unsafe {
+ #[repr(align(4))]
+ struct RetArea([::core::mem::MaybeUninit; 36]);
+ let mut ret_area = RetArea([::core::mem::MaybeUninit::uninit(); 36]);
+ let vec0 = chain_name;
+ let ptr0 = vec0.as_ptr().cast::();
+ let len0 = vec0.len();
+ let ptr1 = ret_area.0.as_mut_ptr().cast::();
+ #[cfg(target_arch = "wasm32")]
+ #[link(wasm_import_module = "host")]
+ extern "C" {
+ #[link_name = "get-eth-chain-config"]
+ fn wit_import(_: *mut u8, _: usize, _: *mut u8);
+ }
+ #[cfg(not(target_arch = "wasm32"))]
+ fn wit_import(_: *mut u8, _: usize, _: *mut u8) {
+ unreachable!()
+ }
+ wit_import(ptr0.cast_mut(), len0, ptr1);
+ let l2 = i32::from(*ptr1.add(0).cast::());
+ match l2 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l3 = *ptr1.add(4).cast::<*mut u8>();
+ let l4 = *ptr1.add(8).cast::();
+ let len5 = l4;
+ let bytes5 = _rt::Vec::from_raw_parts(l3.cast(), len5, len5);
+ let l6 = i32::from(*ptr1.add(12).cast::());
+ let l10 = i32::from(*ptr1.add(24).cast::());
+ super::wavs::worker::layer_types::EthChainConfig {
+ chain_id: _rt::string_lift(bytes5),
+ ws_endpoint: match l6 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l7 = *ptr1.add(16).cast::<*mut u8>();
+ let l8 = *ptr1.add(20).cast::();
+ let len9 = l8;
+ let bytes9 = _rt::Vec::from_raw_parts(
+ l7.cast(),
+ len9,
+ len9,
+ );
+ _rt::string_lift(bytes9)
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ },
+ http_endpoint: match l10 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l11 = *ptr1.add(28).cast::<*mut u8>();
+ let l12 = *ptr1.add(32).cast::();
+ let len13 = l12;
+ let bytes13 = _rt::Vec::from_raw_parts(
+ l11.cast(),
+ len13,
+ len13,
+ );
+ _rt::string_lift(bytes13)
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ },
+ }
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ }
+ }
+ }
+ #[allow(unused_unsafe, clippy::all)]
+ pub fn get_cosmos_chain_config(chain_name: &str) -> Option {
+ unsafe {
+ #[repr(align(4))]
+ struct RetArea([::core::mem::MaybeUninit; 68]);
+ let mut ret_area = RetArea([::core::mem::MaybeUninit::uninit(); 68]);
+ let vec0 = chain_name;
+ let ptr0 = vec0.as_ptr().cast::();
+ let len0 = vec0.len();
+ let ptr1 = ret_area.0.as_mut_ptr().cast::();
+ #[cfg(target_arch = "wasm32")]
+ #[link(wasm_import_module = "host")]
+ extern "C" {
+ #[link_name = "get-cosmos-chain-config"]
+ fn wit_import(_: *mut u8, _: usize, _: *mut u8);
+ }
+ #[cfg(not(target_arch = "wasm32"))]
+ fn wit_import(_: *mut u8, _: usize, _: *mut u8) {
+ unreachable!()
+ }
+ wit_import(ptr0.cast_mut(), len0, ptr1);
+ let l2 = i32::from(*ptr1.add(0).cast::());
+ match l2 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l3 = *ptr1.add(4).cast::<*mut u8>();
+ let l4 = *ptr1.add(8).cast::();
+ let len5 = l4;
+ let bytes5 = _rt::Vec::from_raw_parts(l3.cast(), len5, len5);
+ let l6 = i32::from(*ptr1.add(12).cast::());
+ let l10 = i32::from(*ptr1.add(24).cast::());
+ let l14 = i32::from(*ptr1.add(36).cast::());
+ let l18 = *ptr1.add(48).cast::();
+ let l19 = *ptr1.add(52).cast::<*mut u8>();
+ let l20 = *ptr1.add(56).cast::();
+ let len21 = l20;
+ let bytes21 = _rt::Vec::from_raw_parts(l19.cast(), len21, len21);
+ let l22 = *ptr1.add(60).cast::<*mut u8>();
+ let l23 = *ptr1.add(64).cast::();
+ let len24 = l23;
+ let bytes24 = _rt::Vec::from_raw_parts(l22.cast(), len24, len24);
+ super::wavs::worker::layer_types::CosmosChainConfig {
+ chain_id: _rt::string_lift(bytes5),
+ rpc_endpoint: match l6 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l7 = *ptr1.add(16).cast::<*mut u8>();
+ let l8 = *ptr1.add(20).cast::();
+ let len9 = l8;
+ let bytes9 = _rt::Vec::from_raw_parts(
+ l7.cast(),
+ len9,
+ len9,
+ );
+ _rt::string_lift(bytes9)
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ },
+ grpc_endpoint: match l10 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l11 = *ptr1.add(28).cast::<*mut u8>();
+ let l12 = *ptr1.add(32).cast::();
+ let len13 = l12;
+ let bytes13 = _rt::Vec::from_raw_parts(
+ l11.cast(),
+ len13,
+ len13,
+ );
+ _rt::string_lift(bytes13)
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ },
+ grpc_web_endpoint: match l14 {
+ 0 => None,
+ 1 => {
+ let e = {
+ let l15 = *ptr1.add(40).cast::<*mut u8>();
+ let l16 = *ptr1.add(44).cast::();
+ let len17 = l16;
+ let bytes17 = _rt::Vec::from_raw_parts(
+ l15.cast(),
+ len17,
+ len17,
+ );
+ _rt::string_lift(bytes17)
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ },
+ gas_price: l18,
+ gas_denom: _rt::string_lift(bytes21),
+ bech32_prefix: _rt::string_lift(bytes24),
+ }
+ };
+ Some(e)
+ }
+ _ => _rt::invalid_enum_discriminant(),
+ }
+ }
+ }
+ #[allow(unused_unsafe, clippy::all)]
+ pub fn log(level: LogLevel, message: &str) {
+ unsafe {
+ use super::wavs::worker::layer_types::LogLevel as V0;
+ let result1 = match level {
+ V0::Error => 0i32,
+ V0::Warn => 1i32,
+ V0::Info => 2i32,
+ V0::Debug => 3i32,
+ V0::Trace => 4i32,
+ };
+ let vec2 = message;
+ let ptr2 = vec2.as_ptr().cast::();
+ let len2 = vec2.len();
+ #[cfg(target_arch = "wasm32")]
+ #[link(wasm_import_module = "host")]
+ extern "C" {
+ #[link_name = "log"]
+ fn wit_import(_: i32, _: *mut u8, _: usize);
+ }
+ #[cfg(not(target_arch = "wasm32"))]
+ fn wit_import(_: i32, _: *mut u8, _: usize) {
+ unreachable!()
+ }
+ wit_import(result1, ptr2.cast_mut(), len2);
+ }
+ }
+}
+mod _rt {
+ pub use alloc_crate::string::String;
+ pub use alloc_crate::vec::Vec;
+ pub unsafe fn string_lift(bytes: Vec) -> String {
+ if cfg!(debug_assertions) {
+ String::from_utf8(bytes).unwrap()
+ } else {
+ String::from_utf8_unchecked(bytes)
+ }
+ }
+ pub unsafe fn invalid_enum_discriminant() -> T {
+ if cfg!(debug_assertions) {
+ panic!("invalid enum discriminant")
+ } else {
+ core::hint::unreachable_unchecked()
+ }
+ }
+ #[cfg(target_arch = "wasm32")]
+ pub fn run_ctors_once() {
+ wit_bindgen_rt::run_ctors_once();
+ }
+ pub unsafe fn cabi_dealloc(ptr: *mut u8, size: usize, align: usize) {
+ if size == 0 {
+ return;
+ }
+ let layout = alloc::Layout::from_size_align_unchecked(size, align);
+ alloc::dealloc(ptr, layout);
+ }
+ extern crate alloc as alloc_crate;
+ pub use alloc_crate::alloc;
+}
+/// Generates `#[no_mangle]` functions to export the specified type as the
+/// root implementation of all generated traits.
+///
+/// For more information see the documentation of `wit_bindgen::generate!`.
+///
+/// ```rust
+/// # macro_rules! export{ ($($t:tt)*) => (); }
+/// # trait Guest {}
+/// struct MyType;
+///
+/// impl Guest for MyType {
+/// // ...
+/// }
+///
+/// export!(MyType);
+/// ```
+#[allow(unused_macros)]
+#[doc(hidden)]
+macro_rules! __export_layer_trigger_world_impl {
+ ($ty:ident) => {
+ self::export!($ty with_types_in self);
+ };
+ ($ty:ident with_types_in $($path_to_types_root:tt)*) => {
+ $($path_to_types_root)*:: __export_world_layer_trigger_world_cabi!($ty
+ with_types_in $($path_to_types_root)*);
+ };
+}
+#[doc(inline)]
+pub(crate) use __export_layer_trigger_world_impl as export;
+#[cfg(target_arch = "wasm32")]
+#[link_section = "component-type:wit-bindgen:0.35.0:wavs:worker@0.3.0-alpha2:layer-trigger-world:encoded world"]
+#[doc(hidden)]
+pub static __WIT_BINDGEN_COMPONENT_TYPE: [u8; 1591] = *b"\
+\0asm\x0d\0\x01\0\0\x19\x16wit-component-encoding\x04\0\x07\xad\x0b\x01A\x02\x01\
+A\x0d\x01B#\x01r\x02\x0bbech32-addrs\x0aprefix-leny\x04\0\x0ecosmos-address\x03\0\
+\0\x01o\x02ss\x01p\x02\x01r\x02\x02tys\x0aattributes\x03\x04\0\x0ccosmos-event\x03\
+\0\x04\x01ks\x01r\x07\x08chain-ids\x0crpc-endpoint\x06\x0dgrpc-endpoint\x06\x11g\
+rpc-web-endpoint\x06\x09gas-pricev\x09gas-denoms\x0dbech32-prefixs\x04\0\x13cosm\
+os-chain-config\x03\0\x07\x01p}\x01r\x01\x09raw-bytes\x09\x04\0\x0beth-address\x03\
+\0\x0a\x01p\x09\x01r\x02\x06topics\x0c\x04data\x09\x04\0\x12eth-event-log-data\x03\
+\0\x0d\x01r\x03\x08chain-ids\x0bws-endpoint\x06\x0dhttp-endpoint\x06\x04\0\x10et\
+h-chain-config\x03\0\x0f\x01r\x03\x07address\x0b\x0achain-names\x0aevent-hash\x09\
+\x04\0!trigger-source-eth-contract-event\x03\0\x11\x01r\x03\x07address\x01\x0ach\
+ain-names\x0aevent-types\x04\0$trigger-source-cosmos-contract-event\x03\0\x13\x01\
+q\x03\x12eth-contract-event\x01\x12\0\x15cosmos-contract-event\x01\x14\0\x06manu\
+al\0\0\x04\0\x0etrigger-source\x03\0\x15\x01r\x03\x0aservice-ids\x0bworkflow-ids\
+\x0etrigger-source\x16\x04\0\x0etrigger-config\x03\0\x17\x01r\x04\x10contract-ad\
+dress\x0b\x0achain-names\x03log\x0e\x0cblock-heightw\x04\0\x1ftrigger-data-eth-c\
+ontract-event\x03\0\x19\x01r\x04\x10contract-address\x01\x0achain-names\x05event\
+\x05\x0cblock-heightw\x04\0\"trigger-data-cosmos-contract-event\x03\0\x1b\x01q\x03\
+\x12eth-contract-event\x01\x1a\0\x15cosmos-contract-event\x01\x1c\0\x03raw\x01\x09\
+\0\x04\0\x0ctrigger-data\x03\0\x1d\x01r\x02\x06config\x18\x04data\x1e\x04\0\x0et\
+rigger-action\x03\0\x1f\x01q\x05\x05error\0\0\x04warn\0\0\x04info\0\0\x05debug\0\
+\0\x05trace\0\0\x04\0\x09log-level\x03\0!\x03\0$wavs:worker/layer-types@0.3.0-al\
+pha2\x05\0\x02\x03\0\0\x0etrigger-action\x03\0\x0etrigger-action\x03\0\x01\x02\x03\
+\0\0\x10eth-chain-config\x02\x03\0\0\x13cosmos-chain-config\x02\x03\0\0\x09log-l\
+evel\x01B\x0e\x02\x03\x02\x01\x03\x04\0\x10eth-chain-config\x03\0\0\x02\x03\x02\x01\
+\x04\x04\0\x13cosmos-chain-config\x03\0\x02\x02\x03\x02\x01\x05\x04\0\x09log-lev\
+el\x03\0\x04\x01k\x01\x01@\x01\x0achain-names\0\x06\x04\0\x14get-eth-chain-confi\
+g\x01\x07\x01k\x03\x01@\x01\x0achain-names\0\x08\x04\0\x17get-cosmos-chain-confi\
+g\x01\x09\x01@\x02\x05level\x05\x07messages\x01\0\x04\0\x03log\x01\x0a\x03\0\x04\
+host\x05\x06\x01p}\x01j\x01\x07\x01s\x01@\x01\x0etrigger-action\x02\0\x08\x04\0\x03\
+run\x01\x09\x04\0,wavs:worker/layer-trigger-world@0.3.0-alpha2\x04\0\x0b\x19\x01\
+\0\x13layer-trigger-world\x03\0\0\0G\x09producers\x01\x0cprocessed-by\x02\x0dwit\
+-component\x070.220.0\x10wit-bindgen-rust\x060.35.0";
+#[inline(never)]
+#[doc(hidden)]
+pub fn __link_custom_section_describing_imports() {
+ wit_bindgen_rt::maybe_link_cabi_realloc();
+}
diff --git a/components/eth-trigger-weather/src/lib.rs b/components/eth-trigger-weather/src/lib.rs
index da820f57..3e05206c 100644
--- a/components/eth-trigger-weather/src/lib.rs
+++ b/components/eth-trigger-weather/src/lib.rs
@@ -1,15 +1,18 @@
mod trigger;
-use layer_wasi::{
- bindings::world::{Guest, TriggerAction},
- export_layer_trigger_world,
- wasi::{Request, WasiPollable},
-};
-use serde::{Deserialize, Serialize};
use trigger::{decode_trigger_event, encode_trigger_output};
-use wstd::runtime::{block_on, Reactor};
+pub mod bindings;
+use crate::bindings::{export, Guest, TriggerAction};
+use serde::{Deserialize, Serialize};
+use wstd::{
+ http::{Client, Request},
+ io::{empty, AsyncRead},
+ runtime::block_on,
+};
struct Component;
+const API_KEY_KEY: &str = "WAVS_ENV_OPEN_WEATHER_API_KEY";
+
impl Guest for Component {
fn run(trigger_action: TriggerAction) -> std::result::Result, String> {
let (trigger_id, req) =
@@ -18,22 +21,29 @@ impl Guest for Component {
if !req.contains(&b',') {
return Err("Input must be in the format of City,State".to_string());
}
- let input = std::str::from_utf8(&req).unwrap(); // TODO:
+ let input = std::str::from_utf8(&req).unwrap();
+
+ println!("input: {}", input);
// open weather API, not wavs specific
- let api_key = std::env::var("WAVS_ENV_OPEN_WEATHER_API_KEY")
- .or(Err("missing env var `WAVS_ENV_OPEN_WEATHER_API_KEY`".to_string()))?;
+ let api_key = std::env::var(API_KEY_KEY)
+ .or(Err(format!("missing env var `{}`", API_KEY_KEY)))?;
+
+ if api_key.chars().all(|c| c == '0') {
+ return Err(format!("missing env var `{}`, it is set as the default placeholder in .env (all 0s)", API_KEY_KEY));
+ }
- let res = block_on(move |reactor| async move {
- let loc: Result =
- get_location(&reactor, api_key.clone(), input).await;
+ let res = block_on(async move {
+ let loc: Result = get_location(api_key.clone(), input).await;
+ println!("loc: {:?}", loc);
let location = match loc {
Ok(data) => data,
Err(e) => return Err(e),
};
- let weather_data = get_weather(&reactor, location, api_key).await;
+ let weather_data = get_weather(location, api_key).await;
+ println!("weather_data: {:?}", weather_data);
match weather_data {
Ok(data) => {
@@ -51,35 +61,29 @@ impl Guest for Component {
}
}
-async fn get_location(
- reactor: &Reactor,
- app_key: String,
- loc_input: &str,
-) -> Result {
+async fn get_location(app_key: String, loc_input: &str) -> Result {
let url: &str = "http://api.openweathermap.org/geo/1.0/direct";
let loc_input_formatted = format!("{},US", loc_input);
let params = [("q", loc_input_formatted.as_str()), ("appid", app_key.as_str())];
let url_with_params = reqwest::Url::parse_with_params(url, ¶ms).unwrap();
- let mut req = Request::get(url_with_params.as_str())?;
- req.headers = vec![
- ("Accept".to_string(), "application/json".to_string()),
- ("Content-Type".to_string(), "application/json".to_string()),
- ];
+ let req = Request::get(url_with_params.as_str())
+ .header("Accept", "application/json")
+ .header("Content-Type", "application/json")
+ .body(empty())
+ .unwrap();
- let response = reactor.send(req).await;
+ let response = Client::new().send(req).await;
match response {
- Ok(response) => {
- let finalresp = response.json::().map_err(|e| {
- let resp_body = response.body;
- let resp_str = String::from_utf8_lossy(&resp_body);
- format!(
- "Error debugging location response to JSON. Error: {:?}. had response: {:?} | using URL: {:?}",
- e, resp_str, url_with_params,
- )
- })?;
- return Ok(finalresp[0].clone());
+ Ok(mut response) => {
+ let mut body_buf = Vec::new();
+ response.body_mut().read_to_end(&mut body_buf).await.unwrap();
+
+ let resp = String::from_utf8_lossy(&body_buf);
+ let json: LocationData = serde_json::from_str(&resp).unwrap();
+
+ return Ok(json[0].clone());
}
Err(e) => {
return Err(e.to_string());
@@ -87,11 +91,7 @@ async fn get_location(
}
}
-async fn get_weather(
- reactor: &Reactor,
- location: LocDataNested,
- app_key: String,
-) -> Result {
+async fn get_weather(location: LocDataNested, app_key: String) -> Result {
let url: &str = "https://api.openweathermap.org/data/2.5/weather";
let params = [
("lat", location.lat.to_string()),
@@ -101,25 +101,23 @@ async fn get_weather(
];
let url_with_params = reqwest::Url::parse_with_params(url, ¶ms).unwrap();
- let mut req = Request::get(url_with_params.as_str())?;
- req.headers = vec![
- ("Accept".to_string(), "application/json".to_string()),
- ("Content-Type".to_string(), "application/json".to_string()),
- ];
+ let req = Request::get(url_with_params.as_str())
+ .header("Accept", "application/json")
+ .header("Content-Type", "application/json")
+ .body(empty())
+ .unwrap();
- let response = reactor.send(req).await;
+ let response = Client::new().send(req).await;
match response {
- Ok(response) => {
- let finalresp = response.json::().map_err(|e| {
- let resp_body = response.body;
- let resp_str = String::from_utf8_lossy(&resp_body);
- format!(
- "Error debugging weather response to JSON. Error: {:?}. had response: {:?} | using URL: {:?}",
- e, resp_str, url_with_params,
- )
- })?;
- return Ok(finalresp);
+ Ok(mut response) => {
+ let mut body_buf = Vec::new();
+ response.body_mut().read_to_end(&mut body_buf).await.unwrap();
+
+ let resp = String::from_utf8_lossy(&body_buf);
+ let json: WeatherResponse = serde_json::from_str(&resp).unwrap();
+
+ return Ok(json);
}
Err(e) => {
return Err(e.to_string());
@@ -222,4 +220,4 @@ pub struct Wind {
deg: i64,
}
-export_layer_trigger_world!(Component);
+export!(Component with_types_in bindings);
diff --git a/components/eth-trigger-weather/src/trigger.rs b/components/eth-trigger-weather/src/trigger.rs
index 4b81a7ff..3c763d45 100644
--- a/components/eth-trigger-weather/src/trigger.rs
+++ b/components/eth-trigger-weather/src/trigger.rs
@@ -1,17 +1,14 @@
// Helpers to work with "trigger id" flows - which our example components do
+use crate::bindings::wavs::worker::layer_types::{TriggerData, TriggerDataEthContractEvent};
use alloy_sol_types::SolValue;
use anyhow::Result;
use example_submit::ISimpleSubmit::DataWithId;
use example_trigger::{NewTrigger, TriggerInfo};
-use layer_wasi::{
- bindings::compat::{TriggerData, TriggerDataEthContractEvent},
- ethereum::WasiProvider,
-};
pub fn decode_trigger_event(trigger_data: TriggerData) -> Result<(u64, Vec)> {
match trigger_data {
TriggerData::EthContractEvent(TriggerDataEthContractEvent { log, .. }) => {
- let event: NewTrigger = layer_wasi::ethereum::decode_event_log_data(log)?;
+ let event: NewTrigger = wavs_wasi_chain::decode_event_log_data!(log)?;
let trigger_info = TriggerInfo::abi_decode(&event._0, false)?;
Ok((trigger_info.triggerId, trigger_info.data.to_vec()))
}
diff --git a/crates/bindings/Cargo.toml b/crates/bindings/Cargo.toml
index d8ab0d2b..a4db3a36 100644
--- a/crates/bindings/Cargo.toml
+++ b/crates/bindings/Cargo.toml
@@ -4,4 +4,4 @@ version = "0.1.0"
edition = "2021"
[dependencies]
-alloy = { git = "https://github.com/alloy-rs/alloy", rev = "v0.9.2", features = ["sol-types", "contract"] }
\ No newline at end of file
+alloy = { git = "https://github.com/alloy-rs/alloy", rev = "v0.11.0", features = ["sol-types", "contract"] }
diff --git a/crates/bindings/src/addressupgradeable.rs b/crates/bindings/src/addressupgradeable.rs
deleted file mode 100644
index 3ad32cc8..00000000
--- a/crates/bindings/src/addressupgradeable.rs
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
-
-Generated by the following Solidity interface...
-```solidity
-interface AddressUpgradeable {}
-```
-
-...which was generated by the following JSON ABI:
-```json
-[]
-```*/
-#[allow(
- non_camel_case_types,
- non_snake_case,
- clippy::pub_underscore_fields,
- clippy::style,
- clippy::empty_structs_with_brackets
-)]
-pub mod AddressUpgradeable {
- use super::*;
- use alloy::sol_types as alloy_sol_types;
- /// The creation / init bytecode of the contract.
- ///
- /// ```text
- ///0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212206cb4a8d96bd925e504843b69ec50435eb9d4d11feac21ee1ad2aa3b78ba9fccc64736f6c634300081c0033
- /// ```
- #[rustfmt::skip]
- #[allow(clippy::all)]
- pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
- b"`\x80\x80`@R4`\x17W`9\x90\x81`\x1C\x8290\x81PP\xF3[_\x80\xFD\xFE_\x80\xFD\xFE\xA2dipfsX\"\x12 l\xB4\xA8\xD9k\xD9%\xE5\x04\x84;i\xECPC^\xB9\xD4\xD1\x1F\xEA\xC2\x1E\xE1\xAD*\xA3\xB7\x8B\xA9\xFC\xCCdsolcC\0\x08\x1C\x003",
- );
- /// The runtime bytecode of the contract, as deployed on the network.
- ///
- /// ```text
- ///0x5f80fdfea26469706673582212206cb4a8d96bd925e504843b69ec50435eb9d4d11feac21ee1ad2aa3b78ba9fccc64736f6c634300081c0033
- /// ```
- #[rustfmt::skip]
- #[allow(clippy::all)]
- pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
- b"_\x80\xFD\xFE\xA2dipfsX\"\x12 l\xB4\xA8\xD9k\xD9%\xE5\x04\x84;i\xECPC^\xB9\xD4\xD1\x1F\xEA\xC2\x1E\xE1\xAD*\xA3\xB7\x8B\xA9\xFC\xCCdsolcC\0\x08\x1C\x003",
- );
- use alloy::contract as alloy_contract;
- /**Creates a new wrapper around an on-chain [`AddressUpgradeable`](self) contract instance.
-
- See the [wrapper's documentation](`AddressUpgradeableInstance`) for more details.*/
- #[inline]
- pub const fn new<
- T: alloy_contract::private::Transport + ::core::clone::Clone,
- P: alloy_contract::private::Provider,
- N: alloy_contract::private::Network,
- >(
- address: alloy_sol_types::private::Address,
- provider: P,
- ) -> AddressUpgradeableInstance {
- AddressUpgradeableInstance::::new(address, provider)
- }
- /**Deploys this contract using the given `provider` and constructor arguments, if any.
-
- Returns a new instance of the contract, if the deployment was successful.
-
- For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
- #[inline]
- pub fn deploy<
- T: alloy_contract::private::Transport + ::core::clone::Clone,
- P: alloy_contract::private::Provider,
- N: alloy_contract::private::Network,
- >(
- provider: P,
- ) -> impl ::core::future::Future