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