Checking the status of a transaction
Squid extends the AxelarScan API in order to give details on the status of cross-chain transactions.
const getStatus = async (transactionId) => {
const result = await axios.get('https://testnet.api.0xsquid.com/v1/status', {
params: {
transactionId
}
});
return result.data;
}
Property | Description |
---|---|
transactionId | Transaction hash from the transaction submitted to the source chain. |
Property | Description |
---|---|
id | transaction hash |
status | Transaction status from Axelarscan:
As per Axelarscan, possible status response are outlined below:
{ SRC_GATEWAY_CALLED = "source_gateway_called", DEST_GATEWAY_APPROVED = "destination_gateway_approved", DEST_EXECUTED = "destination_executed", DEST_ERROR = "error", ERROR_FETCHING_STATUS = "error_fetching_status", } For non-GMP or send token type transaction, it returns status as 'sent'. |
gasStatus | Transaction gas status returned from Axelarscan. The possible gas status response are:
{ GAS_UNPAID = "gas_unpaid", GAS_PAID = "gas_paid", GAS_PAID_NOT_ENOUGH_GAS = "gas_paid_not_enough_gas", GAS_PAID_ENOUGH_GAS = "gas_paid_enough_gas", } |
isGMPTransaction | Returns true if the transaction is a GMP transaction, false if it is a bridge transfer |
fromChain.transactionId | Chain ID of fromChain |
fromChain.blockNumber | Transaction block number on fromChain |
fromChain.callEventStatus | SquidMulticall contract event status relating to transactionId on fromChain |
fromChain.callEventLog | SquidMulticall event logs for transactionId on fromChain |
toChain.transactionId | Transaction hash on toChain |
toChain.blockNumber | Transaction block number on toChain |
toChain.callEventStatus | Latest SquidMulticall event status on toChain |
toChain.callEventLog | SquidMulticall event logs on toChain |
error | Error returned from Axelarscan GMP API |
{
"status": true,
"data": {
"id": "0x217dcec2405ada6a29ad1d19632000a4ac304c156db2832cb5c90e6ac190fa87_0_2",
"status": "destination_executed",
"gasStatus": "gas_paid_enough_gas",
"isGMPTransaction": true,
"fromChain": {
"transactionId": "0x217dcec2405ada6a29ad1d19632000a4ac304c156db2832cb5c90e6ac190fa87",
"blockNumber": 14551699,
"callEventStatus": "",
"callEventLog": []
},
"toChain": {
"transactionId": "0x0a5797c28f49763b1f448949493d03c138fd6b99834057e3a6da79df26fa4df2",
"blockNumber": 28573721,
"callEventStatus": "CrossMulticallExecuted",
"callEventLog": [
{
"contractAddress": "0xC3468a191Fe51815b26535ED1F82C1f79e6Ec37D",
"args": {
"eventFragment": {
"name": "CrossMulticallExecuted",
"anonymous": false,
"inputs": [
{
"name": "payloadHash",
"type": "bytes32",
"indexed": true,
"components": null,
"arrayLength": null,
"arrayChildren": null,
"baseType": "bytes32",
"_isParamType": true
}
],
"type": "event",
"_isFragment": true
},
"name": "CrossMulticallExecuted",
"signature": "CrossMulticallExecuted(bytes32)",
"topic": "0x7c3aa10c5d96985be6de7d2e6fa79bdef95a95a9cb272f4113b3fe1ca89fedae",
"args": ["0xedb7c675f2e070c850cf680621b0c78720fd0a9296b8ef1e7de329e609a8845e"]
}
}
]
},
"error": {}
}
}
Last modified 5mo ago