Skip to content

Migrate from rust-web3 to alloy #6063

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 52 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
15e8fb2
migrate from `ethabi` to `alloy`
isum Feb 14, 2025
2705234
bump crate version
May 7, 2025
4f0e5db
Add alloy_rpc_types crate
incrypto32 Jun 18, 2025
6debf51
chain/ethereum: Add alloy provider to ethereum adapter
incrypto32 Jun 18, 2025
d717b8b
chain/ethereum: Fix retval import causing rustfmt issues
incrypto32 Jun 18, 2025
dc831b7
chain/ethereum: migrate get_balance call to use alloy
incrypto32 Jun 18, 2025
55ca5da
chain/ethereum: migrate get_code call to use alloy
incrypto32 Jun 18, 2025
7edc787
chain/ethereum: remove unused block_hash_by_block_number method
incrypto32 Jun 18, 2025
d078993
chain/ethereum: migrate chain_id call to use alloy
incrypto32 Jun 18, 2025
341ebe8
chain/ethereum: migrate net_version call to use alloy
incrypto32 Jun 18, 2025
ba0898c
chain/ethereum: migrate next_existing_ptr_to_number call to use alloy
incrypto32 Jun 18, 2025
1360451
chain/ethereum: migrate load_block_ptrs_by_numbers_rpc call to use alloy
incrypto32 Jun 18, 2025
6607328
chain/ethereum: migrate load_block_ptrs_rpc call to use alloy
incrypto32 Jun 18, 2025
7168b73
graph, chain, runtime: re export alloy from graph crate and use it
incrypto32 Jun 18, 2025
01f527b
chain/ethereum: migrate genesis block fetching call to use alloy in n…
incrypto32 Jun 18, 2025
1e98bc4
chain/ethereum: migrate latest_block_header call to use alloy
incrypto32 Jun 18, 2025
c9ef4c7
chain/ethereum: rename latest_block_header to latest_block_ptr
incrypto32 Jun 18, 2025
8c44393
chain/ethereum: remove unused latest_block adapter method
incrypto32 Jun 18, 2025
39eb308
chain/ethereum: Refactor eth_call method in ethereum adapter
incrypto32 Jun 19, 2025
f9a1262
chain/ethereum: Move eth_call helper functions to separate module
incrypto32 Jun 19, 2025
f03b67f
chain/ethereum: Migrate eth_call to use alloy
incrypto32 Jun 19, 2025
81fa7de
graph, chain/ethereum: migrate ContractCall to use alloy address
incrypto32 Jun 19, 2025
5792a45
graph: Add util functions for alloy web3 conversions
incrypto32 Jun 24, 2025
d0179cf
checkpoint
incrypto32 Jun 24, 2025
12c7930
graph: add alloy_transaction_receipt_to_web3_transaction_receipt to c…
incrypto32 Jun 24, 2025
30e014d
receipts checkpoint
incrypto32 Jun 24, 2025
0698f42
chain/ethereum: Migrate load_blocks_rpc from futures01 to futures03
incrypto32 Jun 24, 2025
f920ee3
chain/ethereum: Refactor calls_in_block_range to eliminate Unpin erro…
incrypto32 Jun 24, 2025
2767c91
more conversions
incrypto32 Jun 25, 2025
78aeed0
chain/ethereum: migrate traces to use alloy
incrypto32 Jun 25, 2025
339b1de
more conversions
incrypto32 Jun 25, 2025
c70af26
chain/ethereum: migrate block methods to alloy part 1
incrypto32 Jun 25, 2025
5b872a2
chain/ethereum: migrate block methods to alloy part 2
incrypto32 Jun 25, 2025
c3d8dfd
chain/ethereum: wrapper for Block
incrypto32 Jun 26, 2025
fca96d3
chain/ethereum: wrap web3 block
incrypto32 Jun 26, 2025
3b8ae52
use alloy block
incrypto32 Jun 26, 2025
cd549ee
Migrate transaction receipt to alloy
incrypto32 Jun 26, 2025
f05054f
minor refactor
incrypto32 Jun 26, 2025
6276192
checkpoint
incrypto32 Jun 26, 2025
5d47917
migrate web3 primitives to alloy_primitives
incrypto32 Jun 29, 2025
9a7ec2e
minor refactoring
incrypto32 Jun 29, 2025
e76d31e
Fix more todo's, migratye firehose type conversions to alloy instead …
incrypto32 Jul 2, 2025
e94e57e
Remove unneccessary conversion functions
incrypto32 Jul 2, 2025
7cf8758
update failing tests
incrypto32 Jul 2, 2025
026a99f
Fix unit tests
incrypto32 Jul 8, 2025
441acdb
chain/ethereum: use dummy signature with zero values
incrypto32 Jul 9, 2025
8444cd5
chain/ethereum: Implement support for ws and ipc
incrypto32 Jul 21, 2025
c89dc3a
chain/ethereum: Implment rpc metrics collection with alloy
incrypto32 Jul 21, 2025
f9f6ac4
graph: Remove conversions module
incrypto32 Jul 21, 2025
5e25c0f
graph, chain, runtime: Remove all references to rust-web3 crate
incrypto32 Jul 21, 2025
dffa7f8
chain/ethereum: Refactor adapter.rs
incrypto32 Jul 24, 2025
50ad26b
graph, chain: code cleanup and refactor
incrypto32 Jul 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,035 changes: 2,940 additions & 1,095 deletions Cargo.lock

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ repository = "https://github.com/graphprotocol/graph-node"
license = "MIT OR Apache-2.0"

[workspace.dependencies]
alloy = { version = "0.15.10", features = ["full", "json-rpc"] }
alloy-rpc-types = "0.15.10"
anyhow = "1.0"
async-graphql = { version = "7.0.15", features = ["chrono"] }
async-graphql-axum = "7.0.15"
Expand Down Expand Up @@ -93,6 +95,7 @@ thiserror = "2.0.12"
tokio = { version = "1.45.1", features = ["full"] }
tonic = { version = "0.12.3", features = ["tls-roots", "gzip"] }
tonic-build = { version = "0.12.3", features = ["prost"] }
tower = { version = "0.5.1", features = ["full"] }
tower-http = { version = "0.5.2", features = ["cors"] }
wasmparser = "0.118.1"
wasmtime = "33.0.0"
Expand Down
1 change: 1 addition & 0 deletions chain/ethereum/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ tiny-keccak = "1.5.0"
hex = "0.4.3"
semver = "1.0.23"
thiserror = { workspace = true }
tower = { workspace = true }

itertools = "0.14.0"

Expand Down
Loading