Accounts
This tutorial demonstrates how to make a simple interchain call using the Accounts API to a pre-deployed
TestRecipient
contract on a remote chain.$RECIPIENT
: The address of theTestRecipient
contract on the destination chain,0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35
$CALLDATA
: The calldata of the call to make onTestRecipient
, which we generate usingcast
:0xf07c1f4700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001648656c6c6f576f726c642066726f6d20616e2049434100000000000000000000
$ cast calldata "fooBar(uint256,string)" 1 "HelloWorld from an ICA"
Using Metamask
Using cast
- 1.Navigate to the
InterchainAccountRouter
contract page on Etherscan (or whatever chain you want to send from). See Contract addresses forInterchainAccountRouter
addresses - 2.Under the
Contract
tab, find theWrite as Proxy
button. - 3.Click on the
Connect to Web3
button to connect your Wallet (i.e. Metamask). Make sure that you are on the correct network. - 4.Expand the
callRemote
box - 5.For destination domain, enter
$DESTINATION_DOMAIN
. You could use137
to send to mainnet Polygon, or see other Domain identifiers - 6.For the
_to
argument, enter the$RECIPIENT
- 7.For the
_value
argument, enter 0 - 8.For the
_data
argument, enter the$CALLDATA
- 9.Submit the transaction via your wallet/Metamask
You can call the
InterchainAccountRouter
directly using cast
. Make sure that you have a valid RPC URL for the origin chain and a private key with which you can pay for gas.cast send 0xE0Be420779cAd6E2bEA1E4F7C02F996D9ED1fCB5 \
'callRemote(uint32,address,uint256,bytes)' \
$DESTINATION_DOMAIN $RECIPIENT 0 $CALLDATA \
--rpc-url $RPC_URL --private-key $PRIVATE_KEY
If you view the transaction on a block explorer, you should be able to see the
Dispatch
event. You can see an example message sending transaction here.For your call to be executed on the destination chain, you must Manually pay for interchain gas, using
550000
for the gas amountLast modified 12d ago