@elizaos/plugin-wallet 2.0.0-beta.1 → 2.0.3-beta.5

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 (356) hide show
  1. package/README.md +70 -45
  2. package/auto-enable.ts +1 -1
  3. package/dist/actions/failure-codes.d.ts +12 -0
  4. package/dist/actions/index.d.ts +1 -0
  5. package/dist/analytics/birdeye/actions/wallet-search-address.d.ts +7 -0
  6. package/dist/analytics/birdeye/birdeye-task.d.ts +27 -0
  7. package/dist/analytics/birdeye/birdeye.d.ts +140 -0
  8. package/dist/analytics/birdeye/constants.d.ts +68 -0
  9. package/dist/analytics/birdeye/providers/agent-portfolio-provider.d.ts +8 -0
  10. package/dist/analytics/birdeye/providers/market.d.ts +18 -0
  11. package/dist/analytics/birdeye/providers/portfolio-factory.d.ts +10 -0
  12. package/dist/analytics/birdeye/providers/trending.d.ts +19 -0
  13. package/dist/analytics/birdeye/providers/wallet.d.ts +5 -0
  14. package/dist/analytics/birdeye/search-category.d.ts +52 -0
  15. package/dist/analytics/birdeye/service.d.ts +94 -0
  16. package/dist/analytics/birdeye/types/api/common.d.ts +199 -0
  17. package/dist/analytics/birdeye/types/api/defi.d.ts +187 -0
  18. package/dist/analytics/birdeye/types/api/pair.d.ts +182 -0
  19. package/dist/analytics/birdeye/types/api/search.d.ts +64 -0
  20. package/dist/analytics/birdeye/types/api/token.d.ts +580 -0
  21. package/dist/analytics/birdeye/types/api/trader.d.ts +70 -0
  22. package/dist/analytics/birdeye/types/api/wallet.d.ts +161 -0
  23. package/dist/analytics/birdeye/types/shared.d.ts +83 -0
  24. package/dist/analytics/birdeye/utils.d.ts +74 -0
  25. package/dist/analytics/dexscreener/errors.d.ts +2 -0
  26. package/dist/analytics/dexscreener/index.d.ts +3 -0
  27. package/dist/analytics/dexscreener/search-category.d.ts +3 -0
  28. package/dist/analytics/dexscreener/service.d.ts +34 -0
  29. package/dist/analytics/dexscreener/types.d.ts +131 -0
  30. package/dist/analytics/lpinfo/index.d.ts +31 -0
  31. package/dist/analytics/lpinfo/kamino/index.d.ts +7 -0
  32. package/dist/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.d.ts +6 -0
  33. package/dist/analytics/lpinfo/kamino/providers/kaminoPoolProvider.d.ts +6 -0
  34. package/dist/analytics/lpinfo/kamino/providers/kaminoProvider.d.ts +6 -0
  35. package/dist/analytics/lpinfo/kamino/services/kaminoLiquidityService.d.ts +203 -0
  36. package/dist/analytics/lpinfo/kamino/services/kaminoService.d.ts +171 -0
  37. package/dist/analytics/lpinfo/steer/index.d.ts +7 -0
  38. package/dist/analytics/lpinfo/steer/providers/steerLiquidityProvider.d.ts +6 -0
  39. package/dist/analytics/lpinfo/steer/services/steerLiquidityService.d.ts +208 -0
  40. package/dist/analytics/lpinfo/steer/steer-display-types.d.ts +97 -0
  41. package/dist/analytics/news/index.d.ts +32 -0
  42. package/dist/analytics/news/interfaces/types.d.ts +177 -0
  43. package/dist/analytics/news/providers/defiNewsProvider.d.ts +106 -0
  44. package/dist/analytics/news/services/newsDataService.d.ts +72 -0
  45. package/dist/analytics/news/utils/formatters.d.ts +54 -0
  46. package/dist/analytics/token-info/action.d.ts +6 -0
  47. package/dist/analytics/token-info/index.d.ts +3 -0
  48. package/dist/analytics/token-info/params.d.ts +10 -0
  49. package/dist/analytics/token-info/providers.d.ts +4 -0
  50. package/dist/analytics/token-info/service.d.ts +19 -0
  51. package/dist/analytics/token-info/types.d.ts +45 -0
  52. package/dist/api/wallet-routes.d.ts +100 -0
  53. package/dist/audit/audit-log.d.ts +29 -0
  54. package/dist/browser-shim/build-shim.d.ts +31 -0
  55. package/dist/browser-shim/index.d.ts +1 -0
  56. package/dist/chains/evm/actions/helpers.d.ts +31 -0
  57. package/dist/chains/evm/actions/swap.d.ts +53 -0
  58. package/dist/chains/evm/actions/transfer.d.ts +10 -0
  59. package/dist/chains/evm/bridge-router.d.ts +44 -0
  60. package/dist/chains/evm/build.d.ts +2 -0
  61. package/dist/chains/evm/chain-handler.d.ts +37 -0
  62. package/dist/chains/evm/constants.d.ts +16 -0
  63. package/dist/chains/evm/dex/aerodrome/index.d.ts +6 -0
  64. package/dist/chains/evm/dex/aerodrome/services/AerodromeLpService.d.ts +27 -0
  65. package/dist/chains/evm/dex/aerodrome/types.d.ts +435 -0
  66. package/dist/chains/evm/dex/pancakeswp/index.d.ts +6 -0
  67. package/dist/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.d.ts +28 -0
  68. package/dist/chains/evm/dex/pancakeswp/types.d.ts +19 -0
  69. package/dist/chains/evm/dex/uniswap/index.d.ts +6 -0
  70. package/dist/chains/evm/dex/uniswap/services/UniswapV3LpService.d.ts +28 -0
  71. package/dist/chains/evm/dex/uniswap/types.d.ts +458 -0
  72. package/dist/chains/evm/generated/specs/spec-helpers.d.ts +35 -0
  73. package/dist/chains/evm/generated/specs/specs.d.ts +99 -0
  74. package/dist/chains/evm/gov-router.d.ts +6 -0
  75. package/dist/chains/evm/index.browser.d.ts +3 -0
  76. package/dist/chains/evm/index.d.ts +6 -0
  77. package/dist/chains/evm/prompts.d.ts +24 -0
  78. package/dist/chains/evm/providers/get-balance.d.ts +2 -0
  79. package/dist/chains/evm/providers/wallet.d.ts +35 -0
  80. package/dist/chains/evm/routes/sign.d.ts +13 -0
  81. package/dist/chains/evm/rpc-providers.d.ts +26 -0
  82. package/dist/chains/evm/service.d.ts +26 -0
  83. package/dist/chains/evm/templates/index.d.ts +1 -0
  84. package/dist/chains/evm/types/index.d.ts +296 -0
  85. package/dist/chains/evm/vitest.config.d.ts +2 -0
  86. package/dist/chains/registry.d.ts +3 -0
  87. package/dist/chains/solana/actions/confirmation.d.ts +9 -0
  88. package/dist/chains/solana/bn.d.ts +6 -0
  89. package/dist/chains/solana/build.d.ts +2 -0
  90. package/dist/chains/solana/constants.d.ts +2 -0
  91. package/dist/chains/solana/dex/meteora/e2e/scenarios.d.ts +10 -0
  92. package/dist/chains/solana/dex/meteora/e2e/test-utils.d.ts +28 -0
  93. package/dist/chains/solana/dex/meteora/index.d.ts +3 -0
  94. package/dist/chains/solana/dex/meteora/providers/positionProvider.d.ts +9 -0
  95. package/dist/chains/solana/dex/meteora/services/MeteoraLpService.d.ts +37 -0
  96. package/dist/chains/solana/dex/meteora/utils/dlmm.d.ts +6 -0
  97. package/dist/chains/solana/dex/meteora/utils/loadWallet.d.ts +14 -0
  98. package/dist/chains/solana/dex/meteora/utils/sendTransaction.d.ts +2 -0
  99. package/dist/chains/solana/dex/orca/index.d.ts +6 -0
  100. package/dist/chains/solana/dex/orca/providers/positionProvider.d.ts +10 -0
  101. package/dist/chains/solana/dex/orca/services/srv_orca.d.ts +10 -0
  102. package/dist/chains/solana/dex/orca/types.d.ts +61 -0
  103. package/dist/chains/solana/dex/orca/utils/loadWallet.d.ts +1 -0
  104. package/dist/chains/solana/dex/orca/utils/sendTransaction.d.ts +2 -0
  105. package/dist/chains/solana/dex/raydium/index.d.ts +6 -0
  106. package/dist/chains/solana/dex/raydium/providers/positionProvider.d.ts +10 -0
  107. package/dist/chains/solana/dex/raydium/services/srv_raydium.d.ts +104 -0
  108. package/dist/chains/solana/dex/raydium/types.d.ts +42 -0
  109. package/dist/chains/solana/environment.d.ts +15 -0
  110. package/dist/chains/solana/generated/specs/spec-helpers.d.ts +35 -0
  111. package/dist/chains/solana/generated/specs/specs.d.ts +73 -0
  112. package/dist/chains/solana/index.browser.d.ts +3 -0
  113. package/dist/chains/solana/index.d.ts +7 -0
  114. package/dist/chains/solana/keypairUtils.d.ts +7 -0
  115. package/dist/chains/solana/prompts.d.ts +12 -0
  116. package/dist/chains/solana/providers/wallet.d.ts +2 -0
  117. package/dist/chains/solana/routes/index.d.ts +2 -0
  118. package/dist/chains/solana/routes/sign.d.ts +16 -0
  119. package/dist/chains/solana/service.d.ts +237 -0
  120. package/dist/chains/solana/types.d.ts +377 -0
  121. package/dist/chains/solana/vitest.config.d.ts +2 -0
  122. package/dist/chains/wallet-action.d.ts +3 -0
  123. package/dist/contracts.d.ts +58 -0
  124. package/dist/core-augmentation.d.ts +9 -0
  125. package/dist/index.d.mts +27 -34727
  126. package/dist/index.d.ts +27 -0
  127. package/dist/index.mjs +28246 -21186
  128. package/dist/index.mjs.map +153 -0
  129. package/dist/lib/server-wallet-trade.d.ts +22 -0
  130. package/dist/lib/server-wallet-trade.js +333 -0
  131. package/dist/lib/server-wallet-trade.js.map +11 -0
  132. package/dist/lib/wallet-export-guard.d.ts +45 -0
  133. package/dist/lp/actions/liquidity.d.ts +2 -0
  134. package/dist/lp/e2e/real-token-tests.d.ts +6 -0
  135. package/dist/lp/e2e/scenarios.d.ts +9 -0
  136. package/dist/lp/e2e/test-utils.d.ts +28 -0
  137. package/dist/lp/lp-manager-entry.d.ts +18 -0
  138. package/dist/lp/services/ConcentratedLiquidityService.d.ts +32 -0
  139. package/dist/lp/services/DexInteractionService.d.ts +34 -0
  140. package/dist/lp/services/LpManagementService.d.ts +116 -0
  141. package/dist/lp/services/UserLpProfileService.d.ts +18 -0
  142. package/dist/lp/services/VaultService.d.ts +21 -0
  143. package/dist/lp/services/YieldOptimizationService.d.ts +59 -0
  144. package/dist/lp/services/__tests__/MockLpService.d.ts +17 -0
  145. package/dist/lp/types.d.ts +439 -0
  146. package/dist/lp/utils/solanaClient.d.ts +26 -0
  147. package/dist/plugin.d.ts +7 -0
  148. package/dist/policy/policy.d.ts +14 -0
  149. package/dist/providers/canonical-provider.d.ts +19 -0
  150. package/dist/providers/wallet-provider.d.ts +5 -0
  151. package/dist/register-routes.d.ts +1 -0
  152. package/dist/routes/plugin.d.ts +14 -0
  153. package/dist/routes/wallet-market-overview-route.d.ts +7 -0
  154. package/dist/sdk/abi.d.ts +396 -0
  155. package/dist/sdk/bridge/abis.d.ts +63 -0
  156. package/dist/sdk/bridge/client.d.ts +48 -0
  157. package/dist/sdk/bridge/index.d.ts +14 -0
  158. package/dist/sdk/bridge/solana.d.ts +131 -0
  159. package/dist/sdk/bridge/types.d.ts +92 -0
  160. package/dist/sdk/convenience.d.ts +104 -0
  161. package/dist/sdk/escrow/MutualStakeEscrow.d.ts +75 -0
  162. package/dist/sdk/escrow/types.d.ts +58 -0
  163. package/dist/sdk/escrow/verifiers.d.ts +25 -0
  164. package/dist/sdk/identity/erc8004.d.ts +304 -0
  165. package/dist/sdk/identity/reputation.d.ts +317 -0
  166. package/dist/sdk/identity/uaid.d.ts +192 -0
  167. package/dist/sdk/identity/validation.d.ts +282 -0
  168. package/dist/sdk/index.d.ts +133 -0
  169. package/dist/sdk/index.js +5284 -0
  170. package/dist/sdk/index.js.map +40 -0
  171. package/dist/sdk/policy/SpendingPolicy.d.ts +105 -0
  172. package/dist/sdk/policy/UptoBillingPolicy.d.ts +87 -0
  173. package/dist/sdk/router/PaymentRouter.d.ts +77 -0
  174. package/dist/sdk/router/index.d.ts +2 -0
  175. package/dist/sdk/swap/SwapModule.d.ts +47 -0
  176. package/dist/sdk/swap/abi.d.ts +50 -0
  177. package/dist/sdk/swap/index.d.ts +11 -0
  178. package/dist/sdk/swap/types.d.ts +101 -0
  179. package/dist/sdk/tokens/decimals.d.ts +64 -0
  180. package/dist/sdk/tokens/registry.d.ts +81 -0
  181. package/dist/sdk/tokens/solana.d.ts +107 -0
  182. package/dist/sdk/tokens/transfers.d.ts +94 -0
  183. package/dist/sdk/types.d.ts +129 -0
  184. package/dist/sdk/wallet-core.d.ts +29450 -0
  185. package/dist/sdk/x402/budget.d.ts +51 -0
  186. package/dist/sdk/x402/chains/abstract/index.d.ts +134 -0
  187. package/dist/sdk/x402/client.d.ts +66 -0
  188. package/dist/sdk/x402/index.d.ts +8 -0
  189. package/dist/sdk/x402/middleware.d.ts +37 -0
  190. package/dist/sdk/x402/multi-asset.d.ts +53 -0
  191. package/dist/sdk/x402/types.d.ts +109 -0
  192. package/dist/security/wallet-context-safety.d.ts +7 -0
  193. package/dist/security/wallet-financial-confirmation.d.ts +23 -0
  194. package/dist/services/wallet-backend-service.d.ts +39 -0
  195. package/dist/types/wallet-router.d.ts +130 -0
  196. package/dist/utils/intent-trajectory.d.ts +34 -0
  197. package/dist/wallet/backend.d.ts +41 -0
  198. package/dist/wallet/errors.d.ts +17 -0
  199. package/dist/wallet/index.d.ts +6 -0
  200. package/dist/wallet/local-eoa-backend.d.ts +37 -0
  201. package/dist/wallet/pending.d.ts +47 -0
  202. package/dist/wallet/select-backend.d.ts +11 -0
  203. package/dist/wallet/steward-backend.d.ts +22 -0
  204. package/dist/wallet-action.d.ts +1 -0
  205. package/dist/wallet-action.js +6292 -0
  206. package/dist/wallet-action.js.map +44 -0
  207. package/package.json +35 -21
  208. package/registry-entry.json +134 -0
  209. package/src/analytics/birdeye/actions/wallet-search-address.ts +85 -5
  210. package/src/analytics/birdeye/birdeye-task.ts +25 -9
  211. package/src/analytics/birdeye/birdeye.ts +6 -7
  212. package/src/analytics/birdeye/constants.ts +0 -1
  213. package/src/analytics/birdeye/providers/agent-portfolio-provider.ts +0 -1
  214. package/src/analytics/birdeye/providers/market.ts +51 -45
  215. package/src/analytics/birdeye/providers/portfolio-factory.ts +79 -38
  216. package/src/analytics/birdeye/providers/trending.ts +43 -46
  217. package/src/analytics/birdeye/providers/wallet.ts +0 -1
  218. package/src/analytics/birdeye/search-category.test.ts +1 -1
  219. package/src/analytics/birdeye/search-category.ts +77 -12
  220. package/src/analytics/birdeye/service.test.ts +146 -0
  221. package/src/analytics/birdeye/service.ts +220 -105
  222. package/src/analytics/birdeye/types/api/common.ts +0 -1
  223. package/src/analytics/birdeye/types/api/defi.ts +0 -1
  224. package/src/analytics/birdeye/types/api/pair.ts +0 -1
  225. package/src/analytics/birdeye/types/api/search.ts +0 -1
  226. package/src/analytics/birdeye/types/api/token.ts +0 -1
  227. package/src/analytics/birdeye/types/api/trader.ts +0 -1
  228. package/src/analytics/birdeye/types/api/wallet.ts +0 -1
  229. package/src/analytics/birdeye/types/shared.ts +0 -11
  230. package/src/analytics/birdeye/utils.test.ts +69 -0
  231. package/src/analytics/birdeye/utils.ts +11 -8
  232. package/src/analytics/dexscreener/search-category.ts +0 -1
  233. package/src/analytics/dexscreener/service.ts +7 -12
  234. package/src/analytics/dexscreener/types.ts +0 -1
  235. package/src/analytics/lpinfo/index.ts +5 -2
  236. package/src/analytics/lpinfo/kamino/README.md +2 -2
  237. package/src/analytics/lpinfo/kamino/index.ts +9 -2
  238. package/src/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.ts +6 -26
  239. package/src/analytics/lpinfo/kamino/providers/kaminoPoolProvider.ts +11 -12
  240. package/src/analytics/lpinfo/kamino/providers/kaminoProvider.ts +76 -32
  241. package/src/analytics/lpinfo/kamino/services/kaminoLiquidityService.ts +78 -38
  242. package/src/analytics/lpinfo/kamino/services/kaminoService.ts +71 -31
  243. package/src/analytics/lpinfo/steer/index.ts +7 -2
  244. package/src/analytics/lpinfo/steer/providers/steerLiquidityProvider.ts +25 -26
  245. package/src/analytics/lpinfo/steer/services/steerLiquidityService.ts +367 -149
  246. package/src/analytics/news/index.ts +7 -2
  247. package/src/analytics/news/interfaces/types.ts +0 -1
  248. package/src/analytics/news/providers/defiNewsProvider.ts +17 -44
  249. package/src/analytics/news/services/newsDataService.ts +1 -22
  250. package/src/analytics/news/utils/formatters.test.ts +60 -0
  251. package/src/analytics/news/utils/formatters.ts +0 -1
  252. package/src/analytics/token-info/action.ts +52 -212
  253. package/src/analytics/token-info/index.ts +1 -1
  254. package/src/analytics/token-info/params.test.ts +69 -0
  255. package/src/analytics/token-info/params.ts +13 -11
  256. package/src/analytics/token-info/providers.ts +46 -17
  257. package/src/analytics/token-info/service.ts +3 -3
  258. package/src/analytics/token-info/types.ts +2 -2
  259. package/src/api/wallet-routes.test.ts +56 -0
  260. package/src/api/wallet-routes.ts +1728 -0
  261. package/src/audit/audit-log.ts +57 -2
  262. package/src/browser-shim/build-shim.ts +1 -1
  263. package/src/browser-shim/shim.template.js +107 -117
  264. package/src/chains/{wallet-router.test.ts → __tests__/wallet-router.test.ts} +57 -10
  265. package/src/chains/evm/actions/helpers.ts +9 -7
  266. package/src/chains/evm/actions/swap.ts +176 -22
  267. package/src/chains/evm/actions/transfer.ts +29 -22
  268. package/src/chains/evm/biome.json +1 -1
  269. package/src/chains/evm/build.ts +6 -1
  270. package/src/chains/evm/constants.ts +19 -0
  271. package/src/chains/evm/contracts/artifacts/OZGovernor.json +25 -1682
  272. package/src/chains/evm/dex/aerodrome/index.ts +6 -1
  273. package/src/chains/evm/dex/aerodrome/services/AerodromeLpService.ts +41 -15
  274. package/src/chains/evm/dex/aerodrome/types.ts +1 -2
  275. package/src/chains/evm/dex/pancakeswp/index.ts +6 -1
  276. package/src/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.ts +54 -17
  277. package/src/chains/evm/dex/pancakeswp/types.ts +1 -2
  278. package/src/chains/evm/dex/uniswap/index.ts +6 -1
  279. package/src/chains/evm/dex/uniswap/services/UniswapV3LpService.ts +20 -9
  280. package/src/chains/evm/dex/uniswap/types.ts +1 -2
  281. package/src/chains/evm/gov-router.ts +3 -1
  282. package/src/chains/evm/index.browser.ts +1 -1
  283. package/src/chains/evm/index.ts +5 -1
  284. package/src/chains/evm/prompts.ts +5 -0
  285. package/src/chains/evm/providers/get-balance.ts +1 -1
  286. package/src/chains/evm/providers/wallet.ts +80 -9
  287. package/src/chains/evm/routes/sign.ts +35 -26
  288. package/src/chains/evm/rpc-providers.ts +1 -1
  289. package/src/chains/evm/types/index.ts +22 -2
  290. package/src/chains/registry.ts +1 -1
  291. package/src/chains/wallet-action.ts +301 -91
  292. package/src/index.ts +9 -5
  293. package/src/lib/wallet-export-guard.test.ts +233 -0
  294. package/src/lib/wallet-export-guard.ts +1 -1
  295. package/src/lp/actions/liquidity.ts +53 -26
  296. package/src/lp/e2e/real-token-tests.ts +0 -1
  297. package/src/lp/e2e/scenarios.ts +1 -2
  298. package/src/lp/e2e/test-utils.ts +20 -7
  299. package/src/lp/lp-manager-entry.ts +2 -5
  300. package/src/lp/services/ConcentratedLiquidityService.ts +3 -10
  301. package/src/lp/services/DexInteractionService.ts +1 -2
  302. package/src/lp/services/LpManagementService.test.ts +0 -1
  303. package/src/lp/services/LpManagementService.ts +75 -35
  304. package/src/lp/services/UserLpProfileService.ts +2 -3
  305. package/src/lp/services/VaultService.ts +10 -4
  306. package/src/lp/services/YieldOptimizationService.ts +29 -13
  307. package/src/lp/services/__tests__/MockLpService.ts +1 -2
  308. package/src/lp/types.ts +9 -13
  309. package/src/lp/utils/solanaClient.ts +4 -2
  310. package/src/plugin.routes.test.ts +24 -0
  311. package/src/plugin.ts +30 -13
  312. package/src/providers/canonical-provider.ts +1 -1
  313. package/src/providers/{unified-wallet-provider.ts → wallet-provider.ts} +3 -3
  314. package/src/routes/__fixtures__/coingecko-markets.recorded.json +97 -0
  315. package/src/routes/wallet-market-overview-route.ts +1 -1
  316. package/src/routes/wallet-market-overview.contract.test.ts +139 -0
  317. package/src/routes/wallet-market-overview.real.test.ts +83 -0
  318. package/src/sdk/escrow/MutualStakeEscrow.ts +1 -2
  319. package/src/sdk/identity/erc8004.ts +1 -1
  320. package/src/sdk/identity/validation.ts +3 -4
  321. package/src/sdk/index.ts +2 -2
  322. package/src/sdk/policy/SpendingPolicy.ts +1 -1
  323. package/src/sdk/router/PaymentRouter.ts +8 -11
  324. package/src/sdk/swap/SwapModule.ts +1 -1
  325. package/src/sdk/tokens/registry.ts +1 -1
  326. package/src/sdk/x402/middleware.ts +2 -8
  327. package/src/security/__tests__/wallet-context-safety.test.ts +79 -0
  328. package/src/security/__tests__/wallet-financial-confirmation.test.ts +88 -0
  329. package/src/security/wallet-context-safety.ts +128 -0
  330. package/src/security/wallet-financial-confirmation.ts +150 -0
  331. package/src/services/wallet-backend-service.ts +15 -1
  332. package/src/utils/intent-trajectory.ts +2 -2
  333. package/src/wallet/steward-backend.ts +4 -4
  334. package/dist/LpManagementService-BWrQ5-cO.mjs +0 -353
  335. package/dist/MockLpService-D_Apn4Fd.mjs +0 -99
  336. package/dist/aerodrome-CfnESC32.mjs +0 -890
  337. package/dist/chunk-hT5z_Zn9.mjs +0 -35
  338. package/dist/lib/server-wallet-trade.d.mts +0 -34
  339. package/dist/lib/server-wallet-trade.mjs +0 -306
  340. package/dist/meteora-BPX39hZo.mjs +0 -22640
  341. package/dist/orca-Bybp1HXO.mjs +0 -249
  342. package/dist/pancakeswp-CkEXlXti.mjs +0 -604
  343. package/dist/plugin-ZO_MTyd0.mjs +0 -529
  344. package/dist/raydium-rfaM9yEf.mjs +0 -539
  345. package/dist/sdk/index.d.mts +0 -32492
  346. package/dist/sdk/index.mjs +0 -6415
  347. package/dist/types-D5252NZk.mjs +0 -487
  348. package/dist/uniswap-CReXgXVN.mjs +0 -573
  349. package/dist/wallet-action.d.mts +0 -6
  350. package/dist/wallet-action.mjs +0 -820
  351. package/src/analytics/birdeye/tasks/birdeye.ts +0 -232
  352. package/src/analytics/lpinfo/index.d.ts +0 -7
  353. package/src/chains/evm/contracts/artifacts/TimelockController.json +0 -1007
  354. package/src/chains/evm/contracts/artifacts/VoteToken.json +0 -895
  355. package/src/lp/tasks/LpAutoRebalanceTask.ts +0 -117
  356. package/src/lp/tasks/__tests__/LpAutoRebalanceTask.test.ts +0 -370
@@ -0,0 +1,69 @@
1
+ import type { Memory } from "@elizaos/core";
2
+ import { describe, expect, it } from "vitest";
3
+ import {
4
+ inferTokenInfoSubaction,
5
+ normalizeTokenInfoSubaction,
6
+ readBooleanParam,
7
+ readNumberParam,
8
+ readParams,
9
+ readStringParam,
10
+ } from "./params.js";
11
+
12
+ /**
13
+ * Token-info param parsing turns loose agent options + free text into a typed
14
+ * query. Param readers coerce/trim and reject junk; subaction normalization
15
+ * canonicalizes labels; and intent inference routes a message to the right
16
+ * read-only lookup.
17
+ */
18
+
19
+ const msg = (text: string): Memory =>
20
+ ({ content: { text } }) as unknown as Memory;
21
+
22
+ describe("param readers", () => {
23
+ it("readParams merges nested `parameters` over the top-level bag", () => {
24
+ expect(readParams({ a: 1, parameters: { b: 2 } })).toMatchObject({
25
+ a: 1,
26
+ b: 2,
27
+ });
28
+ expect(readParams(undefined)).toEqual({});
29
+ });
30
+
31
+ it("readStringParam trims, scans keys, ignores empties", () => {
32
+ expect(readStringParam({ q: " hi " }, "q")).toBe("hi");
33
+ expect(readStringParam({ q: "" }, "q")).toBeUndefined();
34
+ expect(readStringParam({ parameters: { x: "yo" } }, "q", "x")).toBe("yo");
35
+ });
36
+
37
+ it("readNumberParam coerces, falls back; readBooleanParam reads keywords", () => {
38
+ expect(readNumberParam({ n: 5 }, "n")).toBe(5);
39
+ expect(readNumberParam({ n: "7" }, "n")).toBe(7);
40
+ expect(readNumberParam({ n: "x" }, "n", 3)).toBe(3);
41
+ expect(readBooleanParam({ b: "yes" }, "b")).toBe(true);
42
+ expect(readBooleanParam({ b: "no" }, "b")).toBe(false);
43
+ expect(readBooleanParam({ b: "maybe" }, "b")).toBeUndefined();
44
+ });
45
+ });
46
+
47
+ describe("normalizeTokenInfoSubaction", () => {
48
+ it("canonicalizes spacing/case to known subactions", () => {
49
+ expect(normalizeTokenInfoSubaction("wallet")).toBe("wallet");
50
+ expect(normalizeTokenInfoSubaction("New Pairs")).toBe("new_pairs");
51
+ expect(normalizeTokenInfoSubaction("chain pairs")).toBe("chain_pairs");
52
+ expect(normalizeTokenInfoSubaction(42)).toBeUndefined();
53
+ });
54
+ });
55
+
56
+ describe("inferTokenInfoSubaction", () => {
57
+ it("routes by message intent, defaults to token", () => {
58
+ expect(inferTokenInfoSubaction(msg("show my wallet holdings"))).toBe(
59
+ "wallet",
60
+ );
61
+ expect(inferTokenInfoSubaction(msg("what's trending right now"))).toBe(
62
+ "trending",
63
+ );
64
+ expect(inferTokenInfoSubaction(msg("search for pepe"))).toBe("search");
65
+ expect(inferTokenInfoSubaction(msg("tell me about this coin"))).toBe(
66
+ "token",
67
+ );
68
+ });
69
+ });
@@ -10,11 +10,13 @@ const SUBACTION_ALIASES: Record<string, TokenInfoSubaction> = {
10
10
  info: "token",
11
11
  "token-info": "token",
12
12
  token_info: "token",
13
- pairs: "chain-pairs",
14
- "new pairs": "new-pairs",
15
- new_pairs: "new-pairs",
16
- chain_pairs: "chain-pairs",
17
- chainpairs: "chain-pairs",
13
+ pairs: "chain_pairs",
14
+ "new pairs": "new_pairs",
15
+ "new-pairs": "new_pairs",
16
+ new_pairs: "new_pairs",
17
+ chain_pairs: "chain_pairs",
18
+ "chain-pairs": "chain_pairs",
19
+ chainpairs: "chain_pairs",
18
20
  boosted_tokens: "boosted",
19
21
  boostedtokens: "boosted",
20
22
  token_profiles: "profiles",
@@ -86,7 +88,7 @@ export function normalizeTokenInfoSubaction(
86
88
  const normalized = value
87
89
  .trim()
88
90
  .toLowerCase()
89
- .replace(/[\s_]+/g, "-");
91
+ .replace(/[\s-]+/g, "_");
90
92
  if ((TOKEN_INFO_SUBACTIONS as readonly string[]).includes(normalized)) {
91
93
  return normalized as TokenInfoSubaction;
92
94
  }
@@ -100,7 +102,7 @@ export function inferTokenInfoSubaction(
100
102
  state?: State,
101
103
  ): TokenInfoSubaction {
102
104
  const text = [
103
- typeof message.content?.text === "string" ? message.content.text : "",
105
+ typeof message.content.text === "string" ? message.content.text : "",
104
106
  typeof state?.values?.recentMessages === "string"
105
107
  ? state.values.recentMessages
106
108
  : "",
@@ -115,7 +117,7 @@ export function inferTokenInfoSubaction(
115
117
  /\b(new|latest|fresh)\b/.test(text) &&
116
118
  /\b(pair|pairs|tokens?)\b/.test(text)
117
119
  ) {
118
- return "new-pairs";
120
+ return "new_pairs";
119
121
  }
120
122
  if (
121
123
  /\b(pair|pairs)\b/.test(text) &&
@@ -123,7 +125,7 @@ export function inferTokenInfoSubaction(
123
125
  text,
124
126
  )
125
127
  ) {
126
- return "chain-pairs";
128
+ return "chain_pairs";
127
129
  }
128
130
  if (/\b(trending|hot|popular|gainers)\b/.test(text)) return "trending";
129
131
  if (/\b(search|find|look for)\b/.test(text)) return "search";
@@ -137,10 +139,10 @@ export function parseTokenInfoParams(
137
139
  ): TokenInfoParams {
138
140
  const raw = readParams(options);
139
141
  const content =
140
- typeof message.content?.text === "string" ? message.content.text : "";
142
+ typeof message.content.text === "string" ? message.content.text : "";
141
143
  const subaction =
142
144
  normalizeTokenInfoSubaction(
143
- raw.subaction ?? raw.action ?? raw.operation ?? raw.kind,
145
+ raw.action ?? raw.subaction ?? raw.operation ?? raw.kind,
144
146
  ) ?? inferTokenInfoSubaction(message, state);
145
147
  const target = readStringParam(raw, "target", "provider", "source");
146
148
  const query =
@@ -1,5 +1,4 @@
1
- // @ts-nocheck bridges legacy analytics services behind the consolidated TOKEN_INFO registry.
2
- import type { ActionResult, IAgentRuntime } from "@elizaos/core";
1
+ import type { ActionResult, ContentValue, IAgentRuntime } from "@elizaos/core";
3
2
  import { BirdeyeProvider } from "../birdeye/birdeye";
4
3
  import { searchBirdeyeTokens } from "../birdeye/search-category";
5
4
  import type { WalletPortfolioResponse } from "../birdeye/types/api/wallet";
@@ -34,6 +33,36 @@ function failure(
34
33
  };
35
34
  }
36
35
 
36
+ function toCallbackContentValue(value: unknown): ContentValue {
37
+ if (
38
+ value === null ||
39
+ value === undefined ||
40
+ typeof value === "string" ||
41
+ typeof value === "number" ||
42
+ typeof value === "boolean"
43
+ ) {
44
+ return value;
45
+ }
46
+ if (typeof value === "bigint" || typeof value === "symbol") {
47
+ return String(value);
48
+ }
49
+ if (value instanceof Date) {
50
+ return value.toISOString();
51
+ }
52
+ if (Array.isArray(value)) {
53
+ return value.map((item) => toCallbackContentValue(item));
54
+ }
55
+ if (typeof value === "object") {
56
+ return Object.fromEntries(
57
+ Object.entries(value).map(([key, item]) => [
58
+ key,
59
+ toCallbackContentValue(item),
60
+ ]),
61
+ );
62
+ }
63
+ return undefined;
64
+ }
65
+
37
66
  async function emit(
38
67
  context: TokenInfoDispatchContext,
39
68
  result: ActionResult,
@@ -41,7 +70,7 @@ async function emit(
41
70
  await context.callback?.({
42
71
  text: result.text ?? "",
43
72
  actions: ["TOKEN_INFO"],
44
- data: result.data,
73
+ data: toCallbackContentValue(result.data),
45
74
  });
46
75
  return result;
47
76
  }
@@ -68,7 +97,7 @@ function topPairs(
68
97
  .slice(0, limit)
69
98
  .map((pair, index) => {
70
99
  const price = service.formatPrice(pair.priceUsd || pair.priceNative);
71
- const volume = pair.volume?.h24
100
+ const volume = pair.volume.h24
72
101
  ? service.formatUsdValue(pair.volume.h24)
73
102
  : "n/a";
74
103
  const liquidity = pair.liquidity?.usd
@@ -161,8 +190,8 @@ async function executeDexScreener(
161
190
  `${mainPair.baseToken.name} (${mainPair.baseToken.symbol})`,
162
191
  `Address: ${mainPair.baseToken.address}`,
163
192
  `Price: ${service.formatPrice(mainPair.priceUsd || mainPair.priceNative)}`,
164
- `24h change: ${service.formatPriceChange(mainPair.priceChange?.h24 ?? 0)}`,
165
- `24h volume: ${service.formatUsdValue(mainPair.volume?.h24 ?? 0)}`,
193
+ `24h change: ${service.formatPriceChange(mainPair.priceChange.h24)}`,
194
+ `24h volume: ${service.formatUsdValue(mainPair.volume.h24)}`,
166
195
  `Top pairs:\n${topPairs(service, pairs, 3)}`,
167
196
  ].join("\n");
168
197
  return emit(
@@ -195,7 +224,7 @@ async function executeDexScreener(
195
224
  ),
196
225
  );
197
226
  }
198
- case "new-pairs": {
227
+ case "new_pairs": {
199
228
  const limit = Math.min(25, Math.max(1, params.limit ?? 10));
200
229
  const pairs = requireDexResult(
201
230
  await service.getNewPairs({ chain: params.chain, limit }),
@@ -207,18 +236,18 @@ async function executeDexScreener(
207
236
  `New trading pairs${params.chain ? ` on ${params.chain}` : ""}:\n${topPairs(service, pairs, limit)}`,
208
237
  {
209
238
  target: "dexscreener",
210
- subaction: "new-pairs",
239
+ subaction: "new_pairs",
211
240
  chain: params.chain,
212
241
  pairs,
213
242
  },
214
243
  ),
215
244
  );
216
245
  }
217
- case "chain-pairs": {
246
+ case "chain_pairs": {
218
247
  if (!params.chain) {
219
248
  return emit(
220
249
  context,
221
- failure("Provide chain for chain-pairs.", "MISSING_CHAIN"),
250
+ failure("Provide chain for chain_pairs.", "MISSING_CHAIN"),
222
251
  );
223
252
  }
224
253
  const limit = Math.min(25, Math.max(1, params.limit ?? 10));
@@ -233,7 +262,7 @@ async function executeDexScreener(
233
262
  `Top ${params.chain} pairs by ${sortBy}:\n${topPairs(service, pairs, limit)}`,
234
263
  {
235
264
  target: "dexscreener",
236
- subaction: "chain-pairs",
265
+ subaction: "chain_pairs",
237
266
  chain: params.chain,
238
267
  sortBy,
239
268
  pairs,
@@ -315,9 +344,9 @@ function formatBirdeyeWallet(
315
344
  result: WalletPortfolioResponse,
316
345
  address: string,
317
346
  ): string {
318
- const tokens = result?.data?.items?.slice(0, 10) ?? [];
347
+ const tokens = result.data.items.slice(0, 10);
319
348
  const totalValue =
320
- typeof result?.data?.totalUsd === "number"
349
+ typeof result.data.totalUsd === "number"
321
350
  ? result.data.totalUsd
322
351
  : tokens.reduce(
323
352
  (sum: number, token: BirdeyePortfolioToken) =>
@@ -330,7 +359,7 @@ function formatBirdeyeWallet(
330
359
  `- ${String(token.symbol ?? "TOKEN").toUpperCase()}: $${Number(token.valueUsd ?? 0).toLocaleString()} (${token.uiAmount ?? "n/a"})`,
331
360
  )
332
361
  .join("\n");
333
- return `Wallet ${address}\nTotal value: $${Number(totalValue ?? 0).toLocaleString()}\nTop holdings:\n${holdings}`;
362
+ return `Wallet ${address}\nTotal value: $${Number(totalValue).toLocaleString()}\nTop holdings:\n${holdings}`;
334
363
  }
335
364
 
336
365
  async function executeBirdeye(
@@ -603,7 +632,7 @@ async function executeCoingecko(
603
632
  }>(runtime, "/search/trending");
604
633
  const coins = (result.coins ?? [])
605
634
  .map((entry) => entry.item)
606
- .filter(Boolean)
635
+ .filter((coin): coin is NonNullable<typeof coin> => coin !== undefined)
607
636
  .slice(0, params.limit ?? 10);
608
637
  const text = coins
609
638
  .map(
@@ -650,8 +679,8 @@ export function createDexScreenerTokenInfoProvider(): TokenInfoProvider {
650
679
  "search",
651
680
  "token",
652
681
  "trending",
653
- "new-pairs",
654
- "chain-pairs",
682
+ "new_pairs",
683
+ "chain_pairs",
655
684
  "boosted",
656
685
  "profiles",
657
686
  ],
@@ -18,8 +18,8 @@ const DEFAULT_PROVIDER_BY_SUBACTION: Record<TokenInfoSubaction, string> = {
18
18
  search: "dexscreener",
19
19
  token: "dexscreener",
20
20
  trending: "dexscreener",
21
- "new-pairs": "dexscreener",
22
- "chain-pairs": "dexscreener",
21
+ new_pairs: "dexscreener",
22
+ chain_pairs: "dexscreener",
23
23
  boosted: "dexscreener",
24
24
  profiles: "dexscreener",
25
25
  wallet: "birdeye",
@@ -36,7 +36,7 @@ export class TokenInfoService extends Service {
36
36
  static override serviceType = TOKEN_INFO_SERVICE_TYPE;
37
37
 
38
38
  override capabilityDescription =
39
- "Token information provider registry for DexScreener, Birdeye, CoinGecko, and future crypto data sources";
39
+ "Token information provider registry for DexScreener, Birdeye, CoinGecko, and additional crypto data sources";
40
40
 
41
41
  private readonly providers = new Map<string, TokenInfoProvider>();
42
42
  private readonly aliases = new Map<string, string>();
@@ -11,8 +11,8 @@ export const TOKEN_INFO_SUBACTIONS = [
11
11
  "search",
12
12
  "token",
13
13
  "trending",
14
- "new-pairs",
15
- "chain-pairs",
14
+ "new_pairs",
15
+ "chain_pairs",
16
16
  "boosted",
17
17
  "profiles",
18
18
  "wallet",
@@ -0,0 +1,56 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { handleWalletRoutes, type WalletRouteContext } from "./wallet-routes";
3
+
4
+ function buildCtx(): {
5
+ ctx: WalletRouteContext;
6
+ res: { statusCode?: number; body?: unknown };
7
+ readJsonBody: ReturnType<typeof vi.fn>;
8
+ resolveWalletExportRejection: ReturnType<typeof vi.fn>;
9
+ } {
10
+ const res: { statusCode?: number; body?: unknown } = {};
11
+ const readJsonBody = vi.fn(async () => ({
12
+ confirm: true,
13
+ exportToken: "token",
14
+ }));
15
+ const resolveWalletExportRejection = vi.fn(() => null);
16
+ const ctx = {
17
+ req: { headers: {} },
18
+ res,
19
+ method: "POST",
20
+ pathname: "/api/wallet/export",
21
+ config: {},
22
+ saveConfig: vi.fn(),
23
+ ensureWalletKeysInEnvAndConfig: vi.fn(() => true),
24
+ resolveWalletExportRejection,
25
+ deps: {},
26
+ readJsonBody,
27
+ json(target: typeof res, data: unknown, status = 200) {
28
+ target.statusCode = status;
29
+ target.body = data;
30
+ },
31
+ error(target: typeof res, message: string, status = 400) {
32
+ target.statusCode = status;
33
+ target.body = { error: message };
34
+ },
35
+ } as unknown as WalletRouteContext;
36
+ return { ctx, res, readJsonBody, resolveWalletExportRejection };
37
+ }
38
+
39
+ describe("wallet route contracts", () => {
40
+ it("keeps plaintext private-key export removed from the agent API", async () => {
41
+ const { ctx, res, readJsonBody, resolveWalletExportRejection } = buildCtx();
42
+
43
+ await expect(handleWalletRoutes(ctx)).resolves.toBe(true);
44
+
45
+ expect(res.statusCode).toBe(410);
46
+ expect(res.body).toEqual({
47
+ error:
48
+ "Private key export has been removed. Use Steward or OS-backed custody flows.",
49
+ });
50
+ expect(JSON.stringify(res.body)).not.toMatch(
51
+ /privateKey|secretKey|mnemonic|seed/i,
52
+ );
53
+ expect(readJsonBody).not.toHaveBeenCalled();
54
+ expect(resolveWalletExportRejection).not.toHaveBeenCalled();
55
+ });
56
+ });