Ниже приведён полный список всех сущностей (типы с @entity
) в субграфе Uniswap V3, с разбором каждого поля: что оно хранит и для чего используется.
Источники схемы:
• Определения сущностей — исходный файлschema.graphql
(GitHub) (GitHub)
• Общий обзор работы субграфа — Uniswap Docs (Uniswap Docs)
1. Factory
Хранит агрегированную статистику по всему протоколу.
Поле | Тип | Описание и назначение |
---|---|---|
id | ID! | Адрес контракта Factory. Используется для единственной точки входа в глобальные данные Uniswap V3. |
poolCount | BigInt! | Общее число созданных пулов. Позволяет следить за ростом экосистемы. |
txCount | BigInt! | Всего транзакций через субграф. Используется как индикатор активности. |
totalVolumeUSD ,totalVolumeETH | BigDecimal! | Накопленный объём свопов в USD/ETH за всё время. |
totalFeesUSD ,totalFeesETH | BigDecimal! | Сумма комиссий, начисленных протоколу, в USD/ETH. |
untrackedVolumeUSD | BigDecimal! | Объём в USD с учётом всех пулов (даже без точного курса). |
totalValueLockedUSD ,totalValueLockedETH | BigDecimal! | Текущий TVL протокола в USD/ETH, рассчитанный по последним ценам. |
totalValueLockedUSDUntracked ,totalValueLockedETHUntracked | BigDecimal! | TVL, включая невыверенные курсы. |
owner | ID! | Текущий владелец фабрики (адрес, управляющий параметрами через governance). |
2. Bundle
Единичная сущность для расчёта курса ETH→USD.
Поле | Тип | Описание |
---|---|---|
id | ID! | Всегда фиксировано в1 . |
ethPriceUSD | BigDecimal! | Текущий курс ETH в USD, используемый при пересчёте объёмов и TVL. |
3. Token
Описывает каждый токен, участвующий в пулах.
Поле | Тип | Что хранит и зачем |
---|---|---|
id | Bytes! | Адрес контракта токена. Обязателен для однозначной идентификации. |
symbol ,name | String! | Символ (USDC) и имя (USD Coin). Отображаются в интерфейсах и графиках. |
decimals | BigInt! | Число десятичных знаков. Необходимо для нормализации значений балансов и объёмов. |
totalSupply | BigInt! | Общий объём эмиссии токена. |
volume ,volumeUSD | BigDecimal! | Совокупный объём торгов в единицах токена и в USD (при пересчёте). |
untrackedVolumeUSD | BigDecimal! | Объём в USD по всем пулам, включая те, где не было белого списка для курса. |
feesUSD | BigDecimal! | Сумма комиссий, полученных по этому токену, в USD. |
txCount | BigInt! | Количество транзакций со включением этого токена. |
poolCount | BigInt! | Число пулов, в которых участвует токен. |
totalValueLocked ,totalValueLockedUSD ,totalValueLockedUSDUntracked | BigDecimal! | Суммарный TVL токена во всех пулах (в единицах и в USD, включая/исключая невыверенные курсы). |
derivedETH | BigDecimal! | Приблизительная цена токена в ETH (для других сетей – в нативной валюте). |
whitelistPools | [Pool!]! | Список пулов, прошедших в «белый список» для расчёта USD-цены. |
tokenDayData | [TokenDayData!]! @derivedFrom(field: "token") | Ссылка на историю по дням. |
4. Pool
Каждый пул ликвидности с двумя токенами.
Поле | Тип | Описание |
---|---|---|
id | Bytes! | Адрес контракта пула. |
createdAtTimestamp ,createdAtBlockNumber | BigInt! | Время и номер блока создания пула. |
token0 ,token1 | Token! | Два актива, составляющие пару. |
feeTier | BigInt! | Размер комиссии (обычно 500, 3000, 10000 — что соответствует 0.05%, 0.3%, 1%). |
liquidity | BigInt! | Текущая «в диапазоне» ликвидность. |
sqrtPrice ,tick ,observationIndex | BigInt! | Параметры «наблюдателя» цен и текущего рыночного уровня (тик). |
token0Price ,token1Price | BigDecimal! | Котировки: сколько token0 стоит в token1 и наоборот. |
volumeToken0 ,volumeToken1 | BigDecimal! | Накопленные объёмы свопов каждого токена. |
volumeUSD ,untrackedVolumeUSD ,feesUSD ,txCount | BigDecimal!, BigInt! | Объёмы и комиссии в USD, объём транзакций. |
collectedFeesToken0 ,collectedFeesToken1 ,collectedFeesUSD | BigDecimal! | Собранные сборы в токенах и в USD. |
totalValueLockedToken0 ,totalValueLockedToken1 ,totalValueLockedETH ,totalValueLockedUSD ,totalValueLockedUSDUntracked | BigDecimal! | TVL в разных единицах. |
liquidityProviderCount | BigInt! | Число адресов, предоставивших ликвидность. |
poolHourData ,poolDayData | [PoolHourData!]!, [PoolDayData!]! @derivedFrom(field: "pool") | История по часам и по дням. |
mints ,burns ,swaps ,collects ,ticks | … @derivedFrom | События внутри пула — отношения для выборки. |
5. Tick
Отдельная запись для каждого ценового тика в пуле.
Поле | Тип | Назначение |
---|---|---|
id | ID! | Составляется как<poolAddress>#<tickIdx> . |
poolAddress | Bytes! | Адрес пула. |
tickIdx | BigInt! | Индекс тика (целое число, шаги по логарифмической цене). |
pool | Pool! | Ссылка на пул. |
liquidityGross | BigInt! | Общая ликвидность, связанная с этим тиком (нижняя или верхняя граница). |
liquidityNet | BigInt! | Изменение ликвидности при пересечении тика. |
price0 ,price1 | BigDecimal! | Расчётная (константная) цена token0/token1 на этом тике. |
createdAtTimestamp ,createdAtBlockNumber | BigInt! | Когда тик впервые появился (для исторической выборки). |
6. Transaction и события внутри него
Transaction
Поле | Тип | Зачем нужно |
---|---|---|
id | ID! | Хэш транзакции. |
blockNumber | BigInt! | Номер блока включения. |
timestamp | BigInt! | Когда была подтверждена. |
gasUsed ,gasPrice | BigInt! | Метрики газовых затрат для оценки стоимости взаимодействия. |
mints ,burns ,swaps ,flashed ,collects | … @derivedFrom | Связанные события для подробного анализа. |
Mint / Burn
Добавление или удаление ликвидности.
Поле | Тип | Описание |
---|---|---|
id | ID! | Составляется как<txHash>#<index> . |
transaction | Transaction! | Ссылка на транзакцию. |
timestamp | BigInt! | Момент события. |
pool | Pool! | Пул, в котором добавили/сгорели ликвидность. |
token0 ,token1 | Token! | Токены пары. |
owner | Bytes! | Адрес владельца позиции. |
sender | Bytes | Контракт/сервис, вызвавший операцию. |
origin | Bytes! | Исходный EOA. |
amount | BigInt! | Ликвидность (единицы). |
amount0 ,amount1 | BigDecimal! | Количество каждого токена. |
amountUSD | BigDecimal? | USD-эквивалент (при наличии цен). |
tickLower ,tickUpper | BigInt! | Границы ценового диапазона. |
logIndex | BigInt! | Порядок события в логе транзакции. |
Swap
Обмен внутри пула.
Поле | Тип | Назначение |
---|---|---|
amount0 ,amount1 | BigDecimal! | Дельта token0/token1 (отрицательная/положительная). |
amountUSD | BigDecimal! | USD эквивалент свопа. |
sqrtPriceX96 | BigInt! | Новая цена пула в формате Q64.96. |
tick | BigInt! | Новое значение тика после свапа. |
sender ,recipient ,origin | Bytes! | Участники операции. |
logIndex | BigInt! | Позиция в логе. |
Collect
Снятие комиссий провайдером.
Поле | Тип | Описание |
---|---|---|
owner | Bytes! | Владелец позиции, получивший сборы. |
amount0 ,amount1 ,amountUSD | BigDecimal! | Количество снятых токенов и их USD-эквивалент. |
tickLower ,tickUpper | BigInt! | Диапазон позиции. |
logIndex | BigInt! | Порядковый номер в логе. |
Flash
Флэш-кредит (безпользовательская сессия).
Поле | Тип | Назначение |
---|---|---|
amount0 ,amount1 | BigDecimal! | Выданные токены флэш-кредита. |
amount0Paid ,amount1Paid | BigDecimal! | Возвращённые токены. |
amountUSD | BigDecimal! | USD-эквивалент флэша. |
sender ,recipient | Bytes! | Участники. |
logIndex | BigInt! | Позиция в логе. |
7. Исторические агрегаты
UniswapDayData
Сводка по протоколу за сутки.
Поле | Тип | Содержание |
---|---|---|
date | Int! | Дата (unix / 86400). |
volumeETH ,volumeUSD ,volumeUSDUntracked | BigDecimal! | Объёмы за день. |
feesUSD | BigDecimal! | Сумма комиссий. |
txCount | BigInt! | Число транзакций. |
tvlUSD | BigDecimal! | TVL в USD на конец дня. |
PoolDayData / PoolHourData
Срезы для каждого пула за день/час.
Поля (общие) | Тип | Значение |
---|---|---|
id | ID! | <poolAddress>-<date> |
periodStartUnix (hour) /date (day) | Int! | Время начала периода. |
liquidity ,sqrtPrice ,tick ,token0Price ,token1Price | … | Состояние пула на конец периода. |
tvlUSD ,volumeToken0/1 ,volumeUSD ,feesUSD ,txCount | … | Метрики объёмов, комиссий и активности. |
open ,high ,low ,close | BigDecimal! | OHLC для цены token0 за период. |
TokenDayData / TokenHourData
Аналогично по каждому токену.
Поля | Тип | Содержание |
---|---|---|
id | ID! | <tokenAddress>-<date> |
volume ,volumeUSD ,untrackedVolumeUSD | BigDecimal! | Объёмы торгуемости токена. |
totalValueLocked ,totalValueLockedUSD | BigDecimal! | TVL токена. |
priceUSD ,feesUSD | BigDecimal! | Цена токена и собранные комиссии в USD. |
open ,high ,low ,close | BigDecimal! | Дневные/часовые OHLC. |
Все эти сущности обеспечивают полную картину работы протокола и дают возможность:
- быстро получать агрегированные данные (Factory, UniswapDayData),
- анализировать историю активности по пулам и токенам (Day/HourData),
- детально распаковывать каждую транзакцию и связанные события внутри пулов.
Welcome to here!
Here we can learn from each other how to use SiYuan, give feedback and suggestions, and build SiYuan together.
Signup About