Upload gas free orders

Interface Call Graph

Timing Diagram

remark

  1. Call the "Get Rate Interface" to obtain the return value isSupportNoGas, where Y indicates support for gas free exchange

  2. Call the "Create Order Interface" and pass the isSupportNoGas field. If successful, the noGasTxInfo field will be returned as the call to be signed_ Data

  3. For call_ Sign data to obtain signed data such as r, s, v, rawTransaction

  4. Call the "Upload gas free orders", pass r, s, v, rawTransaction, and the orderId returned by the "Create Order Interface" to complete the process

Step 3 Example Code

 const privateKey = ''; // private key
 const transactionData = '{
  gasLimit: 100000,
  data: '0xaxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  chainId: 56,
  to: '0x0000000000000xxxxx',
  nonce: 50,
  gasPrice: '3150000000'
}'
 const account = web3.eth.accounts.privateKeyToAccount(privateKey);
 const signedTx = await account.signTransaction(transactionData);
 const r = signedTx.r;
 const s = signedTx.s;
 const v = signedTx.v;
 const rawTransaction = signedTx.rawTransaction;

1.Interface call:

https://{host}/gt/swap/v1/noGasSwap

2. Request parameter instance

3. Example of request parameters


{
    //orderId
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "r": "0xxxx",
    "s": "0xxxxx",
    "v": "0xxx",
    "rawTransaction": "0xxxxxxxxx"
}

4.Example of returned results

{
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "transactionHash": "0xxxxxxxxxxxxxx"
}

5.Return Parameter Description

code example

java

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"orderId\": \"5d3b383f-xxx-xxx-87b6-xxx\",\n    \"r\": \"0xxxx\",\n    \"s\": \"0xxxx\",\n    \"v\": \"0xxxx\",\n    \"rawTransaction\": \"0xxxx\"\n}");
Request request = new Request.Builder()
  .url("https://www.swftc.info/gt/swap/v1/noGasSwap")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
```

curl

```powershell
curl --location 'https://www.swftc.info/gt/swap/v1/noGasSwap' \
--header 'Content-Type: application/json' \
--data '{
    "orderId": "5d3b383f-xxx-xxx-87b6-xxx",
    "r": "0xxxx",
    "s": "0xxxx",
    "v": "0xxxx",
    "rawTransaction": "0xxxx"
}'
```

Postman

Last updated