Deploy
Check .env and hardhat.config.js before deploy modules.
npm run deploy -- --network sepolia --deploy ./deploy/dir- deploy with scripts
Export contracts addresses and ABI
npm run export-abi- export ABInpm run export-deploy-name -- --network arbitrum_sepolia- export contract addresses for this network
Export for verification (example)!
node scripts/export-verify-json.js artifacts/contracts/governance/Multiownable.sol/Multiownable.dbg.json
Deploy flow (example)
- npx hardhat deploy --network arbitrum_sepolia --tags LuckyShot
- npx hardhat deploy --network arbitrum_sepolia --tags LuckyShotTransferOwnerToMultisig
- npx hardhat verify --network arbitrum_sepolia CONTRACT_ADDRESS
- (optional deploy another proxy implementation) npx hardhat deploy --network arbitrum_sepolia --tags UpgradeLuckyShot
- (optionally with constructor args):
npx hardhat verify --network arbitrum_one \
--constructor-args verify-args/erc20PaymasterArbitrumOne.js \
--contract contracts/paymaster/ERC20PaymasterChainlinkV07.sol:ERC20PaymasterChainlinkV07 \
<DEPLOYED_ADDRESS>
npx hardhat etherscan-verify --network arbitrum_dev_sepolia --contract WithdrawLimiter