โ๏ธIntent Relay API
The Intent Relay API Service provides functionality for submitting transactions and retrieving transaction packets across different chains. This service is part of the cross-chain communication infrastructure.
Available Actions
submit- Submit a transaction to the intent relay serviceget_transaction_packets- Get transaction packets from the intent relay serviceget_packet- Get a specific packet from the intent relay service
Transaction Status Types
pending- No signaturesvalidating- Not enough signaturesexecuting- Enough signatures, no confirmed txn-hashexecuted- Has confirmed transaction-hash
API Examples
Submit Transaction
const request = {
action: 'submit',
params: {
chain_id: '1',
tx_hash: '0x123',
},
} satisfies IntentRelayRequest<'submit'>;
const response: SubmitTxResponse = await submitTransaction(request, 'https://api.example.com/relay');
// Response:
{
"success": true,
"message": "Transaction registered"
}Get Transaction Packets
const request = {
action: 'get_transaction_packets',
params: {
chain_id: '1',
tx_hash: '0x123',
},
} satisfies IntentRelayRequest<'get_transaction_packets'>;
const response: GetTransactionPacketsResponse = await getTransactionPackets(request, 'https://api.example.com/relay');
// Response:
{
"success": true,
"data": [
{
"src_chain_id": 6,
"src_tx_hash": "0x23a7eae34f6acf5cfadc43e714a4d188b0d6526b95c82c9b969e69d7222df5de",
"src_address": "a8e168789b1fa96de2fb816df56757ad950438a4",
"status": "executed",
"dst_chain_id": 146,
"conn_sn": 54,
"dst_address": "67a8cf2543a30b292a443430df213983951dca08",
"dst_tx_hash": "0xd7f1cf40154d3123eda3a94622bae13d879307fd3526cb45dd50951fee9cd244",
"signatures": [
"c172723dba3aec0f98d6602fcfbbcae9873ce3f4fc0eded70d64b6ad3f7806aa0b22d0fa3ea57679ec05f8c51a8562c9c979d247330966e9aaaf34a4dfae64e001"
],
"payload": "cafebabe"
}
]
}Get Packet
const request = {
action: 'get_packet',
params: {
chain_id: '1',
tx_hash: '0x123...abc',
conn_sn: '1'
}
} satisfies IntentRelayRequest<'get_packet'>;
const response: GetPacketResponse = await getPacket(request, 'https://api.example.com/relay');
// Response:
{
"success": true,
"data": {
"src_chain_id": 6,
"src_tx_hash": "0x781554a94bbd2ebd79ebaa01c645781ddf46610e5f1af8e5735d58b95ca6fbd6",
"src_address": "1d790ac96a0da4c249fd8838a7cc46b91fee3c5a",
"status": "executing",
"dst_chain_id": 21,
"dst_address": "0x26f83c5996f79229ef16cf7ca49eeb8682535e81ab59c30e561cc317bcc96a4a::sampledapp::0xde956ead1ac2c8fa99cb9851cb10003d6a08b1fa3120a3f073d576389dbb44fc",
"conn_sn": 14,
"signatures": [
"c172723dba3aec0f98d6602fcfbbcae9873ce3f4fc0eded70d64b6ad3f7806aa0b22d0fa3ea57679ec05f8c51a8562c9c979d247330966e9aaaf34a4dfae64e001"
],
"payload": "cafebabe"
}
}Type Definitions
For detailed type definitions, refer to the source code in packages/sdk/src/services/intentRelay/IntentRelayApiService.ts.
Last updated