Skip to content
This repository has been archived by the owner on May 28, 2021. It is now read-only.

[Client, node, cf-core] Support any EVM chains and multiple chains concurrently #922

Closed
2 of 6 tasks
ArjunBhuptani opened this issue Mar 25, 2020 · 2 comments
Closed
2 of 6 tasks
Assignees
Labels
Enhancement New feature or request p5: Experimental Enhancements and refactors that we want to do/head towards Tracker Meta-issue to track changes further in roadmap

Comments

@ArjunBhuptani
Copy link
Member

ArjunBhuptani commented Mar 25, 2020

There's only a few relatively minor tweaks that are needed to make indra EVM chain-agnostic. This will help immensely not only with our own deployments (rinkeby and mainnet can be the same core node but with different chainId's in the Dai Card UI), but will also make it very simple to use Connext anywhere.

  • Complete existing work on domain separators in contract commitments (part of audit fixes in issue [contracts] Audit tasks #601 )
  • Add domain separator (particularly chainId) to all protocol messages and commitments
  • Create a providerIndex.json file which can be configured on start. Each chainProvider here will be indexed by chainId
  • Modify onchainTransaction service in node to get chainId from the State Channel params, look up the relevant provider from providerIndex and submit the transaction using that provider
  • Modify client to take in chainId (which must be of the same chain as inputted ethprovider) on connect(). If a channel with that chainId + xpub combo has not been created, then it should setup. This can default to 1 for Ethereum
  • Modify stores to index all channels by a combination of chainId + multisig?
@ArjunBhuptani ArjunBhuptani added Enhancement New feature or request p3: Features/refactors Larger enhancements driven by user needs + Refactors to improve bad patterns. labels Mar 25, 2020
@ArjunBhuptani ArjunBhuptani added p5: Experimental Enhancements and refactors that we want to do/head towards Tracker Meta-issue to track changes further in roadmap and removed p3: Features/refactors Larger enhancements driven by user needs + Refactors to improve bad patterns. labels May 30, 2020
@rhlsthrm rhlsthrm self-assigned this Jun 29, 2020
@bohendo
Copy link
Contributor

bohendo commented Jul 13, 2020

Create a providerIndex.json file which can be configured on start. Each chainProvider here will be indexed by chainId

Seems like this should contain a mapping from chainId -> ethProviderUrl. This'll be pretty simple & small, we might want to just use an env var for this eg:

INDRA_CHAIN_PROVIDERS='{"1":"mainnet.alchemy.io/abc123","4":"rinkeby.infura.io/abc123"}' make start-prod

@ArjunBhuptani
Copy link
Member Author

Done!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Enhancement New feature or request p5: Experimental Enhancements and refactors that we want to do/head towards Tracker Meta-issue to track changes further in roadmap
Projects
None yet
Development

No branches or pull requests

3 participants