@the-situation/indexer 0.11.5 → 0.11.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 (110) hide show
  1. package/dist/api/app.d.ts +63 -0
  2. package/dist/api/app.d.ts.map +1 -1
  3. package/dist/api/app.js +3 -1
  4. package/dist/api/app.js.map +1 -1
  5. package/dist/api/routes/admin-subscriptions.d.ts +6 -6
  6. package/dist/api/routes/index.d.ts +2 -0
  7. package/dist/api/routes/index.d.ts.map +1 -1
  8. package/dist/api/routes/index.js +2 -0
  9. package/dist/api/routes/index.js.map +1 -1
  10. package/dist/api/routes/lp-history.d.ts +69 -0
  11. package/dist/api/routes/lp-history.d.ts.map +1 -0
  12. package/dist/api/routes/lp-history.js +46 -0
  13. package/dist/api/routes/lp-history.js.map +1 -0
  14. package/dist/api/routes/market-lps.d.ts +64 -0
  15. package/dist/api/routes/market-lps.d.ts.map +1 -0
  16. package/dist/api/routes/market-lps.js +32 -0
  17. package/dist/api/routes/market-lps.js.map +1 -0
  18. package/dist/api/routes/market-traders.d.ts.map +1 -1
  19. package/dist/api/routes/market-traders.js +3 -0
  20. package/dist/api/routes/market-traders.js.map +1 -1
  21. package/dist/api/routes/markets.d.ts +0 -3
  22. package/dist/api/routes/markets.d.ts.map +1 -1
  23. package/dist/api/routes/markets.js +25 -2
  24. package/dist/api/routes/markets.js.map +1 -1
  25. package/dist/api/routes/positions.d.ts.map +1 -1
  26. package/dist/api/routes/positions.js +3 -0
  27. package/dist/api/routes/positions.js.map +1 -1
  28. package/dist/api/routes/spice-faucet.d.ts.map +1 -1
  29. package/dist/api/routes/spice-faucet.js +26 -20
  30. package/dist/api/routes/spice-faucet.js.map +1 -1
  31. package/dist/client/IndexerClient.d.ts +2 -1
  32. package/dist/client/IndexerClient.d.ts.map +1 -1
  33. package/dist/client/IndexerClient.js.map +1 -1
  34. package/dist/client/IndexerClientLive.d.ts.map +1 -1
  35. package/dist/client/IndexerClientLive.js +1 -0
  36. package/dist/client/IndexerClientLive.js.map +1 -1
  37. package/dist/client/convenience.d.ts +1 -0
  38. package/dist/client/convenience.d.ts.map +1 -1
  39. package/dist/client/convenience.js +1 -0
  40. package/dist/client/convenience.js.map +1 -1
  41. package/dist/client/index.d.ts +2 -2
  42. package/dist/client/index.d.ts.map +1 -1
  43. package/dist/client/index.js +1 -1
  44. package/dist/client/index.js.map +1 -1
  45. package/dist/db/repositories/event.d.ts.map +1 -1
  46. package/dist/db/repositories/event.js +3 -2
  47. package/dist/db/repositories/event.js.map +1 -1
  48. package/dist/db/repositories/index.d.ts +1 -0
  49. package/dist/db/repositories/index.d.ts.map +1 -1
  50. package/dist/db/repositories/index.js +1 -0
  51. package/dist/db/repositories/index.js.map +1 -1
  52. package/dist/db/repositories/lp-position.d.ts +64 -0
  53. package/dist/db/repositories/lp-position.d.ts.map +1 -0
  54. package/dist/db/repositories/lp-position.js +139 -0
  55. package/dist/db/repositories/lp-position.js.map +1 -0
  56. package/dist/db/repositories/market-state.d.ts +1 -0
  57. package/dist/db/repositories/market-state.d.ts.map +1 -1
  58. package/dist/db/repositories/market-state.js +4 -3
  59. package/dist/db/repositories/market-state.js.map +1 -1
  60. package/dist/db/repositories/multinoulli-market-state.d.ts +6 -2
  61. package/dist/db/repositories/multinoulli-market-state.d.ts.map +1 -1
  62. package/dist/db/repositories/multinoulli-market-state.js +5 -5
  63. package/dist/db/repositories/multinoulli-market-state.js.map +1 -1
  64. package/dist/db/schema.d.ts.map +1 -1
  65. package/dist/db/schema.js +40 -2
  66. package/dist/db/schema.js.map +1 -1
  67. package/dist/etl/decoder.d.ts.map +1 -1
  68. package/dist/etl/decoder.js +40 -2
  69. package/dist/etl/decoder.js.map +1 -1
  70. package/dist/etl/event-indexer.d.ts.map +1 -1
  71. package/dist/etl/event-indexer.js +99 -2
  72. package/dist/etl/event-indexer.js.map +1 -1
  73. package/dist/etl/lp-position-refresher.d.ts +17 -0
  74. package/dist/etl/lp-position-refresher.d.ts.map +1 -0
  75. package/dist/etl/lp-position-refresher.js +78 -0
  76. package/dist/etl/lp-position-refresher.js.map +1 -0
  77. package/dist/etl/position-refresher.d.ts +1 -1
  78. package/dist/etl/position-refresher.d.ts.map +1 -1
  79. package/dist/etl/position-refresher.js +110 -50
  80. package/dist/etl/position-refresher.js.map +1 -1
  81. package/dist/etl/scheduler.d.ts.map +1 -1
  82. package/dist/etl/scheduler.js +22 -0
  83. package/dist/etl/scheduler.js.map +1 -1
  84. package/dist/etl/state-refresher.d.ts +1 -4
  85. package/dist/etl/state-refresher.d.ts.map +1 -1
  86. package/dist/etl/state-refresher.js +45 -8
  87. package/dist/etl/state-refresher.js.map +1 -1
  88. package/dist/index.js +2 -1
  89. package/dist/index.js.map +1 -1
  90. package/dist/layers/ChainReaderLive.d.ts.map +1 -1
  91. package/dist/layers/ChainReaderLive.js +39 -9
  92. package/dist/layers/ChainReaderLive.js.map +1 -1
  93. package/dist/layers/DatabaseLive.d.ts.map +1 -1
  94. package/dist/layers/DatabaseLive.js +2 -1
  95. package/dist/layers/DatabaseLive.js.map +1 -1
  96. package/dist/services/ChainReader.d.ts +5 -0
  97. package/dist/services/ChainReader.d.ts.map +1 -1
  98. package/dist/services/ChainReader.js.map +1 -1
  99. package/dist/services/Database.d.ts +2 -1
  100. package/dist/services/Database.d.ts.map +1 -1
  101. package/dist/services/Database.js.map +1 -1
  102. package/dist/types/api.d.ts +38 -2
  103. package/dist/types/api.d.ts.map +1 -1
  104. package/dist/types/event.d.ts +13 -2
  105. package/dist/types/event.d.ts.map +1 -1
  106. package/dist/types/index.d.ts +2 -2
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/market.d.ts +10 -4
  109. package/dist/types/market.d.ts.map +1 -1
  110. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
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/valuation';
5
+ import { computeMultinoulliPositionEV, computePositionValueAtPoint, } from '@the-situation/sdk/valuation';
6
6
  import { log } from '../logger';
7
7
  import { ChainReaderTag } from '../services/ChainReader';
8
8
  import { DatabaseTag } from '../services/Database';
@@ -48,30 +48,44 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
48
48
  const mState = db.multinoulliMarketState.findByMarket(marketAddress);
49
49
  const marketIsSettled = mState?.is_settled === 1;
50
50
  const isClosed = isPositionClosed(pos.settlementState, pos.claimed, marketIsSettled);
51
- if (isClosed) {
52
- expectedValue = 0;
53
- unrealizedPnl = 0;
54
- // Capture realized PnL: snapshot the last known unrealized_pnl before it zeroes out
55
- const prev = db.positions.findOne(marketAddress, trader);
56
- if (prev && prev.realized_pnl == null && prev.unrealized_pnl != null) {
57
- realizedPnl = prev.unrealized_pnl;
58
- }
59
- }
60
- else if (pos.exists && pos.effectiveProbs.length > 0 && mState && mState.k != null) {
51
+ // Compute EV if we have the distribution data (works for both active and closed)
52
+ let computedPnl = null;
53
+ const canComputeMultinoulliEV = pos.exists && pos.effectiveProbs.length > 0 && mState && mState.k != null;
54
+ if (canComputeMultinoulliEV) {
61
55
  const marketProbs = JSON.parse(mState.probs_json);
62
56
  const collateral = pos.collateralLockedNumber;
63
57
  const k = mState.effective_k ?? mState.k;
58
+ const payoutAmplifier = mState.payout_amplifier ?? 1;
64
59
  const ev = computeMultinoulliPositionEV({
65
60
  effectiveProbs: pos.effectiveProbs,
66
61
  originalProbs: pos.originalProbs,
67
62
  collateralLocked: collateral,
68
63
  k,
64
+ payoutAmplifier,
69
65
  }, marketProbs);
70
66
  if (Number.isFinite(ev)) {
71
- expectedValue = ev;
72
- unrealizedPnl = ev - collateral;
67
+ computedPnl = ev - collateral;
73
68
  }
74
69
  }
70
+ if (isClosed) {
71
+ expectedValue = 0;
72
+ unrealizedPnl = 0;
73
+ const prev = db.positions.findOne(marketAddress, trader);
74
+ if (prev?.realized_pnl != null && prev.realized_pnl !== 0) {
75
+ realizedPnl = prev.realized_pnl;
76
+ }
77
+ else if (computedPnl != null) {
78
+ realizedPnl = computedPnl;
79
+ }
80
+ else if (prev?.unrealized_pnl != null && prev.unrealized_pnl !== 0) {
81
+ realizedPnl = prev.unrealized_pnl;
82
+ }
83
+ }
84
+ else if (canComputeMultinoulliEV && computedPnl != null) {
85
+ const collateral = pos.collateralLockedNumber;
86
+ expectedValue = computedPnl + collateral;
87
+ unrealizedPnl = computedPnl;
88
+ }
75
89
  db.positions.upsert({
76
90
  market_address: marketAddress,
77
91
  trader,
@@ -113,54 +127,100 @@ export const refreshPosition = (marketAddress, trader, marketType = 'normal') =>
113
127
  const marketState = db.marketState.findByMarket(marketAddress);
114
128
  const marketIsSettled = marketState?.is_settled === 1;
115
129
  const isClosed = isPositionClosed(pos.settlementState, pos.claimed, marketIsSettled);
130
+ // Compute EV if we have the distribution data (works for both active and closed)
131
+ const canComputeEV = pos.hasPosition &&
132
+ pos.effectiveMean != null &&
133
+ pos.effectiveSigma != null &&
134
+ pos.mean != null &&
135
+ pos.sigma != null &&
136
+ marketState?.mean != null &&
137
+ marketState?.sigma != null &&
138
+ marketState.k != null;
139
+ let computedPnl = null;
140
+ if (canComputeEV) {
141
+ const collateral = pos.collateralLockedNumber;
142
+ const k = marketState.effective_k ?? marketState.k;
143
+ const payoutAmplifier = marketState.payout_amplifier ?? 1;
144
+ // Value the position at the current market mean (deterministic payoff,
145
+ // not probabilistic EV). This matches the chart's crosshair value.
146
+ const positionValue = computePositionValueAtPoint({
147
+ positionDistribution: {
148
+ mean: pos.effectiveMean,
149
+ sigma: pos.effectiveSigma,
150
+ variance: pos.effectiveVariance ?? pos.effectiveSigma ** 2,
151
+ },
152
+ originalDistribution: {
153
+ mean: pos.mean,
154
+ sigma: pos.sigma,
155
+ variance: pos.variance ?? pos.sigma ** 2,
156
+ },
157
+ collateralLocked: collateral,
158
+ k,
159
+ payoutAmplifier,
160
+ }, marketState.mean);
161
+ if (Number.isFinite(positionValue)) {
162
+ // On-chain claim returns max(0, payoff) — traders can't lose more
163
+ // than their collateral. LPs absorb the negative tail.
164
+ const claimPayout = Math.max(0, positionValue);
165
+ computedPnl = claimPayout - collateral;
166
+ }
167
+ }
116
168
  if (isClosed) {
117
169
  expectedValue = 0;
118
170
  unrealizedPnl = 0;
119
- // Capture realized PnL: snapshot the last known unrealized_pnl before it zeroes out
171
+ // Use computed PnL as realized, or fall back to previously stored value
120
172
  const prev = db.positions.findOne(marketAddress, trader);
121
- if (prev && prev.realized_pnl == null && prev.unrealized_pnl != null) {
122
- realizedPnl = prev.unrealized_pnl;
173
+ if (prev?.realized_pnl != null && prev.realized_pnl !== 0) {
174
+ realizedPnl = prev.realized_pnl; // already captured with real value
123
175
  }
124
- }
125
- else if (pos.hasPosition &&
126
- pos.effectiveMean != null &&
127
- pos.effectiveSigma != null &&
128
- pos.mean != null &&
129
- pos.sigma != null) {
130
- if (marketState?.mean != null && marketState?.sigma != null && marketState.k != null) {
176
+ else if (computedPnl != null) {
177
+ realizedPnl = computedPnl; // compute from chain data
178
+ }
179
+ else if (prev?.unrealized_pnl != null && prev.unrealized_pnl !== 0) {
180
+ realizedPnl = prev.unrealized_pnl; // snapshot from previous cycle
181
+ }
182
+ else if (marketState?.settlement_value != null &&
183
+ pos.mean != null && pos.sigma != null && pos.sigma > 0 &&
184
+ marketState.k != null && marketState.mean != null && marketState.sigma != null && marketState.sigma > 0) {
185
+ // Chain cleared the effective distribution on claim. Use the preserved
186
+ // market distribution (which IS the settlement state) as the "market" for
187
+ // EV, and the DB's stored effective_* (or market mean as fallback) as the
188
+ // position's effective distribution.
131
189
  const collateral = pos.collateralLockedNumber;
132
190
  const k = marketState.effective_k ?? marketState.k;
133
- const ev = computePositionEV({
134
- positionDistribution: {
135
- mean: pos.effectiveMean,
136
- sigma: pos.effectiveSigma,
137
- variance: pos.effectiveVariance ?? pos.effectiveSigma ** 2,
138
- },
139
- originalDistribution: {
140
- mean: pos.mean,
141
- sigma: pos.sigma,
142
- variance: pos.variance ?? pos.sigma ** 2,
143
- },
191
+ const payoutAmplifier = marketState.payout_amplifier ?? 1;
192
+ const effMean = prev?.effective_mean ?? marketState.mean;
193
+ const effSigma = prev?.effective_sigma ?? marketState.sigma;
194
+ // For settled markets, value at the settlement point (= market mean)
195
+ const positionValue = computePositionValueAtPoint({
196
+ positionDistribution: { mean: effMean, sigma: effSigma, variance: effSigma ** 2 },
197
+ originalDistribution: { mean: pos.mean, sigma: pos.sigma, variance: pos.variance ?? pos.sigma ** 2 },
144
198
  collateralLocked: collateral,
145
199
  k,
146
- }, {
147
- mean: marketState.mean,
148
- sigma: marketState.sigma,
149
- variance: marketState.variance ?? marketState.sigma ** 2,
150
- });
151
- if (Number.isFinite(ev)) {
152
- expectedValue = ev;
153
- unrealizedPnl = ev - collateral;
200
+ payoutAmplifier,
201
+ }, marketState.mean);
202
+ if (Number.isFinite(positionValue)) {
203
+ realizedPnl = positionValue - collateral;
204
+ log.info('realized PnL computed from settlement fallback', {
205
+ market: marketAddress.slice(0, 16),
206
+ trader: trader.slice(0, 16),
207
+ pnl: realizedPnl,
208
+ });
154
209
  }
155
210
  }
156
- else {
157
- log.warn('position EV skipped: missing market state', {
158
- market: marketAddress.slice(0, 16),
159
- trader: trader.slice(0, 16),
160
- hasMarketMean: marketState?.mean != null,
161
- hasMarketK: marketState?.k != null,
162
- });
163
- }
211
+ }
212
+ else if (canComputeEV && computedPnl != null) {
213
+ const collateral = pos.collateralLockedNumber;
214
+ expectedValue = computedPnl + collateral;
215
+ unrealizedPnl = computedPnl;
216
+ }
217
+ else if (pos.hasPosition) {
218
+ log.warn('position EV skipped: missing market state', {
219
+ market: marketAddress.slice(0, 16),
220
+ trader: trader.slice(0, 16),
221
+ hasMarketMean: marketState?.mean != null,
222
+ hasMarketK: marketState?.k != null,
223
+ });
164
224
  }
165
225
  db.positions.upsert({
166
226
  market_address: marketAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"position-refresher.js","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position-refresher.js","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/etl/scheduler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,KAAK,kBAAkB,EAAkB,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,oBAAoB,EAAoB,MAAM,2BAA2B,CAAC;AAKxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAiCD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE;IACR,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;CAC3B,GACA,gBAAgB,CA2HlB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/etl/scheduler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,KAAK,kBAAkB,EAAkB,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,oBAAoB,EAAoB,MAAM,2BAA2B,CAAC;AAMxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAiCD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE;IACR,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;CAC3B,GACA,gBAAgB,CAgJlB"}
@@ -11,6 +11,7 @@ import { DatabaseTag } from '../services/Database';
11
11
  import { EventBusTag } from '../services/EventBus';
12
12
  import { VoyagerClientTag } from '../services/VoyagerClient';
13
13
  import { indexAllMarkets } from './event-indexer';
14
+ import { refreshAllLPPositions } from './lp-position-refresher';
14
15
  import { refreshAllPositions } from './position-refresher';
15
16
  import { refreshAllMarketStates } from './state-refresher';
16
17
  /**
@@ -108,6 +109,24 @@ export function startScheduler(config, services) {
108
109
  });
109
110
  }
110
111
  }, config.positionPollIntervalMs);
112
+ const cancelLPPositions = startNonOverlappingLoop(async () => {
113
+ try {
114
+ const results = await run(refreshAllLPPositions);
115
+ const ok = results.filter((r) => r.success).length;
116
+ const failed = results.filter((r) => !r.success);
117
+ if (failed.length > 0) {
118
+ log.warn('lp-position-refresh partial failure', { ok, failed: failed.length });
119
+ }
120
+ else if (ok > 0) {
121
+ log.info('lp-position-refresh cycle', { ok, total: results.length });
122
+ }
123
+ }
124
+ catch (err) {
125
+ log.error('lp-position-refresh cycle failed', {
126
+ error: err instanceof Error ? err.message : String(err),
127
+ });
128
+ }
129
+ }, config.positionPollIntervalMs);
111
130
  // Run immediately on start
112
131
  void (async () => {
113
132
  log.info('scheduler boot: starting initial sync');
@@ -137,6 +156,8 @@ export function startScheduler(config, services) {
137
156
  error: r.error,
138
157
  })),
139
158
  });
159
+ const lpResults = await run(refreshAllLPPositions);
160
+ log.info('scheduler boot: LP positions refreshed', { count: lpResults.length });
140
161
  log.info('scheduler boot: complete');
141
162
  }
142
163
  catch (err) {
@@ -151,6 +172,7 @@ export function startScheduler(config, services) {
151
172
  cancelEvents();
152
173
  cancelState();
153
174
  cancelPositions();
175
+ cancelLPPositions();
154
176
  },
155
177
  };
156
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/etl/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/etl/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /**
2
- * State refresher — periodic RPC reads for market state.
3
- */
4
1
  import { Effect } from 'effect';
5
2
  import { ChainReaderTag } from '../services/ChainReader';
6
3
  import { DatabaseTag } from '../services/Database';
@@ -8,5 +5,5 @@ import { EventBusTag } from '../services/EventBus';
8
5
  import type { MarketType } from '../types';
9
6
  import type { StateRefreshResult } from './types';
10
7
  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 | ChainReaderTag | EventBusTag>;
8
+ export declare const refreshAllMarketStates: Effect.Effect<StateRefreshResult[], never, DatabaseTag | EventBusTag | ChainReaderTag>;
12
9
  //# 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,CAyFlF,CAAC;AAIL,eAAO,MAAM,sBAAsB,wFAUjC,CAAC"}
1
+ {"version":3,"file":"state-refresher.d.ts","sourceRoot":"","sources":["../../src/etl/state-refresher.ts"],"names":[],"mappings":"AAIA,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;AAmBlD,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,EACrB,aAAY,UAAqB,KAChC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,CAgHlF,CAAC;AAIL,eAAO,MAAM,sBAAsB,wFAUjC,CAAC"}
@@ -1,10 +1,27 @@
1
1
  /**
2
2
  * State refresher — periodic RPC reads for market state.
3
3
  */
4
+ import { MultinoulliMatrixConstraintMode } from '@the-situation/abi';
4
5
  import { Effect } from 'effect';
5
6
  import { ChainReaderTag } from '../services/ChainReader';
6
7
  import { DatabaseTag } from '../services/Database';
7
8
  import { EventBusTag } from '../services/EventBus';
9
+ /**
10
+ * Maps the Cairo `MultinoulliMatrixConstraintMode` variant name to its
11
+ * on-chain u8 discriminant for persistence.
12
+ */
13
+ function matrixConstraintModeToU8(mode) {
14
+ switch (mode) {
15
+ case MultinoulliMatrixConstraintMode.Disabled:
16
+ return 0;
17
+ case MultinoulliMatrixConstraintMode.RowAndCol:
18
+ return 1;
19
+ case MultinoulliMatrixConstraintMode.RowOnly:
20
+ return 2;
21
+ case MultinoulliMatrixConstraintMode.ColOnly:
22
+ return 3;
23
+ }
24
+ }
8
25
  export const refreshMarketState = (marketAddress, marketType = 'normal') => Effect.gen(function* () {
9
26
  const db = yield* DatabaseTag;
10
27
  const chain = yield* ChainReaderTag;
@@ -28,10 +45,10 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
28
45
  is_paused: state.isPaused,
29
46
  is_settled: state.isSettled,
30
47
  settlement_outcomes_json: JSON.stringify(state.settlementOutcomes),
31
- matrix_enabled: state.matrixEnabled,
48
+ matrix_constraint_mode: matrixConstraintModeToU8(state.matrixMode),
32
49
  matrix_rows: state.matrixRows,
33
50
  matrix_cols: state.matrixCols,
34
- matrix_enforce_full_row: state.matrixEnforceFullRow,
51
+ payout_amplifier: state.payoutAmplifier,
35
52
  });
36
53
  // Store a historical snapshot if probabilities changed
37
54
  if (state.isInitialized && state.probs.length > 0) {
@@ -59,22 +76,42 @@ export const refreshMarketState = (marketAddress, marketType = 'normal') => Effe
59
76
  return { marketAddress, success: false, error: stateResult.left.message };
60
77
  }
61
78
  const state = stateResult.right;
79
+ // When a market settles, the on-chain distribution may be zeroed out.
80
+ // Preserve the last known distribution so the UI still shows meaningful values.
81
+ let mean = state.mean;
82
+ let sigma = state.sigma;
83
+ let variance = state.variance;
84
+ let meanRaw = state.meanRaw;
85
+ let sigmaRaw = state.sigmaRaw;
86
+ let varianceRaw = state.varianceRaw;
87
+ if (state.isSettled && (mean === 0 || mean === null)) {
88
+ const existing = db.marketState.findByMarket(marketAddress);
89
+ if (existing && existing.mean != null && existing.mean !== 0) {
90
+ mean = existing.mean;
91
+ sigma = existing.sigma;
92
+ variance = existing.variance;
93
+ meanRaw = existing.mean_raw;
94
+ sigmaRaw = existing.sigma_raw;
95
+ varianceRaw = existing.variance_raw;
96
+ }
97
+ }
62
98
  db.marketState.upsert({
63
99
  market_address: marketAddress,
64
- mean: state.mean,
65
- sigma: state.sigma,
66
- variance: state.variance,
100
+ mean,
101
+ sigma,
102
+ variance,
67
103
  is_initialized: state.isInitialized,
68
104
  is_paused: state.isPaused,
69
105
  is_settled: state.isSettled,
70
106
  settlement_value: state.settlementValue,
71
107
  total_shares: state.totalShares,
72
108
  total_backing: state.totalBacking,
73
- mean_raw: state.meanRaw,
74
- sigma_raw: state.sigmaRaw,
75
- variance_raw: state.varianceRaw,
109
+ mean_raw: meanRaw,
110
+ sigma_raw: sigmaRaw,
111
+ variance_raw: varianceRaw,
76
112
  k: state.k,
77
113
  effective_k: state.effectiveK,
114
+ payout_amplifier: state.payoutAmplifier,
78
115
  });
79
116
  bus.broadcast({
80
117
  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
@@ -5,7 +5,7 @@ import { Duration, Effect, Schedule } from 'effect';
5
5
  import { createApp } from './api/app';
6
6
  import { loadConfig } from './config';
7
7
  import { createDatabase } from './db/connection';
8
- import { ActivityFeedRepository, CursorRepository, EventRepository, MarketRepository, MarketStateRepository, MultinoulliMarketStateRepository, PositionRepository, RankingRepository, SubscriptionRepository, } from './db/repositories';
8
+ import { ActivityFeedRepository, CursorRepository, EventRepository, LPPositionRepository, MarketRepository, MarketStateRepository, MultinoulliMarketStateRepository, PositionRepository, RankingRepository, SubscriptionRepository, } from './db/repositories';
9
9
  import { MultinoulliSnapshotsRepository } from './db/repositories/multinoulli-snapshots';
10
10
  import { initializeSchema } from './db/schema';
11
11
  import { startScheduler } from './etl/scheduler';
@@ -27,6 +27,7 @@ const databaseService = {
27
27
  multinoulliMarketState: new MultinoulliMarketStateRepository(db),
28
28
  multinoulliSnapshots: new MultinoulliSnapshotsRepository(db),
29
29
  positions: new PositionRepository(db),
30
+ lpPositions: new LPPositionRepository(db),
30
31
  cursors: new CursorRepository(db),
31
32
  rankings: new RankingRepository(db),
32
33
  activityFeed: new ActivityFeedRepository(db),
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 +1 @@
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;AA6QzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAyP3E;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CACS,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;AA8QzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAuS3E;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CACS,CAAC"}
@@ -210,18 +210,28 @@ export function createChainReaderService(rpcUrl) {
210
210
  try {
211
211
  rawParams = await contract.call('get_params', []);
212
212
  }
213
- catch {
214
- // Contract may not support get_params (older deployments)
213
+ catch (paramsErr) {
214
+ // biome-ignore lint/suspicious/noConsole: debug
215
+ console.warn(`[chain] get_params failed for ${marketAddress.slice(0, 16)}: ${paramsErr instanceof Error ? paramsErr.message : String(paramsErr)}`);
215
216
  }
216
217
  const distribution = normalizeResponse(rawDistribution);
217
218
  const status = normalizeResponse(rawStatus);
218
219
  const lpInfo = normalizeResponse(rawLpInfo);
219
- const params = rawParams ? normalizeResponse(rawParams) : { k: undefined, backing: undefined };
220
+ const params = rawParams ? normalizeResponse(rawParams) : { k: undefined, backing: undefined, payoutAmplifier: undefined };
220
221
  const projected = projectedDistributionFields(marketType, distribution);
221
222
  const mean = sq128ToNumber(projected.meanRaw);
222
223
  const variance = sq128ToNumber(projected.varianceRaw);
223
224
  const directSigma = sq128ToNumber(projected.sigmaRaw);
224
225
  const sigma = directSigma ?? (variance === null ? null : Math.sqrt(Math.max(variance, 0)));
226
+ const baseK = sq128ToNumber(params.k);
227
+ const initialBacking = sq128ToNumber(params.backing);
228
+ const poolBacking = sq128ToNumber(lpInfo.totalBackingDeposited);
229
+ const effectiveK = baseK != null && initialBacking != null && initialBacking > 0 && poolBacking != null
230
+ ? Math.max(baseK, (baseK * poolBacking) / initialBacking)
231
+ : baseK;
232
+ // payoutAmplifier: read from on-chain params, default to 1.0 for backwards compat
233
+ const rawAmplifier = sq128ToNumber(params.payoutAmplifier);
234
+ const payoutAmplifier = rawAmplifier != null && Number.isFinite(rawAmplifier) ? rawAmplifier : 1;
225
235
  return {
226
236
  mean,
227
237
  sigma,
@@ -235,8 +245,9 @@ export function createChainReaderService(rpcUrl) {
235
245
  meanRaw: projected.meanRaw ? jsonStringifyBigInt(projected.meanRaw) : null,
236
246
  sigmaRaw: projected.sigmaRaw ? jsonStringifyBigInt(projected.sigmaRaw) : null,
237
247
  varianceRaw: projected.varianceRaw ? jsonStringifyBigInt(projected.varianceRaw) : null,
238
- k: sq128ToNumber(params.k),
239
- effectiveK: sq128ToNumber(params.backing),
248
+ k: baseK,
249
+ effectiveK,
250
+ payoutAmplifier,
240
251
  };
241
252
  },
242
253
  catch: (e) => new ChainReadError(`Failed to read market state: ${e instanceof Error ? e.message : 'Unknown'}`, e),
@@ -307,11 +318,20 @@ export function createChainReaderService(rpcUrl) {
307
318
  const parsed = SQ128x128.fromRaw(raw);
308
319
  return parsed?.toNumber() ?? 0;
309
320
  });
321
+ const mBaseK = params?.k.toNumber() ?? null;
322
+ const mInitBacking = params?.backing.toNumber() ?? null;
323
+ const mPoolBacking = lpInfo?.totalBackingDeposited?.toNumber() ?? null;
324
+ const mEffectiveK = mBaseK != null && mInitBacking != null && mInitBacking > 0 && mPoolBacking != null
325
+ ? Math.max(mBaseK, (mBaseK * mPoolBacking) / mInitBacking)
326
+ : mBaseK;
327
+ // payout_amplifier: read from on-chain params, default to 1.0 for backwards compat
328
+ const mRawAmplifier = params?.payoutAmplifier?.toNumber() ?? null;
329
+ const mPayoutAmplifier = mRawAmplifier != null && Number.isFinite(mRawAmplifier) ? mRawAmplifier : 1;
310
330
  return {
311
331
  outcomeCount: probs.length,
312
332
  probs,
313
- k: params?.k.toNumber() ?? null,
314
- effectiveK: params?.backing.toNumber() ?? null,
333
+ k: mBaseK,
334
+ effectiveK: mEffectiveK,
315
335
  totalShares: lpInfo?.totalShares
316
336
  ? sq128MagnitudeToString(lpInfo.totalShares.toRaw())
317
337
  : null,
@@ -322,14 +342,24 @@ export function createChainReaderService(rpcUrl) {
322
342
  isPaused: status.isPaused,
323
343
  isSettled: status.isSettled,
324
344
  settlementOutcomes: settlements,
325
- matrixEnabled: matrix.enabled,
345
+ matrixMode: matrix.mode,
326
346
  matrixRows: matrix.rowCount,
327
347
  matrixCols: matrix.colCount,
328
- matrixEnforceFullRow: matrix.enforceFullRowAssignmentSettlement,
348
+ payoutAmplifier: mPayoutAmplifier,
329
349
  };
330
350
  },
331
351
  catch: (e) => new ChainReadError(`Failed to read multinoulli market state: ${e instanceof Error ? e.message : 'Unknown'}`, e),
332
352
  }),
353
+ readLPShares: (marketAddress, provider, marketType = 'normal') => Effect.tryPromise({
354
+ try: async () => {
355
+ const contract = getContinuousContract(marketAddress, marketType);
356
+ const raw = await contract.call('get_lp_shares', [provider]);
357
+ const shares = sq128MagnitudeToString(raw);
358
+ const sharesNumber = sq128ToNumber(raw) ?? 0;
359
+ return { shares, sharesNumber };
360
+ },
361
+ catch: (e) => new ChainReadError(`Failed to read LP shares: ${e instanceof Error ? e.message : 'Unknown'}`, e),
362
+ }),
333
363
  readMultinoulliPosition: (marketAddress, trader) => Effect.tryPromise({
334
364
  try: async () => {
335
365
  const amm = getMultinoulliAmm(marketAddress);