hyperlane-monorepo
hyperlane-monorepo copied to clipboard
Epic: initial migration from infra to the CLI
At the moment, internal management of contracts is done almost entirely within infra
or the SDK. This can be broken into 3 pieces:
- Secret management (e.g. the deployer key, private RPC URLs, etc)
- Config (e.g. owners, ISM configs, hook configs, validator sets, etc)
- Artifacts (e.g. addresses in the SDK, verification info, etc)
- Deployment scripts (e.g. deploy.ts)
This epic tracks an intermediate step toward migrating these to more appropriate homes. For the initial imgration, the plan is:
- Secret management - this will live as-is in
infra
- Config - this will live as-is in
infra
- Artifacts - this will live in the registry
- Deployment scripts - this will live in the CLI
Rather than running deploy.ts
in infra
where all the magic behind the scenes interacts with 1, 2, and 3, instead we'll "stitch" infra together with the CLI.
Infra will continue to house secret management and config generation, but this will be serialized and used with the CLI. The resulting experience will be something close to:
ts-node ./infra/scripts/deploy.ts --config-only -m ism | hyperlane ism deploy --stdin
Where the infra script ism-config.ts
will output secrets (e.g. deployer key & RPC URLs) and the ISM config, and the CLI takes this in via stdin.
### Tasks
- [ ] https://github.com/hyperlane-xyz/issues/issues/1170
- [ ] https://github.com/hyperlane-xyz/issues/issues/1173
- [ ] https://github.com/hyperlane-xyz/issues/issues/1171
- [ ] https://github.com/hyperlane-xyz/issues/issues/1172
- [ ] https://github.com/hyperlane-xyz/issues/issues/1174
- [ ] https://github.com/hyperlane-xyz/issues/issues/819
- [ ] https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3581