Withdraw from Flame on dusk Devnet
Make sure Foundry is installed:
- See the Foundry installation docs.
Clone and build the astria-bridge-contracts repo:
bash
git clone git@github.com:astriaorg/astria-bridge-contracts.git
cd astria-bridge-contracts
forge build
cp local.env.example .envOpen the .env file and update the private key and destination chain addresses:
bash
PRIVATE_KEY=<your-flame-account-private-key>
RPC_URL="https://rpc.evm.dusk-11.devnet.astria.org/"
# the `astriaBridgeSenderAddress` built into the astria-geth node
# in production, the private key for this address must NOT be known.
EVM_BRIDGE_ADDRESS=0xa7183eFD1e1fb81595009376f9643f54474933CD
### contract call values
# contract address for AstriaWithdrawer.sol
ASTRIA_WITHDRAWER="0xA58639fB5458e65E4fA917FF951C390292C24A15"
# contract address for AstriaBridgeableERC20.sol
ASTRIA_BRIDGEABLE_ERC20_ADDRESS="0xa4f59B3E97EC22a2b949cB5b6E8Cd6135437E857"
# if withdrawing to the sequencer, this must be set to
# the address to withdraw to on the sequencer
SEQUENCER_DESTINATION_CHAIN_ADDRESS=<your-astria-address>
# if withdrawing to another chain via IBC, this must be set to
# the destination chain address to withdraw to
ORIGIN_DESTINATION_CHAIN_ADDRESS=<your-celestia-or-noble-address>
# amount to withdraw, must be greater than 10^12
AMOUNT=1000000000000 # 1 utia / uusdc
# account to get erc20 balance of
MINT_TO=0x0b22C4b638A483a9A874713b7d10b9C900108168TIP
In order to bridge out of Flame on dusk you must have a balance of native funds to pay for gas. This is the nria bridged from Astria.
To make the following commands easy to copy and paste, export the RPC_URL:
bash
export RPC_URL="https://rpc.evm.dusk-11.devnet.astria.org/"To Astria
INFO
Make sure the ORIGIN_DESTINATION_CHAIN_ADDRESS in your .env file is updated to be the address of the desired asset you are withdrawing:
- Set to your Noble address to withdraw
USDC
Then run the following command:
bash
forge script script/AstriaWithdrawer.s.sol:AstriaWithdrawerScript \
--rpc-url $RPC_URL --broadcast --sig "withdrawToSequencer()" -vvvvTo IBC Chain
INFO
Make sure the ORIGIN_DESTINATION_CHAIN_ADDRESS in your .env file is updated to be the address of the desired asset you are withdrawing:
- Set to your Noble address to withdraw
USDC
Then run the following command:
bash
forge script script/AstriaWithdrawer.s.sol:AstriaWithdrawerScript \
--rpc-url $RPC_URL --broadcast --sig "withdrawToIbcChain()" -vvvvCheck your Testnet Balances
bash
astria-cli sequencer balance get $ASTRIA_ADDRESS --sequencer-url https://rpc.sequencer.dusk-11.devnet.astria.org/bash
celestia-appd query bank balances $CELESTIA_ADDRESS --node=https://rpc-mocha.pops.one:443 --chain-id mocha-4bash
nobled query bank balances $NOBLE_ADDRESS --node https://noble-testnet-rpc.polkachu.com:443bash
osmosisd query bank balances $OSMOSIS_ADDRESS --node https://osmosis-testnet-rpc.polkachu.com:443bash
strided query bank balances $STRIDE_ADDRESS --node https://stride-testnet-rpc.polkachu.com:443bash
cast balance --rpc-url https://rpc.flame.dusk-11.devnet.astria.org $FLAME_ADDRESS