@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.
- package/README.md +70 -45
- package/auto-enable.ts +1 -1
- package/dist/actions/failure-codes.d.ts +12 -0
- package/dist/actions/index.d.ts +1 -0
- package/dist/analytics/birdeye/actions/wallet-search-address.d.ts +7 -0
- package/dist/analytics/birdeye/birdeye-task.d.ts +27 -0
- package/dist/analytics/birdeye/birdeye.d.ts +140 -0
- package/dist/analytics/birdeye/constants.d.ts +68 -0
- package/dist/analytics/birdeye/providers/agent-portfolio-provider.d.ts +8 -0
- package/dist/analytics/birdeye/providers/market.d.ts +18 -0
- package/dist/analytics/birdeye/providers/portfolio-factory.d.ts +10 -0
- package/dist/analytics/birdeye/providers/trending.d.ts +19 -0
- package/dist/analytics/birdeye/providers/wallet.d.ts +5 -0
- package/dist/analytics/birdeye/search-category.d.ts +52 -0
- package/dist/analytics/birdeye/service.d.ts +94 -0
- package/dist/analytics/birdeye/types/api/common.d.ts +199 -0
- package/dist/analytics/birdeye/types/api/defi.d.ts +187 -0
- package/dist/analytics/birdeye/types/api/pair.d.ts +182 -0
- package/dist/analytics/birdeye/types/api/search.d.ts +64 -0
- package/dist/analytics/birdeye/types/api/token.d.ts +580 -0
- package/dist/analytics/birdeye/types/api/trader.d.ts +70 -0
- package/dist/analytics/birdeye/types/api/wallet.d.ts +161 -0
- package/dist/analytics/birdeye/types/shared.d.ts +83 -0
- package/dist/analytics/birdeye/utils.d.ts +74 -0
- package/dist/analytics/dexscreener/errors.d.ts +2 -0
- package/dist/analytics/dexscreener/index.d.ts +3 -0
- package/dist/analytics/dexscreener/search-category.d.ts +3 -0
- package/dist/analytics/dexscreener/service.d.ts +34 -0
- package/dist/analytics/dexscreener/types.d.ts +131 -0
- package/dist/analytics/lpinfo/index.d.ts +31 -0
- package/dist/analytics/lpinfo/kamino/index.d.ts +7 -0
- package/dist/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.d.ts +6 -0
- package/dist/analytics/lpinfo/kamino/providers/kaminoPoolProvider.d.ts +6 -0
- package/dist/analytics/lpinfo/kamino/providers/kaminoProvider.d.ts +6 -0
- package/dist/analytics/lpinfo/kamino/services/kaminoLiquidityService.d.ts +203 -0
- package/dist/analytics/lpinfo/kamino/services/kaminoService.d.ts +171 -0
- package/dist/analytics/lpinfo/steer/index.d.ts +7 -0
- package/dist/analytics/lpinfo/steer/providers/steerLiquidityProvider.d.ts +6 -0
- package/dist/analytics/lpinfo/steer/services/steerLiquidityService.d.ts +208 -0
- package/dist/analytics/lpinfo/steer/steer-display-types.d.ts +97 -0
- package/dist/analytics/news/index.d.ts +32 -0
- package/dist/analytics/news/interfaces/types.d.ts +177 -0
- package/dist/analytics/news/providers/defiNewsProvider.d.ts +106 -0
- package/dist/analytics/news/services/newsDataService.d.ts +72 -0
- package/dist/analytics/news/utils/formatters.d.ts +54 -0
- package/dist/analytics/token-info/action.d.ts +6 -0
- package/dist/analytics/token-info/index.d.ts +3 -0
- package/dist/analytics/token-info/params.d.ts +10 -0
- package/dist/analytics/token-info/providers.d.ts +4 -0
- package/dist/analytics/token-info/service.d.ts +19 -0
- package/dist/analytics/token-info/types.d.ts +45 -0
- package/dist/api/wallet-routes.d.ts +100 -0
- package/dist/audit/audit-log.d.ts +29 -0
- package/dist/browser-shim/build-shim.d.ts +31 -0
- package/dist/browser-shim/index.d.ts +1 -0
- package/dist/chains/evm/actions/helpers.d.ts +31 -0
- package/dist/chains/evm/actions/swap.d.ts +53 -0
- package/dist/chains/evm/actions/transfer.d.ts +10 -0
- package/dist/chains/evm/bridge-router.d.ts +44 -0
- package/dist/chains/evm/build.d.ts +2 -0
- package/dist/chains/evm/chain-handler.d.ts +37 -0
- package/dist/chains/evm/constants.d.ts +16 -0
- package/dist/chains/evm/dex/aerodrome/index.d.ts +6 -0
- package/dist/chains/evm/dex/aerodrome/services/AerodromeLpService.d.ts +27 -0
- package/dist/chains/evm/dex/aerodrome/types.d.ts +435 -0
- package/dist/chains/evm/dex/pancakeswp/index.d.ts +6 -0
- package/dist/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.d.ts +28 -0
- package/dist/chains/evm/dex/pancakeswp/types.d.ts +19 -0
- package/dist/chains/evm/dex/uniswap/index.d.ts +6 -0
- package/dist/chains/evm/dex/uniswap/services/UniswapV3LpService.d.ts +28 -0
- package/dist/chains/evm/dex/uniswap/types.d.ts +458 -0
- package/dist/chains/evm/generated/specs/spec-helpers.d.ts +35 -0
- package/dist/chains/evm/generated/specs/specs.d.ts +99 -0
- package/dist/chains/evm/gov-router.d.ts +6 -0
- package/dist/chains/evm/index.browser.d.ts +3 -0
- package/dist/chains/evm/index.d.ts +6 -0
- package/dist/chains/evm/prompts.d.ts +24 -0
- package/dist/chains/evm/providers/get-balance.d.ts +2 -0
- package/dist/chains/evm/providers/wallet.d.ts +35 -0
- package/dist/chains/evm/routes/sign.d.ts +13 -0
- package/dist/chains/evm/rpc-providers.d.ts +26 -0
- package/dist/chains/evm/service.d.ts +26 -0
- package/dist/chains/evm/templates/index.d.ts +1 -0
- package/dist/chains/evm/types/index.d.ts +296 -0
- package/dist/chains/evm/vitest.config.d.ts +2 -0
- package/dist/chains/registry.d.ts +3 -0
- package/dist/chains/solana/actions/confirmation.d.ts +9 -0
- package/dist/chains/solana/bn.d.ts +6 -0
- package/dist/chains/solana/build.d.ts +2 -0
- package/dist/chains/solana/constants.d.ts +2 -0
- package/dist/chains/solana/dex/meteora/e2e/scenarios.d.ts +10 -0
- package/dist/chains/solana/dex/meteora/e2e/test-utils.d.ts +28 -0
- package/dist/chains/solana/dex/meteora/index.d.ts +3 -0
- package/dist/chains/solana/dex/meteora/providers/positionProvider.d.ts +9 -0
- package/dist/chains/solana/dex/meteora/services/MeteoraLpService.d.ts +37 -0
- package/dist/chains/solana/dex/meteora/utils/dlmm.d.ts +6 -0
- package/dist/chains/solana/dex/meteora/utils/loadWallet.d.ts +14 -0
- package/dist/chains/solana/dex/meteora/utils/sendTransaction.d.ts +2 -0
- package/dist/chains/solana/dex/orca/index.d.ts +6 -0
- package/dist/chains/solana/dex/orca/providers/positionProvider.d.ts +10 -0
- package/dist/chains/solana/dex/orca/services/srv_orca.d.ts +10 -0
- package/dist/chains/solana/dex/orca/types.d.ts +61 -0
- package/dist/chains/solana/dex/orca/utils/loadWallet.d.ts +1 -0
- package/dist/chains/solana/dex/orca/utils/sendTransaction.d.ts +2 -0
- package/dist/chains/solana/dex/raydium/index.d.ts +6 -0
- package/dist/chains/solana/dex/raydium/providers/positionProvider.d.ts +10 -0
- package/dist/chains/solana/dex/raydium/services/srv_raydium.d.ts +104 -0
- package/dist/chains/solana/dex/raydium/types.d.ts +42 -0
- package/dist/chains/solana/environment.d.ts +15 -0
- package/dist/chains/solana/generated/specs/spec-helpers.d.ts +35 -0
- package/dist/chains/solana/generated/specs/specs.d.ts +73 -0
- package/dist/chains/solana/index.browser.d.ts +3 -0
- package/dist/chains/solana/index.d.ts +7 -0
- package/dist/chains/solana/keypairUtils.d.ts +7 -0
- package/dist/chains/solana/prompts.d.ts +12 -0
- package/dist/chains/solana/providers/wallet.d.ts +2 -0
- package/dist/chains/solana/routes/index.d.ts +2 -0
- package/dist/chains/solana/routes/sign.d.ts +16 -0
- package/dist/chains/solana/service.d.ts +237 -0
- package/dist/chains/solana/types.d.ts +377 -0
- package/dist/chains/solana/vitest.config.d.ts +2 -0
- package/dist/chains/wallet-action.d.ts +3 -0
- package/dist/contracts.d.ts +58 -0
- package/dist/core-augmentation.d.ts +9 -0
- package/dist/index.d.mts +27 -34727
- package/dist/index.d.ts +27 -0
- package/dist/index.mjs +28246 -21186
- package/dist/index.mjs.map +153 -0
- package/dist/lib/server-wallet-trade.d.ts +22 -0
- package/dist/lib/server-wallet-trade.js +333 -0
- package/dist/lib/server-wallet-trade.js.map +11 -0
- package/dist/lib/wallet-export-guard.d.ts +45 -0
- package/dist/lp/actions/liquidity.d.ts +2 -0
- package/dist/lp/e2e/real-token-tests.d.ts +6 -0
- package/dist/lp/e2e/scenarios.d.ts +9 -0
- package/dist/lp/e2e/test-utils.d.ts +28 -0
- package/dist/lp/lp-manager-entry.d.ts +18 -0
- package/dist/lp/services/ConcentratedLiquidityService.d.ts +32 -0
- package/dist/lp/services/DexInteractionService.d.ts +34 -0
- package/dist/lp/services/LpManagementService.d.ts +116 -0
- package/dist/lp/services/UserLpProfileService.d.ts +18 -0
- package/dist/lp/services/VaultService.d.ts +21 -0
- package/dist/lp/services/YieldOptimizationService.d.ts +59 -0
- package/dist/lp/services/__tests__/MockLpService.d.ts +17 -0
- package/dist/lp/types.d.ts +439 -0
- package/dist/lp/utils/solanaClient.d.ts +26 -0
- package/dist/plugin.d.ts +7 -0
- package/dist/policy/policy.d.ts +14 -0
- package/dist/providers/canonical-provider.d.ts +19 -0
- package/dist/providers/wallet-provider.d.ts +5 -0
- package/dist/register-routes.d.ts +1 -0
- package/dist/routes/plugin.d.ts +14 -0
- package/dist/routes/wallet-market-overview-route.d.ts +7 -0
- package/dist/sdk/abi.d.ts +396 -0
- package/dist/sdk/bridge/abis.d.ts +63 -0
- package/dist/sdk/bridge/client.d.ts +48 -0
- package/dist/sdk/bridge/index.d.ts +14 -0
- package/dist/sdk/bridge/solana.d.ts +131 -0
- package/dist/sdk/bridge/types.d.ts +92 -0
- package/dist/sdk/convenience.d.ts +104 -0
- package/dist/sdk/escrow/MutualStakeEscrow.d.ts +75 -0
- package/dist/sdk/escrow/types.d.ts +58 -0
- package/dist/sdk/escrow/verifiers.d.ts +25 -0
- package/dist/sdk/identity/erc8004.d.ts +304 -0
- package/dist/sdk/identity/reputation.d.ts +317 -0
- package/dist/sdk/identity/uaid.d.ts +192 -0
- package/dist/sdk/identity/validation.d.ts +282 -0
- package/dist/sdk/index.d.ts +133 -0
- package/dist/sdk/index.js +5284 -0
- package/dist/sdk/index.js.map +40 -0
- package/dist/sdk/policy/SpendingPolicy.d.ts +105 -0
- package/dist/sdk/policy/UptoBillingPolicy.d.ts +87 -0
- package/dist/sdk/router/PaymentRouter.d.ts +77 -0
- package/dist/sdk/router/index.d.ts +2 -0
- package/dist/sdk/swap/SwapModule.d.ts +47 -0
- package/dist/sdk/swap/abi.d.ts +50 -0
- package/dist/sdk/swap/index.d.ts +11 -0
- package/dist/sdk/swap/types.d.ts +101 -0
- package/dist/sdk/tokens/decimals.d.ts +64 -0
- package/dist/sdk/tokens/registry.d.ts +81 -0
- package/dist/sdk/tokens/solana.d.ts +107 -0
- package/dist/sdk/tokens/transfers.d.ts +94 -0
- package/dist/sdk/types.d.ts +129 -0
- package/dist/sdk/wallet-core.d.ts +29450 -0
- package/dist/sdk/x402/budget.d.ts +51 -0
- package/dist/sdk/x402/chains/abstract/index.d.ts +134 -0
- package/dist/sdk/x402/client.d.ts +66 -0
- package/dist/sdk/x402/index.d.ts +8 -0
- package/dist/sdk/x402/middleware.d.ts +37 -0
- package/dist/sdk/x402/multi-asset.d.ts +53 -0
- package/dist/sdk/x402/types.d.ts +109 -0
- package/dist/security/wallet-context-safety.d.ts +7 -0
- package/dist/security/wallet-financial-confirmation.d.ts +23 -0
- package/dist/services/wallet-backend-service.d.ts +39 -0
- package/dist/types/wallet-router.d.ts +130 -0
- package/dist/utils/intent-trajectory.d.ts +34 -0
- package/dist/wallet/backend.d.ts +41 -0
- package/dist/wallet/errors.d.ts +17 -0
- package/dist/wallet/index.d.ts +6 -0
- package/dist/wallet/local-eoa-backend.d.ts +37 -0
- package/dist/wallet/pending.d.ts +47 -0
- package/dist/wallet/select-backend.d.ts +11 -0
- package/dist/wallet/steward-backend.d.ts +22 -0
- package/dist/wallet-action.d.ts +1 -0
- package/dist/wallet-action.js +6292 -0
- package/dist/wallet-action.js.map +44 -0
- package/package.json +35 -21
- package/registry-entry.json +134 -0
- package/src/analytics/birdeye/actions/wallet-search-address.ts +85 -5
- package/src/analytics/birdeye/birdeye-task.ts +25 -9
- package/src/analytics/birdeye/birdeye.ts +6 -7
- package/src/analytics/birdeye/constants.ts +0 -1
- package/src/analytics/birdeye/providers/agent-portfolio-provider.ts +0 -1
- package/src/analytics/birdeye/providers/market.ts +51 -45
- package/src/analytics/birdeye/providers/portfolio-factory.ts +79 -38
- package/src/analytics/birdeye/providers/trending.ts +43 -46
- package/src/analytics/birdeye/providers/wallet.ts +0 -1
- package/src/analytics/birdeye/search-category.test.ts +1 -1
- package/src/analytics/birdeye/search-category.ts +77 -12
- package/src/analytics/birdeye/service.test.ts +146 -0
- package/src/analytics/birdeye/service.ts +220 -105
- package/src/analytics/birdeye/types/api/common.ts +0 -1
- package/src/analytics/birdeye/types/api/defi.ts +0 -1
- package/src/analytics/birdeye/types/api/pair.ts +0 -1
- package/src/analytics/birdeye/types/api/search.ts +0 -1
- package/src/analytics/birdeye/types/api/token.ts +0 -1
- package/src/analytics/birdeye/types/api/trader.ts +0 -1
- package/src/analytics/birdeye/types/api/wallet.ts +0 -1
- package/src/analytics/birdeye/types/shared.ts +0 -11
- package/src/analytics/birdeye/utils.test.ts +69 -0
- package/src/analytics/birdeye/utils.ts +11 -8
- package/src/analytics/dexscreener/search-category.ts +0 -1
- package/src/analytics/dexscreener/service.ts +7 -12
- package/src/analytics/dexscreener/types.ts +0 -1
- package/src/analytics/lpinfo/index.ts +5 -2
- package/src/analytics/lpinfo/kamino/README.md +2 -2
- package/src/analytics/lpinfo/kamino/index.ts +9 -2
- package/src/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.ts +6 -26
- package/src/analytics/lpinfo/kamino/providers/kaminoPoolProvider.ts +11 -12
- package/src/analytics/lpinfo/kamino/providers/kaminoProvider.ts +76 -32
- package/src/analytics/lpinfo/kamino/services/kaminoLiquidityService.ts +78 -38
- package/src/analytics/lpinfo/kamino/services/kaminoService.ts +71 -31
- package/src/analytics/lpinfo/steer/index.ts +7 -2
- package/src/analytics/lpinfo/steer/providers/steerLiquidityProvider.ts +25 -26
- package/src/analytics/lpinfo/steer/services/steerLiquidityService.ts +367 -149
- package/src/analytics/news/index.ts +7 -2
- package/src/analytics/news/interfaces/types.ts +0 -1
- package/src/analytics/news/providers/defiNewsProvider.ts +17 -44
- package/src/analytics/news/services/newsDataService.ts +1 -22
- package/src/analytics/news/utils/formatters.test.ts +60 -0
- package/src/analytics/news/utils/formatters.ts +0 -1
- package/src/analytics/token-info/action.ts +52 -212
- package/src/analytics/token-info/index.ts +1 -1
- package/src/analytics/token-info/params.test.ts +69 -0
- package/src/analytics/token-info/params.ts +13 -11
- package/src/analytics/token-info/providers.ts +46 -17
- package/src/analytics/token-info/service.ts +3 -3
- package/src/analytics/token-info/types.ts +2 -2
- package/src/api/wallet-routes.test.ts +56 -0
- package/src/api/wallet-routes.ts +1728 -0
- package/src/audit/audit-log.ts +57 -2
- package/src/browser-shim/build-shim.ts +1 -1
- package/src/browser-shim/shim.template.js +107 -117
- package/src/chains/{wallet-router.test.ts → __tests__/wallet-router.test.ts} +57 -10
- package/src/chains/evm/actions/helpers.ts +9 -7
- package/src/chains/evm/actions/swap.ts +176 -22
- package/src/chains/evm/actions/transfer.ts +29 -22
- package/src/chains/evm/biome.json +1 -1
- package/src/chains/evm/build.ts +6 -1
- package/src/chains/evm/constants.ts +19 -0
- package/src/chains/evm/contracts/artifacts/OZGovernor.json +25 -1682
- package/src/chains/evm/dex/aerodrome/index.ts +6 -1
- package/src/chains/evm/dex/aerodrome/services/AerodromeLpService.ts +41 -15
- package/src/chains/evm/dex/aerodrome/types.ts +1 -2
- package/src/chains/evm/dex/pancakeswp/index.ts +6 -1
- package/src/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.ts +54 -17
- package/src/chains/evm/dex/pancakeswp/types.ts +1 -2
- package/src/chains/evm/dex/uniswap/index.ts +6 -1
- package/src/chains/evm/dex/uniswap/services/UniswapV3LpService.ts +20 -9
- package/src/chains/evm/dex/uniswap/types.ts +1 -2
- package/src/chains/evm/gov-router.ts +3 -1
- package/src/chains/evm/index.browser.ts +1 -1
- package/src/chains/evm/index.ts +5 -1
- package/src/chains/evm/prompts.ts +5 -0
- package/src/chains/evm/providers/get-balance.ts +1 -1
- package/src/chains/evm/providers/wallet.ts +80 -9
- package/src/chains/evm/routes/sign.ts +35 -26
- package/src/chains/evm/rpc-providers.ts +1 -1
- package/src/chains/evm/types/index.ts +22 -2
- package/src/chains/registry.ts +1 -1
- package/src/chains/wallet-action.ts +301 -91
- package/src/index.ts +9 -5
- package/src/lib/wallet-export-guard.test.ts +233 -0
- package/src/lib/wallet-export-guard.ts +1 -1
- package/src/lp/actions/liquidity.ts +53 -26
- package/src/lp/e2e/real-token-tests.ts +0 -1
- package/src/lp/e2e/scenarios.ts +1 -2
- package/src/lp/e2e/test-utils.ts +20 -7
- package/src/lp/lp-manager-entry.ts +2 -5
- package/src/lp/services/ConcentratedLiquidityService.ts +3 -10
- package/src/lp/services/DexInteractionService.ts +1 -2
- package/src/lp/services/LpManagementService.test.ts +0 -1
- package/src/lp/services/LpManagementService.ts +75 -35
- package/src/lp/services/UserLpProfileService.ts +2 -3
- package/src/lp/services/VaultService.ts +10 -4
- package/src/lp/services/YieldOptimizationService.ts +29 -13
- package/src/lp/services/__tests__/MockLpService.ts +1 -2
- package/src/lp/types.ts +9 -13
- package/src/lp/utils/solanaClient.ts +4 -2
- package/src/plugin.routes.test.ts +24 -0
- package/src/plugin.ts +30 -13
- package/src/providers/canonical-provider.ts +1 -1
- package/src/providers/{unified-wallet-provider.ts → wallet-provider.ts} +3 -3
- package/src/routes/__fixtures__/coingecko-markets.recorded.json +97 -0
- package/src/routes/wallet-market-overview-route.ts +1 -1
- package/src/routes/wallet-market-overview.contract.test.ts +139 -0
- package/src/routes/wallet-market-overview.real.test.ts +83 -0
- package/src/sdk/escrow/MutualStakeEscrow.ts +1 -2
- package/src/sdk/identity/erc8004.ts +1 -1
- package/src/sdk/identity/validation.ts +3 -4
- package/src/sdk/index.ts +2 -2
- package/src/sdk/policy/SpendingPolicy.ts +1 -1
- package/src/sdk/router/PaymentRouter.ts +8 -11
- package/src/sdk/swap/SwapModule.ts +1 -1
- package/src/sdk/tokens/registry.ts +1 -1
- package/src/sdk/x402/middleware.ts +2 -8
- package/src/security/__tests__/wallet-context-safety.test.ts +79 -0
- package/src/security/__tests__/wallet-financial-confirmation.test.ts +88 -0
- package/src/security/wallet-context-safety.ts +128 -0
- package/src/security/wallet-financial-confirmation.ts +150 -0
- package/src/services/wallet-backend-service.ts +15 -1
- package/src/utils/intent-trajectory.ts +2 -2
- package/src/wallet/steward-backend.ts +4 -4
- package/dist/LpManagementService-BWrQ5-cO.mjs +0 -353
- package/dist/MockLpService-D_Apn4Fd.mjs +0 -99
- package/dist/aerodrome-CfnESC32.mjs +0 -890
- package/dist/chunk-hT5z_Zn9.mjs +0 -35
- package/dist/lib/server-wallet-trade.d.mts +0 -34
- package/dist/lib/server-wallet-trade.mjs +0 -306
- package/dist/meteora-BPX39hZo.mjs +0 -22640
- package/dist/orca-Bybp1HXO.mjs +0 -249
- package/dist/pancakeswp-CkEXlXti.mjs +0 -604
- package/dist/plugin-ZO_MTyd0.mjs +0 -529
- package/dist/raydium-rfaM9yEf.mjs +0 -539
- package/dist/sdk/index.d.mts +0 -32492
- package/dist/sdk/index.mjs +0 -6415
- package/dist/types-D5252NZk.mjs +0 -487
- package/dist/uniswap-CReXgXVN.mjs +0 -573
- package/dist/wallet-action.d.mts +0 -6
- package/dist/wallet-action.mjs +0 -820
- package/src/analytics/birdeye/tasks/birdeye.ts +0 -232
- package/src/analytics/lpinfo/index.d.ts +0 -7
- package/src/chains/evm/contracts/artifacts/TimelockController.json +0 -1007
- package/src/chains/evm/contracts/artifacts/VoteToken.json +0 -895
- package/src/lp/tasks/LpAutoRebalanceTask.ts +0 -117
- package/src/lp/tasks/__tests__/LpAutoRebalanceTask.test.ts +0 -370
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck — legacy code from absorbed plugins (lp-manager, lpinfo, dexscreener, defi-news, birdeye); strict types pending cleanup
|
|
2
1
|
import type { IAgentRuntime } from "@elizaos/core";
|
|
3
2
|
import { logger, Service } from "@elizaos/core";
|
|
4
3
|
|
|
@@ -28,9 +27,17 @@ interface KaminoUserMarketRef {
|
|
|
28
27
|
discovered: boolean;
|
|
29
28
|
}
|
|
30
29
|
|
|
30
|
+
export interface KaminoUserPosition {
|
|
31
|
+
token?: string;
|
|
32
|
+
amount?: number;
|
|
33
|
+
value?: number;
|
|
34
|
+
apy?: number;
|
|
35
|
+
market?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
31
38
|
interface KaminoUserPositionsOk {
|
|
32
|
-
lending:
|
|
33
|
-
borrowing:
|
|
39
|
+
lending: KaminoUserPosition[];
|
|
40
|
+
borrowing: KaminoUserPosition[];
|
|
34
41
|
totalValue: number;
|
|
35
42
|
markets: KaminoUserMarketRef[];
|
|
36
43
|
userAccounts: number;
|
|
@@ -38,15 +45,17 @@ interface KaminoUserPositionsOk {
|
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
interface KaminoUserPositionsErr {
|
|
41
|
-
lending:
|
|
42
|
-
borrowing:
|
|
48
|
+
lending: KaminoUserPosition[];
|
|
49
|
+
borrowing: KaminoUserPosition[];
|
|
43
50
|
totalValue: number;
|
|
44
51
|
error: string;
|
|
45
52
|
}
|
|
46
53
|
|
|
47
|
-
type KaminoUserPositions =
|
|
54
|
+
export type KaminoUserPositions =
|
|
55
|
+
| KaminoUserPositionsOk
|
|
56
|
+
| KaminoUserPositionsErr;
|
|
48
57
|
|
|
49
|
-
interface KaminoMarketOverviewRow {
|
|
58
|
+
export interface KaminoMarketOverviewRow {
|
|
50
59
|
address: string;
|
|
51
60
|
marketName: string;
|
|
52
61
|
dataSize: number;
|
|
@@ -80,7 +89,7 @@ interface KaminoMarketOverviewErr {
|
|
|
80
89
|
|
|
81
90
|
type KaminoMarketOverview = KaminoMarketOverviewOk | KaminoMarketOverviewErr;
|
|
82
91
|
|
|
83
|
-
interface KaminoReserve {
|
|
92
|
+
export interface KaminoReserve {
|
|
84
93
|
market: string;
|
|
85
94
|
marketName: string;
|
|
86
95
|
dataSize: number;
|
|
@@ -113,6 +122,19 @@ interface KaminoConnectionTestResult {
|
|
|
113
122
|
timestamp: string;
|
|
114
123
|
}
|
|
115
124
|
|
|
125
|
+
function getStringSetting(
|
|
126
|
+
runtime: IAgentRuntime | undefined,
|
|
127
|
+
key: string,
|
|
128
|
+
fallback: string,
|
|
129
|
+
): string {
|
|
130
|
+
const value = runtime?.getSetting(key);
|
|
131
|
+
return typeof value === "string" && value.length > 0 ? value : fallback;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function formatLogError(error: unknown): string {
|
|
135
|
+
return error instanceof Error ? error.message : String(error);
|
|
136
|
+
}
|
|
137
|
+
|
|
116
138
|
/**
|
|
117
139
|
* Kamino Lending Protocol Service
|
|
118
140
|
* Handles interactions with Kamino lending protocol using the official API
|
|
@@ -126,11 +148,14 @@ export class KaminoService extends Service {
|
|
|
126
148
|
capabilityDescription =
|
|
127
149
|
"Provides standardized access to Kamino lending protocol via the official API." as const;
|
|
128
150
|
|
|
129
|
-
constructor(runtime
|
|
151
|
+
constructor(runtime?: IAgentRuntime) {
|
|
130
152
|
super(runtime);
|
|
131
153
|
|
|
132
|
-
this.apiBaseUrl =
|
|
133
|
-
runtime
|
|
154
|
+
this.apiBaseUrl = getStringSetting(
|
|
155
|
+
runtime,
|
|
156
|
+
"KAMINO_API_URL",
|
|
157
|
+
KAMINO_API_BASE_URL,
|
|
158
|
+
);
|
|
134
159
|
|
|
135
160
|
logger.log(`KaminoService initialized with API: ${this.apiBaseUrl}`);
|
|
136
161
|
logger.log(`Program ID: ${KAMINO_LEND_PROGRAM_ID}`);
|
|
@@ -161,7 +186,10 @@ export class KaminoService extends Service {
|
|
|
161
186
|
|
|
162
187
|
return await response.json();
|
|
163
188
|
} catch (error) {
|
|
164
|
-
logger.error(
|
|
189
|
+
logger.error(
|
|
190
|
+
`API request failed for ${endpoint}:`,
|
|
191
|
+
formatLogError(error),
|
|
192
|
+
);
|
|
165
193
|
throw error;
|
|
166
194
|
}
|
|
167
195
|
}
|
|
@@ -195,7 +223,7 @@ export class KaminoService extends Service {
|
|
|
195
223
|
);
|
|
196
224
|
return userPositions;
|
|
197
225
|
} catch (error) {
|
|
198
|
-
logger.error("Error fetching user positions:", error);
|
|
226
|
+
logger.error("Error fetching user positions:", formatLogError(error));
|
|
199
227
|
return {
|
|
200
228
|
lending: [],
|
|
201
229
|
borrowing: [],
|
|
@@ -231,7 +259,7 @@ export class KaminoService extends Service {
|
|
|
231
259
|
}
|
|
232
260
|
logger.log(`Found ${stakingYields.length} staking yields`);
|
|
233
261
|
} catch (error) {
|
|
234
|
-
logger.warn("Error fetching staking yields:", error);
|
|
262
|
+
logger.warn("Error fetching staking yields:", formatLogError(error));
|
|
235
263
|
}
|
|
236
264
|
|
|
237
265
|
// Get Limo trades to discover trading pairs
|
|
@@ -248,7 +276,7 @@ export class KaminoService extends Service {
|
|
|
248
276
|
}
|
|
249
277
|
logger.log(`Found ${limoTrades.length} Limo trades`);
|
|
250
278
|
} catch (error) {
|
|
251
|
-
logger.warn("Error fetching Limo trades:", error);
|
|
279
|
+
logger.warn("Error fetching Limo trades:", formatLogError(error));
|
|
252
280
|
}
|
|
253
281
|
|
|
254
282
|
// Limit to first 20 markets to avoid overwhelming
|
|
@@ -257,7 +285,7 @@ export class KaminoService extends Service {
|
|
|
257
285
|
|
|
258
286
|
return limitedMarkets;
|
|
259
287
|
} catch (error) {
|
|
260
|
-
logger.error("Error discovering markets:", error);
|
|
288
|
+
logger.error("Error discovering markets:", formatLogError(error));
|
|
261
289
|
return [];
|
|
262
290
|
}
|
|
263
291
|
}
|
|
@@ -314,7 +342,10 @@ export class KaminoService extends Service {
|
|
|
314
342
|
),
|
|
315
343
|
);
|
|
316
344
|
} catch (error) {
|
|
317
|
-
logger.warn(
|
|
345
|
+
logger.warn(
|
|
346
|
+
"Error fetching staking yields for overview:",
|
|
347
|
+
formatLogError(error),
|
|
348
|
+
);
|
|
318
349
|
}
|
|
319
350
|
|
|
320
351
|
// Get Limo trades for volume data
|
|
@@ -326,7 +357,10 @@ export class KaminoService extends Service {
|
|
|
326
357
|
}, 0);
|
|
327
358
|
overview.limoTrades = limoTrades.length;
|
|
328
359
|
} catch (error) {
|
|
329
|
-
logger.warn(
|
|
360
|
+
logger.warn(
|
|
361
|
+
"Error fetching Limo trades for overview:",
|
|
362
|
+
formatLogError(error),
|
|
363
|
+
);
|
|
330
364
|
}
|
|
331
365
|
|
|
332
366
|
// Create market entries
|
|
@@ -346,7 +380,7 @@ export class KaminoService extends Service {
|
|
|
346
380
|
);
|
|
347
381
|
return overview;
|
|
348
382
|
} catch (error) {
|
|
349
|
-
logger.error("Error fetching market overview:", error);
|
|
383
|
+
logger.error("Error fetching market overview:", formatLogError(error));
|
|
350
384
|
return {
|
|
351
385
|
totalMarkets: 0,
|
|
352
386
|
totalTvl: 0,
|
|
@@ -394,7 +428,10 @@ export class KaminoService extends Service {
|
|
|
394
428
|
}
|
|
395
429
|
}
|
|
396
430
|
} catch (error) {
|
|
397
|
-
logger.warn(
|
|
431
|
+
logger.warn(
|
|
432
|
+
"Error fetching staking yields for reserves:",
|
|
433
|
+
formatLogError(error),
|
|
434
|
+
);
|
|
398
435
|
}
|
|
399
436
|
|
|
400
437
|
// Get Limo trades to understand trading opportunities
|
|
@@ -424,13 +461,16 @@ export class KaminoService extends Service {
|
|
|
424
461
|
}
|
|
425
462
|
}
|
|
426
463
|
} catch (error) {
|
|
427
|
-
logger.warn(
|
|
464
|
+
logger.warn(
|
|
465
|
+
"Error fetching Limo trades for reserves:",
|
|
466
|
+
formatLogError(error),
|
|
467
|
+
);
|
|
428
468
|
}
|
|
429
469
|
|
|
430
470
|
logger.log(`Found ${reserves.length} reserves`);
|
|
431
471
|
return reserves;
|
|
432
472
|
} catch (error) {
|
|
433
|
-
logger.error("Error fetching available reserves:", error);
|
|
473
|
+
logger.error("Error fetching available reserves:", formatLogError(error));
|
|
434
474
|
return [];
|
|
435
475
|
}
|
|
436
476
|
}
|
|
@@ -447,7 +487,7 @@ export class KaminoService extends Service {
|
|
|
447
487
|
multisig: KAMINO_MULTISIG,
|
|
448
488
|
dataSize: 0, // Not available via API
|
|
449
489
|
lamports: 0, // Not available via API
|
|
450
|
-
owner: "System Program", //
|
|
490
|
+
owner: "System Program", // Default owner label when account metadata is absent.
|
|
451
491
|
executable: false,
|
|
452
492
|
rentEpoch: 0,
|
|
453
493
|
};
|
|
@@ -455,7 +495,7 @@ export class KaminoService extends Service {
|
|
|
455
495
|
logger.log("Program info retrieved successfully");
|
|
456
496
|
return info;
|
|
457
497
|
} catch (error) {
|
|
458
|
-
logger.error("Error fetching program info:", error);
|
|
498
|
+
logger.error("Error fetching program info:", formatLogError(error));
|
|
459
499
|
throw error;
|
|
460
500
|
}
|
|
461
501
|
}
|
|
@@ -665,7 +705,7 @@ export class KaminoService extends Service {
|
|
|
665
705
|
`API connection test passed. Found ${stakingYields.length} staking yields`,
|
|
666
706
|
);
|
|
667
707
|
} catch (error) {
|
|
668
|
-
logger.error("API connection test failed:", error);
|
|
708
|
+
logger.error("API connection test failed:", formatLogError(error));
|
|
669
709
|
}
|
|
670
710
|
|
|
671
711
|
// Test Limo trades endpoint
|
|
@@ -677,7 +717,7 @@ export class KaminoService extends Service {
|
|
|
677
717
|
`Limo trades test passed. Found ${limoTrades.length} trades`,
|
|
678
718
|
);
|
|
679
719
|
} catch (error) {
|
|
680
|
-
logger.error("Limo trades test failed:", error);
|
|
720
|
+
logger.error("Limo trades test failed:", formatLogError(error));
|
|
681
721
|
}
|
|
682
722
|
|
|
683
723
|
// Test market discovery
|
|
@@ -686,13 +726,13 @@ export class KaminoService extends Service {
|
|
|
686
726
|
results.marketCount = markets.length;
|
|
687
727
|
logger.log(`Market discovery test: ${markets.length} markets found`);
|
|
688
728
|
} catch (error) {
|
|
689
|
-
logger.error("Market discovery test failed:", error);
|
|
729
|
+
logger.error("Market discovery test failed:", formatLogError(error));
|
|
690
730
|
}
|
|
691
731
|
|
|
692
732
|
logger.log("Connection test completed");
|
|
693
733
|
return results;
|
|
694
734
|
} catch (error) {
|
|
695
|
-
logger.error("Error in connection test:", error);
|
|
735
|
+
logger.error("Error in connection test:", formatLogError(error));
|
|
696
736
|
throw error;
|
|
697
737
|
}
|
|
698
738
|
}
|
|
@@ -727,12 +767,12 @@ export class KaminoService extends Service {
|
|
|
727
767
|
|
|
728
768
|
// Test connection on startup
|
|
729
769
|
const testResults = await this.testConnection();
|
|
730
|
-
logger.log("Startup connection test results
|
|
770
|
+
logger.log({ testResults }, "Startup connection test results");
|
|
731
771
|
|
|
732
772
|
this.isRunning = true;
|
|
733
773
|
logger.log("KaminoService started successfully");
|
|
734
774
|
} catch (error) {
|
|
735
|
-
logger.error("Failed to start KaminoService:", error);
|
|
775
|
+
logger.error("Failed to start KaminoService:", formatLogError(error));
|
|
736
776
|
throw error;
|
|
737
777
|
}
|
|
738
778
|
}
|
|
@@ -747,7 +787,7 @@ export class KaminoService extends Service {
|
|
|
747
787
|
this.isRunning = false;
|
|
748
788
|
logger.log("KaminoService stopped successfully");
|
|
749
789
|
} catch (error) {
|
|
750
|
-
logger.error("Failed to stop KaminoService:", error);
|
|
790
|
+
logger.error("Failed to stop KaminoService:", formatLogError(error));
|
|
751
791
|
throw error;
|
|
752
792
|
}
|
|
753
793
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import type { Plugin } from "@elizaos/core";
|
|
1
|
+
import type { IAgentRuntime, Plugin } from "@elizaos/core";
|
|
3
2
|
|
|
4
3
|
// Providers
|
|
5
4
|
import { steerLiquidityProvider } from "./providers/steerLiquidityProvider";
|
|
@@ -18,6 +17,12 @@ export const steerPlugin: Plugin = {
|
|
|
18
17
|
providers: [steerLiquidityProvider],
|
|
19
18
|
actions: [],
|
|
20
19
|
services: [SteerLiquidityService],
|
|
20
|
+
async dispose(runtime: IAgentRuntime) {
|
|
21
|
+
const svc = runtime.getService<SteerLiquidityService>(
|
|
22
|
+
SteerLiquidityService.serviceType,
|
|
23
|
+
);
|
|
24
|
+
await svc?.stop();
|
|
25
|
+
},
|
|
21
26
|
};
|
|
22
27
|
|
|
23
28
|
export default steerPlugin;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck — legacy code from absorbed plugins (lp-manager, lpinfo, dexscreener, defi-news, birdeye); strict types pending cleanup
|
|
2
1
|
import type { IAgentRuntime, Memory, Provider, State } from "@elizaos/core";
|
|
3
2
|
import type { SteerLiquidityService } from "../services/steerLiquidityService";
|
|
4
3
|
import type {
|
|
@@ -8,6 +7,18 @@ import type {
|
|
|
8
7
|
|
|
9
8
|
const STEER_LIQUIDITY_TEXT_LIMIT = 4000;
|
|
10
9
|
|
|
10
|
+
function getVaultTokenAddress(
|
|
11
|
+
vaultToken: SteerVaultDetailInput["token0"],
|
|
12
|
+
): string {
|
|
13
|
+
if (!vaultToken || vaultToken === "Unknown") {
|
|
14
|
+
return "Unknown";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return typeof vaultToken === "string"
|
|
18
|
+
? vaultToken
|
|
19
|
+
: vaultToken.address || "Unknown";
|
|
20
|
+
}
|
|
21
|
+
|
|
11
22
|
/**
|
|
12
23
|
* Steer Finance Liquidity Protocol Provider
|
|
13
24
|
* Provides information about Steer Finance vaults and staking pools
|
|
@@ -17,7 +28,7 @@ export const steerLiquidityProvider: Provider = {
|
|
|
17
28
|
description:
|
|
18
29
|
"Provides information about Steer Finance vaults, staking pools, and token-specific liquidity data across multiple chains",
|
|
19
30
|
descriptionCompressed:
|
|
20
|
-
"
|
|
31
|
+
"Steer Finance vault/staking pool/token liquidity across chains",
|
|
21
32
|
dynamic: true,
|
|
22
33
|
contexts: ["finance", "crypto", "wallet"],
|
|
23
34
|
contextGate: { anyOf: ["finance", "crypto", "wallet"] },
|
|
@@ -25,15 +36,6 @@ export const steerLiquidityProvider: Provider = {
|
|
|
25
36
|
cacheScope: "turn",
|
|
26
37
|
roleGate: { minRole: "USER" },
|
|
27
38
|
get: async (runtime: IAgentRuntime, message: Memory, _state: State) => {
|
|
28
|
-
console.log("🚀 STEER_LIQUIDITY provider called");
|
|
29
|
-
console.log("📝 Message content:", message.content.text);
|
|
30
|
-
console.log("📺 Channel type:", message.content.channelType);
|
|
31
|
-
console.log("🔧 Runtime methods available:", {
|
|
32
|
-
getService: !!runtime.getService,
|
|
33
|
-
getCache: !!runtime.getCache,
|
|
34
|
-
getSetting: !!runtime.getSetting,
|
|
35
|
-
});
|
|
36
|
-
|
|
37
39
|
let liquidityInfo = "";
|
|
38
40
|
|
|
39
41
|
try {
|
|
@@ -42,7 +44,6 @@ export const steerLiquidityProvider: Provider = {
|
|
|
42
44
|
"STEER_LIQUIDITY_SERVICE",
|
|
43
45
|
) as SteerLiquidityService;
|
|
44
46
|
if (!steerLiquidityService) {
|
|
45
|
-
console.log("Steer liquidity service not available");
|
|
46
47
|
return {
|
|
47
48
|
data: {},
|
|
48
49
|
values: {},
|
|
@@ -50,27 +51,21 @@ export const steerLiquidityProvider: Provider = {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
console.log("Steer liquidity service found, generating report...");
|
|
54
|
-
|
|
55
54
|
liquidityInfo += `=== STEER FINANCE LIQUIDITY POOLS REPORT ===\n\n`;
|
|
56
55
|
|
|
57
56
|
// Extract token address and chain from message content
|
|
58
57
|
const content = message.content.text || "";
|
|
59
|
-
console.log("Searching for token address and chain in content:", content);
|
|
60
58
|
|
|
61
59
|
// More flexible regex to catch various formats
|
|
62
60
|
const tokenMatch = content.match(/(0x[a-fA-F0-9]{40})/);
|
|
63
|
-
console.log("Token match result:", tokenMatch);
|
|
64
61
|
|
|
65
62
|
// Also try to find any 0x pattern that might be a token address
|
|
66
63
|
const anyHexMatch = content.match(/(0x[a-fA-F0-9]+)/);
|
|
67
|
-
console.log("Any hex match result:", anyHexMatch);
|
|
68
64
|
|
|
69
65
|
// Extract chain name from content
|
|
70
66
|
const chainMatch = content.match(
|
|
71
67
|
/\b(base|ethereum|mainnet|polygon|arbitrum|optimism)\b/i,
|
|
72
68
|
);
|
|
73
|
-
console.log("Chain match result:", chainMatch);
|
|
74
69
|
|
|
75
70
|
// Map chain names to chain IDs
|
|
76
71
|
const chainNameToId: { [key: string]: number } = {
|
|
@@ -85,7 +80,6 @@ export const steerLiquidityProvider: Provider = {
|
|
|
85
80
|
const targetChainId = chainMatch
|
|
86
81
|
? chainNameToId[chainMatch[1].toLowerCase()]
|
|
87
82
|
: null;
|
|
88
|
-
console.log("Target chain ID:", targetChainId);
|
|
89
83
|
|
|
90
84
|
// Validate chain if specified
|
|
91
85
|
if (
|
|
@@ -104,7 +98,6 @@ export const steerLiquidityProvider: Provider = {
|
|
|
104
98
|
|
|
105
99
|
if (tokenMatch) {
|
|
106
100
|
const tokenIdentifier = tokenMatch[1];
|
|
107
|
-
console.log(`Token identifier found: ${tokenIdentifier}`);
|
|
108
101
|
|
|
109
102
|
// Validate token address format
|
|
110
103
|
if (!isValidEthereumAddress(tokenIdentifier)) {
|
|
@@ -180,7 +173,7 @@ export const steerLiquidityProvider: Provider = {
|
|
|
180
173
|
|
|
181
174
|
return {
|
|
182
175
|
data,
|
|
183
|
-
values: {}
|
|
176
|
+
values: {},
|
|
184
177
|
text,
|
|
185
178
|
};
|
|
186
179
|
},
|
|
@@ -272,7 +265,7 @@ async function getVaultDetails(vault: SteerVaultDetailInput): Promise<string> {
|
|
|
272
265
|
const token0Address =
|
|
273
266
|
typeof vault.token0 === "string"
|
|
274
267
|
? vault.token0
|
|
275
|
-
: vault.token0
|
|
268
|
+
: vault.token0.address || "Unknown";
|
|
276
269
|
const token0Symbol = getTokenSymbol(token0Address);
|
|
277
270
|
details += ` 🪙 Token0: ${token0Address} (${token0Symbol})\n`;
|
|
278
271
|
} else {
|
|
@@ -283,7 +276,7 @@ async function getVaultDetails(vault: SteerVaultDetailInput): Promise<string> {
|
|
|
283
276
|
const token1Address =
|
|
284
277
|
typeof vault.token1 === "string"
|
|
285
278
|
? vault.token1
|
|
286
|
-
: vault.token1
|
|
279
|
+
: vault.token1.address || "Unknown";
|
|
287
280
|
const token1Symbol = getTokenSymbol(token1Address);
|
|
288
281
|
details += ` 🪙 Token1: ${token1Address} (${token1Symbol})\n`;
|
|
289
282
|
} else {
|
|
@@ -474,8 +467,10 @@ async function getSingleAssetDepositInfo(
|
|
|
474
467
|
depositInfo += ` 🔄 Strategy: ${vault.strategyType}\n`;
|
|
475
468
|
depositInfo += ` 🏊 Pool: ${vault.poolAddress || "N/A"}\n`;
|
|
476
469
|
depositInfo += ` 📝 Single-Asset Contract: ${vault.singleAssetDepositContract}\n`;
|
|
477
|
-
|
|
478
|
-
|
|
470
|
+
const token0Address = getVaultTokenAddress(vault.token0);
|
|
471
|
+
const token1Address = getVaultTokenAddress(vault.token1);
|
|
472
|
+
depositInfo += ` 🪙 Token0: ${token0Address} (${getTokenSymbol(token0Address)})\n`;
|
|
473
|
+
depositInfo += ` 🪙 Token1: ${token1Address} (${getTokenSymbol(token1Address)})\n`;
|
|
479
474
|
|
|
480
475
|
// Add additional APY breakdown if available
|
|
481
476
|
if (vault.apr1d || vault.apr7d || vault.apr14d) {
|
|
@@ -501,7 +496,11 @@ async function getSingleAssetDepositInfo(
|
|
|
501
496
|
depositInfo += `\n`;
|
|
502
497
|
|
|
503
498
|
depositInfo += ` 💡 Single-Asset Deposit Features:\n`;
|
|
504
|
-
|
|
499
|
+
const depositSide =
|
|
500
|
+
tokenIdentifier.toLowerCase() === token0Address.toLowerCase()
|
|
501
|
+
? "Token0"
|
|
502
|
+
: "Token1";
|
|
503
|
+
depositInfo += ` • Deposit only one token (${depositSide})\n`;
|
|
505
504
|
depositInfo += ` • Automatic internal swap to balance the pair\n`;
|
|
506
505
|
depositInfo += ` • Configurable slippage protection\n`;
|
|
507
506
|
depositInfo += ` • Preview functionality before execution\n`;
|