@oddmaki-protocol/sdk 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -9529,15 +9529,24 @@ interface PriceMarketData {
9529
9529
  finalPrice: bigint;
9530
9530
  resolutionWindow: bigint;
9531
9531
  resolved: boolean;
9532
+ /**
9533
+ * Reference price for resolution.
9534
+ * - Explicit-strike markets: set at creation, never changes.
9535
+ * - Deferred Up/Down markets: 0 at creation, populated at resolution with the
9536
+ * open price captured from the earliest Hermes VAA in
9537
+ * `[openTime, openTime + resolutionWindow]`.
9538
+ */
9532
9539
  strikePrice: bigint;
9533
9540
  /**
9534
- * Pyth VAA publishTime for the opening-price capture (seconds since epoch).
9535
- * 0 for strike markets (no opening price is captured).
9541
+ * Pyth VAA publishTime of the open-price capture (seconds since epoch).
9542
+ * - Explicit-strike markets: always 0 (no open price is captured).
9543
+ * - Deferred Up/Down markets: 0 until resolution, then set to the open VAA's
9544
+ * publishTime.
9536
9545
  */
9537
9546
  openPriceTime: bigint;
9538
9547
  }
9539
9548
  /**
9540
- * Latest Pyth price update data plus the signed VAA's publishTime.
9549
+ * Latest Pyth price update plus the signed VAA's publishTime.
9541
9550
  * `fetchedAt` is the SDK-local unix timestamp (seconds) at fetch time.
9542
9551
  */
9543
9552
  interface PythUpdate {
@@ -9545,31 +9554,66 @@ interface PythUpdate {
9545
9554
  publishTime: bigint;
9546
9555
  fetchedAt: bigint;
9547
9556
  }
9557
+ /**
9558
+ * Projected open price for a deferred Up/Down market that hasn't resolved yet.
9559
+ * Derived from the same Hermes VAA the on-chain resolver will pick.
9560
+ */
9561
+ interface ProjectedOpenPrice {
9562
+ /** Price extracted from the open-window Hermes VAA (Pyth feed-native units). */
9563
+ price: bigint;
9564
+ /** publishTime of the VAA (seconds since epoch). */
9565
+ publishTime: bigint;
9566
+ /** Pyth's price exponent for the feed (e.g. -8). Convenience for UI formatting. */
9567
+ expo: number;
9568
+ /**
9569
+ * `true` once `block.timestamp >= openTime + resolutionWindow` — past that point
9570
+ * every client querying Hermes the same way agrees on the same VAA and the
9571
+ * on-chain strike at resolution will equal this exact `price`. Before that,
9572
+ * the value is a best-effort projection that could shift slightly as Hermes
9573
+ * publishes new VAAs inside the window.
9574
+ */
9575
+ canonical: boolean;
9576
+ /** The market's openTime this projection corresponds to. */
9577
+ openTime: bigint;
9578
+ }
9548
9579
  declare class PriceMarketModule extends BaseModule {
9549
9580
  /**
9550
- * Create a Pyth-powered price market
9581
+ * Create a Pyth-powered price market. Three shapes via one entry point:
9582
+ *
9583
+ * - **Immediate Up/Down** (`strikePrice = 0`, `openTime = 0` or omitted):
9584
+ * `openTime` is set to `block.timestamp` at creation; open price is
9585
+ * captured at resolution from the earliest Hermes VAA in
9586
+ * `[openTime, openTime + resolutionWindow]`.
9587
+ *
9588
+ * - **Scheduled Up/Down** (`strikePrice = 0`, `openTime > now`):
9589
+ * Market exists from creation and is tradable. At `openTime` the open
9590
+ * price window begins; capture happens at resolution as above.
9591
+ *
9592
+ * - **Explicit strike** (`strikePrice > 0`): Above/Below market resolved
9593
+ * against the caller-supplied target. `openTime` is ignored and stored
9594
+ * as `block.timestamp`; no open-price capture occurs at resolution.
9551
9595
  *
9552
- * When strikePrice > 0, creates a strike market resolved against
9553
- * the explicit target price. No Pyth update data or ETH is needed.
9554
- * When strikePrice is 0 or omitted, captures the current Pyth price
9555
- * and uses it as the reference (standard Up/Down market).
9596
+ * Creation never touches Pyth no VAA submission, no Pyth fee. The
9597
+ * resolver pays Pyth fees later when calling {@link resolvePyth}.
9556
9598
  *
9557
9599
  * @param params.venueId - The venue to create the market in
9558
9600
  * @param params.pythFeedId - Pyth price feed ID (e.g., ETH/USD)
9559
- * @param params.strikePrice - Target price in feed's exponent scale (0 = use current price)
9560
- * @param params.closeTime - Absolute close timestamp (must be 300–86400s from now)
9601
+ * @param params.strikePrice - Target price (0 = capture open at resolution)
9602
+ * @param params.openTime - When the market opens (0 = immediate / now)
9603
+ * @param params.closeTime - Absolute close timestamp (must be > effective openTime)
9561
9604
  * @param params.outcomes - Market outcome labels (e.g., ["Up", "Down"] or ["Above", "Below"])
9562
- * @param params.tickSize - Price increment for the orderbook
9605
+ * @param params.tickSize - Price increment for the orderbook (1e15 or 1e16)
9563
9606
  * @param params.collateralToken - ERC20 collateral token address
9564
- * @param params.question - Market question for UMA ancillary data (fallback)
9607
+ * @param params.question - Market question for ancillary data
9565
9608
  * @param params.liveness - UMA challenge period in seconds (0 = default)
9566
9609
  * @param params.tags - Optional tags for the market
9567
- * @param params.resolutionWindow - Pyth timestamp tolerance in seconds (0 = default 60s)
9610
+ * @param params.resolutionWindow - Pyth timestamp tolerance in seconds (0 = default 60s, max 300s)
9568
9611
  */
9569
9612
  createPyth(params: {
9570
9613
  venueId: bigint;
9571
9614
  pythFeedId: `0x${string}`;
9572
9615
  strikePrice?: bigint;
9616
+ openTime?: bigint;
9573
9617
  closeTime: bigint;
9574
9618
  outcomes?: string[];
9575
9619
  tickSize: bigint;
@@ -9580,11 +9624,14 @@ declare class PriceMarketModule extends BaseModule {
9580
9624
  resolutionWindow?: bigint;
9581
9625
  }): Promise<`0x${string}`>;
9582
9626
  /**
9583
- * Resolve a price market using Pyth closing price
9627
+ * Resolve a price market using Pyth.
9584
9628
  *
9585
- * Anyone can call this after the market's closeTime has passed.
9586
- * Fetches the historical Pyth price at closeTime and submits it.
9587
- * Works for both standard price markets and strike markets.
9629
+ * Anyone can call this after `closeTime`. For deferred Up/Down markets
9630
+ * (`strikePrice == 0`), the SDK fetches **two** Hermes VAAs one for the
9631
+ * open window, one for the close window and submits them together so the
9632
+ * on-chain facet can capture the open price and compare against the close
9633
+ * in a single transaction. For explicit-strike markets only the close VAA
9634
+ * is fetched.
9588
9635
  */
9589
9636
  resolvePyth(marketId: bigint): Promise<`0x${string}`>;
9590
9637
  /**
@@ -9592,7 +9639,7 @@ declare class PriceMarketModule extends BaseModule {
9592
9639
  */
9593
9640
  isPriceMarket(marketId: bigint): Promise<boolean>;
9594
9641
  /**
9595
- * Check if a price market can be resolved
9642
+ * Check if a price market can be resolved (closeTime reached and not yet resolved).
9596
9643
  */
9597
9644
  canResolve(marketId: bigint): Promise<boolean>;
9598
9645
  /**
@@ -9607,46 +9654,29 @@ declare class PriceMarketModule extends BaseModule {
9607
9654
  * Set the Pyth oracle contract address. Diamond owner only.
9608
9655
  */
9609
9656
  setPythContract(pythContract: Address): Promise<`0x${string}`>;
9610
- /**
9611
- * Get the effective opening-price staleness window in seconds.
9612
- *
9613
- * A submitted VAA's `publishTime` must fall within
9614
- * `[block.timestamp - openMaxStaleness, block.timestamp + OPEN_FUTURE_SKEW]`
9615
- * at `createPriceMarketPyth` time. Defaults to 300s when unset on-chain.
9616
- */
9617
- getOpenMaxStaleness(): Promise<bigint>;
9618
- /**
9619
- * Set the opening-price staleness window (seconds). Diamond owner only.
9620
- * Pass 0 to fall back to the built-in default.
9621
- */
9622
- setOpenMaxStaleness(openMaxStaleness: bigint): Promise<`0x${string}`>;
9623
9657
  /**
9624
9658
  * Shared pre-flight checks: creation fee allowance, ancillary data, tags
9625
9659
  */
9626
9660
  private _prepareCreationCommon;
9627
- /**
9628
- * Fetch Pyth update data and compute the required ETH value (for Up/Down markets)
9629
- */
9630
- private _preparePythUpdate;
9631
9661
  private formatAncillaryData;
9632
9662
  /**
9633
- * Fetch latest Pyth price update from Hermes — bytes plus the VAA's publishTime.
9663
+ * Fetch the latest Pyth price update from Hermes — the bytes plus the
9664
+ * VAA's publishTime.
9634
9665
  *
9635
- * Use this (or {@link fetchFreshPythUpdate}) instead of re-rolling Hermes
9636
- * calls when building `createPriceMarketPyth` transactions. The on-chain
9637
- * staleness window defaults to 300s — if the user takes longer than that
9638
- * to sign, the VAA will be rejected.
9666
+ * Useful for UI projected-strike display: callers can render the current
9667
+ * Pyth price (and its publishTime) before a deferred market's open window
9668
+ * closes, then switch to the on-chain strike once resolution happens.
9639
9669
  */
9640
9670
  fetchPythLatestUpdate(feedId: `0x${string}`): Promise<PythUpdate>;
9641
9671
  /**
9642
- * Return a Pyth update that is fresh enough to pass the on-chain staleness check.
9672
+ * Return a Pyth update that is fresh enough for client-side projected-strike
9673
+ * display.
9643
9674
  *
9644
- * If `cached` is provided and still within `maxAgeSeconds`, it is returned as-is.
9645
- * Otherwise Hermes is re-queried; if the newly fetched VAA is also older than
9646
- * `maxAgeSeconds` (e.g. feed is quiet), it retries up to `maxAttempts`.
9675
+ * If `cached` is provided and still within `maxAgeSeconds`, returns it
9676
+ * unchanged. Otherwise re-queries Hermes; if the new VAA is also stale
9677
+ * (quiet feed), retries up to `maxAttempts`.
9647
9678
  *
9648
- * Defaults: `maxAgeSeconds = 120` (leaves ~180s headroom under the 300s default
9649
- * on-chain window), `maxAttempts = 3`.
9679
+ * Defaults: `maxAgeSeconds = 120`, `maxAttempts = 3`.
9650
9680
  */
9651
9681
  fetchFreshPythUpdate(feedId: `0x${string}`, options?: {
9652
9682
  maxAgeSeconds?: number;
@@ -9654,13 +9684,58 @@ declare class PriceMarketModule extends BaseModule {
9654
9684
  cached?: PythUpdate;
9655
9685
  }): Promise<PythUpdate>;
9656
9686
  /**
9657
- * Fetch latest Pyth price update data from Hermes API (raw bytes only).
9687
+ * Resolve the projected open price for a deferred Up/Down market what the
9688
+ * UI should display as the "strike" between `openTime` and resolution.
9689
+ *
9690
+ * For deferred markets, the on-chain `strikePrice` is 0 until the resolver
9691
+ * fires {@link resolvePyth}. This helper replicates the same rule the
9692
+ * contract will use ("earliest in-window Hermes VAA in
9693
+ * `[openTime, openTime + resolutionWindow]`") by querying Hermes at
9694
+ * `openTime`, so the value rendered in the UI matches what the on-chain
9695
+ * strike will be once resolution lands.
9696
+ *
9697
+ * Returns `null` when the projection isn't applicable:
9698
+ * - The market is already resolved — caller should read `pm.strikePrice` directly.
9699
+ * - The market is explicit-strike (`pm.strikePrice > 0`) — same, read from chain.
9700
+ * - The market hasn't reached `openTime` yet — no VAA exists; UI should show
9701
+ * "strike set at HH:MM" or similar pending state.
9702
+ *
9703
+ * `result.canonical === true` means the open window has fully elapsed and the
9704
+ * value will not change. Before that, render the price with a "pending" hint.
9658
9705
  */
9659
- private fetchPythUpdateData;
9706
+ fetchProjectedOpenPrice(marketId: bigint): Promise<ProjectedOpenPrice | null>;
9660
9707
  /**
9661
- * Fetch historical Pyth price update data at a specific timestamp
9708
+ * Fetch historical Pyth price update data covering the window
9709
+ * `[publishTime, publishTime + windowSeconds]`.
9710
+ *
9711
+ * Hermes serves a VAA AT the exact requested second when one exists, and
9712
+ * 404s when no publish landed in that second. For low-volume feeds or
9713
+ * markets resolving deep in the past this means a single request at
9714
+ * `publishTime` is fragile. This helper walks a few sample points across
9715
+ * the window until it finds a VAA, transparently retrying with exponential
9716
+ * backoff on 429.
9717
+ *
9718
+ * The on-chain `pickEarliestInWindow` accepts any VAA whose `publishTime`
9719
+ * falls in the same window, so returning an offset VAA is correct as long
9720
+ * as it's still in range.
9662
9721
  */
9663
9722
  private fetchPythHistoricalData;
9723
+ /**
9724
+ * Hermes parsed+binary fetch shared by {@link fetchPythHistoricalData} and
9725
+ * {@link fetchProjectedOpenPrice}. Returns the first in-window VAA whose
9726
+ * Hermes response includes a `parsed[0].price` entry, walking a few sample
9727
+ * timestamps across the window before giving up. Returns `null` on
9728
+ * complete miss so the caller can decide how to surface the failure
9729
+ * (resolution throws; UI projection returns null gracefully).
9730
+ */
9731
+ private fetchPythHistoricalParsed;
9732
+ private fetchPythHistoricalRaw;
9733
+ /**
9734
+ * Fetch a Hermes URL with exponential backoff on 429. Returns the response
9735
+ * for 2xx, `null` for 404 (treated as "no VAA at this timestamp, try
9736
+ * another"), and throws for other errors.
9737
+ */
9738
+ private hermesFetchWithBackoff;
9664
9739
  }
9665
9740
 
9666
9741
  declare class OddMakiClient {
@@ -15354,6 +15429,11 @@ var PythResolutionFacet = [
15354
15429
  type: "int64",
15355
15430
  internalType: "int64"
15356
15431
  },
15432
+ {
15433
+ name: "openTime",
15434
+ type: "uint256",
15435
+ internalType: "uint256"
15436
+ },
15357
15437
  {
15358
15438
  name: "closeTime",
15359
15439
  type: "uint256",
@@ -15393,11 +15473,6 @@ var PythResolutionFacet = [
15393
15473
  name: "resolutionWindow",
15394
15474
  type: "uint256",
15395
15475
  internalType: "uint256"
15396
- },
15397
- {
15398
- name: "pythUpdateData",
15399
- type: "bytes[]",
15400
- internalType: "bytes[]"
15401
15476
  }
15402
15477
  ],
15403
15478
  outputs: [
@@ -15407,21 +15482,7 @@ var PythResolutionFacet = [
15407
15482
  internalType: "uint256"
15408
15483
  }
15409
15484
  ],
15410
- stateMutability: "payable"
15411
- },
15412
- {
15413
- type: "function",
15414
- name: "getOpenMaxStaleness",
15415
- inputs: [
15416
- ],
15417
- outputs: [
15418
- {
15419
- name: "",
15420
- type: "uint256",
15421
- internalType: "uint256"
15422
- }
15423
- ],
15424
- stateMutability: "view"
15485
+ stateMutability: "nonpayable"
15425
15486
  },
15426
15487
  {
15427
15488
  type: "function",
@@ -15439,36 +15500,36 @@ var PythResolutionFacet = [
15439
15500
  },
15440
15501
  {
15441
15502
  type: "function",
15442
- name: "resolvePriceMarketPyth",
15503
+ name: "markPriceMarketInvalid",
15443
15504
  inputs: [
15444
15505
  {
15445
15506
  name: "marketId",
15446
15507
  type: "uint256",
15447
15508
  internalType: "uint256"
15448
- },
15449
- {
15450
- name: "pythUpdateData",
15451
- type: "bytes[]",
15452
- internalType: "bytes[]"
15453
15509
  }
15454
15510
  ],
15455
15511
  outputs: [
15456
15512
  ],
15457
- stateMutability: "payable"
15513
+ stateMutability: "nonpayable"
15458
15514
  },
15459
15515
  {
15460
15516
  type: "function",
15461
- name: "setOpenMaxStaleness",
15517
+ name: "resolvePriceMarketPyth",
15462
15518
  inputs: [
15463
15519
  {
15464
- name: "openMaxStaleness",
15520
+ name: "marketId",
15465
15521
  type: "uint256",
15466
15522
  internalType: "uint256"
15523
+ },
15524
+ {
15525
+ name: "pythUpdateData",
15526
+ type: "bytes[]",
15527
+ internalType: "bytes[]"
15467
15528
  }
15468
15529
  ],
15469
15530
  outputs: [
15470
15531
  ],
15471
- stateMutability: "nonpayable"
15532
+ stateMutability: "payable"
15472
15533
  },
15473
15534
  {
15474
15535
  type: "function",
@@ -15607,19 +15668,6 @@ var PythResolutionFacet = [
15607
15668
  ],
15608
15669
  anonymous: false
15609
15670
  },
15610
- {
15611
- type: "event",
15612
- name: "OpenMaxStalenessUpdated",
15613
- inputs: [
15614
- {
15615
- name: "openMaxStaleness",
15616
- type: "uint256",
15617
- indexed: false,
15618
- internalType: "uint256"
15619
- }
15620
- ],
15621
- anonymous: false
15622
- },
15623
15671
  {
15624
15672
  type: "event",
15625
15673
  name: "PriceMarketCreatedPyth",
@@ -15675,6 +15723,25 @@ var PythResolutionFacet = [
15675
15723
  ],
15676
15724
  anonymous: false
15677
15725
  },
15726
+ {
15727
+ type: "event",
15728
+ name: "PriceMarketInvalidated",
15729
+ inputs: [
15730
+ {
15731
+ name: "marketId",
15732
+ type: "uint256",
15733
+ indexed: true,
15734
+ internalType: "uint256"
15735
+ },
15736
+ {
15737
+ name: "caller",
15738
+ type: "address",
15739
+ indexed: true,
15740
+ internalType: "address"
15741
+ }
15742
+ ],
15743
+ anonymous: false
15744
+ },
15678
15745
  {
15679
15746
  type: "event",
15680
15747
  name: "PriceMarketResolvedPyth",
@@ -15697,6 +15764,12 @@ var PythResolutionFacet = [
15697
15764
  indexed: false,
15698
15765
  internalType: "int64"
15699
15766
  },
15767
+ {
15768
+ name: "openPriceTime",
15769
+ type: "uint256",
15770
+ indexed: false,
15771
+ internalType: "uint256"
15772
+ },
15700
15773
  {
15701
15774
  name: "outcome",
15702
15775
  type: "string",
@@ -15740,19 +15813,19 @@ var PythResolutionFacet = [
15740
15813
  },
15741
15814
  {
15742
15815
  type: "error",
15743
- name: "CloseTimeNotReached",
15816
+ name: "AssertionInProgress",
15744
15817
  inputs: [
15745
15818
  ]
15746
15819
  },
15747
15820
  {
15748
15821
  type: "error",
15749
- name: "CloseTimeTooFar",
15822
+ name: "CloseTimeNotAfterOpenTime",
15750
15823
  inputs: [
15751
15824
  ]
15752
15825
  },
15753
15826
  {
15754
15827
  type: "error",
15755
- name: "CloseTimeTooSoon",
15828
+ name: "CloseTimeNotReached",
15756
15829
  inputs: [
15757
15830
  ]
15758
15831
  },
@@ -15790,6 +15863,12 @@ var PythResolutionFacet = [
15790
15863
  }
15791
15864
  ]
15792
15865
  },
15866
+ {
15867
+ type: "error",
15868
+ name: "GracePeriodNotElapsed",
15869
+ inputs: [
15870
+ ]
15871
+ },
15793
15872
  {
15794
15873
  type: "error",
15795
15874
  name: "InsufficientPythFee",
@@ -15820,6 +15899,12 @@ var PythResolutionFacet = [
15820
15899
  inputs: [
15821
15900
  ]
15822
15901
  },
15902
+ {
15903
+ type: "error",
15904
+ name: "InvalidOpenTime",
15905
+ inputs: [
15906
+ ]
15907
+ },
15823
15908
  {
15824
15909
  type: "error",
15825
15910
  name: "InvalidOutcomesLength",
@@ -15840,7 +15925,13 @@ var PythResolutionFacet = [
15840
15925
  },
15841
15926
  {
15842
15927
  type: "error",
15843
- name: "NoValidPriceUpdate",
15928
+ name: "NoClosePriceInWindow",
15929
+ inputs: [
15930
+ ]
15931
+ },
15932
+ {
15933
+ type: "error",
15934
+ name: "NoOpenPriceInWindow",
15844
15935
  inputs: [
15845
15936
  ]
15846
15937
  },
@@ -16910,6 +17001,25 @@ var ERC20 = [
16910
17001
  ],
16911
17002
  stateMutability: "view"
16912
17003
  },
17004
+ {
17005
+ type: "function",
17006
+ name: "mint",
17007
+ inputs: [
17008
+ {
17009
+ name: "to",
17010
+ type: "address",
17011
+ internalType: "address"
17012
+ },
17013
+ {
17014
+ name: "amount",
17015
+ type: "uint256",
17016
+ internalType: "uint256"
17017
+ }
17018
+ ],
17019
+ outputs: [
17020
+ ],
17021
+ stateMutability: "nonpayable"
17022
+ },
16913
17023
  {
16914
17024
  type: "function",
16915
17025
  name: "name",
@@ -17131,6 +17241,25 @@ var UmaOracle = [
17131
17241
  ],
17132
17242
  stateMutability: "view"
17133
17243
  },
17244
+ {
17245
+ type: "function",
17246
+ name: "disputeAssertion",
17247
+ inputs: [
17248
+ {
17249
+ name: "assertionId",
17250
+ type: "bytes32",
17251
+ internalType: "bytes32"
17252
+ },
17253
+ {
17254
+ name: "disputer",
17255
+ type: "address",
17256
+ internalType: "address"
17257
+ }
17258
+ ],
17259
+ outputs: [
17260
+ ],
17261
+ stateMutability: "nonpayable"
17262
+ },
17134
17263
  {
17135
17264
  type: "function",
17136
17265
  name: "getAssertion",
@@ -17309,25 +17438,6 @@ var UmaOracle = [
17309
17438
  outputs: [
17310
17439
  ],
17311
17440
  stateMutability: "nonpayable"
17312
- },
17313
- {
17314
- type: "function",
17315
- name: "disputeAssertion",
17316
- inputs: [
17317
- {
17318
- name: "assertionId",
17319
- type: "bytes32",
17320
- internalType: "bytes32"
17321
- },
17322
- {
17323
- name: "disputer",
17324
- type: "address",
17325
- internalType: "address"
17326
- }
17327
- ],
17328
- outputs: [
17329
- ],
17330
- stateMutability: "nonpayable"
17331
17441
  }
17332
17442
  ];
17333
17443
 
@@ -17474,4 +17584,4 @@ declare function parseMetadata<T extends {
17474
17584
 
17475
17585
  declare const version = "0.1.0";
17476
17586
 
17477
- export { AccessControlFacet as AccessControlFacetABI, AccessControlModule, BatchOrdersFacet as BatchOrdersFacetABI, CONTRACT_ADDRESSES, type ChancePercentInput, ConditionalTokens as ConditionalTokensABI, DEFAULT_CHAIN, ERC20 as ERC20ABI, FeedProvider, GET_ALL_MARKETS_FEED, GET_ALL_MARKETS_FEED_BY_VOLUME, GET_CHART_TRADES, GET_CHART_TRADES_ALL, GET_GROUP_MARKETS, GET_LEADERBOARD, GET_MARKET, GET_MARKETS, GET_MARKETS_WITH_PRICING, GET_MARKET_GROUP, GET_MARKET_GROUPS, GET_MARKET_GROUP_ITEM, GET_MARKET_TOP_HOLDERS, GET_ORDERS, GET_PRICE_MARKET_SERIES, GET_PROTOCOL_STATS, GET_QUESTION, GET_QUESTIONS, GET_RECENT_MARKETS, GET_RECENT_TRADES, GET_TOP_OF_BOOK, GET_TRADER_CLOSED_POSITIONS, GET_TRADER_FILLS, GET_TRADER_POSITIONS, GET_TRADER_PROFILE, GET_TRADES, GET_UNIFIED_MARKET_FEED, GET_UNIFIED_MARKET_FEED_BY_VOLUME, GET_USER, GET_VENUES, LimitOrdersFacet as LimitOrdersFacetABI, MarketGroupFacet as MarketGroupFacetABI, type MarketMetadata, MarketModule, MarketOrdersFacet as MarketOrdersFacetABI, type MarketQuestion, type MarketStatus, MarketsFacet as MarketsFacetABI, MatchingFacet as MatchingFacetABI, MetadataFacet as MetadataFacetABI, NegRiskFacet as NegRiskFacetABI, OddMakiClient, type OddMakiClientConfig, type OddMakiConfig, OrderBookFacet as OrderBookFacetABI, PROTOCOL_FEES, type PriceMarketData, PriceMarketFacet as PriceMarketFacetABI, PriceMarketModule, ProtocolFacet as ProtocolFacetABI, PublicModule, PythResolutionFacet as PythResolutionFacetABI, type PythUpdate, ResolutionFacet as ResolutionFacetABI, SUBGRAPH_IDS, SubgraphClient, type SubgraphMarketPriceData, TICK_SIZE_FINE, TICK_SIZE_STANDARD, TagsFacet as TagsFacetABI, TokenModule, type TopOfBookEntry, TradeModule, UMA_DEFAULTS, UmaModule, UmaOracle as UmaOracleABI, VALID_TICK_SIZES, VaultFacet as VaultFacetABI, VenueFacet as VenueFacetABI, type VenueMetadata, VenueModule, WhitelistAccessControl as WhitelistAccessControlABI, buildSubgraphGatewayUrl, calculateChancePercent, clearDecimalsCache, createExpiry, createOddMakiClient, formatAmount, formatAncillaryData, formatTimestamp, getCachedTokenDecimals, getOutcomePrice, getTokenDecimals, isValidTickSize, parseAmount, parseAncillaryData, parseMetadata, parseTokenAmount, priceToTick, resolveIPFSUri, tickToPercentage, tickToPrice, version };
17587
+ export { AccessControlFacet as AccessControlFacetABI, AccessControlModule, BatchOrdersFacet as BatchOrdersFacetABI, CONTRACT_ADDRESSES, type ChancePercentInput, ConditionalTokens as ConditionalTokensABI, DEFAULT_CHAIN, ERC20 as ERC20ABI, FeedProvider, GET_ALL_MARKETS_FEED, GET_ALL_MARKETS_FEED_BY_VOLUME, GET_CHART_TRADES, GET_CHART_TRADES_ALL, GET_GROUP_MARKETS, GET_LEADERBOARD, GET_MARKET, GET_MARKETS, GET_MARKETS_WITH_PRICING, GET_MARKET_GROUP, GET_MARKET_GROUPS, GET_MARKET_GROUP_ITEM, GET_MARKET_TOP_HOLDERS, GET_ORDERS, GET_PRICE_MARKET_SERIES, GET_PROTOCOL_STATS, GET_QUESTION, GET_QUESTIONS, GET_RECENT_MARKETS, GET_RECENT_TRADES, GET_TOP_OF_BOOK, GET_TRADER_CLOSED_POSITIONS, GET_TRADER_FILLS, GET_TRADER_POSITIONS, GET_TRADER_PROFILE, GET_TRADES, GET_UNIFIED_MARKET_FEED, GET_UNIFIED_MARKET_FEED_BY_VOLUME, GET_USER, GET_VENUES, LimitOrdersFacet as LimitOrdersFacetABI, MarketGroupFacet as MarketGroupFacetABI, type MarketMetadata, MarketModule, MarketOrdersFacet as MarketOrdersFacetABI, type MarketQuestion, type MarketStatus, MarketsFacet as MarketsFacetABI, MatchingFacet as MatchingFacetABI, MetadataFacet as MetadataFacetABI, NegRiskFacet as NegRiskFacetABI, OddMakiClient, type OddMakiClientConfig, type OddMakiConfig, OrderBookFacet as OrderBookFacetABI, PROTOCOL_FEES, type PriceMarketData, PriceMarketFacet as PriceMarketFacetABI, PriceMarketModule, type ProjectedOpenPrice, ProtocolFacet as ProtocolFacetABI, PublicModule, PythResolutionFacet as PythResolutionFacetABI, type PythUpdate, ResolutionFacet as ResolutionFacetABI, SUBGRAPH_IDS, SubgraphClient, type SubgraphMarketPriceData, TICK_SIZE_FINE, TICK_SIZE_STANDARD, TagsFacet as TagsFacetABI, TokenModule, type TopOfBookEntry, TradeModule, UMA_DEFAULTS, UmaModule, UmaOracle as UmaOracleABI, VALID_TICK_SIZES, VaultFacet as VaultFacetABI, VenueFacet as VenueFacetABI, type VenueMetadata, VenueModule, WhitelistAccessControl as WhitelistAccessControlABI, buildSubgraphGatewayUrl, calculateChancePercent, clearDecimalsCache, createExpiry, createOddMakiClient, formatAmount, formatAncillaryData, formatTimestamp, getCachedTokenDecimals, getOutcomePrice, getTokenDecimals, isValidTickSize, parseAmount, parseAncillaryData, parseMetadata, parseTokenAmount, priceToTick, resolveIPFSUri, tickToPercentage, tickToPrice, version };