@waiaas/daemon 2.9.0 → 2.10.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/dist/api/middleware/master-auth.d.ts +3 -0
- package/dist/api/middleware/master-auth.d.ts.map +1 -1
- package/dist/api/middleware/master-auth.js +14 -0
- package/dist/api/middleware/master-auth.js.map +1 -1
- package/dist/api/routes/admin.d.ts +4 -0
- package/dist/api/routes/admin.d.ts.map +1 -1
- package/dist/api/routes/admin.js +186 -1
- package/dist/api/routes/admin.js.map +1 -1
- package/dist/api/routes/audit-logs.d.ts +15 -0
- package/dist/api/routes/audit-logs.d.ts.map +1 -0
- package/dist/api/routes/audit-logs.js +119 -0
- package/dist/api/routes/audit-logs.js.map +1 -0
- package/dist/api/routes/index.d.ts +2 -1
- package/dist/api/routes/index.d.ts.map +1 -1
- package/dist/api/routes/index.js +2 -1
- package/dist/api/routes/index.js.map +1 -1
- package/dist/api/routes/openapi-schemas.d.ts +324 -6
- package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
- package/dist/api/routes/openapi-schemas.js +76 -0
- package/dist/api/routes/openapi-schemas.js.map +1 -1
- package/dist/api/routes/sessions.d.ts +2 -0
- package/dist/api/routes/sessions.d.ts.map +1 -1
- package/dist/api/routes/sessions.js +21 -0
- package/dist/api/routes/sessions.js.map +1 -1
- package/dist/api/routes/transactions.d.ts +2 -1
- package/dist/api/routes/transactions.d.ts.map +1 -1
- package/dist/api/routes/transactions.js +72 -1
- package/dist/api/routes/transactions.js.map +1 -1
- package/dist/api/routes/wallets.d.ts.map +1 -1
- package/dist/api/routes/wallets.js +25 -0
- package/dist/api/routes/wallets.js.map +1 -1
- package/dist/api/routes/webhooks.d.ts +17 -0
- package/dist/api/routes/webhooks.d.ts.map +1 -0
- package/dist/api/routes/webhooks.js +218 -0
- package/dist/api/routes/webhooks.js.map +1 -0
- package/dist/api/server.d.ts +27 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +31 -5
- package/dist/api/server.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/backup/backup-format.d.ts +107 -0
- package/dist/infrastructure/backup/backup-format.d.ts.map +1 -0
- package/dist/infrastructure/backup/backup-format.js +134 -0
- package/dist/infrastructure/backup/backup-format.js.map +1 -0
- package/dist/infrastructure/backup/encrypted-backup-service.d.ts +56 -0
- package/dist/infrastructure/backup/encrypted-backup-service.d.ts.map +1 -0
- package/dist/infrastructure/backup/encrypted-backup-service.js +269 -0
- package/dist/infrastructure/backup/encrypted-backup-service.js.map +1 -0
- package/dist/infrastructure/backup/index.d.ts +3 -0
- package/dist/infrastructure/backup/index.d.ts.map +1 -1
- package/dist/infrastructure/backup/index.js +2 -0
- package/dist/infrastructure/backup/index.js.map +1 -1
- package/dist/infrastructure/config/loader.d.ts +23 -0
- package/dist/infrastructure/config/loader.d.ts.map +1 -1
- package/dist/infrastructure/config/loader.js +8 -0
- package/dist/infrastructure/config/loader.js.map +1 -1
- package/dist/infrastructure/database/audit-helper.d.ts +29 -0
- package/dist/infrastructure/database/audit-helper.d.ts.map +1 -0
- package/dist/infrastructure/database/audit-helper.js +30 -0
- package/dist/infrastructure/database/audit-helper.js.map +1 -0
- package/dist/infrastructure/database/index.d.ts +2 -0
- package/dist/infrastructure/database/index.d.ts.map +1 -1
- package/dist/infrastructure/database/index.js +1 -0
- package/dist/infrastructure/database/index.js.map +1 -1
- package/dist/infrastructure/database/migrate.d.ts +1 -1
- package/dist/infrastructure/database/migrate.d.ts.map +1 -1
- package/dist/infrastructure/database/migrate.js +83 -2
- package/dist/infrastructure/database/migrate.js.map +1 -1
- package/dist/infrastructure/database/schema.d.ts +343 -1
- package/dist/infrastructure/database/schema.d.ts.map +1 -1
- package/dist/infrastructure/database/schema.js +41 -1
- package/dist/infrastructure/database/schema.js.map +1 -1
- package/dist/infrastructure/metrics/in-memory-counter.d.ts +34 -0
- package/dist/infrastructure/metrics/in-memory-counter.d.ts.map +1 -0
- package/dist/infrastructure/metrics/in-memory-counter.js +88 -0
- package/dist/infrastructure/metrics/in-memory-counter.js.map +1 -0
- package/dist/infrastructure/settings/hot-reload.d.ts +1 -0
- package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -1
- package/dist/infrastructure/settings/hot-reload.js +23 -2
- package/dist/infrastructure/settings/hot-reload.js.map +1 -1
- package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
- package/dist/infrastructure/settings/setting-keys.js +4 -0
- package/dist/infrastructure/settings/setting-keys.js.map +1 -1
- package/dist/infrastructure/telegram/telegram-bot-service.d.ts +2 -0
- package/dist/infrastructure/telegram/telegram-bot-service.d.ts.map +1 -1
- package/dist/infrastructure/telegram/telegram-bot-service.js +36 -19
- package/dist/infrastructure/telegram/telegram-bot-service.js.map +1 -1
- package/dist/lifecycle/daemon.d.ts +21 -1
- package/dist/lifecycle/daemon.d.ts.map +1 -1
- package/dist/lifecycle/daemon.js +131 -2
- package/dist/lifecycle/daemon.js.map +1 -1
- package/dist/pipeline/dry-run.d.ts +68 -0
- package/dist/pipeline/dry-run.d.ts.map +1 -0
- package/dist/pipeline/dry-run.js +426 -0
- package/dist/pipeline/dry-run.js.map +1 -0
- package/dist/pipeline/index.d.ts +1 -0
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +2 -0
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +18 -1
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +38 -0
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/pipeline/stages.d.ts +31 -1
- package/dist/pipeline/stages.d.ts.map +1 -1
- package/dist/pipeline/stages.js +120 -22
- package/dist/pipeline/stages.js.map +1 -1
- package/dist/services/admin-stats-service.d.ts +48 -0
- package/dist/services/admin-stats-service.d.ts.map +1 -0
- package/dist/services/admin-stats-service.js +182 -0
- package/dist/services/admin-stats-service.js.map +1 -0
- package/dist/services/autostop/autostop-service.d.ts +83 -0
- package/dist/services/autostop/autostop-service.d.ts.map +1 -0
- package/dist/services/autostop/autostop-service.js +252 -0
- package/dist/services/autostop/autostop-service.js.map +1 -0
- package/dist/services/autostop/index.d.ts +15 -0
- package/dist/services/autostop/index.d.ts.map +1 -0
- package/dist/services/autostop/index.js +11 -0
- package/dist/services/autostop/index.js.map +1 -0
- package/dist/services/autostop/rule-registry.d.ts +42 -0
- package/dist/services/autostop/rule-registry.d.ts.map +1 -0
- package/dist/services/autostop/rule-registry.js +54 -0
- package/dist/services/autostop/rule-registry.js.map +1 -0
- package/dist/services/autostop/rules/consecutive-failures.rule.d.ts +38 -0
- package/dist/services/autostop/rules/consecutive-failures.rule.d.ts.map +1 -0
- package/dist/services/autostop/rules/consecutive-failures.rule.js +75 -0
- package/dist/services/autostop/rules/consecutive-failures.rule.js.map +1 -0
- package/dist/services/autostop/rules/idle-timeout.rule.d.ts +43 -0
- package/dist/services/autostop/rules/idle-timeout.rule.d.ts.map +1 -0
- package/dist/services/autostop/rules/idle-timeout.rule.js +128 -0
- package/dist/services/autostop/rules/idle-timeout.rule.js.map +1 -0
- package/dist/services/autostop/rules/unusual-activity.rule.d.ts +33 -0
- package/dist/services/autostop/rules/unusual-activity.rule.d.ts.map +1 -0
- package/dist/services/autostop/rules/unusual-activity.rule.js +73 -0
- package/dist/services/autostop/rules/unusual-activity.rule.js.map +1 -0
- package/dist/services/autostop/types.d.ts +49 -0
- package/dist/services/autostop/types.d.ts.map +1 -0
- package/dist/services/autostop/types.js +10 -0
- package/dist/services/autostop/types.js.map +1 -0
- package/dist/services/autostop-rules.d.ts +11 -74
- package/dist/services/autostop-rules.d.ts.map +1 -1
- package/dist/services/autostop-rules.js +9 -169
- package/dist/services/autostop-rules.js.map +1 -1
- package/dist/services/autostop-service.d.ts +6 -77
- package/dist/services/autostop-service.d.ts.map +1 -1
- package/dist/services/autostop-service.js +5 -212
- package/dist/services/autostop-service.js.map +1 -1
- package/dist/services/kill-switch-service.d.ts.map +1 -1
- package/dist/services/kill-switch-service.js +36 -21
- package/dist/services/kill-switch-service.js.map +1 -1
- package/dist/services/signing-sdk/sign-response-handler.d.ts +3 -0
- package/dist/services/signing-sdk/sign-response-handler.d.ts.map +1 -1
- package/dist/services/signing-sdk/sign-response-handler.js +5 -0
- package/dist/services/signing-sdk/sign-response-handler.js.map +1 -1
- package/dist/services/webhook-delivery-queue.d.ts +53 -0
- package/dist/services/webhook-delivery-queue.d.ts.map +1 -0
- package/dist/services/webhook-delivery-queue.js +118 -0
- package/dist/services/webhook-delivery-queue.js.map +1 -0
- package/dist/services/webhook-service.d.ts +46 -0
- package/dist/services/webhook-service.d.ts.map +1 -0
- package/dist/services/webhook-service.js +160 -0
- package/dist/services/webhook-service.js.map +1 -0
- package/dist/workflow/approval-workflow.d.ts +2 -0
- package/dist/workflow/approval-workflow.d.ts.map +1 -1
- package/dist/workflow/approval-workflow.js +6 -1
- package/dist/workflow/approval-workflow.js.map +1 -1
- package/package.json +5 -5
- package/public/admin/assets/{index-CBU6NfOH.js → index-RagPnRU1.js} +2 -2
- package/public/admin/index.html +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/pipeline/stages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAKxB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/pipeline/stages.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/stages.js
CHANGED
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { eq, sql } from 'drizzle-orm';
|
|
14
14
|
import { WAIaaSError, ChainError, SendTransactionRequestSchema, TransactionRequestSchema, } from '@waiaas/core';
|
|
15
|
-
import { wallets, transactions
|
|
15
|
+
import { wallets, transactions } from '../infrastructure/database/schema.js';
|
|
16
16
|
import { generateId } from '../infrastructure/database/id.js';
|
|
17
|
+
import { insertAuditLog } from '../infrastructure/database/audit-helper.js';
|
|
17
18
|
import { DatabasePolicyEngine } from './database-policy-engine.js';
|
|
18
19
|
import { downgradeIfNoOwner } from '../workflow/owner-state.js';
|
|
19
20
|
import { formatDisplayCurrency, formatAmount } from '@waiaas/core';
|
|
@@ -28,19 +29,19 @@ export { hintedTokens };
|
|
|
28
29
|
// Helper: safe request field accessors for union type
|
|
29
30
|
// ---------------------------------------------------------------------------
|
|
30
31
|
/** Safely extract `amount` from SendTransactionRequest | TransactionRequest. */
|
|
31
|
-
function getRequestAmount(req) {
|
|
32
|
+
export function getRequestAmount(req) {
|
|
32
33
|
if ('amount' in req && typeof req.amount === 'string')
|
|
33
34
|
return req.amount;
|
|
34
35
|
return '0';
|
|
35
36
|
}
|
|
36
37
|
/** Safely extract `to` from SendTransactionRequest | TransactionRequest. */
|
|
37
|
-
function getRequestTo(req) {
|
|
38
|
+
export function getRequestTo(req) {
|
|
38
39
|
if ('to' in req && typeof req.to === 'string')
|
|
39
40
|
return req.to;
|
|
40
41
|
return '';
|
|
41
42
|
}
|
|
42
43
|
/** Safely extract `memo` from SendTransactionRequest | TransactionRequest. */
|
|
43
|
-
function getRequestMemo(req) {
|
|
44
|
+
export function getRequestMemo(req) {
|
|
44
45
|
if ('memo' in req && typeof req.memo === 'string')
|
|
45
46
|
return req.memo;
|
|
46
47
|
return undefined;
|
|
@@ -127,7 +128,7 @@ function extractPolicyType(reason) {
|
|
|
127
128
|
return 'SPENDING_LIMIT';
|
|
128
129
|
return '';
|
|
129
130
|
}
|
|
130
|
-
function buildTransactionParam(req, txType, chain) {
|
|
131
|
+
export function buildTransactionParam(req, txType, chain) {
|
|
131
132
|
switch (txType) {
|
|
132
133
|
case 'TOKEN_TRANSFER': {
|
|
133
134
|
const r = req;
|
|
@@ -316,6 +317,21 @@ export async function stage3Policy(ctx) {
|
|
|
316
317
|
contractAddress: txParam.contractAddress ?? '',
|
|
317
318
|
adminLink: '/admin/policies',
|
|
318
319
|
}, { txId: ctx.txId });
|
|
320
|
+
// Audit log: POLICY_DENIED
|
|
321
|
+
if (ctx.sqlite) {
|
|
322
|
+
insertAuditLog(ctx.sqlite, {
|
|
323
|
+
eventType: 'POLICY_DENIED',
|
|
324
|
+
actor: ctx.sessionId ?? 'system',
|
|
325
|
+
walletId: ctx.walletId,
|
|
326
|
+
txId: ctx.txId,
|
|
327
|
+
details: {
|
|
328
|
+
reason: evaluation.reason,
|
|
329
|
+
requestedAmount: getRequestAmount(ctx.request),
|
|
330
|
+
type: ('type' in ctx.request && ctx.request.type) ? ctx.request.type : 'TRANSFER',
|
|
331
|
+
},
|
|
332
|
+
severity: 'warning',
|
|
333
|
+
});
|
|
334
|
+
}
|
|
319
335
|
throw new WAIaaSError('POLICY_DENIED', {
|
|
320
336
|
message: evaluation.reason ?? 'Transaction denied by policy',
|
|
321
337
|
});
|
|
@@ -324,20 +340,21 @@ export async function stage3Policy(ctx) {
|
|
|
324
340
|
let downgraded = false;
|
|
325
341
|
// [Phase 127] PriceResult에 따른 후처리
|
|
326
342
|
if (priceResult?.type === 'notListed') {
|
|
327
|
-
//
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
343
|
+
// Audit log: UNLISTED_TOKEN_TRANSFER (refactored to insertAuditLog)
|
|
344
|
+
if (ctx.sqlite) {
|
|
345
|
+
insertAuditLog(ctx.sqlite, {
|
|
346
|
+
eventType: 'UNLISTED_TOKEN_TRANSFER',
|
|
347
|
+
actor: ctx.sessionId ?? 'system',
|
|
348
|
+
walletId: ctx.walletId,
|
|
349
|
+
txId: ctx.txId,
|
|
350
|
+
details: {
|
|
351
|
+
tokenAddress: priceResult.tokenAddress,
|
|
352
|
+
chain: priceResult.chain,
|
|
353
|
+
failedCount: priceResult.failedCount,
|
|
354
|
+
},
|
|
355
|
+
severity: 'warning',
|
|
356
|
+
});
|
|
357
|
+
}
|
|
341
358
|
// 최소 NOTIFY 격상 (evaluation tier와 NOTIFY 중 보수적)
|
|
342
359
|
const TIER_ORDER = ['INSTANT', 'NOTIFY', 'DELAY', 'APPROVAL'];
|
|
343
360
|
const currentIdx = TIER_ORDER.indexOf(tier);
|
|
@@ -649,7 +666,7 @@ export async function stage4Wait(ctx) {
|
|
|
649
666
|
* Build unsigned transaction by dispatching to the correct IChainAdapter method
|
|
650
667
|
* based on request.type (TRANSFER/TOKEN_TRANSFER/CONTRACT_CALL/APPROVE/BATCH).
|
|
651
668
|
*/
|
|
652
|
-
async function buildByType(adapter, request, walletPublicKey) {
|
|
669
|
+
export async function buildByType(adapter, request, walletPublicKey) {
|
|
653
670
|
const type = ('type' in request && request.type) || 'TRANSFER';
|
|
654
671
|
switch (type) {
|
|
655
672
|
case 'TRANSFER': {
|
|
@@ -775,13 +792,29 @@ export async function stage5Execute(ctx) {
|
|
|
775
792
|
try {
|
|
776
793
|
// Stage 5a: Build unsigned transaction (type-routed)
|
|
777
794
|
ctx.unsignedTx = await buildByType(ctx.adapter, ctx.request, ctx.wallet.publicKey);
|
|
778
|
-
// Stage 5b: Simulate
|
|
795
|
+
// Stage 5b: Simulate (with RPC metrics)
|
|
796
|
+
const simStart = Date.now();
|
|
797
|
+
ctx.metricsCounter?.increment('rpc.calls', { network: ctx.resolvedNetwork });
|
|
779
798
|
const simResult = await ctx.adapter.simulateTransaction(ctx.unsignedTx);
|
|
799
|
+
ctx.metricsCounter?.recordLatency('rpc.latency', Date.now() - simStart, { network: ctx.resolvedNetwork });
|
|
780
800
|
if (!simResult.success) {
|
|
801
|
+
ctx.metricsCounter?.increment('rpc.errors', { network: ctx.resolvedNetwork });
|
|
802
|
+
ctx.metricsCounter?.increment('tx.failed', { network: ctx.resolvedNetwork });
|
|
781
803
|
await ctx.db
|
|
782
804
|
.update(transactions)
|
|
783
805
|
.set({ status: 'FAILED', error: simResult.error ?? 'Simulation failed' })
|
|
784
806
|
.where(eq(transactions.id, ctx.txId));
|
|
807
|
+
// Audit log: TX_FAILED (simulation failure)
|
|
808
|
+
if (ctx.sqlite) {
|
|
809
|
+
insertAuditLog(ctx.sqlite, {
|
|
810
|
+
eventType: 'TX_FAILED',
|
|
811
|
+
actor: ctx.sessionId ?? 'system',
|
|
812
|
+
walletId: ctx.walletId,
|
|
813
|
+
txId: ctx.txId,
|
|
814
|
+
details: { error: simResult.error ?? 'Simulation failed', stage: 5, chain: ctx.wallet.chain, network: ctx.resolvedNetwork },
|
|
815
|
+
severity: 'warning',
|
|
816
|
+
});
|
|
817
|
+
}
|
|
785
818
|
// Fire-and-forget: notify TX_FAILED on simulation failure
|
|
786
819
|
void ctx.notificationService?.notify('TX_FAILED', ctx.walletId, {
|
|
787
820
|
txId: ctx.txId,
|
|
@@ -815,13 +848,34 @@ export async function stage5Execute(ctx) {
|
|
|
815
848
|
ctx.keyStore.releaseKey(privateKey);
|
|
816
849
|
}
|
|
817
850
|
}
|
|
818
|
-
// Stage 5d: Submit
|
|
851
|
+
// Stage 5d: Submit (with RPC metrics)
|
|
852
|
+
const submitStart = Date.now();
|
|
853
|
+
ctx.metricsCounter?.increment('rpc.calls', { network: ctx.resolvedNetwork });
|
|
819
854
|
ctx.submitResult = await ctx.adapter.submitTransaction(ctx.signedTx);
|
|
855
|
+
ctx.metricsCounter?.recordLatency('rpc.latency', Date.now() - submitStart, { network: ctx.resolvedNetwork });
|
|
856
|
+
// Success: increment tx.submitted counter
|
|
857
|
+
ctx.metricsCounter?.increment('tx.submitted', { network: ctx.resolvedNetwork });
|
|
820
858
|
// Success: Update DB SUBMITTED + txHash
|
|
821
859
|
await ctx.db
|
|
822
860
|
.update(transactions)
|
|
823
861
|
.set({ status: 'SUBMITTED', txHash: ctx.submitResult.txHash })
|
|
824
862
|
.where(eq(transactions.id, ctx.txId));
|
|
863
|
+
// Audit log: TX_SUBMITTED
|
|
864
|
+
if (ctx.sqlite) {
|
|
865
|
+
insertAuditLog(ctx.sqlite, {
|
|
866
|
+
eventType: 'TX_SUBMITTED',
|
|
867
|
+
actor: ctx.sessionId ?? 'system',
|
|
868
|
+
walletId: ctx.walletId,
|
|
869
|
+
txId: ctx.txId,
|
|
870
|
+
details: {
|
|
871
|
+
txHash: ctx.submitResult.txHash,
|
|
872
|
+
chain: ctx.wallet.chain,
|
|
873
|
+
network: ctx.resolvedNetwork,
|
|
874
|
+
type: ('type' in ctx.request && ctx.request.type) ? ctx.request.type : 'TRANSFER',
|
|
875
|
+
},
|
|
876
|
+
severity: 'info',
|
|
877
|
+
});
|
|
878
|
+
}
|
|
825
879
|
// Fire-and-forget: notify TX_SUBMITTED
|
|
826
880
|
void ctx.notificationService?.notify('TX_SUBMITTED', ctx.walletId, {
|
|
827
881
|
txId: ctx.txId,
|
|
@@ -849,10 +903,23 @@ export async function stage5Execute(ctx) {
|
|
|
849
903
|
switch (err.category) {
|
|
850
904
|
case 'PERMANENT': {
|
|
851
905
|
// Immediate failure, no retry
|
|
906
|
+
ctx.metricsCounter?.increment('rpc.errors', { network: ctx.resolvedNetwork });
|
|
907
|
+
ctx.metricsCounter?.increment('tx.failed', { network: ctx.resolvedNetwork });
|
|
852
908
|
await ctx.db
|
|
853
909
|
.update(transactions)
|
|
854
910
|
.set({ status: 'FAILED', error: err.message })
|
|
855
911
|
.where(eq(transactions.id, ctx.txId));
|
|
912
|
+
// Audit log: TX_FAILED (permanent chain error)
|
|
913
|
+
if (ctx.sqlite) {
|
|
914
|
+
insertAuditLog(ctx.sqlite, {
|
|
915
|
+
eventType: 'TX_FAILED',
|
|
916
|
+
actor: ctx.sessionId ?? 'system',
|
|
917
|
+
walletId: ctx.walletId,
|
|
918
|
+
txId: ctx.txId,
|
|
919
|
+
details: { error: err.message, stage: 5, chain: ctx.wallet.chain, network: ctx.resolvedNetwork },
|
|
920
|
+
severity: 'warning',
|
|
921
|
+
});
|
|
922
|
+
}
|
|
856
923
|
// Fire-and-forget: notify TX_FAILED
|
|
857
924
|
void ctx.notificationService?.notify('TX_FAILED', ctx.walletId, {
|
|
858
925
|
txId: ctx.txId,
|
|
@@ -876,8 +943,10 @@ export async function stage5Execute(ctx) {
|
|
|
876
943
|
});
|
|
877
944
|
}
|
|
878
945
|
case 'TRANSIENT': {
|
|
946
|
+
ctx.metricsCounter?.increment('rpc.errors', { network: ctx.resolvedNetwork });
|
|
879
947
|
if (retryCount >= 3) {
|
|
880
948
|
// Max retries exhausted
|
|
949
|
+
ctx.metricsCounter?.increment('tx.failed', { network: ctx.resolvedNetwork });
|
|
881
950
|
await ctx.db
|
|
882
951
|
.update(transactions)
|
|
883
952
|
.set({ status: 'FAILED', error: `${err.code} (max retries exceeded)` })
|
|
@@ -910,8 +979,10 @@ export async function stage5Execute(ctx) {
|
|
|
910
979
|
continue buildLoop; // Retry from Stage 5a (rebuild)
|
|
911
980
|
}
|
|
912
981
|
case 'STALE': {
|
|
982
|
+
ctx.metricsCounter?.increment('rpc.errors', { network: ctx.resolvedNetwork });
|
|
913
983
|
if (retryCount >= 1) {
|
|
914
984
|
// Stale retry exhausted (shared retryCount)
|
|
985
|
+
ctx.metricsCounter?.increment('tx.failed', { network: ctx.resolvedNetwork });
|
|
915
986
|
await ctx.db
|
|
916
987
|
.update(transactions)
|
|
917
988
|
.set({ status: 'FAILED', error: `${err.code} (stale retry exhausted)` })
|
|
@@ -973,6 +1044,22 @@ export async function stage6Confirm(ctx) {
|
|
|
973
1044
|
.update(transactions)
|
|
974
1045
|
.set({ status: 'CONFIRMED', executedAt })
|
|
975
1046
|
.where(eq(transactions.id, ctx.txId));
|
|
1047
|
+
// Audit log: TX_CONFIRMED
|
|
1048
|
+
if (ctx.sqlite) {
|
|
1049
|
+
insertAuditLog(ctx.sqlite, {
|
|
1050
|
+
eventType: 'TX_CONFIRMED',
|
|
1051
|
+
actor: ctx.sessionId ?? 'system',
|
|
1052
|
+
walletId: ctx.walletId,
|
|
1053
|
+
txId: ctx.txId,
|
|
1054
|
+
details: {
|
|
1055
|
+
txHash: ctx.submitResult.txHash,
|
|
1056
|
+
chain: ctx.wallet.chain,
|
|
1057
|
+
network: ctx.resolvedNetwork,
|
|
1058
|
+
executedAt: Math.floor(Date.now() / 1000),
|
|
1059
|
+
},
|
|
1060
|
+
severity: 'info',
|
|
1061
|
+
});
|
|
1062
|
+
}
|
|
976
1063
|
// Fire-and-forget: notify TX_CONFIRMED (never blocks pipeline)
|
|
977
1064
|
void ctx.notificationService?.notify('TX_CONFIRMED', ctx.walletId, {
|
|
978
1065
|
txId: ctx.txId,
|
|
@@ -999,6 +1086,17 @@ export async function stage6Confirm(ctx) {
|
|
|
999
1086
|
.update(transactions)
|
|
1000
1087
|
.set({ status: 'FAILED', error: 'Transaction reverted on-chain' })
|
|
1001
1088
|
.where(eq(transactions.id, ctx.txId));
|
|
1089
|
+
// Audit log: TX_FAILED (on-chain revert)
|
|
1090
|
+
if (ctx.sqlite) {
|
|
1091
|
+
insertAuditLog(ctx.sqlite, {
|
|
1092
|
+
eventType: 'TX_FAILED',
|
|
1093
|
+
actor: ctx.sessionId ?? 'system',
|
|
1094
|
+
walletId: ctx.walletId,
|
|
1095
|
+
txId: ctx.txId,
|
|
1096
|
+
details: { error: 'Transaction reverted on-chain', stage: 6, chain: ctx.wallet.chain, network: ctx.resolvedNetwork },
|
|
1097
|
+
severity: 'warning',
|
|
1098
|
+
});
|
|
1099
|
+
}
|
|
1002
1100
|
// Fire-and-forget: notify TX_FAILED on on-chain revert (never blocks pipeline)
|
|
1003
1101
|
void ctx.notificationService?.notify('TX_FAILED', ctx.walletId, {
|
|
1004
1102
|
txId: ctx.txId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/pipeline/stages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/pipeline/stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AdminStatsService: aggregates 7-category operational statistics.
|
|
3
|
+
*
|
|
4
|
+
* Combines DB aggregate queries (transactions, sessions, wallets, notifications)
|
|
5
|
+
* with in-memory counters (RPC metrics) and service status (AutoStop, system info).
|
|
6
|
+
* Results are cached with a 1-minute TTL.
|
|
7
|
+
*
|
|
8
|
+
* @see STAT-01, STAT-02, STAT-03 requirements
|
|
9
|
+
*/
|
|
10
|
+
import type { Database } from 'better-sqlite3';
|
|
11
|
+
import type { AdminStatsResponse } from '@waiaas/core';
|
|
12
|
+
import type { InMemoryCounter } from '../infrastructure/metrics/in-memory-counter.js';
|
|
13
|
+
export declare class AdminStatsService {
|
|
14
|
+
private opts;
|
|
15
|
+
private cache;
|
|
16
|
+
private cacheExpiry;
|
|
17
|
+
private readonly TTL_MS;
|
|
18
|
+
constructor(opts: {
|
|
19
|
+
sqlite: Database;
|
|
20
|
+
metricsCounter: InMemoryCounter;
|
|
21
|
+
autoStopService?: {
|
|
22
|
+
getStatus(): {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
config: any;
|
|
25
|
+
rules: any;
|
|
26
|
+
};
|
|
27
|
+
registry?: {
|
|
28
|
+
getRules(): Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
displayName: string;
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
getStatus(): {
|
|
33
|
+
trackedCount: number;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
startTime: number;
|
|
39
|
+
version: string;
|
|
40
|
+
dataDir?: string;
|
|
41
|
+
});
|
|
42
|
+
/** Get aggregated stats. Returns cached value if within TTL. */
|
|
43
|
+
getStats(): AdminStatsResponse;
|
|
44
|
+
/** Force cache refresh on next getStats() call. */
|
|
45
|
+
invalidateCache(): void;
|
|
46
|
+
private buildStats;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=admin-stats-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-stats-service.d.ts","sourceRoot":"","sources":["../../src/services/admin-stats-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAStF,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAEb,IAAI,EAAE;QACxB,MAAM,EAAE,QAAQ,CAAC;QACjB,cAAc,EAAE,eAAe,CAAC;QAChC,eAAe,CAAC,EAAE;YAAE,SAAS,IAAI;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,MAAM,EAAE,GAAG,CAAC;gBAAC,KAAK,EAAE,GAAG,CAAA;aAAE,CAAC;YAAC,QAAQ,CAAC,EAAE;gBAAE,QAAQ,IAAI,KAAK,CAAC;oBAAE,EAAE,EAAE,MAAM,CAAC;oBAAC,WAAW,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,OAAO,CAAC;oBAAC,SAAS,IAAI;wBAAE,YAAY,EAAE,MAAM,CAAA;qBAAE,CAAA;iBAAE,CAAC,CAAA;aAAE,CAAA;SAAE,CAAC;QACjN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAED,gEAAgE;IAChE,QAAQ,IAAI,kBAAkB;IAY9B,mDAAmD;IACnD,eAAe,IAAI,IAAI;IAQvB,OAAO,CAAC,UAAU;CAqJnB"}
|