Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evm/upgrade automatic relayers mainnet to v1.1 #3522

Draft
wants to merge 175 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
aa359c7
evm: Adds @types/mocha and @types/chai as devDependencies.
scnale Jun 15, 2023
4aec174
evm: deployment script improvements.
scnale Jun 15, 2023
1832d4b
evm: uses @openzeppelin/contracts v4.9.1 in forge build pipeline.
scnale Jun 15, 2023
2fba200
evm: adds tsx as devDependency.
scnale Jun 15, 2023
643b664
evm: adds debugging symbols and metadata to production builds.
scnale Jun 15, 2023
c5135f0
evm: adds deployment scripts for generic relayers in mainnet-like envs.
scnale Jun 16, 2023
a9c1d19
gRelayer: separates out create2 factory deploy step.
scnale Jun 16, 2023
12cf964
gRelayer: sets override for Arbitrum gas price.
scnale Jun 16, 2023
ec30af2
gRelayer: adds chain id to check networks console output.
scnale Jun 16, 2023
46a7ca3
gRelayer: mainnet config + deployment output.
scnale Jun 16, 2023
9fc2ba5
uselastrun false
derpy-duck Jun 23, 2023
4bcc68c
updated addresses
derpy-duck Jul 3, 2023
c2b8d10
gRelayer: removes obsolete `approvedSenders` config field.
scnale Jul 7, 2023
1094c80
Verification changes
derpy-duck Jul 12, 2023
83f26b2
gRelayer: fixes configure delivery provider script.
scnale Jul 21, 2023
3902f76
gRelayer: adds contract verification script for `DeliveryProvider`.
scnale Jul 26, 2023
b03bd4e
gRelayer: Adds addresses for Base mainnet.
scnale Aug 11, 2023
4b3e849
gRelayer: prettier format
scnale Aug 11, 2023
b674c08
gRelayer: deployment scripts now handle adding a new chain.
scnale Aug 12, 2023
753eb86
gRelayer: adds a script to register chains to WormholeRelayer in main…
scnale Aug 12, 2023
068a7a1
gRelayer: adds verification scripts for other contracts.
scnale Aug 12, 2023
4c9ad95
gRelayer: adds script to cross register `MockIntegration` contracts.
scnale Aug 12, 2023
cc0af5e
evm: updates WormholeRelayer addresses for tiltfile environment.
scnale Aug 18, 2023
82b8168
evm: updates the WormholeRelayer address for the CI env too.
scnale Aug 18, 2023
6bac5c8
evm: updates WormholeRelayer proxy address in SDK.
scnale Aug 18, 2023
3bdde2c
evm: Fixes wormhole relayer verification script.
scnale Sep 1, 2023
2afb726
gRelayer: removes wormhole relayer address calculation with create2 f…
scnale Sep 1, 2023
8682356
gRelayer: Removes `lastRunOverride` flag.
scnale Sep 5, 2023
fd661c4
gRelayer: fixes readWormholeRelayer script to read all chains.
scnale Sep 5, 2023
8335931
gRelayer: refactor wormhole relayer self sign script.
scnale Sep 5, 2023
d09dfe2
gRelayer: prettier run.
scnale Sep 5, 2023
f1bc213
gRelayer: adds TODO in wormhole relayer register self sign.
scnale Sep 5, 2023
709973b
gRelayer: testnet addresses for Goerli, Arbitrum and Optimism testnet.
scnale Sep 5, 2023
2ecd226
Perform 3 registrations on testnet, and add script that does all regi…
derpy-duck Oct 31, 2023
bdd30d4
AutoRelayer: adds overrides to upgrade scripts.
scnale Sep 5, 2023
e967370
gRelayer: adds named constant for VAA key type flag
scnale Oct 22, 2023
3fb2371
gRelayer: adds missing upgrade testnet script
scnale Nov 2, 2023
fe33a18
upgrade wormhole-relayer mainnet scripts
solanoepalacio Nov 2, 2023
cbf5de5
fix comment
solanoepalacio Nov 2, 2023
d7adc34
fix log + remove unused import
solanoepalacio Nov 2, 2023
08028a5
AR: dont create vaa on upgrade script
solanoepalacio Nov 2, 2023
a054fdf
gRelayer: rename script file
solanoepalacio Nov 3, 2023
64afc21
gRelayer: rename processName of new scripts
solanoepalacio Nov 3, 2023
7d08374
gRelayer: use base64 encoding for wormhole relayer implementation VAA…
solanoepalacio Nov 3, 2023
5041698
gRelayer: verify wormhole implementation and verify delivery provider…
solanoepalacio Nov 9, 2023
93140c2
gRelayer: add WormholeRelayer implementation verify bytecode script
solanoepalacio Nov 14, 2023
c8a173e
gRelayer: Update klaytn and base rpcs for gRelayer deployment
solanoepalacio Nov 15, 2023
50f6211
gRelayer: improve verify script initial log
solanoepalacio Nov 15, 2023
91b6104
gRelayer: improve variable name
solanoepalacio Nov 15, 2023
fe163c1
gRelayer: add explanation to function on verify bytecode script
solanoepalacio Nov 15, 2023
c982b8c
script to verify local bytecode with the template of deployed bytecode
solanoepalacio Nov 15, 2023
dbaa8e8
gRelayer: update some rpcs
solanoepalacio Nov 22, 2023
ea2795d
gRelayer: rename configureDeliveryProvider -> initializeDeliveryProvider
solanoepalacio Nov 22, 2023
cc538cc
gRelayer: fix wrong script name
solanoepalacio Nov 22, 2023
2bb4027
gRelayer: remove legacy file
solanoepalacio Nov 22, 2023
621b765
gRelayer: fix log on verifyWormholeRelayerDeployedBytecode
solanoepalacio Nov 22, 2023
b3952ac
gRelayer: add fantom and sepolia config
solanoepalacio Nov 22, 2023
5ea33f9
add sepolia and fantom chain config for testnet
solanoepalacio Nov 23, 2023
3d87711
adds configureDeliveryProvider script
solanoepalacio Nov 23, 2023
a325bb5
add isSupportedChain property to configureDeliveryProvider script
solanoepalacio Nov 30, 2023
0a08b3d
add some missing configurations
solanoepalacio Nov 30, 2023
2145226
remove unnecessary log
solanoepalacio Nov 30, 2023
0ca6a39
add missing configurations for configureDeliveryProvider script
solanoepalacio Nov 30, 2023
0ae74da
minor improvements to logs
solanoepalacio Nov 30, 2023
5b62235
evm: throws error when `DeliveryProvider` update failed
scnale Jan 11, 2024
0b64ba9
evm: adds simple script to enable all message keys for GR
scnale Jan 11, 2024
4cf834f
evm: sepolia config for GR deployment
scnale Jan 11, 2024
f312225
evm: updates tsx and typescript
scnale Jan 11, 2024
8d916fc
evm: replaces `ts-node` with `tsx`
scnale Jan 11, 2024
a3f2d57
evm: adds configuration for sepolia `DeliveryProvider`s
scnale Jan 11, 2024
e488c43
evm: reorder testnet chains
scnale Jan 11, 2024
f703fd7
evm: updates wormhole sdk
scnale Jan 11, 2024
74fb639
evm: uses wormhole sdk to print chain names
scnale Jan 11, 2024
220ae51
evm: merge contract addresses from last run when flag is set
scnale Jan 11, 2024
cfc1596
evm: fixes contract address merging in GR deployment
scnale Jan 11, 2024
fdcc28d
evm: simplifies GR testnet cross registrations
scnale Jan 11, 2024
712787d
evm: improves some error messages
scnale Jan 11, 2024
fadfe32
evm: updates testnet chains and GR contracts
scnale Jan 11, 2024
8d517aa
evm: adds core address check on GR deployment
scnale Jan 11, 2024
8cdd33b
evm: adds `WormholeRelayer` implementation addresses to contracts.json
scnale Jan 12, 2024
9fa8d69
evm: fixes GR deployment artifact generation
scnale Jan 12, 2024
ff35292
evm: updates testnet prices
scnale Jan 12, 2024
9fb212e
evm: updates GR testnet implementation addresses
scnale Jan 12, 2024
6a356bb
evm: simplifies `WormholeRelayer` verification script
scnale Jan 12, 2024
74b9fb3
evm: configureDeliveryProvider config update
scnale Jan 22, 2024
5a6e6d9
evm: unset last run flag in testnet contracts.json
scnale Jan 23, 2024
eac8ff6
evm: adds batch update asset conversion buffer of `DeliveryProvider`
scnale Jan 25, 2024
c70a33a
evm: changes schema for contract verification tokens
scnale Jan 25, 2024
3addc0c
evm: pins openzeppelin version with a commit hash
scnale Jan 26, 2024
a579d52
evm: adds a sample json for the verification API tokens
scnale Jan 26, 2024
2beb866
evm: adds supportedKeys update to GR configuration script
scnale Jan 26, 2024
3b84b32
add AssetConversionBuffer support to configure delivery provider script
solanoepalacio Dec 4, 2023
d03a410
commiting last price config
solanoepalacio Feb 1, 2024
5c03636
adds configure delivery provider price assistant script
solanoepalacio Feb 1, 2024
c92aecc
evm: improves `MockIntegration` deployment script
scnale Apr 26, 2024
ae2a0cd
evm: updates SR registration VAAs to guardian set 4.
scnale Apr 26, 2024
594feff
evm: adds implementation and setup addresses for `DeliveryProvider`
scnale Apr 26, 2024
c6cb4f6
evm: adds Scroll and Blast chains to SR
scnale Apr 26, 2024
b72c786
evm: mock integration contract deployment prints registrations
scnale Apr 26, 2024
75647ff
evm: changes the way deployment addresses are loaded
scnale Apr 29, 2024
3339fac
evm: deployments no longer read `lastRun` files to lookup addresses.
scnale Apr 29, 2024
92e9a55
evm: adds prettier and updates typescript
scnale Apr 29, 2024
4f18cd0
evm: writes update to contracts file only if there is a new deployment
scnale Apr 29, 2024
cd8e78a
evm: updates chain RPC URLs and tx overrides
scnale Apr 29, 2024
4c5fa9a
evm: fixes a few helper functions for deployment
scnale Apr 29, 2024
83ad792
evm: adds a safety check when deploying create2 factory
scnale Apr 29, 2024
31442df
evm: removes last run option from scripts
scnale Apr 29, 2024
8a22423
evm: updates wormhole sdk
scnale Apr 29, 2024
1a514b8
evm: updates guardian set index for mainnet
scnale Apr 30, 2024
7717c7e
evm: makes `Create2Factory` deploy check more reliable
scnale Apr 30, 2024
2f11f74
evm: adds addresses for `Create2Factory`
scnale Apr 30, 2024
119b032
evm: adds friendly error exit code to deployment scripts
scnale May 2, 2024
7dd7ae1
evm: fixes SR VAA key constant in deployment script
scnale May 2, 2024
9c43ad9
evm: replaces references to last run files
scnale May 2, 2024
2ac2886
evm: updates addresses for Scroll and Blast
scnale May 2, 2024
7007a04
evm: updates delivery provider configuration
scnale May 2, 2024
09ecf58
evm: fixes script to configure delivery provider
scnale May 2, 2024
e3df228
evm: fixes script to deploy mock integration
scnale May 2, 2024
eef7d72
evm: removes obsolete SR deployment steps
scnale May 2, 2024
7ae50aa
evm: updates comment about block explorer API token json
scnale May 2, 2024
d684712
evm: fixes `WormholeRelayer` verification script
scnale May 2, 2024
7528c84
evm: adds `--build-info` option to foundry build pipeline
scnale May 8, 2024
085eafb
evm: refines `WormholeRelayer` bytecode verifier to ignore metadata
scnale May 8, 2024
5cb6e1f
evm: changes default rpc URL for polygon
scnale May 8, 2024
237d86d
evm: `WormholeRelayer` verification checks implementation address
scnale May 8, 2024
66d506d
misc: removes unused file
scnale May 16, 2024
31de78d
evm: adds typescript build script
scnale May 16, 2024
544e79d
evm: adds docker image to verify `WormholeRelayer` bytecode
scnale May 17, 2024
fcb3633
evm: adds scroll and blast `WormholeRelayer` VAAs
scnale May 24, 2024
cf3911a
evm: adjusts gas prices for blast
scnale May 24, 2024
54c4031
evm: sources foundry binaries from oficial docker image in verification
scnale May 29, 2024
22f2940
evm: adds compiler input for the deployed `Create2Factory` in mainnet
scnale May 29, 2024
3d7c997
evm: retrieves the creation bytecode of `Create2Factory` from Ethereum
scnale May 29, 2024
e84a419
evm: configuration interface for message keys is more friendly now
scnale May 30, 2024
bedf29d
evm: prints message keys as string description
scnale May 30, 2024
ab9bbc5
wormhole-relayer: delivery-provider testnet configuration -> maximum …
solanoepalacio Jun 6, 2024
2d4278b
evm: adds suport for Mantle and X Layer in SR deployment
scnale Jun 10, 2024
ccbe8a5
evm: makes `Create2Factory` deployment reproducible on all accounts
scnale Jun 10, 2024
c29f2f7
evm: adds `Create2Factory` addresses for mainnet
scnale Jun 18, 2024
8eefb92
evm: fixes typo in deployment script
scnale Jun 18, 2024
d321f8e
evm: adds mantle and x layer SR delivery provider configs
scnale Jul 2, 2024
5d307ac
evm: adds support for mantle and x layer in verification scripts
scnale Jul 2, 2024
71b7a7e
evm: fixes SR prices for x layer
scnale Jul 3, 2024
b521da9
evm: removes unnecessary type annotation
scnale Jul 3, 2024
1019add
evm: adds mainnet SR contracts for Mantle and X Layer
scnale Jul 4, 2024
13c04b9
evm: fixes prices for Mantle and X Layer
scnale Jul 4, 2024
24fb37b
evm: removes redundant prints in `configureDeliveryProvider`
scnale Jul 4, 2024
3ba32e8
evm: uses `operatingChains` for verification scripts
scnale Jul 4, 2024
e4cff15
evm: updates foudnry version in dockerfile for SR verification
scnale Jul 4, 2024
c62cc32
evm: adds snax configuration for relayer deployment scripts
solanoepalacio Aug 19, 2024
83716af
evm: adds verification logic for snax in `verifyWormholeRelayer` script
scnale Aug 30, 2024
7b700d0
adds delivery provider price assistant config
solanoepalacio Aug 30, 2024
15cb1ea
adds delivery provider snax configuration
solanoepalacio Aug 30, 2024
6ee5bb0
adds snax SR governance VAA
solanoepalacio Aug 30, 2024
e918031
adds initialize delivery provider configuration
solanoepalacio Aug 30, 2024
a7e6b19
chains.json: removed obsolete chains, added Monad
hernandp Oct 25, 2024
87258a5
Updated contract data and fixups for successful Monad deployments.
hernandp Oct 28, 2024
f96bc90
Update chains.json
hernandp Oct 28, 2024
47bca10
evm: increases maximum budget for SR testnet
scnale Oct 29, 2024
0bf6160
Script migration to new SDK WIP
hernandp Nov 13, 2024
bcccc77
More changes to scripts.
hernandp Nov 13, 2024
e48e478
Merge pull request #2 from XLabs/wormhole-sdk-migration
scnale Nov 13, 2024
575c20b
worldchain: added chains.json + deployment gas override
hernandp Nov 13, 2024
91fa8ae
added gas-price/base-fee dump tool
hernandp Nov 13, 2024
09f11c7
Added chain 45 entry to initializeDeliveryProvider.json
hernandp Nov 13, 2024
49d08e9
Submitted initialize+Configure Delivery Provider
hernandp Nov 13, 2024
13477e7
Fix in Environment handling
hernandp Nov 13, 2024
3e679b8
evm: fixes create2 factory deploy
scnale Nov 13, 2024
9273a35
evm: makes create2 factory deploy a bit more resilient
scnale Nov 13, 2024
25607cc
Updated sdk to 1.1.0 for Worldchain mainnet support
hernandp Nov 13, 2024
e6d1603
evm: logs when retrieving create2 factory from Ethereum
scnale Nov 14, 2024
93306bb
Contracts.json: successful SR deploy on Worldchain
hernandp Nov 15, 2024
a0f98c2
fixed gas provision for chain 45
hernandp Nov 15, 2024
2250734
evm: copies config after building contracts in verification image
scnale Nov 15, 2024
2d7ec9f
evm: changes mainnet klaytn RPC endpoint
scnale Nov 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ethereum/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ lib/*
!lib/README.md
flattened
ethers-contracts
build-forge/
build-forge/
build-ts/
1 change: 1 addition & 0 deletions ethereum/Create2Factory.compiler-input.json

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions ethereum/Dockerfile.verifyRelayer
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM node:iron-slim@sha256:cffed8cd39d6a380434e6d08116d188c53e70611175cd5ec7700f93f32a935a6

RUN mkdir -p /home/node/app/ethereum

WORKDIR /home/node/app/ethereum
RUN apt-get update && apt-get -y install \
git make curl

COPY --from=ghcr.io/foundry-rs/foundry:nightly-d9e51e4807b62f101221a2fd36076c502399dbf9@sha256:f3237e283abbacec56edf54c2e422c5fe4d3b444eb10203e1e6d7ee089b11c4d \
/usr/local/bin/forge \
/usr/local/bin/cast \
/usr/local/bin/anvil \
/usr/local/bin/chisel \
/bin/

COPY ./contracts ./contracts
COPY ./forge-test ./forge-test
COPY ./Makefile ./foundry.toml ./truffle-config.js ./package.json ./package-lock.json ./tsconfig.json .
COPY ./ts-scripts/relayer/eraseTypes.ts ./ts-scripts/relayer/eraseTypes.ts
ENV ENV=mainnet
ENV DEV=False
RUN make build

# We copy the scripts with the configuration here to avoid rebuilding the contracts in case of an RPC URL failure
COPY ./ts-scripts ./ts-scripts
RUN npm run build:typescript

CMD ["node", "build-ts/ts-scripts/relayer/wormholeRelayer/verifyWormholeRelayerDeployedByteCode.js"]
3 changes: 2 additions & 1 deletion ethereum/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ lib/forge-std:
forge install foundry-rs/[email protected] --no-git --no-commit

lib/openzeppelin-contracts:
forge install openzeppelin/openzeppelin-contracts@0457042d93d9dfd760dbaa06a4d2f1216fdbe297 --no-git --no-commit
# This commit hash corresponds to tag v4.9.1 at the time of writing
forge install openzeppelin/openzeppelin-contracts@281550b71c3df9a83e6b80ceefc700852c287570 --no-git --no-commit

dependencies: node_modules forge_dependencies

Expand Down
22 changes: 22 additions & 0 deletions ethereum/env/.env.snax.mainnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Snax mainnet env
# Rename to .env

# Common config for forge deployment
RPC_URL=https://mainnet.snaxchain.io
# --with-gas-price 5.1gwei
FORGE_ARGS="--slow --legacy --gas-estimate-multiplier 130"

# Wormhole Core Migrations
INIT_SIGNERS=["0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5"]
INIT_CHAIN_ID=43
INIT_GOV_CHAIN_ID=1
INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
INIT_EVM_CHAIN_ID=2192

# Bridge Migrations
BRIDGE_INIT_CHAIN_ID=43
BRIDGE_INIT_GOV_CHAIN_ID=1
BRIDGE_INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004

BRIDGE_INIT_WETH=0x4200000000000000000000000000000000000006
BRIDGE_INIT_FINALITY=1
2 changes: 2 additions & 0 deletions ethereum/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ multiline_func_header = "params_first"

[profile.production]
via_ir = true
extra_output = ["metadata", "storageLayout", "evm.deployedBytecode.immutableReferences"]
evm_version = "paris"

# See more config options https://github.com/foundry-rs/foundry/tree/master/config
18 changes: 18 additions & 0 deletions ethereum/gas-prices.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

if [ "$#" -ne 1 ]; then
echo "Usage: $0 <config-dir>"
echo "where <config-dir> is the name of the directory in ts-scripts/relayer/config"
echo " e.g: mainnet, testnet or devnet"
exit 1
fi

# Parse the JSON and loop through each entry to get `rpc` and `chainId`
jq -c '.chains[] | {chainId: .chainId, rpc: .rpc}' ts-scripts/relayer/config/$1/chains.json | while read -r entry; do
chainId=$(echo "$entry" | jq -r '.chainId')
rpc=$(echo "$entry" | jq -r '.rpc')

echo "ChainId: $chainId"
echo " gas-price:$(cast gas-price -r "$rpc")"
echo " base fee: $(cast basefee -r "$rpc")"
done
Loading