Fuel Tanks API Package
Introduction to the Fuel Tanks API schema.
The following page explains how to set up and the usage of the Fuel Tanks API package.
Get an array of account details of who is taking part in the fuel tank created by you.
Query
Response
query GetAccounts {
GetAccounts(tankId: "cxNC9WmJa55k3EoXS3Fm4Bc69NaMGuY7qarchqPPn6jcWMA92") {
totalCount
pageInfo {
startCursor
endCursor
hasPreviousPage
hasNextPage
}
edges {
node {
id
externalId
account {
publicKey
address
}
}
}
}
}
{
"data": {
"GetFuelTanks": {
"totalCount": 1,
"pageInfo": {
"startCursor": "",
"endCursor": "",
"hasPreviousPage": false,
"hasNextPage": false
},
"edges": [
{
"node": {
"name": "lhjb4xu2",
"providesDeposit": false,
"tankId": {
"publicKey": "0xa6b0ba89304439830fa19e0523ad8afa4180bb0960d35a80b7423836dd7b1276",
"address": "cxNC9WmJa55k3EoXS3Fm4Bc69NaMGuY7qarchqPPn6jcWMA92"
},
"owner": {
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
}
},
"accounts": [
{
"id": 8177,
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
},
"externalId": null
}
],
"accountRules": [],
"dispatchRules": []
}
}
]
}
}
}
Get fuel tank details based on its name or fuel tank Id.
Query
Response
query GetFuelTank {
GetFuelTank(tankId: "cxNC9WmJa55k3EoXS3Fm4Bc69NaMGuY7qarchqPPn6jcWMA92") {
name
providesDeposit
tankId {
publicKey
address
}
owner {
account {
publicKey
address
}
}
accounts {
id
account {
publicKey
address
}
externalId
}
accountRules {
rule
value
}
dispatchRules {
rule
value
isFrozen
}
}
}
{
"data": {
"GetFuelTank": {
"name": "lhjb4xu2",
"providesDeposit": false,
"tankId": {
"publicKey": "0xa6b0ba89304439830fa19e0523ad8afa4180bb0960d35a80b7423836dd7b1276",
"address": "cxNC9WmJa55k3EoXS3Fm4Bc69NaMGuY7qarchqPPn6jcWMA92"
},
"owner": {
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
}
},
"accounts": [
{
"id": 8177,
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
},
"externalId": null
}
],
"accountRules": [],
"dispatchRules": []
}
}
}
Get multiple fuel tank details based on their name or fuel tank Id.
Query
Response
query GetFuelTanks{
GetFuelTanks(tankIds: ["0xa6b0ba89304439830fa19e0523ad8afa4180bb0960d35a80b7423836dd7b1276"]) {
totalCount
pageInfo {
startCursor
endCursor
hasPreviousPage
hasNextPage
}
edges {
node {
name
providesDeposit
tankId {
publicKey
address
}
owner {
account {
publicKey
address
}
}
accounts {
id
account {
publicKey
address
}
externalId
}
accountRules {
rule
value
}
dispatchRules {
rule
value
isFrozen
}
}
}
}
}
{
"data": {
"GetFuelTanks": {
"totalCount": 1,
"pageInfo": {
"startCursor": "",
"endCursor": "",
"hasPreviousPage": false,
"hasNextPage": false
},
"edges": [
{
"node": {
"name": "lhjb4xu2",
"providesDeposit": false,
"tankId": {
"publicKey": "0xa6b0ba89304439830fa19e0523ad8afa4180bb0960d35a80b7423836dd7b1276",
"address": "cxNC9WmJa55k3EoXS3Fm4Bc69NaMGuY7qarchqPPn6jcWMA92"
},
"owner": {
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
}
},
"accounts": [
{
"id": 8177,
"account": {
"publicKey": "0x087c3fdc6566230578362759d99e42ed300f5560c305262843b2c61aa2f1d11e",
"address": "cxJciMkfdBqR8C9ftA8qmgzP9bAQNzMzXZmwUDZ2qW5mFVgvm"
},
"externalId": null
}
],
"accountRules": [],
"dispatchRules": []
}
}
]
}
}
}
Adds a new account to the fuel tank.
Mutation
Response
mutation AddAccount {
AddAccount(
tankId: "cxNkbpQpiiza3JCH9fxmt6eJ8vDSFqzqVfz2a543QbPG4sN9K"
userId: "cxMsNPRk7Ek5V76NC4o2HTBrnxcUnxLA9btuKPcuPkmYi84Ts"
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"AddAccount": {
"id": 11249,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x360200bf71212e94365d5d3c5e7b2700a3bb9e2a19016b6502f625162024eb87fdcf7c00985e66eaff2d50e6635942b20efb5690191c5da56adc3a2720e64b8bf534d050",
"method": "AddAccount",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "da44d553-6a39-460b-9dd8-b35c6984016c"
}
}
}
Adds new account to the fuel tank in batch.
Mutation
Response
mutation BatchAddAccount {
BatchAddAccount(tankId: "cxNkbpQpiiza3JCH9fxmt6eJ8vDSFqzqVfz2a543QbPG4sN9K", userIds: ["cxMsNPRk7Ek5V76NC4o2HTBrnxcUnxLA9btuKPcuPkmYi84Ts","cxLc8HSeuiLiYmEG7XB8wQrbkRPNCaDi5dVpqPkyhWdEp6i63"]) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"BatchAddAccount": {
"id": 11256,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x360a00bf71212e94365d5d3c5e7b2700a3bb9e2a19016b6502f625162024eb87fdcf7c0800985e66eaff2d50e6635942b20efb5690191c5da56adc3a2720e64b8bf534d0500060820310ea5b09bef944c50a7f3ae82166304dd637263b1ba7e0fa0bab1f3f7b",
"method": "BatchAddAccount",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "76f65815-8743-4ab9-8e01-b3fc62137337"
}
}
}
Removes an account from the fuel tank in batch.
Mutation
Response
mutation BatchRemoveAccount {
BatchRemoveAccount(tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr", userIds: ["cxLkamf2QxHK9bcqhh56QAFc8TTmvWG33sUbkNakJV4yzdDcz"]) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"BatchRemoveAccount": {
"id": 11279,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x360b009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d040066f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f646009",
"method": "BatchRemoveAccount",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "af81b86e-2a71-4cf7-8784-60b777fed366"
}
}
}
Creates a fuel tank.
Mutation
Response
mutation CreateFuelTank {
CreateFuelTank(
name: "My Fuel Tank"
reservesExistentialDeposit: false
reservesAccountCreationDeposit: false
providesDeposit: false
accountRules: {requireToken: {collectionId: "7406", tokenId: {integer: 5839}}, whitelistedCallers: ["0x66f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f646009"]}
dispatchRules: [{requireToken: {collectionId: "7406", tokenId: {integer: 5839}}, whitelistedCallers: ["0x66f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f646009"], whitelistedCollections: null, maxFuelBurnPerTransaction: 0, userFuelBudget: {amount: 1, resetPeriod: 1}, tankFuelBudget: {amount: 1, resetPeriod: 1}}]
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"CreateFuelTank": {
"id": 11232,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3600304d79204675656c2054616e6b010000040000000010000466f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f64600905ee1c0000000000000000000000000000cf1600000000000000000000000000000304010000000404010000000008000466f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f64600901ee1c0000000000000000000000000000cf160000000000000000000000000000",
"method": "CreateFuelTank",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "e1d7e840-8735-4833-a614-c7c3c04219df"
}
}
}
Destroy the fuel tank.
Mutation
Response
mutation DestroyFuelTank {
DestroyFuelTank(tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr") {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"DestroyFuelTank": {
"id": 11280,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x360d009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d",
"method": "DestroyFuelTank",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "4c0440c5-340f-4de6-a3df-49f464f46656"
}
}
}
Dispatch a call using the 'tankId' subject to the rules of 'ruleSetId'.
Mutation
Response
mutation Dispatch {
Dispatch(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 0
dispatch: {
call:FUEL_TANKS
query:"mutation { AddAccount(tankId: \"cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr\", userId: \"cxMsNPRk7Ek5V76NC4o2HTBrnxcUnxLA9btuKPcuPkmYi84Ts\") { id encodedData } }"
variables:null
}
paysRemainingFee: false
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"Dispatch": {
"id": 11286,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3605009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d000000003602009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d00985e66eaff2d50e6635942b20efb5690191c5da56adc3a2720e64b8bf534d05000",
"method": "Dispatch",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "850956b8-b9e9-4e2d-98f4-ae7775e2d066"
}
}
}
Mutation
Response
mutation DispatchAndTouch {
DispatchAndTouch(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 0
dispatch: {
call:FUEL_TANKS
query:"mutation { AddAccount(tankId: \"cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr\", userId: \"cxMsNPRk7Ek5V76NC4o2HTBrnxcUnxLA9btuKPcuPkmYi84Ts\") { id encodedData } }"
variables:null
}
paysRemainingFee: false
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"DispatchAndTouch": {
"id": 11284,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3606009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d000000003602009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d00985e66eaff2d50e6635942b20efb5690191c5da56adc3a2720e64b8bf534d05000",
"method": "DispatchAndTouch",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "a9e62906-ac2f-4454-b17e-c0e5bf774da0"
}
}
}
Force set the fuel tank consumption.
Mutation
Response
mutation SetConsumption {
SetConsumption(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 0
userId: "cxLkamf2QxHK9bcqhh56QAFc8TTmvWG33sUbkNakJV4yzdDcz"
totalConsumed: 10
lastResetBlock: 100
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"SetConsumption": {
"id": 11287,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x360c009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d010066f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f64600900000000280164000000",
"method": "SetConsumption",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "9bc5fc3d-d5d2-415c-a0bf-96e5de529502"
}
}
}
Insert a new rule set for the fuel tank.
Mutation
Response
mutation InsertRuleSet {
InsertRuleSet(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 1
dispatchRules: { requireToken: {collectionId: "7153", tokenId: {integer: 68}} }
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"InsertRuleSet": {
"id": 11288,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3608009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d0100000000",
"method": "InsertRuleSet",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "2ed39eca-dc04-408d-ac99-1b44c19e2e90"
}
}
}
Apply 'mutation' to a fuel tank.
Mutation
Response
mutation MutateFuelTank {
MutateFuelTank(tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr", mutation: {reservesExistentialDeposit:true}) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"MutateFuelTank": {
"id": 11289,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3601009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d010101000000",
"method": "MutateFuelTank",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "a9a00d98-9f66-4dd1-a9e5-d4b6d42e556f"
}
}
}
Removes an account from the fuel tank.
Mutation
Response
mutation RemoveAccount {
RemoveAccount(tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr", userId: "cxLkamf2QxHK9bcqhh56QAFc8TTmvWG33sUbkNakJV4yzdDcz") {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"RemoveAccount": {
"id": 11291,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3603009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d0066f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f646009",
"method": "RemoveAccount",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "c63c8c9d-3fcb-412a-afac-703da5c2b145"
}
}
}
Remove the account rules from the fuel tank.
Mutation
Response
mutation RemoveAccountRuleData {
RemoveAccountRuleData(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 0
userId: "cxLkamf2QxHK9bcqhh56QAFc8TTmvWG33sUbkNakJV4yzdDcz"
rule: REQUIRE_TOKEN
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"RemoveAccountRuleData": {
"id": 11292,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3604009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d0066f522f1e17f25b3942916dcc60d92f0f8bc27d40083fadf5d65e9dd5f6460090000000005",
"method": "RemoveAccountRuleData",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "d3e79021-c7a4-4a28-a29d-effd90d95933"
}
}
}
Remove a rule set from the fuel tank.
Mutation
Response
mutation RemoveRuleSet {
RemoveRuleSet(tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr", ruleSetId: 0) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"RemoveRuleSet": {
"id": 11293,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3609009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d00000000",
"method": "RemoveRuleSet",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "6f05d6c2-69ee-42ca-8a5c-f55c8a34da8b"
}
}
}
Schedule mutating of
is_frozen
state that determines if the fuel tank or rule set can be frozen.Mutation
Response
mutation ScheduleMutateFreezeState {
ScheduleMutateFreezeState(
tankId: "cxMyyy9aiu8Wv8PDtnjkuSKzJ7n854hQNcNETZiHVS3s3xPhr"
ruleSetId: 0
isFrozen: true
) {
id
transactionId
transactionHash
state
encodedData
method
wallet {
account {
publicKey
address
}
}
idempotencyKey
}
}
{
"data": {
"ScheduleMutateFreezeState": {
"id": 11294,
"transactionId": null,
"transactionHash": null,
"state": "PENDING",
"encodedData": "0x3607009d69a6f1d45b1dabfcc1a365292753663444bdacb429035b26dac32660dca60d010000000001",
"method": "ScheduleMutateFreezeState",
"wallet": {
"account": {
"publicKey": "0x68b427dda4f3894613e113b570d5878f3eee981196133e308c0a82584cf2e160",
"address": "cxLnsZcpE1xETr7TQrMCCsRYpSfpHPUpJUFAfiZdZvU6Ccy4B"
}
},
"idempotencyKey": "e2609c5a-7b0d-4f1a-88c8-cf92c9491549"
}
}
}
Last modified 23d ago