jcc_hyper_tool 0.1.5 → 0.1.7

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 (138) hide show
  1. package/README.md +160 -17
  2. package/dist/advisor/actionRunner.d.ts +6 -0
  3. package/dist/advisor/actionRunner.d.ts.map +1 -1
  4. package/dist/advisor/actionRunner.js +38 -7
  5. package/dist/advisor/actionRunner.js.map +1 -1
  6. package/dist/advisor/actionSchema.d.ts +1209 -75
  7. package/dist/advisor/actionSchema.d.ts.map +1 -1
  8. package/dist/advisor/actionSchema.js +117 -5
  9. package/dist/advisor/actionSchema.js.map +1 -1
  10. package/dist/advisor/adviseDisplay.d.ts +26 -0
  11. package/dist/advisor/adviseDisplay.d.ts.map +1 -0
  12. package/dist/advisor/adviseDisplay.js +174 -0
  13. package/dist/advisor/adviseDisplay.js.map +1 -0
  14. package/dist/advisor/adviseEngine.d.ts +12 -2
  15. package/dist/advisor/adviseEngine.d.ts.map +1 -1
  16. package/dist/advisor/adviseEngine.js +88 -7
  17. package/dist/advisor/adviseEngine.js.map +1 -1
  18. package/dist/advisor/ambushPolicy.d.ts +47 -0
  19. package/dist/advisor/ambushPolicy.d.ts.map +1 -0
  20. package/dist/advisor/ambushPolicy.js +161 -0
  21. package/dist/advisor/ambushPolicy.js.map +1 -0
  22. package/dist/advisor/contextBuilder.d.ts +17 -0
  23. package/dist/advisor/contextBuilder.d.ts.map +1 -1
  24. package/dist/advisor/contextBuilder.js +25 -6
  25. package/dist/advisor/contextBuilder.js.map +1 -1
  26. package/dist/advisor/executionPolicy.d.ts +92 -0
  27. package/dist/advisor/executionPolicy.d.ts.map +1 -0
  28. package/dist/advisor/executionPolicy.js +273 -0
  29. package/dist/advisor/executionPolicy.js.map +1 -0
  30. package/dist/advisor/guards.d.ts +14 -0
  31. package/dist/advisor/guards.d.ts.map +1 -1
  32. package/dist/advisor/guards.js +143 -16
  33. package/dist/advisor/guards.js.map +1 -1
  34. package/dist/advisor/indicatorCompute.d.ts +45 -0
  35. package/dist/advisor/indicatorCompute.d.ts.map +1 -0
  36. package/dist/advisor/indicatorCompute.js +259 -0
  37. package/dist/advisor/indicatorCompute.js.map +1 -0
  38. package/dist/advisor/positionPlan.d.ts +33 -0
  39. package/dist/advisor/positionPlan.d.ts.map +1 -0
  40. package/dist/advisor/positionPlan.js +118 -0
  41. package/dist/advisor/positionPlan.js.map +1 -0
  42. package/dist/advisor/promptTemplate.d.ts +8 -2
  43. package/dist/advisor/promptTemplate.d.ts.map +1 -1
  44. package/dist/advisor/promptTemplate.js +175 -23
  45. package/dist/advisor/promptTemplate.js.map +1 -1
  46. package/dist/advisor/touchProbability.d.ts +54 -0
  47. package/dist/advisor/touchProbability.d.ts.map +1 -0
  48. package/dist/advisor/touchProbability.js +215 -0
  49. package/dist/advisor/touchProbability.js.map +1 -0
  50. package/dist/advisor/tpslPolicy.d.ts +22 -0
  51. package/dist/advisor/tpslPolicy.d.ts.map +1 -0
  52. package/dist/advisor/tpslPolicy.js +120 -0
  53. package/dist/advisor/tpslPolicy.js.map +1 -0
  54. package/dist/cli/advisorCli.d.ts.map +1 -1
  55. package/dist/cli/advisorCli.js +478 -126
  56. package/dist/cli/advisorCli.js.map +1 -1
  57. package/dist/cli/index.js +2 -0
  58. package/dist/cli/index.js.map +1 -1
  59. package/dist/cli/riskCli.d.ts +3 -0
  60. package/dist/cli/riskCli.d.ts.map +1 -0
  61. package/dist/cli/riskCli.js +120 -0
  62. package/dist/cli/riskCli.js.map +1 -0
  63. package/dist/cli/strategyCli.d.ts.map +1 -1
  64. package/dist/cli/strategyCli.js +3 -1
  65. package/dist/cli/strategyCli.js.map +1 -1
  66. package/dist/cli/tradingCli.d.ts.map +1 -1
  67. package/dist/cli/tradingCli.js +31 -1
  68. package/dist/cli/tradingCli.js.map +1 -1
  69. package/dist/core/hyperliquid/asset.d.ts +2 -0
  70. package/dist/core/hyperliquid/asset.d.ts.map +1 -1
  71. package/dist/core/hyperliquid/asset.js +25 -0
  72. package/dist/core/hyperliquid/asset.js.map +1 -1
  73. package/dist/core/hyperliquid/orders.d.ts +5 -0
  74. package/dist/core/hyperliquid/orders.d.ts.map +1 -1
  75. package/dist/core/hyperliquid/orders.js +15 -5
  76. package/dist/core/hyperliquid/orders.js.map +1 -1
  77. package/dist/core/hyperliquid/rounding.d.ts +23 -0
  78. package/dist/core/hyperliquid/rounding.d.ts.map +1 -0
  79. package/dist/core/hyperliquid/rounding.js +53 -0
  80. package/dist/core/hyperliquid/rounding.js.map +1 -0
  81. package/dist/core/risk/isolatedTopUp.d.ts +112 -0
  82. package/dist/core/risk/isolatedTopUp.d.ts.map +1 -0
  83. package/dist/core/risk/isolatedTopUp.js +209 -0
  84. package/dist/core/risk/isolatedTopUp.js.map +1 -0
  85. package/dist/core/risk/isolatedTopUpHistory.d.ts +7 -0
  86. package/dist/core/risk/isolatedTopUpHistory.d.ts.map +1 -0
  87. package/dist/core/risk/isolatedTopUpHistory.js +26 -0
  88. package/dist/core/risk/isolatedTopUpHistory.js.map +1 -0
  89. package/dist/core/risk/isolatedTopUpParse.d.ts +16 -0
  90. package/dist/core/risk/isolatedTopUpParse.d.ts.map +1 -0
  91. package/dist/core/risk/isolatedTopUpParse.js +78 -0
  92. package/dist/core/risk/isolatedTopUpParse.js.map +1 -0
  93. package/dist/core/risk/runIsolatedTopUpReconcile.d.ts +28 -0
  94. package/dist/core/risk/runIsolatedTopUpReconcile.d.ts.map +1 -0
  95. package/dist/core/risk/runIsolatedTopUpReconcile.js +184 -0
  96. package/dist/core/risk/runIsolatedTopUpReconcile.js.map +1 -0
  97. package/dist/core/state/bracketReconcile.d.ts.map +1 -1
  98. package/dist/core/state/bracketReconcile.js +6 -2
  99. package/dist/core/state/bracketReconcile.js.map +1 -1
  100. package/dist/core/state/gridReconcile.d.ts +2 -0
  101. package/dist/core/state/gridReconcile.d.ts.map +1 -1
  102. package/dist/core/state/gridReconcile.js +42 -2
  103. package/dist/core/state/gridReconcile.js.map +1 -1
  104. package/dist/core/state/intentFactory.d.ts +1 -0
  105. package/dist/core/state/intentFactory.d.ts.map +1 -1
  106. package/dist/core/state/intentFactory.js +1 -0
  107. package/dist/core/state/intentFactory.js.map +1 -1
  108. package/dist/core/state/profileStore.d.ts.map +1 -1
  109. package/dist/core/state/profileStore.js +12 -16
  110. package/dist/core/state/profileStore.js.map +1 -1
  111. package/dist/core/state/runReconcile.d.ts.map +1 -1
  112. package/dist/core/state/runReconcile.js +53 -18
  113. package/dist/core/state/runReconcile.js.map +1 -1
  114. package/dist/core/state/schema.d.ts +439 -68
  115. package/dist/core/state/schema.d.ts.map +1 -1
  116. package/dist/core/state/schema.js +51 -0
  117. package/dist/core/state/schema.js.map +1 -1
  118. package/dist/core/state/snapshot.d.ts +13 -0
  119. package/dist/core/state/snapshot.d.ts.map +1 -1
  120. package/dist/core/state/snapshot.js +36 -0
  121. package/dist/core/state/snapshot.js.map +1 -1
  122. package/dist/core/state/store.d.ts +21 -3
  123. package/dist/core/state/store.d.ts.map +1 -1
  124. package/dist/core/state/store.js +122 -13
  125. package/dist/core/state/store.js.map +1 -1
  126. package/dist/core/state/types.d.ts +13 -0
  127. package/dist/core/state/types.d.ts.map +1 -1
  128. package/dist/daemon/index.js +47 -2
  129. package/dist/daemon/index.js.map +1 -1
  130. package/dist/daemon/validateChild.d.ts +13 -0
  131. package/dist/daemon/validateChild.d.ts.map +1 -0
  132. package/dist/daemon/validateChild.js +77 -0
  133. package/dist/daemon/validateChild.js.map +1 -0
  134. package/dist/strategies/grid.d.ts +1 -0
  135. package/dist/strategies/grid.d.ts.map +1 -1
  136. package/dist/strategies/grid.js +1 -0
  137. package/dist/strategies/grid.js.map +1 -1
  138. package/package.json +3 -1
@@ -1,30 +1,26 @@
1
1
  import { UserProfileSchema } from "./schema.js";
2
- import { readOrCreateTradeStateFile, writeTradeStateFileAtomic } from "./store.js";
2
+ import { updateTradeStateFileAtomic } from "./store.js";
3
3
  /** Merge stored profile with Zod defaults (for prompts and guards). */
4
4
  export function mergeUserProfileDefaults(profile) {
5
5
  return UserProfileSchema.parse(profile ?? {});
6
6
  }
7
7
  export async function upsertUserProfileFields(filePath, patch, nowMs) {
8
- const cur = await readOrCreateTradeStateFile(filePath, nowMs);
9
- const prev = mergeUserProfileDefaults(cur.userProfile);
10
- const merged = UserProfileSchema.parse({ ...prev, ...patch, updatedAtMs: nowMs });
11
- const next = {
12
- ...cur,
13
- updatedAtMs: nowMs,
14
- userProfile: merged,
15
- };
16
- await writeTradeStateFileAtomic(filePath, next);
17
- return next;
8
+ return updateTradeStateFileAtomic(filePath, (cur) => {
9
+ const prev = mergeUserProfileDefaults(cur.userProfile);
10
+ const merged = UserProfileSchema.parse({ ...prev, ...patch, updatedAtMs: nowMs });
11
+ return {
12
+ ...cur,
13
+ updatedAtMs: nowMs,
14
+ userProfile: merged,
15
+ };
16
+ }, nowMs);
18
17
  }
19
18
  export async function clearUserProfile(filePath, nowMs) {
20
- const cur = await readOrCreateTradeStateFile(filePath, nowMs);
21
- const next = {
19
+ return updateTradeStateFileAtomic(filePath, (cur) => ({
22
20
  version: cur.version,
23
21
  updatedAtMs: nowMs,
24
22
  intents: cur.intents,
25
23
  events: cur.events,
26
- };
27
- await writeTradeStateFileAtomic(filePath, next);
28
- return next;
24
+ }), nowMs);
29
25
  }
30
26
  //# sourceMappingURL=profileStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profileStore.js","sourceRoot":"","sources":["../../../src/core/state/profileStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEnF,uEAAuE;AACvE,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,KAA2B,EAC3B,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,MAAM,IAAI,GAAmB;QAC3B,GAAG,GAAG;QACN,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,MAAM;KACpB,CAAC;IACF,MAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAa;IACpE,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAmB;QAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;IACF,MAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"profileStore.js","sourceRoot":"","sources":["../../../src/core/state/profileStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,uEAAuE;AACvE,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,KAA2B,EAC3B,KAAa;IAEb,OAAO,0BAA0B,CAC/B,QAAQ,EACR,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,GAAG,GAAG;YACN,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,MAAM;SACpB,CAAC;IACJ,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAa;IACpE,OAAO,0BAA0B,CAC/B,QAAQ,EACR,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACR,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,EACF,KAAK,CACN,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runReconcile.d.ts","sourceRoot":"","sources":["../../../src/core/state/runReconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgBpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAC;AAGrF,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAsDjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4Q9F"}
1
+ {"version":3,"file":"runReconcile.d.ts","sourceRoot":"","sources":["../../../src/core/state/runReconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgBpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAC;AAMrF,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAkEjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgT9F"}
@@ -1,6 +1,6 @@
1
1
  import { requireUserContext } from "../config.js";
2
2
  import { ConfigError } from "../errors.js";
3
- import { perpCoinToExchangeAssetId } from "../hyperliquid/asset.js";
3
+ import { perpCoinToExchangeAssetId, perpSzDecimalsFromMeta } from "../hyperliquid/asset.js";
4
4
  import { HyperliquidInfoClient } from "../hyperliquid/client.js";
5
5
  import { HyperliquidExchangeClient } from "../hyperliquid/exchange.js";
6
6
  import { extractOrderOidsFromExchangeResponse } from "../hyperliquid/exchangeParse.js";
@@ -11,8 +11,9 @@ import { mergeBracketDedupe, reconcileBracketIntent, } from "./bracketReconcile.
11
11
  import { garbageCollectTradeState } from "./gcTradeState.js";
12
12
  import { loadAllNormalizedOpenOrdersForUser } from "./openOrdersAgg.js";
13
13
  import { applyGridCounterOrderSuccess, mergeGridReplenishDedupe, parseUserFills, reconcileGridIntent, } from "./gridReconcile.js";
14
- import { signedPositionSizeForCoin } from "./snapshot.js";
15
- import { readOrCreateTradeStateFile, writeTradeStateFileAtomic } from "./store.js";
14
+ import { runIsolatedTopUpReconcile } from "../risk/runIsolatedTopUpReconcile.js";
15
+ import { clearinghouseDexKeysForBracketIntents, signedPositionSizeForCoinFromCache, } from "./snapshot.js";
16
+ import { readOrCreateTradeStateFile, writeTradeStateFilePreservingConcurrentFields } from "./store.js";
16
17
  function isMainnet(cfg) {
17
18
  return cfg.network === "mainnet";
18
19
  }
@@ -25,11 +26,18 @@ function dedupeKeysForCancelEntry(intent) {
25
26
  function narrowDedupeForCancelOrder(a) {
26
27
  return a.reason === "tp_filled" ? `cancel_sl_after_tp:${a.oid}` : `cancel_tp_after_sl:${a.oid}`;
27
28
  }
28
- async function resolveAssetIndex(cfg, coin, dex) {
29
+ async function resolvePerpOrderContext(cfg, coin, dex) {
29
30
  const info = new HyperliquidInfoClient({ infoOrigin: cfg.infoOrigin });
30
31
  const meta = await info.meta(dex);
31
32
  const perpDexs = dex ? await info.perpDexs() : undefined;
32
- return perpCoinToExchangeAssetId({ coin, meta, dex, perpDexs });
33
+ return {
34
+ assetIndex: perpCoinToExchangeAssetId({ coin, meta, dex, perpDexs }),
35
+ szDecimals: perpSzDecimalsFromMeta(meta, coin),
36
+ };
37
+ }
38
+ async function resolveAssetIndex(cfg, coin, dex) {
39
+ const ctx = await resolvePerpOrderContext(cfg, coin, dex);
40
+ return ctx.assetIndex;
33
41
  }
34
42
  async function postSigned(cfg, wallet, action) {
35
43
  const ex = new HyperliquidExchangeClient({ apiOrigin: cfg.infoOrigin });
@@ -38,7 +46,7 @@ async function postSigned(cfg, wallet, action) {
38
46
  }
39
47
  /** Persist intent progress without GC (exchange snapshot is refreshed next reconcile). */
40
48
  async function persistReconcileCheckpoint(params) {
41
- await writeTradeStateFileAtomic(params.statePath, {
49
+ await writeTradeStateFilePreservingConcurrentFields(params.statePath, {
42
50
  ...params.prior,
43
51
  updatedAtMs: params.nowMs,
44
52
  intents: params.nextIntents,
@@ -51,7 +59,11 @@ export async function runTradeReconcile(opts) {
51
59
  const user = requireUserContext(opts.cfg);
52
60
  const info = new HyperliquidInfoClient({ infoOrigin: user.infoOrigin });
53
61
  let openNorm = await loadAllNormalizedOpenOrdersForUser(info, user.userAddress);
54
- const ch = await info.clearinghouseState(user.userAddress);
62
+ const clearinghouseByDex = new Map();
63
+ for (const dexKey of clearinghouseDexKeysForBracketIntents(prior.intents)) {
64
+ const dex = dexKey === "" ? undefined : dexKey;
65
+ clearinghouseByDex.set(dexKey, await info.clearinghouseState(user.userAddress, dex));
66
+ }
55
67
  const needsUserFills = Object.values(prior.intents).some((i) => i.kind === "grid");
56
68
  let userFillsRaw;
57
69
  if (needsUserFills) {
@@ -61,8 +73,28 @@ export async function runTradeReconcile(opts) {
61
73
  const dryPlan = [];
62
74
  const executed = [];
63
75
  const nextIntents = { ...prior.intents };
64
- let chSnap = ch;
65
76
  let liveConfirmed = false;
77
+ const liveConfirmedRef = { value: false };
78
+ const topUp = await runIsolatedTopUpReconcile({
79
+ cfg: opts.cfg,
80
+ info,
81
+ userAddress: user.userAddress,
82
+ state: prior,
83
+ mode: opts.mode,
84
+ nowMs,
85
+ intentFilter: opts.intentFilter,
86
+ assumeYes: opts.assumeYes,
87
+ confirmLive: opts.confirmLive,
88
+ liveConfirmed: liveConfirmedRef,
89
+ postSigned: (action) => postSigned(opts.cfg, requireTraderWallet(opts.cfg).wallet, action),
90
+ resolveAssetIndex: (coin, dex) => resolveAssetIndex(opts.cfg, coin, dex),
91
+ });
92
+ collected.push(...topUp.events);
93
+ dryPlan.push(...topUp.dryPlan);
94
+ executed.push(...topUp.executed);
95
+ if (liveConfirmedRef.value) {
96
+ liveConfirmed = true;
97
+ }
66
98
  for (const [id, intent] of Object.entries(prior.intents)) {
67
99
  if (opts.intentFilter && id !== opts.intentFilter) {
68
100
  continue;
@@ -90,24 +122,25 @@ export async function runTradeReconcile(opts) {
90
122
  liveConfirmed = true;
91
123
  }
92
124
  }
93
- let assetIndexCache;
125
+ let orderCtxCache;
94
126
  let gridWorking = r.intent;
95
127
  for (const act of r.actions) {
96
128
  if (act.kind !== "place_grid_counter" && act.kind !== "place_grid_pending_leg") {
97
129
  continue;
98
130
  }
99
- if (assetIndexCache === undefined) {
100
- assetIndexCache = await resolveAssetIndex(opts.cfg, gridWorking.coin, gridWorking.dex);
131
+ if (orderCtxCache === undefined) {
132
+ orderCtxCache = await resolvePerpOrderContext(opts.cfg, gridWorking.coin, gridWorking.dex);
101
133
  }
102
134
  const leg = gridWorking.legs[act.legIndex];
103
135
  if (!leg) {
104
136
  continue;
105
137
  }
106
138
  const action = buildPlaceOrderAction({
107
- assetIndex: assetIndexCache,
139
+ assetIndex: orderCtxCache.assetIndex,
108
140
  isBuy: leg.isBuy,
109
141
  limitPx: leg.px,
110
142
  sz: gridWorking.orderSz,
143
+ szDecimals: orderCtxCache.szDecimals,
111
144
  reduceOnly: gridWorking.reduceOnly,
112
145
  tif: gridWorking.tif,
113
146
  });
@@ -136,7 +169,7 @@ export async function runTradeReconcile(opts) {
136
169
  continue;
137
170
  }
138
171
  let working = intent;
139
- const pos = signedPositionSizeForCoin(chSnap, working.coin);
172
+ const pos = signedPositionSizeForCoinFromCache(clearinghouseByDex, working.coin, working.dex);
140
173
  const snap = {
141
174
  nowMs,
142
175
  openOrders: openNorm,
@@ -164,18 +197,19 @@ export async function runTradeReconcile(opts) {
164
197
  liveConfirmed = true;
165
198
  }
166
199
  }
167
- let assetIndexCache;
200
+ let orderCtxCache;
168
201
  for (const act of r.actions) {
169
- if (assetIndexCache === undefined) {
170
- assetIndexCache = await resolveAssetIndex(opts.cfg, working.coin, working.dex);
202
+ if (orderCtxCache === undefined) {
203
+ orderCtxCache = await resolvePerpOrderContext(opts.cfg, working.coin, working.dex);
171
204
  }
172
- const assetIndex = assetIndexCache;
205
+ const { assetIndex, szDecimals } = orderCtxCache;
173
206
  if (act.kind === "place_entry_limit") {
174
207
  const action = buildPlaceOrderAction({
175
208
  assetIndex,
176
209
  isBuy: working.entrySide === "buy",
177
210
  limitPx: working.entryLimitPx,
178
211
  sz: working.entrySz,
212
+ szDecimals,
179
213
  reduceOnly: Boolean(working.entryReduceOnly),
180
214
  tif: working.tif,
181
215
  });
@@ -201,6 +235,7 @@ export async function runTradeReconcile(opts) {
201
235
  const limSl = working.tpslLimitPx ?? working.slTriggerPx;
202
236
  const action = buildBracketProtectionOrderAction({
203
237
  assetIndex,
238
+ szDecimals,
204
239
  closeIsBuy,
205
240
  sz: working.entrySz,
206
241
  reduceOnly: working.protectionReduceOnly !== false,
@@ -263,7 +298,7 @@ export async function runTradeReconcile(opts) {
263
298
  openOrders: openNorm,
264
299
  nowMs,
265
300
  });
266
- await writeTradeStateFileAtomic(opts.statePath, gc.next);
301
+ await writeTradeStateFilePreservingConcurrentFields(opts.statePath, gc.next);
267
302
  return {
268
303
  state: gc.next,
269
304
  actionsExecuted: executed,
@@ -1 +1 @@
1
- {"version":3,"file":"runReconcile.js","sourceRoot":"","sources":["../../../src/core/state/runReconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runReconcile.js","sourceRoot":"","sources":["../../../src/core/state/runReconcile.ts"],"names":[],"mappings":"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"}