diff --git a/package.json b/package.json index 2a4baf5..61cb9d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@compolabs/spark-orderbook-ts-sdk", - "version": "1.3.4", + "version": "1.3.5", "type": "module", "main": "./dist/index.сjs", "module": "./dist/index.js", diff --git a/src/IndexerApi.ts b/src/IndexerApi.ts index ae348ed..7d850e2 100644 --- a/src/IndexerApi.ts +++ b/src/IndexerApi.ts @@ -1,10 +1,10 @@ import BN from "./utils/BN"; import { Fetch } from "./utils/Fetch"; import { - GetMatchOrderEventsParams, GetOrdersParams, - MatchOrderEvent, + GetTradeOrderEventsParams, Order, + TradeOrderEvent, Volume, } from "./interface"; @@ -92,45 +92,25 @@ export class IndexerApi extends Fetch { return response.Order; }; - getMatchOrderEvents = async ( - params: GetMatchOrderEventsParams, - ): Promise => { - const whereFilterParts: string[] = []; - - // if (params.user) { - // whereFilterParts.push(` - // _or: [ - // { owner: { _eq: "${params.user}" } }, - // { counterparty: { _eq: "${params.user}" } } - // ] - // `); - // } - - if (params.asset) { - whereFilterParts.push(`asset: { _eq: "${params.asset}" }`); - } - - const whereFilter = whereFilterParts.join(", "); - - const query = `query MatchOrderEventQuery { - MatchOrderEvent(limit: ${params.limit}, where: {${whereFilter}}, order_by: { timestamp: desc }) { + getTradeOrderEvents = async ( + params: GetTradeOrderEventsParams, + ): Promise => { + const query = `query TradeOrderEventQuery { + TradeOrderEvent(limit: ${params.limit}, order_by: { timestamp: desc }) { id - owner - counterparty - asset - match_size - match_price + trade_price + trade_size timestamp } }`; const response = await this.post< - IndexerResponse + IndexerResponse >({ query, }); - return response.MatchOrderEvent; + return response.TradeOrderEvent; }; getVolume = async (): Promise => { @@ -140,27 +120,25 @@ export class IndexerApi extends Fetch { const yesterdayISO = yesterday.toISOString(); - const query = `query MatchOrderEventQuery { - MatchOrderEvent(where: {timestamp: {_gte: "${yesterdayISO}"}}) { - id - match_size - match_price - timestamp + const query = `query TradeOrderEventQuery { + TradeOrderEvent(where: {timestamp: {_gte: "${yesterdayISO}"}}) { + trade_size + trade_price } }`; - type MatchOrderEventPartial = Pick< - MatchOrderEvent, - "id" | "match_size" | "match_price" + type TradeOrderEventPartial = Pick< + TradeOrderEvent, + "trade_size" | "trade_price" >; const response = await this.post< - IndexerResponse + IndexerResponse >({ query, }); - if (!response.MatchOrderEvent.length) { + if (!response.TradeOrderEvent.length) { return { volume24h: BN.ZERO.toString(), high24h: BN.ZERO.toString(), @@ -168,10 +146,10 @@ export class IndexerApi extends Fetch { }; } - const data = response.MatchOrderEvent.reduce( + const data = response.TradeOrderEvent.reduce( (prev, currentData) => { - const price = BigInt(currentData.match_price); - const size = BigInt(currentData.match_size); + const price = BigInt(currentData.trade_price); + const size = BigInt(currentData.trade_size); prev.volume24h += size; if (prev.high24h < price) { diff --git a/src/SparkOrderbook.ts b/src/SparkOrderbook.ts index 1179d1a..0a33b6c 100644 --- a/src/SparkOrderbook.ts +++ b/src/SparkOrderbook.ts @@ -18,15 +18,15 @@ import { Asset, CreateOrderParams, DepositParams, - GetMatchOrderEventsParams, GetOrdersParams, + GetTradeOrderEventsParams, MarketCreateEvent, - MatchOrderEvent, Options, OptionsSpark, Order, SparkParams, SpotOrderWithoutTimestamp, + TradeOrderEvent, Volume, WithdrawParams, WriteTransactionResponse, @@ -126,10 +126,10 @@ export class SparkOrderbook { return this.indexerApi.getOrders(params); }; - getMatchOrderEvents = async ( - params: GetMatchOrderEventsParams, - ): Promise => { - return this.indexerApi.getMatchOrderEvents(params); + getTradeOrderEvents = async ( + params: GetTradeOrderEventsParams, + ): Promise => { + return this.indexerApi.getTradeOrderEvents(params); }; fetchVolume = async (): Promise => { diff --git a/src/interface.ts b/src/interface.ts index e236f77..1d956ab 100644 --- a/src/interface.ts +++ b/src/interface.ts @@ -124,8 +124,7 @@ export interface Order { timestamp: string; } -export interface GetMatchOrderEventsParams { - asset: string; +export interface GetTradeOrderEventsParams { limit: number; } @@ -139,6 +138,13 @@ export interface MatchOrderEvent { timestamp: string; } +export interface TradeOrderEvent { + id: string; + timestamp: string; + trade_price: string; + trade_size: string; +} + export type Volume = { volume24h: string; high24h: string;