@0xinsider/sdk 0.14.0-bootstrap.0 → 0.15.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/dist/schema.d.ts CHANGED
@@ -1212,7 +1212,10 @@ export type PickOfTheDay = {
1212
1212
  state: "full";
1213
1213
  /** The pick's local publication date (YYYY-MM-DD). */
1214
1214
  pick_date?: string;
1215
- /** Stable 1-based slot within the product day's ranked picks. */
1215
+ /**
1216
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
1217
+ * @deprecated
1218
+ */
1216
1219
  pick_rank?: number;
1217
1220
  /** The complete ranked picks for this product day, ordered by pick_rank. Thin days contain fewer items; the selector never fabricates rows. */
1218
1221
  picks?: PickOfTheDay[];
@@ -1382,6 +1385,14 @@ export type PickOfTheDay = {
1382
1385
  selection_lane?: "standard" | "longshot_specialist";
1383
1386
  /** Optional full-only authorization for newly issued policy-7 picks; omitted for legacy or unissued picks and teasers. It remains historical after expiry. */
1384
1387
  entry_authorization?: PotdEntryAuthorization;
1388
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1389
+ pick_id?: string;
1390
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
1391
+ publication_order?: number;
1392
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
1393
+ is_free_selection?: boolean;
1394
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
1395
+ supersedes_pick_id: string | null;
1385
1396
  };
1386
1397
  export type PickOfTheDayArchive = {
1387
1398
  /** Every published Pick of the Day, newest first by pick_date and then pick_rank within each product day. */
@@ -1413,7 +1424,10 @@ export type PickOfTheDayArchiveDay = {
1413
1424
  export type PickOfTheDayArchiveEntry = {
1414
1425
  /** The pick's local publication date (YYYY-MM-DD). */
1415
1426
  pick_date: string;
1416
- /** Stable 1-based slot within the product day's ranked picks. */
1427
+ /**
1428
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
1429
+ * @deprecated
1430
+ */
1417
1431
  pick_rank?: number;
1418
1432
  /** When this pick became public (RFC3339 UTC). pick_date above is the America/New_York product day, not an instant, so read this whenever you need a real time: reading the bare date as UTC midnight places it hours before the earliest instant a pick can drop (11:00 UTC on that date). A day's last pick can drop at 23:00 ET, which is the following UTC date. Omitted (not null) when the instant is unknown; additive and optional for mixed-version client compatibility. */
1419
1433
  published_at?: string;
@@ -1465,9 +1479,19 @@ export type PickOfTheDayArchiveEntry = {
1465
1479
  unit_score?: number;
1466
1480
  /** Backend-formatted signed unit score, present exactly when unit_score is present. */
1467
1481
  unit_score_display?: string;
1468
- };
1482
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1483
+ pick_id: string;
1484
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
1485
+ publication_order: number;
1486
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
1487
+ is_free_selection: boolean;
1488
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
1489
+ supersedes_pick_id: string | null;
1490
+ };
1491
+ /** Select using the entry commitment_version, never implicit payload shape. All historic v1 hashes remain unchanged. */
1492
+ export type PickOfTheDayCommitmentPayload = PickOfTheDayCommitmentPayloadV1 | PickOfTheDayCommitmentPayloadV2;
1469
1493
  /** The frozen identity of the pick, exactly as the hash was taken over it. Served byte for byte as it was hashed -- keys sorted by UTF-8 byte value, no insignificant whitespace -- so a verifier concatenates and hashes with nothing to reconstruct. Property order below is the wire order. The outcome is deliberately NOT part of it: surviving a corrected outcome unchanged is the case the commitment exists for. Worked example: {"backed_price":"0.545000","condition_id":"0xabc","kickoff":"2026-09-20T23:05:00Z","pick_date":"2026-09-20","pick_outcome_index":1,"pick_outcome_label":"Lakers","pick_rank":1,"platform":"polymarket"} with the nonce 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f hashes to 44d18fa5e2aa3a2bf3c971dcc9317c8ccbdfd5480a4773b6d8ffd5fbeeea84dc. */
1470
- export type PickOfTheDayCommitmentPayload = {
1494
+ export type PickOfTheDayCommitmentPayloadV1 = {
1471
1495
  /** Frozen pre-game price of the backed side, 0..1, as the plain decimal text of the stored NUMERIC at full stored precision, trailing zeros included. A string, never a number: a float round-trip would change the bytes and break the hash. Deliberately not normalized -- 0.545000 stays "0.545000". */
1472
1496
  backed_price: string;
1473
1497
  /** Provider condition id of the backed market. */
@@ -1485,6 +1509,26 @@ export type PickOfTheDayCommitmentPayload = {
1485
1509
  /** Provider platform. Always polymarket. */
1486
1510
  platform: "polymarket";
1487
1511
  };
1512
+ /** Version 2 rank-free canonical payload: sorted nine keys, unchanged string escaping, exact decimal text and whole-second UTC kickoff. pick_id is decimal text; version is JSON integer 2. */
1513
+ export type PickOfTheDayCommitmentPayloadV2 = {
1514
+ /** Frozen pre-game price of the backed side, 0..1, as the plain decimal text of the stored NUMERIC at full stored precision, trailing zeros included. A string, never a number: a float round-trip would change the bytes and break the hash. Deliberately not normalized -- 0.545000 stays "0.545000". */
1515
+ backed_price: string;
1516
+ /** Provider condition id of the backed market. */
1517
+ condition_id: string;
1518
+ /** Frozen provider kickoff, whole seconds, UTC, literal Z. Fixed precision, never a shortest-lossless rendering. */
1519
+ kickoff: string;
1520
+ /** ET product day (YYYY-MM-DD). */
1521
+ pick_date: string;
1522
+ /** Index of the backed outcome within the market. */
1523
+ pick_outcome_index: 0 | 1;
1524
+ /** Frozen display label of the backed outcome. */
1525
+ pick_outcome_label: string;
1526
+ /** Provider platform. Always polymarket. */
1527
+ platform: "polymarket";
1528
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1529
+ pick_id: string;
1530
+ version: 2;
1531
+ };
1488
1532
  export type PickOfTheDayHitRate = {
1489
1533
  /** Number of decided picks that won. */
1490
1534
  wins: number;
@@ -1580,7 +1624,10 @@ export type PickOfTheDayLedgerOpenedEntry = {
1580
1624
  state: "opened";
1581
1625
  /** ET product day the pick belongs to (YYYY-MM-DD). */
1582
1626
  pick_date: string;
1583
- /** 1-based daily slot within the product day. */
1627
+ /**
1628
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
1629
+ * @deprecated
1630
+ */
1584
1631
  pick_rank: number;
1585
1632
  /** sha256(canonical_json(payload) || nonce), lowercase hex, no 0x prefix. Publishable the moment the pick releases: without the nonce it is not invertible. */
1586
1633
  commitment_hash: string;
@@ -1603,13 +1650,26 @@ export type PickOfTheDayLedgerOpenedEntry = {
1603
1650
  category: string;
1604
1651
  /** The pick's public page. */
1605
1652
  permalink: string;
1653
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1654
+ pick_id: string;
1655
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
1656
+ publication_order: number;
1657
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
1658
+ is_free_selection: boolean;
1659
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
1660
+ supersedes_pick_id: string | null;
1661
+ /** Explicit proof provenance: 1 retains historic eight-field canonical JSON; 2 binds stable pick_id and version without pick_rank. */
1662
+ commitment_version: 1 | 2;
1606
1663
  };
1607
1664
  /** A published pick that has not settled. Carries the commitment and nothing that states a side or a price: no nonce, no payload, no outcome. Publishable the instant the pick releases. */
1608
1665
  export type PickOfTheDayLedgerSealedEntry = {
1609
1666
  state: "sealed";
1610
1667
  /** ET product day the pick belongs to (YYYY-MM-DD). */
1611
1668
  pick_date: string;
1612
- /** 1-based daily slot within the product day. */
1669
+ /**
1670
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
1671
+ * @deprecated
1672
+ */
1613
1673
  pick_rank: number;
1614
1674
  /** sha256(canonical_json(payload) || nonce), lowercase hex, no 0x prefix. Publishable the moment the pick releases: without the nonce it is not invertible. */
1615
1675
  commitment_hash: string;
@@ -1621,13 +1681,26 @@ export type PickOfTheDayLedgerSealedEntry = {
1621
1681
  kickoff: string;
1622
1682
  /** The pick's public page. */
1623
1683
  permalink: string;
1684
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1685
+ pick_id: string;
1686
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
1687
+ publication_order: number;
1688
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
1689
+ is_free_selection: boolean;
1690
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
1691
+ supersedes_pick_id: string | null;
1692
+ /** Explicit proof provenance: 1 retains historic eight-field canonical JSON; 2 binds stable pick_id and version without pick_rank. */
1693
+ commitment_version: 1 | 2;
1624
1694
  };
1625
1695
  /** A published pick with no commitment: it predates the scheme, or it reached kickoff unsealed. Nothing here is evidence of WHEN the pick was made. It is emitted rather than skipped, because a ledger with holes where the unprovable picks were would silently flatter the record. Once the pick settles, payload names its market, side and price, so the outcome can still be checked against the market's own resolution. */
1626
1696
  export type PickOfTheDayLedgerUncommittedEntry = {
1627
1697
  state: "uncommitted";
1628
1698
  /** ET product day the pick belongs to (YYYY-MM-DD). */
1629
1699
  pick_date: string;
1630
- /** 1-based daily slot within the product day. */
1700
+ /**
1701
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
1702
+ * @deprecated
1703
+ */
1631
1704
  pick_rank: number;
1632
1705
  /** Always true: this pick has no commitment and never will. */
1633
1706
  pre_commitment: true;
@@ -1643,6 +1716,14 @@ export type PickOfTheDayLedgerUncommittedEntry = {
1643
1716
  payload: PickOfTheDayUncommittedPayload | null;
1644
1717
  /** The pick's public page. */
1645
1718
  permalink: string;
1719
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
1720
+ pick_id: string;
1721
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
1722
+ publication_order: number;
1723
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
1724
+ is_free_selection: boolean;
1725
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
1726
+ supersedes_pick_id: string | null;
1646
1727
  };
1647
1728
  /** A settled uncommitted pick's market, side and price. The same eight fields as PickOfTheDayCommitmentPayload, in the same key order, so a settled pick's side and price sit under payload whatever the entry's state. It is NOT a commitment: no hash was taken over it before the game, and it proves nothing about when the pick was made. */
1648
1729
  export type PickOfTheDayUncommittedPayload = {
@@ -2059,7 +2140,10 @@ export type PreGameSideSportFunnelReport = {
2059
2140
  };
2060
2141
  /** One PUBLISHED same-day pick whose holder proof is not readable yet: its stable slot rank, the release and kickoff instants, and the instant before which a retry cannot succeed. Every item in `picks` carries its full required shape, so a pick that cannot meet it is listed here instead of being served with missing fields or a synthetic zero. */
2061
2142
  export type ProofPendingPickSlot = {
2062
- /** Stable 1-based slot within the product day's ranked picks. The pick keeps this rank once its proof is readable and it moves into `picks`. */
2143
+ /**
2144
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
2145
+ * @deprecated
2146
+ */
2063
2147
  pick_rank: number;
2064
2148
  /** The pick's stored release instant. */
2065
2149
  release_at: string;
@@ -2067,6 +2151,14 @@ export type ProofPendingPickSlot = {
2067
2151
  kickoff?: string;
2068
2152
  /** Recommended next read: 30 seconds ahead while pre-game proof is warming, one hour ahead for a post-kickoff pending legacy row that only settlement can make readable. Schedule against it instead of polling. */
2069
2153
  retry_at: string;
2154
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
2155
+ pick_id: string;
2156
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
2157
+ publication_order: number;
2158
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
2159
+ is_free_selection: boolean;
2160
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
2161
+ supersedes_pick_id: string | null;
2070
2162
  };
2071
2163
  export type ReportPayload = {
2072
2164
  /** Canonical key since #16304; total_whale_trades is its deprecated spelling, emitted beside it with the same value. */
@@ -2198,12 +2290,23 @@ export type ResponseMeta = {
2198
2290
  };
2199
2291
  /** One same-day pick that is selected but not yet released: its stable slot rank plus the backend-owned release and kickoff instants. Deliberately minimal -- no matchup, category, platform, side, price, or holder fields exist on this shape before release. */
2200
2292
  export type ScheduledPickSlot = {
2201
- /** Stable 1-based slot within the product day's ranked picks. The slot keeps this rank when it releases. */
2293
+ /**
2294
+ * Deprecated compatibility daily release slot; use pick_id for identity and publication_order for scheduling.
2295
+ * @deprecated
2296
+ */
2202
2297
  pick_rank: number;
2203
2298
  /** The slot's scheduled release instant, normally the current provider kickoff minus one hour. The actual publish can trail it by bounded worker delay. */
2204
2299
  release_at: string;
2205
2300
  /** The backed game's current kickoff instant. */
2206
2301
  kickoff: string;
2302
+ /** Stable pick row identity as decimal text. Never use a quality rank as identity. */
2303
+ pick_id: string;
2304
+ /** Compatibility release slot. No quality claim; historic scheduling order is retained. */
2305
+ publication_order: number;
2306
+ /** Viewer-independent free selection designation. New rows store it explicitly; historic null storage uses the original free slot. */
2307
+ is_free_selection: boolean;
2308
+ /** Replacement predecessor stable id; null when no lineage is recorded. */
2309
+ supersedes_pick_id: string | null;
2207
2310
  };
2208
2311
  /** One side's score in a single set. The verbatim provider text stays on the team's `score` string; this is the parsed form. */
2209
2312
  export type ScoreCell = {
@@ -3254,6 +3357,7 @@ export interface OperationData {
3254
3357
  getPickOfTheDay: PickOfTheDay;
3255
3358
  getPickOfTheDayArchive: PickOfTheDayArchive;
3256
3359
  getPickOfTheDayLedger: PickOfTheDayLedger;
3360
+ getPickOfTheDayLedgerEntry: PickOfTheDayLedgerEntry;
3257
3361
  getPlatforms: Platforms;
3258
3362
  getPositionTimeline: PositionTimelineEvent[];
3259
3363
  getPositionTimelineById: PositionTimelineEvent[];
@@ -3636,6 +3740,7 @@ export interface OperationQuery {
3636
3740
  getPickOfTheDay: Record<string, never>;
3637
3741
  getPickOfTheDayArchive: Record<string, never>;
3638
3742
  getPickOfTheDayLedger: Record<string, never>;
3743
+ getPickOfTheDayLedgerEntry: Record<string, never>;
3639
3744
  getPlatforms: Record<string, never>;
3640
3745
  getPositionTimeline: {
3641
3746
  /** Market condition_id. One timeline per (trader, market). */
@@ -4130,6 +4235,10 @@ export interface OperationPath {
4130
4235
  getPickOfTheDay: Record<string, never>;
4131
4236
  getPickOfTheDayArchive: Record<string, never>;
4132
4237
  getPickOfTheDayLedger: Record<string, never>;
4238
+ getPickOfTheDayLedgerEntry: {
4239
+ /** Stable positive pick row id as canonical decimal text. */
4240
+ pick_id: string;
4241
+ };
4133
4242
  getPlatforms: Record<string, never>;
4134
4243
  getPositionTimeline: {
4135
4244
  /** Trader identity: 0x... wallet address, username, trd_-prefixed trader id, bare integer traders.id, or @username. Resolved with precedence @username -> wallet -> trd_ -> integer -> username (a leading @ forces a username lookup, for all-digit usernames); wallet matching is case-insensitive. */
@@ -4324,6 +4433,7 @@ export interface OperationBody {
4324
4433
  getPickOfTheDay: never;
4325
4434
  getPickOfTheDayArchive: never;
4326
4435
  getPickOfTheDayLedger: never;
4436
+ getPickOfTheDayLedgerEntry: never;
4327
4437
  getPlatforms: never;
4328
4438
  getPositionTimeline: never;
4329
4439
  getPositionTimelineById: never;
@@ -4546,6 +4656,11 @@ export interface OperationResponse {
4546
4656
  data: OperationData["getPickOfTheDayLedger"];
4547
4657
  meta: ResponseMeta;
4548
4658
  };
4659
+ getPickOfTheDayLedgerEntry: {
4660
+ object: "pick_of_the_day_ledger_entry";
4661
+ data: OperationData["getPickOfTheDayLedgerEntry"];
4662
+ meta: ResponseMeta;
4663
+ };
4549
4664
  getPlatforms: {
4550
4665
  object: "platforms";
4551
4666
  data: OperationData["getPlatforms"];