Ниже приведён полный список всех сущностей (типы с @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