Repository: OpenZeppelin/rust-contracts-stylus
Pull request #127 (2024-06-18 11:04:32)

ci: rust-cache gh action
Experimental github action cache pr.
Replace caching steps in gh e2e workflow with [rust-cache gh action](https://github.com/marketplace/actions/rust-cache).
This action workflow also used by [alloy-rs](https://github.com/alloy-rs/core/blob/main/.github/workflows/ci.yml).

netlify[bot]: ### <span aria-hidden="true">👷</span> Deploy Preview for *contracts-stylus* processing.


|  Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 60b617704b28dd20face1d6bd82076f507378b41 |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/sites/contracts-stylus/deploys/667169c33ebfaf000840e4b9 |

Patch:
diff --git a/.github/workflows/check-wasm.yml b/.github/workflows/check-wasm.yml
index 2dd3c56..ac2f911 100644
--- a/.github/workflows/check-wasm.yml
+++ b/.github/workflows/check-wasm.yml
@@ -21,23 +21,6 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
-      - uses: actions/cache@v4
-        with:
-          path: |
-            ~/.cargo/registry/index/
-            ~/.cargo/registry/cache/
-            ~/.cargo/git/db/
-            target/
-          key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}
-
-      - name: cache cargo-stylus
-        uses: actions/cache@v4
-        with:
-          path: |
-            ~/.cargo/bin/
-            ~/.cargo/.crates.toml
-          key: ${{ runner.os }}-cargo-bin-cargo-stylus@0.2.1
-          save-always: true
 
       - name: set up rust
         uses: dtolnay/rust-toolchain@master
@@ -47,6 +30,10 @@ jobs:
           components: rust-src
           toolchain: nightly-2024-01-01
 
+      - uses: Swatinem/rust-cache@v2
+        with:
+          cache-on-failure: true
+
       - name: install cargo-stylus
         run: RUSTFLAGS="-C link-args=-rdynamic" cargo install cargo-stylus@0.2.1
 
diff --git a/Cargo.lock b/Cargo.lock
index 78751fa..e0edff8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -80,44 +80,45 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
 [[package]]
 name = "alloy"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-contract 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-consensus 0.1.0",
+ "alloy-contract 0.1.0",
  "alloy-core",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-provider 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-rpc-client 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-signer-wallet 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-eips 0.1.0",
+ "alloy-genesis 0.1.0",
+ "alloy-network 0.1.0",
+ "alloy-provider 0.1.0",
+ "alloy-rpc-client 0.1.0",
+ "alloy-rpc-types 0.1.0",
+ "alloy-serde 0.1.0",
+ "alloy-signer 0.1.0",
+ "alloy-signer-wallet",
+ "alloy-transport 0.1.0",
+ "alloy-transport-http 0.1.0",
  "reqwest",
 ]
 
 [[package]]
 name = "alloy"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bcb4400a1939e5633939a58500c67123ef5f2e8920e5009d6949552f191be7f"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-contract 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-consensus 0.1.1",
+ "alloy-contract 0.1.1",
  "alloy-core",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-provider 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-rpc-client 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-signer-wallet 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-eips 0.1.1",
+ "alloy-genesis 0.1.1",
+ "alloy-network 0.1.1",
+ "alloy-provider 0.1.1",
+ "alloy-rpc-client 0.1.1",
+ "alloy-rpc-types 0.1.1",
+ "alloy-serde 0.1.1",
+ "alloy-signer 0.1.1",
+ "alloy-signer-local",
+ "alloy-transport 0.1.1",
+ "alloy-transport-http 0.1.1",
  "reqwest",
 ]
 
@@ -134,25 +135,26 @@ dependencies = [
 [[package]]
 name = "alloy-consensus"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-eips 0.1.0",
  "alloy-primitives 0.7.6",
  "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-serde 0.1.0",
  "c-kzg",
  "serde",
 ]
 
 [[package]]
 name = "alloy-consensus"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cc7579e4fb5558af44810f542c90d1145dba8b92c08211c215196160c48d2ea"
 dependencies = [
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-eips 0.1.1",
  "alloy-primitives 0.7.6",
  "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-serde 0.1.1",
  "c-kzg",
  "serde",
 ]
@@ -160,16 +162,16 @@ dependencies = [
 [[package]]
 name = "alloy-contract"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-dyn-abi",
  "alloy-json-abi",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-network 0.1.0",
  "alloy-primitives 0.7.6",
- "alloy-provider 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-provider 0.1.0",
+ "alloy-rpc-types 0.1.0",
  "alloy-sol-types 0.7.6",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-transport 0.1.0",
  "futures",
  "futures-util",
  "thiserror",
@@ -177,17 +179,18 @@ dependencies = [
 
 [[package]]
 name = "alloy-contract"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "860887f0f7e1e17db33ada75c3c516164a5e11aa89f0311f4d23b82abcf2d807"
 dependencies = [
  "alloy-dyn-abi",
  "alloy-json-abi",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-network 0.1.1",
  "alloy-primitives 0.7.6",
- "alloy-provider 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-provider 0.1.1",
+ "alloy-rpc-types-eth",
  "alloy-sol-types 0.7.6",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-transport 0.1.1",
  "futures",
  "futures-util",
  "thiserror",
@@ -225,11 +228,11 @@ dependencies = [
 [[package]]
 name = "alloy-eips"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
  "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-serde 0.1.0",
  "c-kzg",
  "once_cell",
  "serde",
@@ -238,12 +241,13 @@ dependencies = [
 
 [[package]]
 name = "alloy-eips"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bdbc8d98cc36ebe17bb5b42d0873137bc76628a4ee0f7e7acad5b8fc59d3597"
 dependencies = [
  "alloy-primitives 0.7.6",
  "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-serde 0.1.1",
  "c-kzg",
  "once_cell",
  "serde",
@@ -253,21 +257,22 @@ dependencies = [
 [[package]]
 name = "alloy-genesis"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-serde 0.1.0",
  "serde",
  "serde_json",
 ]
 
 [[package]]
 name = "alloy-genesis"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e10a047066076b32d52b3228e95a4f7793db7a204f648aa1a1ea675085bffd8"
 dependencies = [
  "alloy-primitives 0.7.6",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-serde 0.1.1",
  "serde",
  "serde_json",
 ]
@@ -287,7 +292,7 @@ dependencies = [
 [[package]]
 name = "alloy-json-rpc"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
  "serde",
@@ -298,8 +303,9 @@ dependencies = [
 
 [[package]]
 name = "alloy-json-rpc"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d06d33b79246313c4103ef9596c721674a926f1ddc8b605aa2bac4d8ba94ee34"
 dependencies = [
  "alloy-primitives 0.7.6",
  "serde",
@@ -311,34 +317,36 @@ dependencies = [
 [[package]]
 name = "alloy-network"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-consensus 0.1.0",
+ "alloy-eips 0.1.0",
+ "alloy-json-rpc 0.1.0",
  "alloy-primitives 0.7.6",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-rpc-types 0.1.0",
+ "alloy-signer 0.1.0",
  "alloy-sol-types 0.7.6",
  "async-trait",
- "auto_impl",
  "futures-utils-wasm",
  "thiserror",
 ]
 
 [[package]]
 name = "alloy-network"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef742b478a2db5c27063cde82128dfbecffcd38237d7f682a91d3ecf6aa1836c"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-consensus 0.1.1",
+ "alloy-eips 0.1.1",
+ "alloy-json-rpc 0.1.1",
  "alloy-primitives 0.7.6",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-rpc-types-eth",
+ "alloy-serde 0.1.1",
+ "alloy-signer 0.1.1",
  "alloy-sol-types 0.7.6",
  "async-trait",
+ "auto_impl",
  "futures-utils-wasm",
  "thiserror",
 ]
@@ -391,19 +399,17 @@ dependencies = [
 [[package]]
 name = "alloy-provider"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-chains",
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-eips 0.1.0",
+ "alloy-json-rpc 0.1.0",
+ "alloy-network 0.1.0",
  "alloy-primitives 0.7.6",
- "alloy-rpc-client 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-rpc-types-trace 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-rpc-client 0.1.0",
+ "alloy-rpc-types 0.1.0",
+ "alloy-rpc-types-trace",
+ "alloy-transport 0.1.0",
+ "alloy-transport-http 0.1.0",
  "async-stream",
  "async-trait",
  "auto_impl",
@@ -413,7 +419,6 @@ dependencies = [
  "lru",
  "pin-project",
  "reqwest",
- "serde",
  "serde_json",
  "tokio",
  "tracing",
@@ -422,18 +427,20 @@ dependencies = [
 
 [[package]]
 name = "alloy-provider"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "200b786259a17acf318b9c423afe9669bec24ce9cdf59de153ff9a4009914bb6"
 dependencies = [
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-chains",
+ "alloy-consensus 0.1.1",
+ "alloy-eips 0.1.1",
+ "alloy-json-rpc 0.1.1",
+ "alloy-network 0.1.1",
  "alloy-primitives 0.7.6",
- "alloy-rpc-client 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-rpc-types-trace 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-rpc-client 0.1.1",
+ "alloy-rpc-types-eth",
+ "alloy-transport 0.1.1",
+ "alloy-transport-http 0.1.1",
  "async-stream",
  "async-trait",
  "auto_impl",
@@ -443,6 +450,7 @@ dependencies = [
  "lru",
  "pin-project",
  "reqwest",
+ "serde",
  "serde_json",
  "tokio",
  "tracing",
@@ -474,11 +482,11 @@ dependencies = [
 [[package]]
 name = "alloy-rpc-client"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-json-rpc 0.1.0",
+ "alloy-transport 0.1.0",
+ "alloy-transport-http 0.1.0",
  "futures",
  "pin-project",
  "reqwest",
@@ -493,12 +501,13 @@ dependencies = [
 
 [[package]]
 name = "alloy-rpc-client"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "328a6a14aba6152ddf6d01bac5e17a70dbe9d6f343bf402b995c30bac63a1fbf"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport-http 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-json-rpc 0.1.1",
+ "alloy-transport 0.1.1",
+ "alloy-transport-http 0.1.1",
  "futures",
  "pin-project",
  "reqwest",
@@ -514,14 +523,14 @@ dependencies = [
 [[package]]
 name = "alloy-rpc-types"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-consensus 0.1.0",
+ "alloy-eips 0.1.0",
+ "alloy-genesis 0.1.0",
  "alloy-primitives 0.7.6",
  "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-serde 0.1.0",
  "alloy-sol-types 0.7.6",
  "itertools 0.12.1",
  "serde",
@@ -531,32 +540,30 @@ dependencies = [
 
 [[package]]
 name = "alloy-rpc-types"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3164e7d8a718a22ede70b2c1d2bb554a8b4bd8e56c07ab630b75c74c06c53752"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-primitives 0.7.6",
- "alloy-rlp",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-sol-types 0.7.6",
- "itertools 0.12.1",
- "serde",
- "serde_json",
- "thiserror",
+ "alloy-rpc-types-eth",
+ "alloy-serde 0.1.1",
 ]
 
 [[package]]
-name = "alloy-rpc-types-trace"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+name = "alloy-rpc-types-eth"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bce0676f144be1eae71122d1d417885a3b063add0353b35e46cdf1440d6b33b1"
 dependencies = [
+ "alloy-consensus 0.1.1",
+ "alloy-eips 0.1.1",
  "alloy-primitives 0.7.6",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-rlp",
+ "alloy-serde 0.1.1",
+ "alloy-sol-types 0.7.6",
+ "itertools 0.13.0",
  "serde",
  "serde_json",
+ "thiserror",
 ]
 
 [[package]]
@@ -565,8 +572,8 @@ version = "0.1.0"
 source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
- "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-rpc-types 0.1.0",
+ "alloy-serde 0.1.0",
  "serde",
  "serde_json",
 ]
@@ -574,7 +581,7 @@ dependencies = [
 [[package]]
 name = "alloy-serde"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
  "serde",
@@ -583,8 +590,9 @@ dependencies = [
 
 [[package]]
 name = "alloy-serde"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c224916316519558d8c2b6a60dc7626688c08f1b8951774702562dbcb8666ee"
 dependencies = [
  "alloy-primitives 0.7.6",
  "serde",
@@ -594,7 +602,7 @@ dependencies = [
 [[package]]
 name = "alloy-signer"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
  "alloy-primitives 0.7.6",
  "async-trait",
@@ -606,8 +614,9 @@ dependencies = [
 
 [[package]]
 name = "alloy-signer"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "227c5fd0ed6e06e1ccc30593f8ff6d9fb907ac5f03a709a6d687f0943494a229"
 dependencies = [
  "alloy-primitives 0.7.6",
  "async-trait",
@@ -618,14 +627,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "alloy-signer-wallet"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+name = "alloy-signer-local"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66c44057ac1e8707f8c6a983db9f83ac1265c9e05be81d432acf2aad2880e1c0"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-consensus 0.1.1",
+ "alloy-network 0.1.1",
  "alloy-primitives 0.7.6",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-signer 0.1.1",
  "async-trait",
  "k256",
  "rand",
@@ -637,10 +647,10 @@ name = "alloy-signer-wallet"
 version = "0.1.0"
 source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-network 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-consensus 0.1.0",
+ "alloy-network 0.1.0",
  "alloy-primitives 0.7.6",
- "alloy-signer 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-signer 0.1.0",
  "async-trait",
  "elliptic-curve",
  "eth-keystore",
@@ -750,9 +760,9 @@ dependencies = [
 [[package]]
 name = "alloy-transport"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-json-rpc 0.1.0",
  "base64",
  "futures-util",
  "futures-utils-wasm",
@@ -767,10 +777,11 @@ dependencies = [
 
 [[package]]
 name = "alloy-transport"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3628d81530263fe837a09cd527022f5728202a669973f04270942f4d390b5f5"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-json-rpc 0.1.1",
  "base64",
  "futures-util",
  "futures-utils-wasm",
@@ -780,16 +791,15 @@ dependencies = [
  "tokio",
  "tower",
  "url",
- "wasm-bindgen-futures",
 ]
 
 [[package]]
 name = "alloy-transport-http"
 version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=0928b92#0928b92000d1a56370531d5d3d825729b03dfed9"
+source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy-json-rpc 0.1.0",
+ "alloy-transport 0.1.0",
  "reqwest",
  "serde_json",
  "tower",
@@ -799,11 +809,12 @@ dependencies = [
 
 [[package]]
 name = "alloy-transport-http"
-version = "0.1.0"
-source = "git+https://github.com/alloy-rs/alloy?rev=c6c91cc#c6c91cc197c79c456433c79d60f81c8c5aa13001"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f35d34e7a51503c9ff267404a5850bd58f991b7ab524b892f364901e3576376"
 dependencies = [
- "alloy-json-rpc 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
- "alloy-transport 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy-json-rpc 0.1.1",
+ "alloy-transport 0.1.1",
  "reqwest",
  "serde_json",
  "tower",
@@ -1663,7 +1674,7 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 name = "e2e"
 version = "0.1.0"
 dependencies = [
- "alloy 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy 0.1.1",
  "e2e-proc",
  "eyre",
  "koba",
@@ -1772,7 +1783,7 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 name = "erc20-example"
 version = "0.0.0"
 dependencies = [
- "alloy 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy 0.1.1",
  "alloy-primitives 0.3.3",
  "e2e",
  "eyre",
@@ -1787,7 +1798,7 @@ dependencies = [
 name = "erc721-example"
 version = "0.0.0"
 dependencies = [
- "alloy 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0928b92)",
+ "alloy 0.1.1",
  "alloy-primitives 0.3.3",
  "e2e",
  "eyre",
@@ -2459,6 +2470,15 @@ dependencies = [
  "either",
 ]
 
+[[package]]
+name = "itertools"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
+dependencies = [
+ "either",
+]
+
 [[package]]
 name = "itoa"
 version = "1.0.11"
@@ -2517,7 +2537,7 @@ name = "koba"
 version = "0.1.0"
 source = "git+https://github.com/OpenZeppelin/koba#1b364b9090d14b107c48aa991773b5973a9e0197"
 dependencies = [
- "alloy 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=c6c91cc)",
+ "alloy 0.1.0",
  "brotli2",
  "bytesize",
  "clap",
diff --git a/Cargo.toml b/Cargo.toml
index 74e1695..33b8212 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,24 +38,26 @@ keywords = ["arbitrum", "ethereum", "stylus"]
 repository = "https://github.com/OpenZeppelin/rust-contracts-stylus"
 
 [workspace.dependencies]
-alloy-primitives = { version = "0.3.1", default-features = false }
-alloy-sol-types = { version = "0.3.1", default-features = false }
 # TODO: lift stylus-sdk and stylus-proc versions once nitro test node will be compatible
 stylus-sdk = { version = "0.4.3", default-features = false }
 stylus-proc = { version = "0.4.3", default-features = false }
 mini-alloc = "0.4.2"
 
-alloy = { git = "https://github.com/alloy-rs/alloy", rev = "0928b92", features = [
+alloy = { version = "0.1.1", features = [
   "contract",
   "network",
   "providers",
   "provider-http",
   "rpc-client",
   "rpc-types-eth",
-  "signers",
-  "signer-wallet",
+  "signer-local",
   "getrandom",
 ] }
+# Even though `alloy` includes `alloy-primitives` and `alloy-sol-types` we need
+# to keep both versions for compatibility with the SDK. Once they start using
+# `alloy` we can remove these.
+alloy-primitives = { version = "0.3.1", default-features = false }
+alloy-sol-types = { version = "0.3.1", default-features = false }
 
 [profile.release]
 codegen-units = 1


Test patch:
diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
index 9b01d4a..4847dfb 100644
--- a/.github/workflows/e2e-tests.yml
+++ b/.github/workflows/e2e-tests.yml
@@ -25,26 +25,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
-      - uses: actions/cache@v4
-        with:
-          path: |
-            ~/.cargo/registry/index/
-            ~/.cargo/registry/cache/
-            ~/.cargo/git/db/
-            target/
-          key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}-${{ github.event.number }}
-          restore-keys: |
-            ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}
-
-      - name: cache cargo-stylus
-        uses: actions/cache@v4
-        with:
-          path: |
-            ~/.cargo/bin/
-            ~/.cargo/.crates.toml
-          key: ${{ runner.os }}-cargo-bin-cargo-stylus@0.2.1
-          save-always: true
-
+        
       - name: set up rust
         uses: dtolnay/rust-toolchain@master
         id: toolchain
@@ -52,6 +33,10 @@ jobs:
           target: wasm32-unknown-unknown
           components: rust-src, llvm-tools-preview
           toolchain: nightly-2024-01-01
+          
+      - uses: Swatinem/rust-cache@v2
+        with:
+          cache-on-failure: true
 
       - name: install cargo-stylus
         run: RUSTFLAGS="-C link-args=-rdynamic" cargo install cargo-stylus@0.2.1
diff --git a/lib/e2e/src/system.rs b/lib/e2e/src/system.rs
index 848f9ab..ee86264 100644
--- a/lib/e2e/src/system.rs
+++ b/lib/e2e/src/system.rs
@@ -1,9 +1,9 @@
 use alloy::{
-    network::{Ethereum, EthereumSigner},
+    network::{Ethereum, EthereumWallet},
     providers::{
         fillers::{
             ChainIdFiller, FillProvider, GasFiller, JoinFill, NonceFiller,
-            SignerFiller,
+            WalletFiller,
         },
         Identity, ProviderBuilder, RootProvider,
     },
@@ -20,7 +20,7 @@ pub type Signer = FillProvider<
             JoinFill<JoinFill<Identity, GasFiller>, NonceFiller>,
             ChainIdFiller,
         >,
-        SignerFiller<EthereumSigner>,
+        WalletFiller<EthereumWallet>,
     >,
     RootProvider<Http<Client>>,
     Http<Client>,
diff --git a/lib/e2e/src/user.rs b/lib/e2e/src/user.rs
index aae37bf..a69d59e 100644
--- a/lib/e2e/src/user.rs
+++ b/lib/e2e/src/user.rs
@@ -1,8 +1,8 @@
 use alloy::{
-    network::EthereumSigner,
+    network::EthereumWallet,
     primitives::Address,
     providers::{Provider, ProviderBuilder},
-    signers::wallet::LocalWallet,
+    signers::local::PrivateKeySigner,
 };
 use eyre::{bail, Result};
 use once_cell::sync::Lazy;
@@ -16,7 +16,7 @@ use crate::{
 /// Type that corresponds to a test user.
 #[derive(Clone, Debug)]
 pub struct User {
-    pub wallet: LocalWallet,
+    pub wallet: PrivateKeySigner,
     pub signer: Signer,
 }
 
@@ -60,7 +60,7 @@ impl UserFactory {
 
     /// Create new account and fund it via nitro test node access.
     fn create(&self) -> eyre::Result<User> {
-        let wallet = LocalWallet::random();
+        let wallet = PrivateKeySigner::random();
         let addr = wallet.address();
 
         // ./test-node.bash script send-l2 --to
@@ -81,7 +81,7 @@ impl UserFactory {
             .expect("failed to parse RPC_URL string into a URL");
         let signer = ProviderBuilder::new()
             .with_recommended_fillers()
-            .signer(EthereumSigner::from(wallet.clone()))
+            .wallet(EthereumWallet::from(wallet.clone()))
             .on_http(rpc_url);
 
         match output.status.success() {