@the-situation/indexer 0.9.3 → 0.11.1

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 (155) hide show
  1. package/README.md +5 -1
  2. package/dist/api/app.d.ts +42 -0
  3. package/dist/api/app.d.ts.map +1 -1
  4. package/dist/api/app.js +3 -2
  5. package/dist/api/app.js.map +1 -1
  6. package/dist/api/middleware/admin-auth.d.ts.map +1 -1
  7. package/dist/api/middleware/admin-auth.js +6 -4
  8. package/dist/api/middleware/admin-auth.js.map +1 -1
  9. package/dist/api/middleware/error-handler.d.ts.map +1 -1
  10. package/dist/api/middleware/error-handler.js +0 -1
  11. package/dist/api/middleware/error-handler.js.map +1 -1
  12. package/dist/api/routes/admin.d.ts +2 -0
  13. package/dist/api/routes/admin.d.ts.map +1 -1
  14. package/dist/api/routes/admin.js +27 -6
  15. package/dist/api/routes/admin.js.map +1 -1
  16. package/dist/api/routes/index.d.ts +4 -3
  17. package/dist/api/routes/index.d.ts.map +1 -1
  18. package/dist/api/routes/index.js +4 -3
  19. package/dist/api/routes/index.js.map +1 -1
  20. package/dist/api/routes/market-events.d.ts.map +1 -1
  21. package/dist/api/routes/market-events.js +12 -8
  22. package/dist/api/routes/market-events.js.map +1 -1
  23. package/dist/api/routes/market-traders.d.ts.map +1 -1
  24. package/dist/api/routes/market-traders.js +1 -1
  25. package/dist/api/routes/market-traders.js.map +1 -1
  26. package/dist/api/routes/markets.d.ts.map +1 -1
  27. package/dist/api/routes/markets.js +18 -9
  28. package/dist/api/routes/markets.js.map +1 -1
  29. package/dist/api/routes/multinoulli-snapshots.d.ts +78 -0
  30. package/dist/api/routes/multinoulli-snapshots.d.ts.map +1 -0
  31. package/dist/api/routes/multinoulli-snapshots.js +33 -0
  32. package/dist/api/routes/multinoulli-snapshots.js.map +1 -0
  33. package/dist/api/routes/rankings.d.ts.map +1 -1
  34. package/dist/api/routes/rankings.js +2 -1
  35. package/dist/api/routes/rankings.js.map +1 -1
  36. package/dist/api/routes/trader-events.d.ts +1 -1
  37. package/dist/api/routes/trader-events.d.ts.map +1 -1
  38. package/dist/api/routes/trader-events.js +9 -6
  39. package/dist/api/routes/trader-events.js.map +1 -1
  40. package/dist/api/routes/ws.d.ts.map +1 -1
  41. package/dist/api/routes/ws.js +4 -3
  42. package/dist/api/routes/ws.js.map +1 -1
  43. package/dist/client/IndexerClient.d.ts +2 -1
  44. package/dist/client/IndexerClient.d.ts.map +1 -1
  45. package/dist/client/IndexerClient.js.map +1 -1
  46. package/dist/client/IndexerClientLive.d.ts.map +1 -1
  47. package/dist/client/IndexerClientLive.js +24 -9
  48. package/dist/client/IndexerClientLive.js.map +1 -1
  49. package/dist/client/convenience.d.ts +3 -2
  50. package/dist/client/convenience.d.ts.map +1 -1
  51. package/dist/client/convenience.js +1 -0
  52. package/dist/client/convenience.js.map +1 -1
  53. package/dist/client/index.d.ts +5 -5
  54. package/dist/client/index.d.ts.map +1 -1
  55. package/dist/client/index.js +4 -4
  56. package/dist/client/index.js.map +1 -1
  57. package/dist/client/trader-stats.d.ts +2 -2
  58. package/dist/client/trader-stats.d.ts.map +1 -1
  59. package/dist/client/trader-stats.js +1 -1
  60. package/dist/client/trader-stats.js.map +1 -1
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +5 -4
  63. package/dist/config.js.map +1 -1
  64. package/dist/db/repositories/event.d.ts +3 -2
  65. package/dist/db/repositories/event.d.ts.map +1 -1
  66. package/dist/db/repositories/event.js +17 -15
  67. package/dist/db/repositories/event.js.map +1 -1
  68. package/dist/db/repositories/index.d.ts +3 -3
  69. package/dist/db/repositories/index.d.ts.map +1 -1
  70. package/dist/db/repositories/index.js +3 -3
  71. package/dist/db/repositories/index.js.map +1 -1
  72. package/dist/db/repositories/market-state.d.ts.map +1 -1
  73. package/dist/db/repositories/market-state.js +1 -3
  74. package/dist/db/repositories/market-state.js.map +1 -1
  75. package/dist/db/repositories/market.d.ts +1 -1
  76. package/dist/db/repositories/market.d.ts.map +1 -1
  77. package/dist/db/repositories/market.js +22 -24
  78. package/dist/db/repositories/market.js.map +1 -1
  79. package/dist/db/repositories/multinoulli-snapshots.d.ts +44 -0
  80. package/dist/db/repositories/multinoulli-snapshots.d.ts.map +1 -0
  81. package/dist/db/repositories/multinoulli-snapshots.js +54 -0
  82. package/dist/db/repositories/multinoulli-snapshots.js.map +1 -0
  83. package/dist/db/repositories/position.d.ts +2 -1
  84. package/dist/db/repositories/position.d.ts.map +1 -1
  85. package/dist/db/repositories/position.js +6 -0
  86. package/dist/db/repositories/position.js.map +1 -1
  87. package/dist/db/schema.d.ts.map +1 -1
  88. package/dist/db/schema.js +127 -1
  89. package/dist/db/schema.js.map +1 -1
  90. package/dist/etl/decoder.d.ts +1 -1
  91. package/dist/etl/decoder.d.ts.map +1 -1
  92. package/dist/etl/decoder.js +233 -63
  93. package/dist/etl/decoder.js.map +1 -1
  94. package/dist/etl/event-indexer.d.ts +1 -1
  95. package/dist/etl/event-indexer.d.ts.map +1 -1
  96. package/dist/etl/event-indexer.js +36 -11
  97. package/dist/etl/event-indexer.js.map +1 -1
  98. package/dist/etl/position-refresher.d.ts +2 -2
  99. package/dist/etl/position-refresher.d.ts.map +1 -1
  100. package/dist/etl/position-refresher.js +15 -8
  101. package/dist/etl/position-refresher.js.map +1 -1
  102. package/dist/etl/scheduler.d.ts +2 -2
  103. package/dist/etl/scheduler.d.ts.map +1 -1
  104. package/dist/etl/scheduler.js +19 -23
  105. package/dist/etl/scheduler.js.map +1 -1
  106. package/dist/etl/state-refresher.d.ts +2 -2
  107. package/dist/etl/state-refresher.d.ts.map +1 -1
  108. package/dist/etl/state-refresher.js +17 -5
  109. package/dist/etl/state-refresher.js.map +1 -1
  110. package/dist/index.d.ts +3 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +15 -189
  113. package/dist/index.js.map +1 -1
  114. package/dist/layers/ChainReaderLive.d.ts +2 -0
  115. package/dist/layers/ChainReaderLive.d.ts.map +1 -1
  116. package/dist/layers/ChainReaderLive.js +222 -65
  117. package/dist/layers/ChainReaderLive.js.map +1 -1
  118. package/dist/layers/DatabaseLive.d.ts +1 -1
  119. package/dist/layers/DatabaseLive.d.ts.map +1 -1
  120. package/dist/layers/DatabaseLive.js +3 -1
  121. package/dist/layers/DatabaseLive.js.map +1 -1
  122. package/dist/layers/EventBusLive.d.ts.map +1 -1
  123. package/dist/layers/EventBusLive.js +2 -2
  124. package/dist/layers/EventBusLive.js.map +1 -1
  125. package/dist/layers/VoyagerClientLive.d.ts.map +1 -1
  126. package/dist/layers/VoyagerClientLive.js +10 -6
  127. package/dist/layers/VoyagerClientLive.js.map +1 -1
  128. package/dist/layers/index.d.ts +2 -2
  129. package/dist/layers/index.d.ts.map +1 -1
  130. package/dist/layers/index.js +2 -2
  131. package/dist/layers/index.js.map +1 -1
  132. package/dist/services/ChainReader.d.ts +3 -3
  133. package/dist/services/ChainReader.d.ts.map +1 -1
  134. package/dist/services/ChainReader.js.map +1 -1
  135. package/dist/services/Database.d.ts +4 -2
  136. package/dist/services/Database.d.ts.map +1 -1
  137. package/dist/services/Database.js.map +1 -1
  138. package/dist/services/EventBus.d.ts.map +1 -1
  139. package/dist/services/EventBus.js.map +1 -1
  140. package/dist/services/VoyagerRateLimit.d.ts.map +1 -1
  141. package/dist/services/VoyagerRateLimit.js +5 -6
  142. package/dist/services/VoyagerRateLimit.js.map +1 -1
  143. package/dist/services/index.d.ts +4 -4
  144. package/dist/services/index.d.ts.map +1 -1
  145. package/dist/services/index.js +2 -2
  146. package/dist/services/index.js.map +1 -1
  147. package/dist/types/api.d.ts +11 -0
  148. package/dist/types/api.d.ts.map +1 -1
  149. package/dist/types/event.d.ts +16 -1
  150. package/dist/types/event.d.ts.map +1 -1
  151. package/dist/types/index.d.ts +4 -4
  152. package/dist/types/index.d.ts.map +1 -1
  153. package/dist/types/market.d.ts +1 -1
  154. package/dist/types/market.d.ts.map +1 -1
  155. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multinoulli-snapshots.js","sourceRoot":"","sources":["../../../src/api/routes/multinoulli-snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAGnC,MAAM,UAAU,yBAAyB,CAAC,EAAmB;IAC3D,OAAO,IAAI,MAAM,EAAE;SAChB,GAAG,CACF,6CAA6C,EAC7C,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,SAAS,GAAG,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9E,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAa;gBAC3C,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,UAAU,EAAE,CAAC,CAAC,WAAW;gBACzB,UAAU,EAAE,CAAC,CAAC,WAAW;aAC1B,CAAC,CAAC;YACH,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;SAC7D,CAAC;IACJ,CAAC,EACD;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,CAAC;KACH,CACF,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../../src/api/routes/rankings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,aAAa,GAAI,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7C,CAAC"}
1
+ {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../../src/api/routes/rankings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,aAAa,GAAI,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK7C,CAAC"}
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { Elysia } from 'elysia';
5
5
  export const rankingRoutes = (db) => new Elysia().get('/api/rankings', ({ query }) => {
6
- const limit = Math.min(Math.max(1, parseInt(query['limit'] ?? '50', 10) || 50), 200);
6
+ const typedQuery = query;
7
+ const limit = Math.min(Math.max(1, parseInt(typedQuery.limit ?? '50', 10) || 50), 200);
7
8
  return db.rankings.getLeaderboard(limit);
8
9
  });
9
10
  //# sourceMappingURL=rankings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../../src/api/routes/rankings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAmB,EAAE,EAAE,CACnD,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAE,KAAK,CAAC,OAAO,CAAY,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EACnE,GAAG,CACJ,CAAC;IACF,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../../src/api/routes/rankings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAmB,EAAE,EAAE,CACnD,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9C,MAAM,UAAU,GAAG,KAAoC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACvF,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Elysia } from 'elysia';
5
5
  import type { DatabaseService } from '../../services/Database';
6
- import type { TraderEventResponse, PaginatedResponse } from '../../types';
6
+ import type { PaginatedResponse, TraderEventResponse } from '../../types';
7
7
  export declare const traderEventsRoutes: (db: DatabaseService) => Elysia<"", {
8
8
  decorator: {};
9
9
  store: {};
@@ -1 +1 @@
1
- {"version":3,"file":"trader-events.d.ts","sourceRoot":"","sources":["../../../src/api/routes/trader-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAyB1E,eAAO,MAAM,kBAAkB,GAAI,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnD,CAAC"}
1
+ {"version":3,"file":"trader-events.d.ts","sourceRoot":"","sources":["../../../src/api/routes/trader-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAkB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAwB1F,eAAO,MAAM,kBAAkB,GAAI,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqClD,CAAC"}
@@ -22,16 +22,19 @@ function toTraderEventResponse(row) {
22
22
  };
23
23
  }
24
24
  export const traderEventsRoutes = (db) => new Elysia().get('/api/positions/:trader/events', ({ params, query }) => {
25
- const page = Math.max(1, parseInt(query['page'] ?? '1', 10) || 1);
26
- const pageSize = Math.min(Math.max(1, parseInt(query['pageSize'] ?? '100', 10) || 100), 500);
25
+ const typedQuery = query;
26
+ const page = Math.max(1, parseInt(typedQuery.page ?? '1', 10) || 1);
27
+ const pageSize = Math.min(Math.max(1, parseInt(typedQuery.pageSize ?? '100', 10) || 100), 500);
27
28
  const offset = (page - 1) * pageSize;
28
29
  const opts = { limit: pageSize, offset };
29
- const from = parseInt(query['from'], 10);
30
- const to = parseInt(query['to'], 10);
31
- if (Number.isFinite(from))
30
+ const from = parseInt(typedQuery.from ?? '', 10);
31
+ const to = parseInt(typedQuery.to ?? '', 10);
32
+ if (Number.isFinite(from)) {
32
33
  opts.fromTimestamp = from;
33
- if (Number.isFinite(to))
34
+ }
35
+ if (Number.isFinite(to)) {
34
36
  opts.toTimestamp = to;
37
+ }
35
38
  const rows = db.events.findByTrader(params.trader, opts);
36
39
  const total = db.events.countByTrader(params.trader);
37
40
  const response = {
@@ -1 +1 @@
1
- {"version":3,"file":"trader-events.js","sourceRoot":"","sources":["../../../src/api/routes/trader-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,SAAS,qBAAqB,CAC5B,GAA8C;IAE9C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,SAAS,EAAE,GAAG,CAAC,WAAW;QAC1B,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAmB,EAAE,EAAE,CACxD,IAAI,MAAM,EAAE,CAAC,GAAG,CACd,+BAA+B,EAC/B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAE,KAAK,CAAC,MAAM,CAAY,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAE,KAAK,CAAC,UAAU,CAAY,IAAI,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EACxE,GAAG,CACJ,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IAErC,MAAM,IAAI,GAKN,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAW,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAE/C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,QAAQ,GAA2C;QACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACrC,KAAK;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"trader-events.js","sourceRoot":"","sources":["../../../src/api/routes/trader-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,SAAS,qBAAqB,CAC5B,GAA8C;IAE9C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,SAAS,EAAE,GAAG,CAAC,WAAW;QAC1B,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAmB,EAAE,EAAE,CACxD,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,KAKlB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IAErC,MAAM,IAAI,GAKN,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,QAAQ,GAA2C;QACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACrC,KAAK;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/api/routes/ws.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,yBAAyB,CAAC;AAEzE,eAAO,MAAM,QAAQ,GAAI,UAAU,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9C,CAAC"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/api/routes/ws.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEzE,eAAO,MAAM,QAAQ,GAAI,UAAU,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB9C,CAAC"}
@@ -13,15 +13,16 @@ export const wsRoutes = (eventBus) => new Elysia().ws('/ws', {
13
13
  }
14
14
  });
15
15
  // Store unsubscribe on the ws context for cleanup
16
- ws.data['_unsubscribe'] = unsubscribe;
16
+ ws.data._unsubscribe = unsubscribe;
17
17
  },
18
18
  message(_ws, _message) {
19
19
  // We don't expect messages from clients; could add filtering later
20
20
  },
21
21
  close(ws) {
22
- const unsub = ws.data['_unsubscribe'];
23
- if (unsub)
22
+ const unsub = ws.data._unsubscribe;
23
+ if (unsub) {
24
24
  unsub();
25
+ }
25
26
  },
26
27
  });
27
28
  //# sourceMappingURL=ws.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/api/routes/ws.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAyB,EAAE,EAAE,CACpD,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE;IACrB,IAAI,CAAC,EAAE;QACL,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAe,EAAE,EAAE;YACzD,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kDAAkD;QACjD,EAAE,CAAC,IAAgC,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ;QACnB,mEAAmE;IACrE,CAAC;IACD,KAAK,CAAC,EAAE;QACN,MAAM,KAAK,GAAI,EAAE,CAAC,IAAgC,CAAC,cAAc,CAEpD,CAAC;QACd,IAAI,KAAK;YAAE,KAAK,EAAE,CAAC;IACrB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/api/routes/ws.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAyB,EAAE,EAAE,CACpD,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE;IACrB,IAAI,CAAC,EAAE;QAEL,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAe,EAAE,EAAE;YACzD,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kDAAkD;QACjD,EAAE,CAAC,IAAe,CAAC,YAAY,GAAG,WAAW,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ;QACnB,mEAAmE;IACrE,CAAC;IACD,KAAK,CAAC,EAAE;QAEN,MAAM,KAAK,GAAI,EAAE,CAAC,IAAe,CAAC,YAAY,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * IndexerClient — Effect Context.Tag service definition for the indexer REST API.
3
3
  */
4
4
  import { Context, type Effect } from 'effect';
5
- import type { HealthResponse, MarketResponse, EventResponse, TraderPositionResponse, TraderEventResponse, TraderStatsResponse, RankingEntry, PaginatedResponse, AdminCreateMarketBody, AdminUpdateMarketBody } from '../types/api';
5
+ import type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, HealthResponse, MarketResponse, MultinoulliSnapshotsResponse, PaginatedResponse, RankingEntry, TraderEventResponse, TraderPositionResponse, TraderStatsResponse } from '../types/api';
6
6
  declare const IndexerApiError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
7
7
  readonly _tag: "IndexerApiError";
8
8
  } & Readonly<A>;
@@ -31,6 +31,7 @@ export interface IndexerClientService {
31
31
  readonly getTraderEvents: (trader: string, params?: EventQueryParams) => Effect.Effect<PaginatedResponse<TraderEventResponse>, IndexerApiError>;
32
32
  readonly getTraderStats: (trader: string) => Effect.Effect<TraderStatsResponse, IndexerApiError>;
33
33
  readonly getRankings: (params?: RankingQueryParams) => Effect.Effect<readonly RankingEntry[], IndexerApiError>;
34
+ readonly getMultinoulliSnapshots: (address: string, limit?: number) => Effect.Effect<MultinoulliSnapshotsResponse, IndexerApiError>;
34
35
  readonly createMarket: (body: AdminCreateMarketBody) => Effect.Effect<{
35
36
  success: true;
36
37
  }, IndexerApiError>;
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerClient.d.ts","sourceRoot":"","sources":["../../src/client/IndexerClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,cAAc,CAAC;;;;AAItB,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;CAAG;AAIL,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAEtE,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,CACtC,SAAS,cAAc,EAAE,EACzB,eAAe,CAChB,CAAC;IAEF,QAAQ,CAAC,SAAS,EAAE,CAClB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAEpD,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;IAEtE,QAAQ,CAAC,gBAAgB,EAAE,CACzB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,SAAS,sBAAsB,EAAE,EAAE,eAAe,CAAC,CAAC;IAEvE,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,SAAS,sBAAsB,EAAE,EAAE,eAAe,CAAC,CAAC;IAEvE,QAAQ,CAAC,eAAe,EAAE,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,eAAe,CAAC,CAAC;IAE5E,QAAQ,CAAC,cAAc,EAAE,CACvB,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAEzD,QAAQ,CAAC,WAAW,EAAE,CACpB,MAAM,CAAC,EAAE,kBAAkB,KACxB,MAAM,CAAC,MAAM,CAAC,SAAS,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;IAI7D,QAAQ,CAAC,YAAY,EAAE,CACrB,IAAI,EAAE,qBAAqB,KACxB,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,EAAE,eAAe,CAAC,CAAC;IAEvD,QAAQ,CAAC,YAAY,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,qBAAqB,KACxB,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,EAAE,eAAe,CAAC,CAAC;IAEvD,QAAQ,CAAC,YAAY,EAAE,CACrB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,EAAE,eAAe,CAAC,CAAC;CACxD;;AAID,qBAAa,aAAc,SAAQ,kBAGhC;CAAG"}
1
+ {"version":3,"file":"IndexerClient.d.ts","sourceRoot":"","sources":["../../src/client/IndexerClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerClient.js","sourceRoot":"","sources":["../../src/client/IndexerClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAe,MAAM,QAAQ,CAAC;AAcpD,wEAAwE;AAExE,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAIrE;CAAG;AAuEL,wEAAwE;AAExE,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAG5D;CAAG"}
1
+ {"version":3,"file":"IndexerClient.js","sourceRoot":"","sources":["../../src/client/IndexerClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAe,MAAM,QAAQ,CAAC;AAepD,wEAAwE;AAExE,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAIrE;CAAG;AAmEL,wEAAwE;AAExE,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAG5D;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerClientLive.d.ts","sourceRoot":"","sources":["../../src/client/IndexerClientLive.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAKjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAsFD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,mBAAmB,KAC1B,KAAK,CAAC,KAAK,CAAC,aAAa,CAoD3B,CAAC"}
1
+ {"version":3,"file":"IndexerClientLive.d.ts","sourceRoot":"","sources":["../../src/client/IndexerClientLive.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAmB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA8FD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,mBAAmB,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CA0DxF,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * IndexerClientLive — fetch-based Layer implementation.
3
3
  */
4
4
  import { Effect, Layer } from 'effect';
5
- import { IndexerClient, IndexerApiError } from './IndexerClient';
5
+ import { IndexerApiError, IndexerClient } from './IndexerClient';
6
6
  // ── Helpers ──────────────────────────────────────────────────────────
7
7
  function fetchJson(url) {
8
8
  return Effect.tryPromise({
@@ -18,8 +18,9 @@ function fetchJson(url) {
18
18
  return (await response.json());
19
19
  },
20
20
  catch: (e) => {
21
- if (e instanceof IndexerApiError)
21
+ if (e instanceof IndexerApiError) {
22
22
  return e;
23
+ }
23
24
  return new IndexerApiError({
24
25
  message: e instanceof Error ? e.message : 'Unknown indexer API error',
25
26
  url,
@@ -28,16 +29,21 @@ function fetchJson(url) {
28
29
  });
29
30
  }
30
31
  function appendEventParams(url, params) {
31
- if (!params)
32
+ if (!params) {
32
33
  return;
33
- if (params.page !== undefined)
34
+ }
35
+ if (params.page !== undefined) {
34
36
  url.searchParams.set('page', params.page.toString());
35
- if (params.pageSize !== undefined)
37
+ }
38
+ if (params.pageSize !== undefined) {
36
39
  url.searchParams.set('pageSize', params.pageSize.toString());
37
- if (params.from !== undefined)
40
+ }
41
+ if (params.from !== undefined) {
38
42
  url.searchParams.set('from', params.from.toString());
39
- if (params.to !== undefined)
43
+ }
44
+ if (params.to !== undefined) {
40
45
  url.searchParams.set('to', params.to.toString());
46
+ }
41
47
  }
42
48
  function fetchJsonWithAuth(method, url, apiKey, body) {
43
49
  if (!apiKey) {
@@ -64,8 +70,9 @@ function fetchJsonWithAuth(method, url, apiKey, body) {
64
70
  return (await response.json());
65
71
  },
66
72
  catch: (e) => {
67
- if (e instanceof IndexerApiError)
73
+ if (e instanceof IndexerApiError) {
68
74
  return e;
75
+ }
69
76
  return new IndexerApiError({
70
77
  message: e instanceof Error ? e.message : 'Unknown indexer API error',
71
78
  url,
@@ -95,8 +102,16 @@ export const IndexerClientLive = (config) => {
95
102
  getTraderStats: (trader) => fetchJson(`${base}/api/positions/${trader}/stats`),
96
103
  getRankings: (params) => {
97
104
  const url = new URL(`${base}/api/rankings`);
98
- if (params?.limit !== undefined)
105
+ if (params?.limit !== undefined) {
99
106
  url.searchParams.set('limit', params.limit.toString());
107
+ }
108
+ return fetchJson(url.toString());
109
+ },
110
+ getMultinoulliSnapshots: (address, limit) => {
111
+ const url = new URL(`${base}/api/markets/${address}/multinoulli-snapshots`);
112
+ if (limit !== undefined) {
113
+ url.searchParams.set('limit', limit.toString());
114
+ }
100
115
  return fetchJson(url.toString());
101
116
  },
102
117
  // ── Admin operations ──────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerClientLive.js","sourceRoot":"","sources":["../../src/client/IndexerClientLive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexerClientLive.js","sourceRoot":"","sources":["../../src/client/IndexerClientLive.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * Standalone Effect convenience functions — each requires IndexerClient in R.
3
3
  */
4
4
  import { Effect } from 'effect';
5
- import { IndexerClient, IndexerApiError } from './IndexerClient';
5
+ import type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, PaginatedResponse, RankingEntry } from '../types/api';
6
6
  import type { EventQueryParams, RankingQueryParams } from './IndexerClient';
7
- import type { EventResponse, RankingEntry, PaginatedResponse, AdminCreateMarketBody, AdminUpdateMarketBody } from '../types/api';
7
+ import { type IndexerApiError, IndexerClient } from './IndexerClient';
8
8
  export declare const checkHealth: Effect.Effect<import(".").HealthResponse, IndexerApiError, IndexerClient>;
9
9
  export declare const getMarkets: Effect.Effect<readonly import(".").MarketResponse[], IndexerApiError, IndexerClient>;
10
10
  export declare const getMarket: (address: string) => Effect.Effect<import(".").MarketResponse, IndexerApiError, IndexerClient>;
@@ -36,6 +36,7 @@ export declare const updateMarket: (address: string, body: AdminUpdateMarketBody
36
36
  export declare const deleteMarket: (address: string) => Effect.Effect<{
37
37
  success: true;
38
38
  }, IndexerApiError, IndexerClient>;
39
+ export declare const getMultinoulliSnapshots: (address: string, limit?: number) => Effect.Effect<import(".").MultinoulliSnapshotsResponse, IndexerApiError, IndexerClient>;
39
40
  /**
40
41
  * Parallel fetch of trader positions + ranking + stats + recent events.
41
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"convenience.d.ts","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,WAAW,2EAEvB,CAAC;AAEF,eAAO,MAAM,UAAU,sFAEtB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,8EAC6B,CAAC;AAEvE,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,SAAS,gBAAgB,oFAIxB,CAAC;AAEJ,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,iGAG7C,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,iGAG9C,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,SAAS,gBAAgB,sGAIxB,CAAC;AAEJ,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,mFAG1C,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,SAAS,kBAAkB,2EAGpD,CAAC;AAIJ;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,OAAO;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,4EAqB1B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,gBAAgB;;;kCAUxB,CAAC;AAIJ,eAAO,MAAM,YAAY,GAAI,MAAM,qBAAqB;;kCACc,CAAC;AAEvE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,MAAM,qBAAqB;;kCACM,CAAC;AAEhF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM;;kCAC6B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM;;;;;;kCAsB5C,CAAC"}
1
+ {"version":3,"file":"convenience.d.ts","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAItE,eAAO,MAAM,WAAW,2EAA6D,CAAC;AAEtF,eAAO,MAAM,UAAU,sFAAiE,CAAC;AAEzF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,8EAC6B,CAAC;AAEvE,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,SAAS,gBAAgB,oFACU,CAAC;AAErF,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,iGAC6B,CAAC;AAE9E,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,iGAC6B,CAAC;AAE/E,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,SAAS,gBAAgB,sGACU,CAAC;AAEpF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,mFAC6B,CAAC;AAE3E,eAAO,MAAM,WAAW,GAAI,SAAS,kBAAkB,2EACgB,CAAC;AAIxE;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,OAAO;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,4EAoB5E,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,SAAS,gBAAgB;;;kCAS3E,CAAC;AAIJ,eAAO,MAAM,YAAY,GAAI,MAAM,qBAAqB;;kCACc,CAAC;AAEvE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,MAAM,qBAAqB;;kCACM,CAAC;AAEhF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM;;kCAC6B,CAAC;AAE1E,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,4FACoB,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM;;;;;;kCAsB5C,CAAC"}
@@ -39,6 +39,7 @@ export const getMarketWithEvents = (address, params) => Effect.flatMap(IndexerCl
39
39
  export const createMarket = (body) => Effect.flatMap(IndexerClient, (client) => client.createMarket(body));
40
40
  export const updateMarket = (address, body) => Effect.flatMap(IndexerClient, (client) => client.updateMarket(address, body));
41
41
  export const deleteMarket = (address) => Effect.flatMap(IndexerClient, (client) => client.deleteMarket(address));
42
+ export const getMultinoulliSnapshots = (address, limit) => Effect.flatMap(IndexerClient, (client) => client.getMultinoulliSnapshots(address, limit));
42
43
  /**
43
44
  * Parallel fetch of trader positions + ranking + stats + recent events.
44
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"convenience.js","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convenience.js","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * This module is completely isolated from server-side code (no bun:sqlite, no elysia).
5
5
  */
6
- export { IndexerClient, IndexerApiError, type IndexerClientService, type EventQueryParams, type RankingQueryParams, } from './IndexerClient';
7
- export { IndexerClientLive, type IndexerClientConfig, } from './IndexerClientLive';
8
- export { checkHealth, getMarkets, getMarket, getMarketEvents, getMarketTraders, getTraderPositions, getTraderEvents, getTraderStats, getRankings, getAllMarketEvents, getMarketWithEvents, getTraderProfile, createMarket, updateMarket, deleteMarket, } from './convenience';
9
- export { type TraderActivityEntry, type PnlDataPoint, type TraderProfile, computePnlHistory, getTraderActivity, getFullTraderProfile, } from './trader-stats';
10
- export type { HealthResponse, MarketResponse, MarketStateResponse, MultinoulliMarketStateResponse, EventResponse, TraderPositionResponse, TraderEventResponse, TraderStatsResponse, RankingEntry, PaginatedResponse, AdminCreateMarketBody, AdminUpdateMarketBody, } from '../types/api';
6
+ export type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, HealthResponse, MarketResponse, MarketStateResponse, MultinoulliMarketStateResponse, MultinoulliSnapshotResponse, MultinoulliSnapshotsResponse, PaginatedResponse, RankingEntry, TraderEventResponse, TraderPositionResponse, TraderStatsResponse, } from '../types/api';
11
7
  export type { MarketType } from '../types/market';
8
+ export { checkHealth, createMarket, deleteMarket, getAllMarketEvents, getMarket, getMarketEvents, getMarkets, getMarketTraders, getMarketWithEvents, getMultinoulliSnapshots, getRankings, getTraderEvents, getTraderPositions, getTraderProfile, getTraderStats, updateMarket, } from './convenience';
9
+ export { type EventQueryParams, IndexerApiError, IndexerClient, type IndexerClientService, type RankingQueryParams, } from './IndexerClient';
10
+ export { type IndexerClientConfig, IndexerClientLive, } from './IndexerClientLive';
11
+ export { computePnlHistory, getFullTraderProfile, getTraderActivity, type PnlDataPoint, type TraderActivityEntry, type TraderProfile, } from './trader-stats';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,gBAAgB,EACrB,eAAe,EACf,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC"}
@@ -3,12 +3,12 @@
3
3
  *
4
4
  * This module is completely isolated from server-side code (no bun:sqlite, no elysia).
5
5
  */
6
+ // ── Convenience functions ────────────────────────────────────────────
7
+ export { checkHealth, createMarket, deleteMarket, getAllMarketEvents, getMarket, getMarketEvents, getMarkets, getMarketTraders, getMarketWithEvents, getMultinoulliSnapshots, getRankings, getTraderEvents, getTraderPositions, getTraderProfile, getTraderStats, updateMarket, } from './convenience';
6
8
  // ── Service & error ──────────────────────────────────────────────────
7
- export { IndexerClient, IndexerApiError, } from './IndexerClient';
9
+ export { IndexerApiError, IndexerClient, } from './IndexerClient';
8
10
  // ── Layer ────────────────────────────────────────────────────────────
9
11
  export { IndexerClientLive, } from './IndexerClientLive';
10
- // ── Convenience functions ────────────────────────────────────────────
11
- export { checkHealth, getMarkets, getMarket, getMarketEvents, getMarketTraders, getTraderPositions, getTraderEvents, getTraderStats, getRankings, getAllMarketEvents, getMarketWithEvents, getTraderProfile, createMarket, updateMarket, deleteMarket, } from './convenience';
12
12
  // ── Trader stats ─────────────────────────────────────────────────────
13
- export { computePnlHistory, getTraderActivity, getFullTraderProfile, } from './trader-stats';
13
+ export { computePnlHistory, getFullTraderProfile, getTraderActivity, } from './trader-stats';
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wEAAwE;AACxE,OAAO,EACL,aAAa,EACb,eAAe,GAIhB,MAAM,iBAAiB,CAAC;AAEzB,wEAAwE;AACxE,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,wEAAwE;AACxE,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,wEAAwE;AACxE,OAAO,EAIL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,wEAAwE;AACxE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,wEAAwE;AACxE,OAAO,EAEL,eAAe,EACf,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,wEAAwE;AACxE,OAAO,EAEL,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,wEAAwE;AACxE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAIlB,MAAM,gBAAgB,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Trader stats module — composed types and functions the webapp profile needs.
3
3
  */
4
4
  import { Effect } from 'effect';
5
- import { IndexerClient, IndexerApiError } from './IndexerClient';
6
- import type { TraderStatsResponse, TraderPositionResponse, RankingEntry } from '../types/api';
5
+ import type { RankingEntry, TraderPositionResponse, TraderStatsResponse } from '../types/api';
6
+ import { type IndexerApiError, IndexerClient } from './IndexerClient';
7
7
  export interface TraderActivityEntry {
8
8
  readonly timestamp: number;
9
9
  readonly marketAddress: string;
@@ -1 +1 @@
1
- {"version":3,"file":"trader-stats.d.ts","sourceRoot":"","sources":["../../src/client/trader-stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAEV,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACb,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;CAC9C;AAuBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,SAAS,YAAY,EAAE,CAmBzB;AAID;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,yEAsB5C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM;;;;;;;kCA+BhD,CAAC"}
1
+ {"version":3,"file":"trader-stats.d.ts","sourceRoot":"","sources":["../../src/client/trader-stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EACV,YAAY,EAEZ,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAItE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;CAC9C;AAsBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,SAAS,YAAY,EAAE,CAmBzB;AAID;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,yEAiB5C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM;;;;;;;kCA6BhD,CAAC"}
@@ -31,7 +31,7 @@ export function computePnlHistory(activity) {
31
31
  const collateral = entry.collateralPosted;
32
32
  if (collateral !== null) {
33
33
  const val = parseFloat(collateral);
34
- if (!isNaN(val)) {
34
+ if (!Number.isNaN(val)) {
35
35
  cumulative += val;
36
36
  }
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"trader-stats.js","sourceRoot":"","sources":["../../src/client/trader-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trader-stats.js","sourceRoot":"","sources":["../../src/client/trader-stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;CAC9C;AAED,wBAAgB,UAAU,IAAI,aAAa,CAmB1C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;CAC9C;AAED,wBAAgB,UAAU,IAAI,aAAa,CAqB1C"}
package/dist/config.js CHANGED
@@ -4,13 +4,13 @@
4
4
  export function loadConfig() {
5
5
  const voyagerApiKey = requireEnv('VOYAGER_API_KEY');
6
6
  const adminApiKey = requireEnv('ADMIN_API_KEY');
7
+ const env = process.env;
7
8
  return {
8
9
  voyagerApiKey,
9
10
  adminApiKey,
10
- dbPath: process.env['DB_PATH'] ?? './data/indexer.db',
11
+ dbPath: env.DB_PATH ?? './data/indexer.db',
11
12
  port: envInt('PORT', 3000),
12
- starknetRpcUrl: process.env['STARKNET_RPC_URL'] ??
13
- 'https://api.cartridge.gg/x/starknet/sepolia',
13
+ starknetRpcUrl: env.STARKNET_RPC_URL ?? 'https://api.cartridge.gg/x/starknet/sepolia',
14
14
  eventPollIntervalMs: envInt('EVENT_POLL_INTERVAL_MS', 15000),
15
15
  statePollIntervalMs: envInt('STATE_POLL_INTERVAL_MS', 30000),
16
16
  positionPollIntervalMs: envInt('POSITION_POLL_INTERVAL_MS', 60000),
@@ -28,8 +28,9 @@ function requireEnv(name) {
28
28
  }
29
29
  function envInt(name, fallback) {
30
30
  const raw = process.env[name];
31
- if (!raw)
31
+ if (!raw) {
32
32
  return fallback;
33
+ }
33
34
  const parsed = parseInt(raw, 10);
34
35
  if (!Number.isFinite(parsed) || parsed < 0) {
35
36
  throw new Error(`Invalid integer for ${name}: "${raw}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,UAAU,UAAU;IACxB,MAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEhD,OAAO;QACL,aAAa;QACb,WAAW;QACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,mBAAmB;QACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAC1B,cAAc,EACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC/B,6CAA6C;QAC/C,mBAAmB,EAAE,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC;QAC5D,mBAAmB,EAAE,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC;QAC5D,sBAAsB,EAAE,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC;QAClE,iBAAiB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnD,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC;QACzD,2BAA2B,EAAE,MAAM,CAAC,iCAAiC,EAAE,GAAG,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,UAAU,UAAU;IACxB,MAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAGnB,CAAC;IAEF,OAAO;QACL,aAAa;QACb,WAAW;QACX,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,mBAAmB;QAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAC1B,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,6CAA6C;QACrF,mBAAmB,EAAE,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC;QAC5D,mBAAmB,EAAE,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC;QAC5D,sBAAsB,EAAE,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC;QAClE,iBAAiB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnD,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC;QACzD,2BAA2B,EAAE,MAAM,CAAC,iCAAiC,EAAE,GAAG,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  /**
2
- * Event insert (dedup by tx_hash UNIQUE) + queries.
2
+ * Event insert (dedup by event_uid UNIQUE) + queries.
3
3
  */
4
4
  import type { Database } from 'bun:sqlite';
5
- import type { MarketEventRow, InsertEventInput } from '../../types';
5
+ import type { InsertEventInput, MarketEventRow } from '../../types';
6
6
  export declare class EventRepository {
7
7
  private readonly db;
8
8
  constructor(db: Database);
9
+ private runInsert;
9
10
  insert(input: InsertEventInput): boolean;
10
11
  insertBatch(inputs: readonly InsertEventInput[]): number;
11
12
  findByMarket(marketAddress: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/event.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAuCxC,WAAW,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM;IA2CxD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACL,cAAc,EAAE;IA0BnB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAS5C,UAAU,IAAI,MAAM;IAOpB,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACL,CAAC,cAAc,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;IA4BhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASrC,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE;CAUrD"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/event.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,OAAO,CAAC,SAAS;IA6BjB,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAmBxC,WAAW,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM;IAuBxD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACL,cAAc,EAAE;IA0BnB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAO5C,UAAU,IAAI,MAAM;IAKpB,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACL,CAAC,cAAc,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;IA4BhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOrC,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE;CAUrD"}
@@ -3,17 +3,21 @@ export class EventRepository {
3
3
  constructor(db) {
4
4
  this.db = db;
5
5
  }
6
+ runInsert(stmt, input) {
7
+ const result = stmt.run(input.market_address, input.event_uid, input.tx_hash, input.block_number, input.timestamp, input.event_type, input.trader, input.mean, input.std_dev, input.lower_bound, input.upper_bound, input.old_mean, input.old_std_dev, input.collateral_posted, input.raw_data, input.outcome_count ?? null, input.min_outcome_index ?? null, input.is_position_sell != null ? (input.is_position_sell ? 1 : 0) : null, input.settlement_outcome_index ?? null, input.settlement_outcomes_json ?? null, input.settlement_value ?? null, input.settlement_x1 ?? null, input.settlement_x2 ?? null);
8
+ return result.changes;
9
+ }
6
10
  insert(input) {
7
11
  try {
8
- this.db
9
- .query(`INSERT OR IGNORE INTO market_events
10
- (market_address, tx_hash, block_number, timestamp, event_type,
12
+ const stmt = this.db.query(`INSERT OR IGNORE INTO market_events
13
+ (market_address, event_uid, tx_hash, block_number, timestamp, event_type,
11
14
  trader, mean, std_dev, lower_bound, upper_bound,
12
15
  old_mean, old_std_dev, collateral_posted, raw_data,
13
16
  outcome_count, min_outcome_index, is_position_sell,
14
- settlement_outcome_index, settlement_outcomes_json)
15
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
16
- .run(input.market_address, input.tx_hash, input.block_number, input.timestamp, input.event_type, input.trader, input.mean, input.std_dev, input.lower_bound, input.upper_bound, input.old_mean, input.old_std_dev, input.collateral_posted, input.raw_data, input.outcome_count ?? null, input.min_outcome_index ?? null, input.is_position_sell != null ? (input.is_position_sell ? 1 : 0) : null, input.settlement_outcome_index ?? null, input.settlement_outcomes_json ?? null);
17
+ settlement_outcome_index, settlement_outcomes_json,
18
+ settlement_value, settlement_x1, settlement_x2)
19
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
20
+ this.runInsert(stmt, input);
17
21
  return true;
18
22
  }
19
23
  catch {
@@ -23,16 +27,16 @@ export class EventRepository {
23
27
  insertBatch(inputs) {
24
28
  let inserted = 0;
25
29
  const stmt = this.db.query(`INSERT OR IGNORE INTO market_events
26
- (market_address, tx_hash, block_number, timestamp, event_type,
30
+ (market_address, event_uid, tx_hash, block_number, timestamp, event_type,
27
31
  trader, mean, std_dev, lower_bound, upper_bound,
28
32
  old_mean, old_std_dev, collateral_posted, raw_data,
29
33
  outcome_count, min_outcome_index, is_position_sell,
30
- settlement_outcome_index, settlement_outcomes_json)
31
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
34
+ settlement_outcome_index, settlement_outcomes_json,
35
+ settlement_value, settlement_x1, settlement_x2)
36
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
32
37
  const tx = this.db.transaction(() => {
33
38
  for (const input of inputs) {
34
- const result = stmt.run(input.market_address, input.tx_hash, input.block_number, input.timestamp, input.event_type, input.trader, input.mean, input.std_dev, input.lower_bound, input.upper_bound, input.old_mean, input.old_std_dev, input.collateral_posted, input.raw_data, input.outcome_count ?? null, input.min_outcome_index ?? null, input.is_position_sell != null ? (input.is_position_sell ? 1 : 0) : null, input.settlement_outcome_index ?? null, input.settlement_outcomes_json ?? null);
35
- inserted += result.changes;
39
+ inserted += this.runInsert(stmt, input);
36
40
  }
37
41
  });
38
42
  tx();
@@ -54,7 +58,7 @@ export class EventRepository {
54
58
  return this.db
55
59
  .query(`SELECT * FROM market_events
56
60
  WHERE ${conditions.join(' AND ')}
57
- ORDER BY block_number ASC, timestamp ASC
61
+ ORDER BY block_number ASC, timestamp ASC, id ASC
58
62
  LIMIT ? OFFSET ?`)
59
63
  .all(...params);
60
64
  }
@@ -65,9 +69,7 @@ export class EventRepository {
65
69
  return row.cnt;
66
70
  }
67
71
  totalCount() {
68
- const row = this.db
69
- .query('SELECT COUNT(*) as cnt FROM market_events')
70
- .get();
72
+ const row = this.db.query('SELECT COUNT(*) as cnt FROM market_events').get();
71
73
  return row.cnt;
72
74
  }
73
75
  findByTrader(trader, options = {}) {