@elizaos/plugin-wallet 2.0.0-beta.1
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/LICENSE +21 -0
- package/README.md +64 -0
- package/auto-enable.ts +76 -0
- package/dist/LpManagementService-BWrQ5-cO.mjs +353 -0
- package/dist/MockLpService-D_Apn4Fd.mjs +99 -0
- package/dist/aerodrome-CfnESC32.mjs +890 -0
- package/dist/chunk-hT5z_Zn9.mjs +35 -0
- package/dist/index.d.mts +34727 -0
- package/dist/index.mjs +21590 -0
- package/dist/lib/server-wallet-trade.d.mts +34 -0
- package/dist/lib/server-wallet-trade.mjs +306 -0
- package/dist/meteora-BPX39hZo.mjs +22640 -0
- package/dist/orca-Bybp1HXO.mjs +249 -0
- package/dist/pancakeswp-CkEXlXti.mjs +604 -0
- package/dist/plugin-ZO_MTyd0.mjs +529 -0
- package/dist/raydium-rfaM9yEf.mjs +539 -0
- package/dist/sdk/index.d.mts +32492 -0
- package/dist/sdk/index.mjs +6415 -0
- package/dist/types-D5252NZk.mjs +487 -0
- package/dist/uniswap-CReXgXVN.mjs +573 -0
- package/dist/wallet-action.d.mts +6 -0
- package/dist/wallet-action.mjs +820 -0
- package/package.json +152 -0
- package/src/actions/failure-codes.ts +79 -0
- package/src/actions/index.ts +1 -0
- package/src/analytics/birdeye/actions/wallet-search-address.ts +9 -0
- package/src/analytics/birdeye/birdeye-task.ts +175 -0
- package/src/analytics/birdeye/birdeye.ts +813 -0
- package/src/analytics/birdeye/constants.ts +74 -0
- package/src/analytics/birdeye/providers/agent-portfolio-provider.ts +18 -0
- package/src/analytics/birdeye/providers/market.ts +227 -0
- package/src/analytics/birdeye/providers/portfolio-factory.test.ts +138 -0
- package/src/analytics/birdeye/providers/portfolio-factory.ts +252 -0
- package/src/analytics/birdeye/providers/trending.ts +365 -0
- package/src/analytics/birdeye/providers/wallet.ts +14 -0
- package/src/analytics/birdeye/search-category.test.ts +207 -0
- package/src/analytics/birdeye/search-category.ts +506 -0
- package/src/analytics/birdeye/service.ts +992 -0
- package/src/analytics/birdeye/tasks/birdeye.ts +232 -0
- package/src/analytics/birdeye/types/api/common.ts +305 -0
- package/src/analytics/birdeye/types/api/defi.ts +220 -0
- package/src/analytics/birdeye/types/api/pair.ts +200 -0
- package/src/analytics/birdeye/types/api/search.ts +86 -0
- package/src/analytics/birdeye/types/api/token.ts +635 -0
- package/src/analytics/birdeye/types/api/trader.ts +76 -0
- package/src/analytics/birdeye/types/api/wallet.ts +181 -0
- package/src/analytics/birdeye/types/shared.ts +106 -0
- package/src/analytics/birdeye/utils.ts +700 -0
- package/src/analytics/dexscreener/errors.ts +28 -0
- package/src/analytics/dexscreener/index.ts +3 -0
- package/src/analytics/dexscreener/search-category.test.ts +49 -0
- package/src/analytics/dexscreener/search-category.ts +42 -0
- package/src/analytics/dexscreener/service.ts +595 -0
- package/src/analytics/dexscreener/types.ts +128 -0
- package/src/analytics/lpinfo/index.d.ts +7 -0
- package/src/analytics/lpinfo/index.ts +52 -0
- package/src/analytics/lpinfo/kamino/README.md +102 -0
- package/src/analytics/lpinfo/kamino/index.ts +24 -0
- package/src/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.ts +422 -0
- package/src/analytics/lpinfo/kamino/providers/kaminoPoolProvider.ts +365 -0
- package/src/analytics/lpinfo/kamino/providers/kaminoProvider.ts +496 -0
- package/src/analytics/lpinfo/kamino/services/kaminoLiquidityService.ts +1123 -0
- package/src/analytics/lpinfo/kamino/services/kaminoService.ts +758 -0
- package/src/analytics/lpinfo/steer/README.md +169 -0
- package/src/analytics/lpinfo/steer/index.ts +23 -0
- package/src/analytics/lpinfo/steer/providers/steerLiquidityProvider.ts +544 -0
- package/src/analytics/lpinfo/steer/services/steerLiquidityService.ts +1690 -0
- package/src/analytics/lpinfo/steer/steer-display-types.ts +99 -0
- package/src/analytics/news/index.ts +52 -0
- package/src/analytics/news/interfaces/types.ts +222 -0
- package/src/analytics/news/providers/defiNewsProvider.ts +734 -0
- package/src/analytics/news/services/newsDataService.ts +332 -0
- package/src/analytics/news/utils/formatters.ts +151 -0
- package/src/analytics/token-info/action.ts +240 -0
- package/src/analytics/token-info/index.ts +3 -0
- package/src/analytics/token-info/params.ts +215 -0
- package/src/analytics/token-info/providers.ts +681 -0
- package/src/analytics/token-info/service.ts +168 -0
- package/src/analytics/token-info/types.ts +74 -0
- package/src/audit/audit-log.ts +45 -0
- package/src/browser-shim/build-shim.ts +123 -0
- package/src/browser-shim/index.ts +5 -0
- package/src/browser-shim/shim.template.js +563 -0
- package/src/chains/evm/.github/workflows/npm-deploy.yml +112 -0
- package/src/chains/evm/LICENSE +21 -0
- package/src/chains/evm/README.md +106 -0
- package/src/chains/evm/actions/helpers.ts +147 -0
- package/src/chains/evm/actions/swap.ts +839 -0
- package/src/chains/evm/actions/transfer.ts +254 -0
- package/src/chains/evm/biome.json +61 -0
- package/src/chains/evm/bridge-router.ts +660 -0
- package/src/chains/evm/build.ts +89 -0
- package/src/chains/evm/chain-handler.ts +416 -0
- package/src/chains/evm/constants.ts +23 -0
- package/src/chains/evm/contracts/artifacts/OZGovernor.json +1707 -0
- package/src/chains/evm/contracts/artifacts/TimelockController.json +1007 -0
- package/src/chains/evm/contracts/artifacts/VoteToken.json +895 -0
- package/src/chains/evm/dex/aerodrome/index.ts +34 -0
- package/src/chains/evm/dex/aerodrome/services/AerodromeLpService.ts +558 -0
- package/src/chains/evm/dex/aerodrome/types.ts +318 -0
- package/src/chains/evm/dex/pancakeswp/index.ts +35 -0
- package/src/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.ts +743 -0
- package/src/chains/evm/dex/pancakeswp/types.ts +65 -0
- package/src/chains/evm/dex/uniswap/index.ts +35 -0
- package/src/chains/evm/dex/uniswap/services/UniswapV3LpService.ts +759 -0
- package/src/chains/evm/dex/uniswap/types.ts +390 -0
- package/src/chains/evm/generated/specs/spec-helpers.ts +73 -0
- package/src/chains/evm/generated/specs/specs.ts +151 -0
- package/src/chains/evm/gov-router.ts +250 -0
- package/src/chains/evm/index.browser.ts +16 -0
- package/src/chains/evm/index.ts +31 -0
- package/src/chains/evm/prompts.ts +193 -0
- package/src/chains/evm/providers/get-balance.ts +123 -0
- package/src/chains/evm/providers/wallet.ts +715 -0
- package/src/chains/evm/routes/sign.ts +333 -0
- package/src/chains/evm/rpc-providers.ts +410 -0
- package/src/chains/evm/service.ts +140 -0
- package/src/chains/evm/templates/index.ts +10 -0
- package/src/chains/evm/types/index.ts +432 -0
- package/src/chains/evm/vitest.config.ts +18 -0
- package/src/chains/registry.ts +668 -0
- package/src/chains/solana/README.md +367 -0
- package/src/chains/wallet-action.ts +533 -0
- package/src/chains/wallet-router.test.ts +296 -0
- package/src/contracts.ts +65 -0
- package/src/core-augmentation.ts +10 -0
- package/src/index.ts +71 -0
- package/src/lib/server-wallet-trade.ts +192 -0
- package/src/lib/wallet-export-guard.ts +330 -0
- package/src/lp/actions/liquidity.ts +827 -0
- package/src/lp/e2e/real-token-tests.ts +428 -0
- package/src/lp/e2e/scenarios.ts +470 -0
- package/src/lp/e2e/test-utils.ts +145 -0
- package/src/lp/lp-manager-entry.ts +303 -0
- package/src/lp/services/ConcentratedLiquidityService.ts +120 -0
- package/src/lp/services/DexInteractionService.ts +226 -0
- package/src/lp/services/LpManagementService.test.ts +148 -0
- package/src/lp/services/LpManagementService.ts +632 -0
- package/src/lp/services/UserLpProfileService.ts +163 -0
- package/src/lp/services/VaultService.ts +153 -0
- package/src/lp/services/YieldOptimizationService.ts +344 -0
- package/src/lp/services/__tests__/MockLpService.ts +146 -0
- package/src/lp/tasks/LpAutoRebalanceTask.ts +117 -0
- package/src/lp/tasks/__tests__/LpAutoRebalanceTask.test.ts +370 -0
- package/src/lp/types.ts +582 -0
- package/src/lp/utils/solanaClient.ts +143 -0
- package/src/plugin.ts +125 -0
- package/src/policy/policy.ts +19 -0
- package/src/providers/canonical-provider.ts +27 -0
- package/src/providers/unified-wallet-provider.ts +79 -0
- package/src/register-routes.ts +11 -0
- package/src/routes/plugin.ts +47 -0
- package/src/routes/wallet-market-overview-route.ts +869 -0
- package/src/sdk/abi.ts +258 -0
- package/src/sdk/bridge/abis.ts +126 -0
- package/src/sdk/bridge/client.ts +518 -0
- package/src/sdk/bridge/index.ts +56 -0
- package/src/sdk/bridge/solana.ts +604 -0
- package/src/sdk/bridge/types.ts +202 -0
- package/src/sdk/convenience.ts +347 -0
- package/src/sdk/escrow/MutualStakeEscrow.ts +480 -0
- package/src/sdk/escrow/types.ts +64 -0
- package/src/sdk/escrow/verifiers.ts +73 -0
- package/src/sdk/identity/erc8004.ts +692 -0
- package/src/sdk/identity/reputation.ts +449 -0
- package/src/sdk/identity/uaid.ts +497 -0
- package/src/sdk/identity/validation.ts +372 -0
- package/src/sdk/index.ts +763 -0
- package/src/sdk/policy/SpendingPolicy.ts +260 -0
- package/src/sdk/policy/UptoBillingPolicy.ts +320 -0
- package/src/sdk/router/PaymentRouter.ts +215 -0
- package/src/sdk/router/index.ts +8 -0
- package/src/sdk/swap/SwapModule.ts +310 -0
- package/src/sdk/swap/abi.ts +117 -0
- package/src/sdk/swap/index.ts +34 -0
- package/src/sdk/swap/types.ts +135 -0
- package/src/sdk/tokens/decimals.ts +140 -0
- package/src/sdk/tokens/registry.ts +911 -0
- package/src/sdk/tokens/solana.ts +419 -0
- package/src/sdk/tokens/transfers.ts +327 -0
- package/src/sdk/types.ts +158 -0
- package/src/sdk/wallet-core.ts +115 -0
- package/src/sdk/x402/budget.ts +168 -0
- package/src/sdk/x402/chains/abstract/index.ts +280 -0
- package/src/sdk/x402/client.ts +320 -0
- package/src/sdk/x402/index.ts +46 -0
- package/src/sdk/x402/middleware.ts +92 -0
- package/src/sdk/x402/multi-asset.ts +144 -0
- package/src/sdk/x402/types.ts +156 -0
- package/src/services/wallet-backend-service.ts +328 -0
- package/src/types/wallet-router.ts +227 -0
- package/src/utils/intent-trajectory.ts +106 -0
- package/src/wallet/backend.ts +62 -0
- package/src/wallet/errors.ts +49 -0
- package/src/wallet/index.ts +27 -0
- package/src/wallet/local-eoa-backend.ts +201 -0
- package/src/wallet/pending.ts +60 -0
- package/src/wallet/select-backend.ts +47 -0
- package/src/wallet/steward-backend.ts +161 -0
- package/src/wallet-action.ts +1 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Steer Finance Liquidity Protocol Integration
|
|
2
|
+
|
|
3
|
+
This module provides comprehensive integration with the Steer Finance liquidity protocol, including both SDK-based and GraphQL-based data retrieval.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Multi-chain Support**: Ethereum, Polygon, Arbitrum, Optimism, and Base
|
|
8
|
+
- **SDK Integration**: Uses official Steer Protocol SDK for core functionality
|
|
9
|
+
- **GraphQL Enrichment**: Pulls additional vault data from Steer Protocol subgraph
|
|
10
|
+
- **Vault Discovery**: Find vaults containing specific tokens
|
|
11
|
+
- **Liquidity Analytics**: TVL, volume, APY, and fee analysis
|
|
12
|
+
- **Single-Asset Deposits**: Support for single-token deposits with automatic balancing
|
|
13
|
+
|
|
14
|
+
## GraphQL Integration
|
|
15
|
+
|
|
16
|
+
The service now automatically enriches vault data with detailed information from the Steer Protocol subgraph:
|
|
17
|
+
|
|
18
|
+
### Endpoint
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-base/prod/gn
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Data Retrieved
|
|
25
|
+
|
|
26
|
+
When a vault is identified, the service automatically fetches:
|
|
27
|
+
|
|
28
|
+
- **Basic Vault Info**: Name, token pairs, pool address
|
|
29
|
+
- **Financial Metrics**: Weekly fee APR, token balances, LP token supply
|
|
30
|
+
- **Strategy Details**: Strategy token info, beacon name, creator details
|
|
31
|
+
- **Fee Information**: Fee tier, accumulated fees for both tokens
|
|
32
|
+
- **Metadata**: IPFS payload, deployer address
|
|
33
|
+
|
|
34
|
+
### Example GraphQL Query
|
|
35
|
+
|
|
36
|
+
```graphql
|
|
37
|
+
query GetVault($vaultId: ID!) {
|
|
38
|
+
vault(id: $vaultId) {
|
|
39
|
+
id
|
|
40
|
+
name
|
|
41
|
+
token0
|
|
42
|
+
token1
|
|
43
|
+
pool
|
|
44
|
+
weeklyFeeAPR
|
|
45
|
+
token0Symbol
|
|
46
|
+
token0Decimals
|
|
47
|
+
token1Symbol
|
|
48
|
+
token1Decimals
|
|
49
|
+
token0Balance
|
|
50
|
+
token1Balance
|
|
51
|
+
totalLPTokensIssued
|
|
52
|
+
feeTier
|
|
53
|
+
fees0
|
|
54
|
+
fees1
|
|
55
|
+
strategyToken {
|
|
56
|
+
id
|
|
57
|
+
name
|
|
58
|
+
creator {
|
|
59
|
+
id
|
|
60
|
+
}
|
|
61
|
+
admin
|
|
62
|
+
executionBundle
|
|
63
|
+
}
|
|
64
|
+
beaconName
|
|
65
|
+
payloadIpfs
|
|
66
|
+
deployer
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Usage
|
|
72
|
+
|
|
73
|
+
### Basic Token Search
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// Search for vaults containing a specific token
|
|
77
|
+
const tokenStats = await steerLiquidityService.getTokenLiquidityStats(
|
|
78
|
+
"0xA0b86a33E6441b8c4C8C1C1B8c4C8C1C1B8c4C8C1B8",
|
|
79
|
+
);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Direct Vault Lookup
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
// Get detailed vault information (GraphQL + SDK)
|
|
86
|
+
const vaultDetails = await steerLiquidityService.getVaultDetails(
|
|
87
|
+
"0x88dbbb53aa3253afd45b4ff1b40a84e36608b212",
|
|
88
|
+
8453,
|
|
89
|
+
);
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### GraphQL Testing
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
// Test GraphQL connection
|
|
96
|
+
const graphqlStatus = await steerLiquidityService.testGraphQLConnection();
|
|
97
|
+
|
|
98
|
+
// Test specific vault query
|
|
99
|
+
const vaultTest = await steerLiquidityService.testGraphQLVaultQuery(
|
|
100
|
+
"0x88dbbb53aa3253afd45b4ff1b40a84e36608b212",
|
|
101
|
+
);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Data Flow
|
|
105
|
+
|
|
106
|
+
1. **SDK Data**: Basic vault information retrieved via Steer Protocol SDK
|
|
107
|
+
2. **GraphQL Enrichment**: Additional data fetched from subgraph
|
|
108
|
+
3. **Data Merging**: SDK and GraphQL data combined into enriched vault objects
|
|
109
|
+
4. **Display**: Provider formats and displays all available information
|
|
110
|
+
|
|
111
|
+
## Testing
|
|
112
|
+
|
|
113
|
+
Run the GraphQL test script to verify connectivity:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npx ts-node test-graphql.ts
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
This will test:
|
|
120
|
+
|
|
121
|
+
- Basic connection to the subgraph
|
|
122
|
+
- Vault-specific queries
|
|
123
|
+
- List vaults functionality
|
|
124
|
+
|
|
125
|
+
## Error Handling
|
|
126
|
+
|
|
127
|
+
The service gracefully handles GraphQL failures:
|
|
128
|
+
|
|
129
|
+
- Falls back to SDK-only data if GraphQL is unavailable
|
|
130
|
+
- Logs errors for debugging
|
|
131
|
+
- Continues operation with partial data
|
|
132
|
+
|
|
133
|
+
## Performance
|
|
134
|
+
|
|
135
|
+
- **Caching**: 5-minute TTL for frequently accessed data
|
|
136
|
+
- **Parallel Processing**: Multiple chains processed concurrently
|
|
137
|
+
- **Selective Enrichment**: GraphQL data only fetched when needed
|
|
138
|
+
|
|
139
|
+
## Supported Chains
|
|
140
|
+
|
|
141
|
+
- **Ethereum Mainnet** (Chain ID: 1)
|
|
142
|
+
- **Polygon** (Chain ID: 137)
|
|
143
|
+
- **Arbitrum One** (Chain ID: 42161)
|
|
144
|
+
- **Optimism** (Chain ID: 10)
|
|
145
|
+
- **Base** (Chain ID: 8453)
|
|
146
|
+
|
|
147
|
+
## Dependencies
|
|
148
|
+
|
|
149
|
+
- `@steerprotocol/sdk`: Official Steer Protocol SDK
|
|
150
|
+
- `viem`: Ethereum client library
|
|
151
|
+
- `@elizaos/core`: Core framework
|
|
152
|
+
|
|
153
|
+
## Configuration
|
|
154
|
+
|
|
155
|
+
The service automatically configures:
|
|
156
|
+
|
|
157
|
+
- Multi-chain Viem clients
|
|
158
|
+
- Steer Protocol SDK instances
|
|
159
|
+
- GraphQL endpoint connections
|
|
160
|
+
- Caching strategies
|
|
161
|
+
|
|
162
|
+
## Monitoring
|
|
163
|
+
|
|
164
|
+
The service provides comprehensive logging:
|
|
165
|
+
|
|
166
|
+
- Connection status for each chain
|
|
167
|
+
- GraphQL query success/failure
|
|
168
|
+
- Data enrichment progress
|
|
169
|
+
- Error details for debugging
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// @ts-nocheck — legacy code from absorbed plugins (lp-manager, lpinfo, dexscreener, defi-news, birdeye); strict types pending cleanup
|
|
2
|
+
import type { Plugin } from "@elizaos/core";
|
|
3
|
+
|
|
4
|
+
// Providers
|
|
5
|
+
import { steerLiquidityProvider } from "./providers/steerLiquidityProvider";
|
|
6
|
+
|
|
7
|
+
// Services
|
|
8
|
+
import { SteerLiquidityService } from "./services/steerLiquidityService";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Steer Finance Protocol Plugin
|
|
12
|
+
* Provides comprehensive access to Steer Finance vaults and staking pools
|
|
13
|
+
*/
|
|
14
|
+
export const steerPlugin: Plugin = {
|
|
15
|
+
name: "steer-protocol",
|
|
16
|
+
description:
|
|
17
|
+
"Comprehensive Steer Finance protocol integration for viewing vaults, staking pools, and market analytics. Supports multi-chain liquidity pool tracking and yield optimization.",
|
|
18
|
+
providers: [steerLiquidityProvider],
|
|
19
|
+
actions: [],
|
|
20
|
+
services: [SteerLiquidityService],
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default steerPlugin;
|