@the-situation/indexer 0.11.3 → 0.11.5
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 +188 -0
- package/dist/api/app.d.ts.map +1 -1
- package/dist/api/app.js +4 -1
- package/dist/api/app.js.map +1 -1
- package/dist/api/routes/activity-feed.d.ts +54 -0
- package/dist/api/routes/activity-feed.d.ts.map +1 -0
- package/dist/api/routes/activity-feed.js +66 -0
- package/dist/api/routes/activity-feed.js.map +1 -0
- package/dist/api/routes/admin-subscriptions.d.ts +176 -0
- package/dist/api/routes/admin-subscriptions.d.ts.map +1 -0
- package/dist/api/routes/admin-subscriptions.js +69 -0
- package/dist/api/routes/admin-subscriptions.js.map +1 -0
- package/dist/api/routes/index.d.ts +3 -0
- package/dist/api/routes/index.d.ts.map +1 -1
- package/dist/api/routes/index.js +3 -0
- package/dist/api/routes/index.js.map +1 -1
- package/dist/api/routes/spice-faucet.d.ts +76 -0
- package/dist/api/routes/spice-faucet.d.ts.map +1 -0
- package/dist/api/routes/spice-faucet.js +78 -0
- package/dist/api/routes/spice-faucet.js.map +1 -0
- package/dist/client/IndexerClient.d.ts +8 -0
- package/dist/client/IndexerClient.d.ts.map +1 -1
- package/dist/client/IndexerClient.js.map +1 -1
- package/dist/client/IndexerClientLive.d.ts.map +1 -1
- package/dist/client/IndexerClientLive.js +28 -0
- package/dist/client/IndexerClientLive.js.map +1 -1
- package/dist/client/convenience.d.ts +2 -0
- package/dist/client/convenience.d.ts.map +1 -1
- package/dist/client/convenience.js +1 -0
- package/dist/client/convenience.js.map +1 -1
- package/dist/client/index.d.ts +2 -1
- 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/db/repositories/activity-feed.d.ts +24 -0
- package/dist/db/repositories/activity-feed.d.ts.map +1 -0
- package/dist/db/repositories/activity-feed.js +76 -0
- package/dist/db/repositories/activity-feed.js.map +1 -0
- package/dist/db/repositories/index.d.ts +2 -0
- package/dist/db/repositories/index.d.ts.map +1 -1
- package/dist/db/repositories/index.js +2 -0
- package/dist/db/repositories/index.js.map +1 -1
- package/dist/db/repositories/position.d.ts +1 -0
- package/dist/db/repositories/position.d.ts.map +1 -1
- package/dist/db/repositories/position.js +10 -4
- package/dist/db/repositories/position.js.map +1 -1
- package/dist/db/repositories/ranking.d.ts.map +1 -1
- package/dist/db/repositories/ranking.js +7 -8
- package/dist/db/repositories/ranking.js.map +1 -1
- package/dist/db/repositories/subscription.d.ts +18 -0
- package/dist/db/repositories/subscription.d.ts.map +1 -0
- package/dist/db/repositories/subscription.js +77 -0
- package/dist/db/repositories/subscription.js.map +1 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +26 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/etl/event-indexer.d.ts +1 -1
- package/dist/etl/position-refresher.d.ts +1 -1
- package/dist/etl/position-refresher.d.ts.map +1 -1
- package/dist/etl/position-refresher.js +62 -20
- package/dist/etl/position-refresher.js.map +1 -1
- package/dist/etl/scheduler.d.ts.map +1 -1
- package/dist/etl/scheduler.js +79 -14
- package/dist/etl/scheduler.js.map +1 -1
- package/dist/etl/state-refresher.d.ts +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/layers/ChainReaderLive.d.ts.map +1 -1
- package/dist/layers/ChainReaderLive.js +45 -33
- package/dist/layers/ChainReaderLive.js.map +1 -1
- package/dist/layers/DatabaseLive.d.ts.map +1 -1
- package/dist/layers/DatabaseLive.js +3 -1
- package/dist/layers/DatabaseLive.js.map +1 -1
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +29 -0
- package/dist/logger.js.map +1 -0
- package/dist/services/ActivityEnricher.d.ts +29 -0
- package/dist/services/ActivityEnricher.d.ts.map +1 -0
- package/dist/services/ActivityEnricher.js +94 -0
- package/dist/services/ActivityEnricher.js.map +1 -0
- package/dist/services/Database.d.ts +3 -1
- package/dist/services/Database.d.ts.map +1 -1
- package/dist/services/Database.js.map +1 -1
- package/dist/services/WebhookDispatcher.d.ts +14 -0
- package/dist/services/WebhookDispatcher.d.ts.map +1 -0
- package/dist/services/WebhookDispatcher.js +129 -0
- package/dist/services/WebhookDispatcher.js.map +1 -0
- package/dist/types/activity.d.ts +92 -0
- package/dist/types/activity.d.ts.map +1 -0
- package/dist/types/activity.js +28 -0
- package/dist/types/activity.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/position.d.ts +2 -0
- package/dist/types/position.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POST /api/faucet — mint 1000 SPICE to a new user (one-time per address).
|
|
3
|
+
*
|
|
4
|
+
* This is a public endpoint (no admin key needed) but rate-limited to
|
|
5
|
+
* one mint per address. Requires SPICE_OWNER_KEY and SPICE_OWNER_ADDRESS
|
|
6
|
+
* env vars on the indexer.
|
|
7
|
+
*/
|
|
8
|
+
import { Elysia } from 'elysia';
|
|
9
|
+
import type { DatabaseService } from '../../services/Database';
|
|
10
|
+
export declare const spiceFaucetRoutes: (db: DatabaseService) => Elysia<"", {
|
|
11
|
+
decorator: {};
|
|
12
|
+
store: {};
|
|
13
|
+
derive: {};
|
|
14
|
+
resolve: {};
|
|
15
|
+
}, {
|
|
16
|
+
typebox: {};
|
|
17
|
+
error: {};
|
|
18
|
+
}, {
|
|
19
|
+
schema: {};
|
|
20
|
+
standaloneSchema: {};
|
|
21
|
+
macro: {};
|
|
22
|
+
macroFn: {};
|
|
23
|
+
parser: {};
|
|
24
|
+
response: {};
|
|
25
|
+
}, {
|
|
26
|
+
api: {
|
|
27
|
+
faucet: {
|
|
28
|
+
post: {
|
|
29
|
+
body: unknown;
|
|
30
|
+
params: {};
|
|
31
|
+
query: unknown;
|
|
32
|
+
headers: unknown;
|
|
33
|
+
response: {
|
|
34
|
+
200: {
|
|
35
|
+
error: string;
|
|
36
|
+
success?: never;
|
|
37
|
+
alreadyMinted?: never;
|
|
38
|
+
transactionHash?: never;
|
|
39
|
+
detail?: never;
|
|
40
|
+
} | {
|
|
41
|
+
success: boolean;
|
|
42
|
+
alreadyMinted: boolean;
|
|
43
|
+
error?: never;
|
|
44
|
+
transactionHash?: never;
|
|
45
|
+
detail?: never;
|
|
46
|
+
} | {
|
|
47
|
+
success: boolean;
|
|
48
|
+
transactionHash: string;
|
|
49
|
+
error?: never;
|
|
50
|
+
alreadyMinted?: never;
|
|
51
|
+
detail?: never;
|
|
52
|
+
} | {
|
|
53
|
+
error: string;
|
|
54
|
+
detail: string;
|
|
55
|
+
success?: never;
|
|
56
|
+
alreadyMinted?: never;
|
|
57
|
+
transactionHash?: never;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}, {
|
|
64
|
+
derive: {};
|
|
65
|
+
resolve: {};
|
|
66
|
+
schema: {};
|
|
67
|
+
standaloneSchema: {};
|
|
68
|
+
response: {};
|
|
69
|
+
}, {
|
|
70
|
+
derive: {};
|
|
71
|
+
resolve: {};
|
|
72
|
+
schema: {};
|
|
73
|
+
standaloneSchema: {};
|
|
74
|
+
response: {};
|
|
75
|
+
}>;
|
|
76
|
+
//# sourceMappingURL=spice-faucet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spice-faucet.d.ts","sourceRoot":"","sources":["../../../src/api/routes/spice-faucet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAe/D,eAAO,MAAM,iBAAiB,GAAI,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEjD,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POST /api/faucet — mint 1000 SPICE to a new user (one-time per address).
|
|
3
|
+
*
|
|
4
|
+
* This is a public endpoint (no admin key needed) but rate-limited to
|
|
5
|
+
* one mint per address. Requires SPICE_OWNER_KEY and SPICE_OWNER_ADDRESS
|
|
6
|
+
* env vars on the indexer.
|
|
7
|
+
*/
|
|
8
|
+
import { Elysia } from 'elysia';
|
|
9
|
+
import { Account, CallData, RpcProvider } from 'starknet';
|
|
10
|
+
import { log } from '../../logger';
|
|
11
|
+
const SPICE_TOKEN_ADDRESS = '0x4583395a85181cd495b8563d277bdadfbca15fc65d2945db6c5c11f7d0e786e';
|
|
12
|
+
const MINT_AMOUNT = (1000n * 10n ** 18n).toString();
|
|
13
|
+
// biome-ignore lint/complexity/useLiteralKeys: env
|
|
14
|
+
const OWNER_KEY = process.env['SPICE_OWNER_KEY'];
|
|
15
|
+
// biome-ignore lint/complexity/useLiteralKeys: env
|
|
16
|
+
const OWNER_ADDRESS = process.env['SPICE_OWNER_ADDRESS'];
|
|
17
|
+
// biome-ignore lint/complexity/useLiteralKeys: env
|
|
18
|
+
const RPC_URL = process.env['STARKNET_RPC_URL'] ?? 'https://api.cartridge.gg/x/starknet/sepolia';
|
|
19
|
+
// In-memory set of minted addresses (also checked via DB in production)
|
|
20
|
+
const mintedAddresses = new Set();
|
|
21
|
+
export const spiceFaucetRoutes = (db) => new Elysia().post('/api/faucet', async ({ body, set }) => {
|
|
22
|
+
if (!OWNER_KEY || !OWNER_ADDRESS) {
|
|
23
|
+
set.status = 503;
|
|
24
|
+
return { error: 'Faucet not configured' };
|
|
25
|
+
}
|
|
26
|
+
const { recipient } = body;
|
|
27
|
+
if (!recipient || typeof recipient !== 'string') {
|
|
28
|
+
set.status = 400;
|
|
29
|
+
return { error: 'Missing recipient address' };
|
|
30
|
+
}
|
|
31
|
+
const normalized = recipient.toLowerCase();
|
|
32
|
+
// Check if already minted
|
|
33
|
+
if (mintedAddresses.has(normalized)) {
|
|
34
|
+
return { success: true, alreadyMinted: true };
|
|
35
|
+
}
|
|
36
|
+
// Check DB for existing mint (query market_events or a simple check)
|
|
37
|
+
// For now, use the in-memory set + a simple DB flag
|
|
38
|
+
const existing = db.db
|
|
39
|
+
.query('SELECT 1 FROM spice_mints WHERE recipient = ?')
|
|
40
|
+
.get(normalized);
|
|
41
|
+
if (existing) {
|
|
42
|
+
mintedAddresses.add(normalized);
|
|
43
|
+
return { success: true, alreadyMinted: true };
|
|
44
|
+
}
|
|
45
|
+
// Mint
|
|
46
|
+
log.info('faucet: minting SPICE', { recipient: normalized });
|
|
47
|
+
try {
|
|
48
|
+
const provider = new RpcProvider({ nodeUrl: RPC_URL });
|
|
49
|
+
const account = new Account({
|
|
50
|
+
provider,
|
|
51
|
+
address: OWNER_ADDRESS,
|
|
52
|
+
signer: OWNER_KEY,
|
|
53
|
+
});
|
|
54
|
+
const calldata = CallData.compile({
|
|
55
|
+
recipient,
|
|
56
|
+
amount: { low: MINT_AMOUNT, high: '0' },
|
|
57
|
+
});
|
|
58
|
+
const { transaction_hash } = await account.execute({
|
|
59
|
+
contractAddress: SPICE_TOKEN_ADDRESS,
|
|
60
|
+
entrypoint: 'mint',
|
|
61
|
+
calldata,
|
|
62
|
+
});
|
|
63
|
+
// Record mint (don't wait for confirmation to avoid blocking)
|
|
64
|
+
db.db
|
|
65
|
+
.query('INSERT OR IGNORE INTO spice_mints (recipient, tx_hash) VALUES (?, ?)')
|
|
66
|
+
.run(normalized, transaction_hash);
|
|
67
|
+
mintedAddresses.add(normalized);
|
|
68
|
+
log.info('faucet: minted', { recipient: normalized, tx: transaction_hash });
|
|
69
|
+
return { success: true, transactionHash: transaction_hash };
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
73
|
+
log.error('faucet: mint failed', { recipient: normalized, error: msg });
|
|
74
|
+
set.status = 500;
|
|
75
|
+
return { error: 'Mint failed', detail: msg };
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=spice-faucet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spice-faucet.js","sourceRoot":"","sources":["../../../src/api/routes/spice-faucet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,mBAAmB,GAAG,mEAAmE,CAAC;AAChG,MAAM,WAAW,GAAG,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEpD,mDAAmD;AACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjD,mDAAmD;AACnD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACzD,mDAAmD;AACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,6CAA6C,CAAC;AAEjG,wEAAwE;AACxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAmB,EAAE,EAAE,CACvD,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;IACvD,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAA8B,CAAC;IACrD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAE3C,0BAA0B;IAC1B,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,qEAAqE;IACrE,oDAAoD;IACpD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE;SACnB,KAAK,CAAC,+CAA+C,CAAC;SACtD,GAAG,CAAC,UAAU,CAA2B,CAAC;IAE7C,IAAI,QAAQ,EAAE,CAAC;QACb,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;IACP,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,QAAQ;YACR,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChC,SAAS;YACT,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YACjD,eAAe,EAAE,mBAAmB;YACpC,UAAU,EAAE,MAAM;YAClB,QAAQ;SACT,CAAC,CAAC;QAEH,8DAA8D;QAC9D,EAAE,CAAC,EAAE;aACF,KAAK,CAAC,sEAAsE,CAAC;aAC7E,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACrC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -2,6 +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 { ActivityFeedItem, ActivityFeedQueryParams, CreateSubscriptionInput, SubscriptionResponse, UpdateSubscriptionInput } from '../types/activity';
|
|
5
6
|
import type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, HealthResponse, MarketResponse, MultinoulliSnapshotsResponse, PaginatedResponse, RankingEntry, TraderEventResponse, TraderPositionResponse, TraderStatsResponse } from '../types/api';
|
|
6
7
|
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
8
|
readonly _tag: "IndexerApiError";
|
|
@@ -41,6 +42,13 @@ export interface IndexerClientService {
|
|
|
41
42
|
readonly deleteMarket: (address: string) => Effect.Effect<{
|
|
42
43
|
success: true;
|
|
43
44
|
}, IndexerApiError>;
|
|
45
|
+
readonly getActivityFeed: (params?: ActivityFeedQueryParams) => Effect.Effect<PaginatedResponse<ActivityFeedItem>, IndexerApiError>;
|
|
46
|
+
readonly getSubscriptions: () => Effect.Effect<readonly SubscriptionResponse[], IndexerApiError>;
|
|
47
|
+
readonly createSubscription: (body: CreateSubscriptionInput) => Effect.Effect<SubscriptionResponse, IndexerApiError>;
|
|
48
|
+
readonly updateSubscription: (id: number, body: UpdateSubscriptionInput) => Effect.Effect<SubscriptionResponse, IndexerApiError>;
|
|
49
|
+
readonly deleteSubscription: (id: number) => Effect.Effect<{
|
|
50
|
+
success: true;
|
|
51
|
+
}, IndexerApiError>;
|
|
44
52
|
}
|
|
45
53
|
declare const IndexerClient_base: Context.TagClass<IndexerClient, "IndexerClient", IndexerClientService>;
|
|
46
54
|
export declare class IndexerClient extends IndexerClient_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexerClient.d.ts","sourceRoot":"","sources":["../../src/client/IndexerClient.ts"],"names":[],"mappings":"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
|
|
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;
|
|
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;AAsBpD,wEAAwE;AAExE,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAIrE;CAAG;AA0FL,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;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,
|
|
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,CAwFxF,CAAC"}
|
|
@@ -118,6 +118,34 @@ export const IndexerClientLive = (config) => {
|
|
|
118
118
|
createMarket: (body) => fetchJsonWithAuth('POST', `${base}/admin/markets`, config.adminApiKey, body),
|
|
119
119
|
updateMarket: (address, body) => fetchJsonWithAuth('PUT', `${base}/admin/markets/${address}`, config.adminApiKey, body),
|
|
120
120
|
deleteMarket: (address) => fetchJsonWithAuth('DELETE', `${base}/admin/markets/${address}`, config.adminApiKey),
|
|
121
|
+
// ── Activity feed ──────────────────────────────────────────────
|
|
122
|
+
getActivityFeed: (params) => {
|
|
123
|
+
const url = new URL(`${base}/api/activity`);
|
|
124
|
+
if (params?.page !== undefined)
|
|
125
|
+
url.searchParams.set('page', params.page.toString());
|
|
126
|
+
if (params?.pageSize !== undefined)
|
|
127
|
+
url.searchParams.set('pageSize', params.pageSize.toString());
|
|
128
|
+
if (params?.eventTypes && params.eventTypes.length > 0)
|
|
129
|
+
url.searchParams.set('eventTypes', params.eventTypes.join(','));
|
|
130
|
+
if (params?.marketTypes && params.marketTypes.length > 0)
|
|
131
|
+
url.searchParams.set('marketTypes', params.marketTypes.join(','));
|
|
132
|
+
if (params?.marketAddresses && params.marketAddresses.length > 0)
|
|
133
|
+
url.searchParams.set('marketAddresses', params.marketAddresses.join(','));
|
|
134
|
+
if (params?.traders && params.traders.length > 0)
|
|
135
|
+
url.searchParams.set('traders', params.traders.join(','));
|
|
136
|
+
if (params?.minCollateral !== undefined)
|
|
137
|
+
url.searchParams.set('minCollateral', params.minCollateral.toString());
|
|
138
|
+
if (params?.from !== undefined)
|
|
139
|
+
url.searchParams.set('from', params.from.toString());
|
|
140
|
+
if (params?.to !== undefined)
|
|
141
|
+
url.searchParams.set('to', params.to.toString());
|
|
142
|
+
return fetchJson(url.toString());
|
|
143
|
+
},
|
|
144
|
+
// ── Subscription admin ─────────────────────────────────────────
|
|
145
|
+
getSubscriptions: () => fetchJsonWithAuth('GET', `${base}/admin/subscriptions`, config.adminApiKey),
|
|
146
|
+
createSubscription: (body) => fetchJsonWithAuth('POST', `${base}/admin/subscriptions`, config.adminApiKey, body),
|
|
147
|
+
updateSubscription: (id, body) => fetchJsonWithAuth('PUT', `${base}/admin/subscriptions/${id}`, config.adminApiKey, body),
|
|
148
|
+
deleteSubscription: (id) => fetchJsonWithAuth('DELETE', `${base}/admin/subscriptions/${id}`, config.adminApiKey),
|
|
121
149
|
}));
|
|
122
150
|
};
|
|
123
151
|
//# sourceMappingURL=IndexerClientLive.js.map
|
|
@@ -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,6 +2,7 @@
|
|
|
2
2
|
* Standalone Effect convenience functions — each requires IndexerClient in R.
|
|
3
3
|
*/
|
|
4
4
|
import { Effect } from 'effect';
|
|
5
|
+
import type { ActivityFeedQueryParams } from '../types/activity';
|
|
5
6
|
import type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, PaginatedResponse, RankingEntry } from '../types/api';
|
|
6
7
|
import type { EventQueryParams, RankingQueryParams } from './IndexerClient';
|
|
7
8
|
import { type IndexerApiError, IndexerClient } from './IndexerClient';
|
|
@@ -14,6 +15,7 @@ export declare const getTraderPositions: (trader: string) => Effect.Effect<reado
|
|
|
14
15
|
export declare const getTraderEvents: (trader: string, params?: EventQueryParams) => Effect.Effect<PaginatedResponse<import(".").TraderEventResponse>, IndexerApiError, IndexerClient>;
|
|
15
16
|
export declare const getTraderStats: (trader: string) => Effect.Effect<import(".").TraderStatsResponse, IndexerApiError, IndexerClient>;
|
|
16
17
|
export declare const getRankings: (params?: RankingQueryParams) => Effect.Effect<readonly RankingEntry[], IndexerApiError, IndexerClient>;
|
|
18
|
+
export declare const getActivityFeed: (params?: ActivityFeedQueryParams) => Effect.Effect<PaginatedResponse<import(".").ActivityFeedItem>, IndexerApiError, IndexerClient>;
|
|
17
19
|
/**
|
|
18
20
|
* Auto-paginate to fetch every event for a market (useful for full time series).
|
|
19
21
|
*/
|
|
@@ -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,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;
|
|
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,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,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;AAExE,eAAO,MAAM,eAAe,GAAI,SAAS,uBAAuB,mGACW,CAAC;AAI5E;;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"}
|
|
@@ -13,6 +13,7 @@ export const getTraderPositions = (trader) => Effect.flatMap(IndexerClient, (cli
|
|
|
13
13
|
export const getTraderEvents = (trader, params) => Effect.flatMap(IndexerClient, (client) => client.getTraderEvents(trader, params));
|
|
14
14
|
export const getTraderStats = (trader) => Effect.flatMap(IndexerClient, (client) => client.getTraderStats(trader));
|
|
15
15
|
export const getRankings = (params) => Effect.flatMap(IndexerClient, (client) => client.getRankings(params));
|
|
16
|
+
export const getActivityFeed = (params) => Effect.flatMap(IndexerClient, (client) => client.getActivityFeed(params));
|
|
16
17
|
// ── Composed helpers ─────────────────────────────────────────────────
|
|
17
18
|
/**
|
|
18
19
|
* Auto-paginate to fetch every event for a market (useful for full time series).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convenience.js","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"convenience.js","sourceRoot":"","sources":["../../src/client/convenience.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module is completely isolated from server-side code (no bun:sqlite, no elysia).
|
|
5
5
|
*/
|
|
6
|
+
export type { ActivityEventType, ActivityFeedItem, ActivityFeedQueryParams, CreateSubscriptionInput, SubscriptionFilters, SubscriptionResponse, UpdateSubscriptionInput, } from '../types/activity';
|
|
6
7
|
export type { AdminCreateMarketBody, AdminUpdateMarketBody, EventResponse, HealthResponse, MarketResponse, MarketStateResponse, MultinoulliMarketStateResponse, MultinoulliSnapshotResponse, MultinoulliSnapshotsResponse, PaginatedResponse, RankingEntry, TraderEventResponse, TraderPositionResponse, TraderStatsResponse, } from '../types/api';
|
|
7
8
|
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 { checkHealth, createMarket, deleteMarket, getActivityFeed, getAllMarketEvents, getMarket, getMarketEvents, getMarkets, getMarketTraders, getMarketWithEvents, getMultinoulliSnapshots, getRankings, getTraderEvents, getTraderPositions, getTraderProfile, getTraderStats, updateMarket, } from './convenience';
|
|
9
10
|
export { type EventQueryParams, IndexerApiError, IndexerClient, type IndexerClientService, type RankingQueryParams, } from './IndexerClient';
|
|
10
11
|
export { type IndexerClientConfig, IndexerClientLive, } from './IndexerClientLive';
|
|
11
12
|
export { computePnlHistory, getFullTraderProfile, getTraderActivity, type PnlDataPoint, type TraderActivityEntry, type TraderProfile, } from './trader-stats';
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,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,eAAe,EACf,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"}
|
package/dist/client/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This module is completely isolated from server-side code (no bun:sqlite, no elysia).
|
|
5
5
|
*/
|
|
6
6
|
// ── Convenience functions ────────────────────────────────────────────
|
|
7
|
-
export { checkHealth, createMarket, deleteMarket, getAllMarketEvents, getMarket, getMarketEvents, getMarkets, getMarketTraders, getMarketWithEvents, getMultinoulliSnapshots, getRankings, getTraderEvents, getTraderPositions, getTraderProfile, getTraderStats, updateMarket, } from './convenience';
|
|
7
|
+
export { checkHealth, createMarket, deleteMarket, getActivityFeed, getAllMarketEvents, getMarket, getMarketEvents, getMarkets, getMarketTraders, getMarketWithEvents, getMultinoulliSnapshots, getRankings, getTraderEvents, getTraderPositions, getTraderProfile, getTraderStats, updateMarket, } from './convenience';
|
|
8
8
|
// ── Service & error ──────────────────────────────────────────────────
|
|
9
9
|
export { IndexerApiError, IndexerClient, } from './IndexerClient';
|
|
10
10
|
// ── Layer ────────────────────────────────────────────────────────────
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,wEAAwE;AACxE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activity feed repository — cross-table JOIN queries with dynamic filtering.
|
|
3
|
+
*/
|
|
4
|
+
import type { Database } from 'bun:sqlite';
|
|
5
|
+
import type { EnrichedEventRow } from '../../services/ActivityEnricher';
|
|
6
|
+
import type { ActivityEventType } from '../../types/activity';
|
|
7
|
+
export interface ActivityFeedQueryOptions {
|
|
8
|
+
readonly limit?: number | undefined;
|
|
9
|
+
readonly offset?: number | undefined;
|
|
10
|
+
readonly eventTypes?: readonly ActivityEventType[] | undefined;
|
|
11
|
+
readonly marketTypes?: readonly string[] | undefined;
|
|
12
|
+
readonly marketAddresses?: readonly string[] | undefined;
|
|
13
|
+
readonly traders?: readonly string[] | undefined;
|
|
14
|
+
readonly minCollateral?: number | undefined;
|
|
15
|
+
readonly fromTimestamp?: number | undefined;
|
|
16
|
+
readonly toTimestamp?: number | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare class ActivityFeedRepository {
|
|
19
|
+
private readonly db;
|
|
20
|
+
constructor(db: Database);
|
|
21
|
+
findAll(options?: ActivityFeedQueryOptions): EnrichedEventRow[];
|
|
22
|
+
count(options?: ActivityFeedQueryOptions): number;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=activity-feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/activity-feed.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AA0DD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,gBAAgB,EAAE;IAqBnE,KAAK,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM;CActD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { activityTypeToRawTypes } from '../../types/activity';
|
|
2
|
+
const TWO_128 = 2 ** 128;
|
|
3
|
+
function buildWhereClause(options) {
|
|
4
|
+
const conditions = [];
|
|
5
|
+
const params = [];
|
|
6
|
+
if (options.eventTypes && options.eventTypes.length > 0) {
|
|
7
|
+
const rawTypes = options.eventTypes.flatMap(activityTypeToRawTypes);
|
|
8
|
+
const placeholders = rawTypes.map(() => '?').join(', ');
|
|
9
|
+
conditions.push(`e.event_type IN (${placeholders})`);
|
|
10
|
+
params.push(...rawTypes);
|
|
11
|
+
}
|
|
12
|
+
if (options.marketTypes && options.marketTypes.length > 0) {
|
|
13
|
+
const placeholders = options.marketTypes.map(() => '?').join(', ');
|
|
14
|
+
conditions.push(`m.market_type IN (${placeholders})`);
|
|
15
|
+
params.push(...options.marketTypes);
|
|
16
|
+
}
|
|
17
|
+
if (options.marketAddresses && options.marketAddresses.length > 0) {
|
|
18
|
+
const placeholders = options.marketAddresses.map(() => '?').join(', ');
|
|
19
|
+
conditions.push(`e.market_address IN (${placeholders})`);
|
|
20
|
+
params.push(...options.marketAddresses);
|
|
21
|
+
}
|
|
22
|
+
if (options.traders && options.traders.length > 0) {
|
|
23
|
+
const placeholders = options.traders.map(() => '?').join(', ');
|
|
24
|
+
conditions.push(`e.trader IN (${placeholders})`);
|
|
25
|
+
params.push(...options.traders);
|
|
26
|
+
}
|
|
27
|
+
if (options.minCollateral != null) {
|
|
28
|
+
// collateral_posted is a raw SQ128x128 magnitude string; compare as REAL / 2^128
|
|
29
|
+
conditions.push(`CAST(e.collateral_posted AS REAL) / ? >= ?`);
|
|
30
|
+
params.push(TWO_128, options.minCollateral);
|
|
31
|
+
}
|
|
32
|
+
if (options.fromTimestamp != null) {
|
|
33
|
+
conditions.push('e.timestamp >= ?');
|
|
34
|
+
params.push(options.fromTimestamp);
|
|
35
|
+
}
|
|
36
|
+
if (options.toTimestamp != null) {
|
|
37
|
+
conditions.push('e.timestamp <= ?');
|
|
38
|
+
params.push(options.toTimestamp);
|
|
39
|
+
}
|
|
40
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
41
|
+
return { where, params };
|
|
42
|
+
}
|
|
43
|
+
export class ActivityFeedRepository {
|
|
44
|
+
db;
|
|
45
|
+
constructor(db) {
|
|
46
|
+
this.db = db;
|
|
47
|
+
}
|
|
48
|
+
findAll(options = {}) {
|
|
49
|
+
const limit = Math.min(Math.max(1, options.limit ?? 50), 200);
|
|
50
|
+
const offset = Math.max(0, options.offset ?? 0);
|
|
51
|
+
const { where, params } = buildWhereClause(options);
|
|
52
|
+
return this.db
|
|
53
|
+
.query(`SELECT
|
|
54
|
+
e.id, e.market_address, e.tx_hash, e.block_number, e.timestamp,
|
|
55
|
+
e.event_type, e.trader, e.mean, e.std_dev, e.old_mean, e.old_std_dev,
|
|
56
|
+
e.collateral_posted, e.settlement_value, e.settlement_outcomes_json,
|
|
57
|
+
m.title as market_title, m.category as market_category, m.market_type
|
|
58
|
+
FROM market_events e
|
|
59
|
+
JOIN markets m ON e.market_address = m.address
|
|
60
|
+
${where}
|
|
61
|
+
ORDER BY e.timestamp DESC, e.id DESC
|
|
62
|
+
LIMIT ? OFFSET ?`)
|
|
63
|
+
.all(...params, limit, offset);
|
|
64
|
+
}
|
|
65
|
+
count(options = {}) {
|
|
66
|
+
const { where, params } = buildWhereClause(options);
|
|
67
|
+
const result = this.db
|
|
68
|
+
.query(`SELECT COUNT(*) as total
|
|
69
|
+
FROM market_events e
|
|
70
|
+
JOIN markets m ON e.market_address = m.address
|
|
71
|
+
${where}`)
|
|
72
|
+
.get(...params);
|
|
73
|
+
return result.total;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=activity-feed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../../src/db/repositories/activity-feed.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAc9D,MAAM,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC;AAIzB,SAAS,gBAAgB,CAAC,OAAiC;IAIzD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,oBAAoB,YAAY,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,qBAAqB,YAAY,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,UAAU,CAAC,IAAI,CAAC,wBAAwB,YAAY,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,gBAAgB,YAAY,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAClC,iFAAiF;QACjF,UAAU,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAE7C,OAAO,CAAC,UAAoC,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,EAAE;aACX,KAAK,CACJ;;;;;;;WAOG,KAAK;;0BAEU,CACnB;aACA,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAuB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAoC,EAAE;QAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,KAAK,CACJ;;;WAGG,KAAK,EAAE,CACX;aACA,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;QAEvC,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { ActivityFeedRepository } from './activity-feed';
|
|
1
2
|
export { CursorRepository } from './cursor';
|
|
2
3
|
export { EventRepository } from './event';
|
|
3
4
|
export { MarketRepository } from './market';
|
|
@@ -5,4 +6,5 @@ export { MarketStateRepository, type UpsertMarketStateInput } from './market-sta
|
|
|
5
6
|
export { MultinoulliMarketStateRepository, type UpsertMultinoulliMarketStateInput, } from './multinoulli-market-state';
|
|
6
7
|
export { PositionRepository } from './position';
|
|
7
8
|
export { RankingRepository } from './ranking';
|
|
9
|
+
export { SubscriptionRepository } from './subscription';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,gCAAgC,EAChC,KAAK,iCAAiC,GACvC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,gCAAgC,EAChC,KAAK,iCAAiC,GACvC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { ActivityFeedRepository } from './activity-feed';
|
|
1
2
|
export { CursorRepository } from './cursor';
|
|
2
3
|
export { EventRepository } from './event';
|
|
3
4
|
export { MarketRepository } from './market';
|
|
@@ -5,4 +6,5 @@ export { MarketStateRepository } from './market-state';
|
|
|
5
6
|
export { MultinoulliMarketStateRepository, } from './multinoulli-market-state';
|
|
6
7
|
export { PositionRepository } from './position';
|
|
7
8
|
export { RankingRepository } from './ranking';
|
|
9
|
+
export { SubscriptionRepository } from './subscription';
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAA+B,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,gCAAgC,GAEjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAA+B,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,gCAAgC,GAEjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare class PositionRepository {
|
|
|
8
8
|
constructor(db: Database);
|
|
9
9
|
upsert(input: UpsertPositionInput): void;
|
|
10
10
|
ensureTrader(marketAddress: string, trader: string): void;
|
|
11
|
+
findOne(marketAddress: string, trader: string): UserPositionRow | null;
|
|
11
12
|
findByMarket(marketAddress: string): UserPositionRow[];
|
|
12
13
|
findByTrader(trader: string): UserPositionRow[];
|
|
13
14
|
findAll(): UserPositionRow[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/position.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/position.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IA0DxC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASzD,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAQtE,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,EAAE;IAUtD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE;IAU/C,OAAO,IAAI,eAAe,EAAE;IAM5B,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAM9C"}
|
|
@@ -10,9 +10,9 @@ export class PositionRepository {
|
|
|
10
10
|
mean, sigma, variance, settlement_state, unrealized_pnl,
|
|
11
11
|
delta_count, claimed, position_type, outcome_count,
|
|
12
12
|
original_probs_json, collateral_locked_raw,
|
|
13
|
-
expected_value, effective_mean, effective_sigma,
|
|
14
|
-
effective_probs_json, fetched_at)
|
|
15
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, unixepoch())
|
|
13
|
+
expected_value, realized_pnl, effective_mean, effective_sigma,
|
|
14
|
+
effective_variance, effective_probs_json, fetched_at)
|
|
15
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, unixepoch())
|
|
16
16
|
ON CONFLICT(market_address, trader) DO UPDATE SET
|
|
17
17
|
has_position = excluded.has_position,
|
|
18
18
|
collateral_locked = excluded.collateral_locked,
|
|
@@ -28,12 +28,13 @@ export class PositionRepository {
|
|
|
28
28
|
original_probs_json = excluded.original_probs_json,
|
|
29
29
|
collateral_locked_raw = excluded.collateral_locked_raw,
|
|
30
30
|
expected_value = excluded.expected_value,
|
|
31
|
+
realized_pnl = COALESCE(excluded.realized_pnl, user_positions.realized_pnl),
|
|
31
32
|
effective_mean = excluded.effective_mean,
|
|
32
33
|
effective_sigma = excluded.effective_sigma,
|
|
33
34
|
effective_variance = excluded.effective_variance,
|
|
34
35
|
effective_probs_json = excluded.effective_probs_json,
|
|
35
36
|
fetched_at = unixepoch()`)
|
|
36
|
-
.run(input.market_address, input.trader, input.has_position ? 1 : 0, input.collateral_locked ?? null, input.mean ?? null, input.sigma ?? null, input.variance ?? null, input.settlement_state ?? 'unknown', input.unrealized_pnl ?? null, input.delta_count ?? 0, input.claimed ? 1 : 0, input.position_type ?? 'normal', input.outcome_count ?? null, input.original_probs_json ?? null, input.collateral_locked_raw ?? null, input.expected_value ?? null, input.effective_mean ?? null, input.effective_sigma ?? null, input.effective_variance ?? null, input.effective_probs_json ?? null);
|
|
37
|
+
.run(input.market_address, input.trader, input.has_position ? 1 : 0, input.collateral_locked ?? null, input.mean ?? null, input.sigma ?? null, input.variance ?? null, input.settlement_state ?? 'unknown', input.unrealized_pnl ?? null, input.delta_count ?? 0, input.claimed ? 1 : 0, input.position_type ?? 'normal', input.outcome_count ?? null, input.original_probs_json ?? null, input.collateral_locked_raw ?? null, input.expected_value ?? null, input.realized_pnl ?? null, input.effective_mean ?? null, input.effective_sigma ?? null, input.effective_variance ?? null, input.effective_probs_json ?? null);
|
|
37
38
|
}
|
|
38
39
|
ensureTrader(marketAddress, trader) {
|
|
39
40
|
this.db
|
|
@@ -41,6 +42,11 @@ export class PositionRepository {
|
|
|
41
42
|
VALUES (?, ?)`)
|
|
42
43
|
.run(marketAddress, trader);
|
|
43
44
|
}
|
|
45
|
+
findOne(marketAddress, trader) {
|
|
46
|
+
return (this.db
|
|
47
|
+
.query('SELECT * FROM user_positions WHERE market_address = ? AND trader = ?')
|
|
48
|
+
.get(marketAddress, trader) ?? null);
|
|
49
|
+
}
|
|
44
50
|
findByMarket(marketAddress) {
|
|
45
51
|
return this.db
|
|
46
52
|
.query(`SELECT * FROM user_positions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/db/repositories/position.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAE7C,MAAM,CAAC,KAA0B;QAC/B,IAAI,CAAC,EAAE;aACJ,KAAK,CACJ
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/db/repositories/position.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAE7C,MAAM,CAAC,KAA0B;QAC/B,IAAI,CAAC,EAAE;aACJ,KAAK,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA4B4B,CAC7B;aACA,GAAG,CACF,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAC/B,KAAK,CAAC,IAAI,IAAI,IAAI,EAClB,KAAK,CAAC,KAAK,IAAI,IAAI,EACnB,KAAK,CAAC,QAAQ,IAAI,IAAI,EACtB,KAAK,CAAC,gBAAgB,IAAI,SAAS,EACnC,KAAK,CAAC,cAAc,IAAI,IAAI,EAC5B,KAAK,CAAC,WAAW,IAAI,CAAC,EACtB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrB,KAAK,CAAC,aAAa,IAAI,QAAQ,EAC/B,KAAK,CAAC,aAAa,IAAI,IAAI,EAC3B,KAAK,CAAC,mBAAmB,IAAI,IAAI,EACjC,KAAK,CAAC,qBAAqB,IAAI,IAAI,EACnC,KAAK,CAAC,cAAc,IAAI,IAAI,EAC5B,KAAK,CAAC,YAAY,IAAI,IAAI,EAC1B,KAAK,CAAC,cAAc,IAAI,IAAI,EAC5B,KAAK,CAAC,eAAe,IAAI,IAAI,EAC7B,KAAK,CAAC,kBAAkB,IAAI,IAAI,EAChC,KAAK,CAAC,oBAAoB,IAAI,IAAI,CACnC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,aAAqB,EAAE,MAAc;QAChD,IAAI,CAAC,EAAE;aACJ,KAAK,CACJ;uBACe,CAChB;aACA,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,aAAqB,EAAE,MAAc;QAC3C,OAAO,CACJ,IAAI,CAAC,EAAE;aACL,KAAK,CAAC,sEAAsE,CAAC;aAC7E,GAAG,CAAC,aAAa,EAAE,MAAM,CAA4B,IAAI,IAAI,CACjE,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,aAAqB;QAChC,OAAO,IAAI,CAAC,EAAE;aACX,KAAK,CACJ;;yBAEiB,CAClB;aACA,GAAG,CAAC,aAAa,CAAsB,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,EAAE;aACX,KAAK,CACJ;;iCAEyB,CAC1B;aACA,GAAG,CAAC,MAAM,CAAsB,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,EAAE;aACX,KAAK,CAAC,8DAA8D,CAAC;aACrE,GAAG,EAAuB,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,aAAqB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,KAAK,CAAC,qDAAqD,CAAC;aAC5D,GAAG,CAAC,aAAa,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/ranking.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,cAAc,CAAC,KAAK,SAAK,GAAG,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/ranking.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,cAAc,CAAC,KAAK,SAAK,GAAG,YAAY,EAAE;IAwB1C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;CA+CpD"}
|