dexbot 1.4.9 → 1.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +3 -3
  2. package/dist/dexbot.d.ts.map +1 -1
  3. package/dist/dexbot.js +43 -9
  4. package/dist/dexbot.js.map +1 -1
  5. package/dist/market_adapter/core/market_adapter_service.d.ts +2 -0
  6. package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
  7. package/dist/market_adapter/core/market_adapter_service.js +9 -0
  8. package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
  9. package/dist/market_adapter/market_adapter.d.ts.map +1 -1
  10. package/dist/market_adapter/market_adapter.js +6 -1
  11. package/dist/market_adapter/market_adapter.js.map +1 -1
  12. package/dist/modules/broadcast_failure.d.ts +0 -1
  13. package/dist/modules/broadcast_failure.d.ts.map +1 -1
  14. package/dist/modules/broadcast_failure.js +0 -1
  15. package/dist/modules/broadcast_failure.js.map +1 -1
  16. package/dist/modules/chain_keys.d.ts.map +1 -1
  17. package/dist/modules/chain_keys.js +19 -1
  18. package/dist/modules/chain_keys.js.map +1 -1
  19. package/dist/modules/constants.d.ts +2 -5
  20. package/dist/modules/constants.d.ts.map +1 -1
  21. package/dist/modules/constants.js +8 -5
  22. package/dist/modules/constants.js.map +1 -1
  23. package/dist/modules/credential_policy.d.ts.map +1 -1
  24. package/dist/modules/credential_policy.js +135 -364
  25. package/dist/modules/credential_policy.js.map +1 -1
  26. package/dist/modules/daemon_node_health.d.ts +0 -1
  27. package/dist/modules/daemon_node_health.d.ts.map +1 -1
  28. package/dist/modules/daemon_node_health.js +0 -1
  29. package/dist/modules/daemon_node_health.js.map +1 -1
  30. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  31. package/dist/modules/dexbot_cow_runtime.js +7 -1
  32. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  33. package/dist/modules/dexbot_fill_runtime.d.ts +14 -5
  34. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  35. package/dist/modules/dexbot_fill_runtime.js +27 -27
  36. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  37. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  38. package/dist/modules/dexbot_maintenance_runtime.js +32 -14
  39. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  40. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  41. package/dist/modules/dexbot_startup_runtime.js +4 -11
  42. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  43. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  44. package/dist/modules/dexbot_state_recovery.js +7 -7
  45. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  46. package/dist/modules/key_store.d.ts.map +1 -1
  47. package/dist/modules/key_store.js +42 -60
  48. package/dist/modules/key_store.js.map +1 -1
  49. package/dist/modules/launcher/bot_supervisor.d.ts +2 -2
  50. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  51. package/dist/modules/launcher/bot_supervisor.js +6 -26
  52. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  53. package/dist/modules/launcher/foreign_cred_daemon.d.ts +17 -0
  54. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
  55. package/dist/modules/launcher/foreign_cred_daemon.js +5 -14
  56. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  57. package/dist/modules/launcher/monolithic_runtime.d.ts +2 -1
  58. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  59. package/dist/modules/launcher/monolithic_runtime.js +34 -16
  60. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  61. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  62. package/dist/modules/launcher/status_reporting.js +1 -11
  63. package/dist/modules/launcher/status_reporting.js.map +1 -1
  64. package/dist/modules/node_failure_ledger.d.ts +0 -1
  65. package/dist/modules/node_failure_ledger.d.ts.map +1 -1
  66. package/dist/modules/node_failure_ledger.js +0 -1
  67. package/dist/modules/node_failure_ledger.js.map +1 -1
  68. package/dist/modules/order/accounting.d.ts.map +1 -1
  69. package/dist/modules/order/accounting.js +5 -1
  70. package/dist/modules/order/accounting.js.map +1 -1
  71. package/dist/modules/order/grid.d.ts +5 -5
  72. package/dist/modules/order/grid.d.ts.map +1 -1
  73. package/dist/modules/order/grid.js +236 -27
  74. package/dist/modules/order/grid.js.map +1 -1
  75. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  76. package/dist/modules/order/grid_reconcile_internal.js +147 -35
  77. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  78. package/dist/modules/order/logger.d.ts +0 -8
  79. package/dist/modules/order/logger.d.ts.map +1 -1
  80. package/dist/modules/order/logger.js +1 -73
  81. package/dist/modules/order/logger.js.map +1 -1
  82. package/dist/modules/order/manager.d.ts +1 -80
  83. package/dist/modules/order/manager.d.ts.map +1 -1
  84. package/dist/modules/order/manager.js +3 -116
  85. package/dist/modules/order/manager.js.map +1 -1
  86. package/dist/modules/order/strategy.js +2 -2
  87. package/dist/modules/order/strategy.js.map +1 -1
  88. package/dist/modules/order/sync_engine.js +4 -4
  89. package/dist/modules/order/sync_engine.js.map +1 -1
  90. package/dist/modules/order/utils/math.d.ts +38 -1
  91. package/dist/modules/order/utils/math.d.ts.map +1 -1
  92. package/dist/modules/order/utils/math.js +60 -0
  93. package/dist/modules/order/utils/math.js.map +1 -1
  94. package/dist/modules/order/utils/order.d.ts +45 -1
  95. package/dist/modules/order/utils/order.d.ts.map +1 -1
  96. package/dist/modules/order/utils/order.js +84 -0
  97. package/dist/modules/order/utils/order.js.map +1 -1
  98. package/dist/modules/order/utils/system.d.ts.map +1 -1
  99. package/dist/modules/order/utils/system.js +5 -2
  100. package/dist/modules/order/utils/system.js.map +1 -1
  101. package/dist/modules/process_discovery.d.ts +1 -1
  102. package/dist/modules/process_discovery.d.ts.map +1 -1
  103. package/dist/modules/process_discovery.js +17 -17
  104. package/dist/modules/process_discovery.js.map +1 -1
  105. package/dist/modules/socket_json_client.d.ts +0 -1
  106. package/dist/modules/socket_json_client.d.ts.map +1 -1
  107. package/dist/modules/socket_json_client.js +0 -1
  108. package/dist/modules/socket_json_client.js.map +1 -1
  109. package/dist/modules/types.d.ts +0 -600
  110. package/dist/modules/types.d.ts.map +1 -1
  111. package/dist/modules/types.js +15 -0
  112. package/dist/modules/types.js.map +1 -1
  113. package/dist/scripts/run-tests.js +185 -18
  114. package/dist/scripts/run-tests.js.map +1 -1
  115. package/dist/scripts/update.js +27 -17
  116. package/dist/scripts/update.js.map +1 -1
  117. package/dist/unlock.d.ts.map +1 -1
  118. package/dist/unlock.js +170 -86
  119. package/dist/unlock.js.map +1 -1
  120. package/package.json +1 -1
@@ -9,28 +9,8 @@
9
9
  export type OrderType = 'sell' | 'buy' | 'spread';
10
10
  export type OrderState = 'virtual' | 'active' | 'partial' | 'filled';
11
11
  export type RebalanceState = 'NORMAL' | 'REBALANCING' | 'BROADCASTING';
12
- export type CowActionType = 'create' | 'cancel' | 'update';
13
- export type AmaSlopePercentMode = 'perBar' | 'window';
14
- export type ProcessedFillPersistenceMode = 'immediate' | 'batched' | 'manual';
15
- export type CreditDealAutoRepay = 'no_auto_repayment' | 'only_full_repayment' | 'allow_partial_repayment';
16
12
  export type GridPriceSource = 'pool' | 'book' | 'ama' | 'ama1' | 'ama2' | 'ama3' | 'ama4' | number | null;
17
13
  export type StartPriceSource = 'pool' | 'book' | number;
18
- /**
19
- * Blockchain operation type IDs matching the fc::static_variant index.
20
- * See graphene/protocol/operations.hpp for the canonical list:
21
- * 1 = limit_order_create
22
- * 2 = limit_order_cancel
23
- * 3 = call_order_update
24
- * 4 = fill_order (VIRTUAL)
25
- * 69 = credit_offer_create
26
- * 70 = credit_offer_delete
27
- * 71 = credit_offer_update
28
- * 72 = credit_offer_accept
29
- * 73 = credit_deal_repay
30
- * 74 = credit_deal_expired (VIRTUAL)
31
- * 77 = limit_order_update
32
- */
33
- export type OperationTypeId = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77;
34
14
  export interface Asset {
35
15
  /** Integer amount in satoshis (blockchain precision) */
36
16
  amount: number;
@@ -42,28 +22,6 @@ export interface Price {
42
22
  base: Asset;
43
23
  quote: Asset;
44
24
  }
45
- /** Market parameters for margin positions (bitasset feeds). Matches graphene::protocol::price_feed */
46
- export interface PriceFeed {
47
- settlement_price: Price;
48
- core_exchange_rate: Price;
49
- /** MCR (fixed point, denominator 1000) */
50
- maintenance_collateral_ratio: number;
51
- /** MSSR */
52
- maximum_short_squeeze_ratio: number;
53
- }
54
- /** Raw limit order as returned by the blockchain API */
55
- export interface ChainLimitOrder {
56
- id: string;
57
- seller: string;
58
- for_sale: number;
59
- sell_price: {
60
- base: Asset;
61
- quote: Asset;
62
- };
63
- expiration: string;
64
- delegated_fee_asset_id?: string;
65
- created?: string;
66
- }
67
25
  /** Normalized order parsed from a chain order object */
68
26
  export interface ParsedChainOrder {
69
27
  orderId: string;
@@ -133,38 +91,6 @@ export interface TransferOp {
133
91
  memo?: Record<string, any>;
134
92
  extensions?: Record<string, any>;
135
93
  }
136
- export interface CreditOfferCreateOp {
137
- fee: Asset;
138
- owner_account: string;
139
- asset_type: string;
140
- balance: number;
141
- fee_rate: number;
142
- max_duration_seconds: number;
143
- min_deal_amount: number;
144
- enabled: boolean;
145
- auto_disable_time: number;
146
- acceptable_collateral: Record<string, Price>;
147
- acceptable_borrowers: Record<string, number>;
148
- extensions?: Record<string, any>;
149
- }
150
- export interface CreditOfferAcceptOp {
151
- fee: Asset;
152
- borrower: string;
153
- offer_id: string;
154
- borrow_amount: Asset;
155
- collateral: Asset;
156
- max_fee_rate: number;
157
- min_duration_seconds: number;
158
- extensions?: Record<string, any>;
159
- }
160
- export interface CreditDealRepayOp {
161
- fee: Asset;
162
- account: string;
163
- deal_id: string;
164
- repay_amount: Asset;
165
- credit_fee: Asset;
166
- extensions?: Record<string, any>;
167
- }
168
94
  export interface CreatedOperation {
169
95
  op_name: string;
170
96
  op_data: Record<string, any>;
@@ -174,42 +100,6 @@ export interface BroadcastResult {
174
100
  raw?: any;
175
101
  operation_results?: any[];
176
102
  }
177
- export interface CreateOrderResult {
178
- success?: boolean;
179
- dryRun?: boolean;
180
- params?: Record<string, any>;
181
- skipped?: boolean;
182
- raw?: any;
183
- operation_results?: any[];
184
- }
185
- export interface CancelOrderResult {
186
- success: boolean;
187
- orderId: string;
188
- verified: boolean;
189
- verifiedAfterFailure?: boolean;
190
- raw?: any;
191
- operation_results?: any[];
192
- }
193
- export interface BatchExecutionResult {
194
- success: boolean;
195
- raw: any;
196
- operation_results: any[];
197
- }
198
- export interface DaemonExecutionResult {
199
- success: boolean;
200
- raw: any | null;
201
- operation_results: any[];
202
- }
203
- export interface OnChainBalances {
204
- assetId: string;
205
- symbol: string;
206
- precision: number;
207
- freeRaw: number;
208
- lockedRaw: number;
209
- free: number;
210
- locked: number;
211
- total: number;
212
- }
213
103
  export interface OrderBase {
214
104
  id: string;
215
105
  price: number;
@@ -242,24 +132,6 @@ export interface PartialOrder extends OrderBase {
242
132
  size: number;
243
133
  }
244
134
  export type Order = VirtualOrder | ActiveOrder | PartialOrder;
245
- export interface FilledOrder extends OrderBase {
246
- state: 'filled';
247
- orderId: string;
248
- size: number;
249
- blockNum: number;
250
- historyId: string;
251
- isMaker: boolean;
252
- isPartial?: boolean;
253
- filledSize?: number;
254
- isDelayedRotationTrigger?: boolean;
255
- }
256
- export interface FilledPortion {
257
- size: number;
258
- isPartial: true;
259
- blockNum: number;
260
- historyId: string;
261
- isMaker: boolean;
262
- }
263
135
  export interface OrderValidationError {
264
136
  code: string;
265
137
  message: string;
@@ -315,15 +187,6 @@ export interface GridCreationResult {
315
187
  sell: number;
316
188
  };
317
189
  }
318
- export interface GridPricingContext {
319
- gridPrice: number;
320
- gridPriceOffsetPct: number;
321
- offsetAdjustedStartPrice: number;
322
- startPrice: number;
323
- configuredMinPrice: number | string;
324
- configuredMaxPrice: number | string;
325
- rangeScalingFactor: number | null;
326
- }
327
190
  export interface SizingContext {
328
191
  budget: number;
329
192
  precision: number;
@@ -381,37 +244,12 @@ export interface SideFunds {
381
244
  sell: number;
382
245
  buy: number;
383
246
  }
384
- export interface BotFunds {
385
- chainFree: SideFunds;
386
- allocated: SideFunds;
387
- committed: SideFunds;
388
- virtual: SideFunds;
389
- btsFeesOwed: number;
390
- }
391
247
  export interface AccountTotals {
392
248
  buy: number | null;
393
249
  sell: number | null;
394
250
  buyFree: number | null;
395
251
  sellFree: number | null;
396
252
  }
397
- export interface BalanceAdjustment {
398
- orderType: 'buy' | 'sell';
399
- delta: number;
400
- operation: string;
401
- }
402
- export interface TargetGridValidation {
403
- isValid: boolean;
404
- shortfall: {
405
- buy: number;
406
- sell: number;
407
- };
408
- details: {
409
- requiredBuy: number;
410
- requiredSell: number;
411
- totalBuy: number;
412
- totalSell: number;
413
- };
414
- }
415
253
  export interface ChainFundsSnapshot {
416
254
  chainTotalBuy: number;
417
255
  chainTotalSell: number;
@@ -440,13 +278,6 @@ export interface CowUpdateAction {
440
278
  isRotation: boolean;
441
279
  }
442
280
  export type CowAction = CowCreateAction | CowCancelAction | CowUpdateAction;
443
- export interface DeltaAction {
444
- type: 'create' | 'cancel' | 'update';
445
- id: string;
446
- order?: Order;
447
- orderId?: string;
448
- prevOrder?: Order;
449
- }
450
281
  export interface StateUpdate {
451
282
  id: string;
452
283
  state?: 'virtual';
@@ -488,11 +319,6 @@ export interface ReconcileResult {
488
319
  boundaryIdx: number;
489
320
  summary: ActionSummary;
490
321
  }
491
- export interface CommitEvalResult {
492
- canCommit: boolean;
493
- reason?: string;
494
- level?: 'error' | 'warn' | 'debug';
495
- }
496
322
  export interface DriftCheckResult {
497
323
  isValid: boolean;
498
324
  driftBuy: number;
@@ -501,26 +327,6 @@ export interface DriftCheckResult {
501
327
  allowedDriftSell: number;
502
328
  reason: string | null;
503
329
  }
504
- export interface FundValidationResult {
505
- isValid: boolean;
506
- reason: string | null;
507
- shortfalls: Array<{
508
- asset: string;
509
- required: number;
510
- available: number;
511
- deficit: number;
512
- }>;
513
- required: {
514
- buyInt: number;
515
- sellInt: number;
516
- buy: number;
517
- sell: number;
518
- };
519
- available: {
520
- buy: number;
521
- sell: number;
522
- };
523
- }
524
330
  export interface BootstrapResult {
525
331
  hadDrift: boolean;
526
332
  driftInfo: DriftCheckResult | null;
@@ -542,24 +348,6 @@ export interface GridIndexes {
542
348
  sell: Set<string>;
543
349
  spread: Set<string>;
544
350
  }
545
- export interface MemoryStats {
546
- size: number;
547
- modified: number;
548
- estimatedBytes: number;
549
- }
550
- export interface IndexValidationResult {
551
- valid: boolean;
552
- errors: string[];
553
- }
554
- export interface TargetGridEntry {
555
- id: string;
556
- price: number;
557
- type: OrderType;
558
- size: number;
559
- idealSize: number;
560
- state: OrderState;
561
- committedSide?: OrderType;
562
- }
563
351
  export interface SyncResult {
564
352
  filledOrders: Order[];
565
353
  updatedOrders: Order[];
@@ -570,10 +358,6 @@ export interface SyncResult {
570
358
  }
571
359
  export interface BatchSyncResult extends SyncResult {
572
360
  }
573
- export interface SynchronizeResult {
574
- newOrders: Order[];
575
- ordersNeedingCorrection: PriceCorrectionEntry[];
576
- }
577
361
  export interface PriceCorrectionEntry {
578
362
  gridOrder: Order;
579
363
  chainOrderId: string;
@@ -585,31 +369,6 @@ export interface PriceCorrectionEntry {
585
369
  isSurplus?: boolean;
586
370
  sideUpdated?: string;
587
371
  }
588
- export interface ChainCreateOrderData {
589
- gridOrderId: string;
590
- chainOrderId: string;
591
- isPartialPlacement: boolean;
592
- expectedType?: string;
593
- fee: number;
594
- skipAccounting?: boolean;
595
- }
596
- export interface ChainCancelOrderData {
597
- orderId: string;
598
- clearSize?: boolean;
599
- }
600
- export interface SignalEntry {
601
- id: string;
602
- context: string;
603
- message: string;
604
- at: number;
605
- }
606
- export interface AccountingFailureSignal {
607
- code: 'ACCOUNTING_COMMITMENT_FAILED';
608
- side: 'buy' | 'sell';
609
- amount: number;
610
- context: string;
611
- at: number;
612
- }
613
372
  export interface GridRegenSideState {
614
373
  armed: boolean;
615
374
  lastTriggeredAt: number;
@@ -666,58 +425,16 @@ export interface PipelineEmptyResult {
666
425
  isEmpty: boolean;
667
426
  reasons: string[];
668
427
  }
669
- export interface PipelineSignals {
670
- incomingFillQueueLength?: number;
671
- shadowLocks?: number;
672
- batchInFlight?: boolean;
673
- recoveryInFlight?: boolean;
674
- broadcasting?: boolean;
675
- }
676
428
  export interface OrderUpdateOptions {
677
429
  skipAccounting?: boolean;
678
430
  fee?: number;
679
431
  }
680
- export interface CommitOptions {
681
- skipRecalc?: boolean;
682
- }
683
- export interface CowComparePrecisions {
684
- buyPrecision: number;
685
- sellPrecision: number;
686
- priceRelativeTolerance: number;
687
- }
688
- export interface StartupGridAction {
689
- shouldRegenerate: boolean;
690
- hasActiveMatch: boolean;
691
- resumedByPrice: boolean;
692
- matchedCount: number;
693
- }
694
- export interface PriceMatchResumeResult {
695
- resumed: boolean;
696
- matchedCount: number;
697
- }
698
- export interface StartupReconcileSideResult {
699
- chainCount: number;
700
- }
701
- export interface StartupUpdateBatchResult {
702
- executed: boolean;
703
- prepared: number;
704
- skipped: boolean;
705
- }
706
- export interface StartupSequentialUpdateResult {
707
- executed: number;
708
- skipped: number;
709
- failed: number;
710
- }
711
432
  export interface ReplaySafeFillResult {
712
433
  status: 'applied' | 'duplicate' | 'missing_key' | 'error';
713
434
  fillKey: string | null;
714
435
  usedFallbackKey?: boolean;
715
436
  error?: Error;
716
437
  }
717
- export interface SyntheticFill {
718
- isPartial: boolean;
719
- isDelayedRotationTrigger?: boolean;
720
- }
721
438
  export interface BotsConfigSnapshot {
722
439
  exists: boolean;
723
440
  fingerprint: string | null;
@@ -747,12 +464,6 @@ export interface GridResyncOptions {
747
464
  centerRefreshLabel?: string;
748
465
  resetSource?: string;
749
466
  }
750
- export interface DustCancelResult {
751
- cancelledCount: number;
752
- batchResult: {
753
- aborted: boolean;
754
- } | null;
755
- }
756
467
  export interface MarketAdapterSyncResult {
757
468
  changed: boolean;
758
469
  required: boolean;
@@ -894,14 +605,6 @@ export interface BotConfigEntry {
894
605
  pipelineTiming?: BotPipelineTimingOverrides;
895
606
  apiLimits?: BotApiLimitsOverrides;
896
607
  }
897
- export interface DEXBotConfig extends BotConfigEntry {
898
- botKey: string;
899
- botIndex?: number;
900
- ama?: BotAmaConfig;
901
- marketAdapterSettings?: Record<string, any>;
902
- TIMING?: Record<string, any>;
903
- min_BTS_value?: number;
904
- }
905
608
  export interface BotAmaConfig {
906
609
  enabled: boolean;
907
610
  erPeriod: number;
@@ -947,9 +650,6 @@ export interface CreditOfferLendingEntry extends LendingEntryBase {
947
650
  minDurationSeconds?: number;
948
651
  }
949
652
  export type DebtPolicyLendingEntry = MpaLendingEntry | CreditOfferLendingEntry;
950
- export interface BotsFile {
951
- bots: BotConfigEntry[];
952
- }
953
653
  export interface LoggingRotationConfig {
954
654
  enabled: boolean;
955
655
  maxSize: number;
@@ -975,18 +675,6 @@ export interface LoggingConfig {
975
675
  json?: LoggingJsonConfig;
976
676
  display?: Record<string, any>;
977
677
  }
978
- export interface GeneralSettings {
979
- LOG_LEVEL?: string;
980
- GRID_LIMITS?: Record<string, any>;
981
- TIMING?: Record<string, any>;
982
- UPDATER?: Record<string, any>;
983
- MARKET_ADAPTER?: Record<string, any>;
984
- LOGGING_CONFIG?: LoggingConfig;
985
- NATIVE_CLIENT?: Record<string, any>;
986
- FILL_PROCESSING?: Record<string, any>;
987
- PIPELINE_TIMING?: Record<string, any>;
988
- DEFAULT_CONFIG?: Record<string, any>;
989
- }
990
678
  export interface KeysFile {
991
679
  vaultVersion: number;
992
680
  vaultSalt: string;
@@ -1001,23 +689,6 @@ export interface VaultSecret {
1001
689
  version: number;
1002
690
  vaultKeyHex: string;
1003
691
  }
1004
- export interface SessionSecret {
1005
- kind: 'dexbot-session-secret';
1006
- version: number;
1007
- sessionSaltHex: string;
1008
- vaultKeyHex: string;
1009
- }
1010
- export interface DaemonSigningToken {
1011
- kind: 'dexbot-daemon-signing-token';
1012
- accountName: string;
1013
- socketPath: string;
1014
- sessionId: string | null;
1015
- botHmacSecret: string | null;
1016
- }
1017
- export interface KeyValidationResult {
1018
- valid: boolean;
1019
- reason?: string;
1020
- }
1021
692
  export interface MarketAdapterConfig {
1022
693
  pollSeconds: number;
1023
694
  deltaThresholdPercent: number;
@@ -1080,162 +751,7 @@ export interface DynamicWeightsPayload {
1080
751
  };
1081
752
  profile?: string;
1082
753
  }
1083
- export interface GridPriceOffsetPlan {
1084
- trend: 'UP' | 'DOWN' | 'NEUTRAL';
1085
- rawSlopeOffset: number | null;
1086
- maxSlopeOffset: number | null;
1087
- slopeRatio: number;
1088
- targetSpreadPercent: number;
1089
- maxGridPriceOffsetPct: number;
1090
- gridPriceOffsetPct: number;
1091
- }
1092
- export interface BotState {
1093
- botName: string;
1094
- botKey: string;
1095
- marketSource: 'pool' | 'book' | null;
1096
- priceMode: 'book' | 'fixed' | null;
1097
- lastCycleSource: string | null;
1098
- lastCycleAt: string | null;
1099
- pendingClosedCandle: boolean;
1100
- lastTriggerSuppressedReason: string | null;
1101
- poolId: string | null;
1102
- candleFile: string | null;
1103
- candleCount: number;
1104
- analysisCandleCount: number;
1105
- kibanaGapRepairCount: number;
1106
- kibanaBackfillCount: number;
1107
- unresolvedGapCount: number;
1108
- nativeRecentTradeSequences: number[];
1109
- nativeLastTradeTs: number | null;
1110
- nativeOverlapCount: number | null;
1111
- nativePagesFetched: number | null;
1112
- lastCandleTs: number | null;
1113
- rawLastCandleTs: number | null;
1114
- lastClosedCandleTs: number | null;
1115
- gridCenterPrice: number | null;
1116
- centerPrice: number | null;
1117
- amaCenterPrice: number | null;
1118
- amaConfig: {
1119
- erPeriod: number;
1120
- fastPeriod: number;
1121
- slowPeriod: number;
1122
- erSmoothPeriod: number;
1123
- } | null;
1124
- atr: number | null;
1125
- weightVariance: number | null;
1126
- weights: DynamicWeightsPayload | null;
1127
- effectiveWeights: {
1128
- sell: number;
1129
- buy: number;
1130
- } | null;
1131
- collateralRecommendation: any;
1132
- amaSlope: AmaSlopeSnapshot | null;
1133
- amaSlopeDeltaPercent: number | null;
1134
- amaSlopeThresholdPercent: number | null;
1135
- rawKeepCount: number;
1136
- analysisKeepCount: number;
1137
- amaWarmupBars: number;
1138
- staleData: boolean;
1139
- staleAgeHours: number | null;
1140
- dynamicWeightWhitelisted?: boolean;
1141
- gridRangeScalingWhitelisted?: boolean;
1142
- dynamicWeightReady?: boolean;
1143
- dynamicWeightProfile?: string | null;
1144
- dynamicWeightApplied?: boolean;
1145
- hasExplicitBaseWeights?: boolean;
1146
- }
1147
- export interface ProcessBotResult {
1148
- ok: boolean;
1149
- dryRunMessages: string[];
1150
- source: string;
1151
- marketSource: 'pool' | 'book';
1152
- intervalSeconds: number;
1153
- candleCount: number;
1154
- analysisCandleCount: number;
1155
- rawKeepCount: number;
1156
- analysisKeepCount: number;
1157
- amaWarmupBars: number;
1158
- kibanaGapRepairCount: number;
1159
- kibanaBackfillCount: number;
1160
- unresolvedGapCount: number;
1161
- nativeRecentTradeSequences: number[];
1162
- nativeLastTradeTs: number | null;
1163
- nativeOverlapCount: number | null;
1164
- nativePagesFetched: number | null;
1165
- amaPrice: number | null;
1166
- previousCenterPrice: number | null;
1167
- deltaPercent: number | null;
1168
- thresholdPercent: number | null;
1169
- referencePrice: number | null;
1170
- amaComparison: any[];
1171
- triggered: boolean;
1172
- triggerPath: string | null;
1173
- staleData: boolean;
1174
- staleAgeHours: number | null;
1175
- triggerCallbackError: string | null;
1176
- triggerSuppressedReason: string | null;
1177
- weights: DynamicWeightsPayload | null;
1178
- collateralRecommendation: any;
1179
- amaSlope: AmaSlopeSnapshot | null;
1180
- amaSlopeDeltaPercent: number | null;
1181
- amaSlopeThresholdPercent: number | null;
1182
- dynamicWeightWhitelisted: boolean;
1183
- gridRangeScalingWhitelisted: boolean;
1184
- dynamicWeightReady: boolean;
1185
- dynamicWeightProfile: string | null;
1186
- dynamicWeightApplied: boolean;
1187
- hasExplicitBaseWeights: boolean;
1188
- poolId: string | null;
1189
- candleFile: string;
1190
- lastCandleTs: number | null;
1191
- rawLastCandleTs: number | null;
1192
- lastClosedCandleTs: number | null;
1193
- lastClosedCandleClose: number;
1194
- centerPrice: number;
1195
- amaConfig: {
1196
- erPeriod: number;
1197
- fastPeriod: number;
1198
- slowPeriod: number;
1199
- erSmoothPeriod: number;
1200
- };
1201
- atr: number | null;
1202
- weightVariance: number | null;
1203
- pendingClosedCandle: boolean;
1204
- reason?: string;
1205
- }
1206
754
  export type Candle = [number, number, number, number, number, number];
1207
- export interface TriggerFilePayload {
1208
- createdAt: string;
1209
- source: string;
1210
- botName: string;
1211
- botKey: string;
1212
- price?: number;
1213
- amaPrice?: number;
1214
- previousCenterPrice?: number;
1215
- deltaPercent?: number;
1216
- thresholdPercent?: number;
1217
- dynamicGridPath?: string;
1218
- }
1219
- export interface DynamicGridSnapshot {
1220
- gridCenterPrice: number;
1221
- centerPrice: number;
1222
- amaCenterPrice: number;
1223
- amaSlopePercentMode: 'perBar';
1224
- updatedAt: string;
1225
- source: string;
1226
- amaSlope?: AmaSlopeSnapshot;
1227
- gridRangeScalingAmaSlope?: AmaSlopeSnapshot;
1228
- gridPriceOffsetPct?: number;
1229
- amaSlopeDeltaPercent?: number;
1230
- amaSlopeThresholdPercent?: number;
1231
- dynamicWeights?: DynamicWeightsPayload;
1232
- lastGridResetAt?: string;
1233
- lastGridResetSource?: string;
1234
- }
1235
- export interface CenterSnapshot {
1236
- updatedAt: string;
1237
- bots: Record<string, CenterSnapshotBotEntry>;
1238
- }
1239
755
  export interface CenterSnapshotBotEntry {
1240
756
  botName: string;
1241
757
  gridCenterPrice: number;
@@ -1260,13 +776,6 @@ export interface ProcessedFillStoreConfig {
1260
776
  batchSize?: number;
1261
777
  warn?: (msg: string) => void;
1262
778
  }
1263
- export interface DEXBotMetrics {
1264
- fillsProcessed: number;
1265
- fillProcessingTimeMs: number;
1266
- batchesExecuted: number;
1267
- lockContentionEvents: number;
1268
- maxQueueDepth: number;
1269
- }
1270
779
  export interface SerializedGridEntry {
1271
780
  id: string | null;
1272
781
  type: string | null;
@@ -1285,117 +794,8 @@ export interface BotMeta {
1285
794
  createdAt: string;
1286
795
  updatedAt: string;
1287
796
  }
1288
- export interface PerBotStorage {
1289
- meta: BotMeta;
1290
- grid: SerializedGridEntry[];
1291
- btsFeesOwed: number;
1292
- boundaryIdx: number | null;
1293
- assets: AssetsPair | null;
1294
- debugInputs: Record<string, any> | null;
1295
- processedFills: Record<string, number>;
1296
- createdAt: string;
1297
- lastUpdated: string;
1298
- }
1299
- export interface DBAssetBalances {
1300
- assetA: {
1301
- active: number;
1302
- virtual: number;
1303
- };
1304
- assetB: {
1305
- active: number;
1306
- virtual: number;
1307
- };
1308
- meta: {
1309
- key: string;
1310
- name: string | null;
1311
- assetA: string | null;
1312
- assetB: string | null;
1313
- };
1314
- }
1315
797
  export interface CleanupHandler {
1316
798
  name: string;
1317
799
  handler: () => void | Promise<void>;
1318
800
  }
1319
- export interface ShutdownState {
1320
- cleanupHandlers: CleanupHandler[];
1321
- shutdownInProgress: boolean;
1322
- }
1323
- export interface CreditDeal {
1324
- id: string;
1325
- offer_id: string;
1326
- borrower: string;
1327
- borrow_amount: Asset;
1328
- collateral: Asset;
1329
- fee_rate: number;
1330
- expiration: number;
1331
- auto_repay: number;
1332
- }
1333
- export interface CreditOffer {
1334
- id: string;
1335
- owner_account: string;
1336
- asset_type: string;
1337
- balance: number;
1338
- fee_rate: number;
1339
- max_duration_seconds: number;
1340
- min_deal_amount: number;
1341
- enabled: boolean;
1342
- auto_disable_time: number;
1343
- acceptable_collateral: Record<string, Price>;
1344
- acceptable_borrowers: Record<string, number>;
1345
- }
1346
- export interface NodeHealth {
1347
- url: string;
1348
- connected: boolean;
1349
- latency: number;
1350
- lastChecked: number;
1351
- failCount: number;
1352
- blacklistedUntil?: number;
1353
- }
1354
- export interface DaemonRequest {
1355
- type: 'ping' | 'probe-account' | 'broadcast-operation' | 'execute-operations';
1356
- accountName: string;
1357
- }
1358
- export interface DaemonProbeResponse {
1359
- success: boolean;
1360
- sessionId?: string;
1361
- error?: string;
1362
- }
1363
- export interface CreateOrderArgs {
1364
- amountToSell: number;
1365
- sellAssetId: string;
1366
- minToReceive: number;
1367
- receiveAssetId: string;
1368
- }
1369
- export interface OrderComparisonOptions {
1370
- precisions?: {
1371
- buyPrecision?: number | string | null;
1372
- sellPrecision?: number | string | null;
1373
- defaultPrecision?: number | string | null;
1374
- priceRelativeTolerance?: number;
1375
- };
1376
- }
1377
- export interface OutsideInPairGroupAccessors {
1378
- isValid?: (order: Order) => boolean;
1379
- getType: (order: Order) => OrderType;
1380
- getPrice: (order: Order) => number;
1381
- }
1382
- export interface AmaPreset {
1383
- name: string;
1384
- erPeriod: number;
1385
- fastPeriod: number;
1386
- slowPeriod: number;
1387
- }
1388
- export interface MarketAdapterRuntimeDefaults {
1389
- intervalSeconds: number;
1390
- intervalLabel: string;
1391
- pollSeconds: number;
1392
- bootstrapLookbackHours: number;
1393
- nativeBackfillHours: number;
1394
- maxStaleHours: number;
1395
- sourceRetries: number;
1396
- retryDelayMs: number;
1397
- maxPages: number;
1398
- pageLimit: number;
1399
- minRequiredCandles: number;
1400
- }
1401
801
  //# sourceMappingURL=types.d.ts.map