Skip to content

Conversation

@lpahlavi
Copy link
Contributor

@lpahlavi lpahlavi commented Sep 16, 2025

(XC-412) Add support for the root and cumulativeGasUsed fields in the response to eth_getTransactionReceipt:

  • The root field is mandatory for transactions included pre-Byzantium and represents the post-transaction state root.
  • The cumulativeGasUsed is mandatory for all transactions and represents the sum of gas used by this transaction and all preceding transactions in the same block.

This is not breaking for the canister Candid API since adding a new field to a returned type is not breaking.

BREAKING: This is only breaking for the evm_rpc_types crate since it adds new fields to the public evm_rpc_types::TransactionsReceipt type.

@lpahlavi lpahlavi changed the title feat!: add support for root and cumulativeGasUsed fields feat!: add support for eth_getTransactionReceipt response fields Sep 16, 2025
@lpahlavi lpahlavi marked this pull request as ready for review September 16, 2025 10:34
@lpahlavi lpahlavi requested a review from a team as a code owner September 16, 2025 10:34
@gregorydemay
Copy link
Contributor

nit: let's add in the PR description that this is not breaking for the candid API

@lpahlavi lpahlavi merged commit 21fd1f6 into main Sep 17, 2025
11 checks passed
@lpahlavi lpahlavi deleted the lpahlavi/XC-412-add-transaction-receipt-fields branch September 17, 2025 09:57
This was referenced Oct 20, 2025
lpahlavi added a commit that referenced this pull request Oct 21, 2025
## 🤖 New release

* `evm_rpc_types`: 2.1.0 -> 3.0.0 (✓ API compatible changes)
* `evm_rpc_client`: 0.1.0
* `evm_rpc`: 2.5.0 -> 2.6.0 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `evm_rpc_types`

<blockquote>

## [3.0.0] - 2025-10-20

### Added

- Add conversions between several types in this crate and the
corresponding `alloy` types. These conversions are only available with
the `alloy` feature
([#465](#465),
[#466](#466),
[#467](#467),
[#476](#476)).
- **Breaking:** Add `root` and `cumulativeGasUsed` fields to
`TransactionsReceipt` type
([#474](#474))

[3.0.0]:
https://github.com/dfinity/evm-rpc-canister/compare/evm_rpc_types-v2.1.0..evm_rpc_types-v3.0.0
</blockquote>

## `evm_rpc_client`

<blockquote>

## [0.1.0] - 2025-10-20

### Added

- Add methods to modify RPC config to `RequestBuilder`
([#494](#494))
- Add `alloy` feature flag to `evm_rpc_client`
([#484](#484))
- Add new `json_request` endpoint
([#477](#477))
- Add client support for `eth_getTransactionReceipt`
([#476](#476))
- Add `eth_sendRawTransaction` client support
([#467](#467))
- Add client support for `eth_call`
([#466](#466))
- Add client support for `eth_getTransactionCount`
([#465](#465))
- Add support for `eth_feeHistory` to client
([#460](#460))
- Add support for `eth_getBlockByNumber` to client
([#459](#459))
- Add EVM RPC canister client
([#447](#447))

[0.1.0]:
https://github.com/dfinity/evm-rpc-canister/releases/tag/evm_rpc_client-v0.1.0
</blockquote>

## `evm_rpc`

<blockquote>

## [2.6.0] - 2025-10-20

### Added

- Add support for `root` and `cumulativeGasUsed` fields in
`eth_getTransactionReceipt` response
([#474](#474))
- Add new `json_request` endpoint and deprecate existing `request`
endpoint ([#477](#477))

### Changed

- Update `ic-cdk` to `v0.18.7`
([#489](#489))
- Update `dfx` to `v0.29.0`
([#490](#490))
- Cleanup unused dependencies
([#491](#491))

### Removed

- **Breaking**: Remove `getMetrics` endpoint, this is acceptable since
it was a debugging endpoint
([#479](#479))

### Fixed

- Add `err_max_response_size_exceeded` to Prometheus metrics
([#487](#487))

[2.6.0]:
v2.5.0...v2.6.0
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Louis Pahlavi <[email protected]>
@github-actions github-actions bot mentioned this pull request Oct 21, 2025
brightverdellmkf-61 added a commit to brightverdellmkf-61/evmrpcc that referenced this pull request Oct 27, 2025
## 🤖 New release

* `evm_rpc_types`: 2.1.0 -> 3.0.0 (✓ API compatible changes)
* `evm_rpc_client`: 0.1.0
* `evm_rpc`: 2.5.0 -> 2.6.0 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `evm_rpc_types`

<blockquote>

## [3.0.0] - 2025-10-20

### Added

- Add conversions between several types in this crate and the
corresponding `alloy` types. These conversions are only available with
the `alloy` feature
([#465](dfinity/evm-rpc-canister#465),
[#466](dfinity/evm-rpc-canister#466),
[#467](dfinity/evm-rpc-canister#467),
[#476](dfinity/evm-rpc-canister#476)).
- **Breaking:** Add `root` and `cumulativeGasUsed` fields to
`TransactionsReceipt` type
([#474](dfinity/evm-rpc-canister#474))

[3.0.0]:
https://github.com/dfinity/evm-rpc-canister/compare/evm_rpc_types-v2.1.0..evm_rpc_types-v3.0.0
</blockquote>

## `evm_rpc_client`

<blockquote>

## [0.1.0] - 2025-10-20

### Added

- Add methods to modify RPC config to `RequestBuilder`
([#494](dfinity/evm-rpc-canister#494))
- Add `alloy` feature flag to `evm_rpc_client`
([#484](dfinity/evm-rpc-canister#484))
- Add new `json_request` endpoint
([#477](dfinity/evm-rpc-canister#477))
- Add client support for `eth_getTransactionReceipt`
([#476](dfinity/evm-rpc-canister#476))
- Add `eth_sendRawTransaction` client support
([#467](dfinity/evm-rpc-canister#467))
- Add client support for `eth_call`
([#466](dfinity/evm-rpc-canister#466))
- Add client support for `eth_getTransactionCount`
([#465](dfinity/evm-rpc-canister#465))
- Add support for `eth_feeHistory` to client
([#460](dfinity/evm-rpc-canister#460))
- Add support for `eth_getBlockByNumber` to client
([#459](dfinity/evm-rpc-canister#459))
- Add EVM RPC canister client
([#447](dfinity/evm-rpc-canister#447))

[0.1.0]:
https://github.com/dfinity/evm-rpc-canister/releases/tag/evm_rpc_client-v0.1.0
</blockquote>

## `evm_rpc`

<blockquote>

## [2.6.0] - 2025-10-20

### Added

- Add support for `root` and `cumulativeGasUsed` fields in
`eth_getTransactionReceipt` response
([#474](dfinity/evm-rpc-canister#474))
- Add new `json_request` endpoint and deprecate existing `request`
endpoint ([#477](dfinity/evm-rpc-canister#477))

### Changed

- Update `ic-cdk` to `v0.18.7`
([#489](dfinity/evm-rpc-canister#489))
- Update `dfx` to `v0.29.0`
([#490](dfinity/evm-rpc-canister#490))
- Cleanup unused dependencies
([#491](dfinity/evm-rpc-canister#491))

### Removed

- **Breaking**: Remove `getMetrics` endpoint, this is acceptable since
it was a debugging endpoint
([#479](dfinity/evm-rpc-canister#479))

### Fixed

- Add `err_max_response_size_exceeded` to Prometheus metrics
([#487](dfinity/evm-rpc-canister#487))

[2.6.0]:
dfinity/evm-rpc-canister@v2.5.0...v2.6.0
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Louis Pahlavi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants