@liberfi.io/types 0.4.29 → 0.4.31
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/api/index.d.mts +239 -23
- package/dist/api/index.d.ts +239 -23
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/api/index.d.mts
CHANGED
|
@@ -321,10 +321,14 @@ interface GetTradesOptions extends CursorListOptions {
|
|
|
321
321
|
}
|
|
322
322
|
/**
|
|
323
323
|
* Sort field for activity list (Phase 3).
|
|
324
|
-
* - `timestamp` — order by activity time
|
|
324
|
+
* - `timestamp` — order by activity time
|
|
325
325
|
* - `totalUsd` — order by USD amount (useful for finding whale trades)
|
|
326
326
|
*/
|
|
327
327
|
type ActivitiesSortBy = "timestamp" | "totalUsd";
|
|
328
|
+
/**
|
|
329
|
+
* Sort direction for activity list (Phase 3).
|
|
330
|
+
*/
|
|
331
|
+
type ActivitiesSortDirection = "asc" | "desc";
|
|
328
332
|
/**
|
|
329
333
|
* Options for getting activities.
|
|
330
334
|
*/
|
|
@@ -342,10 +346,15 @@ interface GetActivitiesOptions extends CursorListOptions {
|
|
|
342
346
|
/** filter activities by pool address */
|
|
343
347
|
poolAddress?: string;
|
|
344
348
|
/**
|
|
345
|
-
* Sort field (Phase 3). Defaults to `timestamp` on the server.
|
|
346
|
-
* `sortBy`, the caller must discard the previous cursor and restart from page 1.
|
|
349
|
+
* Sort field (Phase 3). Defaults to `timestamp` on the server.
|
|
347
350
|
*/
|
|
348
351
|
sortBy?: ActivitiesSortBy;
|
|
352
|
+
/**
|
|
353
|
+
* Sort direction (Phase 3). Defaults to `desc` on the server. When changing
|
|
354
|
+
* `sortBy` or `sortDirection`, the caller must discard the previous cursor
|
|
355
|
+
* and restart from page 1.
|
|
356
|
+
*/
|
|
357
|
+
sortDirection?: ActivitiesSortDirection;
|
|
349
358
|
}
|
|
350
359
|
|
|
351
360
|
/**
|
|
@@ -458,6 +467,10 @@ interface Token {
|
|
|
458
467
|
* token creators.
|
|
459
468
|
*/
|
|
460
469
|
creators?: Array<TokenCreator>;
|
|
470
|
+
/**
|
|
471
|
+
* token developer's wallet address.
|
|
472
|
+
*/
|
|
473
|
+
developerAddress?: string;
|
|
461
474
|
/**
|
|
462
475
|
* token launch info.
|
|
463
476
|
*/
|
|
@@ -716,6 +729,10 @@ interface TokenMarketData {
|
|
|
716
729
|
* market cap in usd
|
|
717
730
|
*/
|
|
718
731
|
marketCapInUsd?: string;
|
|
732
|
+
/**
|
|
733
|
+
* all-time-high market cap in usd
|
|
734
|
+
*/
|
|
735
|
+
athMarketCapInUsd?: string;
|
|
719
736
|
/**
|
|
720
737
|
* price in quote token
|
|
721
738
|
*/
|
|
@@ -732,6 +749,14 @@ interface TokenMarketData {
|
|
|
732
749
|
* tvl in usd
|
|
733
750
|
*/
|
|
734
751
|
tvlInUsd?: string;
|
|
752
|
+
/**
|
|
753
|
+
* max pool tvl in quote token
|
|
754
|
+
*/
|
|
755
|
+
maxPoolTvl?: string;
|
|
756
|
+
/**
|
|
757
|
+
* max pool tvl in usd
|
|
758
|
+
*/
|
|
759
|
+
maxPoolTvlInUsd?: string;
|
|
735
760
|
/**
|
|
736
761
|
* holders count
|
|
737
762
|
*/
|
|
@@ -903,12 +928,131 @@ interface TokenLiquidity {
|
|
|
903
928
|
*/
|
|
904
929
|
tvlInUsd?: string;
|
|
905
930
|
}
|
|
931
|
+
interface TokenSecurityProviderInfo {
|
|
932
|
+
/**
|
|
933
|
+
* whether this provider returned data for the token.
|
|
934
|
+
*/
|
|
935
|
+
available: boolean;
|
|
936
|
+
/**
|
|
937
|
+
* whether this provider supports the token's chain.
|
|
938
|
+
*/
|
|
939
|
+
chainSupported?: boolean;
|
|
940
|
+
/**
|
|
941
|
+
* last refresh timestamp returned by the provider.
|
|
942
|
+
*/
|
|
943
|
+
lastRefreshedAt?: string;
|
|
944
|
+
/**
|
|
945
|
+
* provider raw payload for unsupported future fields.
|
|
946
|
+
*/
|
|
947
|
+
raw?: unknown;
|
|
948
|
+
}
|
|
949
|
+
interface TokenGoPlusSecurity extends TokenSecurityProviderInfo {
|
|
950
|
+
buyTaxRatio?: string;
|
|
951
|
+
sellTaxRatio?: string;
|
|
952
|
+
holderCount?: string;
|
|
953
|
+
lpHolderCount?: string;
|
|
954
|
+
ownerAddress?: string;
|
|
955
|
+
totalSupply?: string;
|
|
956
|
+
hasBlacklist?: boolean;
|
|
957
|
+
isFreezable?: boolean;
|
|
958
|
+
isHoneypot?: boolean;
|
|
959
|
+
isMintable?: boolean;
|
|
960
|
+
isOpenSource?: boolean;
|
|
961
|
+
isProxy?: boolean;
|
|
962
|
+
isRenounced?: boolean;
|
|
963
|
+
}
|
|
964
|
+
interface TokenHoneypotSecurity extends TokenSecurityProviderInfo {
|
|
965
|
+
averageTaxRatio?: string;
|
|
966
|
+
buyTaxRatio?: string;
|
|
967
|
+
sellTaxRatio?: string;
|
|
968
|
+
highTaxRatio?: string;
|
|
969
|
+
canSell?: number;
|
|
970
|
+
canNotSell?: number;
|
|
971
|
+
honeypotResult?: string;
|
|
972
|
+
isHoneypot?: boolean;
|
|
973
|
+
isOpenSource?: boolean;
|
|
974
|
+
isRenounced?: boolean;
|
|
975
|
+
}
|
|
976
|
+
interface TokenSerializedSecurity extends TokenSecurityProviderInfo {
|
|
977
|
+
isOpenSource?: boolean;
|
|
978
|
+
isProxy?: boolean;
|
|
979
|
+
isRenounced?: boolean;
|
|
980
|
+
isSafe?: boolean;
|
|
981
|
+
launchpadName?: string;
|
|
982
|
+
ownerAddress?: string;
|
|
983
|
+
sourceType?: string;
|
|
984
|
+
vulnCount?: number;
|
|
985
|
+
vulnCriticalCount?: number;
|
|
986
|
+
vulnMitigatedCount?: number;
|
|
987
|
+
}
|
|
988
|
+
interface TokenLockInfo {
|
|
989
|
+
isLocked?: boolean;
|
|
990
|
+
leftLockPercentRatio?: string;
|
|
991
|
+
lockDetail?: string;
|
|
992
|
+
lockPercentRatio?: string;
|
|
993
|
+
lockTags?: string[];
|
|
994
|
+
}
|
|
995
|
+
interface TokenPrivilegeInfo {
|
|
996
|
+
address?: string;
|
|
997
|
+
isRenounced?: boolean;
|
|
998
|
+
name?: string;
|
|
999
|
+
}
|
|
906
1000
|
/**
|
|
907
|
-
* Token security flags
|
|
908
|
-
* below; additional checks may be added in the future as the security service
|
|
909
|
-
* gains coverage of more chains and risk vectors.
|
|
1001
|
+
* Token security flags and provider-specific security data.
|
|
910
1002
|
*/
|
|
911
1003
|
interface TokenSecurity {
|
|
1004
|
+
/**
|
|
1005
|
+
* token address.
|
|
1006
|
+
*/
|
|
1007
|
+
address?: string;
|
|
1008
|
+
/**
|
|
1009
|
+
* chain symbol returned by the security backend.
|
|
1010
|
+
*/
|
|
1011
|
+
chain?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* providers that returned security information.
|
|
1014
|
+
*/
|
|
1015
|
+
sourcesAvailable?: string[];
|
|
1016
|
+
/**
|
|
1017
|
+
* GoPlus security information.
|
|
1018
|
+
*/
|
|
1019
|
+
goplus?: TokenGoPlusSecurity;
|
|
1020
|
+
/**
|
|
1021
|
+
* Honeypot.is security information.
|
|
1022
|
+
*/
|
|
1023
|
+
honeypot?: TokenHoneypotSecurity;
|
|
1024
|
+
/**
|
|
1025
|
+
* Serialized security information.
|
|
1026
|
+
*/
|
|
1027
|
+
serialized?: TokenSerializedSecurity;
|
|
1028
|
+
/**
|
|
1029
|
+
* LP lock information.
|
|
1030
|
+
*/
|
|
1031
|
+
lockInfo?: TokenLockInfo;
|
|
1032
|
+
/**
|
|
1033
|
+
* token privilege / authority information.
|
|
1034
|
+
*/
|
|
1035
|
+
privileges?: TokenPrivilegeInfo[];
|
|
1036
|
+
/**
|
|
1037
|
+
* dev token burn amount.
|
|
1038
|
+
*/
|
|
1039
|
+
devTokenBurnAmount?: string;
|
|
1040
|
+
/**
|
|
1041
|
+
* dev token burn ratio.
|
|
1042
|
+
*/
|
|
1043
|
+
devTokenBurnRatio?: string;
|
|
1044
|
+
/**
|
|
1045
|
+
* LP burn ratio parsed from Solana GoPlus raw DEX data.
|
|
1046
|
+
*/
|
|
1047
|
+
lpBurnRatio?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Top 10 holder ratio parsed from Solana GoPlus raw holder data.
|
|
1050
|
+
*/
|
|
1051
|
+
top10HoldersRatio?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* whether backend recommends showing an alert.
|
|
1054
|
+
*/
|
|
1055
|
+
isShowAlert?: boolean;
|
|
912
1056
|
/**
|
|
913
1057
|
* whether the token has transfer fee.
|
|
914
1058
|
*/
|
|
@@ -929,6 +1073,74 @@ interface TokenSecurity {
|
|
|
929
1073
|
* whether the token is closable.
|
|
930
1074
|
*/
|
|
931
1075
|
isClosable?: boolean;
|
|
1076
|
+
/**
|
|
1077
|
+
* whether token balance mutable authority is active.
|
|
1078
|
+
*/
|
|
1079
|
+
isBalanceMutableAuthorityActive?: boolean;
|
|
1080
|
+
/**
|
|
1081
|
+
* whether token metadata can still be changed.
|
|
1082
|
+
*/
|
|
1083
|
+
isMetadataMutable?: boolean;
|
|
1084
|
+
/**
|
|
1085
|
+
* whether the token is mintable.
|
|
1086
|
+
*/
|
|
1087
|
+
isMintable?: boolean;
|
|
1088
|
+
/**
|
|
1089
|
+
* whether mint authority is renounced.
|
|
1090
|
+
*/
|
|
1091
|
+
isMintAuthorityRenounced?: boolean;
|
|
1092
|
+
/**
|
|
1093
|
+
* whether blacklist capability is present.
|
|
1094
|
+
*/
|
|
1095
|
+
hasBlacklist?: boolean;
|
|
1096
|
+
/**
|
|
1097
|
+
* whether LP / dev token burn is detected.
|
|
1098
|
+
*/
|
|
1099
|
+
isLpBurned?: boolean;
|
|
1100
|
+
/**
|
|
1101
|
+
* whether the contract source is open / verified.
|
|
1102
|
+
*/
|
|
1103
|
+
isOpenSource?: boolean;
|
|
1104
|
+
/**
|
|
1105
|
+
* whether the token is a honeypot.
|
|
1106
|
+
*/
|
|
1107
|
+
isHoneypot?: boolean;
|
|
1108
|
+
/**
|
|
1109
|
+
* whether ownership / owner privilege is renounced.
|
|
1110
|
+
*/
|
|
1111
|
+
isOwnershipRenounced?: boolean;
|
|
1112
|
+
/**
|
|
1113
|
+
* whether LP is locked.
|
|
1114
|
+
*/
|
|
1115
|
+
isLpLocked?: boolean;
|
|
1116
|
+
/**
|
|
1117
|
+
* buy tax ratio.
|
|
1118
|
+
*/
|
|
1119
|
+
buyTaxRatio?: string;
|
|
1120
|
+
/**
|
|
1121
|
+
* sell tax ratio.
|
|
1122
|
+
*/
|
|
1123
|
+
sellTaxRatio?: string;
|
|
1124
|
+
/**
|
|
1125
|
+
* average tax ratio.
|
|
1126
|
+
*/
|
|
1127
|
+
averageTaxRatio?: string;
|
|
1128
|
+
/**
|
|
1129
|
+
* highest tax ratio.
|
|
1130
|
+
*/
|
|
1131
|
+
maxTaxRatio?: string;
|
|
1132
|
+
/**
|
|
1133
|
+
* whether Serialized reports the token as safe.
|
|
1134
|
+
*/
|
|
1135
|
+
isSerializedSafe?: boolean;
|
|
1136
|
+
/**
|
|
1137
|
+
* Serialized vulnerability count.
|
|
1138
|
+
*/
|
|
1139
|
+
serializedVulnCount?: number;
|
|
1140
|
+
/**
|
|
1141
|
+
* Serialized critical vulnerability count.
|
|
1142
|
+
*/
|
|
1143
|
+
serializedCriticalVulnCount?: number;
|
|
932
1144
|
}
|
|
933
1145
|
type TokenResolution = "1s" | "15s" | "30s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "24h";
|
|
934
1146
|
interface TokenCandle {
|
|
@@ -1690,7 +1902,7 @@ interface SearchTokenCursorList extends CursorList<Token> {
|
|
|
1690
1902
|
* - `holdingUsd` — order by holding value in USD (default, descending)
|
|
1691
1903
|
* - `lastActiveAt` — order by wallet's last activity time
|
|
1692
1904
|
*/
|
|
1693
|
-
type TokenHoldersSortBy = "holdingUsd" | "lastActiveAt" | "realizedPnl" | "buyVolume" | "sellVolume";
|
|
1905
|
+
type TokenHoldersSortBy = "amountPercentage" | "holdingUsd" | "usdValue" | "totalPnl" | "lastActiveAt" | "realizedPnl" | "unrealizedPnl" | "buyVolume" | "sellVolume" | "netflowUsd" | "createdAt";
|
|
1694
1906
|
/**
|
|
1695
1907
|
* Options for getting token holders (Phase 3).
|
|
1696
1908
|
*/
|
|
@@ -1700,19 +1912,34 @@ interface GetTokenHoldersOptions extends CursorListOptions {
|
|
|
1700
1912
|
* Switching `sortBy` requires discarding the old cursor and restarting from page 1.
|
|
1701
1913
|
*/
|
|
1702
1914
|
sortBy?: TokenHoldersSortBy;
|
|
1915
|
+
/**
|
|
1916
|
+
* Sort direction. Defaults to `desc` on the server.
|
|
1917
|
+
* Switching `sortDirection` requires discarding the old cursor and restarting from page 1.
|
|
1918
|
+
*/
|
|
1919
|
+
sortDirection?: "asc" | "desc";
|
|
1703
1920
|
}
|
|
1704
1921
|
/**
|
|
1705
1922
|
* Sort field for token top-traders query.
|
|
1706
1923
|
*/
|
|
1707
|
-
type TokenTopTradersSortBy = "profit" | "buyVolume" | "sellVolume" | "lastActiveAt" | "netflowUsd";
|
|
1924
|
+
type TokenTopTradersSortBy = "profit" | "totalPnl" | "realizedPnl" | "unrealizedPnl" | "buyVolume" | "sellVolume" | "lastActiveAt" | "netflowUsd" | "createdAt";
|
|
1925
|
+
/**
|
|
1926
|
+
* Sort direction for token top-traders query.
|
|
1927
|
+
*/
|
|
1928
|
+
type TokenTopTradersSortDirection = "asc" | "desc";
|
|
1708
1929
|
/**
|
|
1709
1930
|
* Options for getting token top traders.
|
|
1710
1931
|
*/
|
|
1711
1932
|
interface GetTokenTopTradersOptions extends CursorListOptions {
|
|
1712
1933
|
/**
|
|
1713
|
-
* Sort field. Defaults to `
|
|
1934
|
+
* Sort field. Defaults to `totalPnl` on the server.
|
|
1935
|
+
*
|
|
1936
|
+
* `profit` is kept for backward compatibility and maps to `totalPnl`.
|
|
1714
1937
|
*/
|
|
1715
1938
|
sortBy?: TokenTopTradersSortBy;
|
|
1939
|
+
/**
|
|
1940
|
+
* Sort direction. Defaults to `desc` on the server.
|
|
1941
|
+
*/
|
|
1942
|
+
sortDirection?: TokenTopTradersSortDirection;
|
|
1716
1943
|
/**
|
|
1717
1944
|
* Filter by wallet tag.
|
|
1718
1945
|
*/
|
|
@@ -1724,17 +1951,8 @@ interface GetTokenTopTradersOptions extends CursorListOptions {
|
|
|
1724
1951
|
type TrendingResolution = Extract<TokenResolution, "1m" | "5m" | "1h" | "4h" | "24h">;
|
|
1725
1952
|
/**
|
|
1726
1953
|
* Options for listing tokens created by a given wallet (the "Dev Tokens" tab).
|
|
1727
|
-
*
|
|
1728
|
-
* NOTE: The server does not yet implement a creator-index endpoint. The
|
|
1729
|
-
* `Client.getTokensByCreator` method throws a `NotImplementedError` and the
|
|
1730
|
-
* React hook surfaces an empty result for now.
|
|
1731
1954
|
*/
|
|
1732
|
-
|
|
1733
|
-
/** optional sort field; server behaviour will be defined when endpoint ships. */
|
|
1734
|
-
sortBy?: TokenFieldOption;
|
|
1735
|
-
/** sort direction. */
|
|
1736
|
-
sortDirection?: "asc" | "desc";
|
|
1737
|
-
}
|
|
1955
|
+
type GetTokensByCreatorOptions = CursorListOptions;
|
|
1738
1956
|
|
|
1739
1957
|
interface LatestBlockParams {
|
|
1740
1958
|
/** chain id */
|
|
@@ -1994,10 +2212,8 @@ interface IClient {
|
|
|
1994
2212
|
/**
|
|
1995
2213
|
* fetch tokens created by a wallet ("Dev Tokens").
|
|
1996
2214
|
*
|
|
1997
|
-
* Currently unsupported by the backend; implementations throw
|
|
1998
|
-
* `NotImplementedError`.
|
|
1999
2215
|
* @param chain chain id
|
|
2000
|
-
* @param creator creator wallet address
|
|
2216
|
+
* @param creator creator / developer wallet address
|
|
2001
2217
|
* @param options optional query options
|
|
2002
2218
|
*/
|
|
2003
2219
|
getTokensByCreator(chain: Chain, creator: string, options?: GetTokensByCreatorOptions): Promise<CursorList<Token>>;
|
|
@@ -2153,4 +2369,4 @@ interface ISubscribeClient {
|
|
|
2153
2369
|
subscribeStockTokens(chain: Chain, callback: (data: Array<TokenSubscribed>) => void): ISubscription;
|
|
2154
2370
|
}
|
|
2155
2371
|
|
|
2156
|
-
export { type ActivityToken as A, type ActivitiesSortBy, type
|
|
2372
|
+
export { type ActivityToken as A, type ActivitiesSortBy, type ActivitiesSortDirection, type TokenSecurity as B, type BlockchainLatestBlock, Chain as C, type CursorList, type CursorListOptions, type CursorPagination, type TokenResolution as D, type TokenCandle as E, type TokenHolder as F, type TokenTopTrader as G, type GetActivitiesOptions, type GetTokenCandlesOptions, type GetTokenHoldersOptions, type GetTokenListOptions, type GetTokenTopTradersOptions, type GetTokensByCreatorOptions, type GetTradesOptions, type GetWalletLimitOrdersOptions, type GetWalletPortfolioPnlsOptions, type PortfolioPnl as H, type Portfolio as I, type IClient, type ISubscribeClient, type ISubscription, type WalletPnl as J, type WalletPortfolioPnls as K, type LimitOrderSide as L, type LatestBlockParams, type WalletPortfolios as M, type PoolDex as P, type PortfolioPnlSubscribed, type PortfolioSubscribed, type PositionState, SolanaTokenProtocol as S, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, type SwapDex, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Trade as T, type TokenFieldOption, type TokenFilterOption, type TokenHoldersSortBy, type TokenSubscribed, type TokenTopTradersSortBy, type TokenTopTradersSortDirection, type TrendingResolution, type WalletTag as W, type WalletPnlResolution, type WalletPnlSortBy, type WalletPnlSubscribed, type ActivityDex as a, type ActivityType as b, type Activity as c, ChainNamespace as d, type LimitOrderState as e, type LimitOrder as f, type PoolBalance as g, type Pool as h, type PoolSubscribed as i, type TokenProtocol as j, SOLANA_TOKEN_PROTOCOLS as k, type Token as l, type TokenCreator as m, type TokenLaunchedFrom as n, type TokenMigratedTo as o, type TokenSocialMedias as p, type TokenStats as q, type TokenStatsByResolution as r, type TokenMarketData as s, type TokenLiquidity as t, type TokenSecurityProviderInfo as u, type TokenGoPlusSecurity as v, type TokenHoneypotSecurity as w, type TokenSerializedSecurity as x, type TokenLockInfo as y, type TokenPrivilegeInfo as z };
|
package/dist/api/index.d.ts
CHANGED
|
@@ -321,10 +321,14 @@ interface GetTradesOptions extends CursorListOptions {
|
|
|
321
321
|
}
|
|
322
322
|
/**
|
|
323
323
|
* Sort field for activity list (Phase 3).
|
|
324
|
-
* - `timestamp` — order by activity time
|
|
324
|
+
* - `timestamp` — order by activity time
|
|
325
325
|
* - `totalUsd` — order by USD amount (useful for finding whale trades)
|
|
326
326
|
*/
|
|
327
327
|
type ActivitiesSortBy = "timestamp" | "totalUsd";
|
|
328
|
+
/**
|
|
329
|
+
* Sort direction for activity list (Phase 3).
|
|
330
|
+
*/
|
|
331
|
+
type ActivitiesSortDirection = "asc" | "desc";
|
|
328
332
|
/**
|
|
329
333
|
* Options for getting activities.
|
|
330
334
|
*/
|
|
@@ -342,10 +346,15 @@ interface GetActivitiesOptions extends CursorListOptions {
|
|
|
342
346
|
/** filter activities by pool address */
|
|
343
347
|
poolAddress?: string;
|
|
344
348
|
/**
|
|
345
|
-
* Sort field (Phase 3). Defaults to `timestamp` on the server.
|
|
346
|
-
* `sortBy`, the caller must discard the previous cursor and restart from page 1.
|
|
349
|
+
* Sort field (Phase 3). Defaults to `timestamp` on the server.
|
|
347
350
|
*/
|
|
348
351
|
sortBy?: ActivitiesSortBy;
|
|
352
|
+
/**
|
|
353
|
+
* Sort direction (Phase 3). Defaults to `desc` on the server. When changing
|
|
354
|
+
* `sortBy` or `sortDirection`, the caller must discard the previous cursor
|
|
355
|
+
* and restart from page 1.
|
|
356
|
+
*/
|
|
357
|
+
sortDirection?: ActivitiesSortDirection;
|
|
349
358
|
}
|
|
350
359
|
|
|
351
360
|
/**
|
|
@@ -458,6 +467,10 @@ interface Token {
|
|
|
458
467
|
* token creators.
|
|
459
468
|
*/
|
|
460
469
|
creators?: Array<TokenCreator>;
|
|
470
|
+
/**
|
|
471
|
+
* token developer's wallet address.
|
|
472
|
+
*/
|
|
473
|
+
developerAddress?: string;
|
|
461
474
|
/**
|
|
462
475
|
* token launch info.
|
|
463
476
|
*/
|
|
@@ -716,6 +729,10 @@ interface TokenMarketData {
|
|
|
716
729
|
* market cap in usd
|
|
717
730
|
*/
|
|
718
731
|
marketCapInUsd?: string;
|
|
732
|
+
/**
|
|
733
|
+
* all-time-high market cap in usd
|
|
734
|
+
*/
|
|
735
|
+
athMarketCapInUsd?: string;
|
|
719
736
|
/**
|
|
720
737
|
* price in quote token
|
|
721
738
|
*/
|
|
@@ -732,6 +749,14 @@ interface TokenMarketData {
|
|
|
732
749
|
* tvl in usd
|
|
733
750
|
*/
|
|
734
751
|
tvlInUsd?: string;
|
|
752
|
+
/**
|
|
753
|
+
* max pool tvl in quote token
|
|
754
|
+
*/
|
|
755
|
+
maxPoolTvl?: string;
|
|
756
|
+
/**
|
|
757
|
+
* max pool tvl in usd
|
|
758
|
+
*/
|
|
759
|
+
maxPoolTvlInUsd?: string;
|
|
735
760
|
/**
|
|
736
761
|
* holders count
|
|
737
762
|
*/
|
|
@@ -903,12 +928,131 @@ interface TokenLiquidity {
|
|
|
903
928
|
*/
|
|
904
929
|
tvlInUsd?: string;
|
|
905
930
|
}
|
|
931
|
+
interface TokenSecurityProviderInfo {
|
|
932
|
+
/**
|
|
933
|
+
* whether this provider returned data for the token.
|
|
934
|
+
*/
|
|
935
|
+
available: boolean;
|
|
936
|
+
/**
|
|
937
|
+
* whether this provider supports the token's chain.
|
|
938
|
+
*/
|
|
939
|
+
chainSupported?: boolean;
|
|
940
|
+
/**
|
|
941
|
+
* last refresh timestamp returned by the provider.
|
|
942
|
+
*/
|
|
943
|
+
lastRefreshedAt?: string;
|
|
944
|
+
/**
|
|
945
|
+
* provider raw payload for unsupported future fields.
|
|
946
|
+
*/
|
|
947
|
+
raw?: unknown;
|
|
948
|
+
}
|
|
949
|
+
interface TokenGoPlusSecurity extends TokenSecurityProviderInfo {
|
|
950
|
+
buyTaxRatio?: string;
|
|
951
|
+
sellTaxRatio?: string;
|
|
952
|
+
holderCount?: string;
|
|
953
|
+
lpHolderCount?: string;
|
|
954
|
+
ownerAddress?: string;
|
|
955
|
+
totalSupply?: string;
|
|
956
|
+
hasBlacklist?: boolean;
|
|
957
|
+
isFreezable?: boolean;
|
|
958
|
+
isHoneypot?: boolean;
|
|
959
|
+
isMintable?: boolean;
|
|
960
|
+
isOpenSource?: boolean;
|
|
961
|
+
isProxy?: boolean;
|
|
962
|
+
isRenounced?: boolean;
|
|
963
|
+
}
|
|
964
|
+
interface TokenHoneypotSecurity extends TokenSecurityProviderInfo {
|
|
965
|
+
averageTaxRatio?: string;
|
|
966
|
+
buyTaxRatio?: string;
|
|
967
|
+
sellTaxRatio?: string;
|
|
968
|
+
highTaxRatio?: string;
|
|
969
|
+
canSell?: number;
|
|
970
|
+
canNotSell?: number;
|
|
971
|
+
honeypotResult?: string;
|
|
972
|
+
isHoneypot?: boolean;
|
|
973
|
+
isOpenSource?: boolean;
|
|
974
|
+
isRenounced?: boolean;
|
|
975
|
+
}
|
|
976
|
+
interface TokenSerializedSecurity extends TokenSecurityProviderInfo {
|
|
977
|
+
isOpenSource?: boolean;
|
|
978
|
+
isProxy?: boolean;
|
|
979
|
+
isRenounced?: boolean;
|
|
980
|
+
isSafe?: boolean;
|
|
981
|
+
launchpadName?: string;
|
|
982
|
+
ownerAddress?: string;
|
|
983
|
+
sourceType?: string;
|
|
984
|
+
vulnCount?: number;
|
|
985
|
+
vulnCriticalCount?: number;
|
|
986
|
+
vulnMitigatedCount?: number;
|
|
987
|
+
}
|
|
988
|
+
interface TokenLockInfo {
|
|
989
|
+
isLocked?: boolean;
|
|
990
|
+
leftLockPercentRatio?: string;
|
|
991
|
+
lockDetail?: string;
|
|
992
|
+
lockPercentRatio?: string;
|
|
993
|
+
lockTags?: string[];
|
|
994
|
+
}
|
|
995
|
+
interface TokenPrivilegeInfo {
|
|
996
|
+
address?: string;
|
|
997
|
+
isRenounced?: boolean;
|
|
998
|
+
name?: string;
|
|
999
|
+
}
|
|
906
1000
|
/**
|
|
907
|
-
* Token security flags
|
|
908
|
-
* below; additional checks may be added in the future as the security service
|
|
909
|
-
* gains coverage of more chains and risk vectors.
|
|
1001
|
+
* Token security flags and provider-specific security data.
|
|
910
1002
|
*/
|
|
911
1003
|
interface TokenSecurity {
|
|
1004
|
+
/**
|
|
1005
|
+
* token address.
|
|
1006
|
+
*/
|
|
1007
|
+
address?: string;
|
|
1008
|
+
/**
|
|
1009
|
+
* chain symbol returned by the security backend.
|
|
1010
|
+
*/
|
|
1011
|
+
chain?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* providers that returned security information.
|
|
1014
|
+
*/
|
|
1015
|
+
sourcesAvailable?: string[];
|
|
1016
|
+
/**
|
|
1017
|
+
* GoPlus security information.
|
|
1018
|
+
*/
|
|
1019
|
+
goplus?: TokenGoPlusSecurity;
|
|
1020
|
+
/**
|
|
1021
|
+
* Honeypot.is security information.
|
|
1022
|
+
*/
|
|
1023
|
+
honeypot?: TokenHoneypotSecurity;
|
|
1024
|
+
/**
|
|
1025
|
+
* Serialized security information.
|
|
1026
|
+
*/
|
|
1027
|
+
serialized?: TokenSerializedSecurity;
|
|
1028
|
+
/**
|
|
1029
|
+
* LP lock information.
|
|
1030
|
+
*/
|
|
1031
|
+
lockInfo?: TokenLockInfo;
|
|
1032
|
+
/**
|
|
1033
|
+
* token privilege / authority information.
|
|
1034
|
+
*/
|
|
1035
|
+
privileges?: TokenPrivilegeInfo[];
|
|
1036
|
+
/**
|
|
1037
|
+
* dev token burn amount.
|
|
1038
|
+
*/
|
|
1039
|
+
devTokenBurnAmount?: string;
|
|
1040
|
+
/**
|
|
1041
|
+
* dev token burn ratio.
|
|
1042
|
+
*/
|
|
1043
|
+
devTokenBurnRatio?: string;
|
|
1044
|
+
/**
|
|
1045
|
+
* LP burn ratio parsed from Solana GoPlus raw DEX data.
|
|
1046
|
+
*/
|
|
1047
|
+
lpBurnRatio?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Top 10 holder ratio parsed from Solana GoPlus raw holder data.
|
|
1050
|
+
*/
|
|
1051
|
+
top10HoldersRatio?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* whether backend recommends showing an alert.
|
|
1054
|
+
*/
|
|
1055
|
+
isShowAlert?: boolean;
|
|
912
1056
|
/**
|
|
913
1057
|
* whether the token has transfer fee.
|
|
914
1058
|
*/
|
|
@@ -929,6 +1073,74 @@ interface TokenSecurity {
|
|
|
929
1073
|
* whether the token is closable.
|
|
930
1074
|
*/
|
|
931
1075
|
isClosable?: boolean;
|
|
1076
|
+
/**
|
|
1077
|
+
* whether token balance mutable authority is active.
|
|
1078
|
+
*/
|
|
1079
|
+
isBalanceMutableAuthorityActive?: boolean;
|
|
1080
|
+
/**
|
|
1081
|
+
* whether token metadata can still be changed.
|
|
1082
|
+
*/
|
|
1083
|
+
isMetadataMutable?: boolean;
|
|
1084
|
+
/**
|
|
1085
|
+
* whether the token is mintable.
|
|
1086
|
+
*/
|
|
1087
|
+
isMintable?: boolean;
|
|
1088
|
+
/**
|
|
1089
|
+
* whether mint authority is renounced.
|
|
1090
|
+
*/
|
|
1091
|
+
isMintAuthorityRenounced?: boolean;
|
|
1092
|
+
/**
|
|
1093
|
+
* whether blacklist capability is present.
|
|
1094
|
+
*/
|
|
1095
|
+
hasBlacklist?: boolean;
|
|
1096
|
+
/**
|
|
1097
|
+
* whether LP / dev token burn is detected.
|
|
1098
|
+
*/
|
|
1099
|
+
isLpBurned?: boolean;
|
|
1100
|
+
/**
|
|
1101
|
+
* whether the contract source is open / verified.
|
|
1102
|
+
*/
|
|
1103
|
+
isOpenSource?: boolean;
|
|
1104
|
+
/**
|
|
1105
|
+
* whether the token is a honeypot.
|
|
1106
|
+
*/
|
|
1107
|
+
isHoneypot?: boolean;
|
|
1108
|
+
/**
|
|
1109
|
+
* whether ownership / owner privilege is renounced.
|
|
1110
|
+
*/
|
|
1111
|
+
isOwnershipRenounced?: boolean;
|
|
1112
|
+
/**
|
|
1113
|
+
* whether LP is locked.
|
|
1114
|
+
*/
|
|
1115
|
+
isLpLocked?: boolean;
|
|
1116
|
+
/**
|
|
1117
|
+
* buy tax ratio.
|
|
1118
|
+
*/
|
|
1119
|
+
buyTaxRatio?: string;
|
|
1120
|
+
/**
|
|
1121
|
+
* sell tax ratio.
|
|
1122
|
+
*/
|
|
1123
|
+
sellTaxRatio?: string;
|
|
1124
|
+
/**
|
|
1125
|
+
* average tax ratio.
|
|
1126
|
+
*/
|
|
1127
|
+
averageTaxRatio?: string;
|
|
1128
|
+
/**
|
|
1129
|
+
* highest tax ratio.
|
|
1130
|
+
*/
|
|
1131
|
+
maxTaxRatio?: string;
|
|
1132
|
+
/**
|
|
1133
|
+
* whether Serialized reports the token as safe.
|
|
1134
|
+
*/
|
|
1135
|
+
isSerializedSafe?: boolean;
|
|
1136
|
+
/**
|
|
1137
|
+
* Serialized vulnerability count.
|
|
1138
|
+
*/
|
|
1139
|
+
serializedVulnCount?: number;
|
|
1140
|
+
/**
|
|
1141
|
+
* Serialized critical vulnerability count.
|
|
1142
|
+
*/
|
|
1143
|
+
serializedCriticalVulnCount?: number;
|
|
932
1144
|
}
|
|
933
1145
|
type TokenResolution = "1s" | "15s" | "30s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "24h";
|
|
934
1146
|
interface TokenCandle {
|
|
@@ -1690,7 +1902,7 @@ interface SearchTokenCursorList extends CursorList<Token> {
|
|
|
1690
1902
|
* - `holdingUsd` — order by holding value in USD (default, descending)
|
|
1691
1903
|
* - `lastActiveAt` — order by wallet's last activity time
|
|
1692
1904
|
*/
|
|
1693
|
-
type TokenHoldersSortBy = "holdingUsd" | "lastActiveAt" | "realizedPnl" | "buyVolume" | "sellVolume";
|
|
1905
|
+
type TokenHoldersSortBy = "amountPercentage" | "holdingUsd" | "usdValue" | "totalPnl" | "lastActiveAt" | "realizedPnl" | "unrealizedPnl" | "buyVolume" | "sellVolume" | "netflowUsd" | "createdAt";
|
|
1694
1906
|
/**
|
|
1695
1907
|
* Options for getting token holders (Phase 3).
|
|
1696
1908
|
*/
|
|
@@ -1700,19 +1912,34 @@ interface GetTokenHoldersOptions extends CursorListOptions {
|
|
|
1700
1912
|
* Switching `sortBy` requires discarding the old cursor and restarting from page 1.
|
|
1701
1913
|
*/
|
|
1702
1914
|
sortBy?: TokenHoldersSortBy;
|
|
1915
|
+
/**
|
|
1916
|
+
* Sort direction. Defaults to `desc` on the server.
|
|
1917
|
+
* Switching `sortDirection` requires discarding the old cursor and restarting from page 1.
|
|
1918
|
+
*/
|
|
1919
|
+
sortDirection?: "asc" | "desc";
|
|
1703
1920
|
}
|
|
1704
1921
|
/**
|
|
1705
1922
|
* Sort field for token top-traders query.
|
|
1706
1923
|
*/
|
|
1707
|
-
type TokenTopTradersSortBy = "profit" | "buyVolume" | "sellVolume" | "lastActiveAt" | "netflowUsd";
|
|
1924
|
+
type TokenTopTradersSortBy = "profit" | "totalPnl" | "realizedPnl" | "unrealizedPnl" | "buyVolume" | "sellVolume" | "lastActiveAt" | "netflowUsd" | "createdAt";
|
|
1925
|
+
/**
|
|
1926
|
+
* Sort direction for token top-traders query.
|
|
1927
|
+
*/
|
|
1928
|
+
type TokenTopTradersSortDirection = "asc" | "desc";
|
|
1708
1929
|
/**
|
|
1709
1930
|
* Options for getting token top traders.
|
|
1710
1931
|
*/
|
|
1711
1932
|
interface GetTokenTopTradersOptions extends CursorListOptions {
|
|
1712
1933
|
/**
|
|
1713
|
-
* Sort field. Defaults to `
|
|
1934
|
+
* Sort field. Defaults to `totalPnl` on the server.
|
|
1935
|
+
*
|
|
1936
|
+
* `profit` is kept for backward compatibility and maps to `totalPnl`.
|
|
1714
1937
|
*/
|
|
1715
1938
|
sortBy?: TokenTopTradersSortBy;
|
|
1939
|
+
/**
|
|
1940
|
+
* Sort direction. Defaults to `desc` on the server.
|
|
1941
|
+
*/
|
|
1942
|
+
sortDirection?: TokenTopTradersSortDirection;
|
|
1716
1943
|
/**
|
|
1717
1944
|
* Filter by wallet tag.
|
|
1718
1945
|
*/
|
|
@@ -1724,17 +1951,8 @@ interface GetTokenTopTradersOptions extends CursorListOptions {
|
|
|
1724
1951
|
type TrendingResolution = Extract<TokenResolution, "1m" | "5m" | "1h" | "4h" | "24h">;
|
|
1725
1952
|
/**
|
|
1726
1953
|
* Options for listing tokens created by a given wallet (the "Dev Tokens" tab).
|
|
1727
|
-
*
|
|
1728
|
-
* NOTE: The server does not yet implement a creator-index endpoint. The
|
|
1729
|
-
* `Client.getTokensByCreator` method throws a `NotImplementedError` and the
|
|
1730
|
-
* React hook surfaces an empty result for now.
|
|
1731
1954
|
*/
|
|
1732
|
-
|
|
1733
|
-
/** optional sort field; server behaviour will be defined when endpoint ships. */
|
|
1734
|
-
sortBy?: TokenFieldOption;
|
|
1735
|
-
/** sort direction. */
|
|
1736
|
-
sortDirection?: "asc" | "desc";
|
|
1737
|
-
}
|
|
1955
|
+
type GetTokensByCreatorOptions = CursorListOptions;
|
|
1738
1956
|
|
|
1739
1957
|
interface LatestBlockParams {
|
|
1740
1958
|
/** chain id */
|
|
@@ -1994,10 +2212,8 @@ interface IClient {
|
|
|
1994
2212
|
/**
|
|
1995
2213
|
* fetch tokens created by a wallet ("Dev Tokens").
|
|
1996
2214
|
*
|
|
1997
|
-
* Currently unsupported by the backend; implementations throw
|
|
1998
|
-
* `NotImplementedError`.
|
|
1999
2215
|
* @param chain chain id
|
|
2000
|
-
* @param creator creator wallet address
|
|
2216
|
+
* @param creator creator / developer wallet address
|
|
2001
2217
|
* @param options optional query options
|
|
2002
2218
|
*/
|
|
2003
2219
|
getTokensByCreator(chain: Chain, creator: string, options?: GetTokensByCreatorOptions): Promise<CursorList<Token>>;
|
|
@@ -2153,4 +2369,4 @@ interface ISubscribeClient {
|
|
|
2153
2369
|
subscribeStockTokens(chain: Chain, callback: (data: Array<TokenSubscribed>) => void): ISubscription;
|
|
2154
2370
|
}
|
|
2155
2371
|
|
|
2156
|
-
export { type ActivityToken as A, type ActivitiesSortBy, type
|
|
2372
|
+
export { type ActivityToken as A, type ActivitiesSortBy, type ActivitiesSortDirection, type TokenSecurity as B, type BlockchainLatestBlock, Chain as C, type CursorList, type CursorListOptions, type CursorPagination, type TokenResolution as D, type TokenCandle as E, type TokenHolder as F, type TokenTopTrader as G, type GetActivitiesOptions, type GetTokenCandlesOptions, type GetTokenHoldersOptions, type GetTokenListOptions, type GetTokenTopTradersOptions, type GetTokensByCreatorOptions, type GetTradesOptions, type GetWalletLimitOrdersOptions, type GetWalletPortfolioPnlsOptions, type PortfolioPnl as H, type Portfolio as I, type IClient, type ISubscribeClient, type ISubscription, type WalletPnl as J, type WalletPortfolioPnls as K, type LimitOrderSide as L, type LatestBlockParams, type WalletPortfolios as M, type PoolDex as P, type PortfolioPnlSubscribed, type PortfolioSubscribed, type PositionState, SolanaTokenProtocol as S, type SearchTokenCursorList, type SearchTokensOptions, type SendTxParams, type SendTxResult, type SwapDex, SwapMode, type SwapParams, type SwapRoute, type SwapRoutePlan, type Trade as T, type TokenFieldOption, type TokenFilterOption, type TokenHoldersSortBy, type TokenSubscribed, type TokenTopTradersSortBy, type TokenTopTradersSortDirection, type TrendingResolution, type WalletTag as W, type WalletPnlResolution, type WalletPnlSortBy, type WalletPnlSubscribed, type ActivityDex as a, type ActivityType as b, type Activity as c, ChainNamespace as d, type LimitOrderState as e, type LimitOrder as f, type PoolBalance as g, type Pool as h, type PoolSubscribed as i, type TokenProtocol as j, SOLANA_TOKEN_PROTOCOLS as k, type Token as l, type TokenCreator as m, type TokenLaunchedFrom as n, type TokenMigratedTo as o, type TokenSocialMedias as p, type TokenStats as q, type TokenStatsByResolution as r, type TokenMarketData as s, type TokenLiquidity as t, type TokenSecurityProviderInfo as u, type TokenGoPlusSecurity as v, type TokenHoneypotSecurity as w, type TokenSerializedSecurity as x, type TokenLockInfo as y, type TokenPrivilegeInfo as z };
|
package/dist/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ActivitiesSortBy, c as Activity, a as ActivityDex, A as ActivityToken, b as ActivityType, BlockchainLatestBlock, C as Chain, d as ChainNamespace, CursorList, CursorListOptions, CursorPagination, GetActivitiesOptions, GetTokenCandlesOptions, GetTokenHoldersOptions, GetTokenListOptions, GetTokenTopTradersOptions, GetTokensByCreatorOptions, GetTradesOptions, GetWalletLimitOrdersOptions, GetWalletPortfolioPnlsOptions, IClient, ISubscribeClient, ISubscription, LatestBlockParams, f as LimitOrder, L as LimitOrderSide, e as LimitOrderState, h as Pool, g as PoolBalance, P as PoolDex, i as PoolSubscribed,
|
|
1
|
+
export { ActivitiesSortBy, ActivitiesSortDirection, c as Activity, a as ActivityDex, A as ActivityToken, b as ActivityType, BlockchainLatestBlock, C as Chain, d as ChainNamespace, CursorList, CursorListOptions, CursorPagination, GetActivitiesOptions, GetTokenCandlesOptions, GetTokenHoldersOptions, GetTokenListOptions, GetTokenTopTradersOptions, GetTokensByCreatorOptions, GetTradesOptions, GetWalletLimitOrdersOptions, GetWalletPortfolioPnlsOptions, IClient, ISubscribeClient, ISubscription, LatestBlockParams, f as LimitOrder, L as LimitOrderSide, e as LimitOrderState, h as Pool, g as PoolBalance, P as PoolDex, i as PoolSubscribed, I as Portfolio, H as PortfolioPnl, PortfolioPnlSubscribed, PortfolioSubscribed, PositionState, k as SOLANA_TOKEN_PROTOCOLS, SearchTokenCursorList, SearchTokensOptions, SendTxParams, SendTxResult, S as SolanaTokenProtocol, SwapDex, SwapMode, SwapParams, SwapRoute, SwapRoutePlan, l as Token, E as TokenCandle, m as TokenCreator, TokenFieldOption, TokenFilterOption, v as TokenGoPlusSecurity, F as TokenHolder, TokenHoldersSortBy, w as TokenHoneypotSecurity, n as TokenLaunchedFrom, t as TokenLiquidity, y as TokenLockInfo, s as TokenMarketData, o as TokenMigratedTo, z as TokenPrivilegeInfo, j as TokenProtocol, D as TokenResolution, B as TokenSecurity, u as TokenSecurityProviderInfo, x as TokenSerializedSecurity, p as TokenSocialMedias, q as TokenStats, r as TokenStatsByResolution, TokenSubscribed, G as TokenTopTrader, TokenTopTradersSortBy, TokenTopTradersSortDirection, T as Trade, TrendingResolution, J as WalletPnl, WalletPnlResolution, WalletPnlSortBy, WalletPnlSubscribed, K as WalletPortfolioPnls, M as WalletPortfolios, W as WalletTag } from './api/index.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ActivitiesSortBy, c as Activity, a as ActivityDex, A as ActivityToken, b as ActivityType, BlockchainLatestBlock, C as Chain, d as ChainNamespace, CursorList, CursorListOptions, CursorPagination, GetActivitiesOptions, GetTokenCandlesOptions, GetTokenHoldersOptions, GetTokenListOptions, GetTokenTopTradersOptions, GetTokensByCreatorOptions, GetTradesOptions, GetWalletLimitOrdersOptions, GetWalletPortfolioPnlsOptions, IClient, ISubscribeClient, ISubscription, LatestBlockParams, f as LimitOrder, L as LimitOrderSide, e as LimitOrderState, h as Pool, g as PoolBalance, P as PoolDex, i as PoolSubscribed,
|
|
1
|
+
export { ActivitiesSortBy, ActivitiesSortDirection, c as Activity, a as ActivityDex, A as ActivityToken, b as ActivityType, BlockchainLatestBlock, C as Chain, d as ChainNamespace, CursorList, CursorListOptions, CursorPagination, GetActivitiesOptions, GetTokenCandlesOptions, GetTokenHoldersOptions, GetTokenListOptions, GetTokenTopTradersOptions, GetTokensByCreatorOptions, GetTradesOptions, GetWalletLimitOrdersOptions, GetWalletPortfolioPnlsOptions, IClient, ISubscribeClient, ISubscription, LatestBlockParams, f as LimitOrder, L as LimitOrderSide, e as LimitOrderState, h as Pool, g as PoolBalance, P as PoolDex, i as PoolSubscribed, I as Portfolio, H as PortfolioPnl, PortfolioPnlSubscribed, PortfolioSubscribed, PositionState, k as SOLANA_TOKEN_PROTOCOLS, SearchTokenCursorList, SearchTokensOptions, SendTxParams, SendTxResult, S as SolanaTokenProtocol, SwapDex, SwapMode, SwapParams, SwapRoute, SwapRoutePlan, l as Token, E as TokenCandle, m as TokenCreator, TokenFieldOption, TokenFilterOption, v as TokenGoPlusSecurity, F as TokenHolder, TokenHoldersSortBy, w as TokenHoneypotSecurity, n as TokenLaunchedFrom, t as TokenLiquidity, y as TokenLockInfo, s as TokenMarketData, o as TokenMigratedTo, z as TokenPrivilegeInfo, j as TokenProtocol, D as TokenResolution, B as TokenSecurity, u as TokenSecurityProviderInfo, x as TokenSerializedSecurity, p as TokenSocialMedias, q as TokenStats, r as TokenStatsByResolution, TokenSubscribed, G as TokenTopTrader, TokenTopTradersSortBy, TokenTopTradersSortDirection, T as Trade, TrendingResolution, J as WalletPnl, WalletPnlResolution, WalletPnlSortBy, WalletPnlSubscribed, K as WalletPortfolioPnls, M as WalletPortfolios, W as WalletTag } from './api/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/api/swap.ts","../src/chains.ts","../src/token.ts"],"sourcesContent":["export * from \"./activity\";\nexport * from \"./api\";\nexport * from \"./chains\";\nexport * from \"./order\";\nexport * from \"./pool\";\nexport * from \"./tag\";\nexport * from \"./token\";\nexport * from \"./wallet\";\n","import { Chain } from \"../chains\";\n\nexport enum SwapMode {\n EXACT_IN = \"exact_in\",\n EXACT_OUT = \"exact_out\",\n}\n\n/**\n * DEX identifier used for route / mint address conversion. Open union — the\n * known values cover today's DEXes; new aggregators can be plugged in without\n * a library update.\n */\nexport type SwapDex = \"jupiter\" | \"kyberswap\" | (string & {});\n\nexport interface SwapParams {\n /** chain id */\n chain: Chain;\n /** DEX to use; if omitted, inferred from chain (Solana → jupiter, EVM → kyberswap). Mint conversion uses this. */\n dex?: SwapDex;\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 /** EIP-2612 permit data (EVM only, alternative to on-chain approve) */\n permit?: string;\n /** deadline timestamp in ms (EVM only) */\n deadline?: number;\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 extra?: Record<string, unknown>;\n}\n\nexport interface SwapRoute {\n /** unsigned tx in base64 format */\n serializedTx: string;\n /** recent blockhash embedded in the unsigned Solana transaction */\n recentBlockhash?: string;\n /** last block height at which the embedded Solana blockhash remains valid */\n lastValidBlockHeight?: number;\n /** swap plans */\n plans: Array<SwapRoutePlan>;\n /** extra infos by api provider */\n extra?: Record<string, unknown>;\n}\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","import { Chain } from \"./chains\";\nimport { WalletTag } from \"./tag\";\n\nexport 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 = SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n\nexport interface Token {\n /**\n * chain id.\n */\n chain: Chain;\n /**\n * token name, e.g. \"Ethereum\", \"Solana\", etc.\n */\n name: string;\n /**\n * token symbol, e.g. \"ETH\", \"SOL\", etc.\n */\n symbol: string;\n /**\n * token address.\n */\n address: string;\n /**\n * token decimals.\n */\n decimals: number;\n /**\n * token avatar image url.\n */\n image?: string;\n /**\n * token description.\n */\n description?: string;\n /**\n * token creators.\n */\n creators?: Array<TokenCreator>;\n /**\n * token launch info.\n */\n launchedFrom?: TokenLaunchedFrom;\n /**\n * token migrate progress, range is 0-100.\n */\n migrateProgress?: string;\n /**\n * token migrate info.\n */\n migratedTo?: TokenMigratedTo;\n /**\n * token social medias.\n */\n socialMedias?: TokenSocialMedias;\n /**\n * token stats.\n */\n stats?: TokenStats;\n /**\n * token market data.\n */\n marketData?: TokenMarketData;\n /**\n * token liquidity pools\n */\n liquidities?: Array<TokenLiquidity>;\n /**\n * token security.\n */\n security?: TokenSecurity;\n /**\n * token tags.\n */\n tags?: Array<string>;\n /**\n * token create time.\n */\n createdAt?: Date;\n}\n\nexport interface TokenCreator {\n /**\n * token creator's wallet address.\n */\n address?: string;\n /**\n * token creator's share percentage, range is 0-100.\n */\n share?: number;\n /**\n * whether the token creator is verified.\n */\n isVerified?: boolean;\n}\n\nexport interface TokenLaunchedFrom {\n /**\n * token launch program address.\n */\n programAddress?: string;\n /**\n * token launch protocol family.\n */\n protocolFamily?: string;\n}\n\nexport interface TokenMigratedTo {\n /**\n * token migrate program address.\n */\n programAddress?: string;\n /**\n * token migrate protocol family.\n */\n protocolFamily?: string;\n /**\n * token migrate pool address.\n */\n poolAddress?: string;\n /**\n * token migrate time.\n */\n migratedAt?: Date;\n}\n\nexport interface TokenSocialMedias {\n /**\n * token twitter url.\n */\n twitter?: string;\n /**\n * token telegram url.\n */\n telegram?: string;\n /**\n * token website url.\n */\n website?: string;\n /**\n * token tiktok url.\n */\n tiktok?: string;\n /**\n * token discord url.\n */\n discord?: string;\n /**\n * token facebook url.\n */\n facebook?: string;\n /**\n * token github url.\n */\n github?: string;\n /**\n * token instagram url.\n */\n instagram?: string;\n /**\n * token linkedin url.\n */\n linkedin?: string;\n /**\n * token medium url.\n */\n medium?: string;\n /**\n * token reddit url.\n */\n reddit?: string;\n /**\n * token youtube url.\n */\n youtube?: string;\n /**\n * token bitbucket url.\n */\n bitbucket?: string;\n /**\n * token farcaster url or handle.\n */\n farcaster?: string;\n}\n\nexport interface TokenStats {\n /**\n * token stats by 1m timeframe.\n */\n \"1m\"?: TokenStatsByResolution;\n /**\n * token stats by 5m timeframe.\n */\n \"5m\"?: TokenStatsByResolution;\n /**\n * token stats by 15m timeframe.\n */\n \"15m\"?: TokenStatsByResolution;\n /**\n * token stats by 30m timeframe.\n */\n \"30m\"?: TokenStatsByResolution;\n /**\n * token stats by 1h timeframe.\n */\n \"1h\"?: TokenStatsByResolution;\n /**\n * token stats by 4h timeframe.\n */\n \"4h\"?: TokenStatsByResolution;\n /**\n * token stats by 24h timeframe.\n */\n \"24h\"?: TokenStatsByResolution;\n}\n\nexport interface TokenStatsByResolution {\n /**\n * buy txs count\n */\n buys?: number;\n /**\n * sell txs count\n */\n sells?: number;\n /**\n * txs count\n */\n trades?: number;\n /**\n * buy addresses count\n */\n buyers?: number;\n /**\n * sell addresses count\n */\n sellers?: number;\n /**\n * trade addresses count\n */\n traders?: number;\n /**\n * buy volumes in quote token\n */\n buyVolumes?: string;\n /**\n * sell volumes in quote token\n */\n sellVolumes?: string;\n /**\n * total volumes in quote token\n */\n volumes?: string;\n /**\n * buy volumes in usd\n */\n buyVolumesInUsd?: string;\n /**\n * sell volumes in usd\n */\n sellVolumesInUsd?: string;\n /**\n * total volumes in usd\n */\n volumesInUsd?: string;\n /**\n * open price in usd\n */\n openPriceInUsd?: string;\n /**\n * close price in usd\n */\n closePriceInUsd?: string;\n /**\n * high price in usd\n */\n highPriceInUsd?: string;\n /**\n * low price in usd\n */\n lowPriceInUsd?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * price change %\n */\n priceChange?: string;\n}\n\nexport interface TokenMarketData {\n /**\n * total supply\n */\n totalSupply?: string;\n /**\n * market cap in quote token\n */\n marketCap?: string;\n /**\n * market cap in usd\n */\n marketCapInUsd?: string;\n /**\n * price in quote token\n */\n price?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * tvl in quote token\n */\n tvl?: string;\n /**\n * tvl in usd\n */\n tvlInUsd?: string;\n /**\n * holders count\n */\n holders?: number;\n /**\n * top 10 total holdings\n */\n top10Holdings?: string;\n /**\n * top 10 holdings ratio\n */\n top10HoldingsRatio?: string;\n /**\n * top 50 total holdings\n */\n top50Holdings?: string;\n /**\n * top 50 holdings ratio\n */\n top50HoldingsRatio?: string;\n /**\n * top 100 total holdings\n */\n top100Holdings?: string;\n /**\n * top 100 holdings ratio\n */\n top100HoldingsRatio?: string;\n /**\n * Bluechip holders count\n */\n bluechipHolders?: number;\n /**\n * Bluechip total holdings\n */\n bluechipHoldings?: string;\n /**\n * Bluechip holdings ratio\n */\n bluechipHoldingsRatio?: string;\n /**\n * KOL holders count\n */\n kolHolders?: number;\n /**\n * KOL total holdings\n */\n kolHoldings?: string;\n /**\n * KOL holdings ratio\n */\n kolHoldingsRatio?: string;\n /**\n * Sniper holders count\n */\n sniperHolders?: number;\n /**\n * Sniper total holdings\n */\n sniperHoldings?: string;\n /**\n * Sniper holdings ratio\n */\n sniperHoldingsRatio?: string;\n /**\n * Pro holders count\n */\n proHolders?: number;\n /**\n * Pro total holdings\n */\n proHoldings?: string;\n /**\n * Pro holdings ratio\n */\n proHoldingsRatio?: string;\n /**\n * Insider holders count\n */\n insiderHolders?: number;\n /**\n * Insider total holdings\n */\n insiderHoldings?: string;\n /**\n * Insider holdings ratio\n */\n insiderHoldingsRatio?: string;\n /**\n * Sandwich holders count\n */\n sandwichHolders?: number;\n /**\n * Sandwich total holdings\n */\n sandwichHoldings?: string;\n /**\n * Sandwich holdings ratio\n */\n sandwichHoldingsRatio?: string;\n /**\n * Fresh holders count\n */\n freshHolders?: number;\n /**\n * Fresh total holdings\n */\n freshHoldings?: string;\n /**\n * Fresh holdings ratio\n */\n freshHoldingsRatio?: string;\n /**\n * Bundle holders count\n */\n bundleHolders?: number;\n /**\n * Bundle total holdings\n */\n bundleHoldings?: string;\n /**\n * Bundle holdings ratio\n */\n bundleHoldingsRatio?: string;\n /**\n * Dev holders count\n */\n devHolders?: number;\n /**\n * Dev total holdings\n */\n devHoldings?: string;\n /**\n * Dev holdings ratio\n */\n devHoldingsRatio?: string;\n}\n\nexport interface TokenLiquidity {\n /**\n * pool avatar image\n */\n image?: string;\n /**\n * pair token address.\n */\n pairAddress?: string;\n /**\n * pool address.\n */\n poolAddress?: string;\n /**\n * program address.\n */\n programAddress?: string;\n /**\n * protocol name.\n */\n protocolName?: string;\n /**\n * protocol family.\n */\n protocolFamily?: string;\n /**\n * tvl in quote token.\n */\n tvl?: string;\n /**\n * tvl in usd.\n */\n tvlInUsd?: string;\n}\n\n/**\n * Token security flags. Backend currently exposes the five Solana SPL flags\n * below; additional checks may be added in the future as the security service\n * gains coverage of more chains and risk vectors.\n */\nexport interface TokenSecurity {\n /**\n * whether the token has transfer fee.\n */\n hasTransferFee?: boolean;\n /**\n * whether the token transfer fee is upgradable.\n */\n isTransferFeeUpgradable?: boolean;\n /**\n * whether the token is transferable.\n */\n isTransferable?: boolean;\n /**\n * whether the token is freezable.\n */\n isFreezable?: boolean;\n /**\n * whether the token is closable.\n */\n isClosable?: boolean;\n}\n\nexport type TokenResolution =\n | \"1s\"\n | \"15s\"\n | \"30s\"\n | \"1m\"\n | \"5m\"\n | \"15m\"\n | \"30m\"\n | \"1h\"\n | \"4h\"\n | \"12h\"\n | \"24h\";\n\nexport interface TokenCandle {\n /**\n * open price in usd\n */\n open: string;\n /**\n * close price in usd\n */\n close: string;\n /**\n * high price in usd\n */\n high: string;\n /**\n * low price in usd\n */\n low: string;\n /**\n * volume in usd\n */\n volume: string;\n /**\n * volume in token amount\n */\n volumeInTokenAmount?: string;\n /**\n * trades count in this candle\n */\n trades?: number;\n /**\n * resolution\n */\n resolution: TokenResolution;\n /**\n * timestamp\n */\n timestamp: Date;\n}\n\nexport interface TokenHolder {\n /**\n * Solana token account address (ATA) for this holder position.\n */\n accountAddress?: string;\n /**\n * holder wallet address\n */\n address: string;\n /**\n * Traceable cumulative DEX buy quantity, buy-side only.\n */\n accuAmount?: string;\n /**\n * Traceable position accumulated cost, USD.\n */\n accuCost?: string;\n /**\n * Address label type from upstream labels.\n */\n addrType?: number;\n /**\n * Specific address label, such as an exchange hot wallet label.\n */\n addressLabel?: string;\n /**\n * holdings amount in token\n */\n amount: string;\n /**\n * holdings amount in usd\n */\n amountInUsd: string;\n /**\n * holdings value in native chain token\n */\n amountInNative?: string;\n /**\n * holdings ratio, range is 0-100\n */\n ratio: string;\n /** Average buy price in USD per token, all-time. */\n avgBuyPriceUsd?: string;\n /** Average cost per token in USD for the current position. */\n avgCostUsd?: string;\n /** Average sell price in USD per token, all-time. */\n avgSellPriceUsd?: string;\n /** Cumulative token quantity bought, all-time. */\n buyAmountCur?: string;\n /** All-time total buy volume in native token. */\n buyVolumeNative?: string;\n /** All-time total buy volume in USD. */\n buyVolumeUsd?: string;\n /** Unix timestamp when this wallet first appeared on-chain. */\n createdAt?: Date;\n /** Time when holder fully closed position. */\n endHoldingAt?: Date;\n /** Entity or exchange name. */\n exchange?: string;\n /** Timestamp of first token purchase. */\n firstBuyTime?: Date;\n /** Total DEX buy cost including fees, USD. */\n historyBoughtCost?: string;\n /** Total DEX buy fees, USD. */\n historyBoughtFee?: string;\n /** Total DEX sell fees, USD. */\n historySoldFee?: string;\n /** Total DEX sell income, USD. */\n historySoldIncome?: string;\n /** Cumulative transfer-in token quantity. */\n historyTransferInAmount?: string;\n /** Transfer-in USD cost basis. */\n historyTransferInCost?: string;\n /** Cumulative transfer-out token quantity. */\n historyTransferOutAmount?: string;\n /** Total transfer-out fee in USD all-time. */\n historyTransferOutFee?: string;\n /** Transfer-out USD income. */\n historyTransferOutIncome?: string;\n /** Whether the token position is fully closed. */\n isClosed?: boolean;\n /** Whether the wallet is newly created. */\n isNew?: boolean;\n /** Whether the position was acquired purely via transfers. */\n isTransferIn?: boolean;\n /** Last processed block height for this holder position. */\n lastBlock?: number;\n /** Number of losing trades. */\n lossCount?: number;\n /** Per-token position or behaviour tags derived at query time. */\n makerTokenTags?: Array<string>;\n /** Native chain token balance in smallest units. */\n nativeBalance?: string;\n /** Net token quantity flow: buys minus sells. */\n netflowAmount?: string;\n /** Net USD flow: buy USD minus sell USD. */\n netflowAmountUsd?: string;\n /** Net USD inflow. */\n netflowUsd?: string;\n /** Current open position cost in USD. */\n positionCostUsd?: string;\n /** Realized PnL ratio. */\n realizedPnlRatio?: string;\n /** Realized PnL in USD, all-time. */\n realizedProfit?: string;\n /** Return on investment ratio. */\n roi?: string;\n /** Cumulative token quantity sold, all-time. */\n sellAmountCur?: string;\n /** Sell quantity divided by buy quantity, capped 0-1. */\n sellAmountPercentage?: string;\n /** All-time total sell volume in native token. */\n sellVolumeNative?: string;\n /** All-time total sell volume in USD. */\n sellVolumeUsd?: string;\n /**\n * Holder classification tags (Phase 3). Sparse — only present when the\n * wallet matches one of the known patterns (kol/smart/sniper/dev/...).\n */\n tags?: Array<WalletTag>;\n /** Most recent token transfer-in payload from upstream. */\n tokenTransferIn?: unknown;\n /** Most recent token transfer-out payload from upstream. */\n tokenTransferOut?: unknown;\n /** All-time total buy trade count. */\n totalBuyCount?: number;\n /** All-time accumulated cost basis in USD. */\n totalCostUsd?: string;\n /** Total PnL in USD, realized plus unrealized. */\n totalProfit?: string;\n /** All-time total sell trade count. */\n totalSellCount?: number;\n /** Inbound transfer volume in native token over last 7 days. */\n transferInAmount7d?: string;\n /** Number of token transfer-in events. */\n transferInCount?: number;\n /** Outbound transfer volume in native token over last 7 days. */\n transferOutAmount7d?: string;\n /** Number of token transfer-out events. */\n transferOutCount?: number;\n /** Unrealized PnL ratio. */\n unrealizedPnlRatio?: string;\n /** Unrealized PnL in USD for the current position. */\n unrealizedProfit?: string;\n /** Global rank tag on this token when sorted by balance. */\n walletTagV2?: string;\n /** Number of winning trades. */\n winCount?: number;\n /**\n * The last time this wallet was active on-chain (Phase 3).\n * Sparse (~80% fill rate).\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token (Phase 3).\n * Sparse (~60% fill rate).\n */\n startHoldingAt?: Date;\n}\n\nexport interface TokenTopTrader {\n /**\n * trader wallet address\n */\n address: string;\n /**\n * current holdings amount in token\n */\n amount: string;\n /**\n * current holdings amount in usd\n */\n amountInUsd: string;\n /**\n * Trader classification tags.\n */\n tags?: Array<WalletTag>;\n /**\n * The last time this wallet was active on-chain.\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token.\n */\n startHoldingAt?: Date;\n /**\n * Average buy price in USD per token.\n */\n averageBuyPriceInUsd?: string;\n /**\n * Average sell price in USD per token.\n */\n averageSellPriceInUsd?: string;\n /**\n * Cumulative token quantity bought all-time.\n */\n buyAmountCur?: string;\n /**\n * Cumulative token quantity sold all-time.\n */\n sellAmountCur?: string;\n /**\n * Total buy volume in USD.\n */\n totalBuyAmountInUsd?: string;\n /**\n * Total sell volume in USD.\n */\n totalSellAmountInUsd?: string;\n /**\n * Realized PnL rate.\n */\n realizedPnl?: string;\n /**\n * Realized PnL in USD.\n */\n totalRealizedPnlInUsd?: string;\n /**\n * Unrealized PnL rate.\n */\n unrealizedPnl?: string;\n /**\n * Unrealized PnL in USD.\n */\n unrealizedPnlInUsd?: string;\n /**\n * Return on investment.\n */\n roi?: string;\n /**\n * Total PnL in USD.\n */\n totalPnlInUsd?: string;\n /**\n * Total buy trade count.\n */\n totalBuyCount?: number;\n /**\n * Total sell trade count.\n */\n totalSellCount?: number;\n /**\n * Whether position was acquired mainly via transfer.\n */\n transferIn?: boolean;\n /**\n * All-time transfer-in event count.\n */\n transferInCount?: number;\n /**\n * All-time transfer-out event count.\n */\n transferOutCount?: number;\n}\n"],"mappings":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/api/swap.ts","../src/chains.ts","../src/token.ts"],"sourcesContent":["export * from \"./activity\";\nexport * from \"./api\";\nexport * from \"./chains\";\nexport * from \"./order\";\nexport * from \"./pool\";\nexport * from \"./tag\";\nexport * from \"./token\";\nexport * from \"./wallet\";\n","import { Chain } from \"../chains\";\n\nexport enum SwapMode {\n EXACT_IN = \"exact_in\",\n EXACT_OUT = \"exact_out\",\n}\n\n/**\n * DEX identifier used for route / mint address conversion. Open union — the\n * known values cover today's DEXes; new aggregators can be plugged in without\n * a library update.\n */\nexport type SwapDex = \"jupiter\" | \"kyberswap\" | (string & {});\n\nexport interface SwapParams {\n /** chain id */\n chain: Chain;\n /** DEX to use; if omitted, inferred from chain (Solana → jupiter, EVM → kyberswap). Mint conversion uses this. */\n dex?: SwapDex;\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 /** EIP-2612 permit data (EVM only, alternative to on-chain approve) */\n permit?: string;\n /** deadline timestamp in ms (EVM only) */\n deadline?: number;\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 extra?: Record<string, unknown>;\n}\n\nexport interface SwapRoute {\n /** unsigned tx in base64 format */\n serializedTx: string;\n /** recent blockhash embedded in the unsigned Solana transaction */\n recentBlockhash?: string;\n /** last block height at which the embedded Solana blockhash remains valid */\n lastValidBlockHeight?: number;\n /** swap plans */\n plans: Array<SwapRoutePlan>;\n /** extra infos by api provider */\n extra?: Record<string, unknown>;\n}\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","import { Chain } from \"./chains\";\nimport { WalletTag } from \"./tag\";\n\nexport 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 = SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n\nexport interface Token {\n /**\n * chain id.\n */\n chain: Chain;\n /**\n * token name, e.g. \"Ethereum\", \"Solana\", etc.\n */\n name: string;\n /**\n * token symbol, e.g. \"ETH\", \"SOL\", etc.\n */\n symbol: string;\n /**\n * token address.\n */\n address: string;\n /**\n * token decimals.\n */\n decimals: number;\n /**\n * token avatar image url.\n */\n image?: string;\n /**\n * token description.\n */\n description?: string;\n /**\n * token creators.\n */\n creators?: Array<TokenCreator>;\n /**\n * token developer's wallet address.\n */\n developerAddress?: string;\n /**\n * token launch info.\n */\n launchedFrom?: TokenLaunchedFrom;\n /**\n * token migrate progress, range is 0-100.\n */\n migrateProgress?: string;\n /**\n * token migrate info.\n */\n migratedTo?: TokenMigratedTo;\n /**\n * token social medias.\n */\n socialMedias?: TokenSocialMedias;\n /**\n * token stats.\n */\n stats?: TokenStats;\n /**\n * token market data.\n */\n marketData?: TokenMarketData;\n /**\n * token liquidity pools\n */\n liquidities?: Array<TokenLiquidity>;\n /**\n * token security.\n */\n security?: TokenSecurity;\n /**\n * token tags.\n */\n tags?: Array<string>;\n /**\n * token create time.\n */\n createdAt?: Date;\n}\n\nexport interface TokenCreator {\n /**\n * token creator's wallet address.\n */\n address?: string;\n /**\n * token creator's share percentage, range is 0-100.\n */\n share?: number;\n /**\n * whether the token creator is verified.\n */\n isVerified?: boolean;\n}\n\nexport interface TokenLaunchedFrom {\n /**\n * token launch program address.\n */\n programAddress?: string;\n /**\n * token launch protocol family.\n */\n protocolFamily?: string;\n}\n\nexport interface TokenMigratedTo {\n /**\n * token migrate program address.\n */\n programAddress?: string;\n /**\n * token migrate protocol family.\n */\n protocolFamily?: string;\n /**\n * token migrate pool address.\n */\n poolAddress?: string;\n /**\n * token migrate time.\n */\n migratedAt?: Date;\n}\n\nexport interface TokenSocialMedias {\n /**\n * token twitter url.\n */\n twitter?: string;\n /**\n * token telegram url.\n */\n telegram?: string;\n /**\n * token website url.\n */\n website?: string;\n /**\n * token tiktok url.\n */\n tiktok?: string;\n /**\n * token discord url.\n */\n discord?: string;\n /**\n * token facebook url.\n */\n facebook?: string;\n /**\n * token github url.\n */\n github?: string;\n /**\n * token instagram url.\n */\n instagram?: string;\n /**\n * token linkedin url.\n */\n linkedin?: string;\n /**\n * token medium url.\n */\n medium?: string;\n /**\n * token reddit url.\n */\n reddit?: string;\n /**\n * token youtube url.\n */\n youtube?: string;\n /**\n * token bitbucket url.\n */\n bitbucket?: string;\n /**\n * token farcaster url or handle.\n */\n farcaster?: string;\n}\n\nexport interface TokenStats {\n /**\n * token stats by 1m timeframe.\n */\n \"1m\"?: TokenStatsByResolution;\n /**\n * token stats by 5m timeframe.\n */\n \"5m\"?: TokenStatsByResolution;\n /**\n * token stats by 15m timeframe.\n */\n \"15m\"?: TokenStatsByResolution;\n /**\n * token stats by 30m timeframe.\n */\n \"30m\"?: TokenStatsByResolution;\n /**\n * token stats by 1h timeframe.\n */\n \"1h\"?: TokenStatsByResolution;\n /**\n * token stats by 4h timeframe.\n */\n \"4h\"?: TokenStatsByResolution;\n /**\n * token stats by 24h timeframe.\n */\n \"24h\"?: TokenStatsByResolution;\n}\n\nexport interface TokenStatsByResolution {\n /**\n * buy txs count\n */\n buys?: number;\n /**\n * sell txs count\n */\n sells?: number;\n /**\n * txs count\n */\n trades?: number;\n /**\n * buy addresses count\n */\n buyers?: number;\n /**\n * sell addresses count\n */\n sellers?: number;\n /**\n * trade addresses count\n */\n traders?: number;\n /**\n * buy volumes in quote token\n */\n buyVolumes?: string;\n /**\n * sell volumes in quote token\n */\n sellVolumes?: string;\n /**\n * total volumes in quote token\n */\n volumes?: string;\n /**\n * buy volumes in usd\n */\n buyVolumesInUsd?: string;\n /**\n * sell volumes in usd\n */\n sellVolumesInUsd?: string;\n /**\n * total volumes in usd\n */\n volumesInUsd?: string;\n /**\n * open price in usd\n */\n openPriceInUsd?: string;\n /**\n * close price in usd\n */\n closePriceInUsd?: string;\n /**\n * high price in usd\n */\n highPriceInUsd?: string;\n /**\n * low price in usd\n */\n lowPriceInUsd?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * price change %\n */\n priceChange?: string;\n}\n\nexport interface TokenMarketData {\n /**\n * total supply\n */\n totalSupply?: string;\n /**\n * market cap in quote token\n */\n marketCap?: string;\n /**\n * market cap in usd\n */\n marketCapInUsd?: string;\n /**\n * all-time-high market cap in usd\n */\n athMarketCapInUsd?: string;\n /**\n * price in quote token\n */\n price?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * tvl in quote token\n */\n tvl?: string;\n /**\n * tvl in usd\n */\n tvlInUsd?: string;\n /**\n * max pool tvl in quote token\n */\n maxPoolTvl?: string;\n /**\n * max pool tvl in usd\n */\n maxPoolTvlInUsd?: string;\n /**\n * holders count\n */\n holders?: number;\n /**\n * top 10 total holdings\n */\n top10Holdings?: string;\n /**\n * top 10 holdings ratio\n */\n top10HoldingsRatio?: string;\n /**\n * top 50 total holdings\n */\n top50Holdings?: string;\n /**\n * top 50 holdings ratio\n */\n top50HoldingsRatio?: string;\n /**\n * top 100 total holdings\n */\n top100Holdings?: string;\n /**\n * top 100 holdings ratio\n */\n top100HoldingsRatio?: string;\n /**\n * Bluechip holders count\n */\n bluechipHolders?: number;\n /**\n * Bluechip total holdings\n */\n bluechipHoldings?: string;\n /**\n * Bluechip holdings ratio\n */\n bluechipHoldingsRatio?: string;\n /**\n * KOL holders count\n */\n kolHolders?: number;\n /**\n * KOL total holdings\n */\n kolHoldings?: string;\n /**\n * KOL holdings ratio\n */\n kolHoldingsRatio?: string;\n /**\n * Sniper holders count\n */\n sniperHolders?: number;\n /**\n * Sniper total holdings\n */\n sniperHoldings?: string;\n /**\n * Sniper holdings ratio\n */\n sniperHoldingsRatio?: string;\n /**\n * Pro holders count\n */\n proHolders?: number;\n /**\n * Pro total holdings\n */\n proHoldings?: string;\n /**\n * Pro holdings ratio\n */\n proHoldingsRatio?: string;\n /**\n * Insider holders count\n */\n insiderHolders?: number;\n /**\n * Insider total holdings\n */\n insiderHoldings?: string;\n /**\n * Insider holdings ratio\n */\n insiderHoldingsRatio?: string;\n /**\n * Sandwich holders count\n */\n sandwichHolders?: number;\n /**\n * Sandwich total holdings\n */\n sandwichHoldings?: string;\n /**\n * Sandwich holdings ratio\n */\n sandwichHoldingsRatio?: string;\n /**\n * Fresh holders count\n */\n freshHolders?: number;\n /**\n * Fresh total holdings\n */\n freshHoldings?: string;\n /**\n * Fresh holdings ratio\n */\n freshHoldingsRatio?: string;\n /**\n * Bundle holders count\n */\n bundleHolders?: number;\n /**\n * Bundle total holdings\n */\n bundleHoldings?: string;\n /**\n * Bundle holdings ratio\n */\n bundleHoldingsRatio?: string;\n /**\n * Dev holders count\n */\n devHolders?: number;\n /**\n * Dev total holdings\n */\n devHoldings?: string;\n /**\n * Dev holdings ratio\n */\n devHoldingsRatio?: string;\n}\n\nexport interface TokenLiquidity {\n /**\n * pool avatar image\n */\n image?: string;\n /**\n * pair token address.\n */\n pairAddress?: string;\n /**\n * pool address.\n */\n poolAddress?: string;\n /**\n * program address.\n */\n programAddress?: string;\n /**\n * protocol name.\n */\n protocolName?: string;\n /**\n * protocol family.\n */\n protocolFamily?: string;\n /**\n * tvl in quote token.\n */\n tvl?: string;\n /**\n * tvl in usd.\n */\n tvlInUsd?: string;\n}\n\nexport interface TokenSecurityProviderInfo {\n /**\n * whether this provider returned data for the token.\n */\n available: boolean;\n /**\n * whether this provider supports the token's chain.\n */\n chainSupported?: boolean;\n /**\n * last refresh timestamp returned by the provider.\n */\n lastRefreshedAt?: string;\n /**\n * provider raw payload for unsupported future fields.\n */\n raw?: unknown;\n}\n\nexport interface TokenGoPlusSecurity extends TokenSecurityProviderInfo {\n buyTaxRatio?: string;\n sellTaxRatio?: string;\n holderCount?: string;\n lpHolderCount?: string;\n ownerAddress?: string;\n totalSupply?: string;\n hasBlacklist?: boolean;\n isFreezable?: boolean;\n isHoneypot?: boolean;\n isMintable?: boolean;\n isOpenSource?: boolean;\n isProxy?: boolean;\n isRenounced?: boolean;\n}\n\nexport interface TokenHoneypotSecurity extends TokenSecurityProviderInfo {\n averageTaxRatio?: string;\n buyTaxRatio?: string;\n sellTaxRatio?: string;\n highTaxRatio?: string;\n canSell?: number;\n canNotSell?: number;\n honeypotResult?: string;\n isHoneypot?: boolean;\n isOpenSource?: boolean;\n isRenounced?: boolean;\n}\n\nexport interface TokenSerializedSecurity extends TokenSecurityProviderInfo {\n isOpenSource?: boolean;\n isProxy?: boolean;\n isRenounced?: boolean;\n isSafe?: boolean;\n launchpadName?: string;\n ownerAddress?: string;\n sourceType?: string;\n vulnCount?: number;\n vulnCriticalCount?: number;\n vulnMitigatedCount?: number;\n}\n\nexport interface TokenLockInfo {\n isLocked?: boolean;\n leftLockPercentRatio?: string;\n lockDetail?: string;\n lockPercentRatio?: string;\n lockTags?: string[];\n}\n\nexport interface TokenPrivilegeInfo {\n address?: string;\n isRenounced?: boolean;\n name?: string;\n}\n\n/**\n * Token security flags and provider-specific security data.\n */\nexport interface TokenSecurity {\n /**\n * token address.\n */\n address?: string;\n /**\n * chain symbol returned by the security backend.\n */\n chain?: string;\n /**\n * providers that returned security information.\n */\n sourcesAvailable?: string[];\n /**\n * GoPlus security information.\n */\n goplus?: TokenGoPlusSecurity;\n /**\n * Honeypot.is security information.\n */\n honeypot?: TokenHoneypotSecurity;\n /**\n * Serialized security information.\n */\n serialized?: TokenSerializedSecurity;\n /**\n * LP lock information.\n */\n lockInfo?: TokenLockInfo;\n /**\n * token privilege / authority information.\n */\n privileges?: TokenPrivilegeInfo[];\n /**\n * dev token burn amount.\n */\n devTokenBurnAmount?: string;\n /**\n * dev token burn ratio.\n */\n devTokenBurnRatio?: string;\n /**\n * LP burn ratio parsed from Solana GoPlus raw DEX data.\n */\n lpBurnRatio?: string;\n /**\n * Top 10 holder ratio parsed from Solana GoPlus raw holder data.\n */\n top10HoldersRatio?: string;\n /**\n * whether backend recommends showing an alert.\n */\n isShowAlert?: boolean;\n /**\n * whether the token has transfer fee.\n */\n hasTransferFee?: boolean;\n /**\n * whether the token transfer fee is upgradable.\n */\n isTransferFeeUpgradable?: boolean;\n /**\n * whether the token is transferable.\n */\n isTransferable?: boolean;\n /**\n * whether the token is freezable.\n */\n isFreezable?: boolean;\n /**\n * whether the token is closable.\n */\n isClosable?: boolean;\n /**\n * whether token balance mutable authority is active.\n */\n isBalanceMutableAuthorityActive?: boolean;\n /**\n * whether token metadata can still be changed.\n */\n isMetadataMutable?: boolean;\n /**\n * whether the token is mintable.\n */\n isMintable?: boolean;\n /**\n * whether mint authority is renounced.\n */\n isMintAuthorityRenounced?: boolean;\n /**\n * whether blacklist capability is present.\n */\n hasBlacklist?: boolean;\n /**\n * whether LP / dev token burn is detected.\n */\n isLpBurned?: boolean;\n /**\n * whether the contract source is open / verified.\n */\n isOpenSource?: boolean;\n /**\n * whether the token is a honeypot.\n */\n isHoneypot?: boolean;\n /**\n * whether ownership / owner privilege is renounced.\n */\n isOwnershipRenounced?: boolean;\n /**\n * whether LP is locked.\n */\n isLpLocked?: boolean;\n /**\n * buy tax ratio.\n */\n buyTaxRatio?: string;\n /**\n * sell tax ratio.\n */\n sellTaxRatio?: string;\n /**\n * average tax ratio.\n */\n averageTaxRatio?: string;\n /**\n * highest tax ratio.\n */\n maxTaxRatio?: string;\n /**\n * whether Serialized reports the token as safe.\n */\n isSerializedSafe?: boolean;\n /**\n * Serialized vulnerability count.\n */\n serializedVulnCount?: number;\n /**\n * Serialized critical vulnerability count.\n */\n serializedCriticalVulnCount?: number;\n}\n\nexport type TokenResolution =\n | \"1s\"\n | \"15s\"\n | \"30s\"\n | \"1m\"\n | \"5m\"\n | \"15m\"\n | \"30m\"\n | \"1h\"\n | \"4h\"\n | \"12h\"\n | \"24h\";\n\nexport interface TokenCandle {\n /**\n * open price in usd\n */\n open: string;\n /**\n * close price in usd\n */\n close: string;\n /**\n * high price in usd\n */\n high: string;\n /**\n * low price in usd\n */\n low: string;\n /**\n * volume in usd\n */\n volume: string;\n /**\n * volume in token amount\n */\n volumeInTokenAmount?: string;\n /**\n * trades count in this candle\n */\n trades?: number;\n /**\n * resolution\n */\n resolution: TokenResolution;\n /**\n * timestamp\n */\n timestamp: Date;\n}\n\nexport interface TokenHolder {\n /**\n * Solana token account address (ATA) for this holder position.\n */\n accountAddress?: string;\n /**\n * holder wallet address\n */\n address: string;\n /**\n * Traceable cumulative DEX buy quantity, buy-side only.\n */\n accuAmount?: string;\n /**\n * Traceable position accumulated cost, USD.\n */\n accuCost?: string;\n /**\n * Address label type from upstream labels.\n */\n addrType?: number;\n /**\n * Specific address label, such as an exchange hot wallet label.\n */\n addressLabel?: string;\n /**\n * holdings amount in token\n */\n amount: string;\n /**\n * holdings amount in usd\n */\n amountInUsd: string;\n /**\n * holdings value in native chain token\n */\n amountInNative?: string;\n /**\n * holdings ratio, range is 0-100\n */\n ratio: string;\n /** Average buy price in USD per token, all-time. */\n avgBuyPriceUsd?: string;\n /** Average cost per token in USD for the current position. */\n avgCostUsd?: string;\n /** Average sell price in USD per token, all-time. */\n avgSellPriceUsd?: string;\n /** Cumulative token quantity bought, all-time. */\n buyAmountCur?: string;\n /** All-time total buy volume in native token. */\n buyVolumeNative?: string;\n /** All-time total buy volume in USD. */\n buyVolumeUsd?: string;\n /** Unix timestamp when this wallet first appeared on-chain. */\n createdAt?: Date;\n /** Time when holder fully closed position. */\n endHoldingAt?: Date;\n /** Entity or exchange name. */\n exchange?: string;\n /** Timestamp of first token purchase. */\n firstBuyTime?: Date;\n /** Total DEX buy cost including fees, USD. */\n historyBoughtCost?: string;\n /** Total DEX buy fees, USD. */\n historyBoughtFee?: string;\n /** Total DEX sell fees, USD. */\n historySoldFee?: string;\n /** Total DEX sell income, USD. */\n historySoldIncome?: string;\n /** Cumulative transfer-in token quantity. */\n historyTransferInAmount?: string;\n /** Transfer-in USD cost basis. */\n historyTransferInCost?: string;\n /** Cumulative transfer-out token quantity. */\n historyTransferOutAmount?: string;\n /** Total transfer-out fee in USD all-time. */\n historyTransferOutFee?: string;\n /** Transfer-out USD income. */\n historyTransferOutIncome?: string;\n /** Whether the token position is fully closed. */\n isClosed?: boolean;\n /** Whether the wallet is newly created. */\n isNew?: boolean;\n /** Whether the position was acquired purely via transfers. */\n isTransferIn?: boolean;\n /** Last processed block height for this holder position. */\n lastBlock?: number;\n /** Number of losing trades. */\n lossCount?: number;\n /** Per-token position or behaviour tags derived at query time. */\n makerTokenTags?: Array<string>;\n /** Native chain token balance in smallest units. */\n nativeBalance?: string;\n /** Net token quantity flow: buys minus sells. */\n netflowAmount?: string;\n /** Net USD flow: buy USD minus sell USD. */\n netflowAmountUsd?: string;\n /** Net USD inflow. */\n netflowUsd?: string;\n /** Current open position cost in USD. */\n positionCostUsd?: string;\n /** Realized PnL ratio. */\n realizedPnlRatio?: string;\n /** Realized PnL in USD, all-time. */\n realizedProfit?: string;\n /** Return on investment ratio. */\n roi?: string;\n /** Cumulative token quantity sold, all-time. */\n sellAmountCur?: string;\n /** Sell quantity divided by buy quantity, capped 0-1. */\n sellAmountPercentage?: string;\n /** All-time total sell volume in native token. */\n sellVolumeNative?: string;\n /** All-time total sell volume in USD. */\n sellVolumeUsd?: string;\n /**\n * Holder classification tags (Phase 3). Sparse — only present when the\n * wallet matches one of the known patterns (kol/smart/sniper/dev/...).\n */\n tags?: Array<WalletTag>;\n /** Most recent token transfer-in payload from upstream. */\n tokenTransferIn?: unknown;\n /** Most recent token transfer-out payload from upstream. */\n tokenTransferOut?: unknown;\n /** All-time total buy trade count. */\n totalBuyCount?: number;\n /** All-time accumulated cost basis in USD. */\n totalCostUsd?: string;\n /** Total PnL in USD, realized plus unrealized. */\n totalProfit?: string;\n /** All-time total sell trade count. */\n totalSellCount?: number;\n /** Inbound transfer volume in native token over last 7 days. */\n transferInAmount7d?: string;\n /** Number of token transfer-in events. */\n transferInCount?: number;\n /** Outbound transfer volume in native token over last 7 days. */\n transferOutAmount7d?: string;\n /** Number of token transfer-out events. */\n transferOutCount?: number;\n /** Unrealized PnL ratio. */\n unrealizedPnlRatio?: string;\n /** Unrealized PnL in USD for the current position. */\n unrealizedProfit?: string;\n /** Global rank tag on this token when sorted by balance. */\n walletTagV2?: string;\n /** Number of winning trades. */\n winCount?: number;\n /**\n * The last time this wallet was active on-chain (Phase 3).\n * Sparse (~80% fill rate).\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token (Phase 3).\n * Sparse (~60% fill rate).\n */\n startHoldingAt?: Date;\n}\n\nexport interface TokenTopTrader {\n /**\n * trader wallet address\n */\n address: string;\n /**\n * current holdings amount in token\n */\n amount: string;\n /**\n * current holdings amount in usd\n */\n amountInUsd: string;\n /**\n * Trader classification tags.\n */\n tags?: Array<WalletTag>;\n /**\n * The last time this wallet was active on-chain.\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token.\n */\n startHoldingAt?: Date;\n /**\n * Average buy price in USD per token.\n */\n averageBuyPriceInUsd?: string;\n /**\n * Average sell price in USD per token.\n */\n averageSellPriceInUsd?: string;\n /**\n * Cumulative token quantity bought all-time.\n */\n buyAmountCur?: string;\n /**\n * Cumulative token quantity sold all-time.\n */\n sellAmountCur?: string;\n /**\n * Total buy volume in USD.\n */\n totalBuyAmountInUsd?: string;\n /**\n * Total sell volume in USD.\n */\n totalSellAmountInUsd?: string;\n /**\n * Realized PnL rate.\n */\n realizedPnl?: string;\n /**\n * Realized PnL in USD.\n */\n totalRealizedPnlInUsd?: string;\n /**\n * Unrealized PnL rate.\n */\n unrealizedPnl?: string;\n /**\n * Unrealized PnL in USD.\n */\n unrealizedPnlInUsd?: string;\n /**\n * Return on investment.\n */\n roi?: string;\n /**\n * Total PnL in USD.\n */\n totalPnlInUsd?: string;\n /**\n * Total buy trade count.\n */\n totalBuyCount?: number;\n /**\n * Total sell trade count.\n */\n totalSellCount?: number;\n /**\n * Whether position was acquired mainly via transfer.\n */\n transferIn?: boolean;\n /**\n * All-time transfer-in event count.\n */\n transferInCount?: number;\n /**\n * All-time transfer-out event count.\n */\n transferOutCount?: number;\n}\n"],"mappings":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/swap.ts","../src/chains.ts","../src/token.ts"],"sourcesContent":["import { Chain } from \"../chains\";\n\nexport enum SwapMode {\n EXACT_IN = \"exact_in\",\n EXACT_OUT = \"exact_out\",\n}\n\n/**\n * DEX identifier used for route / mint address conversion. Open union — the\n * known values cover today's DEXes; new aggregators can be plugged in without\n * a library update.\n */\nexport type SwapDex = \"jupiter\" | \"kyberswap\" | (string & {});\n\nexport interface SwapParams {\n /** chain id */\n chain: Chain;\n /** DEX to use; if omitted, inferred from chain (Solana → jupiter, EVM → kyberswap). Mint conversion uses this. */\n dex?: SwapDex;\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 /** EIP-2612 permit data (EVM only, alternative to on-chain approve) */\n permit?: string;\n /** deadline timestamp in ms (EVM only) */\n deadline?: number;\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 extra?: Record<string, unknown>;\n}\n\nexport interface SwapRoute {\n /** unsigned tx in base64 format */\n serializedTx: string;\n /** recent blockhash embedded in the unsigned Solana transaction */\n recentBlockhash?: string;\n /** last block height at which the embedded Solana blockhash remains valid */\n lastValidBlockHeight?: number;\n /** swap plans */\n plans: Array<SwapRoutePlan>;\n /** extra infos by api provider */\n extra?: Record<string, unknown>;\n}\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","import { Chain } from \"./chains\";\nimport { WalletTag } from \"./tag\";\n\nexport 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 = SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n\nexport interface Token {\n /**\n * chain id.\n */\n chain: Chain;\n /**\n * token name, e.g. \"Ethereum\", \"Solana\", etc.\n */\n name: string;\n /**\n * token symbol, e.g. \"ETH\", \"SOL\", etc.\n */\n symbol: string;\n /**\n * token address.\n */\n address: string;\n /**\n * token decimals.\n */\n decimals: number;\n /**\n * token avatar image url.\n */\n image?: string;\n /**\n * token description.\n */\n description?: string;\n /**\n * token creators.\n */\n creators?: Array<TokenCreator>;\n /**\n * token launch info.\n */\n launchedFrom?: TokenLaunchedFrom;\n /**\n * token migrate progress, range is 0-100.\n */\n migrateProgress?: string;\n /**\n * token migrate info.\n */\n migratedTo?: TokenMigratedTo;\n /**\n * token social medias.\n */\n socialMedias?: TokenSocialMedias;\n /**\n * token stats.\n */\n stats?: TokenStats;\n /**\n * token market data.\n */\n marketData?: TokenMarketData;\n /**\n * token liquidity pools\n */\n liquidities?: Array<TokenLiquidity>;\n /**\n * token security.\n */\n security?: TokenSecurity;\n /**\n * token tags.\n */\n tags?: Array<string>;\n /**\n * token create time.\n */\n createdAt?: Date;\n}\n\nexport interface TokenCreator {\n /**\n * token creator's wallet address.\n */\n address?: string;\n /**\n * token creator's share percentage, range is 0-100.\n */\n share?: number;\n /**\n * whether the token creator is verified.\n */\n isVerified?: boolean;\n}\n\nexport interface TokenLaunchedFrom {\n /**\n * token launch program address.\n */\n programAddress?: string;\n /**\n * token launch protocol family.\n */\n protocolFamily?: string;\n}\n\nexport interface TokenMigratedTo {\n /**\n * token migrate program address.\n */\n programAddress?: string;\n /**\n * token migrate protocol family.\n */\n protocolFamily?: string;\n /**\n * token migrate pool address.\n */\n poolAddress?: string;\n /**\n * token migrate time.\n */\n migratedAt?: Date;\n}\n\nexport interface TokenSocialMedias {\n /**\n * token twitter url.\n */\n twitter?: string;\n /**\n * token telegram url.\n */\n telegram?: string;\n /**\n * token website url.\n */\n website?: string;\n /**\n * token tiktok url.\n */\n tiktok?: string;\n /**\n * token discord url.\n */\n discord?: string;\n /**\n * token facebook url.\n */\n facebook?: string;\n /**\n * token github url.\n */\n github?: string;\n /**\n * token instagram url.\n */\n instagram?: string;\n /**\n * token linkedin url.\n */\n linkedin?: string;\n /**\n * token medium url.\n */\n medium?: string;\n /**\n * token reddit url.\n */\n reddit?: string;\n /**\n * token youtube url.\n */\n youtube?: string;\n /**\n * token bitbucket url.\n */\n bitbucket?: string;\n /**\n * token farcaster url or handle.\n */\n farcaster?: string;\n}\n\nexport interface TokenStats {\n /**\n * token stats by 1m timeframe.\n */\n \"1m\"?: TokenStatsByResolution;\n /**\n * token stats by 5m timeframe.\n */\n \"5m\"?: TokenStatsByResolution;\n /**\n * token stats by 15m timeframe.\n */\n \"15m\"?: TokenStatsByResolution;\n /**\n * token stats by 30m timeframe.\n */\n \"30m\"?: TokenStatsByResolution;\n /**\n * token stats by 1h timeframe.\n */\n \"1h\"?: TokenStatsByResolution;\n /**\n * token stats by 4h timeframe.\n */\n \"4h\"?: TokenStatsByResolution;\n /**\n * token stats by 24h timeframe.\n */\n \"24h\"?: TokenStatsByResolution;\n}\n\nexport interface TokenStatsByResolution {\n /**\n * buy txs count\n */\n buys?: number;\n /**\n * sell txs count\n */\n sells?: number;\n /**\n * txs count\n */\n trades?: number;\n /**\n * buy addresses count\n */\n buyers?: number;\n /**\n * sell addresses count\n */\n sellers?: number;\n /**\n * trade addresses count\n */\n traders?: number;\n /**\n * buy volumes in quote token\n */\n buyVolumes?: string;\n /**\n * sell volumes in quote token\n */\n sellVolumes?: string;\n /**\n * total volumes in quote token\n */\n volumes?: string;\n /**\n * buy volumes in usd\n */\n buyVolumesInUsd?: string;\n /**\n * sell volumes in usd\n */\n sellVolumesInUsd?: string;\n /**\n * total volumes in usd\n */\n volumesInUsd?: string;\n /**\n * open price in usd\n */\n openPriceInUsd?: string;\n /**\n * close price in usd\n */\n closePriceInUsd?: string;\n /**\n * high price in usd\n */\n highPriceInUsd?: string;\n /**\n * low price in usd\n */\n lowPriceInUsd?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * price change %\n */\n priceChange?: string;\n}\n\nexport interface TokenMarketData {\n /**\n * total supply\n */\n totalSupply?: string;\n /**\n * market cap in quote token\n */\n marketCap?: string;\n /**\n * market cap in usd\n */\n marketCapInUsd?: string;\n /**\n * price in quote token\n */\n price?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * tvl in quote token\n */\n tvl?: string;\n /**\n * tvl in usd\n */\n tvlInUsd?: string;\n /**\n * holders count\n */\n holders?: number;\n /**\n * top 10 total holdings\n */\n top10Holdings?: string;\n /**\n * top 10 holdings ratio\n */\n top10HoldingsRatio?: string;\n /**\n * top 50 total holdings\n */\n top50Holdings?: string;\n /**\n * top 50 holdings ratio\n */\n top50HoldingsRatio?: string;\n /**\n * top 100 total holdings\n */\n top100Holdings?: string;\n /**\n * top 100 holdings ratio\n */\n top100HoldingsRatio?: string;\n /**\n * Bluechip holders count\n */\n bluechipHolders?: number;\n /**\n * Bluechip total holdings\n */\n bluechipHoldings?: string;\n /**\n * Bluechip holdings ratio\n */\n bluechipHoldingsRatio?: string;\n /**\n * KOL holders count\n */\n kolHolders?: number;\n /**\n * KOL total holdings\n */\n kolHoldings?: string;\n /**\n * KOL holdings ratio\n */\n kolHoldingsRatio?: string;\n /**\n * Sniper holders count\n */\n sniperHolders?: number;\n /**\n * Sniper total holdings\n */\n sniperHoldings?: string;\n /**\n * Sniper holdings ratio\n */\n sniperHoldingsRatio?: string;\n /**\n * Pro holders count\n */\n proHolders?: number;\n /**\n * Pro total holdings\n */\n proHoldings?: string;\n /**\n * Pro holdings ratio\n */\n proHoldingsRatio?: string;\n /**\n * Insider holders count\n */\n insiderHolders?: number;\n /**\n * Insider total holdings\n */\n insiderHoldings?: string;\n /**\n * Insider holdings ratio\n */\n insiderHoldingsRatio?: string;\n /**\n * Sandwich holders count\n */\n sandwichHolders?: number;\n /**\n * Sandwich total holdings\n */\n sandwichHoldings?: string;\n /**\n * Sandwich holdings ratio\n */\n sandwichHoldingsRatio?: string;\n /**\n * Fresh holders count\n */\n freshHolders?: number;\n /**\n * Fresh total holdings\n */\n freshHoldings?: string;\n /**\n * Fresh holdings ratio\n */\n freshHoldingsRatio?: string;\n /**\n * Bundle holders count\n */\n bundleHolders?: number;\n /**\n * Bundle total holdings\n */\n bundleHoldings?: string;\n /**\n * Bundle holdings ratio\n */\n bundleHoldingsRatio?: string;\n /**\n * Dev holders count\n */\n devHolders?: number;\n /**\n * Dev total holdings\n */\n devHoldings?: string;\n /**\n * Dev holdings ratio\n */\n devHoldingsRatio?: string;\n}\n\nexport interface TokenLiquidity {\n /**\n * pool avatar image\n */\n image?: string;\n /**\n * pair token address.\n */\n pairAddress?: string;\n /**\n * pool address.\n */\n poolAddress?: string;\n /**\n * program address.\n */\n programAddress?: string;\n /**\n * protocol name.\n */\n protocolName?: string;\n /**\n * protocol family.\n */\n protocolFamily?: string;\n /**\n * tvl in quote token.\n */\n tvl?: string;\n /**\n * tvl in usd.\n */\n tvlInUsd?: string;\n}\n\n/**\n * Token security flags. Backend currently exposes the five Solana SPL flags\n * below; additional checks may be added in the future as the security service\n * gains coverage of more chains and risk vectors.\n */\nexport interface TokenSecurity {\n /**\n * whether the token has transfer fee.\n */\n hasTransferFee?: boolean;\n /**\n * whether the token transfer fee is upgradable.\n */\n isTransferFeeUpgradable?: boolean;\n /**\n * whether the token is transferable.\n */\n isTransferable?: boolean;\n /**\n * whether the token is freezable.\n */\n isFreezable?: boolean;\n /**\n * whether the token is closable.\n */\n isClosable?: boolean;\n}\n\nexport type TokenResolution =\n | \"1s\"\n | \"15s\"\n | \"30s\"\n | \"1m\"\n | \"5m\"\n | \"15m\"\n | \"30m\"\n | \"1h\"\n | \"4h\"\n | \"12h\"\n | \"24h\";\n\nexport interface TokenCandle {\n /**\n * open price in usd\n */\n open: string;\n /**\n * close price in usd\n */\n close: string;\n /**\n * high price in usd\n */\n high: string;\n /**\n * low price in usd\n */\n low: string;\n /**\n * volume in usd\n */\n volume: string;\n /**\n * volume in token amount\n */\n volumeInTokenAmount?: string;\n /**\n * trades count in this candle\n */\n trades?: number;\n /**\n * resolution\n */\n resolution: TokenResolution;\n /**\n * timestamp\n */\n timestamp: Date;\n}\n\nexport interface TokenHolder {\n /**\n * Solana token account address (ATA) for this holder position.\n */\n accountAddress?: string;\n /**\n * holder wallet address\n */\n address: string;\n /**\n * Traceable cumulative DEX buy quantity, buy-side only.\n */\n accuAmount?: string;\n /**\n * Traceable position accumulated cost, USD.\n */\n accuCost?: string;\n /**\n * Address label type from upstream labels.\n */\n addrType?: number;\n /**\n * Specific address label, such as an exchange hot wallet label.\n */\n addressLabel?: string;\n /**\n * holdings amount in token\n */\n amount: string;\n /**\n * holdings amount in usd\n */\n amountInUsd: string;\n /**\n * holdings value in native chain token\n */\n amountInNative?: string;\n /**\n * holdings ratio, range is 0-100\n */\n ratio: string;\n /** Average buy price in USD per token, all-time. */\n avgBuyPriceUsd?: string;\n /** Average cost per token in USD for the current position. */\n avgCostUsd?: string;\n /** Average sell price in USD per token, all-time. */\n avgSellPriceUsd?: string;\n /** Cumulative token quantity bought, all-time. */\n buyAmountCur?: string;\n /** All-time total buy volume in native token. */\n buyVolumeNative?: string;\n /** All-time total buy volume in USD. */\n buyVolumeUsd?: string;\n /** Unix timestamp when this wallet first appeared on-chain. */\n createdAt?: Date;\n /** Time when holder fully closed position. */\n endHoldingAt?: Date;\n /** Entity or exchange name. */\n exchange?: string;\n /** Timestamp of first token purchase. */\n firstBuyTime?: Date;\n /** Total DEX buy cost including fees, USD. */\n historyBoughtCost?: string;\n /** Total DEX buy fees, USD. */\n historyBoughtFee?: string;\n /** Total DEX sell fees, USD. */\n historySoldFee?: string;\n /** Total DEX sell income, USD. */\n historySoldIncome?: string;\n /** Cumulative transfer-in token quantity. */\n historyTransferInAmount?: string;\n /** Transfer-in USD cost basis. */\n historyTransferInCost?: string;\n /** Cumulative transfer-out token quantity. */\n historyTransferOutAmount?: string;\n /** Total transfer-out fee in USD all-time. */\n historyTransferOutFee?: string;\n /** Transfer-out USD income. */\n historyTransferOutIncome?: string;\n /** Whether the token position is fully closed. */\n isClosed?: boolean;\n /** Whether the wallet is newly created. */\n isNew?: boolean;\n /** Whether the position was acquired purely via transfers. */\n isTransferIn?: boolean;\n /** Last processed block height for this holder position. */\n lastBlock?: number;\n /** Number of losing trades. */\n lossCount?: number;\n /** Per-token position or behaviour tags derived at query time. */\n makerTokenTags?: Array<string>;\n /** Native chain token balance in smallest units. */\n nativeBalance?: string;\n /** Net token quantity flow: buys minus sells. */\n netflowAmount?: string;\n /** Net USD flow: buy USD minus sell USD. */\n netflowAmountUsd?: string;\n /** Net USD inflow. */\n netflowUsd?: string;\n /** Current open position cost in USD. */\n positionCostUsd?: string;\n /** Realized PnL ratio. */\n realizedPnlRatio?: string;\n /** Realized PnL in USD, all-time. */\n realizedProfit?: string;\n /** Return on investment ratio. */\n roi?: string;\n /** Cumulative token quantity sold, all-time. */\n sellAmountCur?: string;\n /** Sell quantity divided by buy quantity, capped 0-1. */\n sellAmountPercentage?: string;\n /** All-time total sell volume in native token. */\n sellVolumeNative?: string;\n /** All-time total sell volume in USD. */\n sellVolumeUsd?: string;\n /**\n * Holder classification tags (Phase 3). Sparse — only present when the\n * wallet matches one of the known patterns (kol/smart/sniper/dev/...).\n */\n tags?: Array<WalletTag>;\n /** Most recent token transfer-in payload from upstream. */\n tokenTransferIn?: unknown;\n /** Most recent token transfer-out payload from upstream. */\n tokenTransferOut?: unknown;\n /** All-time total buy trade count. */\n totalBuyCount?: number;\n /** All-time accumulated cost basis in USD. */\n totalCostUsd?: string;\n /** Total PnL in USD, realized plus unrealized. */\n totalProfit?: string;\n /** All-time total sell trade count. */\n totalSellCount?: number;\n /** Inbound transfer volume in native token over last 7 days. */\n transferInAmount7d?: string;\n /** Number of token transfer-in events. */\n transferInCount?: number;\n /** Outbound transfer volume in native token over last 7 days. */\n transferOutAmount7d?: string;\n /** Number of token transfer-out events. */\n transferOutCount?: number;\n /** Unrealized PnL ratio. */\n unrealizedPnlRatio?: string;\n /** Unrealized PnL in USD for the current position. */\n unrealizedProfit?: string;\n /** Global rank tag on this token when sorted by balance. */\n walletTagV2?: string;\n /** Number of winning trades. */\n winCount?: number;\n /**\n * The last time this wallet was active on-chain (Phase 3).\n * Sparse (~80% fill rate).\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token (Phase 3).\n * Sparse (~60% fill rate).\n */\n startHoldingAt?: Date;\n}\n\nexport interface TokenTopTrader {\n /**\n * trader wallet address\n */\n address: string;\n /**\n * current holdings amount in token\n */\n amount: string;\n /**\n * current holdings amount in usd\n */\n amountInUsd: string;\n /**\n * Trader classification tags.\n */\n tags?: Array<WalletTag>;\n /**\n * The last time this wallet was active on-chain.\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token.\n */\n startHoldingAt?: Date;\n /**\n * Average buy price in USD per token.\n */\n averageBuyPriceInUsd?: string;\n /**\n * Average sell price in USD per token.\n */\n averageSellPriceInUsd?: string;\n /**\n * Cumulative token quantity bought all-time.\n */\n buyAmountCur?: string;\n /**\n * Cumulative token quantity sold all-time.\n */\n sellAmountCur?: string;\n /**\n * Total buy volume in USD.\n */\n totalBuyAmountInUsd?: string;\n /**\n * Total sell volume in USD.\n */\n totalSellAmountInUsd?: string;\n /**\n * Realized PnL rate.\n */\n realizedPnl?: string;\n /**\n * Realized PnL in USD.\n */\n totalRealizedPnlInUsd?: string;\n /**\n * Unrealized PnL rate.\n */\n unrealizedPnl?: string;\n /**\n * Unrealized PnL in USD.\n */\n unrealizedPnlInUsd?: string;\n /**\n * Return on investment.\n */\n roi?: string;\n /**\n * Total PnL in USD.\n */\n totalPnlInUsd?: string;\n /**\n * Total buy trade count.\n */\n totalBuyCount?: number;\n /**\n * Total sell trade count.\n */\n totalSellCount?: number;\n /**\n * Whether position was acquired mainly via transfer.\n */\n transferIn?: boolean;\n /**\n * All-time transfer-in event count.\n */\n transferInCount?: number;\n /**\n * All-time transfer-out event count.\n */\n transferOutCount?: number;\n}\n"],"mappings":"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","names":["SwapMode","Chain","ChainNamespace","SolanaTokenProtocol"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/swap.ts","../src/chains.ts","../src/token.ts"],"sourcesContent":["import { Chain } from \"../chains\";\n\nexport enum SwapMode {\n EXACT_IN = \"exact_in\",\n EXACT_OUT = \"exact_out\",\n}\n\n/**\n * DEX identifier used for route / mint address conversion. Open union — the\n * known values cover today's DEXes; new aggregators can be plugged in without\n * a library update.\n */\nexport type SwapDex = \"jupiter\" | \"kyberswap\" | (string & {});\n\nexport interface SwapParams {\n /** chain id */\n chain: Chain;\n /** DEX to use; if omitted, inferred from chain (Solana → jupiter, EVM → kyberswap). Mint conversion uses this. */\n dex?: SwapDex;\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 /** EIP-2612 permit data (EVM only, alternative to on-chain approve) */\n permit?: string;\n /** deadline timestamp in ms (EVM only) */\n deadline?: number;\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 extra?: Record<string, unknown>;\n}\n\nexport interface SwapRoute {\n /** unsigned tx in base64 format */\n serializedTx: string;\n /** recent blockhash embedded in the unsigned Solana transaction */\n recentBlockhash?: string;\n /** last block height at which the embedded Solana blockhash remains valid */\n lastValidBlockHeight?: number;\n /** swap plans */\n plans: Array<SwapRoutePlan>;\n /** extra infos by api provider */\n extra?: Record<string, unknown>;\n}\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","import { Chain } from \"./chains\";\nimport { WalletTag } from \"./tag\";\n\nexport 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 = SolanaTokenProtocol | (string & {});\n\nexport const SOLANA_TOKEN_PROTOCOLS = Object.values(SolanaTokenProtocol);\n\nexport interface Token {\n /**\n * chain id.\n */\n chain: Chain;\n /**\n * token name, e.g. \"Ethereum\", \"Solana\", etc.\n */\n name: string;\n /**\n * token symbol, e.g. \"ETH\", \"SOL\", etc.\n */\n symbol: string;\n /**\n * token address.\n */\n address: string;\n /**\n * token decimals.\n */\n decimals: number;\n /**\n * token avatar image url.\n */\n image?: string;\n /**\n * token description.\n */\n description?: string;\n /**\n * token creators.\n */\n creators?: Array<TokenCreator>;\n /**\n * token developer's wallet address.\n */\n developerAddress?: string;\n /**\n * token launch info.\n */\n launchedFrom?: TokenLaunchedFrom;\n /**\n * token migrate progress, range is 0-100.\n */\n migrateProgress?: string;\n /**\n * token migrate info.\n */\n migratedTo?: TokenMigratedTo;\n /**\n * token social medias.\n */\n socialMedias?: TokenSocialMedias;\n /**\n * token stats.\n */\n stats?: TokenStats;\n /**\n * token market data.\n */\n marketData?: TokenMarketData;\n /**\n * token liquidity pools\n */\n liquidities?: Array<TokenLiquidity>;\n /**\n * token security.\n */\n security?: TokenSecurity;\n /**\n * token tags.\n */\n tags?: Array<string>;\n /**\n * token create time.\n */\n createdAt?: Date;\n}\n\nexport interface TokenCreator {\n /**\n * token creator's wallet address.\n */\n address?: string;\n /**\n * token creator's share percentage, range is 0-100.\n */\n share?: number;\n /**\n * whether the token creator is verified.\n */\n isVerified?: boolean;\n}\n\nexport interface TokenLaunchedFrom {\n /**\n * token launch program address.\n */\n programAddress?: string;\n /**\n * token launch protocol family.\n */\n protocolFamily?: string;\n}\n\nexport interface TokenMigratedTo {\n /**\n * token migrate program address.\n */\n programAddress?: string;\n /**\n * token migrate protocol family.\n */\n protocolFamily?: string;\n /**\n * token migrate pool address.\n */\n poolAddress?: string;\n /**\n * token migrate time.\n */\n migratedAt?: Date;\n}\n\nexport interface TokenSocialMedias {\n /**\n * token twitter url.\n */\n twitter?: string;\n /**\n * token telegram url.\n */\n telegram?: string;\n /**\n * token website url.\n */\n website?: string;\n /**\n * token tiktok url.\n */\n tiktok?: string;\n /**\n * token discord url.\n */\n discord?: string;\n /**\n * token facebook url.\n */\n facebook?: string;\n /**\n * token github url.\n */\n github?: string;\n /**\n * token instagram url.\n */\n instagram?: string;\n /**\n * token linkedin url.\n */\n linkedin?: string;\n /**\n * token medium url.\n */\n medium?: string;\n /**\n * token reddit url.\n */\n reddit?: string;\n /**\n * token youtube url.\n */\n youtube?: string;\n /**\n * token bitbucket url.\n */\n bitbucket?: string;\n /**\n * token farcaster url or handle.\n */\n farcaster?: string;\n}\n\nexport interface TokenStats {\n /**\n * token stats by 1m timeframe.\n */\n \"1m\"?: TokenStatsByResolution;\n /**\n * token stats by 5m timeframe.\n */\n \"5m\"?: TokenStatsByResolution;\n /**\n * token stats by 15m timeframe.\n */\n \"15m\"?: TokenStatsByResolution;\n /**\n * token stats by 30m timeframe.\n */\n \"30m\"?: TokenStatsByResolution;\n /**\n * token stats by 1h timeframe.\n */\n \"1h\"?: TokenStatsByResolution;\n /**\n * token stats by 4h timeframe.\n */\n \"4h\"?: TokenStatsByResolution;\n /**\n * token stats by 24h timeframe.\n */\n \"24h\"?: TokenStatsByResolution;\n}\n\nexport interface TokenStatsByResolution {\n /**\n * buy txs count\n */\n buys?: number;\n /**\n * sell txs count\n */\n sells?: number;\n /**\n * txs count\n */\n trades?: number;\n /**\n * buy addresses count\n */\n buyers?: number;\n /**\n * sell addresses count\n */\n sellers?: number;\n /**\n * trade addresses count\n */\n traders?: number;\n /**\n * buy volumes in quote token\n */\n buyVolumes?: string;\n /**\n * sell volumes in quote token\n */\n sellVolumes?: string;\n /**\n * total volumes in quote token\n */\n volumes?: string;\n /**\n * buy volumes in usd\n */\n buyVolumesInUsd?: string;\n /**\n * sell volumes in usd\n */\n sellVolumesInUsd?: string;\n /**\n * total volumes in usd\n */\n volumesInUsd?: string;\n /**\n * open price in usd\n */\n openPriceInUsd?: string;\n /**\n * close price in usd\n */\n closePriceInUsd?: string;\n /**\n * high price in usd\n */\n highPriceInUsd?: string;\n /**\n * low price in usd\n */\n lowPriceInUsd?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * price change %\n */\n priceChange?: string;\n}\n\nexport interface TokenMarketData {\n /**\n * total supply\n */\n totalSupply?: string;\n /**\n * market cap in quote token\n */\n marketCap?: string;\n /**\n * market cap in usd\n */\n marketCapInUsd?: string;\n /**\n * all-time-high market cap in usd\n */\n athMarketCapInUsd?: string;\n /**\n * price in quote token\n */\n price?: string;\n /**\n * price in usd\n */\n priceInUsd?: string;\n /**\n * tvl in quote token\n */\n tvl?: string;\n /**\n * tvl in usd\n */\n tvlInUsd?: string;\n /**\n * max pool tvl in quote token\n */\n maxPoolTvl?: string;\n /**\n * max pool tvl in usd\n */\n maxPoolTvlInUsd?: string;\n /**\n * holders count\n */\n holders?: number;\n /**\n * top 10 total holdings\n */\n top10Holdings?: string;\n /**\n * top 10 holdings ratio\n */\n top10HoldingsRatio?: string;\n /**\n * top 50 total holdings\n */\n top50Holdings?: string;\n /**\n * top 50 holdings ratio\n */\n top50HoldingsRatio?: string;\n /**\n * top 100 total holdings\n */\n top100Holdings?: string;\n /**\n * top 100 holdings ratio\n */\n top100HoldingsRatio?: string;\n /**\n * Bluechip holders count\n */\n bluechipHolders?: number;\n /**\n * Bluechip total holdings\n */\n bluechipHoldings?: string;\n /**\n * Bluechip holdings ratio\n */\n bluechipHoldingsRatio?: string;\n /**\n * KOL holders count\n */\n kolHolders?: number;\n /**\n * KOL total holdings\n */\n kolHoldings?: string;\n /**\n * KOL holdings ratio\n */\n kolHoldingsRatio?: string;\n /**\n * Sniper holders count\n */\n sniperHolders?: number;\n /**\n * Sniper total holdings\n */\n sniperHoldings?: string;\n /**\n * Sniper holdings ratio\n */\n sniperHoldingsRatio?: string;\n /**\n * Pro holders count\n */\n proHolders?: number;\n /**\n * Pro total holdings\n */\n proHoldings?: string;\n /**\n * Pro holdings ratio\n */\n proHoldingsRatio?: string;\n /**\n * Insider holders count\n */\n insiderHolders?: number;\n /**\n * Insider total holdings\n */\n insiderHoldings?: string;\n /**\n * Insider holdings ratio\n */\n insiderHoldingsRatio?: string;\n /**\n * Sandwich holders count\n */\n sandwichHolders?: number;\n /**\n * Sandwich total holdings\n */\n sandwichHoldings?: string;\n /**\n * Sandwich holdings ratio\n */\n sandwichHoldingsRatio?: string;\n /**\n * Fresh holders count\n */\n freshHolders?: number;\n /**\n * Fresh total holdings\n */\n freshHoldings?: string;\n /**\n * Fresh holdings ratio\n */\n freshHoldingsRatio?: string;\n /**\n * Bundle holders count\n */\n bundleHolders?: number;\n /**\n * Bundle total holdings\n */\n bundleHoldings?: string;\n /**\n * Bundle holdings ratio\n */\n bundleHoldingsRatio?: string;\n /**\n * Dev holders count\n */\n devHolders?: number;\n /**\n * Dev total holdings\n */\n devHoldings?: string;\n /**\n * Dev holdings ratio\n */\n devHoldingsRatio?: string;\n}\n\nexport interface TokenLiquidity {\n /**\n * pool avatar image\n */\n image?: string;\n /**\n * pair token address.\n */\n pairAddress?: string;\n /**\n * pool address.\n */\n poolAddress?: string;\n /**\n * program address.\n */\n programAddress?: string;\n /**\n * protocol name.\n */\n protocolName?: string;\n /**\n * protocol family.\n */\n protocolFamily?: string;\n /**\n * tvl in quote token.\n */\n tvl?: string;\n /**\n * tvl in usd.\n */\n tvlInUsd?: string;\n}\n\nexport interface TokenSecurityProviderInfo {\n /**\n * whether this provider returned data for the token.\n */\n available: boolean;\n /**\n * whether this provider supports the token's chain.\n */\n chainSupported?: boolean;\n /**\n * last refresh timestamp returned by the provider.\n */\n lastRefreshedAt?: string;\n /**\n * provider raw payload for unsupported future fields.\n */\n raw?: unknown;\n}\n\nexport interface TokenGoPlusSecurity extends TokenSecurityProviderInfo {\n buyTaxRatio?: string;\n sellTaxRatio?: string;\n holderCount?: string;\n lpHolderCount?: string;\n ownerAddress?: string;\n totalSupply?: string;\n hasBlacklist?: boolean;\n isFreezable?: boolean;\n isHoneypot?: boolean;\n isMintable?: boolean;\n isOpenSource?: boolean;\n isProxy?: boolean;\n isRenounced?: boolean;\n}\n\nexport interface TokenHoneypotSecurity extends TokenSecurityProviderInfo {\n averageTaxRatio?: string;\n buyTaxRatio?: string;\n sellTaxRatio?: string;\n highTaxRatio?: string;\n canSell?: number;\n canNotSell?: number;\n honeypotResult?: string;\n isHoneypot?: boolean;\n isOpenSource?: boolean;\n isRenounced?: boolean;\n}\n\nexport interface TokenSerializedSecurity extends TokenSecurityProviderInfo {\n isOpenSource?: boolean;\n isProxy?: boolean;\n isRenounced?: boolean;\n isSafe?: boolean;\n launchpadName?: string;\n ownerAddress?: string;\n sourceType?: string;\n vulnCount?: number;\n vulnCriticalCount?: number;\n vulnMitigatedCount?: number;\n}\n\nexport interface TokenLockInfo {\n isLocked?: boolean;\n leftLockPercentRatio?: string;\n lockDetail?: string;\n lockPercentRatio?: string;\n lockTags?: string[];\n}\n\nexport interface TokenPrivilegeInfo {\n address?: string;\n isRenounced?: boolean;\n name?: string;\n}\n\n/**\n * Token security flags and provider-specific security data.\n */\nexport interface TokenSecurity {\n /**\n * token address.\n */\n address?: string;\n /**\n * chain symbol returned by the security backend.\n */\n chain?: string;\n /**\n * providers that returned security information.\n */\n sourcesAvailable?: string[];\n /**\n * GoPlus security information.\n */\n goplus?: TokenGoPlusSecurity;\n /**\n * Honeypot.is security information.\n */\n honeypot?: TokenHoneypotSecurity;\n /**\n * Serialized security information.\n */\n serialized?: TokenSerializedSecurity;\n /**\n * LP lock information.\n */\n lockInfo?: TokenLockInfo;\n /**\n * token privilege / authority information.\n */\n privileges?: TokenPrivilegeInfo[];\n /**\n * dev token burn amount.\n */\n devTokenBurnAmount?: string;\n /**\n * dev token burn ratio.\n */\n devTokenBurnRatio?: string;\n /**\n * LP burn ratio parsed from Solana GoPlus raw DEX data.\n */\n lpBurnRatio?: string;\n /**\n * Top 10 holder ratio parsed from Solana GoPlus raw holder data.\n */\n top10HoldersRatio?: string;\n /**\n * whether backend recommends showing an alert.\n */\n isShowAlert?: boolean;\n /**\n * whether the token has transfer fee.\n */\n hasTransferFee?: boolean;\n /**\n * whether the token transfer fee is upgradable.\n */\n isTransferFeeUpgradable?: boolean;\n /**\n * whether the token is transferable.\n */\n isTransferable?: boolean;\n /**\n * whether the token is freezable.\n */\n isFreezable?: boolean;\n /**\n * whether the token is closable.\n */\n isClosable?: boolean;\n /**\n * whether token balance mutable authority is active.\n */\n isBalanceMutableAuthorityActive?: boolean;\n /**\n * whether token metadata can still be changed.\n */\n isMetadataMutable?: boolean;\n /**\n * whether the token is mintable.\n */\n isMintable?: boolean;\n /**\n * whether mint authority is renounced.\n */\n isMintAuthorityRenounced?: boolean;\n /**\n * whether blacklist capability is present.\n */\n hasBlacklist?: boolean;\n /**\n * whether LP / dev token burn is detected.\n */\n isLpBurned?: boolean;\n /**\n * whether the contract source is open / verified.\n */\n isOpenSource?: boolean;\n /**\n * whether the token is a honeypot.\n */\n isHoneypot?: boolean;\n /**\n * whether ownership / owner privilege is renounced.\n */\n isOwnershipRenounced?: boolean;\n /**\n * whether LP is locked.\n */\n isLpLocked?: boolean;\n /**\n * buy tax ratio.\n */\n buyTaxRatio?: string;\n /**\n * sell tax ratio.\n */\n sellTaxRatio?: string;\n /**\n * average tax ratio.\n */\n averageTaxRatio?: string;\n /**\n * highest tax ratio.\n */\n maxTaxRatio?: string;\n /**\n * whether Serialized reports the token as safe.\n */\n isSerializedSafe?: boolean;\n /**\n * Serialized vulnerability count.\n */\n serializedVulnCount?: number;\n /**\n * Serialized critical vulnerability count.\n */\n serializedCriticalVulnCount?: number;\n}\n\nexport type TokenResolution =\n | \"1s\"\n | \"15s\"\n | \"30s\"\n | \"1m\"\n | \"5m\"\n | \"15m\"\n | \"30m\"\n | \"1h\"\n | \"4h\"\n | \"12h\"\n | \"24h\";\n\nexport interface TokenCandle {\n /**\n * open price in usd\n */\n open: string;\n /**\n * close price in usd\n */\n close: string;\n /**\n * high price in usd\n */\n high: string;\n /**\n * low price in usd\n */\n low: string;\n /**\n * volume in usd\n */\n volume: string;\n /**\n * volume in token amount\n */\n volumeInTokenAmount?: string;\n /**\n * trades count in this candle\n */\n trades?: number;\n /**\n * resolution\n */\n resolution: TokenResolution;\n /**\n * timestamp\n */\n timestamp: Date;\n}\n\nexport interface TokenHolder {\n /**\n * Solana token account address (ATA) for this holder position.\n */\n accountAddress?: string;\n /**\n * holder wallet address\n */\n address: string;\n /**\n * Traceable cumulative DEX buy quantity, buy-side only.\n */\n accuAmount?: string;\n /**\n * Traceable position accumulated cost, USD.\n */\n accuCost?: string;\n /**\n * Address label type from upstream labels.\n */\n addrType?: number;\n /**\n * Specific address label, such as an exchange hot wallet label.\n */\n addressLabel?: string;\n /**\n * holdings amount in token\n */\n amount: string;\n /**\n * holdings amount in usd\n */\n amountInUsd: string;\n /**\n * holdings value in native chain token\n */\n amountInNative?: string;\n /**\n * holdings ratio, range is 0-100\n */\n ratio: string;\n /** Average buy price in USD per token, all-time. */\n avgBuyPriceUsd?: string;\n /** Average cost per token in USD for the current position. */\n avgCostUsd?: string;\n /** Average sell price in USD per token, all-time. */\n avgSellPriceUsd?: string;\n /** Cumulative token quantity bought, all-time. */\n buyAmountCur?: string;\n /** All-time total buy volume in native token. */\n buyVolumeNative?: string;\n /** All-time total buy volume in USD. */\n buyVolumeUsd?: string;\n /** Unix timestamp when this wallet first appeared on-chain. */\n createdAt?: Date;\n /** Time when holder fully closed position. */\n endHoldingAt?: Date;\n /** Entity or exchange name. */\n exchange?: string;\n /** Timestamp of first token purchase. */\n firstBuyTime?: Date;\n /** Total DEX buy cost including fees, USD. */\n historyBoughtCost?: string;\n /** Total DEX buy fees, USD. */\n historyBoughtFee?: string;\n /** Total DEX sell fees, USD. */\n historySoldFee?: string;\n /** Total DEX sell income, USD. */\n historySoldIncome?: string;\n /** Cumulative transfer-in token quantity. */\n historyTransferInAmount?: string;\n /** Transfer-in USD cost basis. */\n historyTransferInCost?: string;\n /** Cumulative transfer-out token quantity. */\n historyTransferOutAmount?: string;\n /** Total transfer-out fee in USD all-time. */\n historyTransferOutFee?: string;\n /** Transfer-out USD income. */\n historyTransferOutIncome?: string;\n /** Whether the token position is fully closed. */\n isClosed?: boolean;\n /** Whether the wallet is newly created. */\n isNew?: boolean;\n /** Whether the position was acquired purely via transfers. */\n isTransferIn?: boolean;\n /** Last processed block height for this holder position. */\n lastBlock?: number;\n /** Number of losing trades. */\n lossCount?: number;\n /** Per-token position or behaviour tags derived at query time. */\n makerTokenTags?: Array<string>;\n /** Native chain token balance in smallest units. */\n nativeBalance?: string;\n /** Net token quantity flow: buys minus sells. */\n netflowAmount?: string;\n /** Net USD flow: buy USD minus sell USD. */\n netflowAmountUsd?: string;\n /** Net USD inflow. */\n netflowUsd?: string;\n /** Current open position cost in USD. */\n positionCostUsd?: string;\n /** Realized PnL ratio. */\n realizedPnlRatio?: string;\n /** Realized PnL in USD, all-time. */\n realizedProfit?: string;\n /** Return on investment ratio. */\n roi?: string;\n /** Cumulative token quantity sold, all-time. */\n sellAmountCur?: string;\n /** Sell quantity divided by buy quantity, capped 0-1. */\n sellAmountPercentage?: string;\n /** All-time total sell volume in native token. */\n sellVolumeNative?: string;\n /** All-time total sell volume in USD. */\n sellVolumeUsd?: string;\n /**\n * Holder classification tags (Phase 3). Sparse — only present when the\n * wallet matches one of the known patterns (kol/smart/sniper/dev/...).\n */\n tags?: Array<WalletTag>;\n /** Most recent token transfer-in payload from upstream. */\n tokenTransferIn?: unknown;\n /** Most recent token transfer-out payload from upstream. */\n tokenTransferOut?: unknown;\n /** All-time total buy trade count. */\n totalBuyCount?: number;\n /** All-time accumulated cost basis in USD. */\n totalCostUsd?: string;\n /** Total PnL in USD, realized plus unrealized. */\n totalProfit?: string;\n /** All-time total sell trade count. */\n totalSellCount?: number;\n /** Inbound transfer volume in native token over last 7 days. */\n transferInAmount7d?: string;\n /** Number of token transfer-in events. */\n transferInCount?: number;\n /** Outbound transfer volume in native token over last 7 days. */\n transferOutAmount7d?: string;\n /** Number of token transfer-out events. */\n transferOutCount?: number;\n /** Unrealized PnL ratio. */\n unrealizedPnlRatio?: string;\n /** Unrealized PnL in USD for the current position. */\n unrealizedProfit?: string;\n /** Global rank tag on this token when sorted by balance. */\n walletTagV2?: string;\n /** Number of winning trades. */\n winCount?: number;\n /**\n * The last time this wallet was active on-chain (Phase 3).\n * Sparse (~80% fill rate).\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token (Phase 3).\n * Sparse (~60% fill rate).\n */\n startHoldingAt?: Date;\n}\n\nexport interface TokenTopTrader {\n /**\n * trader wallet address\n */\n address: string;\n /**\n * current holdings amount in token\n */\n amount: string;\n /**\n * current holdings amount in usd\n */\n amountInUsd: string;\n /**\n * Trader classification tags.\n */\n tags?: Array<WalletTag>;\n /**\n * The last time this wallet was active on-chain.\n */\n lastActiveAt?: Date;\n /**\n * The first time this wallet started holding this token.\n */\n startHoldingAt?: Date;\n /**\n * Average buy price in USD per token.\n */\n averageBuyPriceInUsd?: string;\n /**\n * Average sell price in USD per token.\n */\n averageSellPriceInUsd?: string;\n /**\n * Cumulative token quantity bought all-time.\n */\n buyAmountCur?: string;\n /**\n * Cumulative token quantity sold all-time.\n */\n sellAmountCur?: string;\n /**\n * Total buy volume in USD.\n */\n totalBuyAmountInUsd?: string;\n /**\n * Total sell volume in USD.\n */\n totalSellAmountInUsd?: string;\n /**\n * Realized PnL rate.\n */\n realizedPnl?: string;\n /**\n * Realized PnL in USD.\n */\n totalRealizedPnlInUsd?: string;\n /**\n * Unrealized PnL rate.\n */\n unrealizedPnl?: string;\n /**\n * Unrealized PnL in USD.\n */\n unrealizedPnlInUsd?: string;\n /**\n * Return on investment.\n */\n roi?: string;\n /**\n * Total PnL in USD.\n */\n totalPnlInUsd?: string;\n /**\n * Total buy trade count.\n */\n totalBuyCount?: number;\n /**\n * Total sell trade count.\n */\n totalSellCount?: number;\n /**\n * Whether position was acquired mainly via transfer.\n */\n transferIn?: boolean;\n /**\n * All-time transfer-in event count.\n */\n transferInCount?: number;\n /**\n * All-time transfer-out event count.\n */\n transferOutCount?: number;\n}\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.4.
|
|
3
|
+
"version": "0.4.31",
|
|
4
4
|
"description": "Liberfi React SDK types",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"tsup": "^8.5.0",
|
|
26
26
|
"typedoc": "^0.28.12",
|
|
27
|
-
"tsconfig": "0.1.
|
|
27
|
+
"tsconfig": "0.1.214"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|