Bridge smart contracts
pnpm compile
pnpm typechain
pnpm nodedlx hardhat help
REPORT_GAS=true dlx hardhat testpnpm test
pnpm test:watch
pnpm test:coveragenote: requires access management address in chains settings
pnpm hardhat deploy-bridge-contract --network 80001--account-index - {optional} account index (default 0)
pnpm hardhat deploy-adapter-contract --network 80001 --adapter "CCIPAdapter" --bridge-address 0x3b89046C763c3C8aCD5b62d3c61805b205395957 --router-address 0x70499c328e1e2a3c41108bd3730f6670a44595d1
--adapter - Adapter name
--bridge-address - Bridge contract address
--router-address - Adapter router contract address
--fee-token-name - {optional} Fee token address (default if not set is zero address)
--account-index - {optional} account index (default 0)
enabling onramp as the destination chain and offramp as the source chain
pnpm hardhat set-chain-settings --network 80001 --bridge-address 0x3b89046C763c3C8aCD5b62d3c61805b205395957 --evm-chain-id 43113 --non-evm-chain-id 14767482510784806043 --adapter-address 0x3fb3D961fFB2f632748Bdb22F7AfC141384A38EF ---target-adapter-address 0x998F8187B79705bd9c4cABA39115157B2393801c --is-enabled true--bridge-address - Bridge contract address
--evm-chain-id - EVM chain id used by bridge
--non-evm-chain-id - Non EVM chain id used by adapter
--adapter-address - Adapter contract address
--target-adapter-address - Target adapter contract address from other chain
--is-enabled - Enable or disable chain connection offramp/onramp
--gas-limit - {optional} Gas limit (default 200_000n)
--account-index - {optional} account index (default 0)
pnpm hardhat setup-bridge-adapter --network 80001 --bridge-address 0x96D103BCb675945DE9C51D9dCa57a14593a54558 --adapter-address 0xBd770416a3345F91E4B34576cb804a576fa48EB1 --adapter-router-address 0x70499c328e1e2a3c41108bd3730f6670a44595d1 --router-to-adapter-function-selector ccipReceive ----bridge-to-adapter-function-selector sendMessageUsingNative --adapter-contract-name CCIPAdapter--bridge-address - Bridge contract address
--adapter-address - Adapter contract address
--adapter-router-address - Adapter router contract address
--router-to-adapter-function-selector - Adapter bytes4 signature to call adapter from router
--bridge-to-adapter-function-selector - Adapter bytes4 signature to call adapter from bridge
--adapter-contract-name - Adapter contract name
--account-index - {optional} account index (default 0)
pnpm hardhat bridge-erc721-using-erc20 --network 80001 --token-name "hello" --token-symbol "world" --bridge-address 0xAa38cabdEd065835861d5Bc0dAed06bfc6a94062 --adapter-address 0x01433417E5C1Bd6468CEE60CA3260A730Af75d58 --target-network 43113 --fee-token-name LINK--token-name - Token name
--token-symbol - Token symbol
--bridge-address - Bridge contract address
--adapter-address - Adapter contract address
--target-network - Target network id
--fee-token-name - Fee token name (eg: LINK)
--account-index - {optional} account index (default 0)
pnpm hardhat bridge-erc721-using-native --network 80001 --token-name "hello" --token-symbol "world" --bridge-address 0xAa38cabdEd065835861d5Bc0dAed06bfc6a94062 --adapter-address 0x01433417E5C1Bd6468CEE60CA3260A730Af75d58 --target-network 43113--token-name - Token name
--token-symbol - Token symbol
--bridge-address - Bridge contract address
--adapter-address - Adapter contract address
--target-network - Target network id
--account-index - {optional} account index (default 0)
pnpm verify --network [networkid] --contract contracts/[ContractName].sol:[Contract] [contractAddress] [arguments]pnpm hardhat set-function-role --network 80001 --role 1 --role-address 0xAa38cabdEd065835861d5Bc0dAed06bfc6a94062 --role-delay 0 --target-address 0x01433417E5C1Bd6468CEE60CA3260A730Af75d58 --target-function-bytes4-selector 0x0e6211b5--role - Role id
--role-address - Role address
--role-delay - Role delay
--target-address - Target address
--target-function-bytes4-selector - Target function bytes4 selector
--account-index - {optional} account index (default 0)