Fetch and query a Fluxbeam pool info based on it's address.
We can query Fluxbeam pool data and filter them by fields using GraphQl APIs. Filters can be applied on any field, and in this case, we filter the pubkey field.
You can directly copy paste this code on replit and see it in action.
Fetch parsed pool info
async function getPoolByAddress(poolAddress) {
const SHYFT_API_KEY = "YOUR_SHYFT_API_KEY";
//get a fluxbeam Pool details using pool address
const operationsDoc = `
query MyQuery {
Fluxbeam_TokenSwap(
where: {pubkey: {_eq: ${JSON.stringify(poolAddress)}}}
) {
tokenPool
mintB
mintA
pubkey
curveType
}
}
`; //you can cherrypick the fields as per your requirement
const result = await fetch(
`https://programs.shyft.to/v0/graphql/accounts?api_key=${SHYFT_API_KEY}&network=mainnet-beta`, //SHYFT's GQL endpoint
{
method: "POST",
body: JSON.stringify({
query: operationsDoc,
variables: {},
operationName: "MyQuery",
}),
},
);
const { errors, data } = await result.json();
console.dir(data, { depth: null });
}
getPoolByAddress("GNezyhAbtximo2T63NBa96pYAnsfCXxW2dwcvziKfd9r");
//pool address for which you want the details
The Response contains mintA and mintB which is the liquidity pool pair. Please note that more fields such as feeAccount, TokenPool, curveType can also be cherrypicked as per your requirement.