105ad59bad
* evm: remove obsolete packages. * evm: fixes shebang for shell scripts. * evm: forward arguments in deploy shell scripts. * evm: adjustments in `tsconfig.json` * evm: adds script to self sign testnet upgrade. * evm: yarn.lock update * evm: Adds registrations to circle integration initializer temporarily. * evm: fixes env var for RPC URLs * evm: rename environment files. * evm: adds RPC URLs for arbitrum and eth testnets * evm: updates the CircleIntegration implementation addresses. * evm: switches to ESM. * evm: yarn.lock update * evm: reverts testnet hardcoded cross registrations. * evm: removes `ts-node` in favour of `tsx` * minor fixes to submit_testnet_registraion script * adds base deployment configuration * fix env variable on base mainnet deployment * base mainnet configuration --------- Co-authored-by: solanoe <solanoepalacio@gmail.com> |
||
---|---|---|
.. | ||
env | ||
forge-scripts | ||
forge-test | ||
modules | ||
shell-scripts | ||
src | ||
ts | ||
.gitignore | ||
Makefile | ||
README.md | ||
foundry-test.toml | ||
foundry.toml | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
EVM Wormhole-Circle-Integration
Prerequisites
Install Foundry tools, which include forge
, anvil
and cast
CLI tools.
Build
Run the following commands to install necessary dependencies and to build the smart contracts:
make dependencies
make build
Deployment
To deploy Wormhole's Circle Integration contracts, see the Wormhole Book to fetch the Wormhole Core contract address of the target network. Next, create a .env
file with the following environment variables:
####### sample deployment environment file #######
# Wormhole Core Contract Address
export RELEASE_WORMHOLE_ADDRESS=0x
# Circle Bridge Contract Address (TokenMessenger)
export RELEASE_CIRCLE_BRIDGE_ADDRESS=0x
# Circle Message Transmitter Address
export RELEASE_WORMHOLE_FINALITY=
Then run the following command to deploy (and set up) the proxy contract:
# sample deployment command
. env/put_your_env_file_here.env && shell-scripts/deploy_contracts.sh --private-key put_your_private_key_here
Test Suite
Run the Solidity-based unit tests:
make unit-test
Run the local-validator integration tests:
make integration-test
To run both the Solidity-based unit tests and the local-validator integration tests:
make test