sushiswap-watcher-ts/packages/v3-watcher/src/entity/Position.ts
Nabarun f23e440197 Generate watcher for sushiswap v3 subgraph (#1)
Part of [Generate watchers for sushiswap subgraphs deployed in graph-node](https://www.notion.so/Generate-watchers-for-sushiswap-subgraphs-deployed-in-graph-node-b3f2e475373d4ab1887d9f8720bd5ae6)

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Reviewed-on: cerc-io/sushiswap-watcher-ts#1
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-06-06 11:42:55 +00:00

90 lines
2.1 KiB
TypeScript

//
// Copyright 2021 Vulcanize, Inc.
//
import { Entity, PrimaryColumn, Column, Index } from 'typeorm';
import { decimalTransformer, bigintTransformer } from '@cerc-io/util';
import { Decimal } from 'decimal.js';
@Entity()
@Index(['blockNumber'])
export class Position {
@PrimaryColumn('varchar')
id!: string;
@PrimaryColumn('varchar', { length: 66 })
blockHash!: string;
@Column('integer')
blockNumber!: number;
@Column('varchar')
owner!: string;
@Column('varchar')
pool!: string;
@Column('varchar')
token0!: string;
@Column('varchar')
token1!: string;
@Column('varchar')
tickLower!: string;
@Column('varchar')
tickUpper!: string;
@Column('numeric', { transformer: bigintTransformer })
liquidity!: bigint;
@Column('numeric', { transformer: decimalTransformer })
depositedToken0!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
depositedToken1!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
withdrawnToken0!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
withdrawnToken1!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
collectedToken0!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
collectedToken1!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
collectedFeesToken0!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
collectedFeesToken1!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
amountDepositedUSD!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
amountWithdrawnUSD!: Decimal;
@Column('numeric', { transformer: decimalTransformer })
amountCollectedUSD!: Decimal;
@Column('varchar')
transaction!: string;
@Column('numeric', { transformer: bigintTransformer })
feeGrowthInside0LastX128!: bigint;
@Column('numeric', { transformer: bigintTransformer })
feeGrowthInside1LastX128!: bigint;
@Column('boolean', { default: false })
isPruned!: boolean;
@Column('boolean', { default: false })
isRemoved!: boolean;
}