From 4a6c2eb08c898cedab308b7a313101b2156e9b7d Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Wed, 13 Dec 2023 23:31:04 -0800 Subject: [PATCH 1/5] ref hyperlane fork v3.3 + necessary config change --- geth-poa/hyperlane-deployer/Dockerfile | 10 ++++++---- geth-poa/hyperlane-deployer/multisig-ism.yml | 6 ++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/geth-poa/hyperlane-deployer/Dockerfile b/geth-poa/hyperlane-deployer/Dockerfile index 73203b2859..e5972e8aee 100644 --- a/geth-poa/hyperlane-deployer/Dockerfile +++ b/geth-poa/hyperlane-deployer/Dockerfile @@ -3,11 +3,13 @@ FROM alpine:latest RUN apk update && apk add --no-cache git yarn expect WORKDIR / -RUN git clone https://github.com/primevprotocol/hyperlane-monorepo.git + +# Hyperlane 3.3 release +# https://github.com/hyperlane-xyz/hyperlane-monorepo/commit/8b16adee486a6b1a1f0d4fbd1b419369241813b2 +RUN git clone https://github.com/hyperlane-xyz/hyperlane-monorepo.git WORKDIR /hyperlane-monorepo -# RUN git checkout v3-audit-remediations -RUN git checkout ca301c80861701e17b13b9a06454795b317696b2 -# TODO: checkout stable version, seemed like v3-audit-remediations changed build process +RUN git checkout 8b16adee486a6b1a1f0d4fbd1b419369241813b2 + RUN yarn install RUN yarn build diff --git a/geth-poa/hyperlane-deployer/multisig-ism.yml b/geth-poa/hyperlane-deployer/multisig-ism.yml index f193533115..140c30364b 100644 --- a/geth-poa/hyperlane-deployer/multisig-ism.yml +++ b/geth-poa/hyperlane-deployer/multisig-ism.yml @@ -5,3 +5,9 @@ mevcommitsettlement: validators: - '0xd9cd8E5DE6d55f796D980B818D350C0746C25b97' - '0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4' + +# See https://github.com/primevprotocol/hyperlane-monorepo/blob/8b16adee486a6b1a1f0d4fbd1b419369241813b2/typescript/infra/config/rcMultisigIsmConfigs.ts +sepolia: + threshold: 1 + validators: + - '0x49f253c0dab33be1573d6c2769b3d9e584d91f82' From e2acd14a9f9e18364c0618e52be05fd0cbe1631b Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Thu, 14 Dec 2023 00:34:34 -0800 Subject: [PATCH 2/5] partial override for sepolia --- geth-poa/hyperlane-deployer/chain-config.yml | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/geth-poa/hyperlane-deployer/chain-config.yml b/geth-poa/hyperlane-deployer/chain-config.yml index ea3ca0db67..829b9ab2df 100644 --- a/geth-poa/hyperlane-deployer/chain-config.yml +++ b/geth-poa/hyperlane-deployer/chain-config.yml @@ -35,25 +35,7 @@ mevcommitsettlement: reorgPeriod: 100 # Number: Blocks before a transaction has a near-zero chance of reverting estimateBlockTime: 1 +# Partial override sepolia config for custom rpc sepolia: - chainId: 11155111 - domainId: 11155111 - name: sepolia - protocol: ethereum - displayName: Sepolia - nativeToken: - name: Ether - symbol: ETH - decimals: 18 rpcUrls: - http: https://eth-sepolia.g.alchemy.com/v2/a0wg_g1X-Wz4IeVA-0SS3PsQhbyQNjc_ - blockExplorers: - - name: Etherscan - url: https://sepolia.etherscan.io - apiUrl: https://api-sepolia.etherscan.io/api - family: etherscan - blocks: - confirmations: 1 - reorgPeriod: 2 - estimateBlockTime: 13 - isTestnet: true From a300b7fa443930a3477133c03e141a4fce767d89 Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Mon, 18 Dec 2023 01:48:36 -0800 Subject: [PATCH 3/5] reference cherrypick branch --- geth-poa/hyperlane-deployer/Dockerfile | 8 ++++---- geth-poa/hyperlane-deployer/entrypoint.sh | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/geth-poa/hyperlane-deployer/Dockerfile b/geth-poa/hyperlane-deployer/Dockerfile index e5972e8aee..5b0a04e7e9 100644 --- a/geth-poa/hyperlane-deployer/Dockerfile +++ b/geth-poa/hyperlane-deployer/Dockerfile @@ -4,11 +4,11 @@ RUN apk update && apk add --no-cache git yarn expect WORKDIR / -# Hyperlane 3.3 release -# https://github.com/hyperlane-xyz/hyperlane-monorepo/commit/8b16adee486a6b1a1f0d4fbd1b419369241813b2 -RUN git clone https://github.com/hyperlane-xyz/hyperlane-monorepo.git +# Hyperlane 3.3 release w/ https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/3063 cherry-picked in. +# See https://github.com/hyperlane-xyz/hyperlane-monorepo/compare/%40hyperlane-xyz/sdk%403.3.0...primevprotocol:hyperlane-monorepo:v3.3 +RUN git clone https://github.com/primevprotocol/hyperlane-monorepo.git WORKDIR /hyperlane-monorepo -RUN git checkout 8b16adee486a6b1a1f0d4fbd1b419369241813b2 +RUN git checkout b1c4064272af7f3382391e9f7c4ce67ac1b84976 RUN yarn install RUN yarn build diff --git a/geth-poa/hyperlane-deployer/entrypoint.sh b/geth-poa/hyperlane-deployer/entrypoint.sh index 2c1c361ed9..ebf3a8bc47 100644 --- a/geth-poa/hyperlane-deployer/entrypoint.sh +++ b/geth-poa/hyperlane-deployer/entrypoint.sh @@ -19,12 +19,8 @@ else --out "/hyperlane-monorepo/artifacts" \ --key $CONTRACT_DEPLOYER_PRIVATE_KEY expect { - "? Do you want use some existing contract addresses? (Y/n)" { - send -- "n\r" - exp_continue - } "*low balance on*" { - send -- "y\r" + send -- "Y\r" exp_continue } eof From d4fd8fe1a12fda7c53074e447bb4919e6966c0d5 Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Mon, 18 Dec 2023 03:21:15 -0800 Subject: [PATCH 4/5] Update agent images --- geth-poa/Makefile | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/geth-poa/Makefile b/geth-poa/Makefile index 57b043d3f1..6890bb67e3 100644 --- a/geth-poa/Makefile +++ b/geth-poa/Makefile @@ -1,28 +1,27 @@ -# Prod targets reg the amd agent image for this commit: -# https://github.com/hyperlane-xyz/hyperlane-monorepo/commit/69850642365251e16b9f23b87d6caf187036b3ee up-prod: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi - AGENT_BASE_IMAGE=gcr.io/abacus-labs-dev/hyperlane-agent@sha256:854f92966eac6b49e5132e152cc58168ecdddc76c2d390e657b81bdaf1396af0 L2_NODE_URL=http://34.215.163.180:8545 docker compose --profile settlement --profile bridge --profile prod_agents up -d + AGENT_BASE_IMAGE=gcr.io/abacus-labs-dev/hyperlane-agent:a888cf7-20231214-180118 L2_NODE_URL=http://34.215.163.180:8545 docker compose --profile settlement --profile bridge --profile prod_agents up -d up-prod-build: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi - AGENT_BASE_IMAGE=gcr.io/abacus-labs-dev/hyperlane-agent@sha256:854f92966eac6b49e5132e152cc58168ecdddc76c2d390e657b81bdaf1396af0 L2_NODE_URL=http://34.215.163.180:8545 docker compose --profile settlement --profile bridge --profile prod_agents up -d --build + AGENT_BASE_IMAGE=gcr.io/abacus-labs-dev/hyperlane-agent:a888cf7-20231214-180118 L2_NODE_URL=http://34.215.163.180:8545 docker compose --profile settlement --profile bridge --profile prod_agents up -d --build up-prod-settlement: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi AGENT_BASE_IMAGE=nil L2_NODE_URL=nil docker compose --profile settlement up -d --build +# Building agent image from source can be done from hyperlane-monorepo/rust/build.sh up-dev: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi - AGENT_BASE_IMAGE=shaspitz/hyperlane-agent-mac:6985064 L2_NODE_URL=http://localhost:8545 docker compose --profile settlement --profile bridge up -d + AGENT_BASE_IMAGE=shaspitz/hyperlane-agent:v3.3-patch-mac L2_NODE_URL=http://localhost:8545 docker compose --profile settlement --profile bridge up -d up-dev-build: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi - AGENT_BASE_IMAGE=shaspitz/hyperlane-agent-mac:6985064 L2_NODE_URL=http://localhost:8545 docker compose --profile settlement --profile bridge up -d --build + AGENT_BASE_IMAGE=shaspitz/hyperlane-agent:v3.3-patch-mac L2_NODE_URL=http://localhost:8545 docker compose --profile settlement --profile bridge up -d --build up-dev-settlement: @if [ ! -f .env ]; then echo "Error: .env file not found. Please populate the .env file before running this command."; exit 1; fi - AGENT_BASE_IMAGE=shaspitz/hyperlane-agent-mac:6985064 L2_NODE_URL=http://localhost:8545 docker compose --profile settlement up -d --build + AGENT_BASE_IMAGE=shaspitz/hyperlane-agent:v3.3-patch-mac L2_NODE_URL=http://localhost:8545 docker compose --profile settlement up -d --build down: AGENT_BASE_IMAGE=nil L2_NODE_URL=nil docker compose --profile settlement --profile bridge --profile prod_agents down From b3a6ec6102972f6327770eac89be758f6608c1e1 Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Tue, 19 Dec 2023 02:25:43 -0800 Subject: [PATCH 5/5] use up to date multisig --- geth-poa/hyperlane-deployer/chain-config.yml | 2 +- geth-poa/hyperlane-deployer/multisig-ism.yml | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/geth-poa/hyperlane-deployer/chain-config.yml b/geth-poa/hyperlane-deployer/chain-config.yml index 829b9ab2df..8219b43d0d 100644 --- a/geth-poa/hyperlane-deployer/chain-config.yml +++ b/geth-poa/hyperlane-deployer/chain-config.yml @@ -38,4 +38,4 @@ mevcommitsettlement: # Partial override sepolia config for custom rpc sepolia: rpcUrls: - - http: https://eth-sepolia.g.alchemy.com/v2/a0wg_g1X-Wz4IeVA-0SS3PsQhbyQNjc_ + - http: https://1rpc.io/sepolia diff --git a/geth-poa/hyperlane-deployer/multisig-ism.yml b/geth-poa/hyperlane-deployer/multisig-ism.yml index 140c30364b..6e416ac8e7 100644 --- a/geth-poa/hyperlane-deployer/multisig-ism.yml +++ b/geth-poa/hyperlane-deployer/multisig-ism.yml @@ -6,8 +6,10 @@ mevcommitsettlement: - '0xd9cd8E5DE6d55f796D980B818D350C0746C25b97' - '0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4' -# See https://github.com/primevprotocol/hyperlane-monorepo/blob/8b16adee486a6b1a1f0d4fbd1b419369241813b2/typescript/infra/config/rcMultisigIsmConfigs.ts +# See https://github.com/primevprotocol/hyperlane-monorepo/blob/7b2ffc2fa6b5e179f8e870089b5e635b7e49acf8/typescript/sdk/src/consts/multisigIsm.ts#L267 sepolia: - threshold: 1 + threshold: 2 validators: - - '0x49f253c0dab33be1573d6c2769b3d9e584d91f82' + - '0xb22b65f202558adf86a8bb2847b76ae1036686a5' + - '0x469f0940684d147defc44f3647146cb90dd0bc8e' + - '0xd3c75dcf15056012a4d74c483a0c6ea11d8c2b83'