@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
@@ -58,6 +58,41 @@ function headersWithoutAuthorization(headersInit?: HeadersInit): Headers {
58
58
  return headers;
59
59
  }
60
60
 
61
+ /**
62
+ * Per-turn safety bound for wallet balance RPC calls. `evmWalletProvider.get()`
63
+ * runs inside `composeState` on every message and is awaited (via `Promise.all`)
64
+ * before the agent can produce a reply, so an unbounded RPC against a slow or
65
+ * unreachable endpoint would block the WHOLE turn up to composeState's 30s
66
+ * provider cap — the dedicated-agent "28s per reply" symptom. Bounding each read
67
+ * means a wallet-enabled agent never pays more than this per chain; on timeout we
68
+ * return null (logged) and that chain's balance simply isn't shown that turn.
69
+ */
70
+ const WALLET_BALANCE_RPC_TIMEOUT_MS = 3000;
71
+
72
+ /** Transport-level fast-fail bound so a hung socket aborts instead of lingering. */
73
+ const WALLET_RPC_FETCH_TIMEOUT_MS = 4000;
74
+
75
+ /**
76
+ * Race `promise` against a timeout. Rejects with a labelled error on timeout so
77
+ * the caller's existing try/catch can treat it like any other RPC failure. The
78
+ * timer is always cleared so a fast-resolving promise leaves no dangling handle.
79
+ */
80
+ async function withTimeout<T>(promise: Promise<T>, ms: number, label: string): Promise<T> {
81
+ let timer: ReturnType<typeof setTimeout> | undefined;
82
+ try {
83
+ return await Promise.race([
84
+ promise,
85
+ new Promise<never>((_, reject) => {
86
+ timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
87
+ }),
88
+ ]);
89
+ } finally {
90
+ if (timer) {
91
+ clearTimeout(timer);
92
+ }
93
+ }
94
+ }
95
+
61
96
  function isRetryableManagedRpcStatus(status: number): boolean {
62
97
  return (
63
98
  status === 401 ||
@@ -109,6 +144,8 @@ export class WalletProvider {
109
144
  private _account: PrivateKeyAccount;
110
145
  private readonly _runtime: IAgentRuntime;
111
146
  private readonly _rpcConfigs: Record<string, ChainRpcConfig>;
147
+ /** Chains where Cloud RPC returned a non-transient auth error (401/403) and should not be retried this session. */
148
+ private readonly _cloudRpcDisabled = new Set<string>();
112
149
 
113
150
  constructor(
114
151
  accountOrPrivateKey: PrivateKeyAccount | `0x${string}`,
@@ -218,9 +255,14 @@ export class WalletProvider {
218
255
  async getWalletBalanceForChain(chainName: SupportedChain): Promise<string | null> {
219
256
  try {
220
257
  const client = this.getPublicClient(chainName);
221
- const balance = await client.getBalance({
222
- address: this._account.address,
223
- });
258
+ // Bound the per-turn RPC so a slow/unreachable endpoint can never block the
259
+ // reply pipeline (see WALLET_BALANCE_RPC_TIMEOUT_MS). On timeout this rejects
260
+ // and is handled by the catch below exactly like any other RPC error.
261
+ const balance = await withTimeout(
262
+ client.getBalance({ address: this._account.address }),
263
+ WALLET_BALANCE_RPC_TIMEOUT_MS,
264
+ `getBalance(${chainName})`
265
+ );
224
266
  return formatUnits(balance, 18);
225
267
  } catch (error) {
226
268
  logger.error(
@@ -269,7 +311,21 @@ export class WalletProvider {
269
311
  const fallbackRpcUrl =
270
312
  managedRpc.providerName === "elizacloud" ? chain.rpcUrls.default.http[0] : null;
271
313
 
314
+ // If Cloud RPC already failed with an auth error for this chain, go straight to fallback.
315
+ if (
316
+ managedRpc.providerName === "elizacloud" &&
317
+ fallbackRpcUrl &&
318
+ this._cloudRpcDisabled.has(chainName)
319
+ ) {
320
+ return http(fallbackRpcUrl, {
321
+ timeout: WALLET_RPC_FETCH_TIMEOUT_MS,
322
+ retryCount: 0,
323
+ });
324
+ }
325
+
272
326
  return http(managedRpc.rpcUrl, {
327
+ timeout: WALLET_RPC_FETCH_TIMEOUT_MS,
328
+ retryCount: 0,
273
329
  fetchFn:
274
330
  managedRpc.providerName === "elizacloud" && fallbackRpcUrl
275
331
  ? async (input, init) => {
@@ -281,9 +337,18 @@ export class WalletProvider {
281
337
  return response;
282
338
  }
283
339
 
284
- logger.warn(
285
- `[WalletProvider] Eliza Cloud RPC failed for ${chainName}: ${fallbackReason}. Falling back to ${fallbackRpcUrl}.`
286
- );
340
+ // For auth errors (401/403), disable Cloud RPC for this chain for the
341
+ // rest of the session so we stop retrying and spamming warnings.
342
+ if (response.status === 401 || response.status === 403) {
343
+ this._cloudRpcDisabled.add(chainName);
344
+ logger.warn(
345
+ `[WalletProvider] Eliza Cloud RPC returned ${response.status} for ${chainName}. Disabling Cloud RPC for this chain and falling back to ${fallbackRpcUrl} for the rest of this session.`
346
+ );
347
+ } else {
348
+ logger.warn(
349
+ `[WalletProvider] Eliza Cloud RPC failed for ${chainName}: ${fallbackReason}. Falling back to ${fallbackRpcUrl}.`
350
+ );
351
+ }
287
352
 
288
353
  return await fetch(fallbackRpcUrl, {
289
354
  ...init,
@@ -311,9 +376,15 @@ export class WalletProvider {
311
376
 
312
377
  const customRpc = chain.rpcUrls.custom;
313
378
  if (customRpc) {
314
- return http(customRpc.http[0]);
379
+ return http(customRpc.http[0], {
380
+ timeout: WALLET_RPC_FETCH_TIMEOUT_MS,
381
+ retryCount: 0,
382
+ });
315
383
  }
316
- return http(chain.rpcUrls.default.http[0]);
384
+ return http(chain.rpcUrls.default.http[0], {
385
+ timeout: WALLET_RPC_FETCH_TIMEOUT_MS,
386
+ retryCount: 0,
387
+ });
317
388
  }
318
389
 
319
390
  static genChainFromName(chainName: string, customRpcUrl?: string | null): Chain {
@@ -343,7 +414,7 @@ function genChainsFromRuntime(runtime: IAgentRuntime): {
343
414
  chains: Record<string, Chain>;
344
415
  rpcConfigs: Record<string, ChainRpcConfig>;
345
416
  } {
346
- const settings = runtime.character?.settings;
417
+ const settings = runtime.character.settings;
347
418
  let configuredChains: string[] = [];
348
419
  if (
349
420
  typeof settings === "object" &&
@@ -10,7 +10,13 @@
10
10
  * we only sign here.
11
11
  */
12
12
 
13
- import type { IAgentRuntime, Route, RouteRequest, RouteResponse } from "@elizaos/core";
13
+ import type {
14
+ IAgentRuntime,
15
+ LegacyRouteHandler,
16
+ Route,
17
+ RouteRequest,
18
+ RouteResponse,
19
+ } from "@elizaos/core";
14
20
  import { logger } from "@elizaos/core";
15
21
  import {
16
22
  type Address,
@@ -24,24 +30,23 @@ import {
24
30
  import * as viemChains from "viem/chains";
25
31
  import { resolveWalletBackend } from "../../../wallet/select-backend";
26
32
 
27
- type RouteHandler = NonNullable<Route["handler"]>;
33
+ class EvmSignInputError extends Error {}
28
34
 
29
- interface JsonResponse {
30
- setHeader?: (name: string, value: string) => void;
35
+ function routeErrorStatus(error: unknown): number {
36
+ return error instanceof EvmSignInputError ? 400 : 500;
31
37
  }
32
38
 
33
39
  function setCorsHeaders(req: RouteRequest, res: RouteResponse): void {
34
40
  const origin = (req.headers?.origin as string | undefined) ?? "*";
35
- const r = res as unknown as JsonResponse;
36
- r.setHeader?.("Access-Control-Allow-Origin", origin);
37
- r.setHeader?.("Vary", "Origin");
38
- r.setHeader?.("Access-Control-Allow-Methods", "POST, OPTIONS");
39
- r.setHeader?.(
41
+ res.setHeader?.("Access-Control-Allow-Origin", origin);
42
+ res.setHeader?.("Vary", "Origin");
43
+ res.setHeader?.("Access-Control-Allow-Methods", "POST, OPTIONS");
44
+ res.setHeader?.(
40
45
  "Access-Control-Allow-Headers",
41
46
  "Authorization, Content-Type, X-Wallet-Sign-Token",
42
47
  );
43
- r.setHeader?.("Access-Control-Allow-Credentials", "true");
44
- r.setHeader?.("Access-Control-Max-Age", "600");
48
+ res.setHeader?.("Access-Control-Allow-Credentials", "true");
49
+ res.setHeader?.("Access-Control-Max-Age", "600");
45
50
  }
46
51
 
47
52
  function readSignToken(runtime: IAgentRuntime): string | null {
@@ -68,7 +73,7 @@ function authorize(
68
73
  runtime: IAgentRuntime,
69
74
  ): boolean {
70
75
  setCorsHeaders(req, res);
71
- if ((req as unknown as { method?: string }).method === "OPTIONS") {
76
+ if (req.method === "OPTIONS") {
72
77
  res.status(204).json({});
73
78
  return false;
74
79
  }
@@ -86,9 +91,9 @@ function authorize(
86
91
 
87
92
  function chainFromId(chainId: number): Chain {
88
93
  const all = Object.values(viemChains) as Chain[];
89
- const hit = all.find((c) => typeof c?.id === "number" && c.id === chainId);
94
+ const hit = all.find((c) => typeof c.id === "number" && c.id === chainId);
90
95
  if (!hit) {
91
- throw new Error(`unsupported EVM chainId: ${chainId}`);
96
+ throw new EvmSignInputError(`unsupported EVM chainId: ${chainId}`);
92
97
  }
93
98
  return hit;
94
99
  }
@@ -99,14 +104,14 @@ function rpcUrlForChain(runtime: IAgentRuntime, chain: Chain): string {
99
104
  process.env[`EVM_RPC_URL_${chain.id}`] ??
100
105
  null;
101
106
  if (explicit && explicit.length > 0) return explicit;
102
- const def = chain.rpcUrls?.default?.http?.[0];
107
+ const def = chain.rpcUrls.default.http[0];
103
108
  if (def) return def;
104
109
  throw new Error(`no RPC URL configured for chain ${chain.id} (${chain.name})`);
105
110
  }
106
111
 
107
112
  function readChainId(body: unknown): number {
108
113
  if (typeof body !== "object" || body === null) {
109
- throw new Error("chainId required");
114
+ throw new EvmSignInputError("chainId required");
110
115
  }
111
116
  const c = (body as { chainId?: unknown }).chainId;
112
117
  if (typeof c === "number") return c;
@@ -114,10 +119,10 @@ function readChainId(body: unknown): number {
114
119
  const n = c.startsWith("0x") ? Number.parseInt(c.slice(2), 16) : Number(c);
115
120
  if (Number.isFinite(n)) return n;
116
121
  }
117
- throw new Error("chainId must be a number or hex string");
122
+ throw new EvmSignInputError("chainId must be a number or hex string");
118
123
  }
119
124
 
120
- const addressHandler: RouteHandler = async (req, res, runtime) => {
125
+ const addressHandler: LegacyRouteHandler = async (req, res, runtime) => {
121
126
  if (!authorize(req, res, runtime)) return;
122
127
  try {
123
128
  const backend = await resolveWalletBackend(runtime);
@@ -133,7 +138,7 @@ const addressHandler: RouteHandler = async (req, res, runtime) => {
133
138
  }
134
139
  };
135
140
 
136
- const personalSignHandler: RouteHandler = async (req, res, runtime) => {
141
+ const personalSignHandler: LegacyRouteHandler = async (req, res, runtime) => {
137
142
  if (!authorize(req, res, runtime)) return;
138
143
  try {
139
144
  const body = (req.body ?? {}) as { message?: unknown };
@@ -156,7 +161,7 @@ const personalSignHandler: RouteHandler = async (req, res, runtime) => {
156
161
  }
157
162
  };
158
163
 
159
- const signTypedDataHandler: RouteHandler = async (req, res, runtime) => {
164
+ const signTypedDataHandler: LegacyRouteHandler = async (req, res, runtime) => {
160
165
  if (!authorize(req, res, runtime)) return;
161
166
  try {
162
167
  const body = (req.body ?? {}) as { typedData?: unknown };
@@ -195,12 +200,16 @@ function hexOrIntToBigInt(value: unknown): bigint | undefined {
195
200
  if (typeof value === "number") return BigInt(value);
196
201
  if (typeof value === "string") {
197
202
  if (value.length === 0) return undefined;
198
- return value.startsWith("0x") ? BigInt(value) : BigInt(value);
203
+ try {
204
+ return value.startsWith("0x") ? BigInt(value) : BigInt(value);
205
+ } catch {
206
+ throw new EvmSignInputError(`invalid bigint value: ${value}`);
207
+ }
199
208
  }
200
- return undefined;
209
+ throw new EvmSignInputError("bigint value must be a number, bigint, or string");
201
210
  }
202
211
 
203
- const sendTransactionHandler: RouteHandler = async (req, res, runtime) => {
212
+ const sendTransactionHandler: LegacyRouteHandler = async (req, res, runtime) => {
204
213
  if (!authorize(req, res, runtime)) return;
205
214
  try {
206
215
  const body = (req.body ?? {}) as { tx?: EvmTxRequest };
@@ -240,11 +249,11 @@ const sendTransactionHandler: RouteHandler = async (req, res, runtime) => {
240
249
  res.status(200).json({ hash, address: account.address, chainId });
241
250
  } catch (err) {
242
251
  logger.error({ err }, "[wallet/evm/send-transaction] failed");
243
- res.status(500).json({ error: (err as Error).message });
252
+ res.status(routeErrorStatus(err)).json({ error: (err as Error).message });
244
253
  }
245
254
  };
246
255
 
247
- const signTransactionHandler: RouteHandler = async (req, res, runtime) => {
256
+ const signTransactionHandler: LegacyRouteHandler = async (req, res, runtime) => {
248
257
  if (!authorize(req, res, runtime)) return;
249
258
  try {
250
259
  const body = (req.body ?? {}) as { tx?: EvmTxRequest };
@@ -283,7 +292,7 @@ const signTransactionHandler: RouteHandler = async (req, res, runtime) => {
283
292
  });
284
293
  } catch (err) {
285
294
  logger.error({ err }, "[wallet/evm/sign-transaction] failed");
286
- res.status(500).json({ error: (err as Error).message });
295
+ res.status(routeErrorStatus(err)).json({ error: (err as Error).message });
287
296
  }
288
297
  };
289
298
 
@@ -366,7 +366,7 @@ export function validateRPCProviderConfig(runtime: IAgentRuntime): {
366
366
 
367
367
  // Check for any per-chain custom RPC URLs
368
368
  let hasCustomRpc = false;
369
- const settings = runtime.character?.settings;
369
+ const settings = runtime.character.settings;
370
370
  let chainsToCheck: string[] = ["mainnet", "base"];
371
371
  if (
372
372
  typeof settings === "object" &&
@@ -176,9 +176,9 @@ export const BebopRouteSchema = z.object({
176
176
  });
177
177
 
178
178
  export interface SwapQuote {
179
- readonly aggregator: "lifi" | "bebop";
179
+ readonly aggregator: "lifi" | "bebop" | "kyberswap";
180
180
  readonly minOutputAmount: string;
181
- readonly swapData: Route | BebopRoute;
181
+ readonly swapData: Route | BebopRoute | KyberSwapRouteData;
182
182
  }
183
183
 
184
184
  export interface BridgeParams {
@@ -430,3 +430,23 @@ export function validateHash(hash: string): Hash {
430
430
  }
431
431
 
432
432
  export type { Address, Chain, Hash, Hex, Log } from "viem";
433
+ export interface KyberSwapRouteSummary {
434
+ amountOut: string;
435
+ amountOutUsd?: string;
436
+ gas?: string;
437
+ gasUsd?: string;
438
+ gasPrice?: string;
439
+ // Full summary is forwarded verbatim to the KyberSwap build endpoint.
440
+ [key: string]: unknown;
441
+ }
442
+
443
+ export interface KyberSwapRouteData {
444
+ routeSummary: KyberSwapRouteSummary;
445
+ routerAddress: string;
446
+ chainSlug: string;
447
+ fromToken: string;
448
+ toToken: string;
449
+ amountIn: string;
450
+ slippageBps: number;
451
+ fromAddress: string;
452
+ }
@@ -60,7 +60,7 @@ function configuredEvmChains(runtime: IAgentRuntime): Array<{
60
60
  readonly key: string;
61
61
  readonly chain: Chain;
62
62
  }> {
63
- const settings = runtime.character?.settings;
63
+ const settings = runtime.character.settings;
64
64
  const configured =
65
65
  settings &&
66
66
  typeof settings === "object" &&