futureversecom / trn-seed

Implementation of The Root Network node in Rust, based on the Substrate framework.

Home Page:https://www.therootnetwork.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ethy Refactor V2

surangap opened this issue · comments

Since #441 is a giant single PR, it was discussed to have smaller PRs that could be merged into the main and run as we go.
This may include intermediary work that may be removed once the refactor is complete, but is required to keep things running as we follow along the process.
Proposing the following steps

  • Add a new pallet for Ethy
  • Add a new pallet EthBridgeV2
  • implement EthySwitcher in Runtime, and direct interactions(calls) from other components + extrinsics to pallet_ethy through the switcher. - This way we can switch between old code and new code.
  • The whole ethy refactor includes changes to the runtime, client and services like Relayer around it. Hence expected to take a longer time. We can use the switcher to test the features on Porcini without affecting other releases. But should avoid using the switcher on mainnet to avoid inconsistency of losing any state while switching back and forth. But switching on Porcini should give us the opportunity to test it thoroughly.
  • once we are satisfied with Porcini testing, update the code to remove the switcher and use new pallets directly, and remove old pallets. then we do another round of testing on Porcini -> main net deployment.

Sub tasks [TBA]