JS Plugin
Tezos QuipuSwap Polywrapper JS Plugin
Client JS
Import Plugins
import { Web3ApiClient } from "@web3api/client-js"
import { tezosPlugin } from "@web3api/tezos-plugin-js"
Export URIs
Declare URIs for Quipuswap Wrapper and Tezos Plugin JS.
export const TEZOS_QUIPUSWAP_WRAPPER_URI = 'w3://ipfs/QmfXgYfxG7Uw7RCGLsAYFCuPcr7xqRePhTgMJVCdGiRMcZ'
export const TEZOS_PLUGIN_JS = 'w3://ens/tezos.web3api.eth'
Tezos Connections
export const TezosConnections = {
ghostnet: {
provider: "https://rpc.ghost.tzstats.com",
supportedTLDs: ['ith']
},
mainnet: {
provider: "https://rpc.tzstats.com",
supportedTLDs: ['tez']
},
}
Web3 Api Client
Create a Web3ApiClient client for query and mutation calls.
export const client = new Web3ApiClient({
plugins: [
{
uri: TEZOS_PLUGIN_JS,
plugin: tezosPlugin({
networks: {
mainnet: {
provider: "https://rpc.tzstats.com"
},
ghostnet: {
provider: "https://rpc.ghost.tzstats.com",
}
},
defaultNetwork: "ghostnet"
})
}
]
})
Mutation JS
Import Plugins
import { client, TEZOS_PLUGIN_JS, TEZOS_QUIPUSWAP_WRAPPER_URI } from "./client"
import add from "date-fns/add"
Connect Temple Wallet
Connect to Temple Wallet by passing network type, app name, and connection.
export const connectTempleWallet = (network) => {
return client.query({
uri: TEZOS_PLUGIN_JS,
query: `
mutation {
connectTempleWallet(
appName: "polydomains",
network: $network,
connection: $connection
)
},
`,
variables: {
network,
connection: {
network
}
}
})
}
Add Operator
export const addOperator = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
addOperator (
network: ghostnet,
params: $params
)
},
`,
variables: {
params: payload
}
})
}
Remove Operator
export const removeOperator = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
removeOperator (
network: ghostnet,
params: $params
)
},
`,
variables: {
network,
params: payload
}
})
}
Swap Direct
export const swapDirect = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
swapDirect(
network: ghostnet,
params: $params,
sendParams: $sendParams
)
},
`,
variables: {
params: payload.params,
sendParams: payload.sendParams
}
})
}
Transfer
export const transfer = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
transfer(
network: ghostnet,
params: $params,
sendParams: $sendParams
)
}
`,
variables: {
params: payload.params,
sendParams: payload.sendParams
}
})
}
Transfer From
export const transferFrom = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
transferFrom(
network: ghostnet,
from: $from,
params: $params,
sendParams: $sendParams
)
}
`,
variables: {
from: payload.from,
params: payload.params,
sendParams: payload.sendParams
}
})
}
Invest
export const invest = (network, payload) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
mutation {
invest(
network: ghostnet,
params: $params,
sendParams: $sendParams
)
}
`,
variables: {
params: payload.params,
sendParams: payload.sendParams
}
})
}
Batch Contract Calls
export const batchContractCalls = (payload) => {
return client.query({
uri: TEZOS_PLUGIN_JS,
query: `
mutation {
batchWalletContractCalls (
params: $params
)
},
`,
variables: {
params: payload
}
})
}
Query JS
Import Plugins
import { client } from './client'
import { TEZOS_QUIPUSWAP_WRAPPER_URI } from './client'
List Token Pairs
export const listTokenPairs = async (network) => {
return client.query({
uri: TEZOS_QUIPUSWAP_WRAPPER_URI,
query: `
query {
listTokenPairs(
network: ghostnet
)
}
`,
variables: {
network,
}
})
}
Last updated