keyring-agent-core 0.1.0

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 (318) hide show
  1. package/README.md +169 -0
  2. package/dist/agent/AgentCore.d.ts +220 -0
  3. package/dist/agent/AgentCore.d.ts.map +1 -0
  4. package/dist/agent/AgentCore.js +950 -0
  5. package/dist/agent/AgentCore.js.map +1 -0
  6. package/dist/agent/QueryRewriter.d.ts +67 -0
  7. package/dist/agent/QueryRewriter.d.ts.map +1 -0
  8. package/dist/agent/QueryRewriter.js +262 -0
  9. package/dist/agent/QueryRewriter.js.map +1 -0
  10. package/dist/agent/Router.d.ts +33 -0
  11. package/dist/agent/Router.d.ts.map +1 -0
  12. package/dist/agent/Router.js +191 -0
  13. package/dist/agent/Router.js.map +1 -0
  14. package/dist/agent/Subagent.d.ts +63 -0
  15. package/dist/agent/Subagent.d.ts.map +1 -0
  16. package/dist/agent/Subagent.js +240 -0
  17. package/dist/agent/Subagent.js.map +1 -0
  18. package/dist/agent/Synthesizer.d.ts +11 -0
  19. package/dist/agent/Synthesizer.d.ts.map +1 -0
  20. package/dist/agent/Synthesizer.js +86 -0
  21. package/dist/agent/Synthesizer.js.map +1 -0
  22. package/dist/agent/index.d.ts +10 -0
  23. package/dist/agent/index.d.ts.map +1 -0
  24. package/dist/agent/index.js +24 -0
  25. package/dist/agent/index.js.map +1 -0
  26. package/dist/agent/subagents/AiAgent.d.ts +6 -0
  27. package/dist/agent/subagents/AiAgent.d.ts.map +1 -0
  28. package/dist/agent/subagents/AiAgent.js +48 -0
  29. package/dist/agent/subagents/AiAgent.js.map +1 -0
  30. package/dist/agent/subagents/NftAgent.d.ts +6 -0
  31. package/dist/agent/subagents/NftAgent.d.ts.map +1 -0
  32. package/dist/agent/subagents/NftAgent.js +69 -0
  33. package/dist/agent/subagents/NftAgent.js.map +1 -0
  34. package/dist/agent/subagents/PoolAgent.d.ts +6 -0
  35. package/dist/agent/subagents/PoolAgent.d.ts.map +1 -0
  36. package/dist/agent/subagents/PoolAgent.js +184 -0
  37. package/dist/agent/subagents/PoolAgent.js.map +1 -0
  38. package/dist/agent/subagents/TokenAgent.d.ts +6 -0
  39. package/dist/agent/subagents/TokenAgent.d.ts.map +1 -0
  40. package/dist/agent/subagents/TokenAgent.js +75 -0
  41. package/dist/agent/subagents/TokenAgent.js.map +1 -0
  42. package/dist/agent/subagents/WalletAgent.d.ts +6 -0
  43. package/dist/agent/subagents/WalletAgent.d.ts.map +1 -0
  44. package/dist/agent/subagents/WalletAgent.js +92 -0
  45. package/dist/agent/subagents/WalletAgent.js.map +1 -0
  46. package/dist/agent/subagents/index.d.ts +14 -0
  47. package/dist/agent/subagents/index.d.ts.map +1 -0
  48. package/dist/agent/subagents/index.js +38 -0
  49. package/dist/agent/subagents/index.js.map +1 -0
  50. package/dist/constants/abi.d.ts +520 -0
  51. package/dist/constants/abi.d.ts.map +1 -0
  52. package/dist/constants/abi.js +667 -0
  53. package/dist/constants/abi.js.map +1 -0
  54. package/dist/functions/pool.d.ts +25 -0
  55. package/dist/functions/pool.d.ts.map +1 -0
  56. package/dist/functions/pool.js +151 -0
  57. package/dist/functions/pool.js.map +1 -0
  58. package/dist/functions/web3.d.ts +32 -0
  59. package/dist/functions/web3.d.ts.map +1 -0
  60. package/dist/functions/web3.js +277 -0
  61. package/dist/functions/web3.js.map +1 -0
  62. package/dist/index.d.ts +24 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +65 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/llm/GeminiProvider.d.ts +16 -0
  67. package/dist/llm/GeminiProvider.d.ts.map +1 -0
  68. package/dist/llm/GeminiProvider.js +248 -0
  69. package/dist/llm/GeminiProvider.js.map +1 -0
  70. package/dist/llm/index.d.ts +2 -0
  71. package/dist/llm/index.d.ts.map +1 -0
  72. package/dist/llm/index.js +6 -0
  73. package/dist/llm/index.js.map +1 -0
  74. package/dist/memory/ChatHistory.d.ts +83 -0
  75. package/dist/memory/ChatHistory.d.ts.map +1 -0
  76. package/dist/memory/ChatHistory.js +143 -0
  77. package/dist/memory/ChatHistory.js.map +1 -0
  78. package/dist/memory/KnowledgeBase.d.ts +38 -0
  79. package/dist/memory/KnowledgeBase.d.ts.map +1 -0
  80. package/dist/memory/KnowledgeBase.js +139 -0
  81. package/dist/memory/KnowledgeBase.js.map +1 -0
  82. package/dist/memory/Summarizer.d.ts +12 -0
  83. package/dist/memory/Summarizer.d.ts.map +1 -0
  84. package/dist/memory/Summarizer.js +39 -0
  85. package/dist/memory/Summarizer.js.map +1 -0
  86. package/dist/memory/UpstashKnowledgeBase.d.ts +124 -0
  87. package/dist/memory/UpstashKnowledgeBase.d.ts.map +1 -0
  88. package/dist/memory/UpstashKnowledgeBase.js +152 -0
  89. package/dist/memory/UpstashKnowledgeBase.js.map +1 -0
  90. package/dist/memory/historyUtils.d.ts +58 -0
  91. package/dist/memory/historyUtils.d.ts.map +1 -0
  92. package/dist/memory/historyUtils.js +190 -0
  93. package/dist/memory/historyUtils.js.map +1 -0
  94. package/dist/memory/index.d.ts +7 -0
  95. package/dist/memory/index.d.ts.map +1 -0
  96. package/dist/memory/index.js +12 -0
  97. package/dist/memory/index.js.map +1 -0
  98. package/dist/memory/ingestKnowledgeBase.d.ts +17 -0
  99. package/dist/memory/ingestKnowledgeBase.d.ts.map +1 -0
  100. package/dist/memory/ingestKnowledgeBase.js +35 -0
  101. package/dist/memory/ingestKnowledgeBase.js.map +1 -0
  102. package/dist/services/MoralisService.d.ts +1350 -0
  103. package/dist/services/MoralisService.d.ts.map +1 -0
  104. package/dist/services/MoralisService.js +1364 -0
  105. package/dist/services/MoralisService.js.map +1 -0
  106. package/dist/services/PantographService.d.ts +38 -0
  107. package/dist/services/PantographService.d.ts.map +1 -0
  108. package/dist/services/PantographService.js +199 -0
  109. package/dist/services/PantographService.js.map +1 -0
  110. package/dist/services/PoolService.d.ts +241 -0
  111. package/dist/services/PoolService.d.ts.map +1 -0
  112. package/dist/services/PoolService.js +507 -0
  113. package/dist/services/PoolService.js.map +1 -0
  114. package/dist/services/UniswapService.d.ts +289 -0
  115. package/dist/services/UniswapService.d.ts.map +1 -0
  116. package/dist/services/UniswapService.js +585 -0
  117. package/dist/services/UniswapService.js.map +1 -0
  118. package/dist/services/swap/BaseSwapService.d.ts +17 -0
  119. package/dist/services/swap/BaseSwapService.d.ts.map +1 -0
  120. package/dist/services/swap/BaseSwapService.js +19 -0
  121. package/dist/services/swap/BaseSwapService.js.map +1 -0
  122. package/dist/services/swap/DebridgeAdapter.d.ts +20 -0
  123. package/dist/services/swap/DebridgeAdapter.d.ts.map +1 -0
  124. package/dist/services/swap/DebridgeAdapter.js +175 -0
  125. package/dist/services/swap/DebridgeAdapter.js.map +1 -0
  126. package/dist/services/swap/RelayAdapter.d.ts +19 -0
  127. package/dist/services/swap/RelayAdapter.d.ts.map +1 -0
  128. package/dist/services/swap/RelayAdapter.js +189 -0
  129. package/dist/services/swap/RelayAdapter.js.map +1 -0
  130. package/dist/services/swap/SwapServiceFactory.d.ts +24 -0
  131. package/dist/services/swap/SwapServiceFactory.d.ts.map +1 -0
  132. package/dist/services/swap/SwapServiceFactory.js +74 -0
  133. package/dist/services/swap/SwapServiceFactory.js.map +1 -0
  134. package/dist/services/swap/addresses.d.ts +3 -0
  135. package/dist/services/swap/addresses.d.ts.map +1 -0
  136. package/dist/services/swap/addresses.js +68 -0
  137. package/dist/services/swap/addresses.js.map +1 -0
  138. package/dist/services/swap/affiliate.d.ts +17 -0
  139. package/dist/services/swap/affiliate.d.ts.map +1 -0
  140. package/dist/services/swap/affiliate.js +126 -0
  141. package/dist/services/swap/affiliate.js.map +1 -0
  142. package/dist/services/swap/config.d.ts +9 -0
  143. package/dist/services/swap/config.d.ts.map +1 -0
  144. package/dist/services/swap/config.js +19 -0
  145. package/dist/services/swap/config.js.map +1 -0
  146. package/dist/services/swap/index.d.ts +10 -0
  147. package/dist/services/swap/index.d.ts.map +1 -0
  148. package/dist/services/swap/index.js +22 -0
  149. package/dist/services/swap/index.js.map +1 -0
  150. package/dist/services/swap/types.d.ts +89 -0
  151. package/dist/services/swap/types.d.ts.map +1 -0
  152. package/dist/services/swap/types.js +6 -0
  153. package/dist/services/swap/types.js.map +1 -0
  154. package/dist/tools/BaseTool.d.ts +15 -0
  155. package/dist/tools/BaseTool.d.ts.map +1 -0
  156. package/dist/tools/BaseTool.js +35 -0
  157. package/dist/tools/BaseTool.js.map +1 -0
  158. package/dist/tools/ToolRegistry.d.ts +27 -0
  159. package/dist/tools/ToolRegistry.d.ts.map +1 -0
  160. package/dist/tools/ToolRegistry.js +80 -0
  161. package/dist/tools/ToolRegistry.js.map +1 -0
  162. package/dist/tools/builtin/ai/MoralisCortexTool.d.ts +33 -0
  163. package/dist/tools/builtin/ai/MoralisCortexTool.d.ts.map +1 -0
  164. package/dist/tools/builtin/ai/MoralisCortexTool.js +76 -0
  165. package/dist/tools/builtin/ai/MoralisCortexTool.js.map +1 -0
  166. package/dist/tools/builtin/ai/SolanaCortexTool.d.ts +22 -0
  167. package/dist/tools/builtin/ai/SolanaCortexTool.d.ts.map +1 -0
  168. package/dist/tools/builtin/ai/SolanaCortexTool.js +80 -0
  169. package/dist/tools/builtin/ai/SolanaCortexTool.js.map +1 -0
  170. package/dist/tools/builtin/ai/index.d.ts +5 -0
  171. package/dist/tools/builtin/ai/index.d.ts.map +1 -0
  172. package/dist/tools/builtin/ai/index.js +8 -0
  173. package/dist/tools/builtin/ai/index.js.map +1 -0
  174. package/dist/tools/builtin/index.d.ts +6 -0
  175. package/dist/tools/builtin/index.d.ts.map +1 -0
  176. package/dist/tools/builtin/index.js +22 -0
  177. package/dist/tools/builtin/index.js.map +1 -0
  178. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts +21 -0
  179. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts.map +1 -0
  180. package/dist/tools/builtin/nft/NFTContractInfoTool.js +54 -0
  181. package/dist/tools/builtin/nft/NFTContractInfoTool.js.map +1 -0
  182. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts +121 -0
  183. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts.map +1 -0
  184. package/dist/tools/builtin/nft/NFTMetadataTool.js +159 -0
  185. package/dist/tools/builtin/nft/NFTMetadataTool.js.map +1 -0
  186. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts +82 -0
  187. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts.map +1 -0
  188. package/dist/tools/builtin/nft/WalletNFTsTool.js +172 -0
  189. package/dist/tools/builtin/nft/WalletNFTsTool.js.map +1 -0
  190. package/dist/tools/builtin/nft/index.d.ts +7 -0
  191. package/dist/tools/builtin/nft/index.d.ts.map +1 -0
  192. package/dist/tools/builtin/nft/index.js +10 -0
  193. package/dist/tools/builtin/nft/index.js.map +1 -0
  194. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts +124 -0
  195. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts.map +1 -0
  196. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js +235 -0
  197. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js.map +1 -0
  198. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts +127 -0
  199. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts.map +1 -0
  200. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js +517 -0
  201. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js.map +1 -0
  202. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts +127 -0
  203. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts.map +1 -0
  204. package/dist/tools/builtin/pool/PoolByAddressTool.js +237 -0
  205. package/dist/tools/builtin/pool/PoolByAddressTool.js.map +1 -0
  206. package/dist/tools/builtin/pool/PoolDetailTool.d.ts +127 -0
  207. package/dist/tools/builtin/pool/PoolDetailTool.d.ts.map +1 -0
  208. package/dist/tools/builtin/pool/PoolDetailTool.js +272 -0
  209. package/dist/tools/builtin/pool/PoolDetailTool.js.map +1 -0
  210. package/dist/tools/builtin/pool/PoolSearchTool.d.ts +50 -0
  211. package/dist/tools/builtin/pool/PoolSearchTool.d.ts.map +1 -0
  212. package/dist/tools/builtin/pool/PoolSearchTool.js +159 -0
  213. package/dist/tools/builtin/pool/PoolSearchTool.js.map +1 -0
  214. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts +123 -0
  215. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts.map +1 -0
  216. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js +380 -0
  217. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js.map +1 -0
  218. package/dist/tools/builtin/pool/TopPoolsTool.d.ts +68 -0
  219. package/dist/tools/builtin/pool/TopPoolsTool.d.ts.map +1 -0
  220. package/dist/tools/builtin/pool/TopPoolsTool.js +158 -0
  221. package/dist/tools/builtin/pool/TopPoolsTool.js.map +1 -0
  222. package/dist/tools/builtin/pool/index.d.ts +15 -0
  223. package/dist/tools/builtin/pool/index.d.ts.map +1 -0
  224. package/dist/tools/builtin/pool/index.js +18 -0
  225. package/dist/tools/builtin/pool/index.js.map +1 -0
  226. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts +71 -0
  227. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts.map +1 -0
  228. package/dist/tools/builtin/token/TokenAnalyticsTool.js +146 -0
  229. package/dist/tools/builtin/token/TokenAnalyticsTool.js.map +1 -0
  230. package/dist/tools/builtin/token/TokenHoldersTool.d.ts +81 -0
  231. package/dist/tools/builtin/token/TokenHoldersTool.d.ts.map +1 -0
  232. package/dist/tools/builtin/token/TokenHoldersTool.js +138 -0
  233. package/dist/tools/builtin/token/TokenHoldersTool.js.map +1 -0
  234. package/dist/tools/builtin/token/TokenInfoTool.d.ts +36 -0
  235. package/dist/tools/builtin/token/TokenInfoTool.d.ts.map +1 -0
  236. package/dist/tools/builtin/token/TokenInfoTool.js +163 -0
  237. package/dist/tools/builtin/token/TokenInfoTool.js.map +1 -0
  238. package/dist/tools/builtin/token/TokenScoreTool.d.ts +63 -0
  239. package/dist/tools/builtin/token/TokenScoreTool.d.ts.map +1 -0
  240. package/dist/tools/builtin/token/TokenScoreTool.js +147 -0
  241. package/dist/tools/builtin/token/TokenScoreTool.js.map +1 -0
  242. package/dist/tools/builtin/token/TopGainersTool.d.ts +46 -0
  243. package/dist/tools/builtin/token/TopGainersTool.d.ts.map +1 -0
  244. package/dist/tools/builtin/token/TopGainersTool.js +110 -0
  245. package/dist/tools/builtin/token/TopGainersTool.js.map +1 -0
  246. package/dist/tools/builtin/token/TopLosersTool.d.ts +66 -0
  247. package/dist/tools/builtin/token/TopLosersTool.d.ts.map +1 -0
  248. package/dist/tools/builtin/token/TopLosersTool.js +128 -0
  249. package/dist/tools/builtin/token/TopLosersTool.js.map +1 -0
  250. package/dist/tools/builtin/token/TrendingTokensTool.d.ts +39 -0
  251. package/dist/tools/builtin/token/TrendingTokensTool.d.ts.map +1 -0
  252. package/dist/tools/builtin/token/TrendingTokensTool.js +75 -0
  253. package/dist/tools/builtin/token/TrendingTokensTool.js.map +1 -0
  254. package/dist/tools/builtin/token/index.d.ts +15 -0
  255. package/dist/tools/builtin/token/index.d.ts.map +1 -0
  256. package/dist/tools/builtin/token/index.js +18 -0
  257. package/dist/tools/builtin/token/index.js.map +1 -0
  258. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts +70 -0
  259. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts.map +1 -0
  260. package/dist/tools/builtin/wallet/TransactionByHashTool.js +110 -0
  261. package/dist/tools/builtin/wallet/TransactionByHashTool.js.map +1 -0
  262. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts +107 -0
  263. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts.map +1 -0
  264. package/dist/tools/builtin/wallet/WalletApprovalsTool.js +163 -0
  265. package/dist/tools/builtin/wallet/WalletApprovalsTool.js.map +1 -0
  266. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts +61 -0
  267. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts.map +1 -0
  268. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js +99 -0
  269. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js.map +1 -0
  270. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts +68 -0
  271. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts.map +1 -0
  272. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js +114 -0
  273. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js.map +1 -0
  274. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts +50 -0
  275. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts.map +1 -0
  276. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js +79 -0
  277. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js.map +1 -0
  278. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts +31 -0
  279. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts.map +1 -0
  280. package/dist/tools/builtin/wallet/WalletHistoryTool.js +153 -0
  281. package/dist/tools/builtin/wallet/WalletHistoryTool.js.map +1 -0
  282. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts +44 -0
  283. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts.map +1 -0
  284. package/dist/tools/builtin/wallet/WalletNetWorthTool.js +122 -0
  285. package/dist/tools/builtin/wallet/WalletNetWorthTool.js.map +1 -0
  286. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts +86 -0
  287. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts.map +1 -0
  288. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js +264 -0
  289. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js.map +1 -0
  290. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts +43 -0
  291. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts.map +1 -0
  292. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js +88 -0
  293. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js.map +1 -0
  294. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts +43 -0
  295. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts.map +1 -0
  296. package/dist/tools/builtin/wallet/WalletPnlTool.js +174 -0
  297. package/dist/tools/builtin/wallet/WalletPnlTool.js.map +1 -0
  298. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts +35 -0
  299. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts.map +1 -0
  300. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js +67 -0
  301. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js.map +1 -0
  302. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts +109 -0
  303. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts.map +1 -0
  304. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js +353 -0
  305. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js.map +1 -0
  306. package/dist/tools/builtin/wallet/index.d.ts +25 -0
  307. package/dist/tools/builtin/wallet/index.d.ts.map +1 -0
  308. package/dist/tools/builtin/wallet/index.js +28 -0
  309. package/dist/tools/builtin/wallet/index.js.map +1 -0
  310. package/dist/tools/index.d.ts +4 -0
  311. package/dist/tools/index.d.ts.map +1 -0
  312. package/dist/tools/index.js +23 -0
  313. package/dist/tools/index.js.map +1 -0
  314. package/dist/types/index.d.ts +566 -0
  315. package/dist/types/index.d.ts.map +1 -0
  316. package/dist/types/index.js +6 -0
  317. package/dist/types/index.js.map +1 -0
  318. package/package.json +52 -0
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletApprovalsTool = void 0;
4
+ const BaseTool_1 = require("../../BaseTool");
5
+ const MoralisService_1 = require("../../../services/MoralisService");
6
+ /**
7
+ * Anything above 2^255 (≈ 5.79e76) is effectively unlimited for practical
8
+ * purposes. Strict-max (2^256-1) is the canonical `type(uint256).max`
9
+ * allowance, but some contracts round down when decrementing — so we treat
10
+ * "half of max" as the unlimited threshold.
11
+ */
12
+ const UNLIMITED_ALLOWANCE_THRESHOLD = BigInt(2) ** BigInt(255);
13
+ /**
14
+ * Tool: get-wallet-approvals
15
+ *
16
+ * Queries `GET /wallets/{address}/approvals` — every active ERC-20 token
17
+ * approval the wallet currently has outstanding. This is the primary
18
+ * security-surface tool: surfacing unlimited approvals, high USD-at-risk
19
+ * approvals, and approvals to spam / unverified contracts.
20
+ *
21
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/approvals
22
+ */
23
+ class WalletApprovalsTool extends BaseTool_1.BaseTool {
24
+ name = 'get-wallet-approvals';
25
+ description = "List every active ERC-20 token approval granted by a wallet — i.e. which contracts can still spend the wallet's tokens. " +
26
+ 'For each approval, returns: the token (address, name, symbol, logo, current balance, USD price, ' +
27
+ 'USD at risk, possible_spam, verified_contract), the spender (address, label, entity — e.g. ' +
28
+ '"Uniswap V3 Router", "Permit2"), the approved amount (value / value_formatted / isUnlimited flag), ' +
29
+ 'and when the approval was granted (block number, timestamp, transaction hash). ' +
30
+ 'Also returns aggregates: total approvals, unlimited-approval count, total USD at risk, ' +
31
+ 'and approvals flagged as risky (spam tokens, unverified contracts, or unlimited allowance to unlabeled spenders). ' +
32
+ 'Use for questions like: "What approvals do I have?", "Show my token approvals", ' +
33
+ '"Am I exposed to any risky approvals?", "Which contracts can drain my wallet?", ' +
34
+ '"Do I have any unlimited approvals?", "Revoke approvals / token allowances". ' +
35
+ 'Supports: Ethereum, Optimism, BSC, Polygon, Base, Arbitrum, Avalanche, Linea (EVM mainnets only). ' +
36
+ 'Paginated — pass cursor to fetch the next page.';
37
+ category = 'blockchain-data';
38
+ parameters = [
39
+ {
40
+ name: 'address',
41
+ type: 'string',
42
+ description: 'EVM wallet address (0x…). If omitted, uses the connected wallet from user context.',
43
+ required: false,
44
+ },
45
+ {
46
+ name: 'chain',
47
+ type: 'string',
48
+ description: 'Hex chain ID: "0x1" Ethereum, "0xa" Optimism, "0x38" BSC, "0x89" Polygon, "0x2105" Base, ' +
49
+ '"0xa4b1" Arbitrum, "0xa86a" Avalanche, "0xe708" Linea. Defaults to connected chain.',
50
+ required: true,
51
+ },
52
+ {
53
+ name: 'limit',
54
+ type: 'number',
55
+ description: 'Page size (1-100, default 100).',
56
+ required: false,
57
+ default: 100,
58
+ },
59
+ {
60
+ name: 'cursor',
61
+ type: 'string',
62
+ description: 'Pagination cursor from a previous response.',
63
+ required: false,
64
+ },
65
+ ];
66
+ service;
67
+ constructor(config) {
68
+ super();
69
+ this.service = new MoralisService_1.MoralisService(config);
70
+ }
71
+ async run(args, userContext) {
72
+ const address = args.address || userContext?.walletAddress || undefined;
73
+ const chain = args.chain || userContext?.chain || undefined;
74
+ if (!address) {
75
+ return { error: 'No wallet address available. Please connect a wallet or pass "address".' };
76
+ }
77
+ const rawLimit = typeof args.limit === 'number' ? args.limit : Number(args.limit);
78
+ const limit = Number.isFinite(rawLimit) && rawLimit > 0 ? Math.min(100, Math.floor(rawLimit)) : 100;
79
+ const cursor = typeof args.cursor === 'string' && args.cursor ? args.cursor : undefined;
80
+ const result = await this.service.getWalletApprovals({ address, chain, limit, cursor });
81
+ if (!result.success) {
82
+ return { error: result.error || 'Failed to fetch wallet approvals' };
83
+ }
84
+ const data = result.data;
85
+ const rows = data.result || [];
86
+ const enriched = rows.map((a) => enrich(a));
87
+ let totalUsdAtRisk = 0;
88
+ let unlimitedCount = 0;
89
+ const risky = [];
90
+ for (const a of enriched) {
91
+ if (a.isUnlimited)
92
+ unlimitedCount += 1;
93
+ const atRisk = parseFloat(a.token.usdAtRisk ?? '');
94
+ if (Number.isFinite(atRisk))
95
+ totalUsdAtRisk += atRisk;
96
+ const tokenRisky = a.token.possibleSpam || a.token.verifiedContract === false;
97
+ const spenderRisky = !a.spender.label && !a.spender.entity;
98
+ if (tokenRisky || (a.isUnlimited && spenderRisky))
99
+ risky.push(a);
100
+ }
101
+ return {
102
+ walletAddress: address,
103
+ chain: chain || 'default',
104
+ filters: { limit, cursor: cursor ?? null },
105
+ pagination: {
106
+ cursor: data.cursor ?? null,
107
+ pageSize: data.page_size ?? limit,
108
+ page: data.page ?? null,
109
+ hasMore: !!data.cursor,
110
+ },
111
+ summary: {
112
+ totalApprovals: enriched.length,
113
+ unlimitedApprovals: unlimitedCount,
114
+ totalUsdAtRisk,
115
+ riskyApprovalCount: risky.length,
116
+ },
117
+ approvals: enriched,
118
+ riskyApprovals: risky,
119
+ };
120
+ }
121
+ }
122
+ exports.WalletApprovalsTool = WalletApprovalsTool;
123
+ function enrich(a) {
124
+ const isUnlimited = isUnlimitedValue(a.value);
125
+ return {
126
+ blockNumber: a.block_number,
127
+ blockTimestamp: a.block_timestamp ?? null,
128
+ transactionHash: a.transaction_hash ?? null,
129
+ value: a.value,
130
+ valueFormatted: a.value_formatted ?? null,
131
+ isUnlimited,
132
+ token: {
133
+ address: a.token.address,
134
+ addressLabel: a.token.address_label ?? null,
135
+ name: a.token.name ?? null,
136
+ symbol: a.token.symbol ?? null,
137
+ logo: a.token.logo ?? null,
138
+ possibleSpam: !!a.token.possible_spam,
139
+ verifiedContract: a.token.verified_contract ?? null,
140
+ currentBalance: a.token.current_balance ?? null,
141
+ currentBalanceFormatted: a.token.current_balance_formatted ?? null,
142
+ usdPrice: a.token.usd_price ?? null,
143
+ usdAtRisk: a.token.usd_at_risk ?? null,
144
+ },
145
+ spender: {
146
+ address: a.spender.address,
147
+ label: a.spender.address_label ?? null,
148
+ entity: a.spender.entity ?? null,
149
+ entityLogo: a.spender.entity_logo ?? null,
150
+ },
151
+ };
152
+ }
153
+ function isUnlimitedValue(raw) {
154
+ if (!raw)
155
+ return false;
156
+ try {
157
+ return BigInt(raw) >= UNLIMITED_ALLOWANCE_THRESHOLD;
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ }
163
+ //# sourceMappingURL=WalletApprovalsTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletApprovalsTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletApprovalsTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { BaseTool } from '../../BaseTool';
2
+ import type { ToolParameter, UserContext } from '../../../types';
3
+ import { type MoralisServiceConfig } from '../../../services/MoralisService';
4
+ export type WalletDefiPositionsToolConfig = MoralisServiceConfig;
5
+ /**
6
+ * Tool: get-wallet-defi-positions
7
+ *
8
+ * Queries `GET /wallets/{address}/defi/positions` — every DeFi position a
9
+ * wallet holds across all supported protocols, each enriched with tokens,
10
+ * balances, unclaimed rewards, and position-specific details.
11
+ *
12
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/wallet-positions
13
+ */
14
+ export declare class WalletDefiPositionsTool extends BaseTool {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ parameters: ToolParameter[];
19
+ private service;
20
+ constructor(config?: WalletDefiPositionsToolConfig);
21
+ protected run(args: Record<string, unknown>, userContext?: UserContext): Promise<{
22
+ error: string;
23
+ walletAddress?: undefined;
24
+ chain?: undefined;
25
+ positionCount?: undefined;
26
+ positions?: undefined;
27
+ } | {
28
+ walletAddress: string;
29
+ chain: string;
30
+ positionCount: number;
31
+ positions: {
32
+ protocolName: string;
33
+ protocolId: string;
34
+ protocolUrl: string;
35
+ protocolLogo: string;
36
+ accountHealthFactor: number | null;
37
+ position: {
38
+ label: string;
39
+ address: string | undefined;
40
+ balanceUsd: number;
41
+ totalUnclaimedUsdValue: number;
42
+ tokens: {
43
+ tokenType: string;
44
+ name: string;
45
+ symbol: string;
46
+ contractAddress: string;
47
+ decimals: number;
48
+ logo: string | undefined;
49
+ thumbnail: string | undefined;
50
+ balance: string;
51
+ balanceFormatted: string;
52
+ usdPrice: number | undefined;
53
+ usdValue: number | undefined;
54
+ }[];
55
+ details: import("../../../services/MoralisService").DefiPositionDetails | null;
56
+ };
57
+ }[];
58
+ error?: undefined;
59
+ }>;
60
+ }
61
+ //# sourceMappingURL=WalletDefiPositionsTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDefiPositionsTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletDefiPositionsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,QAAQ;IACnD,IAAI,SAA+B;IACnC,WAAW,SASuE;IAClF,QAAQ,SAAqB;IAC7B,UAAU,EAAE,aAAa,EAAE,CAezB;IAEF,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,CAAC,EAAE,6BAA6B;cAKlC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB7E"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletDefiPositionsTool = void 0;
4
+ const BaseTool_1 = require("../../BaseTool");
5
+ const MoralisService_1 = require("../../../services/MoralisService");
6
+ /**
7
+ * Tool: get-wallet-defi-positions
8
+ *
9
+ * Queries `GET /wallets/{address}/defi/positions` — every DeFi position a
10
+ * wallet holds across all supported protocols, each enriched with tokens,
11
+ * balances, unclaimed rewards, and position-specific details.
12
+ *
13
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/wallet-positions
14
+ */
15
+ class WalletDefiPositionsTool extends BaseTool_1.BaseTool {
16
+ name = 'get-wallet-defi-positions';
17
+ description = 'Get every DeFi position a wallet holds across all supported protocols, with full detail: ' +
18
+ 'protocol identity, position label (e.g. "Liquidity Provision", "Supply", "Borrow", "Staking"), ' +
19
+ 'tokens involved (with balances and USD values), balance_usd, total_unclaimed_usd_value, and ' +
20
+ 'position_details (fee tier, liquidity, APY, price range, health factor, etc.). ' +
21
+ 'Use for questions like: "Show my DeFi positions", "What LP positions do I have?", ' +
22
+ '"What am I staking?", "Do I have any borrows?", "List all my DeFi holdings with details". ' +
23
+ 'Supports: Ethereum, Optimism, BSC, Polygon, Base, Arbitrum, Avalanche, Linea. ' +
24
+ 'Do NOT use for: aggregate totals → get-wallet-defi-summary; ' +
25
+ 'positions filtered to a single protocol → get-wallet-defi-protocol-positions.';
26
+ category = 'blockchain-data';
27
+ parameters = [
28
+ {
29
+ name: 'address',
30
+ type: 'string',
31
+ description: 'EVM wallet address (0x…). If omitted, uses the connected wallet from user context.',
32
+ required: false,
33
+ },
34
+ {
35
+ name: 'chain',
36
+ type: 'string',
37
+ description: 'Hex chain ID: "0x1" Ethereum, "0xa" Optimism, "0x38" BSC, "0x89" Polygon, "0x2105" Base, ' +
38
+ '"0xa4b1" Arbitrum, "0xa86a" Avalanche, "0xe708" Linea. Defaults to connected chain.',
39
+ required: true,
40
+ },
41
+ ];
42
+ service;
43
+ constructor(config) {
44
+ super();
45
+ this.service = new MoralisService_1.MoralisService(config);
46
+ }
47
+ async run(args, userContext) {
48
+ const address = args.address || userContext?.walletAddress || undefined;
49
+ const chain = args.chain || userContext?.chain || undefined;
50
+ if (!address) {
51
+ return { error: 'No wallet address available. Please connect a wallet or pass "address".' };
52
+ }
53
+ const result = await this.service.getWalletDefiPositions({ address, chain });
54
+ if (!result.success) {
55
+ return { error: result.error || 'Failed to fetch wallet DeFi positions' };
56
+ }
57
+ const rows = result.data || [];
58
+ return {
59
+ walletAddress: address,
60
+ chain: chain || 'default',
61
+ positionCount: rows.length,
62
+ positions: rows.map((row) => mapRow(row)),
63
+ };
64
+ }
65
+ }
66
+ exports.WalletDefiPositionsTool = WalletDefiPositionsTool;
67
+ function mapRow(row) {
68
+ return {
69
+ protocolName: row.protocol_name,
70
+ protocolId: row.protocol_id,
71
+ protocolUrl: row.protocol_url,
72
+ protocolLogo: row.protocol_logo,
73
+ accountHealthFactor: row.account_data?.health_factor ?? null,
74
+ position: mapPosition(row.position),
75
+ };
76
+ }
77
+ function mapPosition(position) {
78
+ return {
79
+ label: position.label,
80
+ address: position.address,
81
+ balanceUsd: position.balance_usd,
82
+ totalUnclaimedUsdValue: position.total_unclaimed_usd_value,
83
+ tokens: (position.tokens || []).map((t) => ({
84
+ tokenType: t.token_type,
85
+ name: t.name,
86
+ symbol: t.symbol,
87
+ contractAddress: t.contract_address,
88
+ decimals: t.decimals,
89
+ logo: t.logo,
90
+ thumbnail: t.thumbnail,
91
+ balance: t.balance,
92
+ balanceFormatted: t.balance_formatted,
93
+ usdPrice: t.usd_price,
94
+ usdValue: t.usd_value,
95
+ })),
96
+ details: position.position_details ?? null,
97
+ };
98
+ }
99
+ //# sourceMappingURL=WalletDefiPositionsTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDefiPositionsTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletDefiPositionsTool.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAE1C,qEAK0C;AAI1C;;;;;;;;GAQG;AACH,MAAa,uBAAwB,SAAQ,mBAAQ;IACnD,IAAI,GAAG,2BAA2B,CAAC;IACnC,WAAW,GACT,2FAA2F;QAC3F,iGAAiG;QACjG,8FAA8F;QAC9F,iFAAiF;QACjF,oFAAoF;QACpF,4FAA4F;QAC5F,gFAAgF;QAChF,8DAA8D;QAC9D,+EAA+E,CAAC;IAClF,QAAQ,GAAG,iBAAiB,CAAC;IAC7B,UAAU,GAAoB;QAC5B;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oFAAoF;YACjG,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2FAA2F;gBAC3F,qFAAqF;YACvF,QAAQ,EAAE,IAAI;SACf;KACF,CAAC;IAEM,OAAO,CAAiB;IAEhC,YAAY,MAAsC;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,WAAyB;QAC1E,MAAM,OAAO,GAAI,IAAI,CAAC,OAAkB,IAAI,WAAW,EAAE,aAAa,IAAI,SAAS,CAAC;QACpF,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAI,WAAW,EAAE,KAAK,IAAI,SAAS,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,yEAAyE,EAAE,CAAC;QAC9F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,uCAAuC,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAE/B,OAAO;YACL,aAAa,EAAE,OAAO;YACtB,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAA8B,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACrE,CAAC;IACJ,CAAC;CACF;AA5DD,0DA4DC;AAED,SAAS,MAAM,CAAC,GAA8B;IAC5C,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,mBAAmB,EAAE,GAAG,CAAC,YAAY,EAAE,aAAa,IAAI,IAAI;QAC5D,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAAsB;IACzC,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,sBAAsB,EAAE,QAAQ,CAAC,yBAAyB;QAC1D,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,eAAe,EAAE,CAAC,CAAC,gBAAgB;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;YACrC,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,QAAQ,EAAE,CAAC,CAAC,SAAS;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,CAAC,gBAAgB,IAAI,IAAI;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { BaseTool } from '../../BaseTool';
2
+ import type { ToolParameter, UserContext } from '../../../types';
3
+ import { type MoralisServiceConfig } from '../../../services/MoralisService';
4
+ export type WalletDefiProtocolPositionsToolConfig = MoralisServiceConfig;
5
+ /**
6
+ * Tool: get-wallet-defi-protocol-positions
7
+ *
8
+ * Queries `GET /wallets/{address}/defi/{protocol}/positions` — all positions
9
+ * a wallet holds inside a single, named DeFi protocol, with totals and full
10
+ * per-position details.
11
+ *
12
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/detailed-positions
13
+ */
14
+ export declare class WalletDefiProtocolPositionsTool extends BaseTool {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ parameters: ToolParameter[];
19
+ private service;
20
+ constructor(config?: WalletDefiProtocolPositionsToolConfig);
21
+ protected run(args: Record<string, unknown>, userContext?: UserContext): Promise<{
22
+ error: string;
23
+ walletAddress?: undefined;
24
+ chain?: undefined;
25
+ protocolName?: undefined;
26
+ protocolId?: undefined;
27
+ protocolUrl?: undefined;
28
+ protocolLogo?: undefined;
29
+ totalUsdValue?: undefined;
30
+ totalUnclaimedUsdValue?: undefined;
31
+ accountHealthFactor?: undefined;
32
+ positionCount?: undefined;
33
+ positions?: undefined;
34
+ } | {
35
+ walletAddress: string;
36
+ chain: string;
37
+ protocolName: string;
38
+ protocolId: string;
39
+ protocolUrl: string;
40
+ protocolLogo: string;
41
+ totalUsdValue: number;
42
+ totalUnclaimedUsdValue: number | null;
43
+ accountHealthFactor: number | null;
44
+ positionCount: number;
45
+ positions: {
46
+ label: string;
47
+ address: string | undefined;
48
+ balanceUsd: number;
49
+ totalUnclaimedUsdValue: number;
50
+ tokens: {
51
+ tokenType: string;
52
+ name: string;
53
+ symbol: string;
54
+ contractAddress: string;
55
+ decimals: number;
56
+ logo: string | undefined;
57
+ thumbnail: string | undefined;
58
+ balance: string;
59
+ balanceFormatted: string;
60
+ usdPrice: number | undefined;
61
+ usdValue: number | undefined;
62
+ }[];
63
+ details: import("../../../services/MoralisService").DefiPositionDetails | null;
64
+ }[];
65
+ error?: undefined;
66
+ }>;
67
+ }
68
+ //# sourceMappingURL=WalletDefiProtocolPositionsTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDefiProtocolPositionsTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletDefiProtocolPositionsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAqC,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEhH,MAAM,MAAM,qCAAqC,GAAG,oBAAoB,CAAC;AAEzE;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,SAAQ,QAAQ;IAC3D,IAAI,SAAwC;IAC5C,WAAW,SASiG;IAC5G,QAAQ,SAAqB;IAC7B,UAAU,EAAE,aAAa,EAAE,CAuBzB;IAEF,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,CAAC,EAAE,qCAAqC;cAK1C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC7E"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletDefiProtocolPositionsTool = void 0;
4
+ const BaseTool_1 = require("../../BaseTool");
5
+ const MoralisService_1 = require("../../../services/MoralisService");
6
+ /**
7
+ * Tool: get-wallet-defi-protocol-positions
8
+ *
9
+ * Queries `GET /wallets/{address}/defi/{protocol}/positions` — all positions
10
+ * a wallet holds inside a single, named DeFi protocol, with totals and full
11
+ * per-position details.
12
+ *
13
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/detailed-positions
14
+ */
15
+ class WalletDefiProtocolPositionsTool extends BaseTool_1.BaseTool {
16
+ name = 'get-wallet-defi-protocol-positions';
17
+ description = 'Get every position a wallet holds inside a specific DeFi protocol, with full detail. ' +
18
+ 'Returns the protocol identity, totals (total_usd_value, total_unclaimed_usd_value), ' +
19
+ 'and an array of positions (label, tokens, balance_usd, unclaimed, fee tier, APY, health factor, etc.). ' +
20
+ 'Use when the user names a specific protocol, e.g. "my Uniswap v3 positions", "what do I have on Aave v3", ' +
21
+ '"show my Lido staking", "my Curve pools", "Pendle positions". ' +
22
+ 'The "protocol" argument is the Moralis protocol id (kebab-case), e.g. uniswap-v2, uniswap-v3, ' +
23
+ 'pancakeswap-v2, pancakeswap-v3, quickswap-v2, quickswap-v3, sushiswap-v2, aave-v2, aave-v3, aave-lido, fraxswap-v1, fraxswap-v2, lido, makerdao, eigenlayer, pendle, etherfi, rocketpool, sparkfi, takara-lend, neverland, kintsu. ' +
24
+ 'Supports: Ethereum, Optimism, BSC, Polygon, Base, Arbitrum, Avalanche, Linea (EVM mainnets only). ' +
25
+ 'Do NOT use for: cross-protocol view → get-wallet-defi-positions; totals only → get-wallet-defi-summary.';
26
+ category = 'blockchain-data';
27
+ parameters = [
28
+ {
29
+ name: 'address',
30
+ type: 'string',
31
+ description: 'EVM wallet address (0x…). If omitted, uses the connected wallet from user context.',
32
+ required: false,
33
+ },
34
+ {
35
+ name: 'protocol',
36
+ type: 'string',
37
+ description: 'Moralis protocol identifier in kebab-case. Examples: "uniswap-v2", "uniswap-v3", "pancakeswap-v2", "pancakeswap-v3", "quickswap-v2", "quickswap-v3", "sushiswap-v2", "aave-v2", "aave-v3", "aave-lido", "fraxswap-v1", "fraxswap-v2", "lido", "makerdao", "eigenlayer", "pendle", "etherfi", "rocketpool", "sparkfi", "takara-lend", "neverland", "kintsu"' +
38
+ 'Use get-wallet-defi-summary to discover which protocols a wallet uses.',
39
+ required: true,
40
+ },
41
+ {
42
+ name: 'chain',
43
+ type: 'string',
44
+ description: 'Hex chain ID: "0x1" Ethereum, "0xa" Optimism, "0x38" BSC, "0x89" Polygon, "0x2105" Base, ' +
45
+ '"0xa4b1" Arbitrum, "0xa86a" Avalanche, "0xe708" Linea. Defaults to connected chain.',
46
+ required: true,
47
+ },
48
+ ];
49
+ service;
50
+ constructor(config) {
51
+ super();
52
+ this.service = new MoralisService_1.MoralisService(config);
53
+ }
54
+ async run(args, userContext) {
55
+ const address = args.address || userContext?.walletAddress || undefined;
56
+ const protocol = args.protocol?.trim();
57
+ const chain = args.chain || userContext?.chain || undefined;
58
+ if (!address) {
59
+ return { error: 'No wallet address available. Please connect a wallet or pass "address".' };
60
+ }
61
+ if (!protocol) {
62
+ return { error: 'Protocol identifier is required (e.g. "uniswap-v3", "aave-v3").' };
63
+ }
64
+ const result = await this.service.getWalletDefiProtocolPositions({
65
+ address,
66
+ protocol,
67
+ chain,
68
+ });
69
+ if (!result.success) {
70
+ return { error: result.error || 'Failed to fetch wallet DeFi protocol positions' };
71
+ }
72
+ const data = result.data;
73
+ if (!data) {
74
+ return { error: 'No data returned for this protocol' };
75
+ }
76
+ return {
77
+ walletAddress: address,
78
+ chain: chain || 'default',
79
+ protocolName: data.protocol_name,
80
+ protocolId: data.protocol_id,
81
+ protocolUrl: data.protocol_url,
82
+ protocolLogo: data.protocol_logo,
83
+ totalUsdValue: data.total_usd_value,
84
+ totalUnclaimedUsdValue: data.total_unclaimed_usd_value,
85
+ accountHealthFactor: data.account_data?.health_factor ?? null,
86
+ positionCount: (data.positions || []).length,
87
+ positions: (data.positions || []).map(mapPosition),
88
+ };
89
+ }
90
+ }
91
+ exports.WalletDefiProtocolPositionsTool = WalletDefiProtocolPositionsTool;
92
+ function mapPosition(position) {
93
+ return {
94
+ label: position.label,
95
+ address: position.address,
96
+ balanceUsd: position.balance_usd,
97
+ totalUnclaimedUsdValue: position.total_unclaimed_usd_value,
98
+ tokens: (position.tokens || []).map((t) => ({
99
+ tokenType: t.token_type,
100
+ name: t.name,
101
+ symbol: t.symbol,
102
+ contractAddress: t.contract_address,
103
+ decimals: t.decimals,
104
+ logo: t.logo,
105
+ thumbnail: t.thumbnail,
106
+ balance: t.balance,
107
+ balanceFormatted: t.balance_formatted,
108
+ usdPrice: t.usd_price,
109
+ usdValue: t.usd_value,
110
+ })),
111
+ details: position.position_details ?? null,
112
+ };
113
+ }
114
+ //# sourceMappingURL=WalletDefiProtocolPositionsTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDefiProtocolPositionsTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletDefiProtocolPositionsTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { BaseTool } from '../../BaseTool';
2
+ import type { ToolParameter, UserContext } from '../../../types';
3
+ import { type MoralisServiceConfig } from '../../../services/MoralisService';
4
+ export type WalletDefiSummaryToolConfig = MoralisServiceConfig;
5
+ /**
6
+ * Tool: get-wallet-defi-summary
7
+ *
8
+ * Queries `GET /wallets/{address}/defi/summary` — a high-level DeFi overview
9
+ * for a wallet: total USD value, total unclaimed rewards, number of active
10
+ * protocols and positions, plus a per-protocol breakdown.
11
+ *
12
+ * Moralis docs: https://docs.moralis.com/data-api/evm/wallet/wallet-protocols
13
+ */
14
+ export declare class WalletDefiSummaryTool extends BaseTool {
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ parameters: ToolParameter[];
19
+ private service;
20
+ constructor(config?: WalletDefiSummaryToolConfig);
21
+ protected run(args: Record<string, unknown>, userContext?: UserContext): Promise<{
22
+ error: string;
23
+ walletAddress?: undefined;
24
+ chain?: undefined;
25
+ activeProtocols?: undefined;
26
+ totalPositions?: undefined;
27
+ totalUsdValue?: undefined;
28
+ totalUnclaimedUsdValue?: undefined;
29
+ protocols?: undefined;
30
+ } | {
31
+ walletAddress: string;
32
+ chain: string;
33
+ activeProtocols: number;
34
+ totalPositions: number;
35
+ totalUsdValue: number;
36
+ totalUnclaimedUsdValue: number;
37
+ protocols: {
38
+ protocolName: string | undefined;
39
+ protocolId: string | undefined;
40
+ protocolUrl: string | undefined;
41
+ protocolLogo: string | undefined;
42
+ positions: number;
43
+ totalUsdValue: number;
44
+ totalUnclaimedUsdValue: number;
45
+ accountHealthFactor: number | null;
46
+ }[];
47
+ error?: undefined;
48
+ }>;
49
+ }
50
+ //# sourceMappingURL=WalletDefiSummaryTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDefiSummaryTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/wallet/WalletDefiSummaryTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAE/D;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,IAAI,SAA6B;IACjC,WAAW,SASkE;IAC7E,QAAQ,SAAqB;IAC7B,UAAU,EAAE,aAAa,EAAE,CAezB;IAEF,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,CAAC,EAAE,2BAA2B;cAKhC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7E"}