@waiaas/daemon 2.6.0-rc.9 → 2.7.0-rc
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 +51 -3
- package/dist/api/routes/actions.d.ts.map +1 -1
- package/dist/api/routes/actions.js +43 -2
- package/dist/api/routes/actions.js.map +1 -1
- package/dist/api/routes/admin.d.ts +0 -30
- package/dist/api/routes/admin.d.ts.map +1 -1
- package/dist/api/routes/admin.js +201 -33
- package/dist/api/routes/admin.js.map +1 -1
- package/dist/api/routes/connect-info.d.ts +7 -0
- package/dist/api/routes/connect-info.d.ts.map +1 -1
- package/dist/api/routes/connect-info.js +36 -6
- package/dist/api/routes/connect-info.js.map +1 -1
- package/dist/api/routes/openapi-schemas.d.ts +496 -0
- package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
- package/dist/api/routes/openapi-schemas.js +51 -0
- package/dist/api/routes/openapi-schemas.js.map +1 -1
- package/dist/api/routes/staking.d.ts +31 -0
- package/dist/api/routes/staking.d.ts.map +1 -0
- package/dist/api/routes/staking.js +204 -0
- package/dist/api/routes/staking.js.map +1 -0
- package/dist/api/routes/transactions.d.ts.map +1 -1
- package/dist/api/routes/transactions.js +3 -2
- package/dist/api/routes/transactions.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +43 -1
- package/dist/api/server.js.map +1 -1
- package/dist/infrastructure/config/loader.js +3 -3
- package/dist/infrastructure/config/loader.js.map +1 -1
- package/dist/infrastructure/settings/hot-reload.d.ts +9 -0
- package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -1
- package/dist/infrastructure/settings/hot-reload.js +28 -0
- package/dist/infrastructure/settings/hot-reload.js.map +1 -1
- package/dist/infrastructure/settings/setting-keys.d.ts +1 -1
- package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
- package/dist/infrastructure/settings/setting-keys.js +23 -7
- package/dist/infrastructure/settings/setting-keys.js.map +1 -1
- package/dist/lifecycle/daemon.d.ts +15 -0
- package/dist/lifecycle/daemon.d.ts.map +1 -1
- package/dist/lifecycle/daemon.js +146 -1
- package/dist/lifecycle/daemon.js.map +1 -1
- package/dist/pipeline/gas-condition-tracker.d.ts +73 -0
- package/dist/pipeline/gas-condition-tracker.d.ts.map +1 -0
- package/dist/pipeline/gas-condition-tracker.js +214 -0
- package/dist/pipeline/gas-condition-tracker.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +3 -2
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/pipeline/stages.d.ts +15 -0
- package/dist/pipeline/stages.d.ts.map +1 -1
- package/dist/pipeline/stages.js +152 -1
- package/dist/pipeline/stages.js.map +1 -1
- package/dist/services/async-polling-service.d.ts +2 -0
- package/dist/services/async-polling-service.d.ts.map +1 -1
- package/dist/services/async-polling-service.js +41 -6
- package/dist/services/async-polling-service.js.map +1 -1
- package/dist/services/incoming/__tests__/integration-wiring.test.js +6 -1
- package/dist/services/incoming/__tests__/integration-wiring.test.js.map +1 -1
- package/dist/services/incoming/incoming-tx-monitor-service.d.ts.map +1 -1
- package/dist/services/incoming/incoming-tx-monitor-service.js +10 -3
- package/dist/services/incoming/incoming-tx-monitor-service.js.map +1 -1
- package/package.json +5 -5
- package/public/admin/assets/index-C0nLGE6n.js +1 -0
- package/public/admin/index.html +1 -1
- package/public/admin/assets/index-yzTEayia.js +0 -1
package/README.md
CHANGED
|
@@ -25,22 +25,69 @@ WAIaaS is a local daemon that sits between your AI agent and the blockchain:
|
|
|
25
25
|
|
|
26
26
|
See [Security Model](docs/security-model.md) for full details.
|
|
27
27
|
|
|
28
|
+
## Architecture
|
|
29
|
+
|
|
30
|
+
```mermaid
|
|
31
|
+
graph LR
|
|
32
|
+
subgraph Interfaces
|
|
33
|
+
SDK["TypeScript SDK"]
|
|
34
|
+
MCP["MCP Server"]
|
|
35
|
+
CLI["CLI"]
|
|
36
|
+
Admin["Admin UI"]
|
|
37
|
+
Skills["Skill Files"]
|
|
38
|
+
WalletSDK["Wallet SDK"]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
subgraph Daemon
|
|
42
|
+
API["API Layer<br>(Hono + Middleware)"]
|
|
43
|
+
Services["Service Layer<br>(Policy, Notifications, Kill Switch)"]
|
|
44
|
+
Pipeline["Transaction Pipeline<br>(6-stage + 8-state)"]
|
|
45
|
+
Infra["Infrastructure<br>(SQLite, Keystore, Config)"]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
subgraph Blockchain
|
|
49
|
+
Solana["Solana"]
|
|
50
|
+
EVM["EVM Chains"]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
SDK & MCP & CLI & Admin & Skills & WalletSDK --> API
|
|
54
|
+
API --> Services --> Pipeline --> Infra
|
|
55
|
+
Infra --> Solana & EVM
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**12 packages** in a monorepo:
|
|
59
|
+
|
|
60
|
+
- **@waiaas/core** — Shared types, Zod schemas, enums, and interfaces
|
|
61
|
+
- **@waiaas/daemon** — Self-hosted wallet daemon (Hono HTTP server)
|
|
62
|
+
- **@waiaas/adapter-solana** — Solana chain adapter (SPL / Token-2022)
|
|
63
|
+
- **@waiaas/adapter-evm** — EVM chain adapter (ERC-20 via viem)
|
|
64
|
+
- **@waiaas/actions** — DeFi Action Providers (Jupiter, 0x, LI.FI, Lido, Jito)
|
|
65
|
+
- **@waiaas/sdk** — TypeScript client library
|
|
66
|
+
- **@waiaas/mcp** — Model Context Protocol server for AI agents
|
|
67
|
+
- **@waiaas/cli** — Command-line interface
|
|
68
|
+
- **@waiaas/admin** — Preact-based Admin Web UI
|
|
69
|
+
- **@waiaas/wallet-sdk** — Wallet Signing SDK for wallet app integration
|
|
70
|
+
- **@waiaas/push-relay** — Push Relay Server (ntfy → push services)
|
|
71
|
+
- **@waiaas/skills** — Pre-built `.skill.md` instruction files for AI agents
|
|
72
|
+
|
|
73
|
+
See [Architecture](docs/architecture.md) for the full technical deep-dive.
|
|
74
|
+
|
|
28
75
|
## Quick Start
|
|
29
76
|
|
|
30
77
|
```bash
|
|
31
78
|
npm install -g @waiaas/cli
|
|
32
79
|
waiaas init # Create data directory + config.toml
|
|
33
80
|
waiaas start # Start daemon (sets master password on first run)
|
|
34
|
-
waiaas quickset --mode
|
|
81
|
+
waiaas quickset --mode mainnet # Create wallets + MCP sessions in one step
|
|
35
82
|
```
|
|
36
83
|
|
|
37
84
|
The `quickset` command does everything you need to get started:
|
|
38
85
|
|
|
39
|
-
1. Creates **Solana
|
|
86
|
+
1. Creates **Solana Mainnet + EVM Ethereum Mainnet** wallets automatically
|
|
40
87
|
2. Issues **MCP session tokens** for each wallet
|
|
41
88
|
3. Outputs a **Claude Desktop MCP config** snippet -- just copy and paste
|
|
42
89
|
|
|
43
|
-
>
|
|
90
|
+
> We recommend configuring spending limits and registering an owner wallet for high-value transaction approval. For testing, use `waiaas quickset --mode testnet` to create Solana Devnet + EVM Sepolia wallets instead.
|
|
44
91
|
|
|
45
92
|
### Admin UI
|
|
46
93
|
|
|
@@ -143,6 +190,7 @@ Enabled by default (`admin_ui = true` in config.toml).
|
|
|
143
190
|
|
|
144
191
|
| Document | Description |
|
|
145
192
|
|----------|-------------|
|
|
193
|
+
| [Architecture](docs/architecture.md) | System overview, package structure, pipeline, chain adapters |
|
|
146
194
|
| [Security Model](docs/security-model.md) | Authentication, policy engine, Kill Switch, AutoStop |
|
|
147
195
|
| [Deployment Guide](docs/deployment.md) | Docker, npm, configuration reference |
|
|
148
196
|
| [API Reference](docs/api-reference.md) | REST API endpoints and authentication |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/api/routes/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAA2C,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,KAAK,MAAM,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/api/routes/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAA2C,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,KAAK,MAAM,MAAM,yCAAyC,CAAC;AAavE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAYzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAmGD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CA4R/D"}
|
|
@@ -18,7 +18,7 @@ import { eq } from 'drizzle-orm';
|
|
|
18
18
|
import { WAIaaSError } from '@waiaas/core';
|
|
19
19
|
import { resolveRpcUrl } from '../../infrastructure/adapter-pool.js';
|
|
20
20
|
import { wallets, transactions } from '../../infrastructure/database/schema.js';
|
|
21
|
-
import { stage1Validate, stage2Auth, stage3Policy, stage4Wait, stage5Execute, stage6Confirm, } from '../../pipeline/stages.js';
|
|
21
|
+
import { stage1Validate, stage2Auth, stage3Policy, stage3_5GasCondition, stage4Wait, stage5Execute, stage6Confirm, } from '../../pipeline/stages.js';
|
|
22
22
|
import { resolveNetwork } from '../../pipeline/network-resolver.js';
|
|
23
23
|
import { TxSendResponseSchema, buildErrorResponses, openApiValidationHook, } from './openapi-schemas.js';
|
|
24
24
|
import { resolveWalletId } from '../helpers/resolve-wallet-id.js';
|
|
@@ -52,6 +52,11 @@ const ActionExecuteRequestSchema = z
|
|
|
52
52
|
params: z.record(z.unknown()).optional().default({}),
|
|
53
53
|
network: z.string().optional(),
|
|
54
54
|
walletId: z.string().uuid().optional().describe('Target wallet ID (optional -- defaults to session default wallet)'),
|
|
55
|
+
gasCondition: z.object({
|
|
56
|
+
maxGasPrice: z.string().optional(),
|
|
57
|
+
maxPriorityFee: z.string().optional(),
|
|
58
|
+
timeout: z.number().int().min(60).max(86400).optional(),
|
|
59
|
+
}).optional(),
|
|
55
60
|
})
|
|
56
61
|
.openapi('ActionExecuteRequest');
|
|
57
62
|
// ---------------------------------------------------------------------------
|
|
@@ -238,6 +243,10 @@ export function actionRoutes(deps) {
|
|
|
238
243
|
};
|
|
239
244
|
const pipelineResults = [];
|
|
240
245
|
for (const contractCall of contractCalls) {
|
|
246
|
+
// Inject gasCondition into the pipeline request if provided
|
|
247
|
+
const requestWithGas = body.gasCondition
|
|
248
|
+
? { ...contractCall, gasCondition: body.gasCondition }
|
|
249
|
+
: contractCall;
|
|
241
250
|
// Build PipelineContext for this specific ContractCallRequest
|
|
242
251
|
const ctx = {
|
|
243
252
|
db: deps.db,
|
|
@@ -248,7 +257,7 @@ export function actionRoutes(deps) {
|
|
|
248
257
|
walletId,
|
|
249
258
|
wallet: walletData,
|
|
250
259
|
resolvedNetwork,
|
|
251
|
-
request:
|
|
260
|
+
request: requestWithGas, // ContractCallRequest with optional gasCondition
|
|
252
261
|
txId: '', // stage1Validate will assign
|
|
253
262
|
sessionId,
|
|
254
263
|
sqlite: deps.sqlite,
|
|
@@ -261,15 +270,47 @@ export function actionRoutes(deps) {
|
|
|
261
270
|
};
|
|
262
271
|
// Stage 1: Validate + DB INSERT (synchronous -- assigns ctx.txId)
|
|
263
272
|
await stage1Validate(ctx);
|
|
273
|
+
// GAP-2 fix: Persist action provider metadata for staking position queries
|
|
274
|
+
// (GET /v1/wallet/staking uses metadata LIKE '%providerKey%' to find staking txs)
|
|
275
|
+
await deps.db
|
|
276
|
+
.update(transactions)
|
|
277
|
+
.set({
|
|
278
|
+
metadata: JSON.stringify({ provider, action }),
|
|
279
|
+
})
|
|
280
|
+
.where(eq(transactions.id, ctx.txId));
|
|
264
281
|
pipelineResults.push({ id: ctx.txId, status: 'PENDING' });
|
|
265
282
|
// Stages 2-6 run asynchronously (fire-and-forget)
|
|
266
283
|
void (async () => {
|
|
267
284
|
try {
|
|
268
285
|
await stage2Auth(ctx);
|
|
269
286
|
await stage3Policy(ctx);
|
|
287
|
+
await stage3_5GasCondition(ctx);
|
|
270
288
|
await stage4Wait(ctx);
|
|
271
289
|
await stage5Execute(ctx);
|
|
272
290
|
await stage6Confirm(ctx);
|
|
291
|
+
// GAP-1 fix: Enroll staking unstake transactions in async tracking
|
|
292
|
+
// Lido unstake -> lido-withdrawal tracker, Jito unstake -> jito-epoch tracker
|
|
293
|
+
// AsyncPollingService.pollAll() picks up bridge_status='PENDING' transactions
|
|
294
|
+
if (action === 'unstake') {
|
|
295
|
+
const trackerMap = {
|
|
296
|
+
'lido_staking': 'lido-withdrawal',
|
|
297
|
+
'jito_staking': 'jito-epoch',
|
|
298
|
+
};
|
|
299
|
+
const trackerName = trackerMap[provider];
|
|
300
|
+
if (trackerName) {
|
|
301
|
+
await deps.db
|
|
302
|
+
.update(transactions)
|
|
303
|
+
.set({
|
|
304
|
+
bridgeStatus: 'PENDING',
|
|
305
|
+
bridgeMetadata: JSON.stringify({
|
|
306
|
+
tracker: trackerName,
|
|
307
|
+
notificationEvent: 'STAKING_UNSTAKE_TIMEOUT',
|
|
308
|
+
enrolledAt: Date.now(),
|
|
309
|
+
}),
|
|
310
|
+
})
|
|
311
|
+
.where(eq(transactions.id, ctx.txId));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
273
314
|
}
|
|
274
315
|
catch (error) {
|
|
275
316
|
// PIPELINE_HALTED is intentional -- transaction is QUEUED
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/api/routes/actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/api/routes/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,35 +80,5 @@ export interface AdminRouteDeps {
|
|
|
80
80
|
delayQueue?: DelayQueue;
|
|
81
81
|
approvalWorkflow?: ApprovalWorkflow;
|
|
82
82
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Create admin route sub-router.
|
|
85
|
-
*
|
|
86
|
-
* GET /admin/status - Daemon health info (masterAuth)
|
|
87
|
-
* POST /admin/kill-switch - Activate kill switch (masterAuth)
|
|
88
|
-
* GET /admin/kill-switch - Get kill switch state (public)
|
|
89
|
-
* POST /admin/recover - Deactivate kill switch (masterAuth)
|
|
90
|
-
* POST /admin/shutdown - Graceful shutdown (masterAuth)
|
|
91
|
-
* POST /admin/rotate-secret - Rotate JWT secret (masterAuth)
|
|
92
|
-
* GET /admin/notifications/status - Notification channel status (masterAuth)
|
|
93
|
-
* POST /admin/notifications/test - Send test notification (masterAuth)
|
|
94
|
-
* GET /admin/notifications/log - Query notification logs (masterAuth)
|
|
95
|
-
* GET /admin/settings - Get all settings (masterAuth)
|
|
96
|
-
* PUT /admin/settings - Update settings (masterAuth)
|
|
97
|
-
* POST /admin/settings/test-rpc - Test RPC connectivity (masterAuth)
|
|
98
|
-
* GET /admin/oracle-status - Oracle cache/source/cross-validation status (masterAuth)
|
|
99
|
-
* GET /admin/api-keys - List Action Provider API key status (masterAuth)
|
|
100
|
-
* PUT /admin/api-keys/:provider - Set or update API key (masterAuth)
|
|
101
|
-
* DELETE /admin/api-keys/:provider - Delete API key (masterAuth)
|
|
102
|
-
* GET /admin/forex/rates - Forex exchange rates (masterAuth)
|
|
103
|
-
* GET /admin/wallets/:id/balance - Wallet native+token balance (masterAuth)
|
|
104
|
-
* GET /admin/wallets/:id/transactions - Wallet transaction history (masterAuth)
|
|
105
|
-
* GET /admin/telegram-users - List Telegram bot users (masterAuth)
|
|
106
|
-
* PUT /admin/telegram-users/:chatId - Update Telegram user role (masterAuth)
|
|
107
|
-
* DELETE /admin/telegram-users/:chatId - Delete Telegram user (masterAuth)
|
|
108
|
-
* GET /admin/transactions - Cross-wallet transaction list (masterAuth)
|
|
109
|
-
* GET /admin/incoming - Cross-wallet incoming tx list (masterAuth)
|
|
110
|
-
* POST /admin/transactions/:id/cancel - Cancel delayed transaction (masterAuth)
|
|
111
|
-
* POST /admin/transactions/:id/reject - Reject pending approval transaction (masterAuth)
|
|
112
|
-
*/
|
|
113
83
|
export declare function adminRoutes(deps: AdminRouteDeps): OpenAPIHono;
|
|
114
84
|
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/api/routes/admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,EAAyE,YAAY,EAAE,iBAAiB,EAAgB,MAAM,cAAc,CAAC;AAEzJ,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/api/routes/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/api/routes/admin.js
CHANGED
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
import { OpenAPIHono, createRoute, z } from '@hono/zod-openapi';
|
|
33
33
|
import { sql, desc, eq, and, isNull, gt, gte, lte, count as drizzleCount } from 'drizzle-orm';
|
|
34
34
|
import { createHash } from 'node:crypto';
|
|
35
|
-
import { WAIaaSError, getDefaultNetwork, getNetworksForEnvironment } from '@waiaas/core';
|
|
35
|
+
import { WAIaaSError, getDefaultNetwork, getNetworksForEnvironment, formatAmount } from '@waiaas/core';
|
|
36
36
|
import { CurrencyCodeSchema, formatRatePreview } from '@waiaas/core';
|
|
37
|
-
import { wallets, sessions, sessionWallets, notificationLogs, policies, transactions, incomingTransactions } from '../../infrastructure/database/schema.js';
|
|
37
|
+
import { wallets, sessions, sessionWallets, notificationLogs, policies, transactions, incomingTransactions, tokenRegistry } from '../../infrastructure/database/schema.js';
|
|
38
38
|
import { generateId } from '../../infrastructure/database/id.js';
|
|
39
39
|
import { buildConnectInfoPrompt } from './connect-info.js';
|
|
40
40
|
import { getSettingDefinition } from '../../infrastructure/settings/index.js';
|
|
41
41
|
import { resolveRpcUrl } from '../../infrastructure/adapter-pool.js';
|
|
42
|
-
import { AdminStatusResponseSchema, KillSwitchResponseSchema, KillSwitchActivateResponseSchema, KillSwitchEscalateResponseSchema, RecoverResponseSchema, KillSwitchRecoverRequestSchema, ShutdownResponseSchema, RotateSecretResponseSchema, NotificationStatusResponseSchema, NotificationTestRequestSchema, NotificationTestResponseSchema, NotificationLogResponseSchema, SettingsResponseSchema, SettingsUpdateRequestSchema, SettingsUpdateResponseSchema, TestRpcRequestSchema, TestRpcResponseSchema, OracleStatusResponseSchema, AgentPromptRequestSchema, AgentPromptResponseSchema, SessionReissueResponseSchema, buildErrorResponses, openApiValidationHook, } from './openapi-schemas.js';
|
|
42
|
+
import { AdminStatusResponseSchema, KillSwitchResponseSchema, KillSwitchActivateResponseSchema, KillSwitchEscalateResponseSchema, RecoverResponseSchema, KillSwitchRecoverRequestSchema, ShutdownResponseSchema, RotateSecretResponseSchema, NotificationStatusResponseSchema, NotificationTestRequestSchema, NotificationTestResponseSchema, NotificationLogResponseSchema, SettingsResponseSchema, SettingsUpdateRequestSchema, SettingsUpdateResponseSchema, TestRpcRequestSchema, TestRpcResponseSchema, OracleStatusResponseSchema, AgentPromptRequestSchema, AgentPromptResponseSchema, SessionReissueResponseSchema, StakingPositionsResponseSchema, buildErrorResponses, openApiValidationHook, } from './openapi-schemas.js';
|
|
43
43
|
// ---------------------------------------------------------------------------
|
|
44
44
|
// Route definitions
|
|
45
45
|
// ---------------------------------------------------------------------------
|
|
@@ -391,6 +391,8 @@ const adminWalletTransactionsRoute = createRoute({
|
|
|
391
391
|
status: z.string(),
|
|
392
392
|
toAddress: z.string().nullable(),
|
|
393
393
|
amount: z.string().nullable(),
|
|
394
|
+
formattedAmount: z.string().nullable(),
|
|
395
|
+
amountUsd: z.number().nullable(),
|
|
394
396
|
network: z.string().nullable(),
|
|
395
397
|
txHash: z.string().nullable(),
|
|
396
398
|
createdAt: z.number().nullable(),
|
|
@@ -441,6 +443,23 @@ const adminWalletBalanceRoute = createRoute({
|
|
|
441
443
|
...buildErrorResponses(['WALLET_NOT_FOUND']),
|
|
442
444
|
},
|
|
443
445
|
});
|
|
446
|
+
const adminWalletStakingRoute = createRoute({
|
|
447
|
+
method: 'get',
|
|
448
|
+
path: '/admin/wallets/{id}/staking',
|
|
449
|
+
tags: ['Admin'],
|
|
450
|
+
summary: 'Get wallet staking positions',
|
|
451
|
+
description: 'Returns staking positions (Lido stETH, Jito JitoSOL) for a specific wallet with balance, APY, pending unstake status.',
|
|
452
|
+
request: {
|
|
453
|
+
params: z.object({ id: z.string().uuid() }),
|
|
454
|
+
},
|
|
455
|
+
responses: {
|
|
456
|
+
200: {
|
|
457
|
+
description: 'Staking positions for the wallet',
|
|
458
|
+
content: { 'application/json': { schema: StakingPositionsResponseSchema } },
|
|
459
|
+
},
|
|
460
|
+
...buildErrorResponses(['WALLET_NOT_FOUND']),
|
|
461
|
+
},
|
|
462
|
+
});
|
|
444
463
|
// ---------------------------------------------------------------------------
|
|
445
464
|
// Telegram Users route definitions
|
|
446
465
|
// ---------------------------------------------------------------------------
|
|
@@ -656,6 +675,40 @@ const adminIncomingRoute = createRoute({
|
|
|
656
675
|
* POST /admin/transactions/:id/cancel - Cancel delayed transaction (masterAuth)
|
|
657
676
|
* POST /admin/transactions/:id/reject - Reject pending approval transaction (masterAuth)
|
|
658
677
|
*/
|
|
678
|
+
// ---------------------------------------------------------------------------
|
|
679
|
+
// Amount formatting helpers (#168)
|
|
680
|
+
// ---------------------------------------------------------------------------
|
|
681
|
+
const NATIVE_DECIMALS = { solana: 9, ethereum: 18 };
|
|
682
|
+
const NATIVE_SYMBOLS = { solana: 'SOL', ethereum: 'ETH' };
|
|
683
|
+
/**
|
|
684
|
+
* Format raw blockchain amount to human-readable string with token symbol.
|
|
685
|
+
* Returns null if formatting is not possible (unknown token, null amount, etc).
|
|
686
|
+
*/
|
|
687
|
+
function formatTxAmount(amount, chain, network, tokenAddress, db) {
|
|
688
|
+
if (!amount || amount === '0')
|
|
689
|
+
return amount;
|
|
690
|
+
try {
|
|
691
|
+
if (tokenAddress) {
|
|
692
|
+
// Token transfer: look up decimals/symbol from token_registry
|
|
693
|
+
const token = db
|
|
694
|
+
.select({ symbol: tokenRegistry.symbol, decimals: tokenRegistry.decimals })
|
|
695
|
+
.from(tokenRegistry)
|
|
696
|
+
.where(and(eq(tokenRegistry.address, tokenAddress), network ? eq(tokenRegistry.network, network) : undefined))
|
|
697
|
+
.limit(1)
|
|
698
|
+
.get();
|
|
699
|
+
if (!token)
|
|
700
|
+
return null; // unknown token → caller falls back to raw
|
|
701
|
+
return `${formatAmount(BigInt(amount), token.decimals)} ${token.symbol}`;
|
|
702
|
+
}
|
|
703
|
+
// Native transfer
|
|
704
|
+
const decimals = NATIVE_DECIMALS[chain] ?? 18;
|
|
705
|
+
const symbol = NATIVE_SYMBOLS[chain] ?? chain.toUpperCase();
|
|
706
|
+
return `${formatAmount(BigInt(amount), decimals)} ${symbol}`;
|
|
707
|
+
}
|
|
708
|
+
catch {
|
|
709
|
+
return null;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
659
712
|
export function adminRoutes(deps) {
|
|
660
713
|
const router = new OpenAPIHono({ defaultHook: openApiValidationHook });
|
|
661
714
|
// ---------------------------------------------------------------------------
|
|
@@ -1068,6 +1121,7 @@ export function adminRoutes(deps) {
|
|
|
1068
1121
|
monitoring: emptyCategory,
|
|
1069
1122
|
telegram: emptyCategory,
|
|
1070
1123
|
signing_sdk: emptyCategory,
|
|
1124
|
+
gas_condition: emptyCategory,
|
|
1071
1125
|
}, 200);
|
|
1072
1126
|
}
|
|
1073
1127
|
const masked = deps.settingsService.getAllMasked();
|
|
@@ -1300,19 +1354,23 @@ export function adminRoutes(deps) {
|
|
|
1300
1354
|
.where(eq(transactions.walletId, id))
|
|
1301
1355
|
.get();
|
|
1302
1356
|
const total = totalResult?.count ?? 0;
|
|
1303
|
-
const items = rows.map((tx) =>
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
:
|
|
1315
|
-
|
|
1357
|
+
const items = rows.map((tx) => {
|
|
1358
|
+
const tokenAddr = tx.tokenMint ?? tx.contractAddress ?? null;
|
|
1359
|
+
return {
|
|
1360
|
+
id: tx.id,
|
|
1361
|
+
type: tx.type,
|
|
1362
|
+
status: tx.status,
|
|
1363
|
+
toAddress: tx.toAddress ?? null,
|
|
1364
|
+
amount: tx.amount ?? null,
|
|
1365
|
+
formattedAmount: formatTxAmount(tx.amount ?? null, tx.chain, tx.network ?? null, tokenAddr, deps.db),
|
|
1366
|
+
amountUsd: tx.amountUsd ?? null,
|
|
1367
|
+
network: tx.network ?? null,
|
|
1368
|
+
txHash: tx.txHash ?? null,
|
|
1369
|
+
createdAt: tx.createdAt instanceof Date
|
|
1370
|
+
? Math.floor(tx.createdAt.getTime() / 1000)
|
|
1371
|
+
: (typeof tx.createdAt === 'number' ? tx.createdAt : null),
|
|
1372
|
+
};
|
|
1373
|
+
});
|
|
1316
1374
|
return c.json({ items, total }, 200);
|
|
1317
1375
|
});
|
|
1318
1376
|
// ---------------------------------------------------------------------------
|
|
@@ -1377,6 +1435,101 @@ export function adminRoutes(deps) {
|
|
|
1377
1435
|
return c.json({ balances }, 200);
|
|
1378
1436
|
});
|
|
1379
1437
|
// ---------------------------------------------------------------------------
|
|
1438
|
+
// GET /admin/wallets/:id/staking
|
|
1439
|
+
// ---------------------------------------------------------------------------
|
|
1440
|
+
router.openapi(adminWalletStakingRoute, async (c) => {
|
|
1441
|
+
const { id } = c.req.valid('param');
|
|
1442
|
+
// Verify wallet exists
|
|
1443
|
+
const wallet = deps.db.select().from(wallets).where(eq(wallets.id, id)).get();
|
|
1444
|
+
if (!wallet) {
|
|
1445
|
+
throw new WAIaaSError('WALLET_NOT_FOUND');
|
|
1446
|
+
}
|
|
1447
|
+
const positions = [];
|
|
1448
|
+
if (!deps.sqlite) {
|
|
1449
|
+
return c.json({ walletId: id, positions }, 200);
|
|
1450
|
+
}
|
|
1451
|
+
const LIDO_APY = '~3.5%';
|
|
1452
|
+
const JITO_APY = '~7.5%';
|
|
1453
|
+
// Reuse aggregation logic inline (same as staking.ts)
|
|
1454
|
+
function aggregateProvider(walletId, providerKey) {
|
|
1455
|
+
const stakeRows = deps.sqlite.prepare(`SELECT amount, bridge_status, created_at, metadata
|
|
1456
|
+
FROM transactions
|
|
1457
|
+
WHERE wallet_id = ? AND status IN ('CONFIRMED', 'COMPLETED')
|
|
1458
|
+
AND metadata LIKE ?
|
|
1459
|
+
ORDER BY created_at ASC`).all(walletId, `%${providerKey}%`);
|
|
1460
|
+
let totalStaked = 0n;
|
|
1461
|
+
let totalUnstaked = 0n;
|
|
1462
|
+
for (const row of stakeRows) {
|
|
1463
|
+
if (!row.amount)
|
|
1464
|
+
continue;
|
|
1465
|
+
let isUnstake = false;
|
|
1466
|
+
if (row.metadata) {
|
|
1467
|
+
try {
|
|
1468
|
+
const meta = JSON.parse(row.metadata);
|
|
1469
|
+
if (meta.action === 'unstake' || meta.actionName === 'unstake')
|
|
1470
|
+
isUnstake = true;
|
|
1471
|
+
}
|
|
1472
|
+
catch { /* ignore */ }
|
|
1473
|
+
}
|
|
1474
|
+
try {
|
|
1475
|
+
const amountBig = BigInt(row.amount);
|
|
1476
|
+
if (isUnstake)
|
|
1477
|
+
totalUnstaked += amountBig;
|
|
1478
|
+
else
|
|
1479
|
+
totalStaked += amountBig;
|
|
1480
|
+
}
|
|
1481
|
+
catch { /* skip */ }
|
|
1482
|
+
}
|
|
1483
|
+
const pendingRow = deps.sqlite.prepare(`SELECT amount, bridge_status, created_at
|
|
1484
|
+
FROM transactions
|
|
1485
|
+
WHERE wallet_id = ? AND bridge_status = 'PENDING'
|
|
1486
|
+
AND metadata LIKE ?
|
|
1487
|
+
ORDER BY created_at DESC
|
|
1488
|
+
LIMIT 1`).get(walletId, `%${providerKey}%`);
|
|
1489
|
+
let pendingUnstake = null;
|
|
1490
|
+
if (pendingRow?.amount) {
|
|
1491
|
+
pendingUnstake = {
|
|
1492
|
+
amount: pendingRow.amount,
|
|
1493
|
+
status: (pendingRow.bridge_status ?? 'PENDING'),
|
|
1494
|
+
requestedAt: pendingRow.created_at ?? null,
|
|
1495
|
+
};
|
|
1496
|
+
}
|
|
1497
|
+
const balanceWei = totalStaked > totalUnstaked ? totalStaked - totalUnstaked : 0n;
|
|
1498
|
+
return { balanceWei, pendingUnstake };
|
|
1499
|
+
}
|
|
1500
|
+
// Ethereum wallet -> Lido
|
|
1501
|
+
if (wallet.chain === 'ethereum') {
|
|
1502
|
+
const { balanceWei, pendingUnstake } = aggregateProvider(id, 'lido_staking');
|
|
1503
|
+
if (balanceWei > 0n || pendingUnstake) {
|
|
1504
|
+
let balanceUsd = null;
|
|
1505
|
+
if (deps.priceOracle && balanceWei > 0n) {
|
|
1506
|
+
try {
|
|
1507
|
+
const priceInfo = await deps.priceOracle.getNativePrice('ethereum');
|
|
1508
|
+
balanceUsd = (Number(balanceWei) / 1e18 * priceInfo.usdPrice).toFixed(2);
|
|
1509
|
+
}
|
|
1510
|
+
catch { /* price unavailable */ }
|
|
1511
|
+
}
|
|
1512
|
+
positions.push({ protocol: 'lido', chain: 'ethereum', asset: 'stETH', balance: balanceWei.toString(), balanceUsd, apy: LIDO_APY, pendingUnstake });
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
// Solana wallet -> Jito
|
|
1516
|
+
if (wallet.chain === 'solana') {
|
|
1517
|
+
const { balanceWei: balanceLamports, pendingUnstake } = aggregateProvider(id, 'jito_staking');
|
|
1518
|
+
if (balanceLamports > 0n || pendingUnstake) {
|
|
1519
|
+
let balanceUsd = null;
|
|
1520
|
+
if (deps.priceOracle && balanceLamports > 0n) {
|
|
1521
|
+
try {
|
|
1522
|
+
const priceInfo = await deps.priceOracle.getNativePrice('solana');
|
|
1523
|
+
balanceUsd = (Number(balanceLamports) / 1e9 * priceInfo.usdPrice).toFixed(2);
|
|
1524
|
+
}
|
|
1525
|
+
catch { /* price unavailable */ }
|
|
1526
|
+
}
|
|
1527
|
+
positions.push({ protocol: 'jito', chain: 'solana', asset: 'JitoSOL', balance: balanceLamports.toString(), balanceUsd, apy: JITO_APY, pendingUnstake });
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1530
|
+
return c.json({ walletId: id, positions }, 200);
|
|
1531
|
+
});
|
|
1532
|
+
// ---------------------------------------------------------------------------
|
|
1380
1533
|
// GET /admin/telegram-users
|
|
1381
1534
|
// ---------------------------------------------------------------------------
|
|
1382
1535
|
router.openapi(telegramUsersListRoute, async (c) => {
|
|
@@ -1485,6 +1638,8 @@ export function adminRoutes(deps) {
|
|
|
1485
1638
|
txHash: transactions.txHash,
|
|
1486
1639
|
chain: transactions.chain,
|
|
1487
1640
|
createdAt: transactions.createdAt,
|
|
1641
|
+
tokenMint: transactions.tokenMint,
|
|
1642
|
+
contractAddress: transactions.contractAddress,
|
|
1488
1643
|
})
|
|
1489
1644
|
.from(transactions)
|
|
1490
1645
|
.leftJoin(wallets, eq(transactions.walletId, wallets.id))
|
|
@@ -1493,23 +1648,27 @@ export function adminRoutes(deps) {
|
|
|
1493
1648
|
.offset(offset)
|
|
1494
1649
|
.limit(limit)
|
|
1495
1650
|
.all();
|
|
1496
|
-
const items = rows.map((row) =>
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
:
|
|
1512
|
-
|
|
1651
|
+
const items = rows.map((row) => {
|
|
1652
|
+
const tokenAddr = row.tokenMint ?? row.contractAddress ?? null;
|
|
1653
|
+
return {
|
|
1654
|
+
id: row.id,
|
|
1655
|
+
walletId: row.walletId,
|
|
1656
|
+
walletName: row.walletName ?? null,
|
|
1657
|
+
type: row.type,
|
|
1658
|
+
status: row.status,
|
|
1659
|
+
tier: row.tier ?? null,
|
|
1660
|
+
toAddress: row.toAddress ?? null,
|
|
1661
|
+
amount: row.amount ?? null,
|
|
1662
|
+
formattedAmount: formatTxAmount(row.amount ?? null, row.chain, row.network ?? null, tokenAddr, deps.db),
|
|
1663
|
+
amountUsd: row.amountUsd ?? null,
|
|
1664
|
+
network: row.network ?? null,
|
|
1665
|
+
txHash: row.txHash ?? null,
|
|
1666
|
+
chain: row.chain,
|
|
1667
|
+
createdAt: row.createdAt instanceof Date
|
|
1668
|
+
? Math.floor(row.createdAt.getTime() / 1000)
|
|
1669
|
+
: (typeof row.createdAt === 'number' ? row.createdAt : null),
|
|
1670
|
+
};
|
|
1671
|
+
});
|
|
1513
1672
|
return c.json({ items, total, offset, limit }, 200);
|
|
1514
1673
|
});
|
|
1515
1674
|
// ---------------------------------------------------------------------------
|
|
@@ -1573,6 +1732,7 @@ export function adminRoutes(deps) {
|
|
|
1573
1732
|
walletName: row.walletName ?? null,
|
|
1574
1733
|
fromAddress: row.fromAddress,
|
|
1575
1734
|
amount: row.amount,
|
|
1735
|
+
formattedAmount: formatTxAmount(row.amount, row.chain, row.network, row.tokenAddress ?? null, deps.db),
|
|
1576
1736
|
tokenAddress: row.tokenAddress ?? null,
|
|
1577
1737
|
chain: row.chain,
|
|
1578
1738
|
network: row.network,
|
|
@@ -1758,6 +1918,13 @@ export function adminRoutes(deps) {
|
|
|
1758
1918
|
if (config.x402?.enabled === true) {
|
|
1759
1919
|
capabilities.push('x402');
|
|
1760
1920
|
}
|
|
1921
|
+
// Read default-deny toggles
|
|
1922
|
+
const defaultDeny = {
|
|
1923
|
+
tokenTransfers: deps.settingsService?.get('policy.default_deny_tokens') !== 'false',
|
|
1924
|
+
contractCalls: deps.settingsService?.get('policy.default_deny_contracts') !== 'false',
|
|
1925
|
+
tokenApprovals: deps.settingsService?.get('policy.default_deny_spenders') !== 'false',
|
|
1926
|
+
x402Domains: deps.settingsService?.get('policy.default_deny_x402_domains') !== 'false',
|
|
1927
|
+
};
|
|
1761
1928
|
// Build prompt using shared prompt builder
|
|
1762
1929
|
const host = c.req.header('Host') ?? 'localhost:3100';
|
|
1763
1930
|
const protocol = c.req.header('X-Forwarded-Proto') ?? 'http';
|
|
@@ -1765,6 +1932,7 @@ export function adminRoutes(deps) {
|
|
|
1765
1932
|
const prompt = buildConnectInfoPrompt({
|
|
1766
1933
|
wallets: promptWallets,
|
|
1767
1934
|
capabilities,
|
|
1935
|
+
defaultDeny,
|
|
1768
1936
|
baseUrl,
|
|
1769
1937
|
version: deps.version,
|
|
1770
1938
|
});
|