Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: support custom Candid-RPC sources #158

Merged
merged 29 commits into from
Feb 7, 2024
Merged

Conversation

rvanasa
Copy link
Collaborator

@rvanasa rvanasa commented Jan 29, 2024

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.

@rvanasa rvanasa marked this pull request as draft January 29, 2024 19:28
@rvanasa rvanasa marked this pull request as ready for review January 29, 2024 23:38
@rvanasa rvanasa changed the title candid: remove ability to specify RPC service by hostname feat!: support custom Candid-RPC sources Feb 2, 2024
@rvanasa rvanasa marked this pull request as draft February 2, 2024 21:02
@rvanasa rvanasa marked this pull request as ready for review February 5, 2024 16:34
src/accounting.rs Show resolved Hide resolved
@rvanasa rvanasa merged commit a788821 into main Feb 7, 2024
3 checks passed
@rvanasa rvanasa deleted the remove-service-variant branch February 7, 2024 15:31
gitlab-dfinity pushed a commit to dfinity/ic that referenced this pull request Feb 7, 2024
refactor(evmrpc): misc.

* Uses `Vec<Vec<FixedSizeData>>` to represent topics in place of `Vec<FixedSizeData>`.
* Refactors to support custom RPC services (such as L2s) in the Candid-RPC methods.

Prerequisite for [#158](dfinity/evm-rpc-canister#158) and [#165](dfinity/evm-rpc-canister#165). 

Merges into the `evm-rpc-canister` branch. 

See merge request dfinity-lab/public/ic!17485
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.

Combine JsonRpcSource with RpcService
2 participants