Get All Auction Bids Made By Certain User
In this tutorial, you will learn how to get all auction bids made by a certain user 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
Include User's Vesting Addresses
Moxie protocol users have Moxie token currently vesting in their vesting contract. A huge portion of them use these to bid on auctions and buy/sell fan tokens on the Moxie protocol.
Therefore, it is important that you include the user's vesting addresses in the query to get all auction bids made by a certain user. To get user's vesting contract addresses, click here.
Step 1: Add The API Query To Your Code
To get all auction bids made by a certain user, you can use the following query:
- Query
- Variable
- Response
query MyQuery($userAddresses: [Bytes!]) {
users(where: { addresses_in: $userAddress }) {
participatedAuctions {
auctionId
auctioningToken {
id
symbol
decimals
}
txHash
}
address
}
}
{
"userAddresses":[
"0x1a45675bd474c8e3056a7dbd19e738d7849c0d26"
]
}
{
"data": {
"users": [
{
"participatedAuctions": [
{
"auctionId": "37",
"auctioningToken": {
"id": "0xf08c342445e8ca84476941078a109a496244187f",
"symbol": "cid:goldy",
"decimals": "18"
},
"txHash": "0x2a96c4e8032e8eb270f17f8e4487630b171be3c20a75e8547196378f54ffab5f"
}
],
"address": "0x1a45675bd474c8e3056a7dbd19e738d7849c0d26"
}
]
}
}
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($userAddresses: [Bytes!]) {
users(where: { addresses_in: $userAddress }) {
participatedAuctions {
auctionId
auctioningToken {
id
symbol
decimals
}
txHash
}
address
}
}
`;
const variable = {
"userAddresses":[
"0x1a45675bd474c8e3056a7dbd19e738d7849c0d26"
]
}
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($userAddresses: [Bytes!]) {
users(where: { addresses_in: $userAddress }) {
participatedAuctions {
auctionId
auctioningToken {
id
symbol
decimals
}
txHash
}
address
}
}
`;
const variable = {
"userAddresses":[
"0x1a45675bd474c8e3056a7dbd19e738d7849c0d26"
]
}
try {
const data = await graphQLClient.request(query, variable);
console.log(data);
} catch (e) {
throw new Error(e);
}