feat: deploy to oort mainnet (#4473)

feat: deploy to oort mainnet
- registry PR
https://github.com/hyperlane-xyz/hyperlane-registry/pull/190
- builds on top of the everclear PR
https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/4471
pull/4421/merge
Paul Balaji 2 months ago committed by GitHub
parent b326d4bfce
commit 73c232b3aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/slimy-humans-glow.md
  2. 2
      .registryrc
  3. 63
      rust/config/mainnet_config.json
  4. 13
      typescript/infra/config/environments/mainnet3/agent.ts
  5. 3
      typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json
  6. 112
      typescript/infra/config/environments/mainnet3/core/verification.json
  7. 3
      typescript/infra/config/environments/mainnet3/funding.ts
  8. 4
      typescript/infra/config/environments/mainnet3/gasPrices.json
  9. 86
      typescript/infra/config/environments/mainnet3/ism/verification.json
  10. 40
      typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json
  11. 1
      typescript/infra/config/environments/mainnet3/supportedChainNames.ts
  12. 1
      typescript/infra/config/environments/mainnet3/tokenPrices.json
  13. 12
      typescript/infra/config/environments/mainnet3/validators.ts
  14. 5
      typescript/sdk/src/consts/multisigIsm.ts

@ -0,0 +1,5 @@
---
'@hyperlane-xyz/sdk': minor
---
Deploy to oortmainnet

@ -1 +1 @@
7512eac66d258d6cd8e8f417665b8e2ef81ab353
8e93ecb4fa207fc4822393a4c13627be3da89eaa

@ -3992,6 +3992,69 @@
"testRecipient": "0xF15D70941dE2Bf95A23d6488eBCbedE0a444137f",
"timelockController": "0x0000000000000000000000000000000000000000",
"validatorAnnounce": "0xC88bAD76EC7acD9fd3b9Bb264f7f5C18097c5710"
},
"oortmainnet": {
"blockExplorers": [
{
"apiUrl": "https://mainnet-scan.oortech.com/api",
"family": "other",
"name": "Oort Olympus Explorer",
"url": "https://mainnet-scan.oortech.com"
}
],
"blocks": {
"confirmations": 1,
"estimateBlockTime": 2,
"reorgPeriod": 0
},
"chainId": 970,
"deployer": {
"name": "Abacus Works",
"url": "https://www.hyperlane.xyz"
},
"displayName": "Oort",
"domainId": 970,
"gasCurrencyCoinGeckoId": "oort",
"name": "oortmainnet",
"nativeToken": {
"decimals": 18,
"name": "Oort",
"symbol": "OORT"
},
"protocol": "ethereum",
"rpcUrls": [
{
"http": "https://mainnet-rpc.oortech.com"
}
],
"aggregationHook": "0x90F9ac2201bCC0fA177955175708eCB5963f0eCA",
"domainRoutingIsm": "0x4101B9B755FC58FcEA156e70B42a38CFF8A46F77",
"domainRoutingIsmFactory": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7",
"fallbackRoutingHook": "0x168DFF0Ad2b180F3801883Fe5Ae56d7E7d91D5f4",
"interchainAccountIsm": "0xc23BaF5Eb5848D19701BbE7f139645e6bd58a319",
"interchainAccountRouter": "0x7c58Cadcc2b60ACF794eE1843488d6f5703f76BE",
"interchainGasPaymaster": "0xb4fc9B5fD57499Ef6FfF3995728a55F7A618ef86",
"interchainSecurityModule": "0xdc2da0D5d7A69fa86366235E426ff4a0E214cC60",
"mailbox": "0xb129828B9EDa48192D0B2db35D0E40dCF51B3594",
"merkleTreeHook": "0x3E969bA938E6A993eeCD6F65b0dd8712B07dFe59",
"pausableHook": "0x6Fb36672365C7c797028C400A61c58c0ECc53cD2",
"pausableIsm": "0x989B7307d266151BE763935C856493D968b2affF",
"protocolFee": "0xfdefdDc8E153d5E0463d7E193F79A3714be16021",
"proxyAdmin": "0x148CF67B8A242c1360bb2C93fCe203EC4d4f9B56",
"staticAggregationHookFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1",
"staticAggregationIsm": "0xdc2da0D5d7A69fa86366235E426ff4a0E214cC60",
"staticAggregationIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004",
"staticMerkleRootMultisigIsmFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6",
"staticMerkleRootWeightedMultisigIsmFactory": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D",
"staticMessageIdMultisigIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908",
"staticMessageIdWeightedMultisigIsmFactory": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E",
"storageGasOracle": "0x2c61Cda929e4e2174cb10cd8e2724A9ceaD62E67",
"testRecipient": "0x58556AaeB2e3829d52EE5E711D44735412efA43B",
"timelockController": "0x0000000000000000000000000000000000000000",
"validatorAnnounce": "0x6f77d5Ef273C38CC19d1d02352785F52565A1A6c",
"index": {
"from": 26847587
}
}
},
"defaultRpcConsensusType": "fallback"

@ -93,6 +93,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
molten: true,
moonbeam: true,
neutron: true,
oortmainnet: true,
optimism: true,
osmosis: true,
polygon: true,
@ -156,6 +157,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
moonbeam: true,
// At the moment, we only relay between Neutron and Manta Pacific on the neutron context.
neutron: false,
oortmainnet: true,
optimism: true,
osmosis: true,
polygon: true,
@ -221,6 +223,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
moonbeam: true,
// Cannot scrape non-EVM chains
neutron: false,
oortmainnet: true,
optimism: true,
// Cannot scrape non-EVM chains
osmosis: false,
@ -375,7 +378,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154357',
},
gasPaymentEnforcement: gasPaymentEnforcement,
metricAppContexts,
@ -384,7 +387,7 @@ const hyperlane: RootAgentConfig = {
validators: {
docker: {
repo,
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154357',
},
rpcConsensusType: RpcConsensusType.Quorum,
chains: validatorChainConfig(Contexts.Hyperlane),
@ -394,7 +397,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154357',
},
resources: scraperResources,
},
@ -409,7 +412,7 @@ const releaseCandidate: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154357',
},
// We're temporarily (ab)using the RC relayer as a way to increase
// message throughput.
@ -421,7 +424,7 @@ const releaseCandidate: RootAgentConfig = {
validators: {
docker: {
repo,
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154357',
},
rpcConsensusType: RpcConsensusType.Quorum,
chains: validatorChainConfig(Contexts.ReleaseCandidate),

@ -160,6 +160,9 @@
"0x7885fae56dbcf5176657f54adbbd881dc6714132"
]
},
"oortmainnet": {
"validators": ["0x9b7ff56cd9aa69006f73f1c5b8c63390c706a5d7"]
},
"optimism": {
"validators": [
"0x20349eadc6c72e94ce38268b96692b1a5c20de4f",

@ -3523,5 +3523,117 @@
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39",
"isProxy": false
}
],
"oortmainnet": [
{
"name": "PausableIsm",
"address": "0x31894E7a734540B343d67E491148EB4FC9f7A45B",
"constructorArguments": "000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "MerkleTreeHook",
"address": "0x3C2b535a49c6827DF0b8e94467e6922c99E3c092",
"constructorArguments": "000000000000000000000000b163e75e2008cdc94e50278b5fcdd081761a2ee4",
"isProxy": false
},
{
"name": "FallbackRoutingHook",
"address": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd",
"constructorArguments": "000000000000000000000000b163e75e2008cdc94e50278b5fcdd081761a2ee4000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000003c2b535a49c6827df0b8e94467e6922c99e3c092",
"isProxy": false
},
{
"name": "PausableHook",
"address": "0xf8344D85a1429708e0BE6724218E938087e596DF",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StorageGasOracle",
"address": "0x2c61Cda929e4e2174cb10cd8e2724A9ceaD62E67",
"constructorArguments": "",
"isProxy": false
},
{
"name": "InterchainGasPaymaster",
"address": "0x8AB7A6FaC052518A39628497735C855a2Beb515B",
"constructorArguments": "",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb4fc9B5fD57499Ef6FfF3995728a55F7A618ef86",
"constructorArguments": "0000000000000000000000008ab7a6fac052518a39628497735c855a2beb515b0000000000000000000000008d078f74df9e5a4fa8da06f2abce5d01fdf793c200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x8AB7A6FaC052518A39628497735C855a2Beb515B"
},
{
"name": "ProtocolFee",
"address": "0x199ba45E836440f2cCe00aa60466Ae0e733D6647",
"constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "ValidatorAnnounce",
"address": "0xcd9D3744512F07AE844c40E27912092d7c503565",
"constructorArguments": "000000000000000000000000b163e75e2008cdc94e50278b5fcdd081761a2ee4",
"isProxy": false
},
{
"name": "ProxyAdmin",
"address": "0x148CF67B8A242c1360bb2C93fCe203EC4d4f9B56",
"constructorArguments": "",
"isProxy": false
},
{
"name": "Mailbox",
"address": "0xcd849e612Aaa138f03698C3Edb42a34117BFF631",
"constructorArguments": "00000000000000000000000000000000000000000000000000000000000003ca",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb129828B9EDa48192D0B2db35D0E40dCF51B3594",
"constructorArguments": "000000000000000000000000cd849e612aaa138f03698c3edb42a34117bff631000000000000000000000000148cf67b8a242c1360bb2c93fce203ec4d4f9b5600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xcd849e612Aaa138f03698C3Edb42a34117BFF631"
},
{
"name": "PausableIsm",
"address": "0x989B7307d266151BE763935C856493D968b2affF",
"constructorArguments": "000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "MerkleTreeHook",
"address": "0x3E969bA938E6A993eeCD6F65b0dd8712B07dFe59",
"constructorArguments": "000000000000000000000000b129828b9eda48192d0b2db35d0e40dcf51b3594",
"isProxy": false
},
{
"name": "FallbackRoutingHook",
"address": "0x168DFF0Ad2b180F3801883Fe5Ae56d7E7d91D5f4",
"constructorArguments": "000000000000000000000000b129828b9eda48192d0b2db35d0e40dcf51b3594000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000003e969ba938e6a993eecd6f65b0dd8712b07dfe59",
"isProxy": false
},
{
"name": "PausableHook",
"address": "0x6Fb36672365C7c797028C400A61c58c0ECc53cD2",
"constructorArguments": "",
"isProxy": false
},
{
"name": "ProtocolFee",
"address": "0xfdefdDc8E153d5E0463d7E193F79A3714be16021",
"constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "ValidatorAnnounce",
"address": "0x6f77d5Ef273C38CC19d1d02352785F52565A1A6c",
"constructorArguments": "000000000000000000000000b129828b9eda48192d0b2db35d0e40dcf51b3594",
"isProxy": false
}
]
}

@ -10,7 +10,7 @@ export const keyFunderConfig: KeyFunderConfig<
> = {
docker: {
repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo',
tag: 'd71dd4e-20240910-140936',
tag: '9c056c7-20240911-154400',
},
// We're currently using the same deployer/key funder key as mainnet2.
// To minimize nonce clobbering we offset the key funder cron
@ -62,6 +62,7 @@ export const keyFunderConfig: KeyFunderConfig<
mode: '0.2',
molten: '3',
moonbeam: '5',
oortmainnet: '2000',
optimism: '0.5',
polygon: '20',
polygonzkevm: '0.5',

@ -155,6 +155,10 @@
"amount": "0.0053",
"decimals": 1
},
"oortmainnet": {
"amount": "100.0",
"decimals": 9
},
"optimism": {
"amount": "0.25",
"decimals": 9

@ -4938,5 +4938,91 @@
"constructorArguments": "",
"isProxy": true
}
],
"oortmainnet": [
{
"name": "StaticMerkleRootMultisigIsmFactory",
"address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMerkleRootMultisigIsm",
"address": "0xe139ceA3397ABfE745B3A4a9f6976A6519754100",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMessageIdMultisigIsmFactory",
"address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMessageIdMultisigIsm",
"address": "0x70296bdA00742EA05A46aAE3B11b16C38134c992",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticAggregationIsmFactory",
"address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticAggregationIsm",
"address": "0x8aEA374F73d0b1182A6cdf5Cc9143f777D03b279",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticAggregationHookFactory",
"address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticAggregationHook",
"address": "0xDE3c6d94dA0b4c066b46eDE6ECf9F10237E8389a",
"constructorArguments": "",
"isProxy": true
},
{
"name": "DomainRoutingIsmFactory",
"address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7",
"constructorArguments": "",
"isProxy": false
},
{
"name": "DomaingRoutingIsm",
"address": "0x23cEB84ddEe5cfC3d98F98b7501e96fB0de8D2E3",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMerkleRootWeightedMultisigIsmFactory",
"address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMerkleRootWeightedMultisigIsm",
"address": "0x8928Fe94d9145623b4359F3C36C819C7f5086E6b",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMessageIdWeightedMultisigIsmFactory",
"address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMessageIdWeightedMultisigIsm",
"address": "0xD898F08AA84b97B7a3F6f259b81bb86FaF00E867",
"constructorArguments": "",
"isProxy": true
}
]
}

@ -1159,5 +1159,45 @@
"isProxy": true,
"expectedimplementation": "0x58556AaeB2e3829d52EE5E711D44735412efA43B"
}
],
"oortmainnet": [
{
"name": "InterchainAccountIsm",
"address": "0x92cdbF0Ccdf8E93467FA858fb986fa650A02f2A8",
"constructorArguments": "000000000000000000000000b163e75e2008cdc94e50278b5fcdd081761a2ee4",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x662771d29DFf0d7C36bB9BB6d4241a02e77585d9",
"constructorArguments": "000000000000000000000000b163e75e2008cdc94e50278b5fcdd081761a2ee4",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xDab56C5A1EffFdd23f6BD1243E457B1575984Bc6",
"constructorArguments": "000000000000000000000000662771d29dff0d7c36bb9bb6d4241a02e77585d90000000000000000000000008d078f74df9e5a4fa8da06f2abce5d01fdf793c200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092cdbf0ccdf8e93467fa858fb986fa650a02f2a8000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x662771d29DFf0d7C36bB9BB6d4241a02e77585d9"
},
{
"name": "InterchainAccountIsm",
"address": "0xc23BaF5Eb5848D19701BbE7f139645e6bd58a319",
"constructorArguments": "000000000000000000000000b129828b9eda48192d0b2db35d0e40dcf51b3594",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x376aD181E8cd45eAd5403F78d5A871D08c3c4D77",
"constructorArguments": "000000000000000000000000b129828b9eda48192d0b2db35d0e40dcf51b3594",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x7c58Cadcc2b60ACF794eE1843488d6f5703f76BE",
"constructorArguments": "000000000000000000000000376ad181e8cd45ead5403f78d5a871d08c3c4d77000000000000000000000000148cf67b8a242c1360bb2c93fce203ec4d4f9b5600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c23baf5eb5848d19701bbe7f139645e6bd58a319000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x376aD181E8cd45eAd5403F78d5A871D08c3c4D77"
}
]
}

@ -40,6 +40,7 @@ export const mainnet3SupportedChainNames = [
'molten',
'moonbeam',
'neutron',
'oortmainnet',
'optimism',
'osmosis',
'polygon',

@ -38,6 +38,7 @@
"molten": "0.663236",
"moonbeam": "0.159678",
"neutron": "0.359547",
"oortmainnet": "0.089435",
"optimism": "2342.46",
"osmosis": "0.39708",
"polygon": "0.384058",

@ -884,5 +884,17 @@ export const validatorChainConfig = (
'everclear',
),
},
oortmainnet: {
interval: 5,
reorgPeriod: getReorgPeriod('oortmainnet'),
validators: validatorsConfig(
{
[Contexts.Hyperlane]: ['0x9b7ff56cd9aa69006f73f1c5b8c63390c706a5d7'],
[Contexts.ReleaseCandidate]: [''],
[Contexts.Neutron]: [],
},
'oortmainnet',
),
},
};
};

@ -401,6 +401,11 @@ export const defaultMultisigConfigs: ChainMap<MultisigConfig> = {
],
},
oortmainnet: {
threshold: 1,
validators: ['0x9b7ff56cd9aa69006f73f1c5b8c63390c706a5d7'],
},
optimism: {
threshold: 3,
validators: [

Loading…
Cancel
Save