@sealevel-dev/sdk
Version:
TypeScript SDK for Sealevel.
920 lines (901 loc) • 31.3 kB
TypeScript
import * as openapi_fetch from 'openapi-fetch';
import { ClientOptions } from 'openapi-fetch';
import EventEmitter from 'eventemitter3';
import { CloseEvent } from 'ws';
import { z } from 'zod';
/**
* This file was generated by codegen/openapi.ts
* Do not edit this file manually.
*/
interface paths {
"/assets/{assetAddress}/top-holders": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Get the top 100 holders of an asset. */
get: operations["getAssetTopHolders"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/pools/assets": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Get pools matching one or more asset addresses. */
get: operations["getAssetPools"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/pools/recent": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Get all pools created in the past 24 hours matching the provided filters. */
get: operations["getRecentPools"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/pools/top-traded": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Get the top traded pools for the given interval. */
get: operations["getTopTradedPools"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/pools/search": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Search for pools by name or symbol. */
get: operations["searchPools"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/pools/{poolAddress}/actions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Get actions for a pool. */
get: operations["getPoolActions"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
interface components {
schemas: {
GetAssetTopHoldersResponse: {
items: {
address: string;
amount: number;
tags: string[];
}[];
count: number;
};
ValidatationFieldError: {
/** @example username */
path: string;
message: string;
};
BaseError: {
code: string;
message: string;
};
ValidationError: components["schemas"]["BaseError"] & {
/** @enum {string} */
code?: "validation_failed";
/** @enum {string} */
message?: "Validation failed";
field_errors: components["schemas"]["ValidatationFieldError"][];
};
UnauthorizedError: components["schemas"]["BaseError"] & {
/** @enum {string} */
code?: "unauthorized";
/** @enum {string} */
message?: "Unauthorized";
};
InternalServerError: components["schemas"]["BaseError"] & {
/** @enum {string} */
code?: "internal_server_error";
/** @enum {string} */
message?: "Internal server error";
};
PoolAsset: {
address: string;
name: string;
symbol: string;
decimals: number;
icon_url: string | null;
twitter_url: string | null;
website_url: string | null;
dev: string | null;
price_usd: number | null;
price_native: number | null;
pool_amount: number | null;
circulating_supply: number | null;
total_supply: number | null;
fdv: number | null;
market_cap: number | null;
launchpad: string | null;
token_program_address: string;
dev_mint_count: number | null;
};
PartialPoolAsset: {
symbol: string;
address: string;
decimals: number;
pool_amount: number | null;
};
PoolAudit: {
mint_authority_disabled: boolean;
freeze_authority_disabled: boolean;
top_holders_percentage: number | null;
lp_burned_percentage: number | null;
};
PoolStats: {
price_change_percent: number;
buy_volume_usd: number;
sell_volume_usd: number;
buy_count: number;
sell_count: number;
trader_count: number;
buyer_count: number;
seller_count: number;
};
Pool: {
address: string;
dex: string;
type: string;
base_asset: components["schemas"]["PoolAsset"];
quote_asset: components["schemas"]["PartialPoolAsset"];
audit: components["schemas"]["PoolAudit"];
created_at: string;
liquidity: number | null;
stats_5m: components["schemas"]["PoolStats"];
stats_1h: components["schemas"]["PoolStats"];
stats_6h: components["schemas"]["PoolStats"];
stats_24h: components["schemas"]["PoolStats"];
bonding_curve: number | null;
migrated_to: string | null;
is_unreliable: boolean;
updated_at: string;
};
GetPoolsResponse: {
items: components["schemas"]["Pool"][];
};
GetRecentPoolsResponse: {
items: components["schemas"]["Pool"][];
total: number;
next: number;
};
/**
* @default created_at
* @enum {string}
*/
RecentPoolsSortBy: "created_at" | "market_cap" | "volume_5m" | "volume_1h" | "volume_6h" | "volume_24h" | "txns_5m" | "txns_1h" | "txns_6h" | "txns_24h" | "liquidity";
TopTradedPoolsResponse: {
items: components["schemas"]["Pool"][];
};
/** @enum {string} */
TopTradedPoolsInterval: "5m" | "1h" | "6h" | "24h";
SearchPoolsResponse: {
items: components["schemas"]["Pool"][];
total: number;
next: number;
};
SwapAction: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
type: "swap";
block_id: number;
txn_hash: string;
timestamp: string;
id: string;
trader_address: string;
offer_asset_address: string;
offer_amount: number;
offer_asset_price_usd: number;
return_asset_address: string;
return_amount: number;
return_asset_price_usd: number;
volume_usd: number;
};
ProvideAction: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
type: "provide";
block_id: number;
txn_hash: string;
timestamp: string;
id: string;
trader_address: string;
offer_asset_address: string;
offer_amount: number;
offer_asset_price_usd: number;
return_asset_address: string;
return_amount: number;
return_asset_price_usd: number;
volume_usd: number;
};
RemoveAction: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
type: "remove";
block_id: number;
txn_hash: string;
timestamp: string;
id: string;
trader_address: string;
offer_asset_address: string;
offer_amount: number;
offer_asset_price_usd: number;
return_asset_address: string;
return_amount: number;
return_asset_price_usd: number;
volume_usd: number;
};
Action: components["schemas"]["SwapAction"] | components["schemas"]["ProvideAction"] | components["schemas"]["RemoveAction"];
GetPoolActionsResponse: {
items: components["schemas"]["Action"][];
next?: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
interface operations {
getAssetTopHolders: {
parameters: {
query?: never;
header?: never;
path: {
assetAddress: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["GetAssetTopHoldersResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
getAssetPools: {
parameters: {
query: {
/** @description List of up to 40 asset addresses to filter by. */
addresses: string[] | string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["GetPoolsResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
getRecentPools: {
parameters: {
query?: {
/** @description Only return pools created after this date, up to 24 hours ago. */
created_after?: string;
sort_by?: components["schemas"]["RecentPoolsSortBy"];
sort_direction?: "asc" | "desc";
limit?: number;
offset?: number | null;
/** @description Set to true to exclude pools for pump.fun tokens. */
not_pumpfun_token?: "true" | "false";
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["GetRecentPoolsResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
getTopTradedPools: {
parameters: {
query: {
interval: components["schemas"]["TopTradedPoolsInterval"];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TopTradedPoolsResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal Server Error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
searchPools: {
parameters: {
query: {
query: string;
limit?: number;
offset?: number | null;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SearchPoolsResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
getPoolActions: {
parameters: {
query?: {
offset?: string;
trader_address?: string;
/** @description Only return actions after this date. */
after?: string | null;
/** @description Only return actions prior to this date. */
before?: string | null;
};
header?: never;
path: {
poolAddress: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ok */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["GetPoolActionsResponse"];
};
};
/** @description Bad request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ValidationError"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnauthorizedError"];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InternalServerError"];
};
};
};
};
}
type V1ApiClientOptions = ClientOptions & {
baseUrl?: string;
accessToken: string;
};
declare function createV1ApiClient(options: V1ApiClientOptions): openapi_fetch.Client<paths, `${string}/${string}`>;
/**
* This file was generated by codegen/openapi.ts
* Do not edit this file manually.
*/
type V1GetAssetTopHoldersResponse = components["schemas"]["GetAssetTopHoldersResponse"];
type V1ValidatationFieldError = components["schemas"]["ValidatationFieldError"];
type V1BaseError = components["schemas"]["BaseError"];
type V1ValidationError = components["schemas"]["ValidationError"];
type V1UnauthorizedError = components["schemas"]["UnauthorizedError"];
type V1InternalServerError = components["schemas"]["InternalServerError"];
type V1PoolAsset = components["schemas"]["PoolAsset"];
type V1PartialPoolAsset = components["schemas"]["PartialPoolAsset"];
type V1PoolAudit = components["schemas"]["PoolAudit"];
type V1PoolStats = components["schemas"]["PoolStats"];
type V1Pool = components["schemas"]["Pool"];
type V1GetPoolsResponse = components["schemas"]["GetPoolsResponse"];
type V1GetRecentPoolsResponse = components["schemas"]["GetRecentPoolsResponse"];
type V1RecentPoolsSortBy = components["schemas"]["RecentPoolsSortBy"];
type V1TopTradedPoolsResponse = components["schemas"]["TopTradedPoolsResponse"];
type V1TopTradedPoolsInterval = components["schemas"]["TopTradedPoolsInterval"];
type V1SearchPoolsResponse = components["schemas"]["SearchPoolsResponse"];
type V1SwapAction = components["schemas"]["SwapAction"];
type V1ProvideAction = components["schemas"]["ProvideAction"];
type V1RemoveAction = components["schemas"]["RemoveAction"];
type V1Action = components["schemas"]["Action"];
type V1GetPoolActionsResponse = components["schemas"]["GetPoolActionsResponse"];
type V2FirstPool = {
id: string;
createdAt: string;
};
type V2AssetAudit = {
mint_authority_disabled: boolean | null;
freeze_authority_disabled: boolean | null;
top_holders_percentage: number | null;
dev_migration_count: number | null;
};
type V2AssetStats = {
price_change: number | null;
holder_change: number | null;
liquidity_change: number | null;
volume_change: number | null;
buy_volume: number | null;
sell_volume: number | null;
buy_organic_volume: number | null;
sell_organic_volume: number | null;
buy_count: number | null;
sell_count: number | null;
trader_count: number | null;
organic_buyer_count: number | null;
net_buyer_count: number | null;
};
type V2Asset = {
id: string;
name: string;
symbol: string;
icon_url: string | null;
decimals: number;
twitter_url: string | null;
website_url: string | null;
dev_address: string | null;
circulating_supply: number | null;
total_supply: number | null;
token_program_address: string;
launchpad: string | null;
partner_config_address: string | null;
first_pool: V2FirstPool | null;
holder_count: number | null;
audit: V2AssetAudit | null;
organic_score: number | null;
organic_score_label: string | null;
tags: string[];
cexes: string[];
graduated_pool_id: string | null;
graduated_at: string | null;
fdv: number | null;
market_cap: number | null;
price_usd: number | null;
price_block_id: number | null;
liquidity: number | null;
stats_5m: V2AssetStats | null;
stats_1h: V2AssetStats | null;
stats_6h: V2AssetStats | null;
stats_24h: V2AssetStats | null;
};
type V2Pool = {
id: string;
chain: string;
dex: string;
type: string;
quote_asset_mint: string | null;
created_at: string | null;
liquidity: number | null;
volume_24h: number | null;
updated_at: string | null;
base_asset: V2Asset;
};
type V2AssetPrice = {
asset_mint: string;
block_id: number;
price_usd: number;
};
type V2Transaction = {
timestamp: string;
asset_mint: string;
type: string;
price_usd: number;
volume_usd: number;
volume_native: number;
trader_address: string;
signature: string;
amount: number;
is_mev: boolean;
is_mrp: boolean;
is_valid_price: boolean;
pool_id: string;
};
declare const RealtimeV1CloseCode: {
readonly InvalidMessage: 4000;
readonly UnknownOperation: 4001;
readonly InvalidParams: 4002;
readonly InternalError: 5000;
};
type RealtimeV1RecentPoolsTopic = "pools.recent";
type RealtimeV1TopTradedPoolsTopic = "pools.top-traded";
type RealtimeV1PoolTopic = `pool.${string}`;
type RealtimeV1AssetPriceTopic = `price.${string}`;
type RealtimeV1Topic = RealtimeV1RecentPoolsTopic | RealtimeV1TopTradedPoolsTopic | RealtimeV1PoolTopic | RealtimeV1AssetPriceTopic;
type RealtimeV1SubscribeMessage = {
type: "subscribe";
topics: RealtimeV1Topic[];
};
type RealtimeV1UnsubscribeMessage = {
type: "unsubscribe";
topics: RealtimeV1Topic[];
};
type RealtimeV1ClientMessage = RealtimeV1SubscribeMessage | RealtimeV1UnsubscribeMessage;
type RealtimeV1PoolCreatedEvent = {
type: "pool-created";
pool: V1Pool;
};
type RealtimeV1PoolUpdatedEvent = {
type: "pool-updated";
pool: V1Pool;
};
type RealtimeV1PoolGraduatedEvent = {
type: "pool-graduated";
pool: V1Pool;
};
type RealtimeV1TopTradedPoolsEvent = {
type: "top-traded-pools";
interval: V1TopTradedPoolsInterval;
pools: V1Pool[];
};
type RealtimeV1AssetPriceEvent = {
type: "price";
asset_id: string;
block_id: number;
price_usd: number;
};
type RealtimeV1Event = RealtimeV1PoolCreatedEvent | RealtimeV1PoolUpdatedEvent | RealtimeV1PoolGraduatedEvent | RealtimeV1TopTradedPoolsEvent | RealtimeV1AssetPriceEvent;
type RealtimeV1EventsMessage = {
type: "events";
events: RealtimeV1Event[];
};
type RealtimeV1ServerMessage = RealtimeV1EventsMessage;
declare const realtimeClientOptionsSchema$1: z.ZodObject<{
url: z.ZodDefault<z.ZodString>;
accessToken: z.ZodString;
reconnect: z.ZodDefault<z.ZodBoolean>;
reconnectInterval: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
url: string;
accessToken: string;
reconnect: boolean;
reconnectInterval: number;
}, {
accessToken: string;
url?: string | undefined;
reconnect?: boolean | undefined;
reconnectInterval?: number | undefined;
}>;
type RealtimeV1ClientOptions = z.input<typeof realtimeClientOptionsSchema$1>;
type RealtimeV1CloseEvent = CloseEvent & {
code: (typeof RealtimeV1CloseCode)[keyof typeof RealtimeV1CloseCode];
};
type RealtimeV1ClientEvents = {
disconnect: (event?: RealtimeV1CloseEvent) => void;
connect: () => void;
error: (error: Error) => void;
message: (message: RealtimeV1ServerMessage) => void;
};
declare class RealtimeV1Client extends EventEmitter<RealtimeV1ClientEvents> {
#private;
constructor(options: RealtimeV1ClientOptions);
connect: () => void;
send: (message: RealtimeV1ClientMessage) => void;
subscribe: (topics: RealtimeV1Topic[]) => void;
unsubscribe: (topics: RealtimeV1Topic[]) => void;
disconnect: () => void;
}
declare function createRealtimeV1Client(options: RealtimeV1ClientOptions): RealtimeV1Client;
declare const RealtimeV2CloseCode: {
readonly InvalidMessage: 4000;
readonly UnknownOperation: 4001;
readonly InvalidParams: 4002;
readonly InternalError: 5000;
};
type RealtimeV2RecentPoolsTopic = "pools.recent";
type RealtimeV2PoolTopic = `pool.${string}`;
type RealtimeV2AssetPriceTopic = `price.${string}`;
type RealtimeV2AssetTransactionsTopic = `txns.${string}`;
type RealtimeV2Topic = RealtimeV2RecentPoolsTopic | RealtimeV2PoolTopic | RealtimeV2AssetPriceTopic | RealtimeV2AssetTransactionsTopic;
type RealtimeV2SubscribeMessage = {
type: "subscribe";
topics: RealtimeV2Topic[];
};
type RealtimeV2UnsubscribeMessage = {
type: "unsubscribe";
topics: RealtimeV2Topic[];
};
type RealtimeV2ClientMessage = RealtimeV2SubscribeMessage | RealtimeV2UnsubscribeMessage;
type RealtimeV2PoolCreatedEvent = {
type: "pool_created";
data: V2Pool;
};
type RealtimeV2PoolUpdatedEvent = {
type: "pool_updated";
data: V2Pool;
};
type RealtimeV2TransactionEvent = {
type: "transaction";
data: V2Transaction;
};
type RealtimeV2AssetPriceEvent = {
type: "asset_price";
data: V2AssetPrice;
};
type RealtimeV2Event = RealtimeV2PoolCreatedEvent | RealtimeV2PoolUpdatedEvent | RealtimeV2TransactionEvent | RealtimeV2AssetPriceEvent;
type RealtimeV2EventsMessage = {
type: "events";
events: RealtimeV2Event[];
};
type RealtimeV2ServerMessage = RealtimeV2EventsMessage;
declare const realtimeClientOptionsSchema: z.ZodObject<{
url: z.ZodDefault<z.ZodString>;
accessToken: z.ZodString;
reconnect: z.ZodDefault<z.ZodBoolean>;
reconnectInterval: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
url: string;
accessToken: string;
reconnect: boolean;
reconnectInterval: number;
}, {
accessToken: string;
url?: string | undefined;
reconnect?: boolean | undefined;
reconnectInterval?: number | undefined;
}>;
type RealtimeV2ClientOptions = z.input<typeof realtimeClientOptionsSchema>;
type RealtimeV2CloseEvent = CloseEvent & {
code: (typeof RealtimeV2CloseCode)[keyof typeof RealtimeV2CloseCode];
};
type RealtimeV2ClientEvents = {
disconnect: (event?: RealtimeV2CloseEvent) => void;
connect: () => void;
error: (error: Error) => void;
message: (message: RealtimeV2ServerMessage) => void;
};
declare class RealtimeV2Client extends EventEmitter<RealtimeV2ClientEvents> {
#private;
constructor(options: RealtimeV2ClientOptions);
connect: () => void;
send: (message: RealtimeV2ClientMessage) => void;
subscribe: (topics: RealtimeV2Topic[]) => void;
unsubscribe: (topics: RealtimeV2Topic[]) => void;
disconnect: () => void;
}
declare function createRealtimeV2Client(options: RealtimeV2ClientOptions): RealtimeV2Client;
export { type RealtimeV1AssetPriceEvent, type RealtimeV1AssetPriceTopic, RealtimeV1Client, type RealtimeV1ClientEvents, type RealtimeV1ClientMessage, type RealtimeV1ClientOptions, RealtimeV1CloseCode, type RealtimeV1CloseEvent, type RealtimeV1Event, type RealtimeV1EventsMessage, type RealtimeV1PoolCreatedEvent, type RealtimeV1PoolGraduatedEvent, type RealtimeV1PoolTopic, type RealtimeV1PoolUpdatedEvent, type RealtimeV1RecentPoolsTopic, type RealtimeV1ServerMessage, type RealtimeV1SubscribeMessage, type RealtimeV1TopTradedPoolsEvent, type RealtimeV1TopTradedPoolsTopic, type RealtimeV1Topic, type RealtimeV1UnsubscribeMessage, type RealtimeV2AssetPriceEvent, type RealtimeV2AssetPriceTopic, type RealtimeV2AssetTransactionsTopic, RealtimeV2Client, type RealtimeV2ClientEvents, type RealtimeV2ClientMessage, type RealtimeV2ClientOptions, RealtimeV2CloseCode, type RealtimeV2CloseEvent, type RealtimeV2Event, type RealtimeV2EventsMessage, type RealtimeV2PoolCreatedEvent, type RealtimeV2PoolTopic, type RealtimeV2PoolUpdatedEvent, type RealtimeV2RecentPoolsTopic, type RealtimeV2ServerMessage, type RealtimeV2SubscribeMessage, type RealtimeV2Topic, type RealtimeV2TransactionEvent, type RealtimeV2UnsubscribeMessage, type V1Action, type V1ApiClientOptions, type V1BaseError, type V1GetAssetTopHoldersResponse, type V1GetPoolActionsResponse, type V1GetPoolsResponse, type V1GetRecentPoolsResponse, type V1InternalServerError, type V1PartialPoolAsset, type V1Pool, type V1PoolAsset, type V1PoolAudit, type V1PoolStats, type V1ProvideAction, type V1RecentPoolsSortBy, type V1RemoveAction, type V1SearchPoolsResponse, type V1SwapAction, type V1TopTradedPoolsInterval, type V1TopTradedPoolsResponse, type V1UnauthorizedError, type V1ValidatationFieldError, type V1ValidationError, type V2Asset, type V2AssetAudit, type V2AssetPrice, type V2AssetStats, type V2FirstPool, type V2Pool, type V2Transaction, createRealtimeV1Client, createRealtimeV2Client, createV1ApiClient };