mirror of
https://github.com/cerc-io/watcher-ts
synced 2025-01-25 04:20:33 +00:00
nikugogoi
7953ba2949
* Replace storage calls in uni-info-watcher with eth_calls * Handle eth_call reverts and catch them in uni-info-watcher
213 lines
3.4 KiB
TypeScript
213 lines
3.4 KiB
TypeScript
//
|
|
// Copyright 2021 Vulcanize, Inc.
|
|
//
|
|
|
|
import { gql } from 'graphql-request';
|
|
|
|
const resultEvent = `
|
|
{
|
|
block {
|
|
number
|
|
hash
|
|
timestamp
|
|
parentHash
|
|
}
|
|
tx {
|
|
hash
|
|
from
|
|
to
|
|
index
|
|
}
|
|
contract
|
|
eventIndex
|
|
|
|
event {
|
|
__typename
|
|
|
|
... on PoolCreatedEvent {
|
|
token0
|
|
token1
|
|
fee
|
|
tickSpacing
|
|
pool
|
|
}
|
|
|
|
... on InitializeEvent {
|
|
sqrtPriceX96
|
|
tick
|
|
}
|
|
|
|
... on MintEvent {
|
|
sender
|
|
owner
|
|
tickLower
|
|
tickUpper
|
|
amount
|
|
amount0
|
|
amount1
|
|
}
|
|
|
|
... on BurnEvent {
|
|
owner
|
|
tickLower
|
|
tickUpper
|
|
amount
|
|
amount0
|
|
amount1
|
|
}
|
|
|
|
... on SwapEvent {
|
|
sender
|
|
recipient
|
|
amount0
|
|
amount1
|
|
sqrtPriceX96
|
|
liquidity
|
|
tick
|
|
}
|
|
|
|
... on IncreaseLiquidityEvent {
|
|
tokenId
|
|
liquidity
|
|
amount0
|
|
amount1
|
|
}
|
|
|
|
... on DecreaseLiquidityEvent {
|
|
tokenId
|
|
liquidity
|
|
amount0
|
|
amount1
|
|
}
|
|
|
|
... on CollectEvent {
|
|
tokenId
|
|
recipient
|
|
amount0
|
|
amount1
|
|
}
|
|
|
|
... on TransferEvent {
|
|
from
|
|
to
|
|
tokenId
|
|
}
|
|
}
|
|
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const subscribeEvents = gql`
|
|
subscription SubscriptionEvents {
|
|
onEvent
|
|
${resultEvent}
|
|
}
|
|
`;
|
|
|
|
export const queryEvents = gql`
|
|
query getEvents($blockHash: String!, $contract: String) {
|
|
events(blockHash: $blockHash, contract: $contract)
|
|
${resultEvent}
|
|
}
|
|
`;
|
|
|
|
export const queryPosition = gql`
|
|
query getPosition($blockHash: String!, $tokenId: String!) {
|
|
position(blockHash: $blockHash, tokenId: $tokenId) {
|
|
nonce
|
|
operator
|
|
poolId
|
|
tickLower
|
|
tickUpper
|
|
liquidity
|
|
feeGrowthInside0LastX128
|
|
feeGrowthInside1LastX128
|
|
tokensOwed0
|
|
tokensOwed1
|
|
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryPositions = gql`
|
|
query getPosition($blockHash: String!, $contractAddress: String!, $tokenId: String!) {
|
|
positions(blockHash: $blockHash, contractAddress: $contractAddress, tokenId: $tokenId) {
|
|
value {
|
|
nonce,
|
|
operator,
|
|
token0,
|
|
token1,
|
|
fee,
|
|
tickLower,
|
|
tickUpper,
|
|
liquidity,
|
|
feeGrowthInside0LastX128,
|
|
feeGrowthInside1LastX128,
|
|
tokensOwed0,
|
|
tokensOwed1,
|
|
}
|
|
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryPoolIdToPoolKey = gql`
|
|
query poolIdToPoolKey($blockHash: String!, $poolId: String!) {
|
|
poolIdToPoolKey(blockHash: $blockHash, poolId: $poolId) {
|
|
token0
|
|
token1
|
|
fee
|
|
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryGetPool = gql`
|
|
query getPool($blockHash: String!, $token0: String!, $token1: String!, $fee: String!) {
|
|
getPool(blockHash: $blockHash, token0: $token0, token1: $token1, fee: $fee) {
|
|
pool
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryCallGetPool = gql`
|
|
query callGetPool($blockHash: String!, $contractAddress: String!, $key0: String!, $key1: String!, $key2: Int!) {
|
|
callGetPool(blockHash: $blockHash, contractAddress: $contractAddress, key0: $key0, key1: $key1, key2: $key2) {
|
|
value
|
|
proof {
|
|
data
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryGetContract = gql`
|
|
query queryGetContract($type: String!) {
|
|
getContract(type: $type) {
|
|
address
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const queryEventsInRange = gql`
|
|
query getEventsInRange($fromBlockNumber: Int!, $toBlockNumber: Int!) {
|
|
eventsInRange(fromBlockNumber: $fromBlockNumber, toBlockNumber: $toBlockNumber)
|
|
${resultEvent}
|
|
}
|
|
`;
|