internet-computer-protocol / evm-rpc-canister

Interact with EVM blockchains from the Internet Computer.
https://internetcomputer.org/docs/current/developer-docs/multi-chain/ethereum/evm-rpc/overview
Apache License 2.0
63 stars 13 forks source link

feat!: support custom Candid-RPC sources #158

Closed rvanasa closed 8 months ago

rvanasa commented 8 months ago

This PR combines JsonRpcSource with RpcService and extends RpcSource (now renamed to RpcServices for clarity) in a way that makes it possible to use custom EVM networks and JSON-RPC URLs in the Candid-RPC methods (which until now only supported the Ethereum mainnet and Sepolia testnet). This directly addresses most of the community feedback that we've received up to this point. I also used this as an opportunity to clean up some of the glue code needed to combine the original Ethereum integration and ckETH canisters.

Includes changes from #165 due to both depending on !17485.

Resolves #166.

Since this will require a lot of new test cases for various EVM chains, I will tackle that in a separate PR.