Comment on page
Build-Next-Tx
Returns the transaction data for the next transaction
v2/route/build-next-tx
How this endpoint is used :
- This method returns the transaction data for the next transaction
- If the transaction requires prior token approval, details of the token to be approved are also sent via the approvalData field. If
approvalData
is null, an approval tx is not needed.
get
https://api.socket.tech/v2
/route/build-next-tx
Returns the to address and data for the next transaction
API-KEY needs to be passed in the headers while making the
GET
requestParameter | Description |
---|---|
userTxType | |
txType | |
txData | data to add in transaction |
txTarget | to address for sending transaction |
chainId | ID of chain to perform transaction on |
totalUserTx | Total number of transactions to be performed by user in route |
activeRouteId | ID of active route |
value | value to send in the transaction |
userTxIndex | Index of transaction user last performed |
approvalData | Object with meta data if token approval is needed |
approvalData.minimumApprovalAmount | Minimum amount to give approval |
approvalData.approvalTokenAddress | Contract address of token to give approval |
approvalData.allowanceTarget | Address of token spender |
approvalData.owner | Address of token owner |
routeStatus |
approvalData
object is returned null for native tokens and returned for ERC-20 tokens. Allowance needs to be checked before making a tx when approvalData is returned. If contracts don't have sufficient allowance, user needs make an approval txFetching the transaction data for next transaction of user with an active bridging session with activeRouteId = 6419
Param | Value |
---|---|
activeRouteId | 6419 |
Response body
Response Headers
{
"success": true,
"result": {
"userTxType": "dex-swap",
"txType": "eth_sendTransaction",
"txData": "0x9fd7db6d0000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f0000000000000000000000003e8cb4bd04d81498ab4b94a392c334f5328b237b0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002c87c025200000000000000000000000000521709b3cd7f07e29722be0ba28a8ce0e806dbc3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f000000000000000000000000a0020444b98f67b77a3d6de6e66af11c87da086e0000000000000000000000003e8cb4bd04d81498ab4b94a392c334f5328b237b0000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005c0510f0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020800000000000000000000000a0020444b98f67b77a3d6de6e66af11c87da086e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024dd93f59a0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000000733d4004000000000000000000000000000000000000000000000000",
"txTarget": "0x2ddf16BA6d0180e5357d5e170eF1917a01b41fc0",
"chainId": 137,
"totalUserTx": 3,
"activeRouteId": 6419,
"value": "0x00",
"userTxIndex": 0,
"approvalData": {
"owner": "0x3e8cB4bd04d81498aB4b94a392c334F5328b237b",
"allowanceTarget": "0x2ddf16BA6d0180e5357d5e170eF1917a01b41fc0",
"approvalTokenAddress": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
"minimumApprovalAmount": "100000000"
}
}
}
access-control-allow-origin: *
content-length: 2335
content-type: application/json; charset=utf-8
date: Tue,12 Apr 2022 11:06:00 GMT
etag: W/"91f-BDMWfqWNnh1UnPxFHs8hcUiCd/k"
x-powered-by: Express
The data from the response is to be used to send a transaction as illustrated in example below :
// Pseudocode
const response = await buildNextTx();
let txParams = {
from: fromSigner.address,
to: txTarget,
data: txData,
value: value,
gasPrice: gasPrice,
gasLimit: sourceGasEstimate
}
const tx = await signer.sendTransaction(txParams);
await tx.wait()
- Once the transaction is sent, the
/route/prepare
endpoint needs to be called with the transaction hash, userTxIndex and activeRouteId.
This example is elaborated in the Multi Transaction Bridging example
TEST QUERY :
Last modified 1yr ago