Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sealevel: create helloworld program and deploy tooling for use by Kathy #2502

Closed
tkporter opened this issue Jul 10, 2023 · 1 comment
Closed
Assignees
Labels
Milestone

Comments

@tkporter
Copy link
Collaborator

  • Create a helloworld program (maybe we can choose to piggyback off test-send-receiver? though probably makes sense to have it be a distinct program)
  • Write deploy tooling for the helloworld program. I think it probably makes sense to piggyback off the existing router logic that the warp route deployment logic uses -- it's not anything generic yet, but we can make it generic
@tkporter tkporter added this to the Sealevel MVP milestone Jul 10, 2023
@nambrot nambrot moved this to On-Deck in Hyperlane Tasks Jul 10, 2023
@nambrot nambrot moved this from On-Deck to Below Deck in Hyperlane Tasks Jul 10, 2023
@avious00 avious00 moved this from Below Deck to Sprint in Hyperlane Tasks Aug 1, 2023
@avious00 avious00 moved this from Sprint to In Progress in Hyperlane Tasks Aug 9, 2023
@tkporter tkporter moved this from In Progress to In Review in Hyperlane Tasks Sep 20, 2023
@avious00
Copy link
Contributor

PR Review by Rossy and Yorke here; #2744

tkporter added a commit that referenced this issue Oct 3, 2023
### Description

* HelloWorld program added to `rust/sealevel/programs/helloworld`
* Some changes to the Sealevel tooling
* Refactored the old warp-route-specific deploy management into a more
generic framework for idempotently deploying and managing router apps in
Sealevel
    * Added helloworld deploy tooling
    * Added ISM & owner checking to this router deployment tooling
* Added `--require-tx-approval` to prevent txs from being called without
first prompting
* Added a bunch of new commands for creating txs with certain
instructions that were needed along the way -- e.g. setting an ISM,
deploying a specific multisig ISM (previously only one would be deployed
as a part of `core deploy`
* Added a command for configuring multisig ISMs,
`multisig-ism-message-id configure`, that takes in a JSON file of
multisig ISM configs and applies them onchain
* A bit of cleanup / refactor - e.g. removed some old commands like
`mailbox receive`
* Added foreignDeployments into `RouterApp`
* Because RouterApp takes in `contractsMap:
HyperlaneContractsMap<Factories>,`, which require attached contracts, a
new `readonly foreignDeployments: ChainMap<Address> = {},` is added to
the constructor
* These foreignDeployments are considered in the return value of
`remoteChains(chainName: string)`, but not in `chains()` -- this means
that `chains()` now concretely means "chains that can be deployed to /
interacted with and that there is an entry in `contractsMap` for, and
`remoteChains(chainName: string)` returns any and all remote chains,
regardless of whether they can be deployed to / interacted with
* Added complete ISM support to the HyperlaneRouterChecker
* when checking the ISM, if there's not a match and the ISM is a config,
then the ISM will be deployed
* Also added RouterViolation, before it'd just throw if there was a
violation
* Updated the Helloworld, IGP, and core tooling to work when AEE
deployments are also configured
* Moved to Routing ISM -> Aggregation ISM -> Merkle / Message ID
multisig setup

Some things to note:
* atm there are a few places that have a TODO saying to remove something
after some multisig txs are executed, I plan to revisit these after we
get some sigs
* I've deployed the mainnet sealevel version of helloworld, but haven't
been able to enroll it in the EVM chains yet. Waiting for some multisig
activity here

### Drive-by changes

### Related issues

#2502

### Backward compatibility

I believe it should all be backward compatible

### Testing

Deployed, ran checkers, etc
@avious00 avious00 closed this as completed Oct 3, 2023
@github-project-automation github-project-automation bot moved this from In Review to Done in Hyperlane Tasks Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

2 participants