All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- v2.2.0 feat: Support for
eth_call
method
- fix: ensure Candid API is the same as the interface exposed by the canister
- fix: always deserialize
Block::totalDifficulty
toNone
to avoid inconsistencies between providers - fix: Switch order of Ethereum mainnet providers
Alchemy
andLlamaNodes
to reduce the chance of automatically selectingAlchemy
when no providers are specified by the caller due to its low rate limit.
- v2.1.0 chore: changelog file
- v2.1.0 refactor: Remove Ankr as a default provider
SHA-256 hash: 5c49768f03f075ffd87f0f20d849897e03db58d05fb0d12f1a340b2a5f1e4f65
This release brings the following main changes (see details below)
- RPC providers are immutable (#244). The following post explains in more detail the motivation behind this change.
- Caller can now choose between equality or a threshold consensus strategy to aggregate responses from multiple providers (#284).
- Optional canister logs (#201).
- All (productive) dependencies on the IC repository were removed (mainly #243).
- build: set up reproducible builds via Docker by @rvanasa in #206
- feat!: add collateral cycles by @rvanasa in #213
- candid: L2 chains (Arbitrum, Base, Optimism) by @rvanasa in #212
- feat: ability to update chain IDs via
manageProvider
method by @rvanasa in #215 - dfx: add default canister init args by @rvanasa in #220
- Add Llama RPC providers by @rvanasa in #222
- feat:
evm_rpc_types
crate andNat256
by @gregorydemay in #257 - feat!: NNS-managed RPC providers by @rvanasa in #252
- feat: Choose a consensus strategy by @gregorydemay in #286
- feat: implement threshold strategy by @gregorydemay in #287
- feat: optional console log message filter by @rvanasa in #241
- feat: implement
Error
trait for error types by @gregorydemay in #298
- Update README.md by @letmejustputthishere in #203
- chore: update readme by @rvanasa in #216
- Update README.md by @letmejustputthishere in #219
- ci: mitigate rate limits / inconsistent responses by @rvanasa in #227
- ci: bump
setup-protoc
action to v3 by @rvanasa in #226 - auth: allow any principal to call
getAuthorized
by @rvanasa in #225 - ci: skip flaky test by @rvanasa in #230
- docs: minimal change to readme by @rvanasa in #239
- chore: misc. by @rvanasa in #247
- Minor typo in the README.md by @ChitranshVashney in #260
- test: RPC provider API key modifications by @rvanasa in #269
- Update README.md by @letmejustputthishere in #280
- chore: bump dfx version by @rvanasa in #221
- candid: clarify
topics
ineth_getLogs
args by @rvanasa in #197 - test: add example Candid-RPC method to Rust E2E test by @rvanasa in #198
- rpc: update default Public Node JSON-RPC URLs by @rvanasa in #199
- refactor: move
GetLogsArgs
andLogEntry
to theevm_rpc_types
crate by @gregorydemay in #261 - refactor: move
TransactionReceipt
toevm_rpc_types
by @gregorydemay in #263 - refactor: move
Block
toevm_rpc_types
by @gregorydemay in #268 - refactor: move
GetTransactionCountArgs
andSendRawTransactionStatus
toevm_rpc_types
by @gregorydemay in #270 - refactor: move types related to providers to
evm-rpc-types
crate by @gregorydemay in #271 - refactor: move types related to result to
evm-rpc-types
by @gregorydemay in #274 - refactor: Remove dependency on
ic-cketh-minter
by @gregorydemay in #275 - refactor: re-enable logs by @gregorydemay in #276
- refactor: remove
cketh_eth_rpc_call_retry_count
metrics by @gregorydemay in #277 - refactor: simplify
EthRpcClient
by @gregorydemay in #278 - refactor: consolidate JSON requests and responses by @gregorydemay in #279
- refactor: simplify
CheckedAmountOf
by @gregorydemay in #283 - refactor: move types by @gregorydemay in #285
- candid: rename
InitArgs
toInstallArgs
by @rvanasa in #272 - refactor: Use strongly typed fields in JSON requests and responses by @gregorydemay in #291
- chore: Remove dependencies on the IC repository by @gregorydemay in #293
- chore: upgrade all dependencies by @gregorydemay in #294
- refactor: use
evm_rpc_types
in Rust E2E canister by @rvanasa in #295 - refactor: Move
InstallArgs
andProvider
to theevm_rpc_types
crate by @gregorydemay in #299 - build(deps): bump serde_json from 1.0.114 to 1.0.115 by @dependabot in #188
- build(deps): bump serde from 1.0.198 to 1.0.202 by @dependabot in #211
- build(deps): bump serde_json from 1.0.116 to 1.0.117 by @dependabot in #209
- build(deps): bump num-traits from 0.2.18 to 0.2.19 by @dependabot in #207
- build(deps): bump num from 0.4.2 to 0.4.3 by @dependabot in #210
- build(deps): bump serde from 1.0.202 to 1.0.203 by @dependabot in #217
- build(deps): bump url from 2.5.0 to 2.5.1 by @dependabot in #223
- build(deps): bump url from 2.5.1 to 2.5.2 by @dependabot in #228
- build(deps): bump serde_bytes from 0.11.14 to 0.11.15 by @dependabot in #232
- build(deps): bump serde_json from 1.0.117 to 1.0.118 by @dependabot in #231
- build(deps): bump serde_json from 1.0.118 to 1.0.120 by @dependabot in #236
- build(deps): bump serde from 1.0.203 to 1.0.204 by @dependabot in #238
- build(deps): bump serde_json from 1.0.120 to 1.0.121 by @dependabot in #245
- build(deps): bump serde_json from 1.0.121 to 1.0.122 by @dependabot in #246
- build(deps): bump async-trait from 0.1.80 to 0.1.81 by @dependabot in #237
- build(deps): bump serde_json from 1.0.122 to 1.0.124 by @dependabot in #250
- build(deps): bump serde from 1.0.204 to 1.0.206 by @dependabot in #249
- build(deps): bump serde from 1.0.206 to 1.0.207 by @dependabot in #251
- build(deps): bump ic-cdk from 0.10.0 to 0.10.1 by @dependabot in #256
- build(deps): bump serde_json from 1.0.124 to 1.0.127 by @dependabot in #259
- build(deps): bump serde from 1.0.207 to 1.0.209 by @dependabot in #258
- build(deps): bump serde from 1.0.209 to 1.0.210 by @dependabot in #267
- build(deps): bump serde_json from 1.0.127 to 1.0.128 by @dependabot in #266
- build(deps): bump async-trait from 0.1.81 to 0.1.82 by @dependabot in #265
- fix: dfx version in CI by @rvanasa in #194
- fix: add
dfx pull
metadata to Docker build by @rvanasa in #214 - fix: optional fields in
Block
by @gregorydemay in #235 - fix!: simplify
eth_feeHistory
result type by @rvanasa in #242 - fix!: change number of subnet nodes from 28 to 31 by @rvanasa in #281
- fix!: change number of subnet nodes from 31 to 34 by @rvanasa in #282
- fix:
TransactionReceipt
fieldsstatus
andto
should be optional by @gregorydemay in #290 - fix: maximum value for
max_response_bytes
by @gregorydemay in #297 - fix:
repository
link inevm_rpc_types/Cargo.toml
by @gregorydemay in #301
- candid: remove hostname from
UpdateProviderArgs
by @rvanasa in #229 - candid!: remove
RpcService::Chain()
variant by @rvanasa in #273
- @letmejustputthishere made their first contribution in #203
- @gregorydemay made their first contribution in #235
- @ChitranshVashney made their first contribution in #260
Full Changelog: https://github.com/internet-computer-protocol/evm-rpc-canister/compare/release-2024-03-26...v2.0.0