@the-situation/indexer 0.8.0 → 0.9.3
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.
- package/dist/api/app.d.ts +2 -0
- package/dist/api/app.d.ts.map +1 -1
- package/dist/api/app.js +1 -1
- package/dist/api/app.js.map +1 -1
- package/dist/api/middleware/admin-auth.d.ts.map +1 -1
- package/dist/api/middleware/admin-auth.js +7 -1
- package/dist/api/middleware/admin-auth.js.map +1 -1
- package/dist/api/middleware/error-handler.d.ts.map +1 -1
- package/dist/api/middleware/error-handler.js +3 -2
- package/dist/api/middleware/error-handler.js.map +1 -1
- package/dist/api/routes/admin.d.ts.map +1 -1
- package/dist/api/routes/admin.js +19 -0
- package/dist/api/routes/admin.js.map +1 -1
- package/dist/api/routes/health.d.ts +3 -2
- package/dist/api/routes/health.d.ts.map +1 -1
- package/dist/api/routes/health.js +11 -4
- package/dist/api/routes/health.js.map +1 -1
- package/dist/api/routes/market-events.d.ts.map +1 -1
- package/dist/api/routes/market-events.js +8 -6
- package/dist/api/routes/market-events.js.map +1 -1
- package/dist/api/routes/markets.d.ts.map +1 -1
- package/dist/api/routes/markets.js +73 -4
- package/dist/api/routes/markets.js.map +1 -1
- package/dist/api/routes/rankings.js +1 -1
- package/dist/api/routes/rankings.js.map +1 -1
- package/dist/api/routes/trader-events.d.ts.map +1 -1
- package/dist/api/routes/trader-events.js +8 -6
- package/dist/api/routes/trader-events.js.map +1 -1
- package/dist/client/IndexerClient.d.ts +10 -1
- package/dist/client/IndexerClient.d.ts.map +1 -1
- package/dist/client/IndexerClient.js.map +1 -1
- package/dist/client/IndexerClientLive.d.ts +1 -0
- package/dist/client/IndexerClientLive.d.ts.map +1 -1
- package/dist/client/IndexerClientLive.js +38 -0
- package/dist/client/IndexerClientLive.js.map +1 -1
- package/dist/client/convenience.d.ts +10 -1
- package/dist/client/convenience.d.ts.map +1 -1
- package/dist/client/convenience.js +4 -0
- package/dist/client/convenience.js.map +1 -1
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -4
- package/dist/config.js.map +1 -1
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +4 -1
- package/dist/db/connection.js.map +1 -1
- package/dist/db/repositories/event.d.ts.map +1 -1
- package/dist/db/repositories/event.js +10 -6
- package/dist/db/repositories/event.js.map +1 -1
- package/dist/db/repositories/index.d.ts +1 -0
- package/dist/db/repositories/index.d.ts.map +1 -1
- package/dist/db/repositories/index.js +1 -0
- package/dist/db/repositories/index.js.map +1 -1
- package/dist/db/repositories/market-state.d.ts +1 -0
- package/dist/db/repositories/market-state.d.ts.map +1 -1
- package/dist/db/repositories/market-state.js +10 -0
- package/dist/db/repositories/market-state.js.map +1 -1
- package/dist/db/repositories/market.d.ts.map +1 -1
- package/dist/db/repositories/market.js +29 -5
- package/dist/db/repositories/market.js.map +1 -1
- package/dist/db/repositories/multinoulli-market-state.d.ts +30 -0
- package/dist/db/repositories/multinoulli-market-state.d.ts.map +1 -0
- package/dist/db/repositories/multinoulli-market-state.js +48 -0
- package/dist/db/repositories/multinoulli-market-state.js.map +1 -0
- package/dist/db/repositories/position.d.ts.map +1 -1
- package/dist/db/repositories/position.js +8 -3
- package/dist/db/repositories/position.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +68 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/etl/decoder.d.ts +4 -3
- package/dist/etl/decoder.d.ts.map +1 -1
- package/dist/etl/decoder.js +123 -9
- package/dist/etl/decoder.js.map +1 -1
- package/dist/etl/event-indexer.d.ts +2 -1
- package/dist/etl/event-indexer.d.ts.map +1 -1
- package/dist/etl/event-indexer.js +126 -32
- package/dist/etl/event-indexer.js.map +1 -1
- package/dist/etl/position-refresher.d.ts +2 -1
- package/dist/etl/position-refresher.d.ts.map +1 -1
- package/dist/etl/position-refresher.js +45 -6
- package/dist/etl/position-refresher.js.map +1 -1
- package/dist/etl/state-refresher.d.ts +2 -1
- package/dist/etl/state-refresher.d.ts.map +1 -1
- package/dist/etl/state-refresher.js +39 -7
- package/dist/etl/state-refresher.js.map +1 -1
- package/dist/index.js +116 -15
- package/dist/index.js.map +1 -1
- package/dist/layers/ChainReaderLive.d.ts.map +1 -1
- package/dist/layers/ChainReaderLive.js +89 -3
- package/dist/layers/ChainReaderLive.js.map +1 -1
- package/dist/layers/DatabaseLive.d.ts.map +1 -1
- package/dist/layers/DatabaseLive.js +2 -1
- package/dist/layers/DatabaseLive.js.map +1 -1
- package/dist/layers/VoyagerClientLive.d.ts +3 -2
- package/dist/layers/VoyagerClientLive.d.ts.map +1 -1
- package/dist/layers/VoyagerClientLive.js +20 -5
- package/dist/layers/VoyagerClientLive.js.map +1 -1
- package/dist/services/ChainReader.d.ts +3 -0
- package/dist/services/ChainReader.d.ts.map +1 -1
- package/dist/services/ChainReader.js.map +1 -1
- package/dist/services/Database.d.ts +2 -1
- package/dist/services/Database.d.ts.map +1 -1
- package/dist/services/Database.js.map +1 -1
- package/dist/services/VoyagerRateLimit.d.ts +40 -0
- package/dist/services/VoyagerRateLimit.d.ts.map +1 -0
- package/dist/services/VoyagerRateLimit.js +92 -0
- package/dist/services/VoyagerRateLimit.js.map +1 -0
- package/dist/types/api.d.ts +48 -1
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/event.d.ts +43 -2
- package/dist/types/event.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/market.d.ts +64 -0
- package/dist/types/market.d.ts.map +1 -1
- package/dist/types/position.d.ts +8 -0
- package/dist/types/position.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/db/schema.js
CHANGED
|
@@ -5,6 +5,13 @@ CREATE TABLE IF NOT EXISTS markets (
|
|
|
5
5
|
description TEXT NOT NULL DEFAULT '',
|
|
6
6
|
category TEXT NOT NULL DEFAULT '',
|
|
7
7
|
topics TEXT NOT NULL DEFAULT '[]',
|
|
8
|
+
market_type TEXT NOT NULL DEFAULT 'normal',
|
|
9
|
+
x_axis_label TEXT DEFAULT NULL,
|
|
10
|
+
x_axis_unit TEXT DEFAULT NULL,
|
|
11
|
+
outcome_labels TEXT DEFAULT NULL,
|
|
12
|
+
row_labels TEXT DEFAULT NULL,
|
|
13
|
+
col_labels TEXT DEFAULT NULL,
|
|
14
|
+
resolution_source TEXT DEFAULT NULL,
|
|
8
15
|
is_active INTEGER NOT NULL DEFAULT 1,
|
|
9
16
|
created_at INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
10
17
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
@@ -27,13 +34,32 @@ CREATE TABLE IF NOT EXISTS market_state (
|
|
|
27
34
|
fetched_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
28
35
|
);
|
|
29
36
|
|
|
37
|
+
CREATE TABLE IF NOT EXISTS multinoulli_market_state (
|
|
38
|
+
market_address TEXT PRIMARY KEY REFERENCES markets(address),
|
|
39
|
+
outcome_count INTEGER NOT NULL,
|
|
40
|
+
probs_json TEXT NOT NULL DEFAULT '[]',
|
|
41
|
+
k REAL,
|
|
42
|
+
effective_k REAL,
|
|
43
|
+
total_shares TEXT,
|
|
44
|
+
total_backing TEXT,
|
|
45
|
+
is_initialized INTEGER DEFAULT 0,
|
|
46
|
+
is_paused INTEGER DEFAULT 0,
|
|
47
|
+
is_settled INTEGER DEFAULT 0,
|
|
48
|
+
settlement_outcomes_json TEXT DEFAULT '[]',
|
|
49
|
+
matrix_enabled INTEGER DEFAULT 0,
|
|
50
|
+
matrix_rows INTEGER DEFAULT 0,
|
|
51
|
+
matrix_cols INTEGER DEFAULT 0,
|
|
52
|
+
matrix_enforce_full_row INTEGER DEFAULT 0,
|
|
53
|
+
fetched_at INTEGER DEFAULT (unixepoch())
|
|
54
|
+
);
|
|
55
|
+
|
|
30
56
|
CREATE TABLE IF NOT EXISTS market_events (
|
|
31
57
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
32
58
|
market_address TEXT NOT NULL REFERENCES markets(address),
|
|
33
59
|
tx_hash TEXT NOT NULL UNIQUE,
|
|
34
60
|
block_number INTEGER NOT NULL,
|
|
35
61
|
timestamp INTEGER NOT NULL,
|
|
36
|
-
event_type TEXT NOT NULL
|
|
62
|
+
event_type TEXT NOT NULL,
|
|
37
63
|
trader TEXT,
|
|
38
64
|
mean REAL NOT NULL,
|
|
39
65
|
std_dev REAL NOT NULL,
|
|
@@ -43,6 +69,11 @@ CREATE TABLE IF NOT EXISTS market_events (
|
|
|
43
69
|
old_std_dev REAL,
|
|
44
70
|
collateral_posted TEXT,
|
|
45
71
|
raw_data TEXT,
|
|
72
|
+
outcome_count INTEGER,
|
|
73
|
+
min_outcome_index INTEGER,
|
|
74
|
+
is_position_sell INTEGER,
|
|
75
|
+
settlement_outcome_index INTEGER,
|
|
76
|
+
settlement_outcomes_json TEXT,
|
|
46
77
|
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
47
78
|
);
|
|
48
79
|
|
|
@@ -67,6 +98,10 @@ CREATE TABLE IF NOT EXISTS user_positions (
|
|
|
67
98
|
unrealized_pnl REAL,
|
|
68
99
|
delta_count INTEGER NOT NULL DEFAULT 0,
|
|
69
100
|
claimed INTEGER NOT NULL DEFAULT 0,
|
|
101
|
+
position_type TEXT DEFAULT 'normal',
|
|
102
|
+
outcome_count INTEGER,
|
|
103
|
+
original_probs_json TEXT,
|
|
104
|
+
collateral_locked_raw TEXT,
|
|
70
105
|
fetched_at INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
71
106
|
PRIMARY KEY (market_address, trader)
|
|
72
107
|
);
|
|
@@ -74,6 +109,9 @@ CREATE TABLE IF NOT EXISTS user_positions (
|
|
|
74
109
|
CREATE INDEX IF NOT EXISTS idx_positions_trader
|
|
75
110
|
ON user_positions(trader);
|
|
76
111
|
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_markets_active
|
|
113
|
+
ON markets(is_active) WHERE is_active = 1;
|
|
114
|
+
|
|
77
115
|
CREATE TABLE IF NOT EXISTS indexer_cursors (
|
|
78
116
|
market_address TEXT PRIMARY KEY REFERENCES markets(address),
|
|
79
117
|
last_block_number INTEGER NOT NULL DEFAULT 0,
|
|
@@ -82,7 +120,36 @@ CREATE TABLE IF NOT EXISTS indexer_cursors (
|
|
|
82
120
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
83
121
|
);
|
|
84
122
|
`;
|
|
123
|
+
/**
|
|
124
|
+
* Safely add a column to an existing table — no-op if it already exists.
|
|
125
|
+
*/
|
|
126
|
+
function safeAddColumn(db, table, column, definition) {
|
|
127
|
+
try {
|
|
128
|
+
db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Column already exists — ignore
|
|
132
|
+
}
|
|
133
|
+
}
|
|
85
134
|
export function initializeSchema(db) {
|
|
86
135
|
db.exec(SCHEMA_DDL);
|
|
136
|
+
// Migrations for existing databases
|
|
137
|
+
safeAddColumn(db, 'markets', 'market_type', "TEXT NOT NULL DEFAULT 'normal'");
|
|
138
|
+
safeAddColumn(db, 'market_events', 'outcome_count', 'INTEGER');
|
|
139
|
+
safeAddColumn(db, 'market_events', 'min_outcome_index', 'INTEGER');
|
|
140
|
+
safeAddColumn(db, 'market_events', 'is_position_sell', 'INTEGER');
|
|
141
|
+
safeAddColumn(db, 'market_events', 'settlement_outcome_index', 'INTEGER');
|
|
142
|
+
safeAddColumn(db, 'market_events', 'settlement_outcomes_json', 'TEXT');
|
|
143
|
+
safeAddColumn(db, 'user_positions', 'position_type', "TEXT DEFAULT 'normal'");
|
|
144
|
+
safeAddColumn(db, 'user_positions', 'outcome_count', 'INTEGER');
|
|
145
|
+
safeAddColumn(db, 'user_positions', 'original_probs_json', 'TEXT');
|
|
146
|
+
safeAddColumn(db, 'user_positions', 'collateral_locked_raw', 'TEXT');
|
|
147
|
+
// Rich market metadata columns
|
|
148
|
+
safeAddColumn(db, 'markets', 'x_axis_label', 'TEXT DEFAULT NULL');
|
|
149
|
+
safeAddColumn(db, 'markets', 'x_axis_unit', 'TEXT DEFAULT NULL');
|
|
150
|
+
safeAddColumn(db, 'markets', 'outcome_labels', 'TEXT DEFAULT NULL');
|
|
151
|
+
safeAddColumn(db, 'markets', 'row_labels', 'TEXT DEFAULT NULL');
|
|
152
|
+
safeAddColumn(db, 'markets', 'col_labels', 'TEXT DEFAULT NULL');
|
|
153
|
+
safeAddColumn(db, 'markets', 'resolution_source', 'TEXT DEFAULT NULL');
|
|
87
154
|
}
|
|
88
155
|
//# sourceMappingURL=schema.js.map
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHlB,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CACpB,EAAY,EACZ,KAAa,EACb,MAAc,EACd,UAAkB;IAElB,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpB,oCAAoC;IACpC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,gCAAgC,CAAC,CAAC;IAC9E,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;IAC1E,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;IAC9E,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAErE,+BAA+B;IAC/B,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IACpE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AACzE,CAAC"}
|
package/dist/etl/decoder.d.ts
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Supports two event generations:
|
|
5
5
|
* Legacy: Bootstrapped / TradeMoved (Q96 encoding)
|
|
6
6
|
* Current: MarketInitialized / TradeExecuted (SQ128x128 4-limb encoding)
|
|
7
|
+
* Multinoulli: TradeExecuted (compact), MarketSettled, MarketSettledMulti
|
|
7
8
|
*/
|
|
8
|
-
import type { VoyagerEvent,
|
|
9
|
-
export declare function decodeEvent(event: VoyagerEvent):
|
|
10
|
-
export declare function decodeEvents(events: readonly VoyagerEvent[]):
|
|
9
|
+
import type { VoyagerEvent, DecodedEvent, MarketType } from '../types';
|
|
10
|
+
export declare function decodeEvent(event: VoyagerEvent, marketType?: MarketType): DecodedEvent | null;
|
|
11
|
+
export declare function decodeEvents(events: readonly VoyagerEvent[], marketType?: MarketType): DecodedEvent[];
|
|
11
12
|
//# sourceMappingURL=decoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/etl/decoder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/etl/decoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EACV,YAAY,EAKZ,YAAY,EACZ,UAAU,EACX,MAAM,UAAU,CAAC;AAyClB,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,UAAU,GACtB,YAAY,GAAG,IAAI,CAuBrB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,UAAU,CAAC,EAAE,UAAU,GACtB,YAAY,EAAE,CAYhB"}
|
package/dist/etl/decoder.js
CHANGED
|
@@ -24,11 +24,21 @@ function formatTwo(n) {
|
|
|
24
24
|
return Number(n.toFixed(2));
|
|
25
25
|
}
|
|
26
26
|
// ── Public API ───────────────────────────────────────────────────────────────
|
|
27
|
-
export function decodeEvent(event) {
|
|
27
|
+
export function decodeEvent(event, marketType) {
|
|
28
28
|
const name = event.name.toLowerCase();
|
|
29
|
-
//
|
|
30
|
-
if (name === '
|
|
29
|
+
// Settlement events (same for both market types)
|
|
30
|
+
if (name === 'marketsettled')
|
|
31
|
+
return decodeMarketSettled(event);
|
|
32
|
+
if (name === 'marketsettledmulti')
|
|
33
|
+
return decodeMarketSettledMulti(event);
|
|
34
|
+
// Current generation — TradeExecuted
|
|
35
|
+
if (name === 'tradeexecuted') {
|
|
36
|
+
// Discrimination: multinoulli market type or heuristic based on data length
|
|
37
|
+
if (marketType === 'multinoulli' || (marketType == null && event.data.length < 33)) {
|
|
38
|
+
return decodeMultinoulliTradeExecuted(event);
|
|
39
|
+
}
|
|
31
40
|
return decodeTradeExecuted(event);
|
|
41
|
+
}
|
|
32
42
|
if (name === 'marketinitialized')
|
|
33
43
|
return decodeMarketInitialized(event);
|
|
34
44
|
// Legacy generation (kept for historical data)
|
|
@@ -38,10 +48,10 @@ export function decodeEvent(event) {
|
|
|
38
48
|
return decodeTradeMoved(event);
|
|
39
49
|
return null;
|
|
40
50
|
}
|
|
41
|
-
export function decodeEvents(events) {
|
|
51
|
+
export function decodeEvents(events, marketType) {
|
|
42
52
|
const results = [];
|
|
43
53
|
for (const event of events) {
|
|
44
|
-
const decoded = decodeEvent(event);
|
|
54
|
+
const decoded = decodeEvent(event, marketType);
|
|
45
55
|
if (decoded)
|
|
46
56
|
results.push(decoded);
|
|
47
57
|
}
|
|
@@ -100,7 +110,7 @@ function decodeTradeExecuted(event) {
|
|
|
100
110
|
};
|
|
101
111
|
}
|
|
102
112
|
catch (err) {
|
|
103
|
-
console.error('[Decoder] TradeExecuted error:', err);
|
|
113
|
+
console.error('[Decoder] TradeExecuted error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
104
114
|
return null;
|
|
105
115
|
}
|
|
106
116
|
}
|
|
@@ -134,7 +144,7 @@ function decodeMarketInitialized(event) {
|
|
|
134
144
|
};
|
|
135
145
|
}
|
|
136
146
|
catch (err) {
|
|
137
|
-
console.error('[Decoder] MarketInitialized error:', err);
|
|
147
|
+
console.error('[Decoder] MarketInitialized error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
138
148
|
return null;
|
|
139
149
|
}
|
|
140
150
|
}
|
|
@@ -193,7 +203,7 @@ function decodeBootstrapped(event) {
|
|
|
193
203
|
};
|
|
194
204
|
}
|
|
195
205
|
catch (err) {
|
|
196
|
-
console.error('[Decoder] Bootstrapped error:', err);
|
|
206
|
+
console.error('[Decoder] Bootstrapped error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
197
207
|
return null;
|
|
198
208
|
}
|
|
199
209
|
}
|
|
@@ -235,7 +245,111 @@ function decodeTradeMoved(event) {
|
|
|
235
245
|
};
|
|
236
246
|
}
|
|
237
247
|
catch (err) {
|
|
238
|
-
console.error('[Decoder] TradeMoved error:', err);
|
|
248
|
+
console.error('[Decoder] TradeMoved error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// ── Multinoulli decoders ────────────────────────────────────────────────────
|
|
253
|
+
/**
|
|
254
|
+
* Multinoulli TradeExecuted raw data (5 data fields):
|
|
255
|
+
* [0] outcome_count (u32)
|
|
256
|
+
* [1] min_outcome_index (u32)
|
|
257
|
+
* [2] token_amount low (u128)
|
|
258
|
+
* [3] token_amount high (u128)
|
|
259
|
+
* [4] is_position_sell (bool)
|
|
260
|
+
*
|
|
261
|
+
* Trader address is in keys[1].
|
|
262
|
+
*/
|
|
263
|
+
function decodeMultinoulliTradeExecuted(event) {
|
|
264
|
+
try {
|
|
265
|
+
const data = event.data;
|
|
266
|
+
if (data.length < 5)
|
|
267
|
+
return null;
|
|
268
|
+
const trader = event.keys[1] ?? null;
|
|
269
|
+
const outcomeCount = Number(BigInt(data[0]));
|
|
270
|
+
const minOutcomeIndex = Number(BigInt(data[1]));
|
|
271
|
+
const tokenLow = BigInt(data[2]);
|
|
272
|
+
const tokenHigh = BigInt(data[3]);
|
|
273
|
+
const tokenAmount = (tokenLow + (tokenHigh << 128n)).toString();
|
|
274
|
+
const isPositionSell = BigInt(data[4]) !== 0n;
|
|
275
|
+
return {
|
|
276
|
+
timestamp: event.timestamp,
|
|
277
|
+
blockNumber: event.blockNumber,
|
|
278
|
+
eventType: 'multinoulli_trade_executed',
|
|
279
|
+
txHash: event.transactionHash,
|
|
280
|
+
trader,
|
|
281
|
+
outcomeCount,
|
|
282
|
+
minOutcomeIndex,
|
|
283
|
+
tokenAmount,
|
|
284
|
+
isPositionSell,
|
|
285
|
+
rawData: data,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
catch (err) {
|
|
289
|
+
console.error('[Decoder] MultinoulliTradeExecuted error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* MarketSettled raw data:
|
|
295
|
+
* [0] settlement_outcome_index (u32)
|
|
296
|
+
*
|
|
297
|
+
* `by` address is in keys[1].
|
|
298
|
+
*/
|
|
299
|
+
function decodeMarketSettled(event) {
|
|
300
|
+
try {
|
|
301
|
+
const data = event.data;
|
|
302
|
+
if (data.length < 1)
|
|
303
|
+
return null;
|
|
304
|
+
const settlementOutcomeIndex = Number(BigInt(data[0]));
|
|
305
|
+
const by = event.keys[1] ?? null;
|
|
306
|
+
return {
|
|
307
|
+
timestamp: event.timestamp,
|
|
308
|
+
blockNumber: event.blockNumber,
|
|
309
|
+
eventType: 'market_settled',
|
|
310
|
+
txHash: event.transactionHash,
|
|
311
|
+
settlementOutcomeIndex,
|
|
312
|
+
by,
|
|
313
|
+
rawData: data,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
catch (err) {
|
|
317
|
+
console.error('[Decoder] MarketSettled error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* MarketSettledMulti raw data:
|
|
323
|
+
* [0] array length N
|
|
324
|
+
* [1..N] outcome indices (u32 each)
|
|
325
|
+
*
|
|
326
|
+
* `by` address is in keys[1].
|
|
327
|
+
*/
|
|
328
|
+
function decodeMarketSettledMulti(event) {
|
|
329
|
+
try {
|
|
330
|
+
const data = event.data;
|
|
331
|
+
if (data.length < 1)
|
|
332
|
+
return null;
|
|
333
|
+
const arrayLength = Number(BigInt(data[0]));
|
|
334
|
+
if (data.length < 1 + arrayLength)
|
|
335
|
+
return null;
|
|
336
|
+
const outcomes = [];
|
|
337
|
+
for (let i = 0; i < arrayLength; i++) {
|
|
338
|
+
outcomes.push(Number(BigInt(data[1 + i])));
|
|
339
|
+
}
|
|
340
|
+
const by = event.keys[1] ?? null;
|
|
341
|
+
return {
|
|
342
|
+
timestamp: event.timestamp,
|
|
343
|
+
blockNumber: event.blockNumber,
|
|
344
|
+
eventType: 'market_settled_multi',
|
|
345
|
+
txHash: event.transactionHash,
|
|
346
|
+
outcomes,
|
|
347
|
+
by,
|
|
348
|
+
rawData: data,
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
catch (err) {
|
|
352
|
+
console.error('[Decoder] MarketSettledMulti error:', { tx: event.transactionHash, block: event.blockNumber, err });
|
|
239
353
|
return null;
|
|
240
354
|
}
|
|
241
355
|
}
|
package/dist/etl/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/etl/decoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/etl/decoder.ts"],"names":[],"mappings":"AAkBA,gFAAgF;AAChF,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC;AACtB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAE/B,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AAClC,CAAC;AAED,gFAAgF;AAChF,mEAAmE;AACnE,sEAAsE;AACtE,MAAM,OAAO,GAAG,EAAE,IAAI,IAAI,CAAC;AAE3B;;;GAGG;AACH,SAAS,iBAAiB,CACxB,KAAa,EACb,KAAa,EACb,KAAa,EACb,KAAa,EACb,GAAW;IAEX,MAAM,GAAG,GACP,MAAM,CAAC,KAAK,CAAC;QACb,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;QACtB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACvB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,WAAW,CACzB,KAAmB,EACnB,UAAuB;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAEtC,iDAAiD;IACjD,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE1E,qCAAqC;IACrC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,IAAI,UAAU,KAAK,aAAa,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;YACnF,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,KAAK,mBAAmB;QAAE,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAExE,+CAA+C;IAC/C,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAA+B,EAC/B,UAAuB;IAEvB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpB,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAC7B,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW;QAC/B,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAC9B,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAAC,KAAmB;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAElC,mBAAmB;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAErC,wBAAwB;QACxB,MAAM,OAAO,GAAG,iBAAiB,CAC/B,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CACjD,CAAC;QACF,yBAAyB;QACzB,MAAM,SAAS,GAAG,iBAAiB,CACjC,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,CACtD,CAAC;QAEF,wBAAwB;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAC5B,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,CACtD,CAAC;QACF,yBAAyB;QACzB,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,EAAE,IAAI,CAAC,EAAE,CAAE,CACtD,CAAC;QAEF,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,CAAC,QAAQ,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/D,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;YACzB,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;YAC/B,gBAAgB,EAAE,UAAU;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,KAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,oBAAoB;YAC/B,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAE5D,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAErD,OAAO;gBACL,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;gBACrB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;gBACzB,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;gBACpC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;gBACpC,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,KAAK,CAAC,eAAe;gBAC7B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,gBAAgB,EAAE,IAAI;gBACtB,OAAO,EAAE,KAAK,CAAC,IAAoC;aACpD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;YACzB,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7D,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;YACzB,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;YACpC,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;YAC/B,gBAAgB,EAAE,UAAU;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,SAAS,8BAA8B,CACrC,KAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,QAAQ,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;QAE/C,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,4BAA4B;YACvC,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,MAAM;YACN,YAAY;YACZ,eAAe;YACf,WAAW;YACX,cAAc;YACd,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,KAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAEjC,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,sBAAsB;YACtB,EAAE;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,KAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAEjC,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,sBAAsB;YACjC,MAAM,EAAE,KAAK,CAAC,eAAe;YAC7B,QAAQ;YACR,EAAE;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -5,7 +5,8 @@ import { Effect } from 'effect';
|
|
|
5
5
|
import { DatabaseTag } from '../services/Database';
|
|
6
6
|
import { VoyagerClientTag } from '../services/VoyagerClient';
|
|
7
7
|
import { EventBusTag } from '../services/EventBus';
|
|
8
|
+
import type { MarketType } from '../types';
|
|
8
9
|
import type { IndexerCycleResult } from './types';
|
|
9
|
-
export declare const indexMarketEvents: (marketAddress: string) => Effect.Effect<IndexerCycleResult, never, DatabaseTag | VoyagerClientTag | EventBusTag>;
|
|
10
|
+
export declare const indexMarketEvents: (marketAddress: string, marketType?: MarketType) => Effect.Effect<IndexerCycleResult, never, DatabaseTag | VoyagerClientTag | EventBusTag>;
|
|
10
11
|
export declare const indexAllMarkets: Effect.Effect<IndexerCycleResult[], never, DatabaseTag | VoyagerClientTag | EventBusTag>;
|
|
11
12
|
//# sourceMappingURL=event-indexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-indexer.d.ts","sourceRoot":"","sources":["../../src/etl/event-indexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-indexer.d.ts","sourceRoot":"","sources":["../../src/etl/event-indexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAGV,UAAU,EAMX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAsHlD,eAAO,MAAM,iBAAiB,GAC5B,eAAe,MAAM,EACrB,aAAY,UAAqB,KAChC,MAAM,CAAC,MAAM,CACd,kBAAkB,EAClB,KAAK,EACL,WAAW,GAAG,gBAAgB,GAAG,WAAW,CA0G1C,CAAC;AAEL,eAAO,MAAM,eAAe,0FAY1B,CAAC"}
|
|
@@ -8,7 +8,106 @@ import { EventBusTag } from '../services/EventBus';
|
|
|
8
8
|
import { decodeEvents } from './decoder';
|
|
9
9
|
const PAGE_SIZE = 100;
|
|
10
10
|
const MAX_PAGES = 10;
|
|
11
|
-
|
|
11
|
+
const RELEVANT_NAMES = new Set([
|
|
12
|
+
'bootstrapped', 'trademoved',
|
|
13
|
+
'tradeexecuted', 'marketinitialized',
|
|
14
|
+
'marketsettled', 'marketsettledmulti',
|
|
15
|
+
]);
|
|
16
|
+
function isMultinoulliTradeEvent(d) {
|
|
17
|
+
return d.eventType === 'multinoulli_trade_executed';
|
|
18
|
+
}
|
|
19
|
+
function isMarketSettledEvent(d) {
|
|
20
|
+
return d.eventType === 'market_settled';
|
|
21
|
+
}
|
|
22
|
+
function isMarketSettledMultiEvent(d) {
|
|
23
|
+
return d.eventType === 'market_settled_multi';
|
|
24
|
+
}
|
|
25
|
+
function isNormalMarketEvent(d) {
|
|
26
|
+
return (d.eventType === 'bootstrapped' ||
|
|
27
|
+
d.eventType === 'trade_moved' ||
|
|
28
|
+
d.eventType === 'market_initialized' ||
|
|
29
|
+
d.eventType === 'trade_executed');
|
|
30
|
+
}
|
|
31
|
+
function decodedEventToInsert(marketAddress, d) {
|
|
32
|
+
if (isMultinoulliTradeEvent(d)) {
|
|
33
|
+
return {
|
|
34
|
+
market_address: marketAddress,
|
|
35
|
+
tx_hash: d.txHash,
|
|
36
|
+
block_number: d.blockNumber,
|
|
37
|
+
timestamp: d.timestamp,
|
|
38
|
+
event_type: d.eventType,
|
|
39
|
+
trader: d.trader,
|
|
40
|
+
mean: 0,
|
|
41
|
+
std_dev: 0,
|
|
42
|
+
lower_bound: 0,
|
|
43
|
+
upper_bound: 0,
|
|
44
|
+
old_mean: null,
|
|
45
|
+
old_std_dev: null,
|
|
46
|
+
collateral_posted: d.tokenAmount,
|
|
47
|
+
raw_data: JSON.stringify(d.rawData),
|
|
48
|
+
outcome_count: d.outcomeCount,
|
|
49
|
+
min_outcome_index: d.minOutcomeIndex,
|
|
50
|
+
is_position_sell: d.isPositionSell,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (isMarketSettledEvent(d)) {
|
|
54
|
+
return {
|
|
55
|
+
market_address: marketAddress,
|
|
56
|
+
tx_hash: d.txHash,
|
|
57
|
+
block_number: d.blockNumber,
|
|
58
|
+
timestamp: d.timestamp,
|
|
59
|
+
event_type: d.eventType,
|
|
60
|
+
trader: d.by,
|
|
61
|
+
mean: 0,
|
|
62
|
+
std_dev: 0,
|
|
63
|
+
lower_bound: 0,
|
|
64
|
+
upper_bound: 0,
|
|
65
|
+
old_mean: null,
|
|
66
|
+
old_std_dev: null,
|
|
67
|
+
collateral_posted: null,
|
|
68
|
+
raw_data: JSON.stringify(d.rawData),
|
|
69
|
+
settlement_outcome_index: d.settlementOutcomeIndex,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (isMarketSettledMultiEvent(d)) {
|
|
73
|
+
return {
|
|
74
|
+
market_address: marketAddress,
|
|
75
|
+
tx_hash: d.txHash,
|
|
76
|
+
block_number: d.blockNumber,
|
|
77
|
+
timestamp: d.timestamp,
|
|
78
|
+
event_type: d.eventType,
|
|
79
|
+
trader: d.by,
|
|
80
|
+
mean: 0,
|
|
81
|
+
std_dev: 0,
|
|
82
|
+
lower_bound: 0,
|
|
83
|
+
upper_bound: 0,
|
|
84
|
+
old_mean: null,
|
|
85
|
+
old_std_dev: null,
|
|
86
|
+
collateral_posted: null,
|
|
87
|
+
raw_data: JSON.stringify(d.rawData),
|
|
88
|
+
settlement_outcomes_json: JSON.stringify(d.outcomes),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Normal market events (DecodedMarketEvent)
|
|
92
|
+
const n = d;
|
|
93
|
+
return {
|
|
94
|
+
market_address: marketAddress,
|
|
95
|
+
tx_hash: n.txHash,
|
|
96
|
+
block_number: n.blockNumber,
|
|
97
|
+
timestamp: n.timestamp,
|
|
98
|
+
event_type: n.eventType,
|
|
99
|
+
trader: n.trader,
|
|
100
|
+
mean: n.mean,
|
|
101
|
+
std_dev: n.stdDev,
|
|
102
|
+
lower_bound: n.lowerBound,
|
|
103
|
+
upper_bound: n.upperBound,
|
|
104
|
+
old_mean: n.oldMean,
|
|
105
|
+
old_std_dev: n.oldStdDev,
|
|
106
|
+
collateral_posted: n.collateralPosted,
|
|
107
|
+
raw_data: JSON.stringify(n.rawData),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export const indexMarketEvents = (marketAddress, marketType = 'normal') => Effect.gen(function* () {
|
|
12
111
|
const db = yield* DatabaseTag;
|
|
13
112
|
const voyager = yield* VoyagerClientTag;
|
|
14
113
|
const bus = yield* EventBusTag;
|
|
@@ -30,56 +129,50 @@ export const indexMarketEvents = (marketAddress) => Effect.gen(function* () {
|
|
|
30
129
|
}
|
|
31
130
|
const batch = batchResult.right;
|
|
32
131
|
// Filter to relevant events after our cursor
|
|
33
|
-
|
|
34
|
-
'bootstrapped', 'trademoved',
|
|
35
|
-
'tradeexecuted', 'marketinitialized',
|
|
36
|
-
]);
|
|
132
|
+
let sawOldEvent = false;
|
|
37
133
|
const relevant = batch.events.filter((e) => {
|
|
38
|
-
const isRelevant =
|
|
134
|
+
const isRelevant = RELEVANT_NAMES.has(e.name.toLowerCase());
|
|
39
135
|
const isNew = e.blockNumber > lastBlock;
|
|
136
|
+
if (isRelevant && !isNew)
|
|
137
|
+
sawOldEvent = true;
|
|
40
138
|
return isRelevant && isNew;
|
|
41
139
|
});
|
|
42
140
|
allEvents.push(...relevant);
|
|
141
|
+
// Early exit: if we've reached events we already indexed, stop paging
|
|
142
|
+
if (sawOldEvent)
|
|
143
|
+
break;
|
|
43
144
|
hasMore = currentPage < batch.lastPage;
|
|
44
145
|
currentPage++;
|
|
45
146
|
}
|
|
46
147
|
if (allEvents.length === 0) {
|
|
47
148
|
return { marketAddress, newEvents: 0, lastBlock };
|
|
48
149
|
}
|
|
49
|
-
// Decode events
|
|
50
|
-
const decoded = decodeEvents(allEvents);
|
|
150
|
+
// Decode events (pass market type for discrimination)
|
|
151
|
+
const decoded = decodeEvents(allEvents, marketType);
|
|
51
152
|
if (decoded.length === 0) {
|
|
52
153
|
return { marketAddress, newEvents: 0, lastBlock };
|
|
53
154
|
}
|
|
54
155
|
// Build insert inputs
|
|
55
|
-
const inputs = decoded.map((d) => (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
block_number: d.blockNumber,
|
|
59
|
-
timestamp: d.timestamp,
|
|
60
|
-
event_type: d.eventType,
|
|
61
|
-
trader: d.trader,
|
|
62
|
-
mean: d.mean,
|
|
63
|
-
std_dev: d.stdDev,
|
|
64
|
-
lower_bound: d.lowerBound,
|
|
65
|
-
upper_bound: d.upperBound,
|
|
66
|
-
old_mean: d.oldMean,
|
|
67
|
-
old_std_dev: d.oldStdDev,
|
|
68
|
-
collateral_posted: d.collateralPosted,
|
|
69
|
-
raw_data: JSON.stringify(d.rawData),
|
|
70
|
-
}));
|
|
71
|
-
// Insert with dedup
|
|
156
|
+
const inputs = decoded.map((d) => decodedEventToInsert(marketAddress, d));
|
|
157
|
+
// Insert events + discover traders + update cursor atomically
|
|
158
|
+
const lastDecoded = decoded[decoded.length - 1];
|
|
72
159
|
const inserted = db.events.insertBatch(inputs);
|
|
73
|
-
// Discover traders
|
|
160
|
+
// Discover traders and update cursor
|
|
74
161
|
for (const d of decoded) {
|
|
75
|
-
|
|
76
|
-
|
|
162
|
+
let trader = null;
|
|
163
|
+
if (isMultinoulliTradeEvent(d) || isNormalMarketEvent(d)) {
|
|
164
|
+
trader = d.trader;
|
|
165
|
+
}
|
|
166
|
+
else if (isMarketSettledEvent(d) || isMarketSettledMultiEvent(d)) {
|
|
167
|
+
trader = d.by;
|
|
168
|
+
}
|
|
169
|
+
if (trader) {
|
|
170
|
+
db.positions.ensureTrader(marketAddress, trader);
|
|
77
171
|
}
|
|
78
172
|
}
|
|
79
|
-
// Update cursor
|
|
80
|
-
const lastDecoded = decoded[decoded.length - 1];
|
|
173
|
+
// Update cursor before broadcasting (crash-safe: cursor persisted before clients notified)
|
|
81
174
|
db.cursors.upsert(marketAddress, lastDecoded.blockNumber, lastDecoded.timestamp, inserted);
|
|
82
|
-
// Broadcast
|
|
175
|
+
// Broadcast AFTER the transaction commits
|
|
83
176
|
if (inserted > 0) {
|
|
84
177
|
bus.broadcast({
|
|
85
178
|
type: 'new_events',
|
|
@@ -98,7 +191,8 @@ export const indexAllMarkets = Effect.gen(function* () {
|
|
|
98
191
|
const markets = db.markets.findAll(true);
|
|
99
192
|
const results = [];
|
|
100
193
|
for (const market of markets) {
|
|
101
|
-
const
|
|
194
|
+
const marketType = (market.market_type ?? 'normal');
|
|
195
|
+
const result = yield* indexMarketEvents(market.address, marketType);
|
|
102
196
|
results.push(result);
|
|
103
197
|
}
|
|
104
198
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-indexer.js","sourceRoot":"","sources":["../../src/etl/event-indexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"event-indexer.js","sourceRoot":"","sources":["../../src/etl/event-indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ import { Effect } from 'effect';
|
|
|
5
5
|
import { DatabaseTag } from '../services/Database';
|
|
6
6
|
import { ChainReaderTag } from '../services/ChainReader';
|
|
7
7
|
import { EventBusTag } from '../services/EventBus';
|
|
8
|
+
import type { MarketType } from '../types';
|
|
8
9
|
import type { PositionRefreshResult } from './types';
|
|
9
|
-
export declare const refreshPosition: (marketAddress: string, trader: string) => Effect.Effect<PositionRefreshResult, never, DatabaseTag | ChainReaderTag | EventBusTag>;
|
|
10
|
+
export declare const refreshPosition: (marketAddress: string, trader: string, marketType?: MarketType) => Effect.Effect<PositionRefreshResult, never, DatabaseTag | ChainReaderTag | EventBusTag>;
|
|
10
11
|
export declare const refreshAllPositions: Effect.Effect<PositionRefreshResult[], never, DatabaseTag | ChainReaderTag | EventBusTag>;
|
|
11
12
|
//# sourceMappingURL=position-refresher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position-refresher.d.ts","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"position-refresher.d.ts","sourceRoot":"","sources":["../../src/etl/position-refresher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,QAAQ,MAAM,EACd,aAAY,UAAqB,KAChC,MAAM,CAAC,MAAM,CACd,qBAAqB,EACrB,KAAK,EACL,WAAW,GAAG,cAAc,GAAG,WAAW,CAwFxC,CAAC;AAIL,eAAO,MAAM,mBAAmB,2FAiB9B,CAAC"}
|