6.0.0
+) of the AMB contracts allow any contract deployed on the Home chain to request and receive information from the Foreign chain asynchronously. For example, a contract on the Sokol chain can request data from the Kovan chain through the Kovan-Sokol AMB bridge, or a contract from the xDai chain can request information from Rinkeby or BSC.eth_call
eth_getStorageAt
eth_getBalance
eth_getBlockByNumber
eth_getBlockByHash
eth_getTransactionReceipt
eth_getTransactionByHash
_requestSelector
is one of the following identifiers:0x88b6c755140efe88bff94bfafa4a7fdffe226d27d92bd45385bb0cfa90986650
for eth_call
0xed99ae50430a72b5fd8de83256893be815884aa6e59d3e25e754c5269620e964
for eth_getBalance
0x771ca5f7250ac7deadb5ecd3a00e0d901edb92aff583f55c8db58ced9a140926
for eth_getStorageAt
0x21bed3a725245055f5aa932a62078981ec55f2464167839ea001f45c839c8808
for eth_getBlockByNumber
0x31deda753ce7d0fdf0af4d4d03a69913616c4b1377be882d407fbed7cd5a7a98
for eth_getBlockByHash
0x0f47e1863d0e05e42b4a2aeee1322f349562a50b6166c14622210ade49a0b274
for eth_getTransactionReceipt
0x05c2b13240a3dff2b14abb3b793a0a5763a11c190af35bd2b5279c5bac8f2a94
for eth_getTransactionByHash
_data
is an ABI encoded set of arguments for the corresponding call:eth_call
: (address _to, bytes _calldata)
eth_getBalance
: (address _account)
eth_getStorageAt
: (address _contract, bytes32 _slot)
eth_getBlockByNumber
: (uint256 _number)
eth_getBlockByHash
: (bytes32 _hash)
eth_getTransactionReceipt
: (bytes32 _txhash)
eth_getTransactionByHash
: (bytes32 _txhash)
requireToGetInformation
returns a message id assigned by the AMB contract for this information request.eth_call
, eth_getBalance
and eth_getStorageAt
) to access the blockchain state.confirmInformation
invocation.onInformationReceived
of the contract which originates the information request from step 1.messageId
is the message id associated with the request which the information is received forstatus
is the status of the request executionresult
is ABI-encoded response of the JSON RPC node on the information request.0x958671816193729054B7732c2741d93A2641138e
shows how to get the total supply of a token contract located on the Kovan chain.requestTotalSupply
lastMessageId
2
) of the response by calling status
response
0x790C7BF6e3F74d64BE78278a26A701efE80109ee
shows how to get the balance of KETH for an account on the Kovan chain.requestBalance
lastMessageId
2
) of the response by calling status
response
0x3b7e229686159a38956e7974F6603a2b23677097
shows how to get a storage slot value associated with a contract on the Kovan chain.requestEthGetStorageAt
lastMessageId
2
) of the response by calling status
response
0xF606BA8bD4066d73a5F350adB8605F3CD02aFe55
shows how to get a block header from the Kovan chain.requestEthGetBlockByNumber
or requestEthGetBlockByHash
.lastMessageId
2
) of the response by calling status
getBlockByNumber
or getBlockByHash
0x90f2B33cBC8E8d29763997f780b7C2589D9e17d3
shows how to get a receipt of a transaction from the Kovan chain.requestEthGetTransactionReceipt
lastMessageId
2
) of the response by calling status
getReceipt
0x2D95548B66f5528383B0FC95a26311f92C4AcdcE
shows how to get a transaction from the Kovan chain.requestEthGetTransactionByHash
lastMessageId
2
) of the response by calling status
transactions