@0xinsider/sdk 0.24.0 → 0.25.0
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/README.md +17 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/provenance.d.ts +2 -2
- package/dist/provenance.d.ts.map +1 -1
- package/dist/provenance.js +3 -3
- package/dist/provenance.js.map +1 -1
- package/dist/schema.d.ts +73 -13
- package/dist/schema.d.ts.map +1 -1
- package/dist/webhooks.d.ts +131 -16
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +22 -6
- package/dist/webhooks.js.map +1 -1
- package/package.json +1 -1
package/dist/webhooks.d.ts
CHANGED
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
* across at-least-once retries. Terminal states never restart on polling or
|
|
42
42
|
* replay. The legacy synchronous method and its retry restriction remain.
|
|
43
43
|
*/
|
|
44
|
+
import type { Grade } from "./client.js";
|
|
45
|
+
import type { WebhookEventType as ContractWebhookEventType } from "./schema.js";
|
|
44
46
|
/** Default replay tolerance; the published contract is 300 seconds. */
|
|
45
47
|
export declare const SIGNATURE_TOLERANCE_SECONDS = 300;
|
|
46
48
|
/** Header carrying the `v1=<hex>` signature. */
|
|
@@ -88,12 +90,14 @@ export declare function computeSignature(secret: string, timestamp: number | str
|
|
|
88
90
|
*/
|
|
89
91
|
export declare function verifySignature(input: VerifySignatureInput): boolean;
|
|
90
92
|
/**
|
|
91
|
-
* Webhook event types. Source of truth:
|
|
92
|
-
* `web/public/api/v1/openapi.json` -> components.schemas.WebhookEventType.enum
|
|
93
|
-
* `
|
|
94
|
-
* `
|
|
95
|
-
* `
|
|
96
|
-
*
|
|
93
|
+
* Webhook event types, as a runtime list. Source of truth:
|
|
94
|
+
* `web/public/api/v1/openapi.json` -> components.schemas.WebhookEventType.enum,
|
|
95
|
+
* which `schema.ts` carries as the generated `WebhookEventType` union.
|
|
96
|
+
* `large_trade_inserted_v2`, `large_trades_inserted`, `whale_trades_inserted`,
|
|
97
|
+
* `wallet_grade_changed`, `suspicious_trade_flagged`,
|
|
98
|
+
* `insider_radar_flag_raised`, `sharp_money_flow_detected`, and
|
|
99
|
+
* `smart_money_flow_detected` are Pro and Max: they deliver only to API keys
|
|
100
|
+
* on an active Pro or Max subscription.
|
|
97
101
|
*
|
|
98
102
|
* Some entries are two spellings of ONE event, not two events: either one
|
|
99
103
|
* subscribes, and an endpoint receives its deliveries under the spelling it
|
|
@@ -103,9 +107,30 @@ export declare function verifySignature(input: VerifySignatureInput): boolean;
|
|
|
103
107
|
* `insider_radar_flag_raised` (#16301), and `sharp_money_flow_detected` over
|
|
104
108
|
* `smart_money_flow_detected` (#16308). No deprecated spelling is ever
|
|
105
109
|
* removed.
|
|
110
|
+
*
|
|
111
|
+
* This list, the generated union and the typed envelopes in `WebhookEvent`
|
|
112
|
+
* are one set, and the compiler holds them equal (#24603). Each is checked as
|
|
113
|
+
* a subset of the next: `satisfies` below refuses a name with no typed
|
|
114
|
+
* envelope, the `WebhookEventEnvelope` constraint refuses an envelope for a
|
|
115
|
+
* name the contract does not have, and `WebhookEventType` refuses a contract
|
|
116
|
+
* name this list lacks. A new event type therefore fails the SDK build until
|
|
117
|
+
* it is listed here and typed below. Before that check, the list missed
|
|
118
|
+
* `large_trade_inserted_v2` for three weeks after the API began offering it.
|
|
119
|
+
*
|
|
120
|
+
* A new name goes at the end, so the index of every earlier name is unchanged.
|
|
106
121
|
*/
|
|
107
|
-
export declare const WEBHOOK_EVENT_TYPES: readonly ["large_trades_inserted", "whale_trades_inserted", "live_sports_updated", "trader_synced", "whale_trader_synced", "large_positions_updated", "wallet_grade_changed", "suspicious_trade_flagged", "insider_radar_flag_raised", "sharp_money_flow_detected", "smart_money_flow_detected", "export_job_ready", "export_job_failed", "export_job_expired", "export_job_cancelled"];
|
|
108
|
-
|
|
122
|
+
export declare const WEBHOOK_EVENT_TYPES: readonly ["large_trades_inserted", "whale_trades_inserted", "live_sports_updated", "trader_synced", "whale_trader_synced", "large_positions_updated", "wallet_grade_changed", "suspicious_trade_flagged", "insider_radar_flag_raised", "sharp_money_flow_detected", "smart_money_flow_detected", "export_job_ready", "export_job_failed", "export_job_expired", "export_job_cancelled", "large_trade_inserted_v2"];
|
|
123
|
+
/**
|
|
124
|
+
* `T`, unchanged, when `Missing` is `never`. Any other `Missing` fails its
|
|
125
|
+
* constraint, so the compile error names what is missing.
|
|
126
|
+
*/
|
|
127
|
+
type Complete<T, Missing extends never> = T | Missing;
|
|
128
|
+
/**
|
|
129
|
+
* Every webhook event type: the generated contract union. It compiles only
|
|
130
|
+
* while `WEBHOOK_EVENT_TYPES` lists every name in the contract, and the error
|
|
131
|
+
* names the one the list lacks.
|
|
132
|
+
*/
|
|
133
|
+
export type WebhookEventType = Complete<ContractWebhookEventType, Exclude<ContractWebhookEventType, (typeof WEBHOOK_EVENT_TYPES)[number]>>;
|
|
109
134
|
/**
|
|
110
135
|
* Common delivery envelope every webhook POST body carries. Source of truth:
|
|
111
136
|
* the `enqueue_webhook_event` call sites in the backend
|
|
@@ -119,10 +144,61 @@ export interface WebhookEventEnvelope<TType extends WebhookEventType = WebhookEv
|
|
|
119
144
|
created_at: string;
|
|
120
145
|
data: TData;
|
|
121
146
|
}
|
|
122
|
-
/**
|
|
123
|
-
|
|
147
|
+
/**
|
|
148
|
+
* `large_trade_inserted_v2` data (Pro and Max): one large trade, with the
|
|
149
|
+
* trade itself. Source: `LargeTradeInsertedV2` in
|
|
150
|
+
* `backend/crates/core/src/feed_event.rs`.
|
|
151
|
+
*
|
|
152
|
+
* The three amounts are decimal strings that keep the stored precision. Parse
|
|
153
|
+
* them with a decimal library when the exact value matters; `Number` rounds.
|
|
154
|
+
* The endpoint's `trade_filters` decide which trades it receives.
|
|
155
|
+
*/
|
|
156
|
+
export interface LargeTradeInsertedV2Data {
|
|
157
|
+
/**
|
|
158
|
+
* Stable identity of this trade's event. It equals the envelope `id`, and
|
|
159
|
+
* the `id` of the same event on `GET /api/v1/events/feed/since`.
|
|
160
|
+
*/
|
|
161
|
+
event_id: string;
|
|
162
|
+
/** Numeric id of the trade. `GET /api/v1/large-trades/{id}` accepts it. */
|
|
163
|
+
whale_alert_id: number;
|
|
164
|
+
/** Polymarket condition id of the market. */
|
|
165
|
+
condition_id: string;
|
|
166
|
+
/** 0xinsider's numeric id for the wallet. */
|
|
167
|
+
trader_id: number;
|
|
168
|
+
/** Address of the wallet that made the trade. */
|
|
169
|
+
wallet: string;
|
|
170
|
+
/** The wallet's grade when the event was published; `null` when it has none. */
|
|
171
|
+
grade: Grade | null;
|
|
172
|
+
/** USD notional of the trade; decimal string. */
|
|
173
|
+
size_usd: string;
|
|
174
|
+
/** Shares traded; decimal string. */
|
|
175
|
+
shares: string;
|
|
176
|
+
/** Price paid per share; decimal string. */
|
|
177
|
+
price: string;
|
|
178
|
+
side: "BUY" | "SELL";
|
|
179
|
+
/** Polymarket's index of the outcome traded. */
|
|
180
|
+
outcome_index: number;
|
|
181
|
+
/** When the trade filled on Polymarket (ISO 8601). */
|
|
182
|
+
traded_at: string;
|
|
183
|
+
platform: "polymarket";
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* `large_trades_inserted` data (Pro and Max): new large trades were ingested.
|
|
187
|
+
* It carries a count and no trade; subscribe to `large_trade_inserted_v2` for
|
|
188
|
+
* the trade itself.
|
|
189
|
+
*
|
|
190
|
+
* Delivered identically under the deprecated spelling `whale_trades_inserted`
|
|
191
|
+
* (#16304) to an endpoint that registered that spelling; the payload is the
|
|
192
|
+
* same.
|
|
193
|
+
*/
|
|
194
|
+
export interface LargeTradesInsertedData {
|
|
124
195
|
count: number;
|
|
125
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* @deprecated Use `LargeTradesInsertedData`; renamed in #16304. The two event
|
|
199
|
+
* spellings are one event with one payload, so this is an alias.
|
|
200
|
+
*/
|
|
201
|
+
export type WhaleTradesInsertedData = LargeTradesInsertedData;
|
|
126
202
|
/** One side's score line inside a `live_sports_updated` pulse. */
|
|
127
203
|
export interface LiveSportsScoreEntry {
|
|
128
204
|
team: string;
|
|
@@ -171,11 +247,22 @@ export interface LiveSportsUpdatedData {
|
|
|
171
247
|
/** Public game page; re-read it after a gap instead of replaying pulses. */
|
|
172
248
|
snapshot_url: string;
|
|
173
249
|
}
|
|
174
|
-
/**
|
|
175
|
-
|
|
250
|
+
/**
|
|
251
|
+
* `trader_synced` data: a tracked trader finished a sync pass.
|
|
252
|
+
*
|
|
253
|
+
* Delivered identically under the deprecated spelling `whale_trader_synced`
|
|
254
|
+
* (#16304) to an endpoint that registered that spelling; the payload is the
|
|
255
|
+
* same.
|
|
256
|
+
*/
|
|
257
|
+
export interface TraderSyncedData {
|
|
176
258
|
trader_id: number;
|
|
177
259
|
wallet: string;
|
|
178
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* @deprecated Use `TraderSyncedData`; renamed in #16304. The two event
|
|
263
|
+
* spellings are one event with one payload, so this is an alias.
|
|
264
|
+
*/
|
|
265
|
+
export type WhaleTraderSyncedData = TraderSyncedData;
|
|
179
266
|
/** `large_positions_updated` data. */
|
|
180
267
|
export interface LargePositionsUpdatedData {
|
|
181
268
|
count: number;
|
|
@@ -273,9 +360,31 @@ export interface ExportJobCancelledData {
|
|
|
273
360
|
format: string;
|
|
274
361
|
next_action: "resubmit";
|
|
275
362
|
}
|
|
276
|
-
|
|
363
|
+
/**
|
|
364
|
+
* One large trade per delivery (Pro and Max, #16149). The envelope `id` equals
|
|
365
|
+
* `data.event_id`, and `created_at` is the trade's fill time
|
|
366
|
+
* (`data.traded_at`), not the time the delivery was queued.
|
|
367
|
+
*/
|
|
368
|
+
export type LargeTradeInsertedV2Event = WebhookEventEnvelope<"large_trade_inserted_v2", LargeTradeInsertedV2Data>;
|
|
369
|
+
export type LargeTradesInsertedEvent = WebhookEventEnvelope<"large_trades_inserted", LargeTradesInsertedData>;
|
|
370
|
+
/**
|
|
371
|
+
* @deprecated Use `LargeTradesInsertedEvent`; renamed in #16304. This stays a
|
|
372
|
+
* distinct envelope rather than an alias of it because the delivered `type`
|
|
373
|
+
* discriminant is the spelling the endpoint registered: an endpoint subscribed
|
|
374
|
+
* to `whale_trades_inserted` keeps receiving that literal, so narrowing on it
|
|
375
|
+
* keeps working.
|
|
376
|
+
*/
|
|
377
|
+
export type WhaleTradesInsertedEvent = WebhookEventEnvelope<"whale_trades_inserted", LargeTradesInsertedData>;
|
|
277
378
|
export type LiveSportsUpdatedEvent = WebhookEventEnvelope<"live_sports_updated", LiveSportsUpdatedData>;
|
|
278
|
-
export type
|
|
379
|
+
export type TraderSyncedEvent = WebhookEventEnvelope<"trader_synced", TraderSyncedData>;
|
|
380
|
+
/**
|
|
381
|
+
* @deprecated Use `TraderSyncedEvent`; renamed in #16304. This stays a
|
|
382
|
+
* distinct envelope rather than an alias of it because the delivered `type`
|
|
383
|
+
* discriminant is the spelling the endpoint registered: an endpoint subscribed
|
|
384
|
+
* to `whale_trader_synced` keeps receiving that literal, so narrowing on it
|
|
385
|
+
* keeps working.
|
|
386
|
+
*/
|
|
387
|
+
export type WhaleTraderSyncedEvent = WebhookEventEnvelope<"whale_trader_synced", TraderSyncedData>;
|
|
279
388
|
export type LargePositionsUpdatedEvent = WebhookEventEnvelope<"large_positions_updated", LargePositionsUpdatedData>;
|
|
280
389
|
export type WalletGradeChangedEvent = WebhookEventEnvelope<"wallet_grade_changed", WalletGradeChangedData>;
|
|
281
390
|
export type SuspiciousTradeFlaggedEvent = WebhookEventEnvelope<"suspicious_trade_flagged", SuspiciousTradeFlaggedData>;
|
|
@@ -311,12 +420,18 @@ export type ExportJobCancelledEvent = WebhookEventEnvelope<"export_job_cancelled
|
|
|
311
420
|
* `SuspiciousTradeFlaggedEvent` and `InsiderRadarFlagRaisedEvent` are both
|
|
312
421
|
* members because the same event is delivered under whichever spelling the
|
|
313
422
|
* endpoint registered (#16301); the `data` shape is identical. So are
|
|
314
|
-
* `SharpMoneyFlowDetectedEvent` and `SmartMoneyFlowDetectedEvent` (#16308)
|
|
423
|
+
* `SharpMoneyFlowDetectedEvent` and `SmartMoneyFlowDetectedEvent` (#16308),
|
|
424
|
+
* `LargeTradesInsertedEvent` and `WhaleTradesInsertedEvent`, and
|
|
425
|
+
* `TraderSyncedEvent` and `WhaleTraderSyncedEvent` (#16304).
|
|
426
|
+
*
|
|
427
|
+
* One member for every name in `WEBHOOK_EVENT_TYPES`; the `satisfies` on that
|
|
428
|
+
* list fails to compile when a name has none.
|
|
315
429
|
*/
|
|
316
|
-
export type WebhookEvent = WhaleTradesInsertedEvent | LiveSportsUpdatedEvent | WhaleTraderSyncedEvent | LargePositionsUpdatedEvent | WalletGradeChangedEvent | SuspiciousTradeFlaggedEvent | InsiderRadarFlagRaisedEvent | SharpMoneyFlowDetectedEvent | SmartMoneyFlowDetectedEvent | ExportJobReadyEvent | ExportJobFailedEvent | ExportJobExpiredEvent | ExportJobCancelledEvent;
|
|
430
|
+
export type WebhookEvent = LargeTradeInsertedV2Event | LargeTradesInsertedEvent | WhaleTradesInsertedEvent | LiveSportsUpdatedEvent | TraderSyncedEvent | WhaleTraderSyncedEvent | LargePositionsUpdatedEvent | WalletGradeChangedEvent | SuspiciousTradeFlaggedEvent | InsiderRadarFlagRaisedEvent | SharpMoneyFlowDetectedEvent | SmartMoneyFlowDetectedEvent | ExportJobReadyEvent | ExportJobFailedEvent | ExportJobExpiredEvent | ExportJobCancelledEvent;
|
|
317
431
|
/**
|
|
318
432
|
* Parse a verified raw body into the typed delivery envelope. Call only AFTER
|
|
319
433
|
* `verifySignature` passes (parsing first would let an unverified payload in).
|
|
320
434
|
*/
|
|
321
435
|
export declare function parseWebhookEvent(body: string): WebhookEvent;
|
|
436
|
+
export {};
|
|
322
437
|
//# sourceMappingURL=webhooks.d.ts.map
|
package/dist/webhooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAIH,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,2GAA2G;IAC3G,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,MAAM,CAMR;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAuCpE;AAcD
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
|
package/dist/webhooks.js
CHANGED
|
@@ -114,12 +114,14 @@ function constantTimeEqual(candidate, expected) {
|
|
|
114
114
|
}
|
|
115
115
|
// --- Typed webhook payloads ---
|
|
116
116
|
/**
|
|
117
|
-
* Webhook event types. Source of truth:
|
|
118
|
-
* `web/public/api/v1/openapi.json` -> components.schemas.WebhookEventType.enum
|
|
119
|
-
* `
|
|
120
|
-
* `
|
|
121
|
-
* `
|
|
122
|
-
*
|
|
117
|
+
* Webhook event types, as a runtime list. Source of truth:
|
|
118
|
+
* `web/public/api/v1/openapi.json` -> components.schemas.WebhookEventType.enum,
|
|
119
|
+
* which `schema.ts` carries as the generated `WebhookEventType` union.
|
|
120
|
+
* `large_trade_inserted_v2`, `large_trades_inserted`, `whale_trades_inserted`,
|
|
121
|
+
* `wallet_grade_changed`, `suspicious_trade_flagged`,
|
|
122
|
+
* `insider_radar_flag_raised`, `sharp_money_flow_detected`, and
|
|
123
|
+
* `smart_money_flow_detected` are Pro and Max: they deliver only to API keys
|
|
124
|
+
* on an active Pro or Max subscription.
|
|
123
125
|
*
|
|
124
126
|
* Some entries are two spellings of ONE event, not two events: either one
|
|
125
127
|
* subscribes, and an endpoint receives its deliveries under the spelling it
|
|
@@ -129,6 +131,17 @@ function constantTimeEqual(candidate, expected) {
|
|
|
129
131
|
* `insider_radar_flag_raised` (#16301), and `sharp_money_flow_detected` over
|
|
130
132
|
* `smart_money_flow_detected` (#16308). No deprecated spelling is ever
|
|
131
133
|
* removed.
|
|
134
|
+
*
|
|
135
|
+
* This list, the generated union and the typed envelopes in `WebhookEvent`
|
|
136
|
+
* are one set, and the compiler holds them equal (#24603). Each is checked as
|
|
137
|
+
* a subset of the next: `satisfies` below refuses a name with no typed
|
|
138
|
+
* envelope, the `WebhookEventEnvelope` constraint refuses an envelope for a
|
|
139
|
+
* name the contract does not have, and `WebhookEventType` refuses a contract
|
|
140
|
+
* name this list lacks. A new event type therefore fails the SDK build until
|
|
141
|
+
* it is listed here and typed below. Before that check, the list missed
|
|
142
|
+
* `large_trade_inserted_v2` for three weeks after the API began offering it.
|
|
143
|
+
*
|
|
144
|
+
* A new name goes at the end, so the index of every earlier name is unchanged.
|
|
132
145
|
*/
|
|
133
146
|
export const WEBHOOK_EVENT_TYPES = [
|
|
134
147
|
"large_trades_inserted",
|
|
@@ -150,6 +163,9 @@ export const WEBHOOK_EVENT_TYPES = [
|
|
|
150
163
|
"export_job_failed",
|
|
151
164
|
"export_job_expired",
|
|
152
165
|
"export_job_cancelled",
|
|
166
|
+
// Pro and Max. One large trade per delivery, with the trade in `data`
|
|
167
|
+
// (#16149); `large_trades_inserted` and its twin carry only a count.
|
|
168
|
+
"large_trade_inserted_v2",
|
|
153
169
|
];
|
|
154
170
|
/**
|
|
155
171
|
* Parse a verified raw body into the typed delivery envelope. Call only AFTER
|
package/dist/webhooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xinsider/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"description": "Official TypeScript SDK for the 0xinsider API - analytics for Polymarket sports and esports markets (REST, cursor pagination, SSE stream, webhook verification)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|