Skip to content

Arbitrum dev

Aalavandhan edited this page Oct 26, 2021 · 9 revisions
  1. Setup deployer key
# create keyfile
export KEYFILE=[Path to key file]
export PASSPHRASE=
  1. Deploy AMPL contracts
# create new deployment
yarn hardhat --network dev3RinkebyBaseChain testnet:deploy:ampleforth \
  --keyfile $KEYFILE --passphrase $PASSPHRASE 

# deploy vault
yarn hardhat --network dev3RinkebyBaseChain deploy:token_vault \
  --bridge "arbitrum" \
  --keyfile $KEYFILE --passphrase $PASSPHRASE 

# deploy on rinkeby arbitrum testnet
yarn hardhat \
  --network dev3RinkebyArbitrumSatChain \
  deploy:ampleforth_xc \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --token-name "Ampleforth secured by Arbitrum" \
  --token-symbol "AMPL" \
  --base-chain-network dev3RinkebyBaseChain

  1. Deploy gateway contracts
yarn hardhat --network dev3RinkebyBaseChain deploy:arbitrum_base_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE

yarn hardhat --network dev3RinkebyArbitrumSatChain deploy:arbitrum_satellite_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE

yarn hardhat deploy:arbitrum_connection \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --base-chain-network "dev3RinkebyBaseChain" \
  --sat-chain-network "dev3RinkebyArbitrumSatChain" \
  --base-inbox "0x578BAde599406A8fE3d24Fd7f7211c0911F5B29e" \
  --base-router "0x70C143928eCfFaf9F5b406f7f4fC28Dc43d68380" \
  --sat-router "0x9413AD42910c1eA60c737dB5f58d1C504498a3cD"

yarn hardhat deploy:arbitrum_register_testnet \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --base-chain-network "dev3RinkebyBaseChain" \
  --sat-chain-network "dev3RinkebyArbitrumSatChain" \
  --base-router "0x70C143928eCfFaf9F5b406f7f4fC28Dc43d68380"
  1. Inspect state
# prints ampl state
yarn hardhat info:ampl \
  --networks "[\"dev3RinkebyBaseChain\", \"dev3RinkebyArbitrumSatChain\"]" \
  --bridge "arbitrum"

# prints ampl balances across chains
yarn hardhat info:ampl:balance \
  --networks "[\"dev3RinkebyBaseChain\", \"dev3RinkebyArbitrumSatChain\" ]" \
  --wallet "0x3b2b9EfdaE5291F3Bb9C7e6508C7e67534511585"

  1. Cross-chain transactions
yarn hardhat --network dev3RinkebyBaseChain testnet:rebase:base_chain \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --rebase-perc 10

# report rebase from base-chain to satellite-chain
yarn hardhat --network dev3RinkebyBaseChain arbitrum:report_rebase \
  --keyfile $KEYFILE --passphrase $PASSPHRASE \
  --sat-chain-network "dev3RinkebyArbitrumSatChain"

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


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

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