Skip to main content

Class: GdexStreamService

gSwap SDK 2.0.0-rc.4


gSwap SDK 2.0.0-rc.4 / GdexStreamService

Class: GdexStreamService

Defined in: packages/gswap-sdk/dist/index.d.ts:1783

Client for the gSwap realtime stream (gdex WebSocket Protocol v1): JSON-RPC 2.0 over one raw WebSocket, with automatic reconnect and resubscribe.

Example​

const stream = new GdexStreamService();
await stream.connect();
await stream.subscribeLiquidity(event => console.log(event.action, event.owner), {
owner: 'client|618ae395c1c653111d3315be',
});

Constructors​

Constructor​

new GdexStreamService(config?): GdexStreamService

Defined in: packages/gswap-sdk/dist/index.d.ts:1799

Parameters​

config?​

GdexStreamConfig

Returns​

GdexStreamService

Methods​

connect()​

connect(): Promise<void>

Defined in: packages/gswap-sdk/dist/index.d.ts:1801

Open the connection. Resolves at once when already connected.

Returns​

Promise<void>


disconnect()​

disconnect(): void

Defined in: packages/gswap-sdk/dist/index.d.ts:1803

Close the connection and stop reconnecting.

Returns​

void


getBalance()​

getBalance(owner, tokenClassKey?): Promise<Record<string, unknown>>

Defined in: packages/gswap-sdk/dist/index.d.ts:1819

gdex_getBalance: an owner's balances, or only the one of tokenClassKey when given.

Parameters​

owner​

string

tokenClassKey?​

string

Returns​

Promise<Record<string, unknown>>


getBlockHeight()​

getBlockHeight(): Promise<{ blockNumber: number; timestamp: string; }>

Defined in: packages/gswap-sdk/dist/index.d.ts:1835

gdex_getBlockHeight: the block number the server reports, with its timestamp.

Returns​

Promise<{ blockNumber: number; timestamp: string; }>


getPool()​

getPool(selector): Promise<Record<string, unknown>>

Defined in: packages/gswap-sdk/dist/index.d.ts:1817

gdex_getPool: the current state of one pool, selected by its key or hash.

Parameters​

selector​

GdexPoolSelector

Returns​

Promise<Record<string, unknown>>


getPositions()​

getPositions(opts): Promise<{ bookmark: string; positions: Record<string, unknown>[]; }>

Defined in: packages/gswap-sdk/dist/index.d.ts:1824

gdex_getPositions: an owner's positions, optionally in one pool, a page at a time. Pass the returned bookmark back in as bookmark for the next page.

Parameters​

opts​
bookmark?​

string

limit?​

number

owner​

string

pool?​

GdexPoolKey

poolHash?​

string

Returns​

Promise<{ bookmark: string; positions: Record<string, unknown>[]; }>


getToken()​

getToken(tokenClassKey): Promise<Record<string, unknown>>

Defined in: packages/gswap-sdk/dist/index.d.ts:1848

gdex_getToken: the server's record of one token class, as it sends it.

Parameters​

tokenClassKey​

string

Returns​

Promise<Record<string, unknown>>


isConnected()​

isConnected(): boolean

Defined in: packages/gswap-sdk/dist/index.d.ts:1805

true while the socket is open (false while connecting, reconnecting or after disconnect()).

Returns​

boolean


ping()​

ping(): Promise<{ pong: boolean; serverTime: string; }>

Defined in: packages/gswap-sdk/dist/index.d.ts:1812

gdex_ping: a round trip that answers { pong, serverTime }.

Returns​

Promise<{ pong: boolean; serverTime: string; }>


quote()​

quote(params): Promise<Record<string, unknown>>

Defined in: packages/gswap-sdk/dist/index.d.ts:1840

gdex_quote: a quote over the stream; give exactly one of amountIn or amountOut.

Parameters​

params​
amountIn?​

string

amountOut?​

string

fee?​

number

tokenIn​

string

tokenOut​

string

Returns​

Promise<Record<string, unknown>>


request()​

request<T>(method, params?): Promise<T>

Defined in: packages/gswap-sdk/dist/index.d.ts:1807

Raw JSON-RPC escape hatch.

Type Parameters​

T​

T = unknown

Parameters​

method​

string

params?​

Record<string, unknown>

Returns​

Promise<T>


serverInfo()​

serverInfo(): Promise<Record<string, unknown>>

Defined in: packages/gswap-sdk/dist/index.d.ts:1810

gdex_serverInfo: the server's own description of itself, as it sends it.

Returns​

Promise<Record<string, unknown>>


subscribeBalances()​

subscribeBalances(owner, cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1862

Balance changes of one wallet.

Parameters​

owner​

string

cb​

(event) => void

opts?​

GdexSubscribeOptions & object

Returns​

Promise<GdexSubscription>


subscribeBlocks()​

subscribeBlocks(cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1878

Each block-height advance.

Parameters​

cb​

(event) => void

opts?​

GdexSubscribeOptions

Returns​

Promise<GdexSubscription>


subscribeLiquidity()​

subscribeLiquidity(cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1876

One event per committed AddLiquidity, RemoveLiquidity and CollectPositionFees, on both contract versions. Every filter is optional; with none, every liquidity event arrives. These events never appear on subscribeSwaps. There is no snapshot: read positions with getPositions. Deduplicate by transactionId plus positionId: a v1 BatchSubmit can hold several operations under one transaction id.

Parameters​

cb​

(event) => void

opts?​

GdexSubscribeOptions & GdexLiquidityFilter

Returns​

Promise<GdexSubscription>


subscribePool()​

subscribePool(selector, cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1860

State changes of one pool (price, tick, reserves, liquidity). These events carry no acting wallet: on v2 creator is whoever created the pool, not whoever just traded or added liquidity. For "who did it", use subscribeLiquidity (owner) or subscribeSwaps (sender).

Parameters​

selector​

GdexPoolSelector

cb​

(event) => void

opts?​

GdexSubscribeOptions

Returns​

Promise<GdexSubscription>


subscribePoolCreated()​

subscribePoolCreated(cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1866

Each newly created pool.

Parameters​

cb​

(event) => void

opts?​

GdexSubscribeOptions & object

Returns​

Promise<GdexSubscription>


subscribeSwaps()​

subscribeSwaps(cb, opts?): Promise<GdexSubscription>

Defined in: packages/gswap-sdk/dist/index.d.ts:1850

One event per committed swap. Omit the pool to receive every pool's swaps.

Parameters​

cb​

(event) => void

opts?​

GdexSubscribeOptions & object

Returns​

Promise<GdexSubscription>