LooksRare YOLO Subgraph
Introduction
The LooksRare YOLO Subgraph is designed to index data from the YOLO contract deployed on the Ethereum network. The YOLO contract is a system where users can deposit different types of tokens (ETH/ERC-20/ERC-721) to participate in YOLO rounds.
The LooksRare YOLO Subgraph organizes its data into several core entities. These entities include:
YOLO: Represents the overall YOLO state.Round: Contains information about a specific YOLO round.Entry: Describes a single user's participation in a round.Deposit: Represents a deposit made by a user in a round.Transaction: Represents an Ethereum transaction associated with a YOLO event.RoundStatusLog: Contains logs for the status changes of a round.
If you're unfamiliar with GraphQL, you may want to check out an Introduction to GraphQL.
The YOLO Subgraph is located at the following endpoint: YOLO Subgraph.
Entities Schema
More information about each field can also be found in the YOLO Smart Contract documentation.
Entry
An Entry entity represents an entry in a round.
id: The entry’s id (ID!).depositor: The address of the depositor (Bytes!).round: The Round entity associated with the entry (Round!).totalNumberOfEntries: The total number of entries for the depositor in the round (BigInt!).deposits: A list of Deposit entities associated with this entry ([Deposit!]!)
Round
A Round entity represents a round of the YOLO.
id: The round’s id (ID!).roundId: TheroundIdwithin the contract (BigInt!).status: The status of the round (Int!).lastStatusUpdate: The timestamp of the last status update (BigInt).statusLog: A list of RoundStatusLog entities associated with the round ([RoundStatusLog!]!).winner: The address of the round’s winner (Bytes).cutoffTime: The cutoff time for the round (BigInt!).drawnAt: The timestamp when the winner was drawn (BigInt).drawnHash: The transaction hash where the winner was drawn (Bytes).numberOfParticipants: The number of participants in the round (BigInt!).maximumNumberOfDeposits: The maximum number of deposits for the round (BigInt!).maximumNumberOfParticipants: The maximum number of participants for the round (BigInt!).valuePerEntry: The value per entry for the round (BigInt!).numberOfEntries: The number of entries in the round (BigInt!).deposits: A list of Deposit entities associated with the round ([Deposit!]!).transactions: A list of Transaction entities associated with the round ([Transaction!]!).
RoundStatusLog
A RoundStatusLog entity represents a log of a round's status change.
id: The log’s id (ID!).round: The Round entity associated with the status log (Round!).status: The status of the round (Int!).transaction: The transaction hash that caused the status to change (Bytes!).timestamp: The timestamp when the status was updated (BigInt!).block: The block number when the status was updated (BigInt!).
YOLO
A YOLO entity represents the overall YOLO game.
id: The YOLO entity id (ID!).totalRounds: The total number of rounds in the YOLO (BigInt!).
Deposit
A Deposit entity represents a deposit made in a round.
id: The deposit’s id (ID!).round: The Round entity associated with the deposit (Round!).entry: The Entry entity associated with the deposit (Entry!).transaction: The Transaction entity associated with the deposit (Transaction!).indice: The index of the deposit (BigInt!).tokenType: The type of token deposited (Int!).tokenAddress: The address of the token (Bytes!).tokenId: The id of the token (BigInt!).tokenAmount: The amount of tokens deposited (BigInt!).depositor: The address of the depositor (Bytes!).numberOfEntries: The number of entries corresponding to the deposit (BigInt!).claimed: Indicates whether the deposit has been claimed (Boolean!).withdrawn: Indicates whether the deposit has been withdrawn (Boolean!).claimedHash: The transaction hash when the deposit was claimed (Bytes).
Transaction
A Transaction entity represents a transaction in a round.
id: The transaction's hash (ID!).hash: The transaction’s hash (Bytes!).round: The Round entity associated with the transaction (Round!).depositor: The address of the depositor (Bytes!).deposits: A list of Deposit entities associated with the transaction ([Deposit!]!).totalNumberOfEntries: The total number of entries associated with the transaction (BigInt!).gasLimit: The gas limit of the transaction (BigInt!).gasPrice: The gas price of the transaction (BigInt!).block: The block number when the transaction was made (BigInt!).timestamp: The timestamp when the transaction was made (BigInt!).
Examples
Querying YOLO total rounds
This query retrieves the totalRounds of the YOLO game.
{
yolos {
totalRounds
}
}
Querying a Round
This query retrieves a specific Round by its id.
{
round(id: "4") {
id
roundId
status
lastStatusUpdate
cutoffTime
deposits {
tokenType
depositor
tokenAddress
tokenAmount
}
numberOfParticipants
maximumNumberOfDeposits
maximumNumberOfParticipants
valuePerEntry
numberOfEntries
drawnAt
winner
}
}
Querying an Entry
This query retrieves a specific Entry by its id.
{
entry(id: "4-0x992c659e3a3a2a7902c145441c77e8c216a1332f") {
id
depositor
round {
roundId
drawnAt
cutoffTime
}
totalNumberOfEntries
}
}
Querying a Deposit
This query retrieves a specific Deposit by its id.
{
deposit(id: "4-2") {
id
round {
roundId
lastStatusUpdate
}
entry {
id
totalNumberOfEntries
}
transaction {
hash
}
indice
tokenType
tokenAddress
tokenId
tokenAmount
depositor
numberOfEntries
claimed
withdrawn
claimedHash
}
}
Querying a Transaction
This query retrieves a specific Transaction by its id.
{
transaction(
id: "0x06332cd7009ac080ddb6af6d86e2a0756bc6d7c6071d29e89e5481edc43d38fa"
) {
id
hash
round {
roundId
}
depositor
totalNumberOfEntries
gasLimit
gasPrice
block
timestamp
}
}
Querying a RoundStatusLog
This query retrieves a specific RoundStatusLog by its id.
{
roundStatusLog(id: "4-2") {
id
round {
roundId
}
status
transaction
timestamp
block
}
}