Adding rpc package with ethereum json rpc compatible methods + tests#1613
Open
otherview wants to merge 22 commits into
Open
Adding rpc package with ethereum json rpc compatible methods + tests#1613otherview wants to merge 22 commits into
otherview wants to merge 22 commits into
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
3f3eb4f to
fa57e7c
Compare
fa57e7c to
47892f7
Compare
paologalligit
approved these changes
May 11, 2026
chainID is now sourced from repo.ChainID() internally in BuildEthBlock and is not needed in ToEthReceipt (receipts carry no chainId field). Also adds TODO comments flagging known gaps in gasUsedRatio, eth_getLogs performance, topic OR-filtering, and ethSendRawTransaction guarantees. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
f640538 to
be50fd2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Ethereum Compatibility: EIP-1559 Transactions & JSON-RPC Server
This PR adds first-class support for Ethereum EIP-1559 transactions to VeChain Thor and exposes an Ethereum-compatible JSON-RPC endpoint, enabling standard Ethereum tooling
(MetaMask, ethers.js, viem, Hardhat, Foundry) to interact with VeChain nodes without modification.
What's new
New transaction type: TypeEthTyped1559 (0x02)
A new native transaction type that conforms to the Ethereum EIP-1559 wire format (0x02 || RLP(body)), gated behind the new INTERSTELLAR fork:
Ethereum JSON-RPC server (rpc/)
A new root-level rpc/ package (mirroring the structure of api/) implements a JSON-RPC 2.0 server exposing standard Ethereum methods. Launched separately from the REST API on its own
port.
Key projection semantics: VeChain blocks can contain a mix of native and ETH transactions. The JSON-RPC server projects only TypeEthTyped1559 transactions into the Ethereum-visible view — native transactions are invisible to ETH tooling.
Node wiring
Out of scope (tracked as TODOs)
Tests
transactionIndex and cumulativeGasUsed assertions, fee history, simulation, and a full send → mine → read cycle via eth_sendRawTransaction
Type of change
Checklist: