Releases: dfinity/evm-rpc-canister
v2.2.0
- SHA-256 hash:
636442e4349a007316dcc1452d9a256d22203186181d2534f33bd264162305b3
- Deployed with proposal 133448 🚀
What's Changed
Added
- feat: support for
eth_call
by @gregorydemay in #308
Fixed
- fix: Candid interface compatibility by @gregorydemay in #310
- fix: always deserialize
Block::totalDifficulty
toNone
by @gregorydemay in #312 - fix: add missing
serde::Deserialize
annotation by @gregorydemay in #313 - fix: switch Alchemy with Llama nodes by @gregorydemay in #314
Full Changelog: v2.1.0...v2.2.0
v2.1.0
SHA-256 hash: 5f4a871b2369768fb7e69b08d367ac0288b95dcdfda9bd2c37283aa84e6b58b4
What's Changed
Added
- chore: add changelog file by @gregorydemay in #302
- ci: Docker build on CI by @gregorydemay in #303
Changed
- refactor: Remove Ankr as a default provider by @gregorydemay in #305
- refactor: improve debug and display representations by @gregorydemay in #304
- refactor: improve debug of
RpcApi
by @gregorydemay in #307 - Update changelog and versions for upcoming release by @gregorydemay in #309
Full Changelog: v2.0.0...v2.1.0
v2.0.0
SHA-256 hash: 5c49768f03f075ffd87f0f20d849897e03db58d05fb0d12f1a340b2a5f1e4f65
Summary
This release bring the main following changes (see details below)
- RPC providers are immutable (#244). The following post explains in more details 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).
What's Changed
Added
- 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
Changed
- 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...
2024-05-23 (Tritium)
SHA-256 hash: ccce0d8e3210db42ff12b03360c20246855ad8529da0f844faa343bf8b393529
What's Changed
- build(deps): bump serde_json from 1.0.114 to 1.0.115 by @dependabot in #188
- fix: dfx version in CI by @rvanasa in #194
- 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
- Update README.md by @letmejustputthishere in #203
- 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
New Contributors
- @letmejustputthishere made their first contribution in #203
Full Changelog: release-2024-03-26...release-2024-05-23
2024-03-26 (Beta)
What's Changed
Breaking changes:
Candid interface:
- docs: add parameter names in Candid interface by @rvanasa in #181
- fix: update Candid interface by @rvanasa in #185
Miscellaneous:
- fix: rewrite absolute paths in log messages by @rvanasa in #187
- chore: bump Motoko base library to 0.11.0 by @rvanasa in #183
- build(deps): bump async-trait from 0.1.77 to 0.1.78 by @dependabot in #184
- build(deps): bump ethers-core from 2.0.13 to 2.0.14 by @dependabot in #182
- build(deps): bump async-trait from 0.1.78 to 0.1.79 by @dependabot in #186
Full Changelog: release-2024-02-12...release-2024-03-26
2024-02-12 (Beta)
What's Changed
- chore: update repository URL by @rvanasa in #161
- fix: change gzip config for
dfx deps pull
by @rvanasa in #168 - test(e2e): number of nodes in subnet by @rvanasa in #169
- chore: update examples in readme by @rvanasa in #170
- feat!: support custom Candid-RPC sources by @rvanasa in #158
- chore: use
dfinity/ic
branch by @rvanasa in #171 - build(deps): bump num-traits from 0.2.17 to 0.2.18 by @dependabot in #174
- test: add L2 chains to Motoko E2E tests by @rvanasa in #176
Full Changelog: release-2024-02-05...release-2024-02-12
2024-02-05 (Beta)
What's Changed
- auth: misc. adjustments and refactoring by @rvanasa in #162
- feat: set up production canister by @rvanasa in #163
- feat: make canister pullable by @rvanasa in #164
- feat!: use more general topic representation for
eth_getLogs
by @rvanasa in #165 - fix: miscellaneous by @rvanasa in #167
Full Changelog: release-2024-01-31...release-2024-02-05
2024-01-31 (Beta)
This is the initial beta release of the EVM RPC canister.
Please feel free to open an issue if you encounter any bugs or require a specific feature for your use case.
What's Changed
- feat: add HTTP endpoints for logging / metrics by @rvanasa in #56
- refactor: misc. by @rvanasa in #57
- refactor: replace authorization bitwise operations with
AuthSet
by @rvanasa in #69 - feat: update default RPC providers by @rvanasa in #85
- test: set up IC state machine tests by @rvanasa in #82
- feat: use registered API keys in Candid-RPC methods by @rvanasa in #90
- test: mock HTTPS outcalls in state machine tests by @rvanasa in #89
- feat: rename and test
verify_message_signature()
by @rvanasa in #92 - chore: update providers based on new ckETH repo changes by @rvanasa in #93
- feat: add fiduciary subnet test canister by @rvanasa in #94
- feat: replace service host allowlist with blocklist by @rvanasa in #96
- feat!: adjust Candid-RPC methods for state machine tests by @rvanasa in #95
- feat!: include all JSON properties in Candid-RPC responses by @rvanasa in #99
- chore: add Git hash to external repository by @rvanasa in #102
- chore: set up mainnet E2E testing environment by @rvanasa in #101
- feat!: reintroduce RPC provider agreement logic by @rvanasa in #100
- test:
MultiRpcResult
data structure by @rvanasa in #103 - test: call Candid-RPC methods from Motoko E2E canister by @rvanasa in #104
- refactor: custom names for generic result types in Candid interface by @rvanasa in #105
- experiment: remove
verifyMessageSignature()
method by @rvanasa in #108 - feat: add canister init args by @rvanasa in #112
- feat: add canister metrics by @rvanasa in #107
- refactor: convert
payload_size_bytes
fromusize
tou64
by @rvanasa in #117 - feat: add Alchemy to RPC service list by @rvanasa in #121
- fix: change case of metric fields in Candid interface by @rvanasa in #120
- test:
PriorityRpc
,RegisterProvider
, andManageCanister
caller authorizations by @rvanasa in #122 - refactor: rename
ManageCanister
authorization toManage
by @rvanasa in #123 - chore: add default BlockPI API keys by @rvanasa in #124
- fix: adjust cycles cost calculation by @rvanasa in #128
- metrics: HTTP status codes and inconsistent responses by @rvanasa in #126
- metrics: use counters in place of gauges where relevant by @rvanasa in #137
- auth: change permissions for
Auth::Manage
and introducemanageProvider
method by @rvanasa in #134 - chore: misc. implementation review follow-ups by @rvanasa in #141
- chore: add ignored service/method combinations in Motoko E2E testing by @rvanasa in #142
- logs: combine outputs from EVM RPC and ckETH codebases by @rvanasa in #139
- fix: refine cycles cost calculation by @rvanasa in #143
- chore: point
cketh-common
to officialdfinity/ic
repository by @rvanasa in #144 - metrics: add
evmrpc
prefix to Prometheus metric names by @rvanasa in #145 - feat!: add
RpcConfig
arg to Candid-RPC methods by @rvanasa in #146 - logs: remove
TraceHttp
entries from HTTP endpoint by @rvanasa in #147 - chore: add subnet type in E2E console messages by @rvanasa in #149
- feat: sanity check for
eth_getLogs
max number of blocks by @rvanasa in #148 - docs: update readme by @rvanasa in #150
- docs: update examples by @rvanasa in #153
- test: show all errors at end of Motoko E2E tests by @rvanasa in #154
- auth: miscellaneous by @rvanasa in #160
- fix: use exact formula for HTTP outcall cost calculation by @rvanasa in #157
- auth: remove ability for
Auth::Manage
principal to change provider ownership by @rvanasa in #151
Full Changelog: release-2023-09-29...release-2024-01-31
2023-09-29 (Beta)
What's Changed
- Bump candid from 0.9.6 to 0.9.7 by @dependabot in #40
- Refactor
active
toprimary
in RPC providers by @rvanasa in #41 - Add default RPC providers for local replica by @rvanasa in #42
- Fix typos by @omahs in #43
- Adjust permissions for
update_provider
method by @rvanasa in #44 - Add
Service
source variant by @rvanasa in #45 - Add WIP disclaimer in readme by @rvanasa in #46
- Enhance
TooFewCycles
error by @rvanasa in #47 - Bump candid from 0.9.7 to 0.9.8 by @dependabot in #50
- Bump sha2 from 0.10.7 to 0.10.8 by @dependabot in #48
- Set up E2E testing by @rvanasa in #49
- Rename
ic_eth
->eth_rpc
by @rvanasa in #51
New Contributors
Full Changelog: release-2023-09-19...release-2023-09-29
2023-09-19 (Beta)
What's Changed
- Update quick start instructions in readme by @rvanasa in #37
- Simplify calling a specific EVM network by @rvanasa in #38
Full Changelog: release-2023-09-15...release-2023-09-19