Smart contracts for Vea.
Refresh the list of deployed contracts by running ./scripts/populateReadme.sh.
yarn installyarn testyarn buildyarn checkNOTICE: the commands below work only if you are inside the contracts/ directory.
Copy .env.example file as .env and edit it accordingly.
cp .env.example .envThe following env vars are required:
PRIVATE_KEY: the private key of the deployer account used for the testnets.MAINNET_PRIVATE_KEY: the private key of the deployer account used for Mainnet.INFURA_API_KEY: the API key for infura.
The ones below are optional:
ETHERSCAN_API_KEY: to verify the source of the newly deployed contracts on Etherscan.ARBISCAN_API_KEY: to verify the source of the newly deployed contracts on Arbitrum.
If some of the constructor parameters needs to change, you need to update the files in the deploy/ directory.
yarn start-local# arbitrumSepolia -> Sepolia
yarn deploy --network sepolia --tags ArbSepoliaToSepoliaOutbox
yarn deploy --network arbitrumSepolia --tags ArbSepoliaToSepoliaInbox
# arbitrumSepolia -> Chiado
yarn deploy --network chiado --tags ArbSepoliaToChiadoOutbox
yarn deploy --network arbitrumSepolia --tags ArbSepoliaToChiadoInbox# Arbitrum -> Ethereum
yarn deploy --network mainnet --tags ArbToEthOutbox
yarn deploy --network arbitrum --tags ArbToEthInbox
# Arbitrum -> Gnosis chain
yarn deploy --network gnosischain --tags ArbToGnosisOutbox
yarn deploy --network arbitrum --tags ArbToGnosisInboxThe deployed addresses should be output to the screen after the deployment is complete.
If you miss that, you can always go to the deployments/<network> directory and look for the respective file.
yarn testThis must be done for each network separately.
# explorer
yarn etherscan-verify --network <arbitrumSepolia|arbitrum|sepolia|mainnet|chiado|gnosischain>
# sourcify
yarn sourcify --network <arbitrumSepolia|arbitrum|sepolia|mainnet|chiado|gnosischain>