Skip to content

Matic prod deployment

Aalavandhan edited this page Jul 13, 2021 · 4 revisions
  1. Setup deployer key
# create keyfile
export KEYFILE=[Path to key file]
export PASSPHRASE=
  1. Deploy AMPL contracts
# deploy vault
yarn hardhat --network prodEthereumBaseChain deploy:token_vault \
  --bridge "matic" \
  --keyfile $KEYFILE --passphrase $PASSPHRASE 

# deploy on matic mainnet
export ETHERSCAN_API_KEY=PLOYGON_API_KEY
yarn hardhat \
  --network prodMaticSatChain \
  deploy:ampleforth_xc \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --token-name "Ampleforth secured by Matic" \
  --token-symbol "AMPL" \
  --base-chain-network prodEthereumBaseChain

  1. Deploy gateway contracts and connections
yarn hardhat --network prodEthereumBaseChain deploy:matic_base_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --checkpoint-manager "0x86e4dc95c7fbdbf52e33d563bbdb00823894c287" \
  --fx-root "0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2"

export ETHERSCAN_API_KEY=PLOYGON_API_KEY
yarn hardhat --network prodMaticSatChain deploy:matic_satellite_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --fx-child "0x8397259c983751DAf40400790063935a11afa28a"

yarn hardhat deploy:matic_connection \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --base-chain-network "prodEthereumBaseChain" \
  --sat-chain-network "prodMaticSatChain"
  1. Deploy and setup rebase report batcher utility if not already deployed
yarn hardhat --network prodEthereumBaseChain deploy:rebase_reporter \
  --keyfile $KEYFILE --passphrase $PASSPHRASE 

yarn hardhat --network prodEthereumBaseChain deploy:rebase_reporter:prep_tx \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --bridge "matic" \
  --satellite-chain-networks "[\"prodMaticSatChain\" ]"
  1. Inspect state
# prints ampl state
yarn hardhat info:ampl \
  --networks "[\"prodEthereumBaseChain\", \"prodMaticSatChain\"]" \
  --bridge "matic"

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

  1. Cross-chain transactions

# report rebase from base-chain to satellite-chains
yarn hardhat --network prodEthereumBaseChain matic:report_rebase:base_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE

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


# cross-chain transfer from base to satellite
yarn hardhat --network prodEthereumBaseChain matic:xc_transfer \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --recipient-address "0x5A617f363674489339226E8A448307763a43108F" \
  --amount 100

# cross-chain transfer from satellite to base
yarn hardhat --network prodMaticSatChain matic:xc_transfer \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --recipient-address "0x5A617f363674489339226E8A448307763a43108F" \
  --amount 50

yarn hardhat matic:xc_transfer:commit \
 --keyfile $KEYFILE --passphrase $PASSPHRASE \
 --base-chain-network "prodEthereumBaseChain" \
 --sat-chain-network "prodMaticSatChain" \
 --tx-hash "PASTE_FROM_PREV"
Clone this wiki locally