1

Deploy Tokens

Deploy BurnMintERC677 tokens to the Base Sepolia and Ethereum Sepolia testnets.

README.md
ETH_SEPOLIA_RPC=$(grep ETH_SEPOLIA_RPC .env | cut -d '=' -f2)
WALLET_ADDRESS=$(grep WALLET_ADDRESS .env | cut -d '=' -f2)
PRIVATE_KEY=$(grep PRIVATE_KEY .env | cut -d '=' -f2)

if ! [ -f .env ]; then
    echo "Missing necessary environment variables for deployment" 
    echo "Please set the following environment variables:"
    echo "ETH_SEPOLIA_RPC, KEYSTORE, and WALLET_ADDRESS"
else 
    if [ -z "${DOTENV}" ]; then
        echo "Deploying Token on Sepolia"
        rm -rf keystore
        cast wallet import --private-key $PRIVATE_KEY -k keystore secret
        forge script ./script/deploy/DeployToken.s.sol:DeployToken -vvv --broadcast --rpc-url $ETH_SEPOLIA_RPC --sender $WALLET_ADDRESS --private-key $PRIVATE_KEY
        echo "Token deployed on Sepolia"
    fi
fi
2

Deploy Pools

After deploying the tokens, deploy the corresponding BurnMintTokenPool pools on Base Sepolia and Ethereum Sepolia. These pools facilitate minting and burning during cross-chain token transfers. Each token is linked to a pool to ensure proper asset management across chains.

README.md
BASE_SEPOLIA_RPC=$(grep BASE_SEPOLIA_RPC .env | cut -d '=' -f2)
WALLET_ADDRESS=$(grep WALLET_ADDRESS .env | cut -d '=' -f2)
PRIVATE_KEY=$(grep PRIVATE_KEY .env | cut -d '=' -f2)
forge script ./script/deploy/DeployPool.s.sol:DeployPool -vvv --broadcast --rpc-url $BASE_SEPOLIA_RPC --sender $WALLET_ADDRESS --private-key $PRIVATE_KEY