Forge project for the bridge withdrawer contract.
Requirements:
- foundry
Build:
forge buildCopy the example .env: cp local.env.example .env
Put your private key in .env and source .env.
Deploy AstriaWithdrawer.sol:
forge script script/AstriaWithdrawer.s.sol:AstriaWithdrawerScript \
--rpc-url $RPC_URL --broadcast --sig "deploy()" -vvvvCall withdrawToSequencer in AstriaWithdrawer.sol:
forge script script/AstriaWithdrawer.s.sol:AstriaWithdrawerScript \
--rpc-url $RPC_URL --broadcast --sig "withdrawToSequencer()" -vvvvCall withdrawToIbcChain in AstriaWithdrawer.sol:
forge script script/AstriaWithdrawer.s.sol:AstriaWithdrawerScript \
--rpc-url $RPC_URL --broadcast --sig "withdrawToIbcChain()" -vvvvDeploy AstriaBridgeableERC20.sol:
forge script script/AstriaBridgeableERC20.s.sol:AstriaBridgeableERC20Script \
--rpc-url $RPC_URL --broadcast --sig "deploy()" -vvvvMint tokens (note that this will only work on a local anvil network, as it uses vm.prank())
forge script script/AstriaBridgeableERC20.s.sol:AstriaBridgeableERC20Script \
--rpc-url $RPC_URL --broadcast --sig "mint()" -vvvvGet balance:
forge script script/AstriaBridgeableERC20.s.sol:AstriaBridgeableERC20Script \
--rpc-url $RPC_URL --sig "getBalance()" -vvvvCall withdrawToSequencer in AstriaBridgeableERC20.sol:
forge script script/AstriaBridgeableERC20.s.sol:AstriaBridgeableERC20Script \
--rpc-url $RPC_URL --broadcast --sig "withdrawToSequencer()" -vvvvCall withdrawToOriginChain in AstriaBridgeableERC20.sol:
forge script script/AstriaBridgeableERC20.s.sol:AstriaBridgeableERC20Script \
--rpc-url $RPC_URL --broadcast --sig "withdrawToOriginChain()" -vvvv