feat: deploy to everclear mainnet (#4471)

feat: deploy to everclear mainnet
- registry PR
https://github.com/hyperlane-xyz/hyperlane-registry/pull/187
pull/4477/head
Paul Balaji 2 months ago committed by GitHub
parent a46fe434a4
commit 2e6176f675
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/tender-moles-mate.md
  2. 2
      .registryrc
  3. 64
      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. 76
      typescript/infra/config/environments/mainnet3/core/verification.json
  7. 3
      typescript/infra/config/environments/mainnet3/funding.ts
  8. 8
      typescript/infra/config/environments/mainnet3/gasPrices.json
  9. 86
      typescript/infra/config/environments/mainnet3/ism/verification.json
  10. 21
      typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json
  11. 1
      typescript/infra/config/environments/mainnet3/supportedChainNames.ts
  12. 119
      typescript/infra/config/environments/mainnet3/tokenPrices.json
  13. 12
      typescript/infra/config/environments/mainnet3/validators.ts
  14. 4
      typescript/infra/src/funding/key-funder.ts
  15. 5
      typescript/sdk/src/consts/multisigIsm.ts

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

@ -1 +1 @@
1d43e33fc84f486d0edf20a9e573f914e53fe94c
7512eac66d258d6cd8e8f417665b8e2ef81ab353

@ -3928,6 +3928,70 @@
"interchainAccountIsm": "0xA0a44cB8Bc0f7EDe788b0Cd29524A5b14fED7b45",
"interchainAccountRouter": "0xf3dFf6747E7FC74B431C943961054B7BF6309d8a",
"timelockController": "0x0000000000000000000000000000000000000000"
},
"everclear": {
"blockExplorers": [
{
"apiUrl": "https://everclear.cloud.blockscout.com/api",
"family": "blockscout",
"name": "Everclear Explorer",
"url": "https://everclear.cloud.blockscout.com"
}
],
"blocks": {
"confirmations": 1,
"estimateBlockTime": 2,
"reorgPeriod": 0
},
"chainId": 25327,
"deployer": {
"name": "Abacus Works",
"url": "https://www.hyperlane.xyz"
},
"displayName": "Everclear",
"domainId": 25327,
"gasCurrencyCoinGeckoId": "ethereum",
"index": {
"from": 37
},
"name": "everclear",
"nativeToken": {
"decimals": 18,
"name": "Ethereum",
"symbol": "ETH"
},
"protocol": "ethereum",
"rpcUrls": [
{
"http": "https://rpc.everclear.raas.gelato.cloud"
}
],
"technicalStack": "arbitrumnitro",
"aggregationHook": "0x14F6CA3B04f077AF26922B7957B89b32F8C842a9",
"domainRoutingIsm": "0xDEed16fe4b1c9b2a93483EDFf34C77A9b57D31Ff",
"domainRoutingIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1",
"fallbackRoutingHook": "0x3C2b535a49c6827DF0b8e94467e6922c99E3c092",
"interchainAccountIsm": "0xcd9D3744512F07AE844c40E27912092d7c503565",
"interchainAccountRouter": "0x92cdbF0Ccdf8E93467FA858fb986fa650A02f2A8",
"interchainGasPaymaster": "0xb58257cc81E47EC72fD38aE16297048de23163b4",
"interchainSecurityModule": "0x47F57D08d01544Ed082152B73807A9D39305Fac6",
"mailbox": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39",
"merkleTreeHook": "0xCC3D1659D50461d27a2F025dDb2c9B06B584B7e1",
"pausableHook": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd",
"pausableIsm": "0xA38D1D7F217A52A27b0e6BF50E0a9ddAD05798C0",
"protocolFee": "0xC49aF4965264FA7BB6424CE37aA06773ad177224",
"proxyAdmin": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E",
"staticAggregationHookFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004",
"staticAggregationIsm": "0x47F57D08d01544Ed082152B73807A9D39305Fac6",
"staticAggregationIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908",
"staticMerkleRootMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A",
"staticMerkleRootWeightedMultisigIsmFactory": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7",
"staticMessageIdMultisigIsmFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6",
"staticMessageIdWeightedMultisigIsmFactory": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D",
"storageGasOracle": "0xf8344D85a1429708e0BE6724218E938087e596DF",
"testRecipient": "0xF15D70941dE2Bf95A23d6488eBCbedE0a444137f",
"timelockController": "0x0000000000000000000000000000000000000000",
"validatorAnnounce": "0xC88bAD76EC7acD9fd3b9Bb264f7f5C18097c5710"
}
},
"defaultRpcConsensusType": "fallback"

@ -73,6 +73,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
eclipsemainnet: true,
endurance: true,
ethereum: true,
everclear: true,
flare: true,
fraxtal: true,
fusemainnet: true,
@ -134,6 +135,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
eclipsemainnet: true,
endurance: true,
ethereum: true,
everclear: true,
flare: true,
fraxtal: true,
fusemainnet: true,
@ -197,6 +199,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
eclipsemainnet: false,
endurance: true,
ethereum: true,
everclear: true,
flare: true,
fraxtal: true,
fusemainnet: true,
@ -372,7 +375,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '74a592e-20240906-191210',
tag: 'd71dd4e-20240910-140936',
},
gasPaymentEnforcement: gasPaymentEnforcement,
metricAppContexts,
@ -381,7 +384,7 @@ const hyperlane: RootAgentConfig = {
validators: {
docker: {
repo,
tag: '74a592e-20240906-191210',
tag: 'd71dd4e-20240910-140936',
},
rpcConsensusType: RpcConsensusType.Quorum,
chains: validatorChainConfig(Contexts.Hyperlane),
@ -391,7 +394,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '74a592e-20240906-191210',
tag: 'd71dd4e-20240910-140936',
},
resources: scraperResources,
},
@ -406,7 +409,7 @@ const releaseCandidate: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '74a592e-20240906-191210',
tag: 'd71dd4e-20240910-140936',
},
// We're temporarily (ab)using the RC relayer as a way to increase
// message throughput.
@ -418,7 +421,7 @@ const releaseCandidate: RootAgentConfig = {
validators: {
docker: {
repo,
tag: '74a592e-20240906-191210',
tag: 'd71dd4e-20240910-140936',
},
rpcConsensusType: RpcConsensusType.Quorum,
chains: validatorChainConfig(Contexts.ReleaseCandidate),

@ -80,6 +80,9 @@
"0x749d6e7ad949e522c92181dc77f7bbc1c5d71506"
]
},
"everclear": {
"validators": ["0xeff20ae3d5ab90abb11e882cfce4b92ea6c74837"]
},
"flare": {
"validators": ["0xb65e52be342dba3ab2c088ceeb4290c744809134"]
},

@ -3447,5 +3447,81 @@
"constructorArguments": "000000000000000000000000000000000000000000000000000000000000006d",
"isProxy": false
}
],
"everclear": [
{
"name": "ProxyAdmin",
"address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E",
"constructorArguments": "",
"isProxy": false
},
{
"name": "Mailbox",
"address": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7",
"constructorArguments": "00000000000000000000000000000000000000000000000000000000000062ef",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39",
"constructorArguments": "0000000000000000000000003a867fcffec2b790970eebdc9023e75b0a172aa70000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7"
},
{
"name": "PausableIsm",
"address": "0xA38D1D7F217A52A27b0e6BF50E0a9ddAD05798C0",
"constructorArguments": "000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "MerkleTreeHook",
"address": "0xCC3D1659D50461d27a2F025dDb2c9B06B584B7e1",
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39",
"isProxy": false
},
{
"name": "FallbackRoutingHook",
"address": "0x3C2b535a49c6827DF0b8e94467e6922c99E3c092",
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000cc3d1659d50461d27a2f025ddb2c9b06b584b7e1",
"isProxy": false
},
{
"name": "PausableHook",
"address": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StorageGasOracle",
"address": "0xf8344D85a1429708e0BE6724218E938087e596DF",
"constructorArguments": "",
"isProxy": false
},
{
"name": "InterchainGasPaymaster",
"address": "0x8a28b3ec380cfdFF904a5D0bA615d53A4b19dc91",
"constructorArguments": "",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb58257cc81E47EC72fD38aE16297048de23163b4",
"constructorArguments": "0000000000000000000000008a28b3ec380cfdff904a5d0ba615d53a4b19dc910000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x8a28b3ec380cfdFF904a5D0bA615d53A4b19dc91"
},
{
"name": "ProtocolFee",
"address": "0xC49aF4965264FA7BB6424CE37aA06773ad177224",
"constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba",
"isProxy": false
},
{
"name": "ValidatorAnnounce",
"address": "0xC88bAD76EC7acD9fd3b9Bb264f7f5C18097c5710",
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39",
"isProxy": false
}
]
}

@ -10,7 +10,7 @@ export const keyFunderConfig: KeyFunderConfig<
> = {
docker: {
repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo',
tag: '74a592e-20240906-191211',
tag: 'd71dd4e-20240910-140936',
},
// We're currently using the same deployer/key funder key as mainnet2.
// To minimize nonce clobbering we offset the key funder cron
@ -44,6 +44,7 @@ export const keyFunderConfig: KeyFunderConfig<
dogechain: '100',
endurance: '20',
ethereum: '0.5',
everclear: '0.05',
flare: '500',
fraxtal: '0.2',
fusemainnet: '20',

@ -72,7 +72,11 @@
"decimals": 9
},
"ethereum": {
"amount": "2",
"amount": "6.654595701",
"decimals": 9
},
"everclear": {
"amount": "0.1",
"decimals": 9
},
"flare": {
@ -188,7 +192,7 @@
"decimals": 9
},
"sei": {
"amount": "100.0",
"amount": "120.0",
"decimals": 9
},
"shibarium": {

@ -4852,5 +4852,91 @@
"constructorArguments": "",
"isProxy": false
}
],
"everclear": [
{
"name": "StaticMerkleRootMultisigIsmFactory",
"address": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMerkleRootMultisigIsm",
"address": "0x882CD0C5D50b6dD74b36Da4BDb059507fddEDdf2",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMessageIdMultisigIsmFactory",
"address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMessageIdMultisigIsm",
"address": "0x19930232E9aFC4f4F09d09fe2375680fAc2100D0",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticAggregationIsmFactory",
"address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticAggregationIsm",
"address": "0x12Ed1BbA182CbC63692F813651BD493B7445C874",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticAggregationHookFactory",
"address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticAggregationHook",
"address": "0x3b9f24fD2ecfed0d3A88fa7f0E4e5747671981D7",
"constructorArguments": "",
"isProxy": true
},
{
"name": "DomainRoutingIsmFactory",
"address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1",
"constructorArguments": "",
"isProxy": false
},
{
"name": "DomaingRoutingIsm",
"address": "0x71DCcD21B912F7d4f636af0C9eA5DC0C10617354",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMerkleRootWeightedMultisigIsmFactory",
"address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMerkleRootWeightedMultisigIsm",
"address": "0x7f51A658837A315134A97ff8B586d71B726B7e61",
"constructorArguments": "",
"isProxy": true
},
{
"name": "StaticMessageIdWeightedMultisigIsmFactory",
"address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D",
"constructorArguments": "",
"isProxy": false
},
{
"name": "StaticMessageIdWeightedMultisigIsm",
"address": "0xDFF18Bf286c9cDd0fC653a28616460Cf7443F8EF",
"constructorArguments": "",
"isProxy": true
}
]
}

@ -1138,5 +1138,26 @@
"isProxy": true,
"expectedimplementation": "0xF1854214392864c628A16930E73B699f7a51b3EE"
}
],
"everclear": [
{
"name": "InterchainAccountIsm",
"address": "0xcd9D3744512F07AE844c40E27912092d7c503565",
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x58556AaeB2e3829d52EE5E711D44735412efA43B",
"constructorArguments": "0000000000000000000000007f50c5776722630a0024fae05fde8b47571d7b39",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x92cdbF0Ccdf8E93467FA858fb986fa650A02f2A8",
"constructorArguments": "00000000000000000000000058556aaeb2e3829d52ee5e711d44735412efa43b0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cd9d3744512f07ae844c40e27912092d7c503565000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x58556AaeB2e3829d52EE5E711D44735412efA43B"
}
]
}

@ -20,6 +20,7 @@ export const mainnet3SupportedChainNames = [
'eclipsemainnet',
'endurance',
'ethereum',
'everclear',
'flare',
'fraxtal',
'fusemainnet',

@ -1,61 +1,62 @@
{
"ancient8": "2620.58",
"arbitrum": "2620.58",
"astar": "0.074541",
"astarzkevm": "2620.58",
"avalanche": "25.76",
"base": "2620.58",
"bitlayer": "62418",
"blast": "2620.58",
"bob": "2620.58",
"bsc": "551.73",
"celo": "0.481911",
"cheesechain": "0.00204939",
"coredao": "1.091",
"cyber": "2620.58",
"degenchain": "0.00398489",
"dogechain": "0.104488",
"eclipsemainnet": "2620.58",
"endurance": "2.34",
"ethereum": "2620.58",
"flare": "0.01529346",
"fraxtal": "2619.2",
"fusemainnet": "0.03214191",
"gnosis": "1.001",
"inevm": "20.44",
"injective": "20.44",
"kroma": "2620.58",
"linea": "2620.58",
"lisk": "2620.58",
"lukso": "2.54",
"mantapacific": "2620.58",
"mantle": "0.60943",
"merlin": "62351",
"metis": "35.7",
"mint": "2620.58",
"mode": "2620.58",
"molten": "0.498892",
"moonbeam": "0.169444",
"neutron": "0.404548",
"optimism": "2620.58",
"osmosis": "0.435141",
"polygon": "0.49875",
"polygonzkevm": "2620.58",
"proofofplay": "2620.58",
"real": "2620.58",
"redstone": "2620.58",
"sanko": "49.41",
"scroll": "2620.58",
"sei": "0.325976",
"shibarium": "0.418598",
"solanamainnet": "154.32",
"taiko": "2620.58",
"tangle": "0.999894",
"viction": "0.380653",
"worldchain": "2620.58",
"xai": "0.209969",
"xlayer": "37.74",
"zetachain": "0.528535",
"zircuit": "2620.58",
"zoramainnet": "2620.58"
"ancient8": "2342.46",
"arbitrum": "2342.46",
"astar": "0.054438",
"astarzkevm": "2342.46",
"avalanche": "23.83",
"base": "2342.46",
"bitlayer": "56880",
"blast": "2342.46",
"bob": "2342.46",
"bsc": "519.43",
"celo": "0.444294",
"cheesechain": "0.00249894",
"coredao": "0.942068",
"cyber": "2342.46",
"degenchain": "0.00324668",
"dogechain": "0.102724",
"eclipsemainnet": "2342.46",
"endurance": "2.14",
"ethereum": "2342.46",
"everclear": "2342.46",
"flare": "0.01473859",
"fraxtal": "2335.15",
"fusemainnet": "0.02525184",
"gnosis": "0.990366",
"inevm": "17.79",
"injective": "17.79",
"kroma": "2342.46",
"linea": "2342.46",
"lisk": "2342.46",
"lukso": "2.1",
"mantapacific": "2342.46",
"mantle": "0.563082",
"merlin": "56884",
"metis": "29.99",
"mint": "2342.46",
"mode": "2342.46",
"molten": "0.663236",
"moonbeam": "0.159678",
"neutron": "0.359547",
"optimism": "2342.46",
"osmosis": "0.39708",
"polygon": "0.384058",
"polygonzkevm": "2342.46",
"proofofplay": "2342.46",
"real": "2342.46",
"redstone": "2342.46",
"sanko": "39.51",
"scroll": "2342.46",
"sei": "0.290644",
"shibarium": "0.398366",
"solanamainnet": "133.81",
"taiko": "2342.46",
"tangle": "0.999864",
"viction": "0.438134",
"worldchain": "2342.46",
"xai": "0.183944",
"xlayer": "37.86",
"zetachain": "0.465693",
"zircuit": "2342.46",
"zoramainnet": "2342.46"
}

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

@ -6,8 +6,8 @@ import { getEnvironmentConfig } from '../../scripts/core-utils.js';
import { AgentContextConfig } from '../config/agent/agent.js';
import { DeployEnvironment, EnvironmentConfig } from '../config/environment.js';
import { KeyFunderConfig } from '../config/funding.js';
import { HelmCommand, HelmManager, helmifyValues } from '../utils/helm.js';
import { execCmd, getInfraPath } from '../utils/utils.js';
import { HelmManager } from '../utils/helm.js';
import { getInfraPath } from '../utils/utils.js';
export class KeyFunderHelmManager extends HelmManager {
readonly helmReleaseName: string = 'key-funder';

@ -212,6 +212,11 @@ export const defaultMultisigConfigs: ChainMap<MultisigConfig> = {
],
},
everclear: {
threshold: 1,
validators: ['0xeff20ae3d5ab90abb11e882cfce4b92ea6c74837'],
},
flare: {
threshold: 1,
validators: ['0xb65e52be342dba3ab2c088ceeb4290c744809134'],

Loading…
Cancel
Save