@the-situation/indexer 0.11.0 → 0.11.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 (108) hide show
  1. package/README.md +5 -1
  2. package/dist/api/app.d.ts +40 -0
  3. package/dist/api/app.d.ts.map +1 -1
  4. package/dist/api/app.js +2 -1
  5. package/dist/api/app.js.map +1 -1
  6. package/dist/api/routes/admin.d.ts.map +1 -1
  7. package/dist/api/routes/admin.js +16 -0
  8. package/dist/api/routes/admin.js.map +1 -1
  9. package/dist/api/routes/index.d.ts +1 -0
  10. package/dist/api/routes/index.d.ts.map +1 -1
  11. package/dist/api/routes/index.js +1 -0
  12. package/dist/api/routes/index.js.map +1 -1
  13. package/dist/api/routes/market-events.d.ts.map +1 -1
  14. package/dist/api/routes/market-events.js.map +1 -1
  15. package/dist/api/routes/market-traders.d.ts.map +1 -1
  16. package/dist/api/routes/market-traders.js +1 -0
  17. package/dist/api/routes/market-traders.js.map +1 -1
  18. package/dist/api/routes/multinoulli-snapshots.d.ts +78 -0
  19. package/dist/api/routes/multinoulli-snapshots.d.ts.map +1 -0
  20. package/dist/api/routes/multinoulli-snapshots.js +33 -0
  21. package/dist/api/routes/multinoulli-snapshots.js.map +1 -0
  22. package/dist/api/routes/positions.d.ts.map +1 -1
  23. package/dist/api/routes/positions.js +1 -0
  24. package/dist/api/routes/positions.js.map +1 -1
  25. package/dist/api/routes/trader-events.d.ts.map +1 -1
  26. package/dist/api/routes/trader-events.js.map +1 -1
  27. package/dist/client/IndexerClient.d.ts +2 -1
  28. package/dist/client/IndexerClient.d.ts.map +1 -1
  29. package/dist/client/IndexerClient.js.map +1 -1
  30. package/dist/client/IndexerClientLive.d.ts.map +1 -1
  31. package/dist/client/IndexerClientLive.js +7 -0
  32. package/dist/client/IndexerClientLive.js.map +1 -1
  33. package/dist/client/convenience.d.ts +1 -0
  34. package/dist/client/convenience.d.ts.map +1 -1
  35. package/dist/client/convenience.js +1 -0
  36. package/dist/client/convenience.js.map +1 -1
  37. package/dist/client/index.d.ts +2 -2
  38. package/dist/client/index.d.ts.map +1 -1
  39. package/dist/client/index.js +1 -1
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/trader-stats.d.ts +2 -0
  42. package/dist/client/trader-stats.d.ts.map +1 -1
  43. package/dist/client/trader-stats.js +5 -1
  44. package/dist/client/trader-stats.js.map +1 -1
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +3 -2
  47. package/dist/config.js.map +1 -1
  48. package/dist/db/repositories/event.d.ts +2 -1
  49. package/dist/db/repositories/event.d.ts.map +1 -1
  50. package/dist/db/repositories/event.js +16 -12
  51. package/dist/db/repositories/event.js.map +1 -1
  52. package/dist/db/repositories/market-state.d.ts +2 -0
  53. package/dist/db/repositories/market-state.d.ts.map +1 -1
  54. package/dist/db/repositories/market-state.js +5 -3
  55. package/dist/db/repositories/market-state.js.map +1 -1
  56. package/dist/db/repositories/multinoulli-snapshots.d.ts +44 -0
  57. package/dist/db/repositories/multinoulli-snapshots.d.ts.map +1 -0
  58. package/dist/db/repositories/multinoulli-snapshots.js +54 -0
  59. package/dist/db/repositories/multinoulli-snapshots.js.map +1 -0
  60. package/dist/db/repositories/position.d.ts.map +1 -1
  61. package/dist/db/repositories/position.js +10 -3
  62. package/dist/db/repositories/position.js.map +1 -1
  63. package/dist/db/schema.d.ts.map +1 -1
  64. package/dist/db/schema.js +142 -1
  65. package/dist/db/schema.js.map +1 -1
  66. package/dist/etl/decoder.d.ts.map +1 -1
  67. package/dist/etl/decoder.js +195 -29
  68. package/dist/etl/decoder.js.map +1 -1
  69. package/dist/etl/event-indexer.d.ts +1 -1
  70. package/dist/etl/event-indexer.d.ts.map +1 -1
  71. package/dist/etl/event-indexer.js +16 -0
  72. package/dist/etl/event-indexer.js.map +1 -1
  73. package/dist/etl/position-refresher.d.ts +2 -2
  74. package/dist/etl/position-refresher.d.ts.map +1 -1
  75. package/dist/etl/position-refresher.js +80 -4
  76. package/dist/etl/position-refresher.js.map +1 -1
  77. package/dist/etl/state-refresher.d.ts +1 -1
  78. package/dist/etl/state-refresher.d.ts.map +1 -1
  79. package/dist/etl/state-refresher.js +18 -2
  80. package/dist/etl/state-refresher.js.map +1 -1
  81. package/dist/index.js +4 -175
  82. package/dist/index.js.map +1 -1
  83. package/dist/layers/ChainReaderLive.d.ts +2 -0
  84. package/dist/layers/ChainReaderLive.d.ts.map +1 -1
  85. package/dist/layers/ChainReaderLive.js +256 -63
  86. package/dist/layers/ChainReaderLive.js.map +1 -1
  87. package/dist/layers/DatabaseLive.d.ts.map +1 -1
  88. package/dist/layers/DatabaseLive.js +2 -0
  89. package/dist/layers/DatabaseLive.js.map +1 -1
  90. package/dist/layers/index.d.ts +1 -1
  91. package/dist/layers/index.d.ts.map +1 -1
  92. package/dist/layers/index.js +1 -1
  93. package/dist/layers/index.js.map +1 -1
  94. package/dist/services/ChainReader.d.ts +11 -3
  95. package/dist/services/ChainReader.d.ts.map +1 -1
  96. package/dist/services/ChainReader.js.map +1 -1
  97. package/dist/services/Database.d.ts +2 -0
  98. package/dist/services/Database.d.ts.map +1 -1
  99. package/dist/services/Database.js.map +1 -1
  100. package/dist/types/api.d.ts +12 -0
  101. package/dist/types/api.d.ts.map +1 -1
  102. package/dist/types/event.d.ts +16 -1
  103. package/dist/types/event.d.ts.map +1 -1
  104. package/dist/types/market.d.ts +7 -1
  105. package/dist/types/market.d.ts.map +1 -1
  106. package/dist/types/position.d.ts +10 -0
  107. package/dist/types/position.d.ts.map +1 -1
  108. package/package.json +3 -1
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Position refresher — reads trader positions from chain.
2
+ * Position refresher — reads trader positions from chain and computes expected value.
3
3
  */
4
4
  import { Effect } from 'effect';
5
+ import { computeMultinoulliPositionEV, computePositionEV } from '@the-situation/sdk';
5
6
  import { ChainReaderTag } from '../services/ChainReader';
6
7
  import { DatabaseTag } from '../services/Database';
7
8
  import { EventBusTag } from '../services/EventBus';
@@ -20,6 +21,32 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
20
21
  };
21
22
  }
22
23
  const pos = posResult.right;
24
+ // Compute expected value for multinoulli positions
25
+ let expectedValue = null;
26
+ let unrealizedPnl = null;
27
+ const isClosed = pos.claimed || pos.settlementState === 'flat';
28
+ if (isClosed) {
29
+ expectedValue = 0;
30
+ unrealizedPnl = 0;
31
+ }
32
+ else if (pos.exists && pos.effectiveProbs.length > 0) {
33
+ const mState = db.multinoulliMarketState.findByMarket(marketAddress);
34
+ if (mState && mState.k != null) {
35
+ const marketProbs = JSON.parse(mState.probs_json);
36
+ const collateral = pos.collateralLockedNumber;
37
+ const k = mState.effective_k ?? mState.k;
38
+ const ev = computeMultinoulliPositionEV({
39
+ effectiveProbs: pos.effectiveProbs,
40
+ originalProbs: pos.originalProbs,
41
+ collateralLocked: collateral,
42
+ k,
43
+ }, marketProbs);
44
+ if (Number.isFinite(ev)) {
45
+ expectedValue = ev;
46
+ unrealizedPnl = ev - collateral;
47
+ }
48
+ }
49
+ }
23
50
  db.positions.upsert({
24
51
  market_address: marketAddress,
25
52
  trader,
@@ -31,6 +58,9 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
31
58
  outcome_count: pos.outcomeCount,
32
59
  original_probs_json: JSON.stringify(pos.originalProbs),
33
60
  collateral_locked_raw: pos.totalCollateralLocked,
61
+ effective_probs_json: pos.effectiveProbs.length > 0 ? JSON.stringify(pos.effectiveProbs) : null,
62
+ expected_value: expectedValue,
63
+ unrealized_pnl: unrealizedPnl,
34
64
  });
35
65
  bus.broadcast({
36
66
  type: 'position_update',
@@ -39,8 +69,8 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
39
69
  });
40
70
  return { marketAddress, trader, success: true };
41
71
  }
42
- // Normal market
43
- const posResult = yield* Effect.either(chain.readPosition(marketAddress, trader));
72
+ // Continuous market (normal / lognormal / bivariate)
73
+ const posResult = yield* Effect.either(chain.readPosition(marketAddress, trader, marketType));
44
74
  if (posResult._tag === 'Left') {
45
75
  return {
46
76
  marketAddress,
@@ -50,6 +80,47 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
50
80
  };
51
81
  }
52
82
  const pos = posResult.right;
83
+ // Compute expected value using SDK's Gaussian product integral formula
84
+ let expectedValue = null;
85
+ let unrealizedPnl = null;
86
+ const isClosed = pos.claimed || pos.settlementState === 'flat';
87
+ if (isClosed) {
88
+ expectedValue = 0;
89
+ unrealizedPnl = 0;
90
+ }
91
+ else if (pos.hasPosition &&
92
+ pos.effectiveMean != null &&
93
+ pos.effectiveSigma != null &&
94
+ pos.mean != null &&
95
+ pos.sigma != null) {
96
+ const marketState = db.marketState.findByMarket(marketAddress);
97
+ if (marketState?.mean != null && marketState?.sigma != null && marketState.k != null) {
98
+ const collateral = pos.collateralLockedNumber;
99
+ const k = marketState.effective_k ?? marketState.k;
100
+ const ev = computePositionEV({
101
+ positionDistribution: {
102
+ mean: pos.effectiveMean,
103
+ sigma: pos.effectiveSigma,
104
+ variance: pos.effectiveVariance ?? pos.effectiveSigma ** 2,
105
+ },
106
+ originalDistribution: {
107
+ mean: pos.mean,
108
+ sigma: pos.sigma,
109
+ variance: pos.variance ?? pos.sigma ** 2,
110
+ },
111
+ collateralLocked: collateral,
112
+ k,
113
+ }, {
114
+ mean: marketState.mean,
115
+ sigma: marketState.sigma,
116
+ variance: marketState.variance ?? marketState.sigma ** 2,
117
+ });
118
+ if (Number.isFinite(ev)) {
119
+ expectedValue = ev;
120
+ unrealizedPnl = ev - collateral;
121
+ }
122
+ }
123
+ }
53
124
  db.positions.upsert({
54
125
  market_address: marketAddress,
55
126
  trader,
@@ -58,10 +129,15 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
58
129
  mean: pos.mean,
59
130
  sigma: pos.sigma,
60
131
  variance: pos.variance,
132
+ effective_mean: pos.effectiveMean,
133
+ effective_sigma: pos.effectiveSigma,
134
+ effective_variance: pos.effectiveVariance,
61
135
  settlement_state: pos.settlementState,
62
136
  delta_count: pos.deltaCount,
63
137
  claimed: pos.claimed,
64
- position_type: 'normal',
138
+ position_type: marketType,
139
+ expected_value: expectedValue,
140
+ unrealized_pnl: unrealizedPnl,
65
141
  });
66
142
  bus.broadcast({
67
143
  type: 'position_update',
@@ -1 +1 @@
1
- {"version":3,"file":"position-refresher.js","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAAqB,EACrB,MAAc,EACd,aAAyB,QAAQ,EACwD,EAAE,CAC3F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAE/B,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7F,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO;gBACL,aAAa;gBACb,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;aAC9B,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAClB,cAAc,EAAE,aAAa;YAC7B,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,MAAM;YACxB,iBAAiB,EAAE,GAAG,CAAC,qBAAqB;YAC5C,gBAAgB,EAAE,GAAG,CAAC,eAMT;YACb,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,GAAG,CAAC,YAAY;YAC/B,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;YACtD,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;SACjD,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC;YACZ,IAAI,EAAE,iBAAiB;YACvB,aAAa;YACb,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,gBAAgB;IAChB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO;YACL,aAAa;YACb,MAAM;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAClB,cAAc,EAAE,aAAa;QAC7B,MAAM;QACN,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,iBAAiB,EAAE,GAAG,CAAC,gBAAgB;QACvC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,gBAAgB,EAAE,GAAG,CAAC,eAMT;QACb,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC;QACZ,IAAI,EAAE,iBAAiB;QACvB,aAAa;QACb,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,oDAAoD;IACpD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAe,CAAC,CAAC;IAC1E,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,6EAA6E;IAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAClD,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;QAC1D,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"position-refresher.js","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAAqB,EACrB,MAAc,EACd,aAAyB,QAAQ,EACwD,EAAE,CAC3F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAE/B,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7F,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO;gBACL,aAAa;gBACb,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;aAC9B,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;QAE5B,mDAAmD;QACnD,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,CAAC,CAAC;YAClB,aAAa,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACrE,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,sBAAsB,CAAC;gBAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,4BAA4B,CACrC;oBACE,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,gBAAgB,EAAE,UAAU;oBAC5B,CAAC;iBACF,EACD,WAAW,CACZ,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxB,aAAa,GAAG,EAAE,CAAC;oBACnB,aAAa,GAAG,EAAE,GAAG,UAAU,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAClB,cAAc,EAAE,aAAa;YAC7B,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,MAAM;YACxB,iBAAiB,EAAE,GAAG,CAAC,qBAAqB;YAC5C,gBAAgB,EAAE,GAAG,CAAC,eAMT;YACb,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,GAAG,CAAC,YAAY;YAC/B,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;YACtD,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;YAChD,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/F,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;SAC9B,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC;YACZ,IAAI,EAAE,iBAAiB;YACvB,aAAa;YACb,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9F,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO;YACL,aAAa;YACb,MAAM;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;IAE5B,uEAAuE;IACvE,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,GAAG,CAAC,CAAC;QAClB,aAAa,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,IACL,GAAG,CAAC,WAAW;QACf,GAAG,CAAC,aAAa,IAAI,IAAI;QACzB,GAAG,CAAC,cAAc,IAAI,IAAI;QAC1B,GAAG,CAAC,IAAI,IAAI,IAAI;QAChB,GAAG,CAAC,KAAK,IAAI,IAAI,EACjB,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,WAAW,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,EAAE,KAAK,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACrF,MAAM,UAAU,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,iBAAiB,CAC1B;gBACE,oBAAoB,EAAE;oBACpB,IAAI,EAAE,GAAG,CAAC,aAAa;oBACvB,KAAK,EAAE,GAAG,CAAC,cAAc;oBACzB,QAAQ,EAAE,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC;iBAC3D;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;iBACzC;gBACD,gBAAgB,EAAE,UAAU;gBAC5B,CAAC;aACF,EACD;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,IAAI,CAAC;aACzD,CACF,CAAC;YACF,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,aAAa,GAAG,EAAE,CAAC;gBACnB,aAAa,GAAG,EAAE,GAAG,UAAU,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAClB,cAAc,EAAE,aAAa;QAC7B,MAAM;QACN,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,iBAAiB,EAAE,GAAG,CAAC,gBAAgB;QACvC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,cAAc,EAAE,GAAG,CAAC,aAAa;QACjC,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,kBAAkB,EAAE,GAAG,CAAC,iBAAiB;QACzC,gBAAgB,EAAE,GAAG,CAAC,eAMT;QACb,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,UAAU;QACzB,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,aAAa;KAC9B,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC;QACZ,IAAI,EAAE,iBAAiB;QACvB,aAAa;QACb,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,oDAAoD;IACpD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAe,CAAC,CAAC;IAC1E,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,6EAA6E;IAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAClD,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;QAC1D,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
@@ -8,5 +8,5 @@ import { EventBusTag } from '../services/EventBus';
8
8
  import type { MarketType } from '../types';
9
9
  import type { StateRefreshResult } from './types';
10
10
  export declare const refreshMarketState: (marketAddress: string, marketType?: MarketType) => Effect.Effect<StateRefreshResult, never, DatabaseTag | ChainReaderTag | EventBusTag>;
11
- export declare const refreshAllMarketStates: Effect.Effect<StateRefreshResult[], never, DatabaseTag | EventBusTag | ChainReaderTag>;
11
+ export declare const refreshAllMarketStates: Effect.Effect<StateRefreshResult[], never, ChainReaderTag | DatabaseTag | EventBusTag>;
12
12
  //# sourceMappingURL=state-refresher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-refresher.d.ts","sourceRoot":"","sources":["../../src/etl/state-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,EACrB,aAAY,UAAqB,KAChC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,CAwElF,CAAC;AAIL,eAAO,MAAM,sBAAsB,wFAUjC,CAAC"}
1
+ {"version":3,"file":"state-refresher.d.ts","sourceRoot":"","sources":["../../src/etl/state-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,EACrB,aAAY,UAAqB,KAChC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,CAyFlF,CAAC;AAIL,eAAO,MAAM,sBAAsB,wFAUjC,CAAC"}
@@ -15,10 +15,11 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
15
15
  return { marketAddress, success: false, error: stateResult.left.message };
16
16
  }
17
17
  const state = stateResult.right;
18
+ const probsJson = JSON.stringify(state.probs);
18
19
  db.multinoulliMarketState.upsert({
19
20
  market_address: marketAddress,
20
21
  outcome_count: state.outcomeCount,
21
- probs_json: JSON.stringify(state.probs),
22
+ probs_json: probsJson,
22
23
  k: state.k,
23
24
  effective_k: state.effectiveK,
24
25
  total_shares: state.totalShares,
@@ -32,6 +33,19 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
32
33
  matrix_cols: state.matrixCols,
33
34
  matrix_enforce_full_row: state.matrixEnforceFullRow,
34
35
  });
36
+ // Store a historical snapshot if probabilities changed
37
+ if (state.isInitialized && state.probs.length > 0) {
38
+ // Simple hash: first 6 probs truncated to 8 decimals, joined
39
+ const probsHash = state.probs.slice(0, 8).map((p) => p.toFixed(8)).join(',');
40
+ db.multinoulliSnapshots.insertIfChanged({
41
+ market_address: marketAddress,
42
+ probs_json: probsJson,
43
+ probs_hash: probsHash,
44
+ outcome_count: state.outcomeCount,
45
+ matrix_rows: state.matrixRows,
46
+ matrix_cols: state.matrixCols,
47
+ });
48
+ }
35
49
  bus.broadcast({
36
50
  type: 'state_update',
37
51
  marketAddress,
@@ -40,7 +54,7 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
40
54
  return { marketAddress, success: true };
41
55
  }
42
56
  // Normal market
43
- const stateResult = yield* Effect.either(chain.readMarketState(marketAddress));
57
+ const stateResult = yield* Effect.either(chain.readMarketState(marketAddress, marketType));
44
58
  if (stateResult._tag === 'Left') {
45
59
  return { marketAddress, success: false, error: stateResult.left.message };
46
60
  }
@@ -59,6 +73,8 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
59
73
  mean_raw: state.meanRaw,
60
74
  sigma_raw: state.sigmaRaw,
61
75
  variance_raw: state.varianceRaw,
76
+ k: state.k,
77
+ effective_k: state.effectiveK,
62
78
  });
63
79
  bus.broadcast({
64
80
  type: 'state_update',
@@ -1 +1 @@
1
- {"version":3,"file":"state-refresher.js","sourceRoot":"","sources":["../../src/etl/state-refresher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-refresher.js","sourceRoot":"","sources":["../../src/etl/state-refresher.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,17 +1,15 @@
1
1
  /**
2
2
  * Indexer entry point — boots DB, ETL scheduler, and Elysia server.
3
3
  */
4
- import { AMM_ABI, MULTINOULLI_AMM_ABI } from '@the-situation/artifacts';
5
- import { SQ128x128 } from '@the-situation/core';
6
- import { AMMContract, createProvider, MultinoulliAMMContract } from '@the-situation/starknet';
7
4
  import { Duration, Effect, Schedule } from 'effect';
8
5
  import { createApp } from './api/app';
9
6
  import { loadConfig } from './config';
10
7
  import { createDatabase } from './db/connection';
11
8
  import { CursorRepository, EventRepository, MarketRepository, MarketStateRepository, MultinoulliMarketStateRepository, PositionRepository, RankingRepository, } from './db/repositories';
9
+ import { MultinoulliSnapshotsRepository } from './db/repositories/multinoulli-snapshots';
12
10
  import { initializeSchema } from './db/schema';
13
11
  import { startScheduler } from './etl/scheduler';
14
- import { ChainReadError } from './services/ChainReader';
12
+ import { createChainReaderService } from './layers/ChainReaderLive';
15
13
  import { isRetryableVoyagerError, VoyagerApiError } from './services/VoyagerClient';
16
14
  import { VoyagerRateLimitState } from './services/VoyagerRateLimit';
17
15
  const config = loadConfig();
@@ -23,6 +21,7 @@ const databaseService = {
23
21
  events: new EventRepository(db),
24
22
  marketState: new MarketStateRepository(db),
25
23
  multinoulliMarketState: new MultinoulliMarketStateRepository(db),
24
+ multinoulliSnapshots: new MultinoulliSnapshotsRepository(db),
26
25
  positions: new PositionRepository(db),
27
26
  cursors: new CursorRepository(db),
28
27
  rankings: new RankingRepository(db),
@@ -88,177 +87,7 @@ const voyagerClientService = {
88
87
  },
89
88
  };
90
89
  // ── Chain reader ────────────────────────────────────────────────────────────
91
- const provider = createProvider({
92
- name: 'custom',
93
- chainId: 'SN_SEPOLIA',
94
- rpcUrl: config.starknetRpcUrl,
95
- });
96
- const ammCache = new Map();
97
- const multinoulliAmmCache = new Map();
98
- function getAmm(address) {
99
- let amm = ammCache.get(address);
100
- if (!amm) {
101
- amm = new AMMContract({ address, abi: AMM_ABI, provider });
102
- ammCache.set(address, amm);
103
- }
104
- return amm;
105
- }
106
- function getMultinoulliAmm(address) {
107
- let amm = multinoulliAmmCache.get(address);
108
- if (!amm) {
109
- amm = new MultinoulliAMMContract({ address, abi: MULTINOULLI_AMM_ABI, provider });
110
- multinoulliAmmCache.set(address, amm);
111
- }
112
- return amm;
113
- }
114
- const chainReaderService = {
115
- readMarketState: (marketAddress) => Effect.tryPromise({
116
- try: async () => {
117
- const amm = getAmm(marketAddress);
118
- const [distribution, status, lpInfo] = await Promise.all([
119
- amm.getDistribution(),
120
- amm.getMarketStatus(),
121
- amm.getLPInfo(),
122
- ]);
123
- return {
124
- mean: distribution?.mean.toNumber() ?? null,
125
- sigma: distribution?.sigma.toNumber() ?? null,
126
- variance: distribution?.variance.toNumber() ?? null,
127
- isInitialized: status.isInitialized,
128
- isPaused: status.isPaused,
129
- isSettled: status.isSettled,
130
- settlementValue: status.settlementValue?.toNumber() ?? null,
131
- totalShares: lpInfo?.totalShares.toRaw().limb0.toString() ?? null,
132
- totalBacking: lpInfo?.totalBackingDeposited.toRaw().limb0.toString() ?? null,
133
- meanRaw: distribution
134
- ? JSON.stringify({
135
- mag: distribution.mean.toRaw().limb0.toString(),
136
- sign: distribution.mean.toRaw().neg,
137
- })
138
- : null,
139
- sigmaRaw: distribution
140
- ? JSON.stringify({
141
- mag: distribution.sigma.toRaw().limb0.toString(),
142
- sign: false,
143
- })
144
- : null,
145
- varianceRaw: distribution
146
- ? JSON.stringify({
147
- mag: distribution.variance.toRaw().limb0.toString(),
148
- sign: distribution.variance.toRaw().neg,
149
- })
150
- : null,
151
- };
152
- },
153
- catch: (e) => new ChainReadError(`Failed to read market state: ${e instanceof Error ? e.message : 'Unknown'}`, e),
154
- }),
155
- readPosition: (marketAddress, trader) => Effect.tryPromise({
156
- try: async () => {
157
- const amm = getAmm(marketAddress);
158
- const [position, extended] = await Promise.all([
159
- amm.getPositionCompact(trader),
160
- amm.getPositionSummary(trader),
161
- ]);
162
- if (!(position && extended)) {
163
- return {
164
- hasPosition: false,
165
- collateralLocked: null,
166
- mean: null,
167
- sigma: null,
168
- variance: null,
169
- settlementState: 'never_traded',
170
- deltaCount: 0,
171
- claimed: false,
172
- };
173
- }
174
- return {
175
- hasPosition: position.exists,
176
- collateralLocked: extended.totalCollateralLocked?.toRaw().limb0.toString() ?? null,
177
- mean: position.originalMean?.toNumber() ?? null,
178
- sigma: position.originalSigma?.toNumber() ?? null,
179
- variance: position.originalVariance?.toNumber() ?? null,
180
- settlementState: extended.claimed
181
- ? 'claimed'
182
- : extended.tracksSettlementClaim
183
- ? 'pending_claim'
184
- : 'active',
185
- deltaCount: 0,
186
- claimed: extended.claimed,
187
- };
188
- },
189
- catch: (e) => new ChainReadError(`Failed to read position: ${e instanceof Error ? e.message : 'Unknown'}`, e),
190
- }),
191
- readMultinoulliMarketState: (marketAddress) => Effect.tryPromise({
192
- try: async () => {
193
- const amm = getMultinoulliAmm(marketAddress);
194
- const [distribution, status, params, lpInfo, settlements, matrix] = await Promise.all([
195
- amm.getDistribution(),
196
- amm.getMarketStatus(),
197
- amm.getParams(),
198
- amm.getLPInfo(),
199
- amm.getSettlementOutcomes(),
200
- amm.getMatrixConstraints(),
201
- ]);
202
- const probs = distribution.probs.map((raw) => {
203
- const parsed = SQ128x128.fromRaw(raw);
204
- return parsed?.toNumber() ?? 0;
205
- });
206
- return {
207
- outcomeCount: probs.length,
208
- probs,
209
- k: params?.k.toNumber() ?? null,
210
- effectiveK: params?.backing.toNumber() ?? null,
211
- totalShares: lpInfo?.totalShares.toRaw().limb0.toString() ?? null,
212
- totalBacking: lpInfo?.totalBackingDeposited.toRaw().limb0.toString() ?? null,
213
- isInitialized: status.isInitialized,
214
- isPaused: status.isPaused,
215
- isSettled: status.isSettled,
216
- settlementOutcomes: settlements,
217
- matrixEnabled: matrix.enabled,
218
- matrixRows: matrix.rowCount,
219
- matrixCols: matrix.colCount,
220
- matrixEnforceFullRow: matrix.enforceFullRowAssignmentSettlement,
221
- };
222
- },
223
- catch: (e) => new ChainReadError(`Failed to read multinoulli market state: ${e instanceof Error ? e.message : 'Unknown'}`, e),
224
- }),
225
- readMultinoulliPosition: (marketAddress, trader) => Effect.tryPromise({
226
- try: async () => {
227
- const amm = getMultinoulliAmm(marketAddress);
228
- const [summary, compact] = await Promise.all([
229
- amm.getPositionSummary(trader),
230
- amm.getPositionCompact(trader),
231
- ]);
232
- if (!(summary && compact)) {
233
- return {
234
- exists: false,
235
- claimed: false,
236
- totalCollateralLocked: null,
237
- outcomeCount: 0,
238
- originalProbs: [],
239
- settlementState: 'never_traded',
240
- };
241
- }
242
- const originalProbs = compact.originalDistribution.probs.map((raw) => {
243
- const parsed = SQ128x128.fromRaw(raw);
244
- return parsed?.toNumber() ?? 0;
245
- });
246
- return {
247
- exists: summary.exists,
248
- claimed: summary.claimed,
249
- totalCollateralLocked: summary.totalCollateralLocked.toRaw().limb0.toString(),
250
- outcomeCount: summary.outcomeCount,
251
- originalProbs,
252
- settlementState: summary.claimed
253
- ? 'claimed'
254
- : summary.tracksSettlementClaim
255
- ? 'pending_claim'
256
- : 'active',
257
- };
258
- },
259
- catch: (e) => new ChainReadError(`Failed to read multinoulli position: ${e instanceof Error ? e.message : 'Unknown'}`, e),
260
- }),
261
- };
90
+ const chainReaderService = createChainReaderService(config.starknetRpcUrl);
262
91
  // ── Event bus ───────────────────────────────────────────────────────────────
263
92
  const busHandlers = new Set();
264
93
  const eventBusService = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { Layer } from 'effect';
2
+ import type { ChainReaderService } from '../services/ChainReader';
2
3
  import { ChainReaderTag } from '../services/ChainReader';
4
+ export declare function createChainReaderService(rpcUrl: string): ChainReaderService;
3
5
  export declare const ChainReaderLive: (rpcUrl: string) => Layer.Layer<ChainReaderTag>;
4
6
  //# sourceMappingURL=ChainReaderLive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainReaderLive.d.ts","sourceRoot":"","sources":["../../src/layers/ChainReaderLive.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAkB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzE,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CA8M1E,CAAC"}
1
+ {"version":3,"file":"ChainReaderLive.d.ts","sourceRoot":"","sources":["../../src/layers/ChainReaderLive.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAoC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAkB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA+PzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAoP3E;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CACS,CAAC"}