relayer icon indicating copy to clipboard operation
relayer copied to clipboard

[SPEC] Update preset configuration for simplified usage

Open dutterbutter opened this issue 3 years ago β€’ 2 comments

Overview

We need to re-organize and update the config directory for easier user onboarding and setup. Users should be able to quickly view the config directory to understand what strategies they want to support, the available supported networks and the configuration details required for each.

I propose the following directory structure within config for preset configurations. You can see 8sided-evm-bridge/ for all the initial networks the relayer should support.

Folder Desc
full-support Contain the configurations necessary for the relayer to support the SignatureBridge, VAnchor, Mixer, data proposing, signature relaying, and data querying for all supported networks. Basically cover everything in exclusive-strategies and exclude development
development Contain the configurations for local evm, and substrate development
exclusive-strategies Contain all the relayer strategies that can be run independently or exclusively
mixer Contain the configurations for supporting the mixer
8sided-evm-bridge Contain the configurations necessary to support a specific bridge (e.g. ETH-8sided-evm-bridge)
signature-relaying Contain the configurations necessary to only propose data and relay signatures
private-tx-relaying Contain the configurations necessary to only relay transactions privately
data-querying Contain the configurations necessary to only enable data queries

Example directory organization:

config/
β”œβ”€ full-support/
β”œβ”€ exclusive-strategies/
β”‚  β”œβ”€ 8sided-evm-bridge/
β”‚  β”‚  β”œβ”€ rinkeby.toml
β”‚  β”‚  β”œβ”€ goerli.toml
β”‚  β”‚  β”œβ”€ optimism.toml
β”‚  β”‚  β”œβ”€ harmony.toml
β”‚  β”‚  β”œβ”€ arbitrum.toml
β”‚  β”‚  β”œβ”€ mumbia.toml
β”‚  β”‚  β”œβ”€ fuji.toml
β”‚  β”‚  β”œβ”€ aurora.toml
β”‚  β”œβ”€ mixer (on eggnet)/
β”‚  β”œβ”€ private-tx-relaying/
β”‚  β”œβ”€ signature-relaying/
β”‚  β”œβ”€ data-querying/
β”œβ”€ development/
β”‚  β”œβ”€ local-substrate/
β”‚  β”œβ”€ local-evm/

Expected Behaviour

We want it to be incredibly simple for users to make use of these preset configs. The user should only have to set their .env with their private keys, run docker with their preferred preset config and have a fully functioning relayer configured to their preference.

Tasks

  • [ ] Update VAnchor contract addresses once deployed
  • [ ] Add .toml files to each specified directory and supported networks
  • [ ] Add comments to each field with adequate explanation / purpose
  • [ ] Test each preset config to ensure it works as expected

Related Tasks

  • https://github.com/webb-tools/relayer/issues/195
  • https://github.com/webb-tools/relayer/pull/200

dutterbutter avatar Jun 20 '22 19:06 dutterbutter

@shekohex, @salman01zp and @nepoche let me know what you guys think or if you have an improved approach.

dutterbutter avatar Jun 20 '22 19:06 dutterbutter

Consider renaming 8-sided bridge directory to what the bridge actually is. Is it a bridge for USD-like tokens? BTC-like tokens?

drewstone avatar Jun 28 '22 16:06 drewstone