Get All New Sell Bids On Certain Auction
In this tutorial, you will learn how to get all the bids created on certain auction by calling the Moxie Auction Subgraph API.
Pre-requisites
Install dependenciesgraphql
and graphql-request
to your project :- npm
- yarn
- pnpm
- bun
npm install graphql graphql-request
yarn add graphql graphql-request
pnpm add graphql graphql-request
bun install graphql graphql graphql-request
Step 1: Add The API Query To Your Code​
To get all bids on certain auction, you can use the following query:
- Query
- Variable
- Response
query MyQuery($auctionId: BigInt!) {
newSellOrders(where: { auctionId: $auctionId }) {
buyAmount
id
sellAmount
userId
blockInfo {
blockNumber
hash
timestamp
}
}
}
{
"auctionId": "1"
}
{
"data": {
"orders": [
{
"buyAmount": "1000000000000000000000",
"encodedOrderId": "0x00000000000000010000003635c9adc5dea000000000003635c9adc5dea00000",
"isExactOrder": true,
"price": "1",
"sellAmount": "1000000000000000000000",
"status": "Placed",
"timestamp": "1720255300",
"txHash": "0x031e467c48cfdfac9fffeee6edfd10135c27748ad304ef14c9062ce4381031f5",
"user": {
"address": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0"
},
"userWalletAddress": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0",
"volume": "1000"
}
]
}
}
graphql-request
library:- TypeScript
- JavaScript
index.ts
import { gql, GraphQLClient } from "graphql-request";
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_auction_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery($auctionId: BigInt!) {
newSellOrders(where: { auctionId: $auctionId }) {
buyAmount
id
sellAmount
userId
blockInfo {
blockNumber
hash
timestamp
}
}
}
`;
const variable = {
"auctionId": "1"
}
try {
const data = await graphQLClient.request(query, variable);
console.log(data);
} catch (e) {
throw new Error(e);
}
index.js
const { gql, GraphQLClient } = require("graphql-request");
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_auction_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery($auctionId: BigInt!) {
newSellOrders(where: { auctionId: $auctionId }) {
buyAmount
id
sellAmount
userId
blockInfo {
blockNumber
hash
timestamp
}
}
}
`;
const variable = {
"auctionId": "1"
}
try {
const data = await graphQLClient.request(query, variable);
console.log(data);
} catch (e) {
throw new Error(e);
}
Step 2: Execute Your Code​
Once you have your code ready, you can execute it by running the following command:
- TypeScript
- JavaScript
ts-node index.ts
node index.js
If it runs successfully, you should see the data returned in the terminal:
{
"data": {
"orders": [
{
"buyAmount": "1000000000000000000000",
"encodedOrderId": "0x00000000000000010000003635c9adc5dea000000000003635c9adc5dea00000",
"isExactOrder": true,
"price": "1",
"sellAmount": "1000000000000000000000",
"status": "Placed",
"timestamp": "1720255300",
"txHash": "0x031e467c48cfdfac9fffeee6edfd10135c27748ad304ef14c9062ce4381031f5",
"user": {
"address": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0"
},
"userWalletAddress": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0",
"volume": "1000"
}
]
}
}
Congrats! 🥳🎉 You've just fetched all the bids created on a certain auction!
Developer Support​
If you have any questions or need help with other use cases, feel free to join the /airstack Warpcast channel and ask your questions there.
Our team is always ready to help you with any questions you may have.