[SPEC] Update preset configuration for simplified usage
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
.tomlfiles 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
@shekohex, @salman01zp and @nepoche let me know what you guys think or if you have an improved approach.
Consider renaming 8-sided bridge directory to what the bridge actually is. Is it a bridge for USD-like tokens? BTC-like tokens?