The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/rust/sealevel/environments/testnet3/multisig-ism-message-id/solanadevnet/rc/multisig-config.json

65 lines
1.2 KiB

Helloworld program and tooling (#2744) ### 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
1 year ago
{
"alfajores": {
"type": 3,
"threshold": 1,
"validators": [
"0x45e5c228b38e1cf09e9a3423ed0cf4862c4bf3de"
]
},
"fuji": {
"type": 3,
"threshold": 1,
"validators": [
"0xd81ba169170a9b582812cf0e152d2c168572e21f"
]
},
"mumbai": {
"type": 3,
"threshold": 1,
"validators": [
"0xb537c4ce34e1cad718be52aa30b095e416eae46a"
]
},
"bsctestnet": {
"type": 3,
"threshold": 1,
"validators": [
"0x77f80ef5b18977e15d81aea8dd3a88e7df4bc0eb"
]
},
"goerli": {
"type": 3,
"threshold": 1,
"validators": [
"0x9597ddb4ad2af237665559574b820596bb77ae7a"
]
},
"sepolia": {
"type": 3,
"threshold": 1,
"validators": [
"0x183f15924f3a464c54c9393e8d268eb44d2b208c"
]
},
"moonbasealpha": {
"type": 3,
"threshold": 1,
"validators": [
"0xbeaf158f85d7b64ced36b8aea0bbc4cd0f2d1a5d"
]
},
"optimismgoerli": {
"type": 3,
"threshold": 1,
"validators": [
"0x1d6798671ac532f2bf30c3a5230697a4695705e4"
]
},
"arbitrumgoerli": {
"type": 3,
"threshold": 1,
"validators": [
"0x6d13367c7cd713a4ea79a2552adf824bf1ecdd5e"
]
}
}