From a1c04590ab4bf7660328a09e449cbc229b1b2dc3 Mon Sep 17 00:00:00 2001 From: pbio <10051819+paulbalaji@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:34:38 +0000 Subject: [PATCH 1/5] feat: deploy to trumpchain --- .../infra/config/environments/mainnet3/agent.ts | 3 +++ .../mainnet3/aw-validators/hyperlane.json | 3 +++ .../infra/config/environments/mainnet3/funding.ts | 1 + .../infra/config/environments/mainnet3/gasPrices.json | 4 ++++ .../environments/mainnet3/supportedChainNames.ts | 1 + .../config/environments/mainnet3/tokenPrices.json | 1 + .../infra/config/environments/mainnet3/validators.ts | 11 +++++++++++ typescript/sdk/src/consts/multisigIsm.ts | 10 ++++++++++ 8 files changed, 34 insertions(+) diff --git a/typescript/infra/config/environments/mainnet3/agent.ts b/typescript/infra/config/environments/mainnet3/agent.ts index d2bf764c7c..df3047a941 100644 --- a/typescript/infra/config/environments/mainnet3/agent.ts +++ b/typescript/infra/config/environments/mainnet3/agent.ts @@ -165,6 +165,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< telos: true, torus: true, treasure: true, + trumpchain: true, unichain: true, vana: true, viction: true, @@ -287,6 +288,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< telos: true, torus: true, treasure: true, + trumpchain: true, unichain: true, vana: true, viction: true, @@ -408,6 +410,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< telos: true, torus: true, treasure: true, + trumpchain: true, unichain: true, vana: true, // Has RPC non-compliance that breaks scraping. diff --git a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json index f187ecc3b2..d077fd796f 100644 --- a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json +++ b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json @@ -403,5 +403,8 @@ }, "zoramainnet": { "validators": ["0x35130945b625bb69b28aee902a3b9a76fa67125f"] + }, + "trumpchain": { + "validators": ["0x3ada634c8dfa57a67f5f22ca757b35cde6cfab5e"] } } diff --git a/typescript/infra/config/environments/mainnet3/funding.ts b/typescript/infra/config/environments/mainnet3/funding.ts index 1e764c6707..fd3e9b3404 100644 --- a/typescript/infra/config/environments/mainnet3/funding.ts +++ b/typescript/infra/config/environments/mainnet3/funding.ts @@ -127,6 +127,7 @@ export const keyFunderConfig: KeyFunderConfig< telos: '100', torus: '5', treasure: '900', + trumpchain: '0.25', unichain: '0.05', // temporarily low until we're able to fund more vana: '0.001', diff --git a/typescript/infra/config/environments/mainnet3/gasPrices.json b/typescript/infra/config/environments/mainnet3/gasPrices.json index 57fb77c685..dd55f773bc 100644 --- a/typescript/infra/config/environments/mainnet3/gasPrices.json +++ b/typescript/infra/config/environments/mainnet3/gasPrices.json @@ -411,6 +411,10 @@ "amount": "1601.935300783", "decimals": 9 }, + "trumpchain": { + "amount": "0.1", + "decimals": 9 + }, "unichain": { "amount": "0.001000252", "decimals": 9 diff --git a/typescript/infra/config/environments/mainnet3/supportedChainNames.ts b/typescript/infra/config/environments/mainnet3/supportedChainNames.ts index c3d31269a9..7ec2e4ec91 100644 --- a/typescript/infra/config/environments/mainnet3/supportedChainNames.ts +++ b/typescript/infra/config/environments/mainnet3/supportedChainNames.ts @@ -107,6 +107,7 @@ export const mainnet3SupportedChainNames = [ 'telos', 'torus', 'treasure', + 'trumpchain', 'unichain', 'vana', 'viction', diff --git a/typescript/infra/config/environments/mainnet3/tokenPrices.json b/typescript/infra/config/environments/mainnet3/tokenPrices.json index e61445708c..3f8a7fcbae 100644 --- a/typescript/infra/config/environments/mainnet3/tokenPrices.json +++ b/typescript/infra/config/environments/mainnet3/tokenPrices.json @@ -102,6 +102,7 @@ "telos": "0.187567", "torus": "1", "treasure": "0.431467", + "trumpchain": "54.54", "unichain": "3157.26", "vana": "12.43", "viction": "0.342602", diff --git a/typescript/infra/config/environments/mainnet3/validators.ts b/typescript/infra/config/environments/mainnet3/validators.ts index a5daa63692..aa30967536 100644 --- a/typescript/infra/config/environments/mainnet3/validators.ts +++ b/typescript/infra/config/environments/mainnet3/validators.ts @@ -1492,5 +1492,16 @@ export const validatorChainConfig = ( 'xpla', ), }, + + trumpchain: { + interval: 5, + reorgPeriod: getReorgPeriod('trumpchain'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x3ada634c8dfa57a67f5f22ca757b35cde6cfab5e'], + }, + 'trumpchain', + ), + }, }; }; diff --git a/typescript/sdk/src/consts/multisigIsm.ts b/typescript/sdk/src/consts/multisigIsm.ts index d349d00021..499aa10729 100644 --- a/typescript/sdk/src/consts/multisigIsm.ts +++ b/typescript/sdk/src/consts/multisigIsm.ts @@ -1970,6 +1970,16 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + trumpchain: { + threshold: 1, + validators: [ + { + address: '0x3ada634c8dfa57a67f5f22ca757b35cde6cfab5e', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + unichain: { threshold: 2, validators: [ From cfa54da59d8c1b5f72efefa92ada081a539230cc Mon Sep 17 00:00:00 2001 From: pbio <10051819+paulbalaji@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:34:46 +0000 Subject: [PATCH 2/5] artifacts --- .registryrc | 2 +- rust/main/config/mainnet_config.json | 61 +++++++++++++ .../mainnet3/core/verification.json | 70 +++++++++++++++ .../mainnet3/ism/verification.json | 86 +++++++++++++++++++ 4 files changed, 218 insertions(+), 1 deletion(-) diff --git a/.registryrc b/.registryrc index d7fc6f8b85..42007af014 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -0797d4ddc91b48b62b1b7c9b64a638ad03c71212 +dc4ca254d6ff7f91f60ed4bcd407226727c52597 diff --git a/rust/main/config/mainnet_config.json b/rust/main/config/mainnet_config.json index bc430715e1..6dc2d16e24 100644 --- a/rust/main/config/mainnet_config.json +++ b/rust/main/config/mainnet_config.json @@ -7695,6 +7695,67 @@ "index": { "from": 12446115 } + }, + "trumpchain": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.trumpchain.dev/api", + "family": "blockscout", + "name": "TRUMPCHAIN Explorer", + "url": "https://explorer.trumpchain.dev" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 0 + }, + "chainId": 4547, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "TRUMPCHAIN", + "domainId": 4547, + "index": { + "from": 18 + }, + "gasCurrencyCoinGeckoId": "official-trump", + "name": "trumpchain", + "nativeToken": { + "decimals": 18, + "name": "TRUMP", + "symbol": "TRUMP" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.trumpchain.dev" + } + ], + "technicalStack": "arbitrumnitro", + "aggregationHook": "0xeC573a5279717059C397E3b5E090C84901BbaC75", + "domainRoutingIsm": "0xBD70Ea9D599a0FC8158B026797177773C3445730", + "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "fallbackRoutingHook": "0xb2674E213019972f937CCFc5e23BF963D915809e", + "interchainGasPaymaster": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", + "interchainSecurityModule": "0xcba52E0E345fd80e29772724282431D85B9dB8C8", + "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "merkleTreeHook": "0x67F36550b73B731e5b2FC44E4F8f250d89c87bD6", + "pausableHook": "0xD8aF449f8fEFbA2064863DCE5aC248F8B232635F", + "pausableIsm": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5", + "protocolFee": "0xA9D06082F4AA449D95b49D85F27fdC0cFb491d4b", + "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "staticAggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "staticAggregationIsm": "0xcba52E0E345fd80e29772724282431D85B9dB8C8", + "staticAggregationIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "staticMerkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "staticMerkleRootWeightedMultisigIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "staticMessageIdMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "staticMessageIdWeightedMultisigIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "storageGasOracle": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", + "testRecipient": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "validatorAnnounce": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813" } }, "defaultRpcConsensusType": "fallback" diff --git a/typescript/infra/config/environments/mainnet3/core/verification.json b/typescript/infra/config/environments/mainnet3/core/verification.json index 26870e4077..96e31d1d84 100644 --- a/typescript/infra/config/environments/mainnet3/core/verification.json +++ b/typescript/infra/config/environments/mainnet3/core/verification.json @@ -7364,5 +7364,75 @@ "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", "isProxy": false } + ], + "trumpchain": [ + { + "name": "ProxyAdmin", + "address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "Mailbox", + "address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", + "constructorArguments": "00000000000000000000000000000000000000000000000000000000000011c3", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" + }, + { + "name": "MerkleTreeHook", + "address": "0x67F36550b73B731e5b2FC44E4F8f250d89c87bD6", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xb2674E213019972f937CCFc5e23BF963D915809e", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000067f36550b73b731e5b2fc44e4f8f250d89c87bd6", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xD8aF449f8fEFbA2064863DCE5aC248F8B232635F", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StorageGasOracle", + "address": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "InterchainGasPaymaster", + "address": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", + "constructorArguments": "0000000000000000000000003881c3e945cbb89ae67c43e82f570badf1c6ea940000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94" + }, + { + "name": "ProtocolFee", + "address": "0xA9D06082F4AA449D95b49D85F27fdC0cFb491d4b", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba", + "isProxy": false + }, + { + "name": "ValidatorAnnounce", + "address": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + } ] } diff --git a/typescript/infra/config/environments/mainnet3/ism/verification.json b/typescript/infra/config/environments/mainnet3/ism/verification.json index 6c875f658c..f6f840bce1 100644 --- a/typescript/infra/config/environments/mainnet3/ism/verification.json +++ b/typescript/infra/config/environments/mainnet3/ism/verification.json @@ -9250,5 +9250,91 @@ "constructorArguments": "", "isProxy": true } + ], + "trumpchain": [ + { + "name": "StaticMerkleRootMultisigIsmFactory", + "address": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootMultisigIsm", + "address": "0x4725F7b8037513915aAf6D6CBDE2920E28540dDc", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdMultisigIsmFactory", + "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdMultisigIsm", + "address": "0xAF03386044373E2fe26C5b1dCedF5a7e854a7a3F", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationIsmFactory", + "address": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationIsm", + "address": "0x882CD0C5D50b6dD74b36Da4BDb059507fddEDdf2", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationHookFactory", + "address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationHook", + "address": "0x19930232E9aFC4f4F09d09fe2375680fAc2100D0", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "DomainRoutingIsmFactory", + "address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "DomaingRoutingIsm", + "address": "0x12Ed1BbA182CbC63692F813651BD493B7445C874", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMerkleRootWeightedMultisigIsmFactory", + "address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootWeightedMultisigIsm", + "address": "0x3b9f24fD2ecfed0d3A88fa7f0E4e5747671981D7", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdWeightedMultisigIsmFactory", + "address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdWeightedMultisigIsm", + "address": "0x71DCcD21B912F7d4f636af0C9eA5DC0C10617354", + "constructorArguments": "", + "isProxy": true + } ] } From 95deca34aabf0209745bb2a890208f5298dbbd03 Mon Sep 17 00:00:00 2001 From: pbio <10051819+paulbalaji@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:35:12 +0000 Subject: [PATCH 3/5] docs(changeset): Deploy to trumpchain. --- .changeset/quick-walls-deny.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/quick-walls-deny.md diff --git a/.changeset/quick-walls-deny.md b/.changeset/quick-walls-deny.md new file mode 100644 index 0000000000..accf9d3383 --- /dev/null +++ b/.changeset/quick-walls-deny.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/sdk': minor +--- + +Deploy to trumpchain. From ac94c9a349a3cab43838b07784feceec3bc02eb8 Mon Sep 17 00:00:00 2001 From: pbio <10051819+paulbalaji@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:54:14 +0000 Subject: [PATCH 4/5] deploy agents --- typescript/infra/config/environments/mainnet3/agent.ts | 6 +++--- .../environments/mainnet3/aw-validators/hyperlane.json | 6 +++--- typescript/infra/config/environments/mainnet3/funding.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/typescript/infra/config/environments/mainnet3/agent.ts b/typescript/infra/config/environments/mainnet3/agent.ts index df3047a941..169287f4aa 100644 --- a/typescript/infra/config/environments/mainnet3/agent.ts +++ b/typescript/infra/config/environments/mainnet3/agent.ts @@ -655,7 +655,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: 'abb5a8b-20250113-122226', + tag: '95deca3-20250120-103609', }, blacklist, gasPaymentEnforcement: gasPaymentEnforcement, @@ -665,7 +665,7 @@ const hyperlane: RootAgentConfig = { validators: { docker: { repo, - tag: '53fafa6-20250110-125541', + tag: '95deca3-20250120-103609', }, rpcConsensusType: RpcConsensusType.Quorum, chains: validatorChainConfig(Contexts.Hyperlane), @@ -675,7 +675,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: 'd365e55-20250114-011047', + tag: '95deca3-20250120-103609', }, resources: scraperResources, }, diff --git a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json index d077fd796f..4494e701b5 100644 --- a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json +++ b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json @@ -365,6 +365,9 @@ "treasure": { "validators": ["0x6ad994819185553e8baa01533f0cd2c7cadfe6cc"] }, + "trumpchain": { + "validators": ["0x3ada634c8dfa57a67f5f22ca757b35cde6cfab5e"] + }, "unichain": { "validators": ["0x9773a382342ebf604a2e5de0a1f462fb499e28b1"] }, @@ -403,8 +406,5 @@ }, "zoramainnet": { "validators": ["0x35130945b625bb69b28aee902a3b9a76fa67125f"] - }, - "trumpchain": { - "validators": ["0x3ada634c8dfa57a67f5f22ca757b35cde6cfab5e"] } } diff --git a/typescript/infra/config/environments/mainnet3/funding.ts b/typescript/infra/config/environments/mainnet3/funding.ts index fd3e9b3404..1b004939b2 100644 --- a/typescript/infra/config/environments/mainnet3/funding.ts +++ b/typescript/infra/config/environments/mainnet3/funding.ts @@ -10,7 +10,7 @@ export const keyFunderConfig: KeyFunderConfig< > = { docker: { repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: 'dc89eb1-20250110-113045', + tag: '95deca3-20250120-103554', }, // We're currently using the same deployer/key funder key as mainnet2. // To minimize nonce clobbering we offset the key funder cron From 7f3bef5062c67a2ac56adfb09833bbb6923c51c0 Mon Sep 17 00:00:00 2001 From: pbio <10051819+paulbalaji@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:30:18 +0000 Subject: [PATCH 5/5] use main registryrc --- .registryrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.registryrc b/.registryrc index 42007af014..082270fef5 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -dc4ca254d6ff7f91f60ed4bcd407226727c52597 +2691132ec47ecc12b6777b5090e323228185d7c7