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
: TheroundId
within 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
}
}