@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 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
- type index_CursorList<T> = CursorList<T>;
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 index_CursorList as CursorList, type index_CursorListOptions as CursorListOptions, type index_GetTokenCandlesOptions as GetTokenCandlesOptions, type index_GetTokenListOptions as GetTokenListOptions, type index_GetTradeActivitiesOptions as GetTradeActivitiesOptions, type index_IClient as IClient, type index_IMediaTrackClient as IMediaTrackClient, type index_ISubscribeClient as ISubscribeClient, type index_ISubscription as ISubscription, 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_WalletPnlSubscribed as WalletPnlSubscribed };
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.4";
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
- type index_CursorList<T> = CursorList<T>;
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 index_CursorList as CursorList, type index_CursorListOptions as CursorListOptions, type index_GetTokenCandlesOptions as GetTokenCandlesOptions, type index_GetTokenListOptions as GetTokenListOptions, type index_GetTradeActivitiesOptions as GetTradeActivitiesOptions, type index_IClient as IClient, type index_IMediaTrackClient as IMediaTrackClient, type index_ISubscribeClient as ISubscribeClient, type index_ISubscription as ISubscription, 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_WalletPnlSubscribed as WalletPnlSubscribed };
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.4";
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.4";
50
+ window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.7";
51
51
  }
52
- var version_default = "0.1.4";
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":"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","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":";;;;;;;;;;;;;;;;;;;;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"]}
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.4";
23
+ window.__LIBERFI_VERSION__["@liberfi.io/types"] = "0.1.7";
24
24
  }
25
- var version_default = "0.1.4";
25
+ var version_default = "0.1.7";
26
26
 
27
27
  // src/chains.ts
28
28
  var Chain = /* @__PURE__ */ ((Chain2) => {
@@ -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":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liberfi.io/types",
3
- "version": "0.1.5",
3
+ "version": "0.1.8",
4
4
  "description": "Liberfi React SDK types",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",