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

parameter
whether
explain

orderId

Yes

eg:5d3b383f-5b58-4a35-87b6-2de8d23a492e

r

Yes

eg:0xxxxxxx

s

Yes

eg:0xxxxxxx

v

Yes

eg: 0xxx

rawTransaction

Yes

eg: 0xxxxxxx

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

field name
field
type
remark

orderId

orderId

String

orderId

tx hash

transactionHash

String

tx hash

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