keyring-agent-core 0.2.1 → 0.2.3

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 (417) hide show
  1. package/dist/index.d.ts +6692 -27
  2. package/dist/index.js +877 -70
  3. package/package.json +6 -4
  4. package/dist/agent/AgentCore.d.ts +0 -256
  5. package/dist/agent/AgentCore.d.ts.map +0 -1
  6. package/dist/agent/AgentCore.js +0 -1093
  7. package/dist/agent/AgentCore.js.map +0 -1
  8. package/dist/agent/QueryRewriter.d.ts +0 -84
  9. package/dist/agent/QueryRewriter.d.ts.map +0 -1
  10. package/dist/agent/QueryRewriter.js +0 -306
  11. package/dist/agent/QueryRewriter.js.map +0 -1
  12. package/dist/agent/Router.d.ts +0 -33
  13. package/dist/agent/Router.d.ts.map +0 -1
  14. package/dist/agent/Router.js +0 -229
  15. package/dist/agent/Router.js.map +0 -1
  16. package/dist/agent/Subagent.d.ts +0 -80
  17. package/dist/agent/Subagent.d.ts.map +0 -1
  18. package/dist/agent/Subagent.js +0 -272
  19. package/dist/agent/Subagent.js.map +0 -1
  20. package/dist/agent/Synthesizer.d.ts +0 -11
  21. package/dist/agent/Synthesizer.d.ts.map +0 -1
  22. package/dist/agent/Synthesizer.js +0 -86
  23. package/dist/agent/Synthesizer.js.map +0 -1
  24. package/dist/agent/chatGraph.d.ts +0 -364
  25. package/dist/agent/chatGraph.d.ts.map +0 -1
  26. package/dist/agent/chatGraph.js +0 -184
  27. package/dist/agent/chatGraph.js.map +0 -1
  28. package/dist/agent/index.d.ts +0 -10
  29. package/dist/agent/index.d.ts.map +0 -1
  30. package/dist/agent/index.js +0 -24
  31. package/dist/agent/index.js.map +0 -1
  32. package/dist/agent/subagents/AiAgent.d.ts +0 -6
  33. package/dist/agent/subagents/AiAgent.d.ts.map +0 -1
  34. package/dist/agent/subagents/AiAgent.js +0 -52
  35. package/dist/agent/subagents/AiAgent.js.map +0 -1
  36. package/dist/agent/subagents/NftAgent.d.ts +0 -6
  37. package/dist/agent/subagents/NftAgent.d.ts.map +0 -1
  38. package/dist/agent/subagents/NftAgent.js +0 -79
  39. package/dist/agent/subagents/NftAgent.js.map +0 -1
  40. package/dist/agent/subagents/PoolAgent.d.ts +0 -6
  41. package/dist/agent/subagents/PoolAgent.d.ts.map +0 -1
  42. package/dist/agent/subagents/PoolAgent.js +0 -184
  43. package/dist/agent/subagents/PoolAgent.js.map +0 -1
  44. package/dist/agent/subagents/PoolSubgraphAgent.d.ts +0 -6
  45. package/dist/agent/subagents/PoolSubgraphAgent.d.ts.map +0 -1
  46. package/dist/agent/subagents/PoolSubgraphAgent.js +0 -117
  47. package/dist/agent/subagents/PoolSubgraphAgent.js.map +0 -1
  48. package/dist/agent/subagents/TokenAgent.d.ts +0 -6
  49. package/dist/agent/subagents/TokenAgent.d.ts.map +0 -1
  50. package/dist/agent/subagents/TokenAgent.js +0 -76
  51. package/dist/agent/subagents/TokenAgent.js.map +0 -1
  52. package/dist/agent/subagents/WalletActionAgent.d.ts +0 -6
  53. package/dist/agent/subagents/WalletActionAgent.d.ts.map +0 -1
  54. package/dist/agent/subagents/WalletActionAgent.js +0 -55
  55. package/dist/agent/subagents/WalletActionAgent.js.map +0 -1
  56. package/dist/agent/subagents/WalletAgent.d.ts +0 -6
  57. package/dist/agent/subagents/WalletAgent.d.ts.map +0 -1
  58. package/dist/agent/subagents/WalletAgent.js +0 -93
  59. package/dist/agent/subagents/WalletAgent.js.map +0 -1
  60. package/dist/agent/subagents/index.d.ts +0 -34
  61. package/dist/agent/subagents/index.d.ts.map +0 -1
  62. package/dist/agent/subagents/index.js +0 -69
  63. package/dist/agent/subagents/index.js.map +0 -1
  64. package/dist/constants/abi.d.ts +0 -551
  65. package/dist/constants/abi.d.ts.map +0 -1
  66. package/dist/constants/abi.js +0 -690
  67. package/dist/constants/abi.js.map +0 -1
  68. package/dist/functions/pool.d.ts +0 -25
  69. package/dist/functions/pool.d.ts.map +0 -1
  70. package/dist/functions/pool.js +0 -151
  71. package/dist/functions/pool.js.map +0 -1
  72. package/dist/functions/web3.d.ts +0 -31
  73. package/dist/functions/web3.d.ts.map +0 -1
  74. package/dist/functions/web3.js +0 -232
  75. package/dist/functions/web3.js.map +0 -1
  76. package/dist/index.d.ts.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/llm/GeminiProvider.d.ts +0 -16
  79. package/dist/llm/GeminiProvider.d.ts.map +0 -1
  80. package/dist/llm/GeminiProvider.js +0 -329
  81. package/dist/llm/GeminiProvider.js.map +0 -1
  82. package/dist/llm/index.d.ts +0 -2
  83. package/dist/llm/index.d.ts.map +0 -1
  84. package/dist/llm/index.js +0 -6
  85. package/dist/llm/index.js.map +0 -1
  86. package/dist/memory/ChatHistory.d.ts +0 -83
  87. package/dist/memory/ChatHistory.d.ts.map +0 -1
  88. package/dist/memory/ChatHistory.js +0 -143
  89. package/dist/memory/ChatHistory.js.map +0 -1
  90. package/dist/memory/KnowledgeBase.d.ts +0 -38
  91. package/dist/memory/KnowledgeBase.d.ts.map +0 -1
  92. package/dist/memory/KnowledgeBase.js +0 -139
  93. package/dist/memory/KnowledgeBase.js.map +0 -1
  94. package/dist/memory/Summarizer.d.ts +0 -12
  95. package/dist/memory/Summarizer.d.ts.map +0 -1
  96. package/dist/memory/Summarizer.js +0 -39
  97. package/dist/memory/Summarizer.js.map +0 -1
  98. package/dist/memory/UpstashKnowledgeBase.d.ts +0 -124
  99. package/dist/memory/UpstashKnowledgeBase.d.ts.map +0 -1
  100. package/dist/memory/UpstashKnowledgeBase.js +0 -152
  101. package/dist/memory/UpstashKnowledgeBase.js.map +0 -1
  102. package/dist/memory/historyUtils.d.ts +0 -58
  103. package/dist/memory/historyUtils.d.ts.map +0 -1
  104. package/dist/memory/historyUtils.js +0 -190
  105. package/dist/memory/historyUtils.js.map +0 -1
  106. package/dist/memory/index.d.ts +0 -7
  107. package/dist/memory/index.d.ts.map +0 -1
  108. package/dist/memory/index.js +0 -12
  109. package/dist/memory/index.js.map +0 -1
  110. package/dist/memory/ingestKnowledgeBase.d.ts +0 -17
  111. package/dist/memory/ingestKnowledgeBase.d.ts.map +0 -1
  112. package/dist/memory/ingestKnowledgeBase.js +0 -35
  113. package/dist/memory/ingestKnowledgeBase.js.map +0 -1
  114. package/dist/services/MoralisService.d.ts +0 -1328
  115. package/dist/services/MoralisService.d.ts.map +0 -1
  116. package/dist/services/MoralisService.js +0 -1239
  117. package/dist/services/MoralisService.js.map +0 -1
  118. package/dist/services/PantographService.d.ts +0 -98
  119. package/dist/services/PantographService.d.ts.map +0 -1
  120. package/dist/services/PantographService.js +0 -451
  121. package/dist/services/PantographService.js.map +0 -1
  122. package/dist/services/PoolService.d.ts +0 -238
  123. package/dist/services/PoolService.d.ts.map +0 -1
  124. package/dist/services/PoolService.js +0 -485
  125. package/dist/services/PoolService.js.map +0 -1
  126. package/dist/services/UniswapService.d.ts +0 -289
  127. package/dist/services/UniswapService.d.ts.map +0 -1
  128. package/dist/services/UniswapService.js +0 -585
  129. package/dist/services/UniswapService.js.map +0 -1
  130. package/dist/services/UniswapSubgraphService.d.ts +0 -144
  131. package/dist/services/UniswapSubgraphService.d.ts.map +0 -1
  132. package/dist/services/UniswapSubgraphService.js +0 -606
  133. package/dist/services/UniswapSubgraphService.js.map +0 -1
  134. package/dist/services/rpc.d.ts +0 -35
  135. package/dist/services/rpc.d.ts.map +0 -1
  136. package/dist/services/rpc.js +0 -110
  137. package/dist/services/rpc.js.map +0 -1
  138. package/dist/services/swap/BaseSwapService.d.ts +0 -17
  139. package/dist/services/swap/BaseSwapService.d.ts.map +0 -1
  140. package/dist/services/swap/BaseSwapService.js +0 -19
  141. package/dist/services/swap/BaseSwapService.js.map +0 -1
  142. package/dist/services/swap/DebridgeAdapter.d.ts +0 -37
  143. package/dist/services/swap/DebridgeAdapter.d.ts.map +0 -1
  144. package/dist/services/swap/DebridgeAdapter.js +0 -243
  145. package/dist/services/swap/DebridgeAdapter.js.map +0 -1
  146. package/dist/services/swap/RelayAdapter.d.ts +0 -19
  147. package/dist/services/swap/RelayAdapter.d.ts.map +0 -1
  148. package/dist/services/swap/RelayAdapter.js +0 -189
  149. package/dist/services/swap/RelayAdapter.js.map +0 -1
  150. package/dist/services/swap/SwapServiceFactory.d.ts +0 -25
  151. package/dist/services/swap/SwapServiceFactory.d.ts.map +0 -1
  152. package/dist/services/swap/SwapServiceFactory.js +0 -79
  153. package/dist/services/swap/SwapServiceFactory.js.map +0 -1
  154. package/dist/services/swap/addresses.d.ts +0 -3
  155. package/dist/services/swap/addresses.d.ts.map +0 -1
  156. package/dist/services/swap/addresses.js +0 -68
  157. package/dist/services/swap/addresses.js.map +0 -1
  158. package/dist/services/swap/affiliate.d.ts +0 -17
  159. package/dist/services/swap/affiliate.d.ts.map +0 -1
  160. package/dist/services/swap/affiliate.js +0 -126
  161. package/dist/services/swap/affiliate.js.map +0 -1
  162. package/dist/services/swap/config.d.ts +0 -9
  163. package/dist/services/swap/config.d.ts.map +0 -1
  164. package/dist/services/swap/config.js +0 -19
  165. package/dist/services/swap/config.js.map +0 -1
  166. package/dist/services/swap/index.d.ts +0 -10
  167. package/dist/services/swap/index.d.ts.map +0 -1
  168. package/dist/services/swap/index.js +0 -22
  169. package/dist/services/swap/index.js.map +0 -1
  170. package/dist/services/swap/types.d.ts +0 -89
  171. package/dist/services/swap/types.d.ts.map +0 -1
  172. package/dist/services/swap/types.js +0 -6
  173. package/dist/services/swap/types.js.map +0 -1
  174. package/dist/tools/BaseTool.d.ts +0 -15
  175. package/dist/tools/BaseTool.d.ts.map +0 -1
  176. package/dist/tools/BaseTool.js +0 -35
  177. package/dist/tools/BaseTool.js.map +0 -1
  178. package/dist/tools/ToolRegistry.d.ts +0 -27
  179. package/dist/tools/ToolRegistry.d.ts.map +0 -1
  180. package/dist/tools/ToolRegistry.js +0 -80
  181. package/dist/tools/ToolRegistry.js.map +0 -1
  182. package/dist/tools/builtin/ai/GeminiSearchAiTool.d.ts +0 -36
  183. package/dist/tools/builtin/ai/GeminiSearchAiTool.d.ts.map +0 -1
  184. package/dist/tools/builtin/ai/GeminiSearchAiTool.js +0 -91
  185. package/dist/tools/builtin/ai/GeminiSearchAiTool.js.map +0 -1
  186. package/dist/tools/builtin/ai/index.d.ts +0 -3
  187. package/dist/tools/builtin/ai/index.d.ts.map +0 -1
  188. package/dist/tools/builtin/ai/index.js +0 -6
  189. package/dist/tools/builtin/ai/index.js.map +0 -1
  190. package/dist/tools/builtin/index.d.ts +0 -8
  191. package/dist/tools/builtin/index.d.ts.map +0 -1
  192. package/dist/tools/builtin/index.js +0 -24
  193. package/dist/tools/builtin/index.js.map +0 -1
  194. package/dist/tools/builtin/nft/BaseNftMessageTool.d.ts +0 -35
  195. package/dist/tools/builtin/nft/BaseNftMessageTool.d.ts.map +0 -1
  196. package/dist/tools/builtin/nft/BaseNftMessageTool.js +0 -45
  197. package/dist/tools/builtin/nft/BaseNftMessageTool.js.map +0 -1
  198. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts +0 -15
  199. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts.map +0 -1
  200. package/dist/tools/builtin/nft/NFTContractInfoTool.js +0 -19
  201. package/dist/tools/builtin/nft/NFTContractInfoTool.js.map +0 -1
  202. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts +0 -15
  203. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts.map +0 -1
  204. package/dist/tools/builtin/nft/NFTMetadataTool.js +0 -20
  205. package/dist/tools/builtin/nft/NFTMetadataTool.js.map +0 -1
  206. package/dist/tools/builtin/nft/SendNftTool.d.ts +0 -14
  207. package/dist/tools/builtin/nft/SendNftTool.d.ts.map +0 -1
  208. package/dist/tools/builtin/nft/SendNftTool.js +0 -20
  209. package/dist/tools/builtin/nft/SendNftTool.js.map +0 -1
  210. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts +0 -15
  211. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts.map +0 -1
  212. package/dist/tools/builtin/nft/WalletNFTsTool.js +0 -20
  213. package/dist/tools/builtin/nft/WalletNFTsTool.js.map +0 -1
  214. package/dist/tools/builtin/nft/index.d.ts +0 -7
  215. package/dist/tools/builtin/nft/index.d.ts.map +0 -1
  216. package/dist/tools/builtin/nft/index.js +0 -10
  217. package/dist/tools/builtin/nft/index.js.map +0 -1
  218. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts +0 -124
  219. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts.map +0 -1
  220. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js +0 -236
  221. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js.map +0 -1
  222. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts +0 -128
  223. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts.map +0 -1
  224. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js +0 -520
  225. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js.map +0 -1
  226. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts +0 -127
  227. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts.map +0 -1
  228. package/dist/tools/builtin/pool/PoolByAddressTool.js +0 -238
  229. package/dist/tools/builtin/pool/PoolByAddressTool.js.map +0 -1
  230. package/dist/tools/builtin/pool/PoolDetailTool.d.ts +0 -127
  231. package/dist/tools/builtin/pool/PoolDetailTool.d.ts.map +0 -1
  232. package/dist/tools/builtin/pool/PoolDetailTool.js +0 -273
  233. package/dist/tools/builtin/pool/PoolDetailTool.js.map +0 -1
  234. package/dist/tools/builtin/pool/PoolSearchTool.d.ts +0 -50
  235. package/dist/tools/builtin/pool/PoolSearchTool.d.ts.map +0 -1
  236. package/dist/tools/builtin/pool/PoolSearchTool.js +0 -160
  237. package/dist/tools/builtin/pool/PoolSearchTool.js.map +0 -1
  238. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts +0 -124
  239. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts.map +0 -1
  240. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js +0 -382
  241. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js.map +0 -1
  242. package/dist/tools/builtin/pool/TopPoolsTool.d.ts +0 -68
  243. package/dist/tools/builtin/pool/TopPoolsTool.d.ts.map +0 -1
  244. package/dist/tools/builtin/pool/TopPoolsTool.js +0 -159
  245. package/dist/tools/builtin/pool/TopPoolsTool.js.map +0 -1
  246. package/dist/tools/builtin/pool/index.d.ts +0 -15
  247. package/dist/tools/builtin/pool/index.d.ts.map +0 -1
  248. package/dist/tools/builtin/pool/index.js +0 -18
  249. package/dist/tools/builtin/pool/index.js.map +0 -1
  250. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.d.ts +0 -54
  251. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.d.ts.map +0 -1
  252. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.js +0 -98
  253. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.js.map +0 -1
  254. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.d.ts +0 -63
  255. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.d.ts.map +0 -1
  256. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.js +0 -82
  257. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.js.map +0 -1
  258. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.d.ts +0 -79
  259. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.d.ts.map +0 -1
  260. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.js +0 -97
  261. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.js.map +0 -1
  262. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.d.ts +0 -77
  263. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.d.ts.map +0 -1
  264. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.js +0 -190
  265. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.js.map +0 -1
  266. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.d.ts +0 -107
  267. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.d.ts.map +0 -1
  268. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.js +0 -92
  269. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.js.map +0 -1
  270. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.d.ts +0 -56
  271. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.d.ts.map +0 -1
  272. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.js +0 -94
  273. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.js.map +0 -1
  274. package/dist/tools/builtin/pool-subgraph/index.d.ts +0 -13
  275. package/dist/tools/builtin/pool-subgraph/index.d.ts.map +0 -1
  276. package/dist/tools/builtin/pool-subgraph/index.js +0 -18
  277. package/dist/tools/builtin/pool-subgraph/index.js.map +0 -1
  278. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts +0 -71
  279. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts.map +0 -1
  280. package/dist/tools/builtin/token/TokenAnalyticsTool.js +0 -147
  281. package/dist/tools/builtin/token/TokenAnalyticsTool.js.map +0 -1
  282. package/dist/tools/builtin/token/TokenHoldersTool.d.ts +0 -81
  283. package/dist/tools/builtin/token/TokenHoldersTool.d.ts.map +0 -1
  284. package/dist/tools/builtin/token/TokenHoldersTool.js +0 -139
  285. package/dist/tools/builtin/token/TokenHoldersTool.js.map +0 -1
  286. package/dist/tools/builtin/token/TokenInfoTool.d.ts +0 -40
  287. package/dist/tools/builtin/token/TokenInfoTool.d.ts.map +0 -1
  288. package/dist/tools/builtin/token/TokenInfoTool.js +0 -221
  289. package/dist/tools/builtin/token/TokenInfoTool.js.map +0 -1
  290. package/dist/tools/builtin/token/TokenScoreTool.d.ts +0 -63
  291. package/dist/tools/builtin/token/TokenScoreTool.d.ts.map +0 -1
  292. package/dist/tools/builtin/token/TokenScoreTool.js +0 -148
  293. package/dist/tools/builtin/token/TokenScoreTool.js.map +0 -1
  294. package/dist/tools/builtin/token/TopGainersTool.d.ts +0 -37
  295. package/dist/tools/builtin/token/TopGainersTool.d.ts.map +0 -1
  296. package/dist/tools/builtin/token/TopGainersTool.js +0 -100
  297. package/dist/tools/builtin/token/TopGainersTool.js.map +0 -1
  298. package/dist/tools/builtin/token/TopLosersTool.d.ts +0 -66
  299. package/dist/tools/builtin/token/TopLosersTool.d.ts.map +0 -1
  300. package/dist/tools/builtin/token/TopLosersTool.js +0 -129
  301. package/dist/tools/builtin/token/TopLosersTool.js.map +0 -1
  302. package/dist/tools/builtin/token/TrendingTokensTool.d.ts +0 -39
  303. package/dist/tools/builtin/token/TrendingTokensTool.d.ts.map +0 -1
  304. package/dist/tools/builtin/token/TrendingTokensTool.js +0 -83
  305. package/dist/tools/builtin/token/TrendingTokensTool.js.map +0 -1
  306. package/dist/tools/builtin/token/index.d.ts +0 -13
  307. package/dist/tools/builtin/token/index.d.ts.map +0 -1
  308. package/dist/tools/builtin/token/index.js +0 -16
  309. package/dist/tools/builtin/token/index.js.map +0 -1
  310. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts +0 -70
  311. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts.map +0 -1
  312. package/dist/tools/builtin/wallet/TransactionByHashTool.js +0 -111
  313. package/dist/tools/builtin/wallet/TransactionByHashTool.js.map +0 -1
  314. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts +0 -107
  315. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts.map +0 -1
  316. package/dist/tools/builtin/wallet/WalletApprovalsTool.js +0 -164
  317. package/dist/tools/builtin/wallet/WalletApprovalsTool.js.map +0 -1
  318. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts +0 -61
  319. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts.map +0 -1
  320. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js +0 -100
  321. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js.map +0 -1
  322. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts +0 -68
  323. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts.map +0 -1
  324. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js +0 -115
  325. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js.map +0 -1
  326. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts +0 -50
  327. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts.map +0 -1
  328. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js +0 -80
  329. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js.map +0 -1
  330. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts +0 -31
  331. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts.map +0 -1
  332. package/dist/tools/builtin/wallet/WalletHistoryTool.js +0 -154
  333. package/dist/tools/builtin/wallet/WalletHistoryTool.js.map +0 -1
  334. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts +0 -44
  335. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts.map +0 -1
  336. package/dist/tools/builtin/wallet/WalletNetWorthTool.js +0 -122
  337. package/dist/tools/builtin/wallet/WalletNetWorthTool.js.map +0 -1
  338. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts +0 -86
  339. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts.map +0 -1
  340. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js +0 -265
  341. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js.map +0 -1
  342. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts +0 -43
  343. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts.map +0 -1
  344. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js +0 -89
  345. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js.map +0 -1
  346. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts +0 -43
  347. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts.map +0 -1
  348. package/dist/tools/builtin/wallet/WalletPnlTool.js +0 -175
  349. package/dist/tools/builtin/wallet/WalletPnlTool.js.map +0 -1
  350. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts +0 -35
  351. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts.map +0 -1
  352. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js +0 -68
  353. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js.map +0 -1
  354. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts +0 -109
  355. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts.map +0 -1
  356. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js +0 -354
  357. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js.map +0 -1
  358. package/dist/tools/builtin/wallet/index.d.ts +0 -28
  359. package/dist/tools/builtin/wallet/index.d.ts.map +0 -1
  360. package/dist/tools/builtin/wallet/index.js +0 -32
  361. package/dist/tools/builtin/wallet/index.js.map +0 -1
  362. package/dist/tools/builtin/wallet-action/ApproveTokenTool.d.ts +0 -25
  363. package/dist/tools/builtin/wallet-action/ApproveTokenTool.d.ts.map +0 -1
  364. package/dist/tools/builtin/wallet-action/ApproveTokenTool.js +0 -98
  365. package/dist/tools/builtin/wallet-action/ApproveTokenTool.js.map +0 -1
  366. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.d.ts +0 -211
  367. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.d.ts.map +0 -1
  368. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.js +0 -499
  369. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.js.map +0 -1
  370. package/dist/tools/builtin/wallet-action/BuyTokenTool.d.ts +0 -240
  371. package/dist/tools/builtin/wallet-action/BuyTokenTool.d.ts.map +0 -1
  372. package/dist/tools/builtin/wallet-action/BuyTokenTool.js +0 -1257
  373. package/dist/tools/builtin/wallet-action/BuyTokenTool.js.map +0 -1
  374. package/dist/tools/builtin/wallet-action/SendNativeTool.d.ts +0 -41
  375. package/dist/tools/builtin/wallet-action/SendNativeTool.d.ts.map +0 -1
  376. package/dist/tools/builtin/wallet-action/SendNativeTool.js +0 -127
  377. package/dist/tools/builtin/wallet-action/SendNativeTool.js.map +0 -1
  378. package/dist/tools/builtin/wallet-action/SendTokenTool.d.ts +0 -63
  379. package/dist/tools/builtin/wallet-action/SendTokenTool.d.ts.map +0 -1
  380. package/dist/tools/builtin/wallet-action/SendTokenTool.js +0 -294
  381. package/dist/tools/builtin/wallet-action/SendTokenTool.js.map +0 -1
  382. package/dist/tools/builtin/wallet-action/SwapTokenTool.d.ts +0 -247
  383. package/dist/tools/builtin/wallet-action/SwapTokenTool.d.ts.map +0 -1
  384. package/dist/tools/builtin/wallet-action/SwapTokenTool.js +0 -1258
  385. package/dist/tools/builtin/wallet-action/SwapTokenTool.js.map +0 -1
  386. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.d.ts +0 -20
  387. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.d.ts.map +0 -1
  388. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.js +0 -36
  389. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.js.map +0 -1
  390. package/dist/tools/builtin/wallet-action/WrapNativeTool.d.ts +0 -23
  391. package/dist/tools/builtin/wallet-action/WrapNativeTool.d.ts.map +0 -1
  392. package/dist/tools/builtin/wallet-action/WrapNativeTool.js +0 -54
  393. package/dist/tools/builtin/wallet-action/WrapNativeTool.js.map +0 -1
  394. package/dist/tools/builtin/wallet-action/amountSpec.d.ts +0 -62
  395. package/dist/tools/builtin/wallet-action/amountSpec.d.ts.map +0 -1
  396. package/dist/tools/builtin/wallet-action/amountSpec.js +0 -93
  397. package/dist/tools/builtin/wallet-action/amountSpec.js.map +0 -1
  398. package/dist/tools/builtin/wallet-action/gasReserve.d.ts +0 -42
  399. package/dist/tools/builtin/wallet-action/gasReserve.d.ts.map +0 -1
  400. package/dist/tools/builtin/wallet-action/gasReserve.js +0 -103
  401. package/dist/tools/builtin/wallet-action/gasReserve.js.map +0 -1
  402. package/dist/tools/builtin/wallet-action/index.d.ts +0 -9
  403. package/dist/tools/builtin/wallet-action/index.d.ts.map +0 -1
  404. package/dist/tools/builtin/wallet-action/index.js +0 -20
  405. package/dist/tools/builtin/wallet-action/index.js.map +0 -1
  406. package/dist/tools/chainResolver.d.ts +0 -98
  407. package/dist/tools/chainResolver.d.ts.map +0 -1
  408. package/dist/tools/chainResolver.js +0 -302
  409. package/dist/tools/chainResolver.js.map +0 -1
  410. package/dist/tools/index.d.ts +0 -4
  411. package/dist/tools/index.d.ts.map +0 -1
  412. package/dist/tools/index.js +0 -23
  413. package/dist/tools/index.js.map +0 -1
  414. package/dist/types/index.d.ts +0 -777
  415. package/dist/types/index.d.ts.map +0 -1
  416. package/dist/types/index.js +0 -6
  417. package/dist/types/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"MoralisService.js","sourceRoot":"","sources":["../../src/services/MoralisService.ts"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- /**
2
- * PantographService — Pantograph API client.
3
- *
4
- * Handles token price/logo enrichment, token search, and token metadata
5
- * lookups via the Pantograph wallet API.
6
- */
7
- import type { TokenBalance, TokenMetadata, MoralisApiResponse, TrendingToken } from './MoralisService';
8
- export interface PantographServiceConfig {
9
- /** Pantograph API base URL (default: https://wallet-api.pantograph.app) */
10
- baseUrl?: string;
11
- }
12
- /** Maps hex chain ID → Pantograph chain name */
13
- export declare const HEX_TO_PANTOGRAPH: Record<string, string>;
14
- /**
15
- * Default tokens to always surface in the trending list per chain (keyed by hex
16
- * chain ID). Mirrors the SDK's `tokenTrendingDefault`: these are prepended to
17
- * the top-gainers feed so staple assets (WETH/WBTC/…) appear even when they are
18
- * not currently "gaining". Addresses are lowercased for matching.
19
- */
20
- export declare const TRENDING_DEFAULT_BY_HEX_CHAIN: Record<string, string[]>;
21
- export declare function toPantographChain(hexChain: string): string;
22
- export declare class PantographService {
23
- private baseUrl;
24
- constructor(config?: PantographServiceConfig);
25
- /**
26
- * Enrich token balances with price and logo data from Pantograph.
27
- * Mutates the array in-place. Non-fatal: silently skips on failure.
28
- */
29
- enrichTokenPrices(tokens: TokenBalance[], moralisChain: string): Promise<void>;
30
- /**
31
- * Fetch metadata + price for a single token from Pantograph.
32
- * Returns null if the token is not found or the request fails.
33
- */
34
- getTokenMetadata(address: string, moralisChain: string): Promise<TokenMetadata | null>;
35
- getTokensMetadata(addresses: string[], moralisChain: string): Promise<Record<string, TokenMetadata>>;
36
- /**
37
- * Search for tokens by symbol or name keyword on a specific chain.
38
- * Uses the Pantograph /token-list endpoint.
39
- */
40
- searchTokensByKey(params: {
41
- key: string;
42
- chain?: string;
43
- }): Promise<MoralisApiResponse<TokenMetadata[]>>;
44
- /**
45
- * List trending tokens on a chain via Pantograph's top-gainers endpoint:
46
- * `GET /token-list/top-gainers/{chainName}?duration=24h&limit=N`.
47
- *
48
- * Mirrors the SDK's trending view: the chain's staple tokens
49
- * ({@link TRENDING_DEFAULT_BY_HEX_CHAIN}, e.g. WETH/WBTC) are fetched in
50
- * parallel and prepended to the top-gainers feed, then the merged list is
51
- * de-duplicated by address. This guarantees the default tokens always show
52
- * up even when they are not currently "gaining".
53
- *
54
- * `limit` behaviour:
55
- * - omitted → ALL default tokens + 5 top gainers (no cap).
56
- * - given N → exactly N tokens TOTAL (defaults + gainers, capped to N).
57
- *
58
- * Returns the canonical {@link TrendingToken} shape so it is a drop-in
59
- * replacement for `MoralisService.getTrendingTokens` — consumers reading
60
- * `symbol`, `name`, `usdPrice`, `pricePercentChange['24h']` and
61
- * `tokenAddress` work unchanged.
62
- *
63
- * Pantograph scopes results to a single chain (it has no cross-chain feed),
64
- * so when no `chain` is given we fall back to Base ("0x2105").
65
- */
66
- getTrendingTokens(params?: {
67
- chain?: string;
68
- limit?: number;
69
- }): Promise<MoralisApiResponse<TrendingToken[]>>;
70
- /**
71
- * Fill missing `marketCap` / `totalVolume` on trending tokens via a single
72
- * `/keyrings/tokens/{chain}/v2` batch. Non-fatal: leaves fields null on error.
73
- */
74
- private enrichTrendingMarketData;
75
- /** Fetch and normalize the raw top-gainers feed for a hex chain. */
76
- private fetchTopGainers;
77
- /**
78
- * List the top-gaining tokens on a chain via Pantograph's top-gainers feed:
79
- * `GET /token-list/top-gainers/{chainName}?duration={duration}&limit=N`.
80
- *
81
- * Unlike {@link getTrendingTokens}, this does NOT prepend the chain's staple
82
- * tokens — it returns the raw gainers ranking only, so it answers "biggest
83
- * pumps" questions directly. Results are enriched with market cap / 24h volume
84
- * via a batched metadata call (the gainers feed omits those fields), then
85
- * returned in the canonical {@link TrendingToken} shape.
86
- *
87
- * Pantograph scopes results to a single chain (no cross-chain feed), so when
88
- * no `chain` is given we fall back to Base ("0x2105").
89
- *
90
- * `duration` accepts Pantograph windows: "1h", "24h", "7d", "30d".
91
- */
92
- getTopGainers(params?: {
93
- chain?: string;
94
- limit?: number;
95
- duration?: string;
96
- }): Promise<MoralisApiResponse<TrendingToken[]>>;
97
- }
98
- //# sourceMappingURL=PantographService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PantographService.d.ts","sourceRoot":"","sources":["../../src/services/PantographService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMvG,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAUD,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAmClE,CAAC;AAMF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAwHD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,uBAAuB;IAQ5C;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CpF;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAyBtF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAkC1G;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC;IAyC9G;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC;IAwElH;;;OAGG;YACW,wBAAwB;IAqBtC,oEAAoE;YACtD,eAAe;IAiB7B;;;;;;;;;;;;;;OAcG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC;CAcjD"}
@@ -1,451 +0,0 @@
1
- "use strict";
2
- /**
3
- * PantographService — Pantograph API client.
4
- *
5
- * Handles token price/logo enrichment, token search, and token metadata
6
- * lookups via the Pantograph wallet API.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PantographService = exports.TRENDING_DEFAULT_BY_HEX_CHAIN = exports.HEX_TO_PANTOGRAPH = void 0;
10
- exports.toPantographChain = toPantographChain;
11
- // ---------------------------------------------------------------------------
12
- // Constants
13
- // ---------------------------------------------------------------------------
14
- const DEFAULT_PANTOGRAPH_URL = 'https://wallet-api.pantograph.app';
15
- const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
16
- /** Maps hex chain ID → Pantograph chain name */
17
- exports.HEX_TO_PANTOGRAPH = {
18
- '0x1': 'ether',
19
- '0xa': 'optimism',
20
- '0x38': 'bsc',
21
- '0x89': 'matic',
22
- '0x2105': 'base',
23
- '0xa4b1': 'arbitrum',
24
- '0xa86a': 'avax',
25
- '0xe708': 'linea',
26
- };
27
- /**
28
- * Default tokens to always surface in the trending list per chain (keyed by hex
29
- * chain ID). Mirrors the SDK's `tokenTrendingDefault`: these are prepended to
30
- * the top-gainers feed so staple assets (WETH/WBTC/…) appear even when they are
31
- * not currently "gaining". Addresses are lowercased for matching.
32
- */
33
- exports.TRENDING_DEFAULT_BY_HEX_CHAIN = {
34
- '0x1': [
35
- '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH
36
- '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', // WBTC
37
- ],
38
- '0xa': [
39
- '0x4200000000000000000000000000000000000006', // WETH
40
- '0x68f180fcce6836688e9084f035309e29bf0a2095', // WBTC
41
- '0xc47da4cb96ce65a96844a01bfae509f9d5454534', // JPYT
42
- ],
43
- '0x38': [
44
- '0x2170ed0880ac9a755fd29b2688956bd959f933f8', // WETH
45
- '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c', // WBTC
46
- ],
47
- '0x89': [
48
- '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619', // WETH
49
- '0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6', // WBTC
50
- ],
51
- '0x2105': [
52
- '0x4200000000000000000000000000000000000006', // WETH
53
- '0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf', // WBTC
54
- '0xc47da4cb96ce65a96844a01bfae509f9d5454534', // JPYT
55
- ],
56
- '0xa4b1': [
57
- '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', // WETH
58
- '0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f', // WBTC
59
- ],
60
- '0xa86a': [
61
- '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', // WETH
62
- '0x0555e30da8f98308edb960aa94c0db47230d2b9c', // WBTC
63
- ],
64
- '0xe708': [
65
- '0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f', // WETH
66
- '0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4', // WBTC
67
- ],
68
- };
69
- // ---------------------------------------------------------------------------
70
- // Helpers
71
- // ---------------------------------------------------------------------------
72
- function toPantographChain(hexChain) {
73
- return exports.HEX_TO_PANTOGRAPH[hexChain.toLowerCase()] || hexChain;
74
- }
75
- function buildQueryString(params) {
76
- const parts = [];
77
- for (const [key, value] of Object.entries(params)) {
78
- if (value == null)
79
- continue;
80
- if (Array.isArray(value)) {
81
- for (const v of value) {
82
- parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`);
83
- }
84
- }
85
- else {
86
- parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
87
- }
88
- }
89
- return parts.join('&');
90
- }
91
- /**
92
- * Normalize a raw Pantograph token object to {@link TokenMetadata}.
93
- *
94
- * The Pantograph APIs (`/token-list`, `/keyrings/tokens/.../v2`) return the
95
- * contract under `address` (NOT `token_address`) and `decimals` as a STRING
96
- * ("18") on some tokens. Downstream code matches on `token_address` and expects
97
- * a numeric `decimals`, so every consumer must run results through this. See
98
- * memory: pantograph-token-list-field-mapping.
99
- */
100
- function normalizePantographToken(raw) {
101
- const item = raw;
102
- const decRaw = item.decimals;
103
- const decimals = typeof decRaw === 'number' ? decRaw : typeof decRaw === 'string' ? parseInt(decRaw, 10) : NaN;
104
- // Pantograph exposes the USD price as `price`; surface it as `usd_price` too
105
- // so consumers reading the canonical field (TokenMetadata.usd_price) work the
106
- // same whether the data came from Pantograph or the Moralis proxy fallback.
107
- const priceRaw = item.price;
108
- const price = priceRaw != null ? parseFloat(String(priceRaw)) : NaN;
109
- return {
110
- ...item,
111
- token_address: item.token_address ?? item.address ?? '',
112
- decimals: Number.isFinite(decimals) ? decimals : 0,
113
- ...(Number.isFinite(price) ? { usd_price: price } : {}),
114
- };
115
- }
116
- /** Parse a possibly-string numeric field; returns null when not finite. */
117
- function toNumberOrNull(value) {
118
- if (value == null)
119
- return null;
120
- const n = typeof value === 'number' ? value : parseFloat(String(value));
121
- return Number.isFinite(n) ? n : null;
122
- }
123
- /**
124
- * Map a raw Pantograph token (top-gainer row OR `/keyrings/tokens/v2` metadata)
125
- * to the canonical {@link TrendingToken} shape consumed by the trending tools.
126
- */
127
- function toTrendingToken(item, hexChain) {
128
- const decRaw = item.decimals;
129
- const decimals = typeof decRaw === 'number' ? decRaw : typeof decRaw === 'string' ? parseInt(decRaw, 10) : null;
130
- const change24h = toNumberOrNull(item.price_change_percentage_24h) ??
131
- toNumberOrNull(item.priceChange24h) ??
132
- toNumberOrNull(item.usd_price_24hr_percent_change) ??
133
- toNumberOrNull(item.price_change_24h) ??
134
- toNumberOrNull(item.priceChange);
135
- return {
136
- chainId: hexChain,
137
- tokenAddress: item.address ?? item.token_address ?? '',
138
- name: item.name ?? null,
139
- symbol: item.symbol ?? null,
140
- decimals: decimals != null && Number.isFinite(decimals) ? decimals : null,
141
- logo: item.logoURI ?? item.icon_image ?? item.logo ?? null,
142
- usdPrice: toNumberOrNull(item.price) ?? toNumberOrNull(item.usd_price),
143
- marketCap: toNumberOrNull(item.market_cap) ?? toNumberOrNull(item.marketCap),
144
- totalVolume: { '24h': toNumberOrNull(item.total_volume) ?? toNumberOrNull(item.volume24h) },
145
- pricePercentChange: { '24h': change24h },
146
- };
147
- }
148
- // ---------------------------------------------------------------------------
149
- // Service class
150
- // ---------------------------------------------------------------------------
151
- class PantographService {
152
- baseUrl;
153
- constructor(config) {
154
- this.baseUrl = (config?.baseUrl ?? DEFAULT_PANTOGRAPH_URL).replace(/\/+$/, '');
155
- }
156
- // =========================================================================
157
- // Token price/logo enrichment
158
- // =========================================================================
159
- /**
160
- * Enrich token balances with price and logo data from Pantograph.
161
- * Mutates the array in-place. Non-fatal: silently skips on failure.
162
- */
163
- async enrichTokenPrices(tokens, moralisChain) {
164
- if (tokens.length === 0)
165
- return;
166
- try {
167
- const pantographChain = toPantographChain(moralisChain);
168
- const addresses = tokens.map((t) => t.token_address).join(',');
169
- const url = `${this.baseUrl}/keyrings/tokens/${pantographChain}/v2?addresses=${encodeURIComponent(addresses)}`;
170
- const res = await fetch(url);
171
- if (!res.ok)
172
- return;
173
- const json = (await res.json());
174
- const list = Array.isArray(json) ? json : Array.isArray(json.data) ? json.data : [];
175
- const priceMap = new Map();
176
- for (const item of list) {
177
- if (item.address) {
178
- priceMap.set(item.address.toLowerCase(), {
179
- price: item.price != null ? parseFloat(String(item.price)) : NaN,
180
- icon_image: item.icon_image,
181
- });
182
- }
183
- }
184
- for (let i = 0; i < tokens.length; i++) {
185
- const info = priceMap.get(tokens[i].token_address.toLowerCase());
186
- if (!info)
187
- continue;
188
- if (info.icon_image) {
189
- tokens[i].logo = info.icon_image;
190
- tokens[i].thumbnail = info.icon_image;
191
- }
192
- if (!isNaN(info.price)) {
193
- tokens[i].usd_price = info.price;
194
- tokens[i].usd_value = parseFloat(tokens[i].balance_formatted || '0') * info.price;
195
- }
196
- }
197
- }
198
- catch {
199
- // Non-fatal: keep existing prices if Pantograph fails
200
- }
201
- }
202
- // =========================================================================
203
- // Token metadata (single token)
204
- // =========================================================================
205
- /**
206
- * Fetch metadata + price for a single token from Pantograph.
207
- * Returns null if the token is not found or the request fails.
208
- */
209
- async getTokenMetadata(address, moralisChain) {
210
- try {
211
- const pantographChain = toPantographChain(moralisChain);
212
- const url = `${this.baseUrl}/keyrings/tokens/${pantographChain}/v2?addresses=${encodeURIComponent(address)}`;
213
- const res = await fetch(url);
214
- if (!res.ok)
215
- return null;
216
- const pData = (await res.json());
217
- const list = Array.isArray(pData) ? pData : Array.isArray(pData.data) ? pData.data : [];
218
- const isNative = address.toLowerCase() === ZERO_ADDRESS;
219
- const item = list.find((t) => t.address?.toLowerCase() === address.toLowerCase() ||
220
- (isNative && t.address === '') ||
221
- t.token_address?.toLowerCase() === address.toLowerCase() ||
222
- (isNative && t.token_address === ''));
223
- if (!item)
224
- return null;
225
- return normalizePantographToken(item);
226
- }
227
- catch {
228
- return null;
229
- }
230
- }
231
- async getTokensMetadata(addresses, moralisChain) {
232
- const result = {};
233
- if (addresses.length === 0)
234
- return result;
235
- try {
236
- const pantographChain = toPantographChain(moralisChain);
237
- const url = `${this.baseUrl}/keyrings/tokens/${pantographChain}/v2?addresses=${encodeURIComponent(addresses.join(','))}`;
238
- const res = await fetch(url);
239
- if (!res.ok)
240
- return result;
241
- const pData = (await res.json());
242
- const list = Array.isArray(pData) ? pData : Array.isArray(pData.data) ? pData.data : [];
243
- const addressSet = new Set(addresses.map((a) => a.toLowerCase()));
244
- for (const item of list) {
245
- const itemAddress = item.address?.toLowerCase() || item.token_address?.toLowerCase() || (item.address === '' ? '' : null);
246
- if (itemAddress && addressSet.has(itemAddress)) {
247
- result[itemAddress] = normalizePantographToken(item);
248
- }
249
- }
250
- }
251
- catch {
252
- // Return what we have on error
253
- }
254
- return result;
255
- }
256
- // =========================================================================
257
- // Token search
258
- // =========================================================================
259
- /**
260
- * Search for tokens by symbol or name keyword on a specific chain.
261
- * Uses the Pantograph /token-list endpoint.
262
- */
263
- async searchTokensByKey(params) {
264
- const { key, chain } = params;
265
- if (!key)
266
- return { success: false, error: 'Search key is required' };
267
- const moralisChain = chain || '0x2105';
268
- const chainId = parseInt(moralisChain, 16);
269
- if (isNaN(chainId)) {
270
- return { success: false, error: `Invalid hex chain: ${chain}` };
271
- }
272
- try {
273
- const qs = buildQueryString({ chainId, key });
274
- const url = `${this.baseUrl}/token-list?${qs}`;
275
- const res = await fetch(url);
276
- if (!res.ok)
277
- throw new Error(`HTTP ${res.status}`);
278
- const json = (await res.json());
279
- // The endpoint returns an object keyed by token address; flatten all
280
- // values. (Some shapes nest the map under `data`.)
281
- let raw = [];
282
- if (json?.data) {
283
- raw = Array.isArray(json.data) ? json.data : Object.values(json.data).flat();
284
- }
285
- else if (typeof json === 'object' && !Array.isArray(json)) {
286
- raw = Object.values(json).flat();
287
- }
288
- // Normalize to the shape downstream expects (`token_address` + numeric
289
- // `decimals`) so symbol resolution works. See normalizePantographToken.
290
- const list = raw.map(normalizePantographToken);
291
- return { success: true, data: list };
292
- }
293
- catch (error) {
294
- const msg = error instanceof Error ? error.message : 'Unknown error';
295
- return { success: false, error: msg };
296
- }
297
- }
298
- // =========================================================================
299
- // Trending Tokens (top gainers)
300
- // =========================================================================
301
- /**
302
- * List trending tokens on a chain via Pantograph's top-gainers endpoint:
303
- * `GET /token-list/top-gainers/{chainName}?duration=24h&limit=N`.
304
- *
305
- * Mirrors the SDK's trending view: the chain's staple tokens
306
- * ({@link TRENDING_DEFAULT_BY_HEX_CHAIN}, e.g. WETH/WBTC) are fetched in
307
- * parallel and prepended to the top-gainers feed, then the merged list is
308
- * de-duplicated by address. This guarantees the default tokens always show
309
- * up even when they are not currently "gaining".
310
- *
311
- * `limit` behaviour:
312
- * - omitted → ALL default tokens + 5 top gainers (no cap).
313
- * - given N → exactly N tokens TOTAL (defaults + gainers, capped to N).
314
- *
315
- * Returns the canonical {@link TrendingToken} shape so it is a drop-in
316
- * replacement for `MoralisService.getTrendingTokens` — consumers reading
317
- * `symbol`, `name`, `usdPrice`, `pricePercentChange['24h']` and
318
- * `tokenAddress` work unchanged.
319
- *
320
- * Pantograph scopes results to a single chain (it has no cross-chain feed),
321
- * so when no `chain` is given we fall back to Base ("0x2105").
322
- */
323
- async getTrendingTokens(params) {
324
- const hexChain = params?.chain || '0x2105';
325
- // A caller-supplied limit is the TOTAL token count (defaults + gainers). When
326
- // omitted, we keep all defaults and add exactly DEFAULT_GAINERS_COUNT gainers.
327
- const DEFAULT_GAINERS_COUNT = 5;
328
- const totalLimit = params?.limit && params.limit > 0 ? Math.floor(params.limit) : undefined;
329
- try {
330
- const defaultAddresses = exports.TRENDING_DEFAULT_BY_HEX_CHAIN[hexChain.toLowerCase()] ?? [];
331
- // How many gainers to request: enough to fill `totalLimit` after defaults
332
- // are prepended (overlaps are dropped by dedupe), or the fixed default count.
333
- const gainersToFetch = totalLimit != null ? totalLimit + defaultAddresses.length : DEFAULT_GAINERS_COUNT + defaultAddresses.length;
334
- // Fetch top-gainers and the chain's default tokens in parallel. Either may
335
- // fail independently — we keep whatever resolves.
336
- const [gainersResult, defaultsResult] = await Promise.allSettled([
337
- this.fetchTopGainers(hexChain, gainersToFetch),
338
- defaultAddresses.length > 0
339
- ? this.getTokensMetadata(defaultAddresses, hexChain)
340
- : Promise.resolve({}),
341
- ]);
342
- const gainers = gainersResult.status === 'fulfilled' ? gainersResult.value : [];
343
- // Preserve the configured default order (getTokensMetadata returns a map).
344
- const defaults = defaultsResult.status === 'fulfilled'
345
- ? defaultAddresses
346
- .map((addr) => defaultsResult.value[addr.toLowerCase()])
347
- .filter((m) => m != null)
348
- .map((m) => toTrendingToken(m, hexChain))
349
- : [];
350
- // Defaults first, then gainers; de-duplicate by lowercased address. When a
351
- // limit is given, cap the TOTAL to it; otherwise keep all defaults plus the
352
- // first DEFAULT_GAINERS_COUNT distinct gainers.
353
- const seen = new Set();
354
- const dedupedDefaults = [];
355
- for (const token of defaults) {
356
- const key = token.tokenAddress?.toLowerCase();
357
- if (!key || seen.has(key))
358
- continue;
359
- seen.add(key);
360
- dedupedDefaults.push(token);
361
- }
362
- const dedupedGainers = [];
363
- for (const token of gainers) {
364
- const key = token.tokenAddress?.toLowerCase();
365
- if (!key || seen.has(key))
366
- continue;
367
- seen.add(key);
368
- dedupedGainers.push(token);
369
- }
370
- const data = totalLimit != null
371
- ? [...dedupedDefaults, ...dedupedGainers].slice(0, totalLimit)
372
- : [...dedupedDefaults, ...dedupedGainers.slice(0, DEFAULT_GAINERS_COUNT)];
373
- // The top-gainers feed omits market cap and 24h volume, so enrich any
374
- // token still missing them in one batched metadata call (defaults already
375
- // carry these from their own metadata fetch above).
376
- await this.enrichTrendingMarketData(data, hexChain);
377
- return { success: true, data };
378
- }
379
- catch (error) {
380
- const msg = error instanceof Error ? error.message : 'Unknown error';
381
- return { success: false, error: msg };
382
- }
383
- }
384
- /**
385
- * Fill missing `marketCap` / `totalVolume` on trending tokens via a single
386
- * `/keyrings/tokens/{chain}/v2` batch. Non-fatal: leaves fields null on error.
387
- */
388
- async enrichTrendingMarketData(tokens, hexChain) {
389
- const missing = tokens.filter((t) => t.tokenAddress && (t.marketCap == null || t.totalVolume?.['24h'] == null));
390
- if (missing.length === 0)
391
- return;
392
- const meta = await this.getTokensMetadata(missing.map((t) => t.tokenAddress), hexChain);
393
- for (const token of missing) {
394
- const m = meta[token.tokenAddress.toLowerCase()];
395
- if (!m)
396
- continue;
397
- if (token.marketCap == null) {
398
- token.marketCap = toNumberOrNull(m.market_cap) ?? toNumberOrNull(m.marketCap);
399
- }
400
- if (token.totalVolume?.['24h'] == null) {
401
- token.totalVolume = { '24h': toNumberOrNull(m.total_volume) ?? toNumberOrNull(m.volume24h) };
402
- }
403
- }
404
- }
405
- /** Fetch and normalize the raw top-gainers feed for a hex chain. */
406
- async fetchTopGainers(hexChain, limit, duration = '24h') {
407
- const pantographChain = toPantographChain(hexChain);
408
- const qs = buildQueryString({ duration, limit });
409
- const url = `${this.baseUrl}/token-list/top-gainers/${pantographChain}${qs ? `?${qs}` : ''}`;
410
- const res = await fetch(url);
411
- if (!res.ok)
412
- throw new Error(`HTTP ${res.status}`);
413
- const json = (await res.json());
414
- const list = Array.isArray(json) ? json : Array.isArray(json.data) ? json.data : [];
415
- return list.map((item) => toTrendingToken(item, hexChain));
416
- }
417
- // =========================================================================
418
- // Top Gainers (standalone ranking)
419
- // =========================================================================
420
- /**
421
- * List the top-gaining tokens on a chain via Pantograph's top-gainers feed:
422
- * `GET /token-list/top-gainers/{chainName}?duration={duration}&limit=N`.
423
- *
424
- * Unlike {@link getTrendingTokens}, this does NOT prepend the chain's staple
425
- * tokens — it returns the raw gainers ranking only, so it answers "biggest
426
- * pumps" questions directly. Results are enriched with market cap / 24h volume
427
- * via a batched metadata call (the gainers feed omits those fields), then
428
- * returned in the canonical {@link TrendingToken} shape.
429
- *
430
- * Pantograph scopes results to a single chain (no cross-chain feed), so when
431
- * no `chain` is given we fall back to Base ("0x2105").
432
- *
433
- * `duration` accepts Pantograph windows: "1h", "24h", "7d", "30d".
434
- */
435
- async getTopGainers(params) {
436
- const hexChain = params?.chain || '0x2105';
437
- const limit = params?.limit && params.limit > 0 ? Math.floor(params.limit) : undefined;
438
- const duration = params?.duration || '24h';
439
- try {
440
- const data = await this.fetchTopGainers(hexChain, limit, duration);
441
- await this.enrichTrendingMarketData(data, hexChain);
442
- return { success: true, data };
443
- }
444
- catch (error) {
445
- const msg = error instanceof Error ? error.message : 'Unknown error';
446
- return { success: false, error: msg };
447
- }
448
- }
449
- }
450
- exports.PantographService = PantographService;
451
- //# sourceMappingURL=PantographService.js.map