Entities

Overview

This sections briefs about all the available entities within Bunicorn Stable Subgraph. Entities define the schema of the subgraph, and represent the data that can be queried. Each entity has a set of fields that store relevant information about the entity. To see an interactive sandbox of all entities see the Graph Explorer.
Each entity is defined with a value type, which will always be a base AssemblyScript type, or a custom type provided by The Graph's custom TypeScript library. For more information on value types see here.

BuniCornFactory

The BuniCornFactory entity stores aggregate information across all Stable pools. It can be used to view stats about total liquidity, volume, amount of pools and more.
Field Name
Value Type
Description
id
ID
factory address
pairCount
Int
Total no of token pairs existing in the Stable factory
poolCount
Int
amount of pools created by the Stable factory
totalVolumeUSD
BigDecimal
all time USD volume across all pools (USD is derived)
totalVolumeETH
BigDecimal
all time volume in ETH across all pools (ETH is derived)
totalfeeUSD
BigDecimal
Total fees collected across all pools
untrackedVolumeUSD
BigDecimal
all time untracked volume in USD across all pools
untrackedFeeUSD
BigDecimal
all time untracked fee in USD across all pools
totalLiquidityUSD
BigDecimal
total liquidity across all pools stored as a derived USD amount
totalLiquidityETH
BigDecimal
total liquidity across all pools stored as a derived ETH amount
txCount
BigInt
all time amount of transactions across all pools

Token

Stores aggregated information for a specific token across all pools that token is included in.
Field Name
Value Type
Description
id
ID
token address
symbol
String
token symbol
name
String
token name
decimals
BigInt
token decimals
totalSupply
BigInt
total supply of the token
tradeVolume
BigDecimal
amount of token traded all time across all pools
tradeVolumeUSD
BigDecimal
amount of token in USD traded all time across pools (only for tokens with liquidity above minimum threshold)
untrackedVolumeUSD
BigDecimal
amount of token in USD traded all time across pools (no minimum liquidity threshold)
txCount
BigInt
amount of transactions all time in pools including token
totalLiquidity
BigDecimal
total amount of token provided as liquidity across all pools
derivedETH
BigDecimal
ETH per token
tokenDayData
[tokenDayData]
array of tokenDayData
pairDayDataBase
[pairDayData]
aray of pairDayData
pairDayDataQuote
[pairDayData]
aray of pairDayData
pairBase
[pair]
array of token pairs
pairquote
[pair]
array of token pairs

pair

Includes information about token pairs, volume information, liquidity information, and more.
Field Name
Value Type
Description
id
ID
token addresses concatenated with a dash
token0
Token
reference to token0 as stored in pool contract
token1
Token
reference to token1 as stored in pool contract
reserve0
BigDecimal
aggregated balance of token0 across all pools
reserve1
BigDecimal
aggregated balance of token1 across all pools
totalSupply
BigDecimal
total supply of liquidity token distributed to LPs
pool
pool
reference to the pools liquidity is being provided on
reserveETH
BigDecimal
total liquidity of the pair across all pools stored as an amount of ETH
reserveUSD
BigDecimal
total liquidity of the pair across all pools stored as an amount of USD
trackedReserveETH
BigDecimal
total liquidity with only tracked amount (see tracked amounts)
token0Price
BigDecimal
token0 per token1
token1Price
BigDecimal
token1 per token0
volumeToken0
BigDecimal
amount of token0 swapped for this pair
volumeToken1
BigDecimal
amount of token1 swapped for this pair
volumeUSD
BigDecimal
total amount swapped all time for this pair stored in USD (only tracked if USD liquidity is above minimum threshold)
feeUSD
BigDecimal
total fee collected for the pair across all pools
untrackedVolumeUSD
BigDecimal
total amount swapped all time for this pair stored in USD, no minimum liquidity threshold
untrackedfeeUSD
BigDecimal
total amount of fee collected all time for this pair stored in USD, no min threshold
txCount
BigInt
all time amount of transactions for this pair
createdAtTimestamp
BigInt
timestamp contract was created
createdAtBlockNumber
BigInt
BSC block contract was created
liquidityProviderCount
BigInt
count of LP's for the pair
pairHourData
[pairHourData]
Array of pairHourData
liquidityPositions
[LiquidityPosition]
array of liquidity providers, used as a reference to LP entities
liquidityPositionSnapshots
[LiquidityPositionSnashot]
array of liquidity providers, used as a reference to LP entities

pool

Information about a pool. Includes information about to each token within the pool like minimum/maximum price per token, liquidity burn, mint and swaps, virtual reserves, amplification factor and more. The pool entity mirrors the pool smart contract, and also contains aggregated information about use.
Field Name
Value Type
Description
id
ID
pool contract address
token0
Token
reference to token0 as stored in pool contract
token1
Token
reference to token1 as stored in pool contract
reserve0
BigDecimal
reserve of token0
reserve1
BigDecimal
reserve of token1
vreserve0
BigDecimal
virtual reserve of token0(based on amp factor)
vreserve1
BigDecimal
virtual reserve of token1(based on amp factor
totalSupply
BigDecimal
total supply of liquidity token distributed to LPs
pair
pair
reference to the token pair liquidity is being provided
reserveETH
BigDecimal
total liquidity in pool stored as an amount of ETH
reserveUSD
BigDecimal
total liquidity amount in pool stored as an amount of USD
trackedReserveETH
BigDecimal
total liquidity with only tracked amount (see tracked amounts)
volumeUSD
BigDecimal
total amount swapped all time in this pool stored in USD (only tracked if USD liquidity is above minimum threshold)
feeUSD
BigDecimal
total fee collected for the pair
amp
BigDecimal
amplification factor for the pair
liquidityFactor
BigDecimal
is equal to x*y, where x,y are actual balances
token0PriceMin
BigDecimal
Minimum token0 per token1
token0PriceMax
BigDecimal
Maximum token0 per token1
token0Price
BigDecimal
token0 per token1
token1PriceMin
BigDecimal
Minimum token1 per token0
token1PriceMax
BigDecimal
Maximum token1 per token0
token1Price
BigDecimal
token1 per token0
mints
[mint]
array of mints, to track latest mint on the pool
burns
[burn]
array of burns, to track burn activity on the pool
swaps
[swap]
array of swap, to track ltoken swaps on the pool
createdAtTimestamp
BigInt
timestamp contract was created
createdAtBlockNumber
BigInt
BSC block contract was created
liquidityProviderCount
BigInt
count of LP's for the pair
txCount
BigInt
all time amount of transactions on this pool
volumeToken0
BigDecimal
amount of token0 swapped on this pool
volumeToken1
BigDecimal
amount of token1 swapped on this pool
untrackedVolumeUSD
BigDecimal
total amount swapped all time in this pool stored in USD, no minimum liquidity threshold
untrackedFeeUSD
BigDecimal
total amount of fee collected all time in this pool stored in USD
poolHourData
[poolHourData]
Array of poolHourData
liquidityPositions
[LiquidityPosition]
array of liquidity providers, used as a reference to LP entities
liquidityPositionSnapshots
[LiquidityPositionSnapshot]
array of liquidity providers, used as a reference to LP entities

User

A user entity is created for any address that provides liquidity to a pool on one of the Bunicorn Stable Pools. This entity can be used to track open positions for users. LiquidityPosition entities can be referenced to get specific data about each position.
Field Name
Value Type
Description
id
ID
user address
liquidityPositions
[LiquidityPosition]
array of all liquidity positions user has open
usdSwapped
BigDecimal
total USD value swapped

LiquidityPosition

This entity is used to store data about a user's liquidity position. This information, along with information from the pool itself can be used to provide position sizes, token deposits, and more.
Field Name
Value Type
Description
id
ID
user address and pool address concatenated with a dash
user
User
reference to user
pair
pair
reference to the pair liquidity is being provided for
pool
pool
reference to the pool liquidity is being provided on
liquidityTokenBalance
BigDecimal
amount of LP tokens minted for this position

LiquidityPositionSnapshot

This entity provides snapshot or a gist of the users liquidity position, like token price, total supply, etc.
Field Name
Value Type
Description
id
ID
user address and pool address concatenated with a dash
liquidityPosition
[LiquidityPosition]
array of liquidity providers, used as a reference to LP entities
timestamp
Int
timestamp contract was created
block
Int
BSC block contract was created
user
User
reference to user
pair
pair
reference to the pair liquidity is being provided for
pool
pool
reference to the pool liquidity is being provided on
token0PriceUSD
BigDecimal
token0 price in USD
token1PriceUSD
BigDecimal
token1 price in USD
reserve0
BigDecimal
reserve of token0
reserve1
BigDecimal
reserve of token1
reserveUSD
BigDecimal
total liquidity amount in pool stored as an amount of USD
liquidityTokenTotalSupply
BigDecimal
total supply of the token liquidity is provided for
liquidityTokenBalance
BigDecimal
Balances of the token

Transaction

Transaction entities are created for each BSC transaction done through the Stable contracts. This subgraph tracks Mint, Burn, and Swap events on the Stable core contracts. Each transaction contains 3 arrays, and at least one of these arrays has a length = 1.
Field Name
Value Type
Description
id
ID
BSC transaction hash
blockNumber
BigInt
block transaction was mined in
timestamp
BigInt
timestamp for transaction
mints
[Mint]
array of Mint events within the transaction, 0 or greater
burns
[Burn]
array of Burn events within transaction, 0 or greater
swaps
[Swap]
array of Swap events within transaction, 0 or greater

Mint

Mint entities are created for every emitted Mint event on the Stable core contracts. The Mint entity stores key data about the event like token amounts, who sent the transaction, who received the liquidity, and more. This entity can be used to track liquidity provisions on pools.
Field Name
Value Type
Description
id
ID
Transaction hash plus index in the transaction mint array
transaction
Transaction
reference to the transaction Mint was included in
timestamp
BigInt
timestamp of Mint, used to sort recent liquidity provisions
pair
pair
reference to token pair
pool
pool
reference to pool
to
Bytes
recipient of liquidity tokens
liquidity
BigDecimal
amount of liquidity tokens minted
sender
Bytes
address that initiated the liquidity provision
amount0
BigDecimal
amount of token0 provided
amount1
BigDecimal
amount of token1 provided
logIndex
BigInt
index in the transaction event was emitted
amountUSD
BigDecimal
derived USD value of token0 amount plus token1 amount
feeTo
Bytes
address of fee recipient (if fee is on)
feeLiquidity
BigDecimal
amount of liquidity sent to fee recipient (if fee is on)

Burn

Burn entities are created for every emitted Burn event on the Stable core contracts. The Burn entity stores key data about the event like token amounts, who burned LP tokens, who received tokens, and more. This entity can be used to track liquidity removals on pools.
Field Name
Value Type
Description
id
ID
Transaction hash plus index in the transaction burn array
transaction
Transaction
reference to the transaction Burn was included in
timestamp
BigInt
timestamp of Burn, used to sort recent liquidity removals
pair
pair
reference to token pair
pool
pool
reference to pool
liquidity
BigDecimal
amount of liquidity tokens burned
sender
Bytes
address that initiated the liquidity removal
amount0
BigDecimal
amount of token0 removed
amount1
BigDecimal
amount of token1 removed
to
Bytes
recipient of tokens
logIndex
BigInt
index in the transaction event was emitted
amountUSD
BigDecimal
derived USD value of token0 amount plus token1 amount
needsComplete
Boolean
Flag to check whether or not burn is triggered
feeTo
Bytes
address of fee recipient (if fee is on)
feeLiquidity
BigDecimal
amount of tokens sent to fee recipient (if fee is on)

Swap

Swap entities are created for each token swap within a pool. The Swap entity can be used to get things like swap size (in tokens and USD), sender, recipient and more. See the Swap overview page for more information on amounts.
Field Name
Value Type
Description
id
ID
transaction hash plus index in Transaction swap array
transaction
Transaction
reference to transaction swap was included in
timestamp
BigInt
timestamp of swap, used for sorted lookups
pair
pair
reference to token pair
pool
pool
reference to pool
sender
Bytes
address that initiated the swap
from
Bytes
amount0In
BigDecimal
amount of token0 sold
amount1In
BigDecimal
amount of token1 sold
amount0Out
BigDecimal
amount of token0 received
amount1Out
BigDecimal
amount of token1 received
to
Bytes
recipient of output tokens
logIndex
BigInt
event index within transaction
origin
Bytes
origin of the swap
amountUSD
BigDecimal
derived amount of tokens sold in USD
feeUSD
BigDecimal
amount of fees for the swap in USD

Historical Entities

Since, tracking historic data on-chain is a tiresome job, and is expensive for grouped data, the subgraph tracks information grouped in daily buckets, using timestamps provided by contract events. These entities can be used to query things like total volume on a given day, price of a token on a given day, etc. For each DayData type, a new entity is created each day.

BuniCornDayData

Tracks data across all pools aggregated into a daily bucket.
Field Name
Value Type
Description
id
ID
unix timestamp for start of day / 86400 giving a unique day index
date
Int
unix timestamp for start of day
dailyVolumeETH
BigDecimal
total volume across all pools on this day, stored as a derived amount of ETH
dailyVolumeUSD
BigDecimal
total volume across all pools on this day, stored as a derived amount of USD
dailyVolumeUntracked
BigDecimal
untracked volume across all pools on this day
totalVolumeETH
BigDecimal
all time volume across all pools in ETH up to and including this day
totalLiquidityETH
BigDecimal
total liquidity across all pools in ETH up to and including this day
totalVolumeUSD
BigDecimal
all time volume across all pools in USD up to and including this day
totalLiquidityUSD
BigDecimal
total liquidity across all pools in USD up to and including this day
txCount
BigInt
number of transactions throughout this day

Pair Hour Data

Tracks pair data across each hour.
Field Name
Value Type
Description
id
ID
token address and hour id concatenated with a dash
hourStartUnix
Int
unix timestamp for start of hour
pair
pair
reference to token pair
reserve0
BigDecimal
reserve of token0 (updated during each transaction on pool)
reserve1
BigDecimal
reserve of token1 (updated during each transaction on pool)
reserveUSD
BigDecimal
reserve of token0 plus token1 stored as a derived USD amount
hourlyVolumeToken
BigDecimal
amount of token swapped per pair for an hour
hourlyVolumeETH
BigDecimal
amount of token swapped per pair for an hour stored as a derived amount of ETH
hourlyVolumeUSD
BigDecimal
amount of token swapped per pair for an hour stored as a derived amount of USD
hourlyTxns
BigInt
amount of transactions with this token across all pools

Pair Day Data

Tracks pair data across each Day.
Field Name
Value Type
Description
id
ID
token pair address and day id (day start timestamp in unix / 86400) concatenated with a dash
date
Int
unix timestamp for start of day
pairAddress
Bytes
addresses for token pair concatenated
token0
Token
reference to token0
token1
Token
reference to token1
reserve0
BigDecimal
reserve of token0 (updated during each transaction on pair)
reserve1
BigDecimal
reserve of token1 (updated during each transaction on pair)
totalSupply
BigDecimal
total supply of liquidity token distributed to LPs
reserveUSD
BigDecimal
reserve of token0 plus token1 stored as a derived USD amount
dailyVolumeToken0
BigDecimal
total amount of token0 swapped throughout day
dailyVolumeToken1
BigDecimal
total amount of token1 swapped throughout day
dailyVolumeUSD
BigDecimal
total volume for the pair throughout day
dailyTxns
BigInt
amount of transactions on pair throughout day

pool Hour Data

Tracks pool data across each Hour.
Field Name
Value Type
Description
id
ID
pool contract address and hour id concatenated with a dash
hourStartUnix
Int
unix timestamp for start of hour
pool
pool
reference to pool address
reserve0
BigDecimal
reserve of token0 (updated during each transaction on pool)
reserve1
BigDecimal
reserve of token1 (updated during each transaction on pool)
reserve0
BigDecimal
reserve of token0 (based on amp factor)
reserve1
BigDecimal
reserve of token1 (based on amp factor)
reserveUSD
BigDecimal
reserve of token0 plus token1 stored as a derived USD amount
hourlyVolumeToken
BigDecimal
amount of token swapped per pair for an hour
hourlyVolumeETH
BigDecimal
amount of token swapped per pair for an hour stored as a derived amount of ETH
hourlyVolumeUSD
BigDecimal
amount of token swapped per pair for an hour stored as a derived amount of USD
hourlyFeeUSD
BigDecimal
hourly fess for the pool
hourlyTxns
BigInt
amount of transactions with this token across all pools

pool Day Data

Tracks pool data across each day.
Field Name
Value Type
Description
id
ID
pool contract address and day id (day start timestamp in unix / 86400) concatenated with a dash
date
Int
unix timestamp for start of day
poolAddress
Bytes
address for pool contract
token0
Token
reference to token0
token1
Token
reference to token1
reserve0
BigDecimal
reserve of token0 (updated during each transaction on pool)
reserve1
BigDecimal
reserve of token1 (updated during each transaction on pool)
vreserve0
BigDecimal
virtual reserve of token0 (based on amp factor)
vreserve1
BigDecimal
virtual reserve of token1 (based on the amp factor)
totalSupply
BigDecimal
total supply of liquidity token distributed to LPs
reserveUSD
BigDecimal
reserve of token0 plus token1 stored as a derived USD amount
dailyVolumeToken0
BigDecimal
total amount of token0 swapped throughout day
dailyVolumeToken1
BigDecimal
total amount of token1 swapped throughout day
dailyVolumeUSD
BigDecimal
total volume within pool throughout day
dailyFeeUSD
BigDecimal
amount of fees on pool throughout day
dailyTxns
BigInt
amount of transactions on pool throughout day

Token Day Data

Tracks token data aggregated across all pools that include token.
Field Name
Value Type
Description
id
ID
token address and day id (day start timestamp in unix / 86400) concatenated with a dash
date
Int
unix timestamp for start of day
token
Token
reference to token entity
dailyVolumeToken
BigDecimal
amount of token swapped across all pools throughout day
dailyVolumeETH
BigDecimal
amount of token swapped across all pools throughout day stored as a derived amount of ETH
dailyVolumeUSD
BigDecimal
amount of token swapped across all pools throughout day stored as a derived amount of USD
dailyTxns
BigInt
amount of transactions with this token across all pools
totalLiquidityToken
BigDecimal
token amount of token deposited across all pools
totalLiquidityETH
BigDecimal
token amount of token deposited across all pools stored as amount of ETH
totalLiquidityUSD
BigDecimal
token amount of token deposited across all pools stored as amount of USD
priceUSD
BigDecimal
price of token in derived USD
Last modified 3mo ago