dexbot 1.5.0 → 1.5.2

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 (87) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/analysis/ama_fitting/package.json +1 -1
  3. package/analysis/trend_detection/package.json +1 -1
  4. package/claw/package.json +1 -1
  5. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  6. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  7. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  8. package/dist/dexbot.js +5 -5
  9. package/dist/dexbot.js.map +1 -1
  10. package/dist/modules/account_orders.d.ts +7 -1
  11. package/dist/modules/account_orders.d.ts.map +1 -1
  12. package/dist/modules/account_orders.js +34 -1
  13. package/dist/modules/account_orders.js.map +1 -1
  14. package/dist/modules/constants.d.ts +2 -0
  15. package/dist/modules/constants.d.ts.map +1 -1
  16. package/dist/modules/constants.js +12 -0
  17. package/dist/modules/constants.js.map +1 -1
  18. package/dist/modules/dexbot_class.d.ts +1 -0
  19. package/dist/modules/dexbot_class.d.ts.map +1 -1
  20. package/dist/modules/dexbot_cow_runtime.d.ts +19 -1
  21. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  22. package/dist/modules/dexbot_cow_runtime.js +335 -78
  23. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  24. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  25. package/dist/modules/dexbot_fill_runtime.js +7 -1
  26. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  27. package/dist/modules/dexbot_startup_runtime.d.ts +1 -0
  28. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  29. package/dist/modules/dexbot_startup_runtime.js +54 -4
  30. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  31. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  32. package/dist/modules/dexbot_state_recovery.js +7 -0
  33. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  34. package/dist/modules/order/accounting.d.ts +34 -0
  35. package/dist/modules/order/accounting.d.ts.map +1 -1
  36. package/dist/modules/order/accounting.js +199 -5
  37. package/dist/modules/order/accounting.js.map +1 -1
  38. package/dist/modules/order/export.d.ts +122 -15
  39. package/dist/modules/order/export.d.ts.map +1 -1
  40. package/dist/modules/order/export.js +310 -46
  41. package/dist/modules/order/export.js.map +1 -1
  42. package/dist/modules/order/grid.d.ts.map +1 -1
  43. package/dist/modules/order/grid.js +22 -17
  44. package/dist/modules/order/grid.js.map +1 -1
  45. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  46. package/dist/modules/order/grid_reconcile.js +7 -3
  47. package/dist/modules/order/grid_reconcile.js.map +1 -1
  48. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  49. package/dist/modules/order/grid_reconcile_internal.js +98 -28
  50. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  51. package/dist/modules/order/manager.d.ts +52 -6
  52. package/dist/modules/order/manager.d.ts.map +1 -1
  53. package/dist/modules/order/manager.js +156 -21
  54. package/dist/modules/order/manager.js.map +1 -1
  55. package/dist/modules/order/strategy.d.ts.map +1 -1
  56. package/dist/modules/order/strategy.js +17 -2
  57. package/dist/modules/order/strategy.js.map +1 -1
  58. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  59. package/dist/modules/order/sync_engine.js +213 -17
  60. package/dist/modules/order/sync_engine.js.map +1 -1
  61. package/dist/modules/order/utils/math.d.ts +70 -4
  62. package/dist/modules/order/utils/math.d.ts.map +1 -1
  63. package/dist/modules/order/utils/math.js +136 -5
  64. package/dist/modules/order/utils/math.js.map +1 -1
  65. package/dist/modules/order/utils/order.d.ts +117 -5
  66. package/dist/modules/order/utils/order.d.ts.map +1 -1
  67. package/dist/modules/order/utils/order.js +274 -13
  68. package/dist/modules/order/utils/order.js.map +1 -1
  69. package/dist/modules/order/utils/system.d.ts +14 -0
  70. package/dist/modules/order/utils/system.d.ts.map +1 -1
  71. package/dist/modules/order/utils/system.js +51 -3
  72. package/dist/modules/order/utils/system.js.map +1 -1
  73. package/dist/modules/order/utils/validate.d.ts +29 -2
  74. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  75. package/dist/modules/order/utils/validate.js +207 -35
  76. package/dist/modules/order/utils/validate.js.map +1 -1
  77. package/dist/scripts/analyze-credit.d.ts.map +1 -1
  78. package/dist/scripts/analyze-credit.js +53 -33
  79. package/dist/scripts/analyze-credit.js.map +1 -1
  80. package/docs/DEXBOT_COMPARISON.md +3 -3
  81. package/docs/EVOLUTION.md +7 -5
  82. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +3 -1
  83. package/docs/GRID_RECONCILE.md +1 -0
  84. package/docs/LOGGING.md +3 -0
  85. package/docs/README.md +2 -2
  86. package/docs/WORKFLOW.md +1 -1
  87. package/package.json +1 -1
@@ -35,9 +35,9 @@
35
35
  // ===============================================================================
36
36
  import * as Format from '../format.js';
37
37
  import { ORDER_STATES, ORDER_TYPES, COW_ACTIONS, GRID_LIMITS } from '../../constants.js';
38
- import { floatToBlockchainInt, blockchainToFloat, getPrecisionSlack, getDoubleDustThreshold, clamp } from './math.js';
38
+ import { floatToBlockchainInt, blockchainToFloat, getPrecisionSlack, getPrecisionByOrderType, getDoubleDustThreshold, getSellStartIdx, isSlotIndexInGapBand, isEvacuationRotationAllowed, clamp, priceSlotEqual } from './math.js';
39
39
  import { parseSlotIndex } from './slot.js';
40
- import { isOrderOnChain, isPhantomOrder, convertToSpreadPlaceholder } from './order.js';
40
+ import { isOrderOnChain, isPhantomOrder, convertToSpreadPlaceholder, detectGapEvacuationCandidates, updateGapEvacuationStreaks } from './order.js';
41
41
  const { isValidNumber, toFiniteNumber } = Format;
42
42
  // Pre-computed valid sets
43
43
  const VALID_ORDER_STATES = new Set(Object.values(ORDER_STATES));
@@ -85,6 +85,12 @@ function validateOrder(order, oldOrder = null, context = 'validate') {
85
85
  });
86
86
  normalizedOrder.size = 0;
87
87
  }
88
+ // RAIL-HOLE PRESERVATION (Phase 2): a sized BUY/SELL VIRTUAL slot with no
89
+ // orderId is a rail-typed hole (rotation source, fill-consumed rail slot),
90
+ // NOT a spread placeholder — it must pass through untouched. Only SPREAD
91
+ // is size-normalized above; the phantom and ILLEGAL_SPREAD_STATE checks
92
+ // below fire solely for on-chain states, so rail holes are never
93
+ // zeroed, retyped, or rejected here. Locked by test_gap_evacuation.
88
94
  const isOnChainState = (normalizedOrder.state === ORDER_STATES.ACTIVE ||
89
95
  normalizedOrder.state === ORDER_STATES.PARTIAL);
90
96
  if (normalizedOrder.type === ORDER_TYPES.SPREAD && isOnChainState) {
@@ -325,6 +331,61 @@ function clampRotationSizeForPartial(surplusMaster, holeSize, logger = null, hol
325
331
  }
326
332
  return target;
327
333
  }
334
+ /**
335
+ * Stamp a rotation UPDATE as a gap-evacuation when plan-build geometry says
336
+ * it moves a live order OUT of the gap band onto its rail. The stamp freezes
337
+ * the boundary + gap width AT PLAN-BUILD TIME (B-stamp) so the COW executor's
338
+ * LAST-FILL guard validates against the geometry the plan was built for —
339
+ * plans can otherwise validate against a later-committed boundary and the
340
+ * evacuation gets misjudged. Stamping requires BOTH:
341
+ * - geometry: source slot index strictly inside the gap band, destination on
342
+ * the same side's rail (pure parseSlotIndex vs frozen boundary/gapSlots —
343
+ * never the stored slot type),
344
+ * - allowance: isEvacuationRotationAllowed(oldPrice, oldSize, newPrice,
345
+ * newSize, type) — outward repricing with bit-exact non-growing size.
346
+ * Anything else stays unstamped and obeys the guard normally (safe default).
347
+ *
348
+ * @param {Object} action - Rotation UPDATE action being built
349
+ * @param {Object} sourceMaster - Live master-grid order for the source slot
350
+ * @param {number|string} destPrice - Destination (hole) price
351
+ * @param {number} destSize - Destination (clamped) size
352
+ * @param {string} type - ORDER_TYPES.BUY or SELL
353
+ * @param {number} frozenBoundary - Plan-build boundary index
354
+ * @param {number} frozenGapSlots - Plan-build gap slot count
355
+ * @returns {Object} The action, stamped when it qualifies
356
+ */
357
+ function stampGapEvacuationRotation(action, sourceMaster, destPrice, destSize, type, frozenBoundary, frozenGapSlots, assets = null) {
358
+ const b = Number(frozenBoundary);
359
+ const g = Number(frozenGapSlots);
360
+ if (!Number.isFinite(b) || !Number.isFinite(g) || g < 0)
361
+ return action;
362
+ const srcIdx = parseSlotIndex(sourceMaster?.id ?? action?.id);
363
+ const dstIdx = parseSlotIndex(action?.newGridId);
364
+ if (srcIdx === null || srcIdx === undefined || dstIdx === null || dstIdx === undefined)
365
+ return action;
366
+ if (!isSlotIndexInGapBand(srcIdx, b, g))
367
+ return action;
368
+ if (isSlotIndexInGapBand(dstIdx, b, g))
369
+ return action;
370
+ const sellStartIdx = getSellStartIdx(b, g);
371
+ const dstInRail = type === ORDER_TYPES.SELL ? Number(dstIdx) >= sellStartIdx : Number(dstIdx) <= b;
372
+ if (!dstInRail)
373
+ return action;
374
+ // Bit-exact size check with the side's on-chain precision (mirrors the
375
+ // live unstamped probe in dexbot_cow_runtime) — a 1-satoshi size growth
376
+ // must be refused at stamp time, not just at execution.
377
+ let stampPrecision = null;
378
+ try {
379
+ stampPrecision = assets ? getPrecisionByOrderType(assets, type) : null;
380
+ }
381
+ catch {
382
+ stampPrecision = null;
383
+ }
384
+ const check = isEvacuationRotationAllowed(sourceMaster?.price, sourceMaster?.size, destPrice, destSize, type, stampPrecision);
385
+ if (!check.allowed)
386
+ return action;
387
+ return { ...action, origin: 'gap-evacuation', evacBoundary: b, evacGapSlots: Math.floor(g) };
388
+ }
328
389
  /**
329
390
  * Reconcile target grid against master state
330
391
  * @param {Map} masterGrid - Current master grid
@@ -335,6 +396,12 @@ function clampRotationSizeForPartial(surplusMaster, holeSize, logger = null, hol
335
396
  */
336
397
  function reconcileGrid(masterGrid, targetGrid, targetBoundary, options = {}) {
337
398
  const { logger = null, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE } = options;
399
+ // B-stamp inputs for gap-evacuation rotation stamping (frozen at
400
+ // plan-build): callers pass the geometry this plan was built for. Absent
401
+ // or non-finite => no stamping (guarded default, never fail-open).
402
+ const planGapSlots = Number(options?.gapSlots);
403
+ const hasPlanGeometry = Number.isFinite(planGapSlots) && planGapSlots >= 0;
404
+ const evacAssets = options?.assets ?? null;
338
405
  const actions = [];
339
406
  const surplusesBuy = [];
340
407
  const surplusesSell = [];
@@ -451,16 +518,25 @@ function reconcileGrid(masterGrid, targetGrid, targetBoundary, options = {}) {
451
518
  for (let i = 0; i < rotationCount; i++) {
452
519
  const surplus = surpluses[i];
453
520
  const hole = healthyHoles[i];
454
- actions.push({
521
+ const clampedSize = clampRotationSizeForPartial(surplus.master, hole.order.size, logger, hole.id);
522
+ let rotation = {
455
523
  type: COW_ACTIONS.UPDATE,
456
524
  id: surplus.id,
457
525
  orderId: surplus.master.orderId,
458
526
  newGridId: hole.id,
459
- newSize: clampRotationSizeForPartial(surplus.master, hole.order.size, logger, hole.id),
527
+ newSize: clampedSize,
460
528
  newPrice: hole.order.price,
461
529
  order: hole.order,
462
530
  isRotation: true
463
- });
531
+ };
532
+ // Gap-evacuation B-stamp (plan-build frozen boundary): a surplus
533
+ // stranded in the gap band rotating onto its rail bypasses the
534
+ // LAST-FILL guard at execution — the rotation reduces the
535
+ // violation surface instead of adding exposure.
536
+ if (hasPlanGeometry) {
537
+ rotation = stampGapEvacuationRotation(rotation, surplus.master, hole.order.price, clampedSize, surplus.master?.type, validatedBoundary, planGapSlots, evacAssets);
538
+ }
539
+ actions.push(rotation);
464
540
  }
465
541
  for (let i = rotationCount; i < healthyHoles.length; i++) {
466
542
  actions.push({ type: COW_ACTIONS.CREATE, id: healthyHoles[i].id, order: healthyHoles[i].order });
@@ -475,10 +551,28 @@ function reconcileGrid(masterGrid, targetGrid, targetBoundary, options = {}) {
475
551
  actions.push({ type: COW_ACTIONS.CANCEL, id, orderId: masterOrder.orderId, reason: 'orphan-slot' });
476
552
  }
477
553
  }
554
+ // Phase 3: tick the per-slot gap-evacuation streak counter when the
555
+ // caller supplies a Map (in-memory on the manager; resets on restart).
556
+ // Detection is geometry-only (parse slot idx vs frozen boundary/gapSlots).
557
+ let evacReady = [];
558
+ try {
559
+ if (options?.evacStreaks instanceof Map && hasPlanGeometry) {
560
+ const candidates = detectGapEvacuationCandidates(masterGrid, validatedBoundary, planGapSlots);
561
+ const tick = updateGapEvacuationStreaks(options.evacStreaks, candidates);
562
+ evacReady = tick.ready;
563
+ if (evacReady.length > 0 && logger) {
564
+ logger(`[GAP-EVAC] ${evacReady.length} stuck in-band order(s) ` +
565
+ `(boundary ${validatedBoundary}, gap ${planGapSlots}): ` +
566
+ evacReady.map((c) => `${c.id}(x${tick.streaks[c.id] ?? '?'})`).join(', '), 'warn');
567
+ }
568
+ }
569
+ }
570
+ catch { /* streak tracking is best-effort */ }
478
571
  return {
479
572
  actions,
480
573
  aborted: false,
481
574
  boundaryIdx: validatedBoundary,
575
+ evacReady,
482
576
  summary: summarizeActions(actions)
483
577
  };
484
578
  }
@@ -495,6 +589,13 @@ function optimizeRebalanceActions(actions, masterGrid, options = {}) {
495
589
  if (!Array.isArray(actions) || actions.length === 0)
496
590
  return [];
497
591
  const { logger = null } = options;
592
+ // B-stamp inputs (same contract as reconcileGrid): frozen plan-build
593
+ // boundary + gap width for gap-evacuation rotation stamping. Absent =>
594
+ // no stamping, guarded default.
595
+ const optBoundary = Number(options?.boundaryIdx);
596
+ const optGapSlots = Number(options?.gapSlots);
597
+ const hasOptGeometry = Number.isFinite(optBoundary) && Number.isFinite(optGapSlots) && optGapSlots >= 0;
598
+ const optAssets = options?.assets ?? null;
498
599
  const creates = [];
499
600
  const cancels = [];
500
601
  const passthrough = [];
@@ -543,16 +644,21 @@ function optimizeRebalanceActions(actions, masterGrid, options = {}) {
543
644
  continue;
544
645
  }
545
646
  const createAction = remainingCreates.splice(bestIdx, 1)[0];
546
- optimized.push({
647
+ const clampedSize = clampRotationSizeForPartial(masterOrder, toFiniteNumber(createAction?.order?.size), logger, createAction.id);
648
+ let rotation = {
547
649
  type: COW_ACTIONS.UPDATE,
548
650
  id: cancelAction.id,
549
651
  orderId: cancelAction.orderId,
550
652
  newGridId: createAction.id,
551
- newSize: clampRotationSizeForPartial(masterOrder, toFiniteNumber(createAction?.order?.size), logger, createAction.id),
653
+ newSize: clampedSize,
552
654
  newPrice: toFiniteNumber(createAction?.order?.price),
553
655
  order: createAction.order,
554
656
  isRotation: true
555
- });
657
+ };
658
+ if (hasOptGeometry) {
659
+ rotation = stampGapEvacuationRotation(rotation, masterOrder, toFiniteNumber(createAction?.order?.price), clampedSize, cancelType, optBoundary, optGapSlots, optAssets);
660
+ }
661
+ optimized.push(rotation);
556
662
  }
557
663
  for (const createAction of remainingCreates) {
558
664
  optimized.push(createAction);
@@ -585,11 +691,13 @@ function hasExecutableActions(rebalanceResult) {
585
691
  /**
586
692
  * Validate that CREATE actions target slots that are not already occupied on-chain
587
693
  * and that no CREATE price collides with an existing placed order or unmatched
588
- * on-chain order. Checks four layers:
694
+ * on-chain order. Checks five layers:
589
695
  * 1. Slot occupancy — target grid slot already has a placed order
590
696
  * 2. Master grid slot collision — same slotId already placed (priceSlotEqual)
591
697
  * 3. Chain orphan slot collision — chain order's nearest slotId equals target slotId
592
698
  * 4. Same-batch duplicate slotId — two CREATEs target same slotId
699
+ * 5. Same-batch bit-identical duplicate price — two CREATEs on different
700
+ * target slots at the exact same price (same side)
593
701
  *
594
702
  * Cancel and rotation-released slots are considered free.
595
703
  *
@@ -639,15 +747,15 @@ function validateCreateTargetSlots(actions, orders, _assets = null, chainOrderCa
639
747
  });
640
748
  }
641
749
  if (action.order?.price != null && action.order?.type != null) {
642
- const liveSlot = orderMap.get(targetId);
643
- const livePrice = liveSlot && Number.isFinite(Number(liveSlot.price))
644
- ? Number(liveSlot.price)
645
- : null;
646
- const effectivePrice = livePrice !== null ? livePrice : Number(action.order.price);
750
+ // Key on the BROADCAST price (action.order.price — the price
751
+ // actually placed on chain), never the live slot price: layer-5
752
+ // guards the batch being broadcast, and the chain-orphan price
753
+ // fallback below compares the same broadcast price against the
754
+ // orphan's chain price (correct collision semantics there too).
647
755
  createEntries.push({
648
756
  targetId,
649
757
  action,
650
- price: effectivePrice,
758
+ price: Number(action.order.price),
651
759
  size: Number(action.order.size || 0),
652
760
  type: action.order.type,
653
761
  });
@@ -663,30 +771,37 @@ function validateCreateTargetSlots(actions, orders, _assets = null, chainOrderCa
663
771
  violations.push({ targetId: entry.targetId, currentOrderId: entry.targetId, currentType: entry.type, currentState: 'CHAIN_ORPHAN', reason: 'chain_orphan_collision' });
664
772
  }
665
773
  }
666
- // Price-based fallback when candidates have no slotId (legacy sync without genesis slot mapping)
667
- if (chainSlotIds.size === 0 && _assets) {
668
- try {
669
- const { priceSlotEqual } = require('./math.js');
670
- for (const entry of createEntries) {
671
- if (violations.some(v => v.targetId === entry.targetId))
774
+ // Price-based fallback, PER CANDIDATE: candidates WITH a slot id
775
+ // already matched by slot above; candidates WITHOUT one (e.g.
776
+ // slot-unknown-* cancelOnly orphans from sync_engine) can never
777
+ // match by slot, so price-check ONLY those — regardless of
778
+ // whether other candidates carry slot ids. Gating the fallback
779
+ // on chainSlotIds.size === 0 skipped the price check for a mixed
780
+ // set entirely, letting a CREATE collide with a slot-unknown
781
+ // chain order sitting at the same price level (duplicate order).
782
+ if (_assets) {
783
+ // priceSlotEqual is a top-level import (the old inline
784
+ // require('./math.js') threw under ESM and the catch-all
785
+ // below silently disabled the whole fallback).
786
+ const slotlessCandidates = validChainCandidates.filter((u) => !(u.chainSlotId || u.candidateSlotId));
787
+ for (const entry of createEntries) {
788
+ if (violations.some(v => v.targetId === entry.targetId))
789
+ continue;
790
+ for (const u of slotlessCandidates) {
791
+ if (u.price == null || entry.price == null)
672
792
  continue;
673
- for (const u of validChainCandidates) {
674
- if (u.price == null || entry.price == null)
675
- continue;
676
- if (u.type && entry.type && u.type !== entry.type)
677
- continue;
678
- const precision = entry.type === 'sell' ? _assets.assetA?.precision : _assets.assetB?.precision;
679
- try {
680
- if (priceSlotEqual(u.price, entry.price, precision)) {
681
- violations.push({ targetId: entry.targetId, currentOrderId: u.chainOrderId, currentType: entry.type, currentState: 'CHAIN_ORPHAN', reason: 'chain_orphan_collision' });
682
- break;
683
- }
793
+ if (u.type && entry.type && u.type !== entry.type)
794
+ continue;
795
+ const precision = entry.type === 'sell' ? _assets.assetA?.precision : _assets.assetB?.precision;
796
+ try {
797
+ if (priceSlotEqual(u.price, entry.price, precision)) {
798
+ violations.push({ targetId: entry.targetId, currentOrderId: u.chainOrderId, currentType: entry.type, currentState: 'CHAIN_ORPHAN', reason: 'chain_orphan_collision' });
799
+ break;
684
800
  }
685
- catch { }
686
801
  }
802
+ catch { }
687
803
  }
688
804
  }
689
- catch { }
690
805
  }
691
806
  }
692
807
  // Same-batch duplicate slot
@@ -698,6 +813,63 @@ function validateCreateTargetSlots(actions, orders, _assets = null, chainOrderCa
698
813
  else
699
814
  seen.add(entry.targetId);
700
815
  }
816
+ // Same-batch bit-identical duplicate price across DIFFERENT target slots.
817
+ // The genesis-frozen slot mapping gives every slot a distinct price
818
+ // level, so two CREATEs at the exact same price on different slots
819
+ // indicate a degenerate plan (production incident 2026-08-29: several
820
+ // slots planned at one price; every batch was filtered down to a
821
+ // single op and the grid rebuild crawled at one placement per cycle).
822
+ // The tolerance-based price-collision check that caught this class was
823
+ // removed with the slot-based rewrite; this exact-equality check
824
+ // restores the protection without tolerance false-positives. First
825
+ // target per (type, price) wins; later duplicates are skipped by the
826
+ // caller via violatingTargetIds.
827
+ const priceOwner = new Map();
828
+ for (const entry of createEntries) {
829
+ const priceNum = Number(entry.price);
830
+ if (!Number.isFinite(priceNum)) {
831
+ // Fail closed: an unpriceable CREATE cannot be proven
832
+ // collision-free, so it is rejected, not skipped.
833
+ violations.push({
834
+ targetId: entry.targetId,
835
+ currentOrderId: null,
836
+ currentType: entry.type,
837
+ currentState: 'CREATE',
838
+ reason: 'create_price_invalid',
839
+ });
840
+ continue;
841
+ }
842
+ // Key on the on-chain integer repr when the side precision is
843
+ // known (bit-exact: prices that quantize to the same chain int
844
+ // ARE the same price on the DEX); float fallback preserves the
845
+ // old behavior for callers without assets context.
846
+ let key;
847
+ let sidePrecision = null;
848
+ try {
849
+ sidePrecision = _assets ? getPrecisionByOrderType(_assets, entry.type) : null;
850
+ }
851
+ catch {
852
+ sidePrecision = null;
853
+ }
854
+ if (Number.isFinite(Number(sidePrecision)) && Number(sidePrecision) > 0) {
855
+ try {
856
+ key = `${String(entry.type)}:i${floatToBlockchainInt(priceNum, Number(sidePrecision))}`;
857
+ }
858
+ catch {
859
+ key = `${String(entry.type)}:${priceNum}`;
860
+ }
861
+ }
862
+ else {
863
+ key = `${String(entry.type)}:${priceNum}`;
864
+ }
865
+ const owner = priceOwner.get(key);
866
+ if (owner === undefined) {
867
+ priceOwner.set(key, entry.targetId);
868
+ }
869
+ else if (owner !== entry.targetId) {
870
+ violations.push({ targetId: entry.targetId, currentOrderId: null, currentType: entry.type, currentState: 'CREATE', reason: 'same_batch_price_duplicate', duplicateOf: owner });
871
+ }
872
+ }
701
873
  }
702
874
  const violatingTargetIds = new Set(violations.map(v => v.targetId));
703
875
  return {
@@ -1023,5 +1195,5 @@ function evaluateCommit(workingGrid, options = {}) {
1023
1195
  // ===============================================================================
1024
1196
  // EXPORTS
1025
1197
  // ===============================================================================
1026
- export { validateOrder, validateGridForPersistence, validateWorkingGridFunds, checkFundDrift, reconcileGrid, optimizeRebalanceActions, hasExecutableActions, validateCreateTargetSlots, hasActionForOrder, removeActionsForOrder, projectTargetToWorkingGrid, buildStateUpdates, buildAbortedResult, buildSuccessResult, evaluateCommit };
1198
+ export { validateOrder, validateGridForPersistence, validateWorkingGridFunds, checkFundDrift, reconcileGrid, optimizeRebalanceActions, hasExecutableActions, validateCreateTargetSlots, hasActionForOrder, removeActionsForOrder, projectTargetToWorkingGrid, buildStateUpdates, buildAbortedResult, buildSuccessResult, evaluateCommit, stampGapEvacuationRotation };
1027
1199
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../modules/order/utils/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../modules/order/utils/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-credit.d.ts","sourceRoot":"","sources":["../../scripts/analyze-credit.ts"],"names":[],"mappings":"AAqDA,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB3C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAErC;AA8nBD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"analyze-credit.d.ts","sourceRoot":"","sources":["../../scripts/analyze-credit.ts"],"names":[],"mappings":"AAqDA,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB3C;AAeD,iBAAS,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAErC;AAuoBD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}