wormhole-circle-integration/evm
Sebastián Claudio Nale 8de75452bb evm: updates addresses for sepolia and base sepolia 2024-01-12 18:32:58 -03:00
..
env evm: updates addresses for sepolia and base sepolia 2024-01-12 18:32:58 -03:00
forge-scripts Optimism testnet deployment (#40) 2023-08-23 16:27:30 -05:00
forge-test evm: update registration to accept VAAs with target chain zero (#38) 2023-09-26 10:05:15 -05:00
modules evm: upgrade compiler (#32) 2023-04-20 08:56:04 -05:00
shell-scripts minor fix on verify_proxy script 2023-12-12 16:54:37 -03:00
src evm: reverts testnet hardcoded cross registrations. 2023-12-12 16:54:37 -03:00
ts evm: switches to ESM. 2023-12-12 16:54:37 -03:00
.gitignore evm: fix .gitignore; fix testing.env; fix echo (#44) 2023-12-05 09:46:08 -06:00
Makefile evm: revert #42 (#45) 2023-12-05 10:08:14 -06:00
README.md evm: forward arguments in deploy shell scripts. 2023-12-12 16:54:37 -03:00
foundry-test.toml evm: upgrade compiler (#32) 2023-04-20 08:56:04 -05:00
foundry.toml Optimism testnet deployment (#40) 2023-08-23 16:27:30 -05:00
package.json evm: adds patched typechain 2024-01-10 18:33:03 -03:00
tsconfig.json evm: fixes tsconfig 2024-01-12 13:47:35 -03:00
yarn.lock evm: adds patched typechain 2024-01-10 18:33:03 -03:00

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