Skip to content

feat: add validator announce, multisig ISM deployment, and local-doma…#266

Closed
blasrodri wants to merge 2 commits intomainfrom
blasrodri/hyp-multisig-deployment
Closed

feat: add validator announce, multisig ISM deployment, and local-doma…#266
blasrodri wants to merge 2 commits intomainfrom
blasrodri/hyp-multisig-deployment

Conversation

@blasrodri
Copy link
Copy Markdown
Contributor

…in parameter

This commit combines two feature additions to the Hyperlane CLI tool:

  1. Validator Announce and Multisig ISM Deployment:

    • Added deployment command for MerkleRootMultisigIsm with validator addresses and threshold
    • Added validator announcement command for signature storage location
    • Added helper functions for parsing ISM IDs and validators from events
  2. Local Domain Parameter:

    • Added local-domain as a configurable parameter for deployment commands
    • Updated SetupWithIsm to accept dynamic local-domain instead of hardcoded value
    • Applied to deploy-zkism, deploy-noopism, and deploy-multisigism commands

Overview

blasrodri and others added 2 commits October 29, 2025 09:39
…in parameter

This commit combines two feature additions to the Hyperlane CLI tool:

1. Validator Announce and Multisig ISM Deployment:
   - Added deployment command for MerkleRootMultisigIsm with validator addresses and threshold
   - Added validator announcement command for signature storage location
   - Added helper functions for parsing ISM IDs and validators from events

2. Local Domain Parameter:
   - Added local-domain as a configurable parameter for deployment commands
   - Updated SetupWithIsm to accept dynamic local-domain instead of hardcoded value
   - Applied to deploy-zkism, deploy-noopism, and deploy-multisigism commands

Co-Authored-By: 0xwalid <walid.wah@gmail.com>
Update scripts, README, and code documentation to reflect the new
local-domain parameter added to deployment commands. This ensures
backward compatibility is maintained by updating all call sites.

Changes:
- Update docker-entrypoint.sh to pass local-domain (69420) to deploy-noopism
- Update README.md with all three deployment command signatures
- Update doc.go with comprehensive command documentation

Co-Authored-By: 0xwalid <walid.wah@gmail.com>
@blasrodri
Copy link
Copy Markdown
Contributor Author

@damiannolan I'm merging Walid changes from XO here.

@blasrodri blasrodri marked this pull request as ready for review October 29, 2025 18:35
@jonas089
Copy link
Copy Markdown
Contributor

@damiannolan This PR is conflicting with our Rust fix for the ISM deployment #259.

The Hyp client didn't correctly set the trusted height and root for EVM, Celestia so we instead added the ISM deploy and update functionality to ev-prover's CLI.

@blasrodri
Copy link
Copy Markdown
Contributor Author

@damiannolan This PR is conflicting with our Rust fix for the ISM deployment #259.

The Hyp client didn't correctly set the trusted height and root for EVM, Celestia so we instead added the ISM deploy and update functionality to ev-prover's CLI.

understood

will port this logic to this then

Comment on lines +74 to +75
# Deploy with Multisig ISM
hyp deploy-multisigism 127.0.0.1:9090 [validators-comma-separated] [threshold] 69420
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it would be good to add here that the validators list should be eth-style 20 byte 0x hex addresses.

@damiannolan
Copy link
Copy Markdown
Collaborator

@blasrodri did you say there's more to be pushed to this PR before its ready?

Lemme know when I should review :)

@blasrodri
Copy link
Copy Markdown
Contributor Author

@blasrodri did you say there's more to be pushed to this PR before its ready?

Lemme know when I should review :)

Yes. Everything will be implemented in rust.

I'll ping you when it's ready

@damiannolan
Copy link
Copy Markdown
Collaborator

In rust? You mean Go, right?

@blasrodri
Copy link
Copy Markdown
Contributor Author

In rust? You mean Go, right?

No. @jonas089 referred to the integration of some of these commands onto the ev-prover

@damiannolan
Copy link
Copy Markdown
Collaborator

Yes, there was a nuanced issue with instantiating the zk ism from the hyp golang client. And due to a bit of a mess with the overall celestia dependency tree between app and node it was easiest for us to include a command in the ev-prover binary to deploy the ism. Specifically we need to know the last evm state root within a blob posted to a celestia block. It would be possible to do it in hyp using Go but it would require rebasing the feat branch with main of celestia-app again and making sure its compatible with the celestia-node dependency there.

IMO I think the its good ux to be able to instantiate the zk ism from the ev-prover binary and also use it to set the zk ism identifier on a token. I don't think we should use the ev-prover binary for create hyperlane infra like, mailboxes, hooks, validator announce etc, I think its kind of outside of its scope.

@blasrodri
Copy link
Copy Markdown
Contributor Author

Close in favor of #285

@blasrodri blasrodri closed this Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants