@liberfi.io/types 0.1.5 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +226 -9
- package/dist/index.d.ts +226 -9
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -721,7 +721,7 @@ interface WalletPortfolios {
|
|
|
721
721
|
/**
|
|
722
722
|
* Cursor list result data
|
|
723
723
|
*/
|
|
724
|
-
interface CursorList<T> {
|
|
724
|
+
interface CursorList$1<T> {
|
|
725
725
|
startCursor?: string;
|
|
726
726
|
endCursor?: string;
|
|
727
727
|
hasPrev?: boolean;
|
|
@@ -779,7 +779,7 @@ interface SearchTokensOptions extends CursorListOptions {
|
|
|
779
779
|
/**
|
|
780
780
|
* Search token cursor list
|
|
781
781
|
*/
|
|
782
|
-
interface SearchTokenCursorList extends CursorList<Token> {
|
|
782
|
+
interface SearchTokenCursorList extends CursorList$1<Token> {
|
|
783
783
|
total?: number;
|
|
784
784
|
extra?: any;
|
|
785
785
|
}
|
|
@@ -882,7 +882,7 @@ interface IClient {
|
|
|
882
882
|
* @param options optional query options
|
|
883
883
|
* @returns token holders
|
|
884
884
|
*/
|
|
885
|
-
getTokenHolders(chain: Chain, address: string, options?: CursorListOptions): Promise<CursorList<TokenHolder>>;
|
|
885
|
+
getTokenHolders(chain: Chain, address: string, options?: CursorListOptions): Promise<CursorList$1<TokenHolder>>;
|
|
886
886
|
/**
|
|
887
887
|
* fetch token market data
|
|
888
888
|
* @param chain chain id
|
|
@@ -966,7 +966,7 @@ interface IClient {
|
|
|
966
966
|
* @param options optional query options
|
|
967
967
|
* @returns wallet's trade activities
|
|
968
968
|
*/
|
|
969
|
-
getWalletTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList<TradeActivity>>;
|
|
969
|
+
getWalletTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList$1<TradeActivity>>;
|
|
970
970
|
/**
|
|
971
971
|
* fetch token's trade activities
|
|
972
972
|
* @param chain chain id
|
|
@@ -974,7 +974,7 @@ interface IClient {
|
|
|
974
974
|
* @param options optional query options
|
|
975
975
|
* @returns token's trade activities
|
|
976
976
|
*/
|
|
977
|
-
getTokenTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList<TradeActivity>>;
|
|
977
|
+
getTokenTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList$1<TradeActivity>>;
|
|
978
978
|
/**
|
|
979
979
|
* get presigned upload url
|
|
980
980
|
* @returns presigned upload url
|
|
@@ -1203,6 +1203,17 @@ interface TweetContentMedia {
|
|
|
1203
1203
|
url: string;
|
|
1204
1204
|
}
|
|
1205
1205
|
|
|
1206
|
+
/**
|
|
1207
|
+
* AI generated meme information
|
|
1208
|
+
*/
|
|
1209
|
+
interface GeneratedMemeInfo {
|
|
1210
|
+
/** token symbol */
|
|
1211
|
+
symbol: string;
|
|
1212
|
+
/** token name */
|
|
1213
|
+
name?: string;
|
|
1214
|
+
/** token image url */
|
|
1215
|
+
image?: string;
|
|
1216
|
+
}
|
|
1206
1217
|
interface SubscribeTweetMediasOptions {
|
|
1207
1218
|
/**
|
|
1208
1219
|
* Callback function to handle new tweet medias
|
|
@@ -1228,6 +1239,11 @@ interface IMediaTrackClient {
|
|
|
1228
1239
|
sourceLanguage?: string;
|
|
1229
1240
|
sourceTweet?: boolean;
|
|
1230
1241
|
}): Promise<string>;
|
|
1242
|
+
/**
|
|
1243
|
+
* AI Generated Meme Launch Info
|
|
1244
|
+
* @param media media to generate meme
|
|
1245
|
+
*/
|
|
1246
|
+
generateMeme(media: IMedia): Promise<GeneratedMemeInfo>;
|
|
1231
1247
|
/**
|
|
1232
1248
|
* Subscribe to new tweet medias
|
|
1233
1249
|
* @param options subscribe tweet medias options
|
|
@@ -1242,15 +1258,214 @@ interface IMediaTrackClient {
|
|
|
1242
1258
|
subscribeTweetMediaToken(options: SubscribeTweetMediasOptions): ISubscription;
|
|
1243
1259
|
}
|
|
1244
1260
|
|
|
1245
|
-
|
|
1261
|
+
interface Channel {
|
|
1262
|
+
/** channel id */
|
|
1263
|
+
id: string;
|
|
1264
|
+
/** owner user id */
|
|
1265
|
+
owner_id: string;
|
|
1266
|
+
/** channel name */
|
|
1267
|
+
name: string;
|
|
1268
|
+
/** channel description */
|
|
1269
|
+
description?: string;
|
|
1270
|
+
/** channel icon */
|
|
1271
|
+
icon?: string;
|
|
1272
|
+
/** channel chain */
|
|
1273
|
+
chain: Chain;
|
|
1274
|
+
/** channel privacy */
|
|
1275
|
+
privacy: "public" | "private";
|
|
1276
|
+
/** whether the current user is subscribed to the channel */
|
|
1277
|
+
is_subscribed: boolean;
|
|
1278
|
+
/** number of subscribers */
|
|
1279
|
+
subscribe_count: number;
|
|
1280
|
+
/** number of sources */
|
|
1281
|
+
source_count: number;
|
|
1282
|
+
/** channel sources */
|
|
1283
|
+
sources?: Array<ChannelSource>;
|
|
1284
|
+
/** channel sinks */
|
|
1285
|
+
sinks?: Array<ChannelSink>;
|
|
1286
|
+
/** channel telegram url */
|
|
1287
|
+
telegram?: string;
|
|
1288
|
+
/** channel discord url */
|
|
1289
|
+
discord?: string;
|
|
1290
|
+
/** channel twitter url */
|
|
1291
|
+
twitter?: string;
|
|
1292
|
+
/** channel created at */
|
|
1293
|
+
created_at: string;
|
|
1294
|
+
/** channel updated at */
|
|
1295
|
+
updated_at: string;
|
|
1296
|
+
}
|
|
1297
|
+
interface ChannelSource {
|
|
1298
|
+
/** source id */
|
|
1299
|
+
id: string;
|
|
1300
|
+
/** channel id */
|
|
1301
|
+
channel_id: string;
|
|
1302
|
+
/** source type */
|
|
1303
|
+
type: string;
|
|
1304
|
+
/** source alias */
|
|
1305
|
+
alias?: string;
|
|
1306
|
+
/** source value */
|
|
1307
|
+
value?: string;
|
|
1308
|
+
/** source config */
|
|
1309
|
+
configs?: Record<string, any>;
|
|
1310
|
+
/** source created at */
|
|
1311
|
+
created_at: string;
|
|
1312
|
+
/** source updated at */
|
|
1313
|
+
updated_at: string;
|
|
1314
|
+
}
|
|
1315
|
+
interface BaseChannelEvent {
|
|
1316
|
+
/** event type */
|
|
1317
|
+
type: string;
|
|
1318
|
+
/** event created at */
|
|
1319
|
+
timestamp: number;
|
|
1320
|
+
}
|
|
1321
|
+
interface ChannelTradeEvent extends BaseChannelEvent {
|
|
1322
|
+
data: {
|
|
1323
|
+
wallet_address: string;
|
|
1324
|
+
chain: Chain;
|
|
1325
|
+
type: "buy" | "sell";
|
|
1326
|
+
base_icon: string;
|
|
1327
|
+
base_symbol: string;
|
|
1328
|
+
base_name: string;
|
|
1329
|
+
base_amount: string;
|
|
1330
|
+
quote_symbol: string;
|
|
1331
|
+
quote_address: string;
|
|
1332
|
+
quote_amount: string;
|
|
1333
|
+
quote_price: string;
|
|
1334
|
+
quote_price_usd: string;
|
|
1335
|
+
tx_hash: string;
|
|
1336
|
+
dex: string;
|
|
1337
|
+
launchpad: string;
|
|
1338
|
+
block_height: number;
|
|
1339
|
+
timestamp: string;
|
|
1340
|
+
};
|
|
1341
|
+
}
|
|
1342
|
+
type ChannelEvent = ChannelTradeEvent;
|
|
1343
|
+
interface ChannelSink {
|
|
1344
|
+
/** sink id */
|
|
1345
|
+
id: string;
|
|
1346
|
+
/** sink type */
|
|
1347
|
+
type: string;
|
|
1348
|
+
/** sink url */
|
|
1349
|
+
url?: string;
|
|
1350
|
+
/** sink config */
|
|
1351
|
+
config?: Record<string, any>;
|
|
1352
|
+
/** sink created at */
|
|
1353
|
+
created_at: string;
|
|
1354
|
+
/** sink updated at */
|
|
1355
|
+
updated_at: string;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
interface PageList<T> {
|
|
1359
|
+
list: Array<T>;
|
|
1360
|
+
page: number;
|
|
1361
|
+
size: number;
|
|
1362
|
+
total: number;
|
|
1363
|
+
total_pages: number;
|
|
1364
|
+
}
|
|
1365
|
+
interface CursorList<T> {
|
|
1366
|
+
data: Array<T>;
|
|
1367
|
+
total: number;
|
|
1368
|
+
next_timestamp?: number;
|
|
1369
|
+
has_more: boolean;
|
|
1370
|
+
}
|
|
1371
|
+
interface CreateChannelOptions {
|
|
1372
|
+
/** channel name */
|
|
1373
|
+
name: string;
|
|
1374
|
+
/** channel description */
|
|
1375
|
+
description?: string;
|
|
1376
|
+
/** channel icon */
|
|
1377
|
+
icon: string;
|
|
1378
|
+
/** channel chain */
|
|
1379
|
+
chain: string;
|
|
1380
|
+
/** channel privacy */
|
|
1381
|
+
privacy: "public" | "private";
|
|
1382
|
+
}
|
|
1383
|
+
interface UpdateChannelOptions {
|
|
1384
|
+
/** channel id */
|
|
1385
|
+
id: string;
|
|
1386
|
+
/** channel name */
|
|
1387
|
+
name?: string;
|
|
1388
|
+
/** channel description */
|
|
1389
|
+
description?: string;
|
|
1390
|
+
/** channel icon */
|
|
1391
|
+
icon?: string;
|
|
1392
|
+
/** channel chain */
|
|
1393
|
+
chain?: string;
|
|
1394
|
+
/** channel privacy */
|
|
1395
|
+
privacy?: "public" | "private";
|
|
1396
|
+
}
|
|
1397
|
+
interface UpdateChannelSourcesOptions {
|
|
1398
|
+
/** channel id */
|
|
1399
|
+
channel_id: string;
|
|
1400
|
+
/** wallet sources */
|
|
1401
|
+
sources: Array<ChannelSourceOption>;
|
|
1402
|
+
/** source type */
|
|
1403
|
+
type: string;
|
|
1404
|
+
}
|
|
1405
|
+
interface ChannelSourceOption {
|
|
1406
|
+
/** source type */
|
|
1407
|
+
type: string;
|
|
1408
|
+
/** source alias */
|
|
1409
|
+
alias?: string;
|
|
1410
|
+
/** source value */
|
|
1411
|
+
value?: string;
|
|
1412
|
+
/** source configs */
|
|
1413
|
+
configs?: any;
|
|
1414
|
+
}
|
|
1415
|
+
interface ListChannelsOptions {
|
|
1416
|
+
/** page number, starting from 1 */
|
|
1417
|
+
page?: number;
|
|
1418
|
+
/** number of items per page */
|
|
1419
|
+
size?: number;
|
|
1420
|
+
/** filter by chain id */
|
|
1421
|
+
chain?: string;
|
|
1422
|
+
/** fuzzy search by name */
|
|
1423
|
+
search?: string;
|
|
1424
|
+
/** sort field */
|
|
1425
|
+
sort?: string;
|
|
1426
|
+
/** sort order */
|
|
1427
|
+
order?: "asc" | "desc";
|
|
1428
|
+
}
|
|
1429
|
+
interface ListChannelEventsOptions {
|
|
1430
|
+
/** Timestamp filter: 0 = get latest 20, >0 = get events after this timestamp */
|
|
1431
|
+
timestamp?: number;
|
|
1432
|
+
/** Pagination: true = get events after timestamp (older), false = get events before timestamp (newer) */
|
|
1433
|
+
next_page?: boolean;
|
|
1434
|
+
/** Number of events to return, default 50, max 100 */
|
|
1435
|
+
limit?: number;
|
|
1436
|
+
}
|
|
1437
|
+
type ChannelsList = PageList<Channel>;
|
|
1438
|
+
type ChannelEventsList = CursorList<ChannelEvent>;
|
|
1439
|
+
interface IChannelsClient {
|
|
1440
|
+
get(id: string): Promise<Channel>;
|
|
1441
|
+
getChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1442
|
+
getMyChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1443
|
+
getSubscribedChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1444
|
+
subscribe(id: string): Promise<void>;
|
|
1445
|
+
unsubscribe(id: string): Promise<void>;
|
|
1446
|
+
getChannelEvents(channelId: string, options?: ListChannelEventsOptions): Promise<ChannelEventsList>;
|
|
1447
|
+
create(options: CreateChannelOptions): Promise<Channel>;
|
|
1448
|
+
update(options: UpdateChannelOptions): Promise<Channel>;
|
|
1449
|
+
updateSources(options: UpdateChannelSourcesOptions): Promise<Array<ChannelSource>>;
|
|
1450
|
+
getSources(channelId: string): Promise<Array<ChannelSource>>;
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
type index_ChannelEventsList = ChannelEventsList;
|
|
1454
|
+
type index_ChannelSourceOption = ChannelSourceOption;
|
|
1455
|
+
type index_ChannelsList = ChannelsList;
|
|
1456
|
+
type index_CreateChannelOptions = CreateChannelOptions;
|
|
1246
1457
|
type index_CursorListOptions = CursorListOptions;
|
|
1458
|
+
type index_GeneratedMemeInfo = GeneratedMemeInfo;
|
|
1247
1459
|
type index_GetTokenCandlesOptions = GetTokenCandlesOptions;
|
|
1248
1460
|
type index_GetTokenListOptions = GetTokenListOptions;
|
|
1249
1461
|
type index_GetTradeActivitiesOptions = GetTradeActivitiesOptions;
|
|
1462
|
+
type index_IChannelsClient = IChannelsClient;
|
|
1250
1463
|
type index_IClient = IClient;
|
|
1251
1464
|
type index_IMediaTrackClient = IMediaTrackClient;
|
|
1252
1465
|
type index_ISubscribeClient = ISubscribeClient;
|
|
1253
1466
|
type index_ISubscription = ISubscription;
|
|
1467
|
+
type index_ListChannelEventsOptions = ListChannelEventsOptions;
|
|
1468
|
+
type index_ListChannelsOptions = ListChannelsOptions;
|
|
1254
1469
|
type index_PortfolioPnlSubscribed = PortfolioPnlSubscribed;
|
|
1255
1470
|
type index_PortfolioSubscribed = PortfolioSubscribed;
|
|
1256
1471
|
type index_SearchTokenCursorList = SearchTokenCursorList;
|
|
@@ -1266,9 +1481,11 @@ type index_SwapRoutePlan = SwapRoutePlan;
|
|
|
1266
1481
|
type index_TokenFieldOption = TokenFieldOption;
|
|
1267
1482
|
type index_TokenFilterOption = TokenFilterOption;
|
|
1268
1483
|
type index_TokenSubscribed = TokenSubscribed;
|
|
1484
|
+
type index_UpdateChannelOptions = UpdateChannelOptions;
|
|
1485
|
+
type index_UpdateChannelSourcesOptions = UpdateChannelSourcesOptions;
|
|
1269
1486
|
type index_WalletPnlSubscribed = WalletPnlSubscribed;
|
|
1270
1487
|
declare namespace index {
|
|
1271
|
-
export { type
|
|
1488
|
+
export { type index_ChannelEventsList as ChannelEventsList, type index_ChannelSourceOption as ChannelSourceOption, type index_ChannelsList as ChannelsList, type index_CreateChannelOptions as CreateChannelOptions, type CursorList$1 as CursorList, type index_CursorListOptions as CursorListOptions, type index_GeneratedMemeInfo as GeneratedMemeInfo, type index_GetTokenCandlesOptions as GetTokenCandlesOptions, type index_GetTokenListOptions as GetTokenListOptions, type index_GetTradeActivitiesOptions as GetTradeActivitiesOptions, type index_IChannelsClient as IChannelsClient, type index_IClient as IClient, type index_IMediaTrackClient as IMediaTrackClient, type index_ISubscribeClient as ISubscribeClient, type index_ISubscription as ISubscription, type index_ListChannelEventsOptions as ListChannelEventsOptions, type index_ListChannelsOptions as ListChannelsOptions, type index_PortfolioPnlSubscribed as PortfolioPnlSubscribed, type index_PortfolioSubscribed as PortfolioSubscribed, type index_SearchTokenCursorList as SearchTokenCursorList, type index_SearchTokensOptions as SearchTokensOptions, type index_SendTxParams as SendTxParams, type index_SendTxResult as SendTxResult, type index_SubscribeTweetMediasOptions as SubscribeTweetMediasOptions, index_SwapMode as SwapMode, type index_SwapParams as SwapParams, type index_SwapRoute as SwapRoute, type index_SwapRoutePlan as SwapRoutePlan, type index_TokenFieldOption as TokenFieldOption, type index_TokenFilterOption as TokenFilterOption, type index_TokenSubscribed as TokenSubscribed, type index_UpdateChannelOptions as UpdateChannelOptions, type index_UpdateChannelSourcesOptions as UpdateChannelSourcesOptions, type index_WalletPnlSubscribed as WalletPnlSubscribed };
|
|
1272
1489
|
}
|
|
1273
1490
|
|
|
1274
1491
|
declare global {
|
|
@@ -1278,7 +1495,7 @@ declare global {
|
|
|
1278
1495
|
};
|
|
1279
1496
|
}
|
|
1280
1497
|
}
|
|
1281
|
-
declare const _default: "0.1.
|
|
1498
|
+
declare const _default: "0.1.7";
|
|
1282
1499
|
|
|
1283
1500
|
type NetworkId = "testnet" | "mainnet";
|
|
1284
1501
|
|
|
@@ -1308,4 +1525,4 @@ declare enum SolanaTokenProtocol {
|
|
|
1308
1525
|
type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});
|
|
1309
1526
|
declare const SOLANA_TOKEN_PROTOCOLS: SolanaTokenProtocol[];
|
|
1310
1527
|
|
|
1311
|
-
export { index as API, ApiError, Chain, ChainNamespace, type CursorList, type CursorListOptions, type GetTokenCandlesOptions, type GetTokenListOptions, type GetTradeActivitiesOptions, type IClient, type IMedia, type IMediaTrackClient, type ISubscribeClient, type ISubscription, type MediaToken, type NetworkId, type Portfolio, type PortfolioPnl, type PortfolioPnlSubscribed, type PortfolioSubscribed, SOLANA_TOKEN_PROTOCOLS, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, SolanaTokenProtocol, type SourceTweet, type SubscribeTweetMediasOptions, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Token, type TokenCandle, type TokenCreator, type TokenFieldOption, type TokenFilterOption, type TokenHistoryPriceObject, type TokenHolder, type TokenLaunchedFrom, type TokenLiquidity, type TokenMarketData, type TokenMigratedTo, type TokenProtocol, type TokenResolution, type TokenSecurity, type TokenSocialMedias, type TokenStats, type TokenStatsByResolution, type TokenSubscribed, type TradeActivity, type TradeDex, type TradeToken, type Tweet, type TweetContent, type TweetContentMedia, type TweetMedia, type TweetUser, type WalletPnlSubscribed, type WalletPortfolios, _default as version };
|
|
1528
|
+
export { index as API, ApiError, type BaseChannelEvent, Chain, ChainNamespace, type Channel, type ChannelEvent, type ChannelEventsList, type ChannelSink, type ChannelSource, type ChannelSourceOption, type ChannelTradeEvent, type ChannelsList, type CreateChannelOptions, type CursorList$1 as CursorList, type CursorListOptions, type GeneratedMemeInfo, type GetTokenCandlesOptions, type GetTokenListOptions, type GetTradeActivitiesOptions, type IChannelsClient, type IClient, type IMedia, type IMediaTrackClient, type ISubscribeClient, type ISubscription, type ListChannelEventsOptions, type ListChannelsOptions, type MediaToken, type NetworkId, type Portfolio, type PortfolioPnl, type PortfolioPnlSubscribed, type PortfolioSubscribed, SOLANA_TOKEN_PROTOCOLS, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, SolanaTokenProtocol, type SourceTweet, type SubscribeTweetMediasOptions, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Token, type TokenCandle, type TokenCreator, type TokenFieldOption, type TokenFilterOption, type TokenHistoryPriceObject, type TokenHolder, type TokenLaunchedFrom, type TokenLiquidity, type TokenMarketData, type TokenMigratedTo, type TokenProtocol, type TokenResolution, type TokenSecurity, type TokenSocialMedias, type TokenStats, type TokenStatsByResolution, type TokenSubscribed, type TradeActivity, type TradeDex, type TradeToken, type Tweet, type TweetContent, type TweetContentMedia, type TweetMedia, type TweetUser, type UpdateChannelOptions, type UpdateChannelSourcesOptions, type WalletPnlSubscribed, type WalletPortfolios, _default as version };
|
package/dist/index.d.ts
CHANGED
|
@@ -721,7 +721,7 @@ interface WalletPortfolios {
|
|
|
721
721
|
/**
|
|
722
722
|
* Cursor list result data
|
|
723
723
|
*/
|
|
724
|
-
interface CursorList<T> {
|
|
724
|
+
interface CursorList$1<T> {
|
|
725
725
|
startCursor?: string;
|
|
726
726
|
endCursor?: string;
|
|
727
727
|
hasPrev?: boolean;
|
|
@@ -779,7 +779,7 @@ interface SearchTokensOptions extends CursorListOptions {
|
|
|
779
779
|
/**
|
|
780
780
|
* Search token cursor list
|
|
781
781
|
*/
|
|
782
|
-
interface SearchTokenCursorList extends CursorList<Token> {
|
|
782
|
+
interface SearchTokenCursorList extends CursorList$1<Token> {
|
|
783
783
|
total?: number;
|
|
784
784
|
extra?: any;
|
|
785
785
|
}
|
|
@@ -882,7 +882,7 @@ interface IClient {
|
|
|
882
882
|
* @param options optional query options
|
|
883
883
|
* @returns token holders
|
|
884
884
|
*/
|
|
885
|
-
getTokenHolders(chain: Chain, address: string, options?: CursorListOptions): Promise<CursorList<TokenHolder>>;
|
|
885
|
+
getTokenHolders(chain: Chain, address: string, options?: CursorListOptions): Promise<CursorList$1<TokenHolder>>;
|
|
886
886
|
/**
|
|
887
887
|
* fetch token market data
|
|
888
888
|
* @param chain chain id
|
|
@@ -966,7 +966,7 @@ interface IClient {
|
|
|
966
966
|
* @param options optional query options
|
|
967
967
|
* @returns wallet's trade activities
|
|
968
968
|
*/
|
|
969
|
-
getWalletTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList<TradeActivity>>;
|
|
969
|
+
getWalletTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList$1<TradeActivity>>;
|
|
970
970
|
/**
|
|
971
971
|
* fetch token's trade activities
|
|
972
972
|
* @param chain chain id
|
|
@@ -974,7 +974,7 @@ interface IClient {
|
|
|
974
974
|
* @param options optional query options
|
|
975
975
|
* @returns token's trade activities
|
|
976
976
|
*/
|
|
977
|
-
getTokenTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList<TradeActivity>>;
|
|
977
|
+
getTokenTradeActivities(chain: Chain, address: string, options?: GetTradeActivitiesOptions): Promise<CursorList$1<TradeActivity>>;
|
|
978
978
|
/**
|
|
979
979
|
* get presigned upload url
|
|
980
980
|
* @returns presigned upload url
|
|
@@ -1203,6 +1203,17 @@ interface TweetContentMedia {
|
|
|
1203
1203
|
url: string;
|
|
1204
1204
|
}
|
|
1205
1205
|
|
|
1206
|
+
/**
|
|
1207
|
+
* AI generated meme information
|
|
1208
|
+
*/
|
|
1209
|
+
interface GeneratedMemeInfo {
|
|
1210
|
+
/** token symbol */
|
|
1211
|
+
symbol: string;
|
|
1212
|
+
/** token name */
|
|
1213
|
+
name?: string;
|
|
1214
|
+
/** token image url */
|
|
1215
|
+
image?: string;
|
|
1216
|
+
}
|
|
1206
1217
|
interface SubscribeTweetMediasOptions {
|
|
1207
1218
|
/**
|
|
1208
1219
|
* Callback function to handle new tweet medias
|
|
@@ -1228,6 +1239,11 @@ interface IMediaTrackClient {
|
|
|
1228
1239
|
sourceLanguage?: string;
|
|
1229
1240
|
sourceTweet?: boolean;
|
|
1230
1241
|
}): Promise<string>;
|
|
1242
|
+
/**
|
|
1243
|
+
* AI Generated Meme Launch Info
|
|
1244
|
+
* @param media media to generate meme
|
|
1245
|
+
*/
|
|
1246
|
+
generateMeme(media: IMedia): Promise<GeneratedMemeInfo>;
|
|
1231
1247
|
/**
|
|
1232
1248
|
* Subscribe to new tweet medias
|
|
1233
1249
|
* @param options subscribe tweet medias options
|
|
@@ -1242,15 +1258,214 @@ interface IMediaTrackClient {
|
|
|
1242
1258
|
subscribeTweetMediaToken(options: SubscribeTweetMediasOptions): ISubscription;
|
|
1243
1259
|
}
|
|
1244
1260
|
|
|
1245
|
-
|
|
1261
|
+
interface Channel {
|
|
1262
|
+
/** channel id */
|
|
1263
|
+
id: string;
|
|
1264
|
+
/** owner user id */
|
|
1265
|
+
owner_id: string;
|
|
1266
|
+
/** channel name */
|
|
1267
|
+
name: string;
|
|
1268
|
+
/** channel description */
|
|
1269
|
+
description?: string;
|
|
1270
|
+
/** channel icon */
|
|
1271
|
+
icon?: string;
|
|
1272
|
+
/** channel chain */
|
|
1273
|
+
chain: Chain;
|
|
1274
|
+
/** channel privacy */
|
|
1275
|
+
privacy: "public" | "private";
|
|
1276
|
+
/** whether the current user is subscribed to the channel */
|
|
1277
|
+
is_subscribed: boolean;
|
|
1278
|
+
/** number of subscribers */
|
|
1279
|
+
subscribe_count: number;
|
|
1280
|
+
/** number of sources */
|
|
1281
|
+
source_count: number;
|
|
1282
|
+
/** channel sources */
|
|
1283
|
+
sources?: Array<ChannelSource>;
|
|
1284
|
+
/** channel sinks */
|
|
1285
|
+
sinks?: Array<ChannelSink>;
|
|
1286
|
+
/** channel telegram url */
|
|
1287
|
+
telegram?: string;
|
|
1288
|
+
/** channel discord url */
|
|
1289
|
+
discord?: string;
|
|
1290
|
+
/** channel twitter url */
|
|
1291
|
+
twitter?: string;
|
|
1292
|
+
/** channel created at */
|
|
1293
|
+
created_at: string;
|
|
1294
|
+
/** channel updated at */
|
|
1295
|
+
updated_at: string;
|
|
1296
|
+
}
|
|
1297
|
+
interface ChannelSource {
|
|
1298
|
+
/** source id */
|
|
1299
|
+
id: string;
|
|
1300
|
+
/** channel id */
|
|
1301
|
+
channel_id: string;
|
|
1302
|
+
/** source type */
|
|
1303
|
+
type: string;
|
|
1304
|
+
/** source alias */
|
|
1305
|
+
alias?: string;
|
|
1306
|
+
/** source value */
|
|
1307
|
+
value?: string;
|
|
1308
|
+
/** source config */
|
|
1309
|
+
configs?: Record<string, any>;
|
|
1310
|
+
/** source created at */
|
|
1311
|
+
created_at: string;
|
|
1312
|
+
/** source updated at */
|
|
1313
|
+
updated_at: string;
|
|
1314
|
+
}
|
|
1315
|
+
interface BaseChannelEvent {
|
|
1316
|
+
/** event type */
|
|
1317
|
+
type: string;
|
|
1318
|
+
/** event created at */
|
|
1319
|
+
timestamp: number;
|
|
1320
|
+
}
|
|
1321
|
+
interface ChannelTradeEvent extends BaseChannelEvent {
|
|
1322
|
+
data: {
|
|
1323
|
+
wallet_address: string;
|
|
1324
|
+
chain: Chain;
|
|
1325
|
+
type: "buy" | "sell";
|
|
1326
|
+
base_icon: string;
|
|
1327
|
+
base_symbol: string;
|
|
1328
|
+
base_name: string;
|
|
1329
|
+
base_amount: string;
|
|
1330
|
+
quote_symbol: string;
|
|
1331
|
+
quote_address: string;
|
|
1332
|
+
quote_amount: string;
|
|
1333
|
+
quote_price: string;
|
|
1334
|
+
quote_price_usd: string;
|
|
1335
|
+
tx_hash: string;
|
|
1336
|
+
dex: string;
|
|
1337
|
+
launchpad: string;
|
|
1338
|
+
block_height: number;
|
|
1339
|
+
timestamp: string;
|
|
1340
|
+
};
|
|
1341
|
+
}
|
|
1342
|
+
type ChannelEvent = ChannelTradeEvent;
|
|
1343
|
+
interface ChannelSink {
|
|
1344
|
+
/** sink id */
|
|
1345
|
+
id: string;
|
|
1346
|
+
/** sink type */
|
|
1347
|
+
type: string;
|
|
1348
|
+
/** sink url */
|
|
1349
|
+
url?: string;
|
|
1350
|
+
/** sink config */
|
|
1351
|
+
config?: Record<string, any>;
|
|
1352
|
+
/** sink created at */
|
|
1353
|
+
created_at: string;
|
|
1354
|
+
/** sink updated at */
|
|
1355
|
+
updated_at: string;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
interface PageList<T> {
|
|
1359
|
+
list: Array<T>;
|
|
1360
|
+
page: number;
|
|
1361
|
+
size: number;
|
|
1362
|
+
total: number;
|
|
1363
|
+
total_pages: number;
|
|
1364
|
+
}
|
|
1365
|
+
interface CursorList<T> {
|
|
1366
|
+
data: Array<T>;
|
|
1367
|
+
total: number;
|
|
1368
|
+
next_timestamp?: number;
|
|
1369
|
+
has_more: boolean;
|
|
1370
|
+
}
|
|
1371
|
+
interface CreateChannelOptions {
|
|
1372
|
+
/** channel name */
|
|
1373
|
+
name: string;
|
|
1374
|
+
/** channel description */
|
|
1375
|
+
description?: string;
|
|
1376
|
+
/** channel icon */
|
|
1377
|
+
icon: string;
|
|
1378
|
+
/** channel chain */
|
|
1379
|
+
chain: string;
|
|
1380
|
+
/** channel privacy */
|
|
1381
|
+
privacy: "public" | "private";
|
|
1382
|
+
}
|
|
1383
|
+
interface UpdateChannelOptions {
|
|
1384
|
+
/** channel id */
|
|
1385
|
+
id: string;
|
|
1386
|
+
/** channel name */
|
|
1387
|
+
name?: string;
|
|
1388
|
+
/** channel description */
|
|
1389
|
+
description?: string;
|
|
1390
|
+
/** channel icon */
|
|
1391
|
+
icon?: string;
|
|
1392
|
+
/** channel chain */
|
|
1393
|
+
chain?: string;
|
|
1394
|
+
/** channel privacy */
|
|
1395
|
+
privacy?: "public" | "private";
|
|
1396
|
+
}
|
|
1397
|
+
interface UpdateChannelSourcesOptions {
|
|
1398
|
+
/** channel id */
|
|
1399
|
+
channel_id: string;
|
|
1400
|
+
/** wallet sources */
|
|
1401
|
+
sources: Array<ChannelSourceOption>;
|
|
1402
|
+
/** source type */
|
|
1403
|
+
type: string;
|
|
1404
|
+
}
|
|
1405
|
+
interface ChannelSourceOption {
|
|
1406
|
+
/** source type */
|
|
1407
|
+
type: string;
|
|
1408
|
+
/** source alias */
|
|
1409
|
+
alias?: string;
|
|
1410
|
+
/** source value */
|
|
1411
|
+
value?: string;
|
|
1412
|
+
/** source configs */
|
|
1413
|
+
configs?: any;
|
|
1414
|
+
}
|
|
1415
|
+
interface ListChannelsOptions {
|
|
1416
|
+
/** page number, starting from 1 */
|
|
1417
|
+
page?: number;
|
|
1418
|
+
/** number of items per page */
|
|
1419
|
+
size?: number;
|
|
1420
|
+
/** filter by chain id */
|
|
1421
|
+
chain?: string;
|
|
1422
|
+
/** fuzzy search by name */
|
|
1423
|
+
search?: string;
|
|
1424
|
+
/** sort field */
|
|
1425
|
+
sort?: string;
|
|
1426
|
+
/** sort order */
|
|
1427
|
+
order?: "asc" | "desc";
|
|
1428
|
+
}
|
|
1429
|
+
interface ListChannelEventsOptions {
|
|
1430
|
+
/** Timestamp filter: 0 = get latest 20, >0 = get events after this timestamp */
|
|
1431
|
+
timestamp?: number;
|
|
1432
|
+
/** Pagination: true = get events after timestamp (older), false = get events before timestamp (newer) */
|
|
1433
|
+
next_page?: boolean;
|
|
1434
|
+
/** Number of events to return, default 50, max 100 */
|
|
1435
|
+
limit?: number;
|
|
1436
|
+
}
|
|
1437
|
+
type ChannelsList = PageList<Channel>;
|
|
1438
|
+
type ChannelEventsList = CursorList<ChannelEvent>;
|
|
1439
|
+
interface IChannelsClient {
|
|
1440
|
+
get(id: string): Promise<Channel>;
|
|
1441
|
+
getChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1442
|
+
getMyChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1443
|
+
getSubscribedChannels(options?: ListChannelsOptions): Promise<ChannelsList>;
|
|
1444
|
+
subscribe(id: string): Promise<void>;
|
|
1445
|
+
unsubscribe(id: string): Promise<void>;
|
|
1446
|
+
getChannelEvents(channelId: string, options?: ListChannelEventsOptions): Promise<ChannelEventsList>;
|
|
1447
|
+
create(options: CreateChannelOptions): Promise<Channel>;
|
|
1448
|
+
update(options: UpdateChannelOptions): Promise<Channel>;
|
|
1449
|
+
updateSources(options: UpdateChannelSourcesOptions): Promise<Array<ChannelSource>>;
|
|
1450
|
+
getSources(channelId: string): Promise<Array<ChannelSource>>;
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
type index_ChannelEventsList = ChannelEventsList;
|
|
1454
|
+
type index_ChannelSourceOption = ChannelSourceOption;
|
|
1455
|
+
type index_ChannelsList = ChannelsList;
|
|
1456
|
+
type index_CreateChannelOptions = CreateChannelOptions;
|
|
1246
1457
|
type index_CursorListOptions = CursorListOptions;
|
|
1458
|
+
type index_GeneratedMemeInfo = GeneratedMemeInfo;
|
|
1247
1459
|
type index_GetTokenCandlesOptions = GetTokenCandlesOptions;
|
|
1248
1460
|
type index_GetTokenListOptions = GetTokenListOptions;
|
|
1249
1461
|
type index_GetTradeActivitiesOptions = GetTradeActivitiesOptions;
|
|
1462
|
+
type index_IChannelsClient = IChannelsClient;
|
|
1250
1463
|
type index_IClient = IClient;
|
|
1251
1464
|
type index_IMediaTrackClient = IMediaTrackClient;
|
|
1252
1465
|
type index_ISubscribeClient = ISubscribeClient;
|
|
1253
1466
|
type index_ISubscription = ISubscription;
|
|
1467
|
+
type index_ListChannelEventsOptions = ListChannelEventsOptions;
|
|
1468
|
+
type index_ListChannelsOptions = ListChannelsOptions;
|
|
1254
1469
|
type index_PortfolioPnlSubscribed = PortfolioPnlSubscribed;
|
|
1255
1470
|
type index_PortfolioSubscribed = PortfolioSubscribed;
|
|
1256
1471
|
type index_SearchTokenCursorList = SearchTokenCursorList;
|
|
@@ -1266,9 +1481,11 @@ type index_SwapRoutePlan = SwapRoutePlan;
|
|
|
1266
1481
|
type index_TokenFieldOption = TokenFieldOption;
|
|
1267
1482
|
type index_TokenFilterOption = TokenFilterOption;
|
|
1268
1483
|
type index_TokenSubscribed = TokenSubscribed;
|
|
1484
|
+
type index_UpdateChannelOptions = UpdateChannelOptions;
|
|
1485
|
+
type index_UpdateChannelSourcesOptions = UpdateChannelSourcesOptions;
|
|
1269
1486
|
type index_WalletPnlSubscribed = WalletPnlSubscribed;
|
|
1270
1487
|
declare namespace index {
|
|
1271
|
-
export { type
|
|
1488
|
+
export { type index_ChannelEventsList as ChannelEventsList, type index_ChannelSourceOption as ChannelSourceOption, type index_ChannelsList as ChannelsList, type index_CreateChannelOptions as CreateChannelOptions, type CursorList$1 as CursorList, type index_CursorListOptions as CursorListOptions, type index_GeneratedMemeInfo as GeneratedMemeInfo, type index_GetTokenCandlesOptions as GetTokenCandlesOptions, type index_GetTokenListOptions as GetTokenListOptions, type index_GetTradeActivitiesOptions as GetTradeActivitiesOptions, type index_IChannelsClient as IChannelsClient, type index_IClient as IClient, type index_IMediaTrackClient as IMediaTrackClient, type index_ISubscribeClient as ISubscribeClient, type index_ISubscription as ISubscription, type index_ListChannelEventsOptions as ListChannelEventsOptions, type index_ListChannelsOptions as ListChannelsOptions, type index_PortfolioPnlSubscribed as PortfolioPnlSubscribed, type index_PortfolioSubscribed as PortfolioSubscribed, type index_SearchTokenCursorList as SearchTokenCursorList, type index_SearchTokensOptions as SearchTokensOptions, type index_SendTxParams as SendTxParams, type index_SendTxResult as SendTxResult, type index_SubscribeTweetMediasOptions as SubscribeTweetMediasOptions, index_SwapMode as SwapMode, type index_SwapParams as SwapParams, type index_SwapRoute as SwapRoute, type index_SwapRoutePlan as SwapRoutePlan, type index_TokenFieldOption as TokenFieldOption, type index_TokenFilterOption as TokenFilterOption, type index_TokenSubscribed as TokenSubscribed, type index_UpdateChannelOptions as UpdateChannelOptions, type index_UpdateChannelSourcesOptions as UpdateChannelSourcesOptions, type index_WalletPnlSubscribed as WalletPnlSubscribed };
|
|
1272
1489
|
}
|
|
1273
1490
|
|
|
1274
1491
|
declare global {
|
|
@@ -1278,7 +1495,7 @@ declare global {
|
|
|
1278
1495
|
};
|
|
1279
1496
|
}
|
|
1280
1497
|
}
|
|
1281
|
-
declare const _default: "0.1.
|
|
1498
|
+
declare const _default: "0.1.7";
|
|
1282
1499
|
|
|
1283
1500
|
type NetworkId = "testnet" | "mainnet";
|
|
1284
1501
|
|
|
@@ -1308,4 +1525,4 @@ declare enum SolanaTokenProtocol {
|
|
|
1308
1525
|
type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});
|
|
1309
1526
|
declare const SOLANA_TOKEN_PROTOCOLS: SolanaTokenProtocol[];
|
|
1310
1527
|
|
|
1311
|
-
export { index as API, ApiError, Chain, ChainNamespace, type CursorList, type CursorListOptions, type GetTokenCandlesOptions, type GetTokenListOptions, type GetTradeActivitiesOptions, type IClient, type IMedia, type IMediaTrackClient, type ISubscribeClient, type ISubscription, type MediaToken, type NetworkId, type Portfolio, type PortfolioPnl, type PortfolioPnlSubscribed, type PortfolioSubscribed, SOLANA_TOKEN_PROTOCOLS, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, SolanaTokenProtocol, type SourceTweet, type SubscribeTweetMediasOptions, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Token, type TokenCandle, type TokenCreator, type TokenFieldOption, type TokenFilterOption, type TokenHistoryPriceObject, type TokenHolder, type TokenLaunchedFrom, type TokenLiquidity, type TokenMarketData, type TokenMigratedTo, type TokenProtocol, type TokenResolution, type TokenSecurity, type TokenSocialMedias, type TokenStats, type TokenStatsByResolution, type TokenSubscribed, type TradeActivity, type TradeDex, type TradeToken, type Tweet, type TweetContent, type TweetContentMedia, type TweetMedia, type TweetUser, type WalletPnlSubscribed, type WalletPortfolios, _default as version };
|
|
1528
|
+
export { index as API, ApiError, type BaseChannelEvent, Chain, ChainNamespace, type Channel, type ChannelEvent, type ChannelEventsList, type ChannelSink, type ChannelSource, type ChannelSourceOption, type ChannelTradeEvent, type ChannelsList, type CreateChannelOptions, type CursorList$1 as CursorList, type CursorListOptions, type GeneratedMemeInfo, type GetTokenCandlesOptions, type GetTokenListOptions, type GetTradeActivitiesOptions, type IChannelsClient, type IClient, type IMedia, type IMediaTrackClient, type ISubscribeClient, type ISubscription, type ListChannelEventsOptions, type ListChannelsOptions, type MediaToken, type NetworkId, type Portfolio, type PortfolioPnl, type PortfolioPnlSubscribed, type PortfolioSubscribed, SOLANA_TOKEN_PROTOCOLS, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, SolanaTokenProtocol, type SourceTweet, type SubscribeTweetMediasOptions, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Token, type TokenCandle, type TokenCreator, type TokenFieldOption, type TokenFilterOption, type TokenHistoryPriceObject, type TokenHolder, type TokenLaunchedFrom, type TokenLiquidity, type TokenMarketData, type TokenMigratedTo, type TokenProtocol, type TokenResolution, type TokenSecurity, type TokenSocialMedias, type TokenStats, type TokenStatsByResolution, type TokenSubscribed, type TradeActivity, type TradeDex, type TradeToken, type Tweet, type TweetContent, type TweetContentMedia, type TweetMedia, type TweetUser, type UpdateChannelOptions, type UpdateChannelSourcesOptions, type WalletPnlSubscribed, type WalletPortfolios, _default as version };
|
package/dist/index.js
CHANGED
|
@@ -47,9 +47,9 @@ var SwapMode = /* @__PURE__ */ ((SwapMode2) => {
|
|
|
47
47
|
// src/version.ts
|
|
48
48
|
if (typeof window !== "undefined") {
|
|
49
49
|
window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};
|
|
50
|
-
window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.
|
|
50
|
+
window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.7";
|
|
51
51
|
}
|
|
52
|
-
var version_default = "0.1.
|
|
52
|
+
var version_default = "0.1.7";
|
|
53
53
|
|
|
54
54
|
// src/chains.ts
|
|
55
55
|
var Chain = /* @__PURE__ */ ((Chain2) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/api/index.ts","../src/api/dex.ts","../src/version.ts","../src/chains.ts","../src/errors.ts","../src/tokenProtocols.ts"],"sourcesContent":["import * as API from \"./api\";\n\nexport { default as version } from \"./version\";\nexport * from \"./api\";\nexport * from \"./activities\";\nexport * from \"./chains\";\nexport * from \"./constants\";\nexport * from \"./errors\";\nexport * from \"./mediaTrack\";\nexport * from \"./token\";\nexport * from \"./tokenProtocols\";\nexport * from \"./wallet\";\n\n// Re-export as API namespace for backward compatibility\nexport { API };\n","export * from \"./dex\";\nexport * from \"./mediaTrack\";\n","import { TradeActivity } from \"../activities\";\nimport { Chain } from \"../chains\";\nimport {\n Token,\n TokenCandle,\n TokenHolder,\n TokenLaunchedFrom,\n TokenMarketData,\n TokenMigratedTo,\n TokenResolution,\n TokenSecurity,\n TokenSocialMedias,\n TokenStats,\n} from \"../token\";\nimport { PortfolioPnl, WalletPortfolios } from \"../wallet\";\n\n/**\n * Cursor list result data\n */\nexport interface CursorList<T> {\n startCursor?: string;\n endCursor?: string;\n hasPrev?: boolean;\n hasNext?: boolean;\n data: Array<T>;\n}\n\n/**\n * Cursor list query options\n */\nexport interface CursorListOptions {\n // query cursor\n cursor?: string;\n // return limit\n limit?: number;\n // query direction\n direction?: \"next\" | \"prev\";\n}\n\n/**\n * Options for getting token candles\n */\nexport interface GetTokenCandlesOptions {\n // query candles after this timestamp\n after?: Date;\n // query candles before this timestamp\n before?: Date;\n // return limit\n limit?: number;\n}\n\n/**\n * Token field for filtering\n */\nexport type TokenFieldOption =\n | \"price\"\n | \"priceChange1m\"\n | \"priceChange5m\"\n | \"priceChange15m\"\n | \"priceChange30m\"\n | \"priceChange1h\"\n | \"priceChange4h\"\n | \"priceChange24h\"\n | \"marketCap\"\n | \"tvl\"\n | \"top10Holdings\"\n | \"top10Ratio\"\n | \"top100Holdings\"\n | \"top100Ratio\"\n | \"holders\"\n | \"creatorsHoldings\"\n | \"creatorsRatio\"\n | \"buys1m\"\n | \"buys5m\"\n | \"buys15m\"\n | \"buys30m\"\n | \"buys1h\"\n | \"buys4h\"\n | \"buys24h\"\n | \"sells1m\"\n | \"sells5m\"\n | \"sells15m\"\n | \"sells30m\"\n | \"sells1h\"\n | \"sells4h\"\n | \"sells24h\"\n | \"trades1m\"\n | \"trades5m\"\n | \"trades15m\"\n | \"trades30m\"\n | \"trades1h\"\n | \"trades4h\"\n | \"trades24h\"\n | \"traders1m\"\n | \"traders5m\"\n | \"traders15m\"\n | \"traders30m\"\n | \"traders1h\"\n | \"traders4h\"\n | \"traders24h\"\n | \"volumes1m\"\n | \"volumes5m\"\n | \"volumes15m\"\n | \"volumes30m\"\n | \"volumes1h\"\n | \"volumes4h\"\n | \"volumes24h\"\n | \"launchedFromProtocolFamily\"\n | \"migratedToProtocolFamily\"\n | \"tag\"\n | \"createdAt\"\n | (string & {});\n\n/**\n * Token filter option\n */\nexport interface TokenFilterOption {\n field: TokenFieldOption;\n operator:\n | \"eq\"\n | \"ne\"\n | \"gt\"\n | \"gte\"\n | \"lt\"\n | \"lte\"\n | \"between\"\n | \"in\"\n | \"nin\"\n | \"contains\"\n | \"notContains\"\n | \"startsWith\"\n | \"endsWith\"\n | \"isNotNull\"\n | \"isNull\";\n value?: string | number | boolean | Array<string | number | boolean>;\n}\n\n/**\n * Options for getting token list\n */\nexport interface GetTokenListOptions {\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n // filters\n filters?: Array<TokenFilterOption>;\n // search keywords\n keywords?: Array<string>;\n // exclude keywords\n excludeKeywords?: Array<string>;\n}\n\n/**\n * Options for searching tokens\n */\nexport interface SearchTokensOptions extends CursorListOptions {\n // chains\n chains?: Array<Chain>;\n // search keyword\n keyword?: string;\n // filters\n filters?: Array<TokenFilterOption>;\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n}\n\n/**\n * Search token cursor list\n */\nexport interface SearchTokenCursorList extends CursorList<Token> {\n // total count\n total?: number;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport enum SwapMode {\n EXACT_IN = \"ExactIn\",\n EXACT_OUT = \"ExactOut\",\n}\n\nexport interface SwapParams {\n // chain id\n chain: Chain;\n // user wallet address\n userAddress: string;\n // input token address\n input: string;\n // output token address\n output: string;\n // swap mode, e.g. ExactIn, ExactOut.\n mode: SwapMode;\n // input token amount when mode is ExactIn, output token amount when mode is ExactOut.\n amount: string;\n // slippage, range is 0-100\n slippage?: number;\n // priority fee\n priorityFee?: string;\n // tip fee\n tipFee?: string;\n // whether to use anti-MEV\n isAntiMev?: boolean;\n}\n\nexport interface SwapRoutePlan {\n // protocol name / dex name etc.\n name: string;\n // input token address\n input: string;\n // input token amount\n inputAmount: string;\n // output token address\n output: string;\n // output token amount\n outputAmount: string;\n // fee quote token address\n feeQuote?: string;\n // fee amount\n feeAmount?: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SwapRoute {\n // unsigned tx in base64 format\n serializedTx: string;\n // swap plans\n plans: Array<SwapRoutePlan>;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxParams {\n // chain id\n chain: Chain;\n // signed tx in base64 format\n serializedTx: string;\n // extra infos needed by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxResult {\n // tx hash\n txHash: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\n/**\n * Options for getting trade activities\n */\nexport interface GetTradeActivitiesOptions extends CursorListOptions {\n // filter activities that are before this timestamp\n before?: Date;\n // filter activities that are after this timestamp\n after?: Date;\n // filter activities that are before this block height\n beforeBlockHeight?: number;\n // filter activities that are after this block height\n afterBlockHeight?: number;\n // filter activities by type\n type?: \"buy\" | \"sell\";\n // filter activities by pool address\n poolAddress?: string;\n}\n\n/**\n * API client interface\n */\nexport interface IClient {\n /**\n * fetch token info\n * @param chain chain id\n * @param address token address\n * @returns token info\n */\n getToken(chain: Chain, address: string): Promise<Token>;\n\n /**\n * fetch token infos in batch\n * @param chain chain id\n * @param addresses token addresses\n * @returns token infos\n */\n getTokens(chain: Chain, addresses: Array<string>): Promise<Array<Token>>;\n\n /**\n * fetch token candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param options optional query options\n * @returns token candles\n */\n getTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n options?: GetTokenCandlesOptions,\n ): Promise<Array<TokenCandle>>;\n\n /**\n * fetch token security\n * @param chain chain id\n * @param address token address\n * @returns token security\n */\n getTokenSecurity(chain: Chain, address: string): Promise<TokenSecurity>;\n\n /**\n * fetch token stats\n * @param chain chain id\n * @param address token address\n * @returns token stats\n */\n getTokenStats(chain: Chain, address: string): Promise<TokenStats>;\n\n /**\n * fetch token holders\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token holders\n */\n getTokenHolders(\n chain: Chain,\n address: string,\n options?: CursorListOptions,\n ): Promise<CursorList<TokenHolder>>;\n\n /**\n * fetch token market data\n * @param chain chain id\n * @param address token address\n * @returns token market data\n */\n getTokenMarketData(chain: Chain, address: string): Promise<TokenMarketData>;\n\n /**\n * fetch `New` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `New` token list\n */\n getNewTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Final Stretch` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Final Stretch` token list\n */\n getFinalStretchTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Migrated` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Migrated` token list\n */\n getMigratedTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Trending` token list\n * @param chain chain id\n * @param resolution query resolution, e.g. \"1m\", \"5m\", \"1h\", \"4h\", \"24h\"\n * @param options optional query options\n * @returns `Trending` token list\n */\n getTrendingTokens(\n chain: Chain,\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\",\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Stock` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Stock` token list\n */\n getStockTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * search tokens\n * @param options optional query options\n * @returns search token cursor list\n */\n searchTokens(options?: SearchTokensOptions): Promise<SearchTokenCursorList>;\n\n /**\n * fetch swap route plans\n * @param params swap params\n * @returns swap route plans\n */\n swapRoute(params: SwapParams): Promise<SwapRoute>;\n\n /**\n * send tx\n * @param params send tx params\n * @returns send tx result\n */\n sendTx(params: SendTxParams): Promise<SendTxResult>;\n\n /**\n * check if tx is successful\n * @param chain chain id\n * @param txHash tx hash\n * @param timeout timeout in milliseconds\n * @returns true if tx is successful, false otherwise\n */\n checkTxSuccess(\n chain: Chain,\n txHash: string,\n timeout?: number,\n ): Promise<boolean>;\n\n /**\n * fetch wallet portfolios\n * @param chain chain id\n * @param address wallet address\n * @returns wallet portfolios\n */\n getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;\n\n /**\n * fetch wallet's trade activities\n * @param chain chain id\n * @param address wallet address\n * @param options optional query options\n * @returns wallet's trade activities\n */\n getWalletTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * fetch token's trade activities\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token's trade activities\n */\n getTokenTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * get presigned upload url\n * @returns presigned upload url\n */\n getPresignedUploadUrl(): Promise<string>;\n}\n\nexport interface ISubscription {\n unsubscribe(): void;\n}\n\nexport interface TokenSubscribed {\n // chain id\n chain: Chain;\n // token address.\n address: string;\n // token name, e.g. \"Ethereum\", \"Solana\", etc.\n name?: string;\n // token symbol, e.g. \"ETH\", \"SOL\", etc.\n symbol?: string;\n // token decimals.\n decimals?: number;\n // token avatar image url.\n image?: string;\n // token description.\n description?: string;\n // token social medias.\n socialMedias?: TokenSocialMedias;\n // token launch info.\n launchedFrom?: TokenLaunchedFrom;\n // token migrate info.\n migratedTo?: TokenMigratedTo;\n // token create time.\n createdAt: Date;\n}\n\nexport interface WalletPnlSubscribed {\n // chain id\n chain: Chain;\n // wallet address\n address: string;\n // wallet total balance in usd\n balanceInUsd?: string;\n // wallet total profit in usd (including both realized and unrealized profit)\n profitInUsd?: string;\n}\n\nexport interface PortfolioSubscribed {\n // chain id\n chain: Chain;\n // token address\n address: string;\n // holding token amount\n amount?: string;\n}\n\nexport type PortfolioPnlSubscribed = PortfolioPnl & {\n // chain id\n chain: Chain;\n // token address\n address: string;\n};\n\n/**\n * Subscribe client interface\n */\nexport interface ISubscribeClient {\n /**\n * Subscribe token's basic info changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenBasic(\n chain: Chain,\n address: string,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's market data changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenMarketData(\n chain: Chain,\n address: string,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's stats changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenStats(\n chain: Chain,\n address: string,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token new candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n callback: (candles: Array<TokenCandle>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPnl(\n chain: Chain,\n address: string,\n callback: (pnls: Array<WalletPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolios(\n chain: Chain,\n address: string,\n callback: (portfolios: Array<PortfolioSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolioPnls(\n chain: Chain,\n address: string,\n callback: (portfolioPnls: Array<PortfolioPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's new trade activities\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's new trade activities\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokens(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's basic info changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensBasic(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's market data changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensMarketData(\n chain: Chain,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's stats changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensStats(\n chain: Chain,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n}\n","declare global {\n interface Window {\n __LIBERFI_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};\n window.__LIBERFI_VERSION__[\"@liberfi.io/types\"] = \"0.1.4\";\n}\n\nexport default \"0.1.4\";\n","export enum Chain {\n ETHEREUM = \"1\",\n UBIQ = \"8\",\n OPTIMISM = \"10\",\n FLARE = \"14\",\n SONGBIRD = \"19\",\n ELASTOS = \"20\",\n KARDIA = \"24\",\n CRONOS = \"25\",\n RSK = \"30\",\n TELOS = \"40\",\n LUKSO = \"42\",\n CRAB = \"44\",\n DARWINIA = \"46\",\n XDC = \"50\",\n CSC = \"52\",\n ZYX = \"55\",\n BINANCE = \"56\",\n BINANCE_TESTNET = \"97\",\n SYSCOIN = \"57\",\n GOCHAIN = \"60\",\n ETHEREUMCLASSIC = \"61\",\n OKEXCHAIN = \"66\",\n HOO = \"70\",\n METER = \"82\",\n NOVA_NETWORK = \"87\",\n TOMOCHAIN = \"88\",\n BITKUB = \"96\",\n XDAI = \"100\",\n VELAS = \"106\",\n THUNDERCORE = \"108\",\n ENULS = \"119\",\n FUSE = \"122\",\n HECO = \"128\",\n UNICHAIN = \"130\",\n POLYGON = \"137\",\n SONIC = \"146\",\n SHIMMER_EVM = \"148\",\n RBN = \"151\",\n OMNI = \"166\",\n MANTA = \"169\",\n HSK = \"177\",\n WATER = \"181\",\n XLAYER = \"196\",\n XDAIARB = \"200\",\n OP_BNB = \"204\",\n VINUCHAIN = \"207\",\n ENERGYWEB = \"246\",\n OASYS = \"248\",\n FANTOM = \"250\",\n FRAXTAL = \"252\",\n HPB = \"269\",\n BOBA = \"288\",\n OMAX = \"311\",\n FILECOIN = \"314\",\n KUCOIN = \"321\",\n ZKSYNC_ERA = \"324\",\n SHIDEN = \"336\",\n THETA = \"361\",\n PULSE = \"369\",\n CRONOS_ZKEVM = \"388\",\n SX = \"416\",\n AREON = \"463\",\n WC = \"480\",\n CANDLE = \"534\",\n ROLLUX = \"570\",\n ASTAR = \"592\",\n REDSTONE = \"690\",\n MATCHAIN = \"698\",\n CALLISTO = \"820\",\n TARA = \"841\",\n WANCHAIN = \"888\",\n LYRA_CHAIN = \"957\",\n BIFROST = \"996\",\n CONFLUX = \"1030\",\n METIS = \"1088\",\n DYMENSION = \"1100\",\n POLYGON_ZKEVM = \"1101\",\n CORE = \"1116\",\n LISK = \"1135\",\n ULTRON = \"1231\",\n STEP = \"1234\",\n MOONBEAM = \"1284\",\n MOONRIVER = \"1285\",\n SEI = \"1329\",\n LIVING_ASSETS_MAINNET = \"1440\",\n STY = \"1514\",\n TENET = \"1559\",\n GRAVITY = \"1625\",\n REYA_NETWORK = \"1729\",\n SONEIUM = \"1868\",\n SWELLCHAIN = \"1923\",\n ONUS = \"1975\",\n HUBBLENET = \"1992\",\n SANKO = \"1996\",\n DOGECHAIN = \"2000\",\n MILKOMEDA = \"2001\",\n MILKOMEDA_A1 = \"2002\",\n KAVA = \"2222\",\n SOMA = \"2332\",\n KARAK = \"2410\",\n ABSTRACT = \"2741\",\n ABSTRACT_TESTNET = \"11124\",\n MORPH = \"2818\",\n CROSSFI = \"4158\",\n BEAM = \"4337\",\n IOTEX = \"4689\",\n MANTLE = \"5000\",\n XLC = \"5050\",\n NAHMII = \"5551\",\n BOUNCEBIT = \"6001\",\n TOMBCHAIN = \"6969\",\n ZETACHAIN = \"7000\",\n PLANQ = \"7070\",\n BITROCK = \"7171\",\n XSAT = \"7200\",\n CYETH = \"7560\",\n CANTO = \"7700\",\n KLAYTN = \"8217\",\n THAT = \"8428\",\n BASE = \"8453\",\n HELA = \"8668\",\n IOTAEVM = \"8822\",\n JBC = \"8899\",\n EVMOS = \"9001\",\n CARBON = \"9790\",\n SMARTBCH = \"10000\",\n ARTELA = \"11820\",\n IMMUTABLE_ZKEVM = \"13371\",\n LOOP = \"15551\",\n GENESYS = \"16507\",\n EOS_EVM = \"17777\",\n MAP_PROTOCOL = \"22776\",\n SAPPHIRE = \"23294\",\n BITGERT = \"32520\",\n FUSION = \"32659\",\n ZILLIQA = \"32769\",\n APECHAIN = \"33139\",\n EDU_CHAIN = \"41923\",\n ARBITRUM = \"42161\",\n ARBITRUM_TESTNET_GOERLI = \"421613\",\n ARBITRUM_TESTNET_SEPOLIA = \"421614\",\n ARBITRUM_NOVA = \"42170\",\n CELO = \"42220\",\n OASIS = \"42262\",\n ASSETCHAIN = \"42420\",\n ETHERLINK = \"42793\",\n AVALANCHE = \"43114\",\n REI = \"47805\",\n ZIRCUIT = \"48900\",\n SOPHON = \"50104\",\n ETN = \"52014\",\n SUPERPOSITION = \"55244\",\n REICHAIN = \"55555\",\n BOBA_BNB = \"56288\",\n INK = \"57073\",\n LINEA = \"59144\",\n BOB = \"60808\",\n GODWOKEN = \"71402\",\n BERACHAIN = \"80094\",\n BLAST = \"81457\",\n CHILIZ = \"88888\",\n STRATIS = \"105105\",\n REAL = \"111188\",\n ODYSSEY = \"153153\",\n TAIKO = \"167000\",\n BITLAYER = \"200901\",\n HYDRATION = \"222222\",\n PAREX = \"322202\",\n POLIS = \"333999\",\n KEKCHAIN = \"420420\",\n SCROLL = \"534352\",\n ZERO_NETWORK = \"543210\",\n ZKLINK_NOVA = \"810180\",\n VISION = \"888888\",\n SAAKURU = \"7225878\",\n ZORA = \"7777777\",\n CORN = \"21000000\",\n NEON = \"245022934\",\n LUMIA = \"994873017\",\n AURORA = \"1313161554\",\n HARMONY = \"1666600000\",\n PALM = \"11297108109\",\n ZENIQ = \"383414847825\",\n CURIO = \"836542336838601\",\n MODE = \"34443\",\n SOLANA = \"900900900\",\n SOLANA_TESTNET = \"901901901\",\n SOLANA_DEVNET = \"902902902\",\n}\n\nexport enum ChainNamespace {\n EVM = \"EVM\",\n SOLANA = \"SOL\",\n}\n","export class ApiError extends Error {\n constructor(\n message: string,\n public readonly code: number,\n ) {\n super(message);\n this.name = \"ApiError\";\n }\n}\n","export enum SolanaTokenProtocol {\n BAGS = \"bags\",\n BELIEVE = \"believe\",\n BONK = \"bonk\",\n BOOP = \"boop\",\n HEAVEN = \"heaven\",\n JUPSTUDIO = \"jupstudio\",\n LAUNCHLAB = \"launchlab\",\n METEORA = \"meteora\",\n MOONIT = \"moonit\",\n MOONSHOT = \"moonshot\",\n ORCA = \"orca\",\n PUMP = \"pump\",\n RAYDIUM = \"raydium\",\n SUGAR = \"sugar\",\n VIRTUAL_CURVE = \"virtual-curve\",\n PUMP_AMM = \"pump-amm\",\n}\n\nexport type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;;;ACoLO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,UAAA,cAAW;AACX,EAAAA,UAAA,eAAY;AAFF,SAAAA;AAAA,GAAA;;;AC7KZ,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,sBAAsB,OAAO,uBAAuB,CAAC;AAC5D,SAAO,oBAAoB,mBAAmB,IAAI;AACpD;AAEA,IAAO,kBAAQ;;;ACZR,IAAK,QAAL,kBAAKC,WAAL;AACL,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,QAAK;AACL,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,QAAK;AACL,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,2BAAwB;AACxB,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,sBAAmB;AACnB,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,6BAA0B;AAC1B,EAAAA,OAAA,8BAA2B;AAC3B,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,oBAAiB;AACjB,EAAAA,OAAA,mBAAgB;AA5LN,SAAAA;AAAA,GAAA;AA+LL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,YAAS;AAFC,SAAAA;AAAA,GAAA;;;AC/LL,IAAM,WAAN,cAAuB,MAAM;AAAA,EAClC,YACE,SACgB,MAChB;AACA,UAAM,OAAO;AAFG;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;;;ACRO,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,mBAAgB;AAChB,EAAAA,qBAAA,cAAW;AAhBD,SAAAA;AAAA,GAAA;AAqBL,IAAM,yBAAyB,OAAO,OAAO,mBAAmB;","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/api/index.ts","../src/api/dex.ts","../src/version.ts","../src/chains.ts","../src/errors.ts","../src/tokenProtocols.ts"],"sourcesContent":["import * as API from \"./api\";\n\nexport { default as version } from \"./version\";\nexport * from \"./api\";\nexport * from \"./activities\";\nexport * from \"./chains\";\nexport * from \"./channels\";\nexport * from \"./constants\";\nexport * from \"./errors\";\nexport * from \"./mediaTrack\";\nexport * from \"./token\";\nexport * from \"./tokenProtocols\";\nexport * from \"./wallet\";\n\n// Re-export as API namespace for backward compatibility\nexport { API };\n","export * from \"./dex\";\nexport * from \"./mediaTrack\";\nexport * from \"./channels\";\n","import { TradeActivity } from \"../activities\";\nimport { Chain } from \"../chains\";\nimport {\n Token,\n TokenCandle,\n TokenHolder,\n TokenLaunchedFrom,\n TokenMarketData,\n TokenMigratedTo,\n TokenResolution,\n TokenSecurity,\n TokenSocialMedias,\n TokenStats,\n} from \"../token\";\nimport { PortfolioPnl, WalletPortfolios } from \"../wallet\";\n\n/**\n * Cursor list result data\n */\nexport interface CursorList<T> {\n startCursor?: string;\n endCursor?: string;\n hasPrev?: boolean;\n hasNext?: boolean;\n data: Array<T>;\n}\n\n/**\n * Cursor list query options\n */\nexport interface CursorListOptions {\n // query cursor\n cursor?: string;\n // return limit\n limit?: number;\n // query direction\n direction?: \"next\" | \"prev\";\n}\n\n/**\n * Options for getting token candles\n */\nexport interface GetTokenCandlesOptions {\n // query candles after this timestamp\n after?: Date;\n // query candles before this timestamp\n before?: Date;\n // return limit\n limit?: number;\n}\n\n/**\n * Token field for filtering\n */\nexport type TokenFieldOption =\n | \"price\"\n | \"priceChange1m\"\n | \"priceChange5m\"\n | \"priceChange15m\"\n | \"priceChange30m\"\n | \"priceChange1h\"\n | \"priceChange4h\"\n | \"priceChange24h\"\n | \"marketCap\"\n | \"tvl\"\n | \"top10Holdings\"\n | \"top10Ratio\"\n | \"top100Holdings\"\n | \"top100Ratio\"\n | \"holders\"\n | \"creatorsHoldings\"\n | \"creatorsRatio\"\n | \"buys1m\"\n | \"buys5m\"\n | \"buys15m\"\n | \"buys30m\"\n | \"buys1h\"\n | \"buys4h\"\n | \"buys24h\"\n | \"sells1m\"\n | \"sells5m\"\n | \"sells15m\"\n | \"sells30m\"\n | \"sells1h\"\n | \"sells4h\"\n | \"sells24h\"\n | \"trades1m\"\n | \"trades5m\"\n | \"trades15m\"\n | \"trades30m\"\n | \"trades1h\"\n | \"trades4h\"\n | \"trades24h\"\n | \"traders1m\"\n | \"traders5m\"\n | \"traders15m\"\n | \"traders30m\"\n | \"traders1h\"\n | \"traders4h\"\n | \"traders24h\"\n | \"volumes1m\"\n | \"volumes5m\"\n | \"volumes15m\"\n | \"volumes30m\"\n | \"volumes1h\"\n | \"volumes4h\"\n | \"volumes24h\"\n | \"launchedFromProtocolFamily\"\n | \"migratedToProtocolFamily\"\n | \"tag\"\n | \"createdAt\"\n | (string & {});\n\n/**\n * Token filter option\n */\nexport interface TokenFilterOption {\n field: TokenFieldOption;\n operator:\n | \"eq\"\n | \"ne\"\n | \"gt\"\n | \"gte\"\n | \"lt\"\n | \"lte\"\n | \"between\"\n | \"in\"\n | \"nin\"\n | \"contains\"\n | \"notContains\"\n | \"startsWith\"\n | \"endsWith\"\n | \"isNotNull\"\n | \"isNull\";\n value?: string | number | boolean | Array<string | number | boolean>;\n}\n\n/**\n * Options for getting token list\n */\nexport interface GetTokenListOptions {\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n // filters\n filters?: Array<TokenFilterOption>;\n // search keywords\n keywords?: Array<string>;\n // exclude keywords\n excludeKeywords?: Array<string>;\n}\n\n/**\n * Options for searching tokens\n */\nexport interface SearchTokensOptions extends CursorListOptions {\n // chains\n chains?: Array<Chain>;\n // search keyword\n keyword?: string;\n // filters\n filters?: Array<TokenFilterOption>;\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n}\n\n/**\n * Search token cursor list\n */\nexport interface SearchTokenCursorList extends CursorList<Token> {\n // total count\n total?: number;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport enum SwapMode {\n EXACT_IN = \"ExactIn\",\n EXACT_OUT = \"ExactOut\",\n}\n\nexport interface SwapParams {\n // chain id\n chain: Chain;\n // user wallet address\n userAddress: string;\n // input token address\n input: string;\n // output token address\n output: string;\n // swap mode, e.g. ExactIn, ExactOut.\n mode: SwapMode;\n // input token amount when mode is ExactIn, output token amount when mode is ExactOut.\n amount: string;\n // slippage, range is 0-100\n slippage?: number;\n // priority fee\n priorityFee?: string;\n // tip fee\n tipFee?: string;\n // whether to use anti-MEV\n isAntiMev?: boolean;\n}\n\nexport interface SwapRoutePlan {\n // protocol name / dex name etc.\n name: string;\n // input token address\n input: string;\n // input token amount\n inputAmount: string;\n // output token address\n output: string;\n // output token amount\n outputAmount: string;\n // fee quote token address\n feeQuote?: string;\n // fee amount\n feeAmount?: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SwapRoute {\n // unsigned tx in base64 format\n serializedTx: string;\n // swap plans\n plans: Array<SwapRoutePlan>;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxParams {\n // chain id\n chain: Chain;\n // signed tx in base64 format\n serializedTx: string;\n // extra infos needed by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxResult {\n // tx hash\n txHash: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\n/**\n * Options for getting trade activities\n */\nexport interface GetTradeActivitiesOptions extends CursorListOptions {\n // filter activities that are before this timestamp\n before?: Date;\n // filter activities that are after this timestamp\n after?: Date;\n // filter activities that are before this block height\n beforeBlockHeight?: number;\n // filter activities that are after this block height\n afterBlockHeight?: number;\n // filter activities by type\n type?: \"buy\" | \"sell\";\n // filter activities by pool address\n poolAddress?: string;\n}\n\n/**\n * API client interface\n */\nexport interface IClient {\n /**\n * fetch token info\n * @param chain chain id\n * @param address token address\n * @returns token info\n */\n getToken(chain: Chain, address: string): Promise<Token>;\n\n /**\n * fetch token infos in batch\n * @param chain chain id\n * @param addresses token addresses\n * @returns token infos\n */\n getTokens(chain: Chain, addresses: Array<string>): Promise<Array<Token>>;\n\n /**\n * fetch token candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param options optional query options\n * @returns token candles\n */\n getTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n options?: GetTokenCandlesOptions,\n ): Promise<Array<TokenCandle>>;\n\n /**\n * fetch token security\n * @param chain chain id\n * @param address token address\n * @returns token security\n */\n getTokenSecurity(chain: Chain, address: string): Promise<TokenSecurity>;\n\n /**\n * fetch token stats\n * @param chain chain id\n * @param address token address\n * @returns token stats\n */\n getTokenStats(chain: Chain, address: string): Promise<TokenStats>;\n\n /**\n * fetch token holders\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token holders\n */\n getTokenHolders(\n chain: Chain,\n address: string,\n options?: CursorListOptions,\n ): Promise<CursorList<TokenHolder>>;\n\n /**\n * fetch token market data\n * @param chain chain id\n * @param address token address\n * @returns token market data\n */\n getTokenMarketData(chain: Chain, address: string): Promise<TokenMarketData>;\n\n /**\n * fetch `New` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `New` token list\n */\n getNewTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Final Stretch` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Final Stretch` token list\n */\n getFinalStretchTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Migrated` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Migrated` token list\n */\n getMigratedTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Trending` token list\n * @param chain chain id\n * @param resolution query resolution, e.g. \"1m\", \"5m\", \"1h\", \"4h\", \"24h\"\n * @param options optional query options\n * @returns `Trending` token list\n */\n getTrendingTokens(\n chain: Chain,\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\",\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Stock` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Stock` token list\n */\n getStockTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * search tokens\n * @param options optional query options\n * @returns search token cursor list\n */\n searchTokens(options?: SearchTokensOptions): Promise<SearchTokenCursorList>;\n\n /**\n * fetch swap route plans\n * @param params swap params\n * @returns swap route plans\n */\n swapRoute(params: SwapParams): Promise<SwapRoute>;\n\n /**\n * send tx\n * @param params send tx params\n * @returns send tx result\n */\n sendTx(params: SendTxParams): Promise<SendTxResult>;\n\n /**\n * check if tx is successful\n * @param chain chain id\n * @param txHash tx hash\n * @param timeout timeout in milliseconds\n * @returns true if tx is successful, false otherwise\n */\n checkTxSuccess(\n chain: Chain,\n txHash: string,\n timeout?: number,\n ): Promise<boolean>;\n\n /**\n * fetch wallet portfolios\n * @param chain chain id\n * @param address wallet address\n * @returns wallet portfolios\n */\n getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;\n\n /**\n * fetch wallet's trade activities\n * @param chain chain id\n * @param address wallet address\n * @param options optional query options\n * @returns wallet's trade activities\n */\n getWalletTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * fetch token's trade activities\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token's trade activities\n */\n getTokenTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * get presigned upload url\n * @returns presigned upload url\n */\n getPresignedUploadUrl(): Promise<string>;\n}\n\nexport interface ISubscription {\n unsubscribe(): void;\n}\n\nexport interface TokenSubscribed {\n // chain id\n chain: Chain;\n // token address.\n address: string;\n // token name, e.g. \"Ethereum\", \"Solana\", etc.\n name?: string;\n // token symbol, e.g. \"ETH\", \"SOL\", etc.\n symbol?: string;\n // token decimals.\n decimals?: number;\n // token avatar image url.\n image?: string;\n // token description.\n description?: string;\n // token social medias.\n socialMedias?: TokenSocialMedias;\n // token launch info.\n launchedFrom?: TokenLaunchedFrom;\n // token migrate info.\n migratedTo?: TokenMigratedTo;\n // token create time.\n createdAt: Date;\n}\n\nexport interface WalletPnlSubscribed {\n // chain id\n chain: Chain;\n // wallet address\n address: string;\n // wallet total balance in usd\n balanceInUsd?: string;\n // wallet total profit in usd (including both realized and unrealized profit)\n profitInUsd?: string;\n}\n\nexport interface PortfolioSubscribed {\n // chain id\n chain: Chain;\n // token address\n address: string;\n // holding token amount\n amount?: string;\n}\n\nexport type PortfolioPnlSubscribed = PortfolioPnl & {\n // chain id\n chain: Chain;\n // token address\n address: string;\n};\n\n/**\n * Subscribe client interface\n */\nexport interface ISubscribeClient {\n /**\n * Subscribe token's basic info changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenBasic(\n chain: Chain,\n address: string,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's market data changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenMarketData(\n chain: Chain,\n address: string,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's stats changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenStats(\n chain: Chain,\n address: string,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token new candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n callback: (candles: Array<TokenCandle>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPnl(\n chain: Chain,\n address: string,\n callback: (pnls: Array<WalletPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolios(\n chain: Chain,\n address: string,\n callback: (portfolios: Array<PortfolioSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolioPnls(\n chain: Chain,\n address: string,\n callback: (portfolioPnls: Array<PortfolioPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's new trade activities\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's new trade activities\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokens(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's basic info changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensBasic(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's market data changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensMarketData(\n chain: Chain,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's stats changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensStats(\n chain: Chain,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n}\n","declare global {\n interface Window {\n __LIBERFI_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};\n window.__LIBERFI_VERSION__[\"@liberfi.io/types\"] = \"0.1.7\";\n}\n\nexport default \"0.1.7\";\n","export enum Chain {\n ETHEREUM = \"1\",\n UBIQ = \"8\",\n OPTIMISM = \"10\",\n FLARE = \"14\",\n SONGBIRD = \"19\",\n ELASTOS = \"20\",\n KARDIA = \"24\",\n CRONOS = \"25\",\n RSK = \"30\",\n TELOS = \"40\",\n LUKSO = \"42\",\n CRAB = \"44\",\n DARWINIA = \"46\",\n XDC = \"50\",\n CSC = \"52\",\n ZYX = \"55\",\n BINANCE = \"56\",\n BINANCE_TESTNET = \"97\",\n SYSCOIN = \"57\",\n GOCHAIN = \"60\",\n ETHEREUMCLASSIC = \"61\",\n OKEXCHAIN = \"66\",\n HOO = \"70\",\n METER = \"82\",\n NOVA_NETWORK = \"87\",\n TOMOCHAIN = \"88\",\n BITKUB = \"96\",\n XDAI = \"100\",\n VELAS = \"106\",\n THUNDERCORE = \"108\",\n ENULS = \"119\",\n FUSE = \"122\",\n HECO = \"128\",\n UNICHAIN = \"130\",\n POLYGON = \"137\",\n SONIC = \"146\",\n SHIMMER_EVM = \"148\",\n RBN = \"151\",\n OMNI = \"166\",\n MANTA = \"169\",\n HSK = \"177\",\n WATER = \"181\",\n XLAYER = \"196\",\n XDAIARB = \"200\",\n OP_BNB = \"204\",\n VINUCHAIN = \"207\",\n ENERGYWEB = \"246\",\n OASYS = \"248\",\n FANTOM = \"250\",\n FRAXTAL = \"252\",\n HPB = \"269\",\n BOBA = \"288\",\n OMAX = \"311\",\n FILECOIN = \"314\",\n KUCOIN = \"321\",\n ZKSYNC_ERA = \"324\",\n SHIDEN = \"336\",\n THETA = \"361\",\n PULSE = \"369\",\n CRONOS_ZKEVM = \"388\",\n SX = \"416\",\n AREON = \"463\",\n WC = \"480\",\n CANDLE = \"534\",\n ROLLUX = \"570\",\n ASTAR = \"592\",\n REDSTONE = \"690\",\n MATCHAIN = \"698\",\n CALLISTO = \"820\",\n TARA = \"841\",\n WANCHAIN = \"888\",\n LYRA_CHAIN = \"957\",\n BIFROST = \"996\",\n CONFLUX = \"1030\",\n METIS = \"1088\",\n DYMENSION = \"1100\",\n POLYGON_ZKEVM = \"1101\",\n CORE = \"1116\",\n LISK = \"1135\",\n ULTRON = \"1231\",\n STEP = \"1234\",\n MOONBEAM = \"1284\",\n MOONRIVER = \"1285\",\n SEI = \"1329\",\n LIVING_ASSETS_MAINNET = \"1440\",\n STY = \"1514\",\n TENET = \"1559\",\n GRAVITY = \"1625\",\n REYA_NETWORK = \"1729\",\n SONEIUM = \"1868\",\n SWELLCHAIN = \"1923\",\n ONUS = \"1975\",\n HUBBLENET = \"1992\",\n SANKO = \"1996\",\n DOGECHAIN = \"2000\",\n MILKOMEDA = \"2001\",\n MILKOMEDA_A1 = \"2002\",\n KAVA = \"2222\",\n SOMA = \"2332\",\n KARAK = \"2410\",\n ABSTRACT = \"2741\",\n ABSTRACT_TESTNET = \"11124\",\n MORPH = \"2818\",\n CROSSFI = \"4158\",\n BEAM = \"4337\",\n IOTEX = \"4689\",\n MANTLE = \"5000\",\n XLC = \"5050\",\n NAHMII = \"5551\",\n BOUNCEBIT = \"6001\",\n TOMBCHAIN = \"6969\",\n ZETACHAIN = \"7000\",\n PLANQ = \"7070\",\n BITROCK = \"7171\",\n XSAT = \"7200\",\n CYETH = \"7560\",\n CANTO = \"7700\",\n KLAYTN = \"8217\",\n THAT = \"8428\",\n BASE = \"8453\",\n HELA = \"8668\",\n IOTAEVM = \"8822\",\n JBC = \"8899\",\n EVMOS = \"9001\",\n CARBON = \"9790\",\n SMARTBCH = \"10000\",\n ARTELA = \"11820\",\n IMMUTABLE_ZKEVM = \"13371\",\n LOOP = \"15551\",\n GENESYS = \"16507\",\n EOS_EVM = \"17777\",\n MAP_PROTOCOL = \"22776\",\n SAPPHIRE = \"23294\",\n BITGERT = \"32520\",\n FUSION = \"32659\",\n ZILLIQA = \"32769\",\n APECHAIN = \"33139\",\n EDU_CHAIN = \"41923\",\n ARBITRUM = \"42161\",\n ARBITRUM_TESTNET_GOERLI = \"421613\",\n ARBITRUM_TESTNET_SEPOLIA = \"421614\",\n ARBITRUM_NOVA = \"42170\",\n CELO = \"42220\",\n OASIS = \"42262\",\n ASSETCHAIN = \"42420\",\n ETHERLINK = \"42793\",\n AVALANCHE = \"43114\",\n REI = \"47805\",\n ZIRCUIT = \"48900\",\n SOPHON = \"50104\",\n ETN = \"52014\",\n SUPERPOSITION = \"55244\",\n REICHAIN = \"55555\",\n BOBA_BNB = \"56288\",\n INK = \"57073\",\n LINEA = \"59144\",\n BOB = \"60808\",\n GODWOKEN = \"71402\",\n BERACHAIN = \"80094\",\n BLAST = \"81457\",\n CHILIZ = \"88888\",\n STRATIS = \"105105\",\n REAL = \"111188\",\n ODYSSEY = \"153153\",\n TAIKO = \"167000\",\n BITLAYER = \"200901\",\n HYDRATION = \"222222\",\n PAREX = \"322202\",\n POLIS = \"333999\",\n KEKCHAIN = \"420420\",\n SCROLL = \"534352\",\n ZERO_NETWORK = \"543210\",\n ZKLINK_NOVA = \"810180\",\n VISION = \"888888\",\n SAAKURU = \"7225878\",\n ZORA = \"7777777\",\n CORN = \"21000000\",\n NEON = \"245022934\",\n LUMIA = \"994873017\",\n AURORA = \"1313161554\",\n HARMONY = \"1666600000\",\n PALM = \"11297108109\",\n ZENIQ = \"383414847825\",\n CURIO = \"836542336838601\",\n MODE = \"34443\",\n SOLANA = \"900900900\",\n SOLANA_TESTNET = \"901901901\",\n SOLANA_DEVNET = \"902902902\",\n}\n\nexport enum ChainNamespace {\n EVM = \"EVM\",\n SOLANA = \"SOL\",\n}\n","export class ApiError extends Error {\n constructor(\n message: string,\n public readonly code: number,\n ) {\n super(message);\n this.name = \"ApiError\";\n }\n}\n","export enum SolanaTokenProtocol {\n BAGS = \"bags\",\n BELIEVE = \"believe\",\n BONK = \"bonk\",\n BOOP = \"boop\",\n HEAVEN = \"heaven\",\n JUPSTUDIO = \"jupstudio\",\n LAUNCHLAB = \"launchlab\",\n METEORA = \"meteora\",\n MOONIT = \"moonit\",\n MOONSHOT = \"moonshot\",\n ORCA = \"orca\",\n PUMP = \"pump\",\n RAYDIUM = \"raydium\",\n SUGAR = \"sugar\",\n VIRTUAL_CURVE = \"virtual-curve\",\n PUMP_AMM = \"pump-amm\",\n}\n\nexport type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n"],"mappings":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
package/dist/index.mjs
CHANGED
|
@@ -20,9 +20,9 @@ var SwapMode = /* @__PURE__ */ ((SwapMode2) => {
|
|
|
20
20
|
// src/version.ts
|
|
21
21
|
if (typeof window !== "undefined") {
|
|
22
22
|
window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};
|
|
23
|
-
window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.
|
|
23
|
+
window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.7";
|
|
24
24
|
}
|
|
25
|
-
var version_default = "0.1.
|
|
25
|
+
var version_default = "0.1.7";
|
|
26
26
|
|
|
27
27
|
// src/chains.ts
|
|
28
28
|
var Chain = /* @__PURE__ */ ((Chain2) => {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/index.ts","../src/api/dex.ts","../src/version.ts","../src/chains.ts","../src/errors.ts","../src/tokenProtocols.ts"],"sourcesContent":["export * from \"./dex\";\nexport * from \"./mediaTrack\";\n","import { TradeActivity } from \"../activities\";\nimport { Chain } from \"../chains\";\nimport {\n Token,\n TokenCandle,\n TokenHolder,\n TokenLaunchedFrom,\n TokenMarketData,\n TokenMigratedTo,\n TokenResolution,\n TokenSecurity,\n TokenSocialMedias,\n TokenStats,\n} from \"../token\";\nimport { PortfolioPnl, WalletPortfolios } from \"../wallet\";\n\n/**\n * Cursor list result data\n */\nexport interface CursorList<T> {\n startCursor?: string;\n endCursor?: string;\n hasPrev?: boolean;\n hasNext?: boolean;\n data: Array<T>;\n}\n\n/**\n * Cursor list query options\n */\nexport interface CursorListOptions {\n // query cursor\n cursor?: string;\n // return limit\n limit?: number;\n // query direction\n direction?: \"next\" | \"prev\";\n}\n\n/**\n * Options for getting token candles\n */\nexport interface GetTokenCandlesOptions {\n // query candles after this timestamp\n after?: Date;\n // query candles before this timestamp\n before?: Date;\n // return limit\n limit?: number;\n}\n\n/**\n * Token field for filtering\n */\nexport type TokenFieldOption =\n | \"price\"\n | \"priceChange1m\"\n | \"priceChange5m\"\n | \"priceChange15m\"\n | \"priceChange30m\"\n | \"priceChange1h\"\n | \"priceChange4h\"\n | \"priceChange24h\"\n | \"marketCap\"\n | \"tvl\"\n | \"top10Holdings\"\n | \"top10Ratio\"\n | \"top100Holdings\"\n | \"top100Ratio\"\n | \"holders\"\n | \"creatorsHoldings\"\n | \"creatorsRatio\"\n | \"buys1m\"\n | \"buys5m\"\n | \"buys15m\"\n | \"buys30m\"\n | \"buys1h\"\n | \"buys4h\"\n | \"buys24h\"\n | \"sells1m\"\n | \"sells5m\"\n | \"sells15m\"\n | \"sells30m\"\n | \"sells1h\"\n | \"sells4h\"\n | \"sells24h\"\n | \"trades1m\"\n | \"trades5m\"\n | \"trades15m\"\n | \"trades30m\"\n | \"trades1h\"\n | \"trades4h\"\n | \"trades24h\"\n | \"traders1m\"\n | \"traders5m\"\n | \"traders15m\"\n | \"traders30m\"\n | \"traders1h\"\n | \"traders4h\"\n | \"traders24h\"\n | \"volumes1m\"\n | \"volumes5m\"\n | \"volumes15m\"\n | \"volumes30m\"\n | \"volumes1h\"\n | \"volumes4h\"\n | \"volumes24h\"\n | \"launchedFromProtocolFamily\"\n | \"migratedToProtocolFamily\"\n | \"tag\"\n | \"createdAt\"\n | (string & {});\n\n/**\n * Token filter option\n */\nexport interface TokenFilterOption {\n field: TokenFieldOption;\n operator:\n | \"eq\"\n | \"ne\"\n | \"gt\"\n | \"gte\"\n | \"lt\"\n | \"lte\"\n | \"between\"\n | \"in\"\n | \"nin\"\n | \"contains\"\n | \"notContains\"\n | \"startsWith\"\n | \"endsWith\"\n | \"isNotNull\"\n | \"isNull\";\n value?: string | number | boolean | Array<string | number | boolean>;\n}\n\n/**\n * Options for getting token list\n */\nexport interface GetTokenListOptions {\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n // filters\n filters?: Array<TokenFilterOption>;\n // search keywords\n keywords?: Array<string>;\n // exclude keywords\n excludeKeywords?: Array<string>;\n}\n\n/**\n * Options for searching tokens\n */\nexport interface SearchTokensOptions extends CursorListOptions {\n // chains\n chains?: Array<Chain>;\n // search keyword\n keyword?: string;\n // filters\n filters?: Array<TokenFilterOption>;\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n}\n\n/**\n * Search token cursor list\n */\nexport interface SearchTokenCursorList extends CursorList<Token> {\n // total count\n total?: number;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport enum SwapMode {\n EXACT_IN = \"ExactIn\",\n EXACT_OUT = \"ExactOut\",\n}\n\nexport interface SwapParams {\n // chain id\n chain: Chain;\n // user wallet address\n userAddress: string;\n // input token address\n input: string;\n // output token address\n output: string;\n // swap mode, e.g. ExactIn, ExactOut.\n mode: SwapMode;\n // input token amount when mode is ExactIn, output token amount when mode is ExactOut.\n amount: string;\n // slippage, range is 0-100\n slippage?: number;\n // priority fee\n priorityFee?: string;\n // tip fee\n tipFee?: string;\n // whether to use anti-MEV\n isAntiMev?: boolean;\n}\n\nexport interface SwapRoutePlan {\n // protocol name / dex name etc.\n name: string;\n // input token address\n input: string;\n // input token amount\n inputAmount: string;\n // output token address\n output: string;\n // output token amount\n outputAmount: string;\n // fee quote token address\n feeQuote?: string;\n // fee amount\n feeAmount?: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SwapRoute {\n // unsigned tx in base64 format\n serializedTx: string;\n // swap plans\n plans: Array<SwapRoutePlan>;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxParams {\n // chain id\n chain: Chain;\n // signed tx in base64 format\n serializedTx: string;\n // extra infos needed by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxResult {\n // tx hash\n txHash: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\n/**\n * Options for getting trade activities\n */\nexport interface GetTradeActivitiesOptions extends CursorListOptions {\n // filter activities that are before this timestamp\n before?: Date;\n // filter activities that are after this timestamp\n after?: Date;\n // filter activities that are before this block height\n beforeBlockHeight?: number;\n // filter activities that are after this block height\n afterBlockHeight?: number;\n // filter activities by type\n type?: \"buy\" | \"sell\";\n // filter activities by pool address\n poolAddress?: string;\n}\n\n/**\n * API client interface\n */\nexport interface IClient {\n /**\n * fetch token info\n * @param chain chain id\n * @param address token address\n * @returns token info\n */\n getToken(chain: Chain, address: string): Promise<Token>;\n\n /**\n * fetch token infos in batch\n * @param chain chain id\n * @param addresses token addresses\n * @returns token infos\n */\n getTokens(chain: Chain, addresses: Array<string>): Promise<Array<Token>>;\n\n /**\n * fetch token candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param options optional query options\n * @returns token candles\n */\n getTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n options?: GetTokenCandlesOptions,\n ): Promise<Array<TokenCandle>>;\n\n /**\n * fetch token security\n * @param chain chain id\n * @param address token address\n * @returns token security\n */\n getTokenSecurity(chain: Chain, address: string): Promise<TokenSecurity>;\n\n /**\n * fetch token stats\n * @param chain chain id\n * @param address token address\n * @returns token stats\n */\n getTokenStats(chain: Chain, address: string): Promise<TokenStats>;\n\n /**\n * fetch token holders\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token holders\n */\n getTokenHolders(\n chain: Chain,\n address: string,\n options?: CursorListOptions,\n ): Promise<CursorList<TokenHolder>>;\n\n /**\n * fetch token market data\n * @param chain chain id\n * @param address token address\n * @returns token market data\n */\n getTokenMarketData(chain: Chain, address: string): Promise<TokenMarketData>;\n\n /**\n * fetch `New` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `New` token list\n */\n getNewTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Final Stretch` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Final Stretch` token list\n */\n getFinalStretchTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Migrated` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Migrated` token list\n */\n getMigratedTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Trending` token list\n * @param chain chain id\n * @param resolution query resolution, e.g. \"1m\", \"5m\", \"1h\", \"4h\", \"24h\"\n * @param options optional query options\n * @returns `Trending` token list\n */\n getTrendingTokens(\n chain: Chain,\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\",\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Stock` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Stock` token list\n */\n getStockTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * search tokens\n * @param options optional query options\n * @returns search token cursor list\n */\n searchTokens(options?: SearchTokensOptions): Promise<SearchTokenCursorList>;\n\n /**\n * fetch swap route plans\n * @param params swap params\n * @returns swap route plans\n */\n swapRoute(params: SwapParams): Promise<SwapRoute>;\n\n /**\n * send tx\n * @param params send tx params\n * @returns send tx result\n */\n sendTx(params: SendTxParams): Promise<SendTxResult>;\n\n /**\n * check if tx is successful\n * @param chain chain id\n * @param txHash tx hash\n * @param timeout timeout in milliseconds\n * @returns true if tx is successful, false otherwise\n */\n checkTxSuccess(\n chain: Chain,\n txHash: string,\n timeout?: number,\n ): Promise<boolean>;\n\n /**\n * fetch wallet portfolios\n * @param chain chain id\n * @param address wallet address\n * @returns wallet portfolios\n */\n getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;\n\n /**\n * fetch wallet's trade activities\n * @param chain chain id\n * @param address wallet address\n * @param options optional query options\n * @returns wallet's trade activities\n */\n getWalletTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * fetch token's trade activities\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token's trade activities\n */\n getTokenTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * get presigned upload url\n * @returns presigned upload url\n */\n getPresignedUploadUrl(): Promise<string>;\n}\n\nexport interface ISubscription {\n unsubscribe(): void;\n}\n\nexport interface TokenSubscribed {\n // chain id\n chain: Chain;\n // token address.\n address: string;\n // token name, e.g. \"Ethereum\", \"Solana\", etc.\n name?: string;\n // token symbol, e.g. \"ETH\", \"SOL\", etc.\n symbol?: string;\n // token decimals.\n decimals?: number;\n // token avatar image url.\n image?: string;\n // token description.\n description?: string;\n // token social medias.\n socialMedias?: TokenSocialMedias;\n // token launch info.\n launchedFrom?: TokenLaunchedFrom;\n // token migrate info.\n migratedTo?: TokenMigratedTo;\n // token create time.\n createdAt: Date;\n}\n\nexport interface WalletPnlSubscribed {\n // chain id\n chain: Chain;\n // wallet address\n address: string;\n // wallet total balance in usd\n balanceInUsd?: string;\n // wallet total profit in usd (including both realized and unrealized profit)\n profitInUsd?: string;\n}\n\nexport interface PortfolioSubscribed {\n // chain id\n chain: Chain;\n // token address\n address: string;\n // holding token amount\n amount?: string;\n}\n\nexport type PortfolioPnlSubscribed = PortfolioPnl & {\n // chain id\n chain: Chain;\n // token address\n address: string;\n};\n\n/**\n * Subscribe client interface\n */\nexport interface ISubscribeClient {\n /**\n * Subscribe token's basic info changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenBasic(\n chain: Chain,\n address: string,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's market data changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenMarketData(\n chain: Chain,\n address: string,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's stats changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenStats(\n chain: Chain,\n address: string,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token new candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n callback: (candles: Array<TokenCandle>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPnl(\n chain: Chain,\n address: string,\n callback: (pnls: Array<WalletPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolios(\n chain: Chain,\n address: string,\n callback: (portfolios: Array<PortfolioSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolioPnls(\n chain: Chain,\n address: string,\n callback: (portfolioPnls: Array<PortfolioPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's new trade activities\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's new trade activities\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokens(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's basic info changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensBasic(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's market data changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensMarketData(\n chain: Chain,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's stats changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensStats(\n chain: Chain,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n}\n","declare global {\n interface Window {\n __LIBERFI_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};\n window.__LIBERFI_VERSION__[\"@liberfi.io/types\"] = \"0.1.4\";\n}\n\nexport default \"0.1.4\";\n","export enum Chain {\n ETHEREUM = \"1\",\n UBIQ = \"8\",\n OPTIMISM = \"10\",\n FLARE = \"14\",\n SONGBIRD = \"19\",\n ELASTOS = \"20\",\n KARDIA = \"24\",\n CRONOS = \"25\",\n RSK = \"30\",\n TELOS = \"40\",\n LUKSO = \"42\",\n CRAB = \"44\",\n DARWINIA = \"46\",\n XDC = \"50\",\n CSC = \"52\",\n ZYX = \"55\",\n BINANCE = \"56\",\n BINANCE_TESTNET = \"97\",\n SYSCOIN = \"57\",\n GOCHAIN = \"60\",\n ETHEREUMCLASSIC = \"61\",\n OKEXCHAIN = \"66\",\n HOO = \"70\",\n METER = \"82\",\n NOVA_NETWORK = \"87\",\n TOMOCHAIN = \"88\",\n BITKUB = \"96\",\n XDAI = \"100\",\n VELAS = \"106\",\n THUNDERCORE = \"108\",\n ENULS = \"119\",\n FUSE = \"122\",\n HECO = \"128\",\n UNICHAIN = \"130\",\n POLYGON = \"137\",\n SONIC = \"146\",\n SHIMMER_EVM = \"148\",\n RBN = \"151\",\n OMNI = \"166\",\n MANTA = \"169\",\n HSK = \"177\",\n WATER = \"181\",\n XLAYER = \"196\",\n XDAIARB = \"200\",\n OP_BNB = \"204\",\n VINUCHAIN = \"207\",\n ENERGYWEB = \"246\",\n OASYS = \"248\",\n FANTOM = \"250\",\n FRAXTAL = \"252\",\n HPB = \"269\",\n BOBA = \"288\",\n OMAX = \"311\",\n FILECOIN = \"314\",\n KUCOIN = \"321\",\n ZKSYNC_ERA = \"324\",\n SHIDEN = \"336\",\n THETA = \"361\",\n PULSE = \"369\",\n CRONOS_ZKEVM = \"388\",\n SX = \"416\",\n AREON = \"463\",\n WC = \"480\",\n CANDLE = \"534\",\n ROLLUX = \"570\",\n ASTAR = \"592\",\n REDSTONE = \"690\",\n MATCHAIN = \"698\",\n CALLISTO = \"820\",\n TARA = \"841\",\n WANCHAIN = \"888\",\n LYRA_CHAIN = \"957\",\n BIFROST = \"996\",\n CONFLUX = \"1030\",\n METIS = \"1088\",\n DYMENSION = \"1100\",\n POLYGON_ZKEVM = \"1101\",\n CORE = \"1116\",\n LISK = \"1135\",\n ULTRON = \"1231\",\n STEP = \"1234\",\n MOONBEAM = \"1284\",\n MOONRIVER = \"1285\",\n SEI = \"1329\",\n LIVING_ASSETS_MAINNET = \"1440\",\n STY = \"1514\",\n TENET = \"1559\",\n GRAVITY = \"1625\",\n REYA_NETWORK = \"1729\",\n SONEIUM = \"1868\",\n SWELLCHAIN = \"1923\",\n ONUS = \"1975\",\n HUBBLENET = \"1992\",\n SANKO = \"1996\",\n DOGECHAIN = \"2000\",\n MILKOMEDA = \"2001\",\n MILKOMEDA_A1 = \"2002\",\n KAVA = \"2222\",\n SOMA = \"2332\",\n KARAK = \"2410\",\n ABSTRACT = \"2741\",\n ABSTRACT_TESTNET = \"11124\",\n MORPH = \"2818\",\n CROSSFI = \"4158\",\n BEAM = \"4337\",\n IOTEX = \"4689\",\n MANTLE = \"5000\",\n XLC = \"5050\",\n NAHMII = \"5551\",\n BOUNCEBIT = \"6001\",\n TOMBCHAIN = \"6969\",\n ZETACHAIN = \"7000\",\n PLANQ = \"7070\",\n BITROCK = \"7171\",\n XSAT = \"7200\",\n CYETH = \"7560\",\n CANTO = \"7700\",\n KLAYTN = \"8217\",\n THAT = \"8428\",\n BASE = \"8453\",\n HELA = \"8668\",\n IOTAEVM = \"8822\",\n JBC = \"8899\",\n EVMOS = \"9001\",\n CARBON = \"9790\",\n SMARTBCH = \"10000\",\n ARTELA = \"11820\",\n IMMUTABLE_ZKEVM = \"13371\",\n LOOP = \"15551\",\n GENESYS = \"16507\",\n EOS_EVM = \"17777\",\n MAP_PROTOCOL = \"22776\",\n SAPPHIRE = \"23294\",\n BITGERT = \"32520\",\n FUSION = \"32659\",\n ZILLIQA = \"32769\",\n APECHAIN = \"33139\",\n EDU_CHAIN = \"41923\",\n ARBITRUM = \"42161\",\n ARBITRUM_TESTNET_GOERLI = \"421613\",\n ARBITRUM_TESTNET_SEPOLIA = \"421614\",\n ARBITRUM_NOVA = \"42170\",\n CELO = \"42220\",\n OASIS = \"42262\",\n ASSETCHAIN = \"42420\",\n ETHERLINK = \"42793\",\n AVALANCHE = \"43114\",\n REI = \"47805\",\n ZIRCUIT = \"48900\",\n SOPHON = \"50104\",\n ETN = \"52014\",\n SUPERPOSITION = \"55244\",\n REICHAIN = \"55555\",\n BOBA_BNB = \"56288\",\n INK = \"57073\",\n LINEA = \"59144\",\n BOB = \"60808\",\n GODWOKEN = \"71402\",\n BERACHAIN = \"80094\",\n BLAST = \"81457\",\n CHILIZ = \"88888\",\n STRATIS = \"105105\",\n REAL = \"111188\",\n ODYSSEY = \"153153\",\n TAIKO = \"167000\",\n BITLAYER = \"200901\",\n HYDRATION = \"222222\",\n PAREX = \"322202\",\n POLIS = \"333999\",\n KEKCHAIN = \"420420\",\n SCROLL = \"534352\",\n ZERO_NETWORK = \"543210\",\n ZKLINK_NOVA = \"810180\",\n VISION = \"888888\",\n SAAKURU = \"7225878\",\n ZORA = \"7777777\",\n CORN = \"21000000\",\n NEON = \"245022934\",\n LUMIA = \"994873017\",\n AURORA = \"1313161554\",\n HARMONY = \"1666600000\",\n PALM = \"11297108109\",\n ZENIQ = \"383414847825\",\n CURIO = \"836542336838601\",\n MODE = \"34443\",\n SOLANA = \"900900900\",\n SOLANA_TESTNET = \"901901901\",\n SOLANA_DEVNET = \"902902902\",\n}\n\nexport enum ChainNamespace {\n EVM = \"EVM\",\n SOLANA = \"SOL\",\n}\n","export class ApiError extends Error {\n constructor(\n message: string,\n public readonly code: number,\n ) {\n super(message);\n this.name = \"ApiError\";\n }\n}\n","export enum SolanaTokenProtocol {\n BAGS = \"bags\",\n BELIEVE = \"believe\",\n BONK = \"bonk\",\n BOOP = \"boop\",\n HEAVEN = \"heaven\",\n JUPSTUDIO = \"jupstudio\",\n LAUNCHLAB = \"launchlab\",\n METEORA = \"meteora\",\n MOONIT = \"moonit\",\n MOONSHOT = \"moonshot\",\n ORCA = \"orca\",\n PUMP = \"pump\",\n RAYDIUM = \"raydium\",\n SUGAR = \"sugar\",\n VIRTUAL_CURVE = \"virtual-curve\",\n PUMP_AMM = \"pump-amm\",\n}\n\nexport type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n"],"mappings":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/index.ts","../src/api/dex.ts","../src/version.ts","../src/chains.ts","../src/errors.ts","../src/tokenProtocols.ts"],"sourcesContent":["export * from \"./dex\";\nexport * from \"./mediaTrack\";\nexport * from \"./channels\";\n","import { TradeActivity } from \"../activities\";\nimport { Chain } from \"../chains\";\nimport {\n Token,\n TokenCandle,\n TokenHolder,\n TokenLaunchedFrom,\n TokenMarketData,\n TokenMigratedTo,\n TokenResolution,\n TokenSecurity,\n TokenSocialMedias,\n TokenStats,\n} from \"../token\";\nimport { PortfolioPnl, WalletPortfolios } from \"../wallet\";\n\n/**\n * Cursor list result data\n */\nexport interface CursorList<T> {\n startCursor?: string;\n endCursor?: string;\n hasPrev?: boolean;\n hasNext?: boolean;\n data: Array<T>;\n}\n\n/**\n * Cursor list query options\n */\nexport interface CursorListOptions {\n // query cursor\n cursor?: string;\n // return limit\n limit?: number;\n // query direction\n direction?: \"next\" | \"prev\";\n}\n\n/**\n * Options for getting token candles\n */\nexport interface GetTokenCandlesOptions {\n // query candles after this timestamp\n after?: Date;\n // query candles before this timestamp\n before?: Date;\n // return limit\n limit?: number;\n}\n\n/**\n * Token field for filtering\n */\nexport type TokenFieldOption =\n | \"price\"\n | \"priceChange1m\"\n | \"priceChange5m\"\n | \"priceChange15m\"\n | \"priceChange30m\"\n | \"priceChange1h\"\n | \"priceChange4h\"\n | \"priceChange24h\"\n | \"marketCap\"\n | \"tvl\"\n | \"top10Holdings\"\n | \"top10Ratio\"\n | \"top100Holdings\"\n | \"top100Ratio\"\n | \"holders\"\n | \"creatorsHoldings\"\n | \"creatorsRatio\"\n | \"buys1m\"\n | \"buys5m\"\n | \"buys15m\"\n | \"buys30m\"\n | \"buys1h\"\n | \"buys4h\"\n | \"buys24h\"\n | \"sells1m\"\n | \"sells5m\"\n | \"sells15m\"\n | \"sells30m\"\n | \"sells1h\"\n | \"sells4h\"\n | \"sells24h\"\n | \"trades1m\"\n | \"trades5m\"\n | \"trades15m\"\n | \"trades30m\"\n | \"trades1h\"\n | \"trades4h\"\n | \"trades24h\"\n | \"traders1m\"\n | \"traders5m\"\n | \"traders15m\"\n | \"traders30m\"\n | \"traders1h\"\n | \"traders4h\"\n | \"traders24h\"\n | \"volumes1m\"\n | \"volumes5m\"\n | \"volumes15m\"\n | \"volumes30m\"\n | \"volumes1h\"\n | \"volumes4h\"\n | \"volumes24h\"\n | \"launchedFromProtocolFamily\"\n | \"migratedToProtocolFamily\"\n | \"tag\"\n | \"createdAt\"\n | (string & {});\n\n/**\n * Token filter option\n */\nexport interface TokenFilterOption {\n field: TokenFieldOption;\n operator:\n | \"eq\"\n | \"ne\"\n | \"gt\"\n | \"gte\"\n | \"lt\"\n | \"lte\"\n | \"between\"\n | \"in\"\n | \"nin\"\n | \"contains\"\n | \"notContains\"\n | \"startsWith\"\n | \"endsWith\"\n | \"isNotNull\"\n | \"isNull\";\n value?: string | number | boolean | Array<string | number | boolean>;\n}\n\n/**\n * Options for getting token list\n */\nexport interface GetTokenListOptions {\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n // filters\n filters?: Array<TokenFilterOption>;\n // search keywords\n keywords?: Array<string>;\n // exclude keywords\n excludeKeywords?: Array<string>;\n}\n\n/**\n * Options for searching tokens\n */\nexport interface SearchTokensOptions extends CursorListOptions {\n // chains\n chains?: Array<Chain>;\n // search keyword\n keyword?: string;\n // filters\n filters?: Array<TokenFilterOption>;\n // sort field\n sortBy?: TokenFieldOption;\n // sort direction\n sortDirection?: \"asc\" | \"desc\";\n}\n\n/**\n * Search token cursor list\n */\nexport interface SearchTokenCursorList extends CursorList<Token> {\n // total count\n total?: number;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport enum SwapMode {\n EXACT_IN = \"ExactIn\",\n EXACT_OUT = \"ExactOut\",\n}\n\nexport interface SwapParams {\n // chain id\n chain: Chain;\n // user wallet address\n userAddress: string;\n // input token address\n input: string;\n // output token address\n output: string;\n // swap mode, e.g. ExactIn, ExactOut.\n mode: SwapMode;\n // input token amount when mode is ExactIn, output token amount when mode is ExactOut.\n amount: string;\n // slippage, range is 0-100\n slippage?: number;\n // priority fee\n priorityFee?: string;\n // tip fee\n tipFee?: string;\n // whether to use anti-MEV\n isAntiMev?: boolean;\n}\n\nexport interface SwapRoutePlan {\n // protocol name / dex name etc.\n name: string;\n // input token address\n input: string;\n // input token amount\n inputAmount: string;\n // output token address\n output: string;\n // output token amount\n outputAmount: string;\n // fee quote token address\n feeQuote?: string;\n // fee amount\n feeAmount?: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SwapRoute {\n // unsigned tx in base64 format\n serializedTx: string;\n // swap plans\n plans: Array<SwapRoutePlan>;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxParams {\n // chain id\n chain: Chain;\n // signed tx in base64 format\n serializedTx: string;\n // extra infos needed by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface SendTxResult {\n // tx hash\n txHash: string;\n // extra infos by api provider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\n/**\n * Options for getting trade activities\n */\nexport interface GetTradeActivitiesOptions extends CursorListOptions {\n // filter activities that are before this timestamp\n before?: Date;\n // filter activities that are after this timestamp\n after?: Date;\n // filter activities that are before this block height\n beforeBlockHeight?: number;\n // filter activities that are after this block height\n afterBlockHeight?: number;\n // filter activities by type\n type?: \"buy\" | \"sell\";\n // filter activities by pool address\n poolAddress?: string;\n}\n\n/**\n * API client interface\n */\nexport interface IClient {\n /**\n * fetch token info\n * @param chain chain id\n * @param address token address\n * @returns token info\n */\n getToken(chain: Chain, address: string): Promise<Token>;\n\n /**\n * fetch token infos in batch\n * @param chain chain id\n * @param addresses token addresses\n * @returns token infos\n */\n getTokens(chain: Chain, addresses: Array<string>): Promise<Array<Token>>;\n\n /**\n * fetch token candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param options optional query options\n * @returns token candles\n */\n getTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n options?: GetTokenCandlesOptions,\n ): Promise<Array<TokenCandle>>;\n\n /**\n * fetch token security\n * @param chain chain id\n * @param address token address\n * @returns token security\n */\n getTokenSecurity(chain: Chain, address: string): Promise<TokenSecurity>;\n\n /**\n * fetch token stats\n * @param chain chain id\n * @param address token address\n * @returns token stats\n */\n getTokenStats(chain: Chain, address: string): Promise<TokenStats>;\n\n /**\n * fetch token holders\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token holders\n */\n getTokenHolders(\n chain: Chain,\n address: string,\n options?: CursorListOptions,\n ): Promise<CursorList<TokenHolder>>;\n\n /**\n * fetch token market data\n * @param chain chain id\n * @param address token address\n * @returns token market data\n */\n getTokenMarketData(chain: Chain, address: string): Promise<TokenMarketData>;\n\n /**\n * fetch `New` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `New` token list\n */\n getNewTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Final Stretch` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Final Stretch` token list\n */\n getFinalStretchTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Migrated` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Migrated` token list\n */\n getMigratedTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Trending` token list\n * @param chain chain id\n * @param resolution query resolution, e.g. \"1m\", \"5m\", \"1h\", \"4h\", \"24h\"\n * @param options optional query options\n * @returns `Trending` token list\n */\n getTrendingTokens(\n chain: Chain,\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\",\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * fetch `Stock` token list\n * @param chain chain id\n * @param options optional query options\n * @returns `Stock` token list\n */\n getStockTokens(\n chain: Chain,\n options?: GetTokenListOptions,\n ): Promise<Array<Token>>;\n\n /**\n * search tokens\n * @param options optional query options\n * @returns search token cursor list\n */\n searchTokens(options?: SearchTokensOptions): Promise<SearchTokenCursorList>;\n\n /**\n * fetch swap route plans\n * @param params swap params\n * @returns swap route plans\n */\n swapRoute(params: SwapParams): Promise<SwapRoute>;\n\n /**\n * send tx\n * @param params send tx params\n * @returns send tx result\n */\n sendTx(params: SendTxParams): Promise<SendTxResult>;\n\n /**\n * check if tx is successful\n * @param chain chain id\n * @param txHash tx hash\n * @param timeout timeout in milliseconds\n * @returns true if tx is successful, false otherwise\n */\n checkTxSuccess(\n chain: Chain,\n txHash: string,\n timeout?: number,\n ): Promise<boolean>;\n\n /**\n * fetch wallet portfolios\n * @param chain chain id\n * @param address wallet address\n * @returns wallet portfolios\n */\n getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;\n\n /**\n * fetch wallet's trade activities\n * @param chain chain id\n * @param address wallet address\n * @param options optional query options\n * @returns wallet's trade activities\n */\n getWalletTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * fetch token's trade activities\n * @param chain chain id\n * @param address token address\n * @param options optional query options\n * @returns token's trade activities\n */\n getTokenTradeActivities(\n chain: Chain,\n address: string,\n options?: GetTradeActivitiesOptions,\n ): Promise<CursorList<TradeActivity>>;\n\n /**\n * get presigned upload url\n * @returns presigned upload url\n */\n getPresignedUploadUrl(): Promise<string>;\n}\n\nexport interface ISubscription {\n unsubscribe(): void;\n}\n\nexport interface TokenSubscribed {\n // chain id\n chain: Chain;\n // token address.\n address: string;\n // token name, e.g. \"Ethereum\", \"Solana\", etc.\n name?: string;\n // token symbol, e.g. \"ETH\", \"SOL\", etc.\n symbol?: string;\n // token decimals.\n decimals?: number;\n // token avatar image url.\n image?: string;\n // token description.\n description?: string;\n // token social medias.\n socialMedias?: TokenSocialMedias;\n // token launch info.\n launchedFrom?: TokenLaunchedFrom;\n // token migrate info.\n migratedTo?: TokenMigratedTo;\n // token create time.\n createdAt: Date;\n}\n\nexport interface WalletPnlSubscribed {\n // chain id\n chain: Chain;\n // wallet address\n address: string;\n // wallet total balance in usd\n balanceInUsd?: string;\n // wallet total profit in usd (including both realized and unrealized profit)\n profitInUsd?: string;\n}\n\nexport interface PortfolioSubscribed {\n // chain id\n chain: Chain;\n // token address\n address: string;\n // holding token amount\n amount?: string;\n}\n\nexport type PortfolioPnlSubscribed = PortfolioPnl & {\n // chain id\n chain: Chain;\n // token address\n address: string;\n};\n\n/**\n * Subscribe client interface\n */\nexport interface ISubscribeClient {\n /**\n * Subscribe token's basic info changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenBasic(\n chain: Chain,\n address: string,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's market data changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenMarketData(\n chain: Chain,\n address: string,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's stats changes\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenStats(\n chain: Chain,\n address: string,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token new candles\n * @param chain chain id\n * @param address token address\n * @param resolution token resolution\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenCandles(\n chain: Chain,\n address: string,\n resolution: TokenResolution,\n callback: (candles: Array<TokenCandle>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPnl(\n chain: Chain,\n address: string,\n callback: (pnls: Array<WalletPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolios(\n chain: Chain,\n address: string,\n callback: (portfolios: Array<PortfolioSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's portfolio pnl changes\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletPortfolioPnls(\n chain: Chain,\n address: string,\n callback: (portfolioPnls: Array<PortfolioPnlSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe wallet's new trade activities\n * @param chain chain id\n * @param address wallet address\n * @param callback callback function\n * @returns subscription\n */\n subscribeWalletTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe token's new trade activities\n * @param chain chain id\n * @param address token address\n * @param callback callback function\n * @returns subscription\n */\n subscribeTokenTradeActivities(\n chain: Chain,\n address: string,\n callback: (trades: Array<TradeActivity>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokens(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's basic info changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensBasic(\n chain: Chain,\n callback: (tokens: Array<TokenSubscribed>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's market data changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensMarketData(\n chain: Chain,\n callback: (marketDatas: Array<TokenMarketData>) => void,\n ): ISubscription;\n\n /**\n * Subscribe `New` token list's stats changes\n * @param chain chain id\n * @param callback callback function\n * @returns subscription\n */\n subscribeNewTokensStats(\n chain: Chain,\n callback: (stats: Array<TokenStats>) => void,\n ): ISubscription;\n}\n","declare global {\n interface Window {\n __LIBERFI_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__LIBERFI_VERSION__ = window.__LIBERFI_VERSION__ || {};\n window.__LIBERFI_VERSION__[\"@liberfi.io/types\"] = \"0.1.7\";\n}\n\nexport default \"0.1.7\";\n","export enum Chain {\n ETHEREUM = \"1\",\n UBIQ = \"8\",\n OPTIMISM = \"10\",\n FLARE = \"14\",\n SONGBIRD = \"19\",\n ELASTOS = \"20\",\n KARDIA = \"24\",\n CRONOS = \"25\",\n RSK = \"30\",\n TELOS = \"40\",\n LUKSO = \"42\",\n CRAB = \"44\",\n DARWINIA = \"46\",\n XDC = \"50\",\n CSC = \"52\",\n ZYX = \"55\",\n BINANCE = \"56\",\n BINANCE_TESTNET = \"97\",\n SYSCOIN = \"57\",\n GOCHAIN = \"60\",\n ETHEREUMCLASSIC = \"61\",\n OKEXCHAIN = \"66\",\n HOO = \"70\",\n METER = \"82\",\n NOVA_NETWORK = \"87\",\n TOMOCHAIN = \"88\",\n BITKUB = \"96\",\n XDAI = \"100\",\n VELAS = \"106\",\n THUNDERCORE = \"108\",\n ENULS = \"119\",\n FUSE = \"122\",\n HECO = \"128\",\n UNICHAIN = \"130\",\n POLYGON = \"137\",\n SONIC = \"146\",\n SHIMMER_EVM = \"148\",\n RBN = \"151\",\n OMNI = \"166\",\n MANTA = \"169\",\n HSK = \"177\",\n WATER = \"181\",\n XLAYER = \"196\",\n XDAIARB = \"200\",\n OP_BNB = \"204\",\n VINUCHAIN = \"207\",\n ENERGYWEB = \"246\",\n OASYS = \"248\",\n FANTOM = \"250\",\n FRAXTAL = \"252\",\n HPB = \"269\",\n BOBA = \"288\",\n OMAX = \"311\",\n FILECOIN = \"314\",\n KUCOIN = \"321\",\n ZKSYNC_ERA = \"324\",\n SHIDEN = \"336\",\n THETA = \"361\",\n PULSE = \"369\",\n CRONOS_ZKEVM = \"388\",\n SX = \"416\",\n AREON = \"463\",\n WC = \"480\",\n CANDLE = \"534\",\n ROLLUX = \"570\",\n ASTAR = \"592\",\n REDSTONE = \"690\",\n MATCHAIN = \"698\",\n CALLISTO = \"820\",\n TARA = \"841\",\n WANCHAIN = \"888\",\n LYRA_CHAIN = \"957\",\n BIFROST = \"996\",\n CONFLUX = \"1030\",\n METIS = \"1088\",\n DYMENSION = \"1100\",\n POLYGON_ZKEVM = \"1101\",\n CORE = \"1116\",\n LISK = \"1135\",\n ULTRON = \"1231\",\n STEP = \"1234\",\n MOONBEAM = \"1284\",\n MOONRIVER = \"1285\",\n SEI = \"1329\",\n LIVING_ASSETS_MAINNET = \"1440\",\n STY = \"1514\",\n TENET = \"1559\",\n GRAVITY = \"1625\",\n REYA_NETWORK = \"1729\",\n SONEIUM = \"1868\",\n SWELLCHAIN = \"1923\",\n ONUS = \"1975\",\n HUBBLENET = \"1992\",\n SANKO = \"1996\",\n DOGECHAIN = \"2000\",\n MILKOMEDA = \"2001\",\n MILKOMEDA_A1 = \"2002\",\n KAVA = \"2222\",\n SOMA = \"2332\",\n KARAK = \"2410\",\n ABSTRACT = \"2741\",\n ABSTRACT_TESTNET = \"11124\",\n MORPH = \"2818\",\n CROSSFI = \"4158\",\n BEAM = \"4337\",\n IOTEX = \"4689\",\n MANTLE = \"5000\",\n XLC = \"5050\",\n NAHMII = \"5551\",\n BOUNCEBIT = \"6001\",\n TOMBCHAIN = \"6969\",\n ZETACHAIN = \"7000\",\n PLANQ = \"7070\",\n BITROCK = \"7171\",\n XSAT = \"7200\",\n CYETH = \"7560\",\n CANTO = \"7700\",\n KLAYTN = \"8217\",\n THAT = \"8428\",\n BASE = \"8453\",\n HELA = \"8668\",\n IOTAEVM = \"8822\",\n JBC = \"8899\",\n EVMOS = \"9001\",\n CARBON = \"9790\",\n SMARTBCH = \"10000\",\n ARTELA = \"11820\",\n IMMUTABLE_ZKEVM = \"13371\",\n LOOP = \"15551\",\n GENESYS = \"16507\",\n EOS_EVM = \"17777\",\n MAP_PROTOCOL = \"22776\",\n SAPPHIRE = \"23294\",\n BITGERT = \"32520\",\n FUSION = \"32659\",\n ZILLIQA = \"32769\",\n APECHAIN = \"33139\",\n EDU_CHAIN = \"41923\",\n ARBITRUM = \"42161\",\n ARBITRUM_TESTNET_GOERLI = \"421613\",\n ARBITRUM_TESTNET_SEPOLIA = \"421614\",\n ARBITRUM_NOVA = \"42170\",\n CELO = \"42220\",\n OASIS = \"42262\",\n ASSETCHAIN = \"42420\",\n ETHERLINK = \"42793\",\n AVALANCHE = \"43114\",\n REI = \"47805\",\n ZIRCUIT = \"48900\",\n SOPHON = \"50104\",\n ETN = \"52014\",\n SUPERPOSITION = \"55244\",\n REICHAIN = \"55555\",\n BOBA_BNB = \"56288\",\n INK = \"57073\",\n LINEA = \"59144\",\n BOB = \"60808\",\n GODWOKEN = \"71402\",\n BERACHAIN = \"80094\",\n BLAST = \"81457\",\n CHILIZ = \"88888\",\n STRATIS = \"105105\",\n REAL = \"111188\",\n ODYSSEY = \"153153\",\n TAIKO = \"167000\",\n BITLAYER = \"200901\",\n HYDRATION = \"222222\",\n PAREX = \"322202\",\n POLIS = \"333999\",\n KEKCHAIN = \"420420\",\n SCROLL = \"534352\",\n ZERO_NETWORK = \"543210\",\n ZKLINK_NOVA = \"810180\",\n VISION = \"888888\",\n SAAKURU = \"7225878\",\n ZORA = \"7777777\",\n CORN = \"21000000\",\n NEON = \"245022934\",\n LUMIA = \"994873017\",\n AURORA = \"1313161554\",\n HARMONY = \"1666600000\",\n PALM = \"11297108109\",\n ZENIQ = \"383414847825\",\n CURIO = \"836542336838601\",\n MODE = \"34443\",\n SOLANA = \"900900900\",\n SOLANA_TESTNET = \"901901901\",\n SOLANA_DEVNET = \"902902902\",\n}\n\nexport enum ChainNamespace {\n EVM = \"EVM\",\n SOLANA = \"SOL\",\n}\n","export class ApiError extends Error {\n constructor(\n message: string,\n public readonly code: number,\n ) {\n super(message);\n this.name = \"ApiError\";\n }\n}\n","export enum SolanaTokenProtocol {\n BAGS = \"bags\",\n BELIEVE = \"believe\",\n BONK = \"bonk\",\n BOOP = \"boop\",\n HEAVEN = \"heaven\",\n JUPSTUDIO = \"jupstudio\",\n LAUNCHLAB = \"launchlab\",\n METEORA = \"meteora\",\n MOONIT = \"moonit\",\n MOONSHOT = \"moonshot\",\n ORCA = \"orca\",\n PUMP = \"pump\",\n RAYDIUM = \"raydium\",\n SUGAR = \"sugar\",\n VIRTUAL_CURVE = \"virtual-curve\",\n PUMP_AMM = \"pump-amm\",\n}\n\nexport type TokenProtocol = keyof typeof SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;;;ACoLO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,UAAA,cAAW;AACX,EAAAA,UAAA,eAAY;AAFF,SAAAA;AAAA,GAAA;;;AC7KZ,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,sBAAsB,OAAO,uBAAuB,CAAC;AAC5D,SAAO,oBAAoB,mBAAmB,IAAI;AACpD;AAEA,IAAO,kBAAQ;;;ACZR,IAAK,QAAL,kBAAKC,WAAL;AACL,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,QAAK;AACL,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,QAAK;AACL,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,2BAAwB;AACxB,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,sBAAmB;AACnB,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,qBAAkB;AAClB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,6BAA0B;AAC1B,EAAAA,OAAA,8BAA2B;AAC3B,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,gBAAa;AACb,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,mBAAgB;AAChB,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,SAAM;AACN,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,eAAY;AACZ,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,cAAW;AACX,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,kBAAe;AACf,EAAAA,OAAA,iBAAc;AACd,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AACP,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,oBAAiB;AACjB,EAAAA,OAAA,mBAAgB;AA5LN,SAAAA;AAAA,GAAA;AA+LL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,YAAS;AAFC,SAAAA;AAAA,GAAA;;;AC/LL,IAAM,WAAN,cAAuB,MAAM;AAAA,EAClC,YACE,SACgB,MAChB;AACA,UAAM,OAAO;AAFG;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;;;ACRO,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,mBAAgB;AAChB,EAAAA,qBAAA,cAAW;AAhBD,SAAAA;AAAA,GAAA;AAqBL,IAAM,yBAAyB,OAAO,OAAO,mBAAmB;","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|