@elizaos/plugin-wallet 2.0.0-beta.1

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.
Files changed (200) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/auto-enable.ts +76 -0
  4. package/dist/LpManagementService-BWrQ5-cO.mjs +353 -0
  5. package/dist/MockLpService-D_Apn4Fd.mjs +99 -0
  6. package/dist/aerodrome-CfnESC32.mjs +890 -0
  7. package/dist/chunk-hT5z_Zn9.mjs +35 -0
  8. package/dist/index.d.mts +34727 -0
  9. package/dist/index.mjs +21590 -0
  10. package/dist/lib/server-wallet-trade.d.mts +34 -0
  11. package/dist/lib/server-wallet-trade.mjs +306 -0
  12. package/dist/meteora-BPX39hZo.mjs +22640 -0
  13. package/dist/orca-Bybp1HXO.mjs +249 -0
  14. package/dist/pancakeswp-CkEXlXti.mjs +604 -0
  15. package/dist/plugin-ZO_MTyd0.mjs +529 -0
  16. package/dist/raydium-rfaM9yEf.mjs +539 -0
  17. package/dist/sdk/index.d.mts +32492 -0
  18. package/dist/sdk/index.mjs +6415 -0
  19. package/dist/types-D5252NZk.mjs +487 -0
  20. package/dist/uniswap-CReXgXVN.mjs +573 -0
  21. package/dist/wallet-action.d.mts +6 -0
  22. package/dist/wallet-action.mjs +820 -0
  23. package/package.json +152 -0
  24. package/src/actions/failure-codes.ts +79 -0
  25. package/src/actions/index.ts +1 -0
  26. package/src/analytics/birdeye/actions/wallet-search-address.ts +9 -0
  27. package/src/analytics/birdeye/birdeye-task.ts +175 -0
  28. package/src/analytics/birdeye/birdeye.ts +813 -0
  29. package/src/analytics/birdeye/constants.ts +74 -0
  30. package/src/analytics/birdeye/providers/agent-portfolio-provider.ts +18 -0
  31. package/src/analytics/birdeye/providers/market.ts +227 -0
  32. package/src/analytics/birdeye/providers/portfolio-factory.test.ts +138 -0
  33. package/src/analytics/birdeye/providers/portfolio-factory.ts +252 -0
  34. package/src/analytics/birdeye/providers/trending.ts +365 -0
  35. package/src/analytics/birdeye/providers/wallet.ts +14 -0
  36. package/src/analytics/birdeye/search-category.test.ts +207 -0
  37. package/src/analytics/birdeye/search-category.ts +506 -0
  38. package/src/analytics/birdeye/service.ts +992 -0
  39. package/src/analytics/birdeye/tasks/birdeye.ts +232 -0
  40. package/src/analytics/birdeye/types/api/common.ts +305 -0
  41. package/src/analytics/birdeye/types/api/defi.ts +220 -0
  42. package/src/analytics/birdeye/types/api/pair.ts +200 -0
  43. package/src/analytics/birdeye/types/api/search.ts +86 -0
  44. package/src/analytics/birdeye/types/api/token.ts +635 -0
  45. package/src/analytics/birdeye/types/api/trader.ts +76 -0
  46. package/src/analytics/birdeye/types/api/wallet.ts +181 -0
  47. package/src/analytics/birdeye/types/shared.ts +106 -0
  48. package/src/analytics/birdeye/utils.ts +700 -0
  49. package/src/analytics/dexscreener/errors.ts +28 -0
  50. package/src/analytics/dexscreener/index.ts +3 -0
  51. package/src/analytics/dexscreener/search-category.test.ts +49 -0
  52. package/src/analytics/dexscreener/search-category.ts +42 -0
  53. package/src/analytics/dexscreener/service.ts +595 -0
  54. package/src/analytics/dexscreener/types.ts +128 -0
  55. package/src/analytics/lpinfo/index.d.ts +7 -0
  56. package/src/analytics/lpinfo/index.ts +52 -0
  57. package/src/analytics/lpinfo/kamino/README.md +102 -0
  58. package/src/analytics/lpinfo/kamino/index.ts +24 -0
  59. package/src/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.ts +422 -0
  60. package/src/analytics/lpinfo/kamino/providers/kaminoPoolProvider.ts +365 -0
  61. package/src/analytics/lpinfo/kamino/providers/kaminoProvider.ts +496 -0
  62. package/src/analytics/lpinfo/kamino/services/kaminoLiquidityService.ts +1123 -0
  63. package/src/analytics/lpinfo/kamino/services/kaminoService.ts +758 -0
  64. package/src/analytics/lpinfo/steer/README.md +169 -0
  65. package/src/analytics/lpinfo/steer/index.ts +23 -0
  66. package/src/analytics/lpinfo/steer/providers/steerLiquidityProvider.ts +544 -0
  67. package/src/analytics/lpinfo/steer/services/steerLiquidityService.ts +1690 -0
  68. package/src/analytics/lpinfo/steer/steer-display-types.ts +99 -0
  69. package/src/analytics/news/index.ts +52 -0
  70. package/src/analytics/news/interfaces/types.ts +222 -0
  71. package/src/analytics/news/providers/defiNewsProvider.ts +734 -0
  72. package/src/analytics/news/services/newsDataService.ts +332 -0
  73. package/src/analytics/news/utils/formatters.ts +151 -0
  74. package/src/analytics/token-info/action.ts +240 -0
  75. package/src/analytics/token-info/index.ts +3 -0
  76. package/src/analytics/token-info/params.ts +215 -0
  77. package/src/analytics/token-info/providers.ts +681 -0
  78. package/src/analytics/token-info/service.ts +168 -0
  79. package/src/analytics/token-info/types.ts +74 -0
  80. package/src/audit/audit-log.ts +45 -0
  81. package/src/browser-shim/build-shim.ts +123 -0
  82. package/src/browser-shim/index.ts +5 -0
  83. package/src/browser-shim/shim.template.js +563 -0
  84. package/src/chains/evm/.github/workflows/npm-deploy.yml +112 -0
  85. package/src/chains/evm/LICENSE +21 -0
  86. package/src/chains/evm/README.md +106 -0
  87. package/src/chains/evm/actions/helpers.ts +147 -0
  88. package/src/chains/evm/actions/swap.ts +839 -0
  89. package/src/chains/evm/actions/transfer.ts +254 -0
  90. package/src/chains/evm/biome.json +61 -0
  91. package/src/chains/evm/bridge-router.ts +660 -0
  92. package/src/chains/evm/build.ts +89 -0
  93. package/src/chains/evm/chain-handler.ts +416 -0
  94. package/src/chains/evm/constants.ts +23 -0
  95. package/src/chains/evm/contracts/artifacts/OZGovernor.json +1707 -0
  96. package/src/chains/evm/contracts/artifacts/TimelockController.json +1007 -0
  97. package/src/chains/evm/contracts/artifacts/VoteToken.json +895 -0
  98. package/src/chains/evm/dex/aerodrome/index.ts +34 -0
  99. package/src/chains/evm/dex/aerodrome/services/AerodromeLpService.ts +558 -0
  100. package/src/chains/evm/dex/aerodrome/types.ts +318 -0
  101. package/src/chains/evm/dex/pancakeswp/index.ts +35 -0
  102. package/src/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.ts +743 -0
  103. package/src/chains/evm/dex/pancakeswp/types.ts +65 -0
  104. package/src/chains/evm/dex/uniswap/index.ts +35 -0
  105. package/src/chains/evm/dex/uniswap/services/UniswapV3LpService.ts +759 -0
  106. package/src/chains/evm/dex/uniswap/types.ts +390 -0
  107. package/src/chains/evm/generated/specs/spec-helpers.ts +73 -0
  108. package/src/chains/evm/generated/specs/specs.ts +151 -0
  109. package/src/chains/evm/gov-router.ts +250 -0
  110. package/src/chains/evm/index.browser.ts +16 -0
  111. package/src/chains/evm/index.ts +31 -0
  112. package/src/chains/evm/prompts.ts +193 -0
  113. package/src/chains/evm/providers/get-balance.ts +123 -0
  114. package/src/chains/evm/providers/wallet.ts +715 -0
  115. package/src/chains/evm/routes/sign.ts +333 -0
  116. package/src/chains/evm/rpc-providers.ts +410 -0
  117. package/src/chains/evm/service.ts +140 -0
  118. package/src/chains/evm/templates/index.ts +10 -0
  119. package/src/chains/evm/types/index.ts +432 -0
  120. package/src/chains/evm/vitest.config.ts +18 -0
  121. package/src/chains/registry.ts +668 -0
  122. package/src/chains/solana/README.md +367 -0
  123. package/src/chains/wallet-action.ts +533 -0
  124. package/src/chains/wallet-router.test.ts +296 -0
  125. package/src/contracts.ts +65 -0
  126. package/src/core-augmentation.ts +10 -0
  127. package/src/index.ts +71 -0
  128. package/src/lib/server-wallet-trade.ts +192 -0
  129. package/src/lib/wallet-export-guard.ts +330 -0
  130. package/src/lp/actions/liquidity.ts +827 -0
  131. package/src/lp/e2e/real-token-tests.ts +428 -0
  132. package/src/lp/e2e/scenarios.ts +470 -0
  133. package/src/lp/e2e/test-utils.ts +145 -0
  134. package/src/lp/lp-manager-entry.ts +303 -0
  135. package/src/lp/services/ConcentratedLiquidityService.ts +120 -0
  136. package/src/lp/services/DexInteractionService.ts +226 -0
  137. package/src/lp/services/LpManagementService.test.ts +148 -0
  138. package/src/lp/services/LpManagementService.ts +632 -0
  139. package/src/lp/services/UserLpProfileService.ts +163 -0
  140. package/src/lp/services/VaultService.ts +153 -0
  141. package/src/lp/services/YieldOptimizationService.ts +344 -0
  142. package/src/lp/services/__tests__/MockLpService.ts +146 -0
  143. package/src/lp/tasks/LpAutoRebalanceTask.ts +117 -0
  144. package/src/lp/tasks/__tests__/LpAutoRebalanceTask.test.ts +370 -0
  145. package/src/lp/types.ts +582 -0
  146. package/src/lp/utils/solanaClient.ts +143 -0
  147. package/src/plugin.ts +125 -0
  148. package/src/policy/policy.ts +19 -0
  149. package/src/providers/canonical-provider.ts +27 -0
  150. package/src/providers/unified-wallet-provider.ts +79 -0
  151. package/src/register-routes.ts +11 -0
  152. package/src/routes/plugin.ts +47 -0
  153. package/src/routes/wallet-market-overview-route.ts +869 -0
  154. package/src/sdk/abi.ts +258 -0
  155. package/src/sdk/bridge/abis.ts +126 -0
  156. package/src/sdk/bridge/client.ts +518 -0
  157. package/src/sdk/bridge/index.ts +56 -0
  158. package/src/sdk/bridge/solana.ts +604 -0
  159. package/src/sdk/bridge/types.ts +202 -0
  160. package/src/sdk/convenience.ts +347 -0
  161. package/src/sdk/escrow/MutualStakeEscrow.ts +480 -0
  162. package/src/sdk/escrow/types.ts +64 -0
  163. package/src/sdk/escrow/verifiers.ts +73 -0
  164. package/src/sdk/identity/erc8004.ts +692 -0
  165. package/src/sdk/identity/reputation.ts +449 -0
  166. package/src/sdk/identity/uaid.ts +497 -0
  167. package/src/sdk/identity/validation.ts +372 -0
  168. package/src/sdk/index.ts +763 -0
  169. package/src/sdk/policy/SpendingPolicy.ts +260 -0
  170. package/src/sdk/policy/UptoBillingPolicy.ts +320 -0
  171. package/src/sdk/router/PaymentRouter.ts +215 -0
  172. package/src/sdk/router/index.ts +8 -0
  173. package/src/sdk/swap/SwapModule.ts +310 -0
  174. package/src/sdk/swap/abi.ts +117 -0
  175. package/src/sdk/swap/index.ts +34 -0
  176. package/src/sdk/swap/types.ts +135 -0
  177. package/src/sdk/tokens/decimals.ts +140 -0
  178. package/src/sdk/tokens/registry.ts +911 -0
  179. package/src/sdk/tokens/solana.ts +419 -0
  180. package/src/sdk/tokens/transfers.ts +327 -0
  181. package/src/sdk/types.ts +158 -0
  182. package/src/sdk/wallet-core.ts +115 -0
  183. package/src/sdk/x402/budget.ts +168 -0
  184. package/src/sdk/x402/chains/abstract/index.ts +280 -0
  185. package/src/sdk/x402/client.ts +320 -0
  186. package/src/sdk/x402/index.ts +46 -0
  187. package/src/sdk/x402/middleware.ts +92 -0
  188. package/src/sdk/x402/multi-asset.ts +144 -0
  189. package/src/sdk/x402/types.ts +156 -0
  190. package/src/services/wallet-backend-service.ts +328 -0
  191. package/src/types/wallet-router.ts +227 -0
  192. package/src/utils/intent-trajectory.ts +106 -0
  193. package/src/wallet/backend.ts +62 -0
  194. package/src/wallet/errors.ts +49 -0
  195. package/src/wallet/index.ts +27 -0
  196. package/src/wallet/local-eoa-backend.ts +201 -0
  197. package/src/wallet/pending.ts +60 -0
  198. package/src/wallet/select-backend.ts +47 -0
  199. package/src/wallet/steward-backend.ts +161 -0
  200. package/src/wallet-action.ts +1 -0
@@ -0,0 +1,232 @@
1
+ // @ts-nocheck — legacy code from absorbed plugins (lp-manager, lpinfo, dexscreener, defi-news, birdeye); strict types pending cleanup
2
+ import {
3
+ type Content,
4
+ type IAgentRuntime,
5
+ //type Memory,
6
+ //ModelType,
7
+ type UUID,
8
+ createUniqueUuid,
9
+ type ServiceTypeName,
10
+ } from "@elizaos/core";
11
+ import { BIRDEYE_SERVICE_NAME } from "../constants";
12
+ import { extractChain } from "../utils";
13
+ import { BirdeyeService } from "../service";
14
+ import type {
15
+ BirdeyeSupportedChain,
16
+ TransactionHistory,
17
+ Portfolio,
18
+ } from "../types/shared";
19
+ //import type { IToken } from '';
20
+
21
+ /**
22
+ * Interface representing content with sentiment analysis data.
23
+ * @extends Content
24
+ * @interface
25
+ */
26
+ export interface SentimentContent extends Content {
27
+ text: string;
28
+ source: "sentiment-analysis";
29
+ metadata: {
30
+ timeslot: string;
31
+ processed: boolean;
32
+ occuringTokens?: Array<{
33
+ token: string;
34
+ sentiment: number;
35
+ reason: string;
36
+ }>;
37
+ };
38
+ }
39
+
40
+ /**
41
+ * Generates a bulletpoint list from an array of strings.
42
+ *
43
+ * @param {string[]} array - The array of strings to create the list from.
44
+ * @returns {string} The bulletpoint list as a single string with new lines separating each item.
45
+ */
46
+ /*
47
+ function makeBulletpointList(array: string[]): string {
48
+ return array.map((a) => ` - ${a}`).join('\n');
49
+ }
50
+ */
51
+
52
+ export default class Birdeye {
53
+ apiKey: string;
54
+ sentimentRoomId: UUID;
55
+ twitterFeedRoomId: UUID;
56
+ runtime: IAgentRuntime;
57
+
58
+ pSrvBirdeye: Promise<unknown>;
59
+ beService!: BirdeyeService;
60
+
61
+ constructor(runtime: IAgentRuntime) {
62
+ this.apiKey = runtime.getSetting("BIRDEYE_API_KEY");
63
+ this.sentimentRoomId = createUniqueUuid(runtime, "sentiment-analysis");
64
+ this.twitterFeedRoomId = createUniqueUuid(runtime, "twitter-feed");
65
+ this.runtime = runtime;
66
+
67
+ this.pSrvBirdeye = runtime
68
+ .getServiceLoadPromise(BIRDEYE_SERVICE_NAME as ServiceTypeName)
69
+ .then(() => {
70
+ // used to list positions
71
+ this.beService = this.runtime.getService(
72
+ BIRDEYE_SERVICE_NAME,
73
+ ) as BirdeyeService;
74
+ });
75
+ }
76
+
77
+ private async syncWalletHistory(
78
+ chain: BirdeyeSupportedChain,
79
+ publicKey: string,
80
+ ) {
81
+ try {
82
+ // Wait for BirdeyeService to initialize
83
+ await this.pSrvBirdeye;
84
+
85
+ if (!this.beService) {
86
+ throw new Error("BirdeyeService not initialized");
87
+ }
88
+
89
+ const birdeyeData = await this.beService.fetchWalletTxList(
90
+ chain,
91
+ publicKey,
92
+ );
93
+
94
+ //console.log('birdeyeData', birdeyeData)
95
+
96
+ //console.log('intel/be/syncWalletHistory - birdeyeData', birdeyeData)
97
+
98
+ // Convert Birdeye data to our transaction format
99
+ const transactions: TransactionHistory[] = birdeyeData.map(
100
+ (tx: { txHash: string; blockTime: number | string }) => ({
101
+ txHash: tx.txHash,
102
+ blockTime: new Date(tx.blockTime),
103
+ data: tx,
104
+ }),
105
+ );
106
+
107
+ //console.log('intel/be/syncWalletHistory - transactions', transactions)
108
+
109
+ // Then try to get cached transactions
110
+ try {
111
+ // FIXME: scope to solana and wallet
112
+ const cachedTxs = await this.runtime.getCache<TransactionHistory[]>(
113
+ "transaction_history",
114
+ );
115
+ if (cachedTxs && Array.isArray(cachedTxs)) {
116
+ // Add cached transactions that don't exist in Birdeye data
117
+ for (const cachedTx of cachedTxs) {
118
+ if (!transactions.some((tx) => tx.txHash === cachedTx.txHash)) {
119
+ transactions.push(cachedTx);
120
+ }
121
+ }
122
+ }
123
+ } catch (_error) {
124
+ // If cache fails, continue with just Birdeye data
125
+ this.runtime.logger.debug(
126
+ "Failed to get cached transactions, continuing with Birdeye data only",
127
+ );
128
+ }
129
+
130
+ // ensure all dates are of type Date for sort
131
+ for (const tx of transactions) {
132
+ if (typeof tx.blockTime === "string") {
133
+ tx.blockTime = new Date(tx.blockTime);
134
+ }
135
+ }
136
+
137
+ // Sort transactions by blockTime descending (newest first)
138
+ transactions.sort(
139
+ (a, b) => b.blockTime.getTime() - a.blockTime.getTime(),
140
+ );
141
+
142
+ // Try to update cache, but don't fail if it doesn't work
143
+ try {
144
+ await this.runtime.setCache<TransactionHistory[]>(
145
+ "transaction_history",
146
+ transactions,
147
+ );
148
+ this.runtime.logger.debug(
149
+ `Birdeye Task - Updated transaction history with ${transactions.length} transactions for ${publicKey}`,
150
+ );
151
+ } catch (error) {
152
+ this.runtime.logger.debug(
153
+ `Failed to set transaction cache, continuing without caching: ${error instanceof Error ? error.message : String(error)}`,
154
+ );
155
+ //logger.debug({ error }, 'Failed to set transaction cache, continuing without caching');
156
+ }
157
+
158
+ return transactions;
159
+ } catch (error) {
160
+ this.runtime.logger.error(
161
+ `Failed to sync wallet history from Birdeye: ${error instanceof Error ? error.message : String(error)}`,
162
+ );
163
+ //logger.error({ error }, 'Failed to sync wallet history from Birdeye');
164
+ // Return empty array if everything fails
165
+ return [];
166
+ }
167
+ }
168
+
169
+ private async syncWalletPortfolio(
170
+ chain: BirdeyeSupportedChain,
171
+ publicKey: string,
172
+ ) {
173
+ // Wait for BirdeyeService to initialize
174
+ await this.pSrvBirdeye;
175
+
176
+ if (!this.beService) {
177
+ throw new Error("BirdeyeService not initialized");
178
+ }
179
+
180
+ const data = await this.beService.fetchWalletTokenList(chain, publicKey);
181
+
182
+ await this.runtime.setCache<Portfolio>("portfolio", {
183
+ key: "PORTFOLIO",
184
+ data,
185
+ });
186
+ }
187
+
188
+ async syncWallet() {
189
+ const walletAddr = this.runtime.getSetting("BIRDEYE_WALLET_ADDR");
190
+ if (!walletAddr) {
191
+ return;
192
+ }
193
+
194
+ // Get explicit chain setting if provided
195
+ const explicitChain = this.runtime.getSetting("BIRDEYE_CHAIN");
196
+
197
+ try {
198
+ const chain = extractChain(walletAddr, explicitChain);
199
+ await this.syncWalletHistory(chain, walletAddr);
200
+ // maybe let solana or birdeye plugin handle this
201
+ await this.syncWalletPortfolio(chain, walletAddr);
202
+
203
+ return true;
204
+ } catch (error) {
205
+ this.runtime.logger?.error(
206
+ `Failed to sync wallet: ${error instanceof Error ? error.message : String(error)}`,
207
+ );
208
+ // Don't throw - just log and return false to indicate failure
209
+ return false;
210
+ }
211
+ }
212
+
213
+ /*
214
+ async syncTrendingTokens(chain: 'solana' | 'base' | 'ethereum', depth = 5): Promise<boolean> {
215
+ try {
216
+ const res = await this.beService.getTrendingTokensForChain(chain)
217
+ const tokens = res.data
218
+ //console.log('trending tokens', tokens)
219
+ await this.runtime.setCache<IToken[]>(`tokens_${chain}`, tokens);
220
+
221
+ logger.debug(`Updated ${chain} tokens cache with ${tokens.length} tokens`);
222
+
223
+ return true;
224
+ } catch (error) {
225
+ logger.error(
226
+ `Failed to sync trending tokens: ${error instanceof Error ? error.message : String(error)}`
227
+ );
228
+ throw error;
229
+ }
230
+ }
231
+ */
232
+ }
@@ -0,0 +1,305 @@
1
+ // @ts-nocheck — legacy code from absorbed plugins (lp-manager, lpinfo, dexscreener, defi-news, birdeye); strict types pending cleanup
2
+ import type {
3
+ BaseQuoteParams,
4
+ DefiHistoryPriceParams,
5
+ DefiMultiPriceParams,
6
+ DefiPriceParams,
7
+ HistoricalPriceUnixParams,
8
+ MultiPriceVolumeParams,
9
+ OHLCVParams,
10
+ PriceVolumeParams,
11
+ } from "./defi";
12
+ import type {
13
+ OHLCVPairParams,
14
+ PairOverviewMultiParams,
15
+ PairOverviewSingleParams,
16
+ PairTradesParams,
17
+ } from "./pair";
18
+ import type { TokenMarketSearchParams } from "./search";
19
+ import type {
20
+ AllMarketsParams,
21
+ MintBurnParams,
22
+ NewListingParams,
23
+ TokenCreationInfoParams,
24
+ TokenHoldersParams,
25
+ TokenListV2Params,
26
+ TokenMarketDataParams,
27
+ TokenMetadataMultiParams,
28
+ TokenMetadataSingleParams,
29
+ TokenOverviewParams,
30
+ TokenSecurityParams,
31
+ TokenTradeDataMultiParams,
32
+ TokenTradeDataSingleParams,
33
+ TokenTradesParams,
34
+ TopTradersParams,
35
+ } from "./token";
36
+ import type {
37
+ GainersLosersParams,
38
+ TraderTransactionsSeekParams,
39
+ } from "./trader";
40
+ import type {
41
+ WalletPortfolioMultichainParams,
42
+ WalletPortfolioParams,
43
+ WalletSimulationParams,
44
+ WalletTokenBalanceParams,
45
+ WalletTransactionHistoryMultichainParams,
46
+ WalletTransactionHistoryParams,
47
+ } from "./wallet";
48
+
49
+ export type BirdeyeApiParams =
50
+ | DefiPriceParams
51
+ | DefiMultiPriceParams
52
+ | DefiHistoryPriceParams
53
+ | HistoricalPriceUnixParams
54
+ | OHLCVParams
55
+ | PriceVolumeParams
56
+ | MultiPriceVolumeParams
57
+ | PairTradesParams
58
+ | OHLCVPairParams
59
+ | PairOverviewMultiParams
60
+ | PairOverviewSingleParams
61
+ | TokenMarketSearchParams
62
+ | TokenTradesParams
63
+ | TokenSecurityParams
64
+ | TokenOverviewParams
65
+ | TokenCreationInfoParams
66
+ | TokenListV2Params
67
+ | TokenMetadataMultiParams
68
+ | TokenTradeDataMultiParams
69
+ | GainersLosersParams
70
+ | TraderTransactionsSeekParams
71
+ | WalletPortfolioParams
72
+ | WalletTokenBalanceParams
73
+ | WalletTransactionHistoryParams
74
+ | BaseQuoteParams
75
+ | TokenHoldersParams
76
+ | MintBurnParams
77
+ | TopTradersParams
78
+ | AllMarketsParams
79
+ | NewListingParams
80
+ | TokenMetadataSingleParams
81
+ | TokenMarketDataParams
82
+ | TokenTradeDataSingleParams
83
+ | WalletPortfolioMultichainParams
84
+ | WalletTransactionHistoryMultichainParams
85
+ | WalletSimulationParams
86
+ | Record<string, never>;
87
+
88
+ export interface BirdeyeApiResponseWrapper<T> {
89
+ data: T;
90
+ success: boolean;
91
+ }
92
+
93
+ export type BirdeyeApiResponse = BirdeyeApiResponseWrapper<unknown>;
94
+
95
+ export type TimeInterval =
96
+ | "1m"
97
+ | "3m"
98
+ | "5m"
99
+ | "15m"
100
+ | "30m"
101
+ | "1H"
102
+ | "2H"
103
+ | "4H"
104
+ | "6H"
105
+ | "8H"
106
+ | "12H"
107
+ | "1D"
108
+ | "3D"
109
+ | "1W"
110
+ | "1M"
111
+ | "30m"
112
+ | "1h"
113
+ | "2h"
114
+ | "4h"
115
+ | "6h"
116
+ | "8h"
117
+ | "12h"
118
+ | "24h";
119
+
120
+ export interface TokenTradeData {
121
+ address: string;
122
+ holder: number;
123
+ market: number;
124
+ last_trade_unix_time: number;
125
+ last_trade_human_time: string;
126
+ price: number;
127
+ history_30m_price: number;
128
+ price_change_30m_percent: number;
129
+ history_1h_price: number;
130
+ price_change_1h_percent: number;
131
+ history_2h_price: number;
132
+ price_change_2h_percent: number;
133
+ history_4h_price: number;
134
+ price_change_4h_percent: number;
135
+ history_6h_price: number;
136
+ price_change_6h_percent: number;
137
+ history_8h_price: number;
138
+ price_change_8h_percent: number;
139
+ history_12h_price: number;
140
+ price_change_12h_percent: number;
141
+ history_24h_price: number;
142
+ price_change_24h_percent: number;
143
+ unique_wallet_30m: number;
144
+ unique_wallet_history_30m: number;
145
+ unique_wallet_30m_change_percent: number | null;
146
+ unique_wallet_1h: number;
147
+ unique_wallet_history_1h: number;
148
+ unique_wallet_1h_change_percent: number | null;
149
+ unique_wallet_2h: number;
150
+ unique_wallet_history_2h: number;
151
+ unique_wallet_2h_change_percent: number | null;
152
+ unique_wallet_4h: number;
153
+ unique_wallet_history_4h: number;
154
+ unique_wallet_4h_change_percent: number | null;
155
+ unique_wallet_8h: number;
156
+ unique_wallet_history_8h: number;
157
+ unique_wallet_8h_change_percent: number | null;
158
+ unique_wallet_24h: number;
159
+ unique_wallet_history_24h: number;
160
+ unique_wallet_24h_change_percent: number | null;
161
+ trade_30m: number;
162
+ trade_history_30m: number;
163
+ trade_30m_change_percent: number;
164
+ sell_30m: number;
165
+ sell_history_30m: number;
166
+ sell_30m_change_percent: number;
167
+ buy_30m: number;
168
+ buy_history_30m: number;
169
+ buy_30m_change_percent: number;
170
+ volume_30m: number;
171
+ volume_30m_usd: number;
172
+ volume_history_30m: number;
173
+ volume_history_30m_usd: number;
174
+ volume_30m_change_percent: number;
175
+ volume_buy_30m: number;
176
+ volume_buy_30m_usd: number;
177
+ volume_buy_history_30m: number;
178
+ volume_buy_history_30m_usd: number;
179
+ volume_buy_30m_change_percent: number;
180
+ volume_sell_30m: number;
181
+ volume_sell_30m_usd: number;
182
+ volume_sell_history_30m: number;
183
+ volume_sell_history_30m_usd: number;
184
+ volume_sell_30m_change_percent: number;
185
+ trade_1h: number;
186
+ trade_history_1h: number;
187
+ trade_1h_change_percent: number;
188
+ sell_1h: number;
189
+ sell_history_1h: number;
190
+ sell_1h_change_percent: number;
191
+ buy_1h: number;
192
+ buy_history_1h: number;
193
+ buy_1h_change_percent: number;
194
+ volume_1h: number;
195
+ volume_1h_usd: number;
196
+ volume_history_1h: number;
197
+ volume_history_1h_usd: number;
198
+ volume_1h_change_percent: number;
199
+ volume_buy_1h: number;
200
+ volume_buy_1h_usd: number;
201
+ volume_buy_history_1h: number;
202
+ volume_buy_history_1h_usd: number;
203
+ volume_buy_1h_change_percent: number;
204
+ volume_sell_1h: number;
205
+ volume_sell_1h_usd: number;
206
+ volume_sell_history_1h: number;
207
+ volume_sell_history_1h_usd: number;
208
+ volume_sell_1h_change_percent: number;
209
+ trade_2h: number;
210
+ trade_history_2h: number;
211
+ trade_2h_change_percent: number;
212
+ sell_2h: number;
213
+ sell_history_2h: number;
214
+ sell_2h_change_percent: number;
215
+ buy_2h: number;
216
+ buy_history_2h: number;
217
+ buy_2h_change_percent: number;
218
+ volume_2h: number;
219
+ volume_2h_usd: number;
220
+ volume_history_2h: number;
221
+ volume_history_2h_usd: number;
222
+ volume_2h_change_percent: number;
223
+ volume_buy_2h: number;
224
+ volume_buy_2h_usd: number;
225
+ volume_buy_history_2h: number;
226
+ volume_buy_history_2h_usd: number;
227
+ volume_buy_2h_change_percent: number;
228
+ volume_sell_2h: number;
229
+ volume_sell_2h_usd: number;
230
+ volume_sell_history_2h: number;
231
+ volume_sell_history_2h_usd: number;
232
+ volume_sell_2h_change_percent: number;
233
+ trade_4h: number;
234
+ trade_history_4h: number;
235
+ trade_4h_change_percent: number;
236
+ sell_4h: number;
237
+ sell_history_4h: number;
238
+ sell_4h_change_percent: number;
239
+ buy_4h: number;
240
+ buy_history_4h: number;
241
+ buy_4h_change_percent: number;
242
+ volume_4h: number;
243
+ volume_4h_usd: number;
244
+ volume_history_4h: number;
245
+ volume_history_4h_usd: number;
246
+ volume_4h_change_percent: number;
247
+ volume_buy_4h: number;
248
+ volume_buy_4h_usd: number;
249
+ volume_buy_history_4h: number;
250
+ volume_buy_history_4h_usd: number;
251
+ volume_buy_4h_change_percent: number;
252
+ volume_sell_4h: number;
253
+ volume_sell_4h_usd: number;
254
+ volume_sell_history_4h: number;
255
+ volume_sell_history_4h_usd: number;
256
+ volume_sell_4h_change_percent: number;
257
+ trade_8h: number;
258
+ trade_history_8h: number;
259
+ trade_8h_change_percent: number;
260
+ sell_8h: number;
261
+ sell_history_8h: number;
262
+ sell_8h_change_percent: number;
263
+ buy_8h: number;
264
+ buy_history_8h: number;
265
+ buy_8h_change_percent: number;
266
+ volume_8h: number;
267
+ volume_8h_usd: number;
268
+ volume_history_8h: number;
269
+ volume_history_8h_usd: number;
270
+ volume_8h_change_percent: number;
271
+ volume_buy_8h: number;
272
+ volume_buy_8h_usd: number;
273
+ volume_buy_history_8h: number;
274
+ volume_buy_history_8h_usd: number;
275
+ volume_buy_8h_change_percent: number;
276
+ volume_sell_8h: number;
277
+ volume_sell_8h_usd: number;
278
+ volume_sell_history_8h: number;
279
+ volume_sell_history_8h_usd: number;
280
+ volume_sell_8h_change_percent: number;
281
+ trade_24h: number;
282
+ trade_history_24h: number;
283
+ trade_24h_change_percent: number;
284
+ sell_24h: number;
285
+ sell_history_24h: number;
286
+ sell_24h_change_percent: number;
287
+ buy_24h: number;
288
+ buy_history_24h: number;
289
+ buy_24h_change_percent: number;
290
+ volume_24h: number;
291
+ volume_24h_usd: number;
292
+ volume_history_24h: number;
293
+ volume_history_24h_usd: number;
294
+ volume_24h_change_percent: number;
295
+ volume_buy_24h: number;
296
+ volume_buy_24h_usd: number;
297
+ volume_buy_history_24h: number;
298
+ volume_buy_history_24h_usd: number;
299
+ volume_buy_24h_change_percent: number;
300
+ volume_sell_24h: number;
301
+ volume_sell_24h_usd: number;
302
+ volume_sell_history_24h: number;
303
+ volume_sell_history_24h_usd: number;
304
+ volume_sell_24h_change_percent: number;
305
+ }