Skip to content

AMPL Meter Passport prod deployment

Aalavandhan edited this page Oct 4, 2022 · 9 revisions
  1. Setup deployer key
# create keyfile
export KEYFILE=[Path to key file]
export PASSPHRASE=
  1. Deploy AMPL contracts
# use existing deployment
yarn hardhat --network prodEthereumBaseChain deploy:use_deployed \
  --ampleforth-deployment-yaml "https://raw.githubusercontent.com/ampleforth/uFragments-eth-integration/master/migrations/deployments/mainnet-prod.yaml?token=ABPZMDVRUTAMJAQJVMZO7M3AVZRYA"

# deploy on bsc
export ETHERSCAN_API_KEY=BSC_API_KEY
yarn hardhat \
  --network prodBscSatChain \
  deploy:ampleforth_xc \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --token-name "Ampleforth secured by Meter Passport" \
  --token-symbol "AMPL" \
  --base-chain-network prodEthereumBaseChain

# deploy on avax-c-chain, verify manually
yarn hardhat \
  --network prodAvaxSatChain \
  deploy:ampleforth_xc \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --token-name "Ampleforth secured by Meter Passport" \
  --token-symbol "AMPL" \
  --base-chain-network prodEthereumBaseChain

# deploy on meter chain, verify manually
yarn hardhat \
  --network prodMeterSatChain \
  deploy:ampleforth_xc \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --token-name "Ampleforth secured by Meter Passport" \
  --token-symbol "AMPL" \
  --base-chain-network prodEthereumBaseChain
  1. Use deployed chain bridge contract and deploy handlers
export ETHERSCAN_API_KEY=ETH_API_KEY
yarn hardhat --network prodEthereumBaseChain deploy:chain_bridge_use_deployed \
  --bridge-address "0xa7E2cE557980618253D9dafdEDb27ecCe2F82167" \
  --generic-handler-address "0x5945432d6c0A4b30c1178888F776a4d430d5BC94"

yarn hardhat --network prodEthereumBaseChain deploy:chain_bridge_base_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --use-deployed true

#deploy on bsc
export ETHERSCAN_API_KEY=BSC_API_KEY
yarn hardhat --network prodBscSatChain deploy:chain_bridge_use_deployed \
  --bridge-address "0x8209815136b35F21B8C0f5AA2E2f915a73530dF9" \
  --generic-handler-address "0x431a7Bb43b6242225Ceb97Bde140219b4d043116"

yarn hardhat --network prodBscSatChain deploy:chain_bridge_satellite_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --use-deployed true

# deploy on avax-c-chain, verify manually
yarn hardhat --network prodAvaxSatChain deploy:chain_bridge_use_deployed \
  --bridge-address "0xB447acD21831F6615e208c9EEa7E6049dB3391Cd" \
  --generic-handler-address "0x0B9709FE3aa76068f07d054fd4417445D5c7DA9A"

yarn hardhat --network prodAvaxSatChain deploy:chain_bridge_satellite_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --use-deployed true

# deploy on meter, verify manually
yarn hardhat --network prodMeterSatChain deploy:chain_bridge_use_deployed \
  --bridge-address "0x23894d2937A2a4A479f0407909DA5B028049568E" \
  --generic-handler-address "0x701627e8638c452732eceCC7d0238746654fb365"

yarn hardhat --network prodMeterSatChain deploy:chain_bridge_satellite_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --use-deployed true
  1. Inspect state
# prints ampl state
yarn hardhat info:ampl \
  --networks "[\"prodEthereumBaseChain\", \"prodBscSatChain\", \"prodAvaxSatChain\", \"prodMeterSatChain\"]" \
  --bridge chainBridge

# prints ampl balances across chains
yarn hardhat info:ampl:balance \
  --networks "[\"prodEthereumBaseChain\", \"prodBscSatChain\", \"prodAvaxSatChain\", \"prodMeterSatChain\"]" \
  --wallet "0x5A617f363674489339226E8A448307763a43108F"

# prints bridge state
yarn hardhat info:chain_bridge \
  --networks "[\"prodEthereumBaseChain\", \"prodBscSatChain\", \"prodAvaxSatChain\", \"prodMeterSatChain\"]"

# get transaction history
yarn hardhat info:cb_ampl_tx --networks "[\"prodEthereumBaseChain\", \"prodBscSatChain\", \"prodAvaxSatChain\"]" --output-csv-path prod-tx.csv
  1. Cross-chain transactions
# report rebase from base-chain to satellite-chains
yarn hardhat --network prodEthereumBaseChain chain_bridge:report_rebase \
  --satellite-chain-networks "[\"prodBscSatChain\", \"prodAvaxSatChain\"]" \
  --keyfile $KEYFILE --passphrase $PASSPHRASE

# wait for relayer to report rebase execute rebase on satellite chains
yarn hardhat rebase:satellite_chain \
  --networks "[\"prodBscSatChain\"]" \
  --keyfile $KEYFILE --passphrase $PASSPHRASE


# cross-chain transfer from base to satellite
yarn hardhat --network prodEthereumBaseChain chain_bridge:xc_transfer \
  --target-chain-network prodBscSatChain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --recipient-address "0x5A617f363674489339226E8A448307763a43108F" \
  --amount 1 \
  --bridge chainBridge

# cross-chain transfer from satellite to base
yarn hardhat --network prodBscSatChain xc_transfer \
  --target-chain-network prodEthereumBaseChain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --recipient-address "0x5A617f363674489339226E8A448307763a43108F" \
  --amount 1 \
  --bridge chainBridge
Clone this wiki locally