@agg-build/hooks 4.9.0 → 4.11.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.
@@ -58,6 +58,7 @@ var Venue = /* @__PURE__ */ ((Venue2) => {
58
58
  Venue2["limitless"] = "limitless";
59
59
  Venue2["opinion"] = "opinion";
60
60
  Venue2["predict"] = "predict";
61
+ Venue2["pred"] = "pred";
61
62
  Venue2["probable"] = "probable";
62
63
  Venue2["myriad"] = "myriad";
63
64
  Venue2["hyperliquid"] = "hyperliquid";
@@ -71,6 +72,7 @@ var ACTIVE_VENUES = [
71
72
  "limitless" /* limitless */,
72
73
  "opinion" /* opinion */,
73
74
  "predict" /* predict */,
75
+ "pred" /* pred */,
74
76
  "probable" /* probable */,
75
77
  "myriad" /* myriad */,
76
78
  "hyperliquid" /* hyperliquid */,
@@ -175,12 +177,16 @@ function optimizedImageUrl(url, maxPx) {
175
177
  // ../common/src/utils/sort-venues.ts
176
178
  var VENUE_SORT_ORDER = [
177
179
  "polymarket" /* polymarket */,
180
+ "hyperliquid" /* hyperliquid */,
181
+ "predict" /* predict */,
182
+ "prophetx" /* prophetx */,
178
183
  "kalshi" /* kalshi */,
179
- "opinion" /* opinion */,
180
184
  "limitless" /* limitless */,
181
- "predict" /* predict */,
182
185
  "myriad" /* myriad */,
183
- "hyperliquid" /* hyperliquid */
186
+ "pred" /* pred */,
187
+ "probable" /* probable */,
188
+ "novig" /* novig */,
189
+ "opinion" /* opinion */
184
190
  ];
185
191
  var venueOrderIndex = new Map(VENUE_SORT_ORDER.map((v, i) => [v, i]));
186
192
  var getVenueOrder = (venue) => {
@@ -248,6 +254,7 @@ var enUsLabels = {
248
254
  kalshi: "Kalshi",
249
255
  opinion: "Opinion",
250
256
  predict: "Predict",
257
+ pred: "PRED",
251
258
  limitless: "Limitless",
252
259
  probable: "Probable",
253
260
  myriad: "Myriad",
@@ -993,6 +1000,7 @@ var enUsLabels = {
993
1000
  executionReserveDescription: "Held for price movement or possible venue charges, not a confirmed fee. Unused funds are returned after execution.",
994
1001
  estimatedFeesTooltipAria: "Estimated fees breakdown",
995
1002
  feeBreakdownVenueFees: "Venue",
1003
+ feeBreakdownBuilderFee: "Builder",
996
1004
  feeBreakdownBridgeFees: "Bridging",
997
1005
  feeBreakdownExecutionGas: "Gas",
998
1006
  feeBreakdownAggMarket: "agg.market",
@@ -1021,6 +1029,7 @@ var enUsLabels = {
1021
1029
  depositingFunds: (amount, tokenSymbol, destinationChain) => `Depositing ${amount} ${tokenSymbol} to ${destinationChain}...`,
1022
1030
  fundsDeposited: (amount, tokenSymbol, destinationChain) => `Deposited ${amount} ${tokenSymbol} to ${destinationChain}`,
1023
1031
  fillingOnVenue: (venueLabel) => `Filling on ${venueLabel}...`,
1032
+ orderStillSettling: "Still settling. This can take a bit \u2014 check your activity feed. You can keep trading.",
1024
1033
  venueFilledAtPriceWithAmount: (venueLabel, amountLabel, priceLabel) => `${venueLabel} filled ${amountLabel} at ${priceLabel}`,
1025
1034
  executionShares: (value) => `${value} shares`,
1026
1035
  confirmTransactionInWallet: "Confirm the transaction in your wallet",
@@ -4202,6 +4211,20 @@ function useExecuteManaged(options) {
4202
4211
  mutationFn: (params) => client.executeManaged(params),
4203
4212
  onSuccess: (data) => {
4204
4213
  var _a;
4214
+ queryClient.setQueriesData({ queryKey: ["smart-route"] }, (route) => {
4215
+ var _a2;
4216
+ if (!route) return route;
4217
+ const consumedPrimary = route.quoteId === data.quoteId;
4218
+ const consumedComparison = (_a2 = route.venueSoloQuotes) == null ? void 0 : _a2.some(
4219
+ (quote) => quote.quoteId === data.quoteId
4220
+ );
4221
+ if (!consumedPrimary && !consumedComparison) return route;
4222
+ return __spreadValues(__spreadValues(__spreadValues({}, route), consumedPrimary ? { quoteId: "" } : {}), consumedComparison ? {
4223
+ venueSoloQuotes: route.venueSoloQuotes.map(
4224
+ (quote) => quote.quoteId === data.quoteId ? __spreadProps(__spreadValues({}, quote), { quoteId: "" }) : quote
4225
+ )
4226
+ } : {});
4227
+ });
4205
4228
  queryClient.invalidateQueries({ queryKey: executionKeys.ordersPrefix() });
4206
4229
  queryClient.invalidateQueries({ queryKey: executionKeys.positionsPrefix() });
4207
4230
  invalidateBalanceQueries(queryClient);
@@ -11,7 +11,7 @@ import {
11
11
  useOnWithdrawalLifecycle,
12
12
  useSyncBalances,
13
13
  useWithdrawManaged
14
- } from "./chunk-25XGLYBT.mjs";
14
+ } from "./chunk-7J4DFAKD.mjs";
15
15
 
16
16
  // src/withdraw/use-withdraw-flow.ts
17
17
  import { useCallback, useEffect, useMemo, useState } from "react";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __async,
3
3
  useAggClient
4
- } from "./chunk-25XGLYBT.mjs";
4
+ } from "./chunk-7J4DFAKD.mjs";
5
5
 
6
6
  // src/use-ramp-quotes.ts
7
7
  import { useMutation } from "@tanstack/react-query";
package/dist/deposit.js CHANGED
@@ -168,6 +168,7 @@ var enUsLabels = {
168
168
  kalshi: "Kalshi",
169
169
  opinion: "Opinion",
170
170
  predict: "Predict",
171
+ pred: "PRED",
171
172
  limitless: "Limitless",
172
173
  probable: "Probable",
173
174
  myriad: "Myriad",
@@ -913,6 +914,7 @@ var enUsLabels = {
913
914
  executionReserveDescription: "Held for price movement or possible venue charges, not a confirmed fee. Unused funds are returned after execution.",
914
915
  estimatedFeesTooltipAria: "Estimated fees breakdown",
915
916
  feeBreakdownVenueFees: "Venue",
917
+ feeBreakdownBuilderFee: "Builder",
916
918
  feeBreakdownBridgeFees: "Bridging",
917
919
  feeBreakdownExecutionGas: "Gas",
918
920
  feeBreakdownAggMarket: "agg.market",
@@ -941,6 +943,7 @@ var enUsLabels = {
941
943
  depositingFunds: (amount, tokenSymbol, destinationChain) => `Depositing ${amount} ${tokenSymbol} to ${destinationChain}...`,
942
944
  fundsDeposited: (amount, tokenSymbol, destinationChain) => `Deposited ${amount} ${tokenSymbol} to ${destinationChain}`,
943
945
  fillingOnVenue: (venueLabel) => `Filling on ${venueLabel}...`,
946
+ orderStillSettling: "Still settling. This can take a bit \u2014 check your activity feed. You can keep trading.",
944
947
  venueFilledAtPriceWithAmount: (venueLabel, amountLabel, priceLabel) => `${venueLabel} filled ${amountLabel} at ${priceLabel}`,
945
948
  executionShares: (value) => `${value} shares`,
946
949
  confirmTransactionInWallet: "Confirm the transaction in your wallet",
package/dist/deposit.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useRampQuotes,
3
3
  useRampSession
4
- } from "./chunk-PUI2EGWE.mjs";
4
+ } from "./chunk-O5D5ISR3.mjs";
5
5
  import {
6
6
  __async,
7
7
  useAggAuthState,
@@ -11,7 +11,7 @@ import {
11
11
  useDepositAddresses,
12
12
  useOptionalAggClient,
13
13
  useSyncBalances
14
- } from "./chunk-25XGLYBT.mjs";
14
+ } from "./chunk-7J4DFAKD.mjs";
15
15
 
16
16
  // src/deposit/normalize-wallet-error.ts
17
17
  function normalizeWalletError(error, supportedChains) {
package/dist/index.d.mts CHANGED
@@ -16,6 +16,7 @@ declare enum Venue {
16
16
  limitless = "limitless",
17
17
  opinion = "opinion",
18
18
  predict = "predict",
19
+ pred = "pred",
19
20
  probable = "probable",
20
21
  myriad = "myriad",
21
22
  hyperliquid = "hyperliquid",
@@ -1335,6 +1336,7 @@ interface AggUiLabels {
1335
1336
  executionReserveDescription: string;
1336
1337
  estimatedFeesTooltipAria: string;
1337
1338
  feeBreakdownVenueFees: string;
1339
+ feeBreakdownBuilderFee: string;
1338
1340
  feeBreakdownBridgeFees: string;
1339
1341
  feeBreakdownExecutionGas: string;
1340
1342
  feeBreakdownAggMarket: string;
@@ -1363,6 +1365,7 @@ interface AggUiLabels {
1363
1365
  depositingFunds: (amount: string, tokenSymbol: string, destinationChain: string) => string;
1364
1366
  fundsDeposited: (amount: string, tokenSymbol: string, destinationChain: string) => string;
1365
1367
  fillingOnVenue: (venueLabel: string) => string;
1368
+ orderStillSettling: string;
1366
1369
  venueFilledAtPriceWithAmount: (venueLabel: string, amountLabel: string, priceLabel: string) => string;
1367
1370
  executionShares: (value: string) => string;
1368
1371
  confirmTransactionInWallet: string;
@@ -4387,12 +4390,11 @@ interface UseMarketOrderbookResult {
4387
4390
  /**
4388
4391
  * Subscribe to a live orderbook for the selected outcome(s).
4389
4392
  *
4390
- * Entirely WS-driven — subscribes to outcome IDs, receives snapshots +
4391
- * deltas via the gateway, reads from the React Query live cache that
4392
- * the ws-provider maintains. No REST fetch needed.
4393
+ * WS-driven in steady state: subscribes to outcome IDs, receives snapshots
4394
+ * + deltas via the gateway, reads from the React Query live cache.
4393
4395
  *
4394
- * When switching outcomes, the subscription changes and a new snapshot
4395
- * arrives for the selected outcome.
4396
+ * REST-seeds `GET /orderbook/outcome/:id` so the book still renders when the
4397
+ * websocket is down or the snapshot never arrives. WS overwrites the seed.
4396
4398
  */
4397
4399
  declare function useMarketOrderbook(options: UseMarketOrderbookOptions): UseMarketOrderbookResult;
4398
4400
 
@@ -6249,8 +6251,6 @@ interface UseVenueMarketsOptions {
6249
6251
  status?: MarketStatus;
6250
6252
  /** Filter by match status. */
6251
6253
  matchStatus?: MatchStatus;
6252
- /** Filter by category IDs. */
6253
- categoryIds?: string[];
6254
6254
  /** Canonical game or market key filter. */
6255
6255
  aggKey?: string[];
6256
6256
  /** Sports section filter: moneyline, spread, total, prop, ... */
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ declare enum Venue {
16
16
  limitless = "limitless",
17
17
  opinion = "opinion",
18
18
  predict = "predict",
19
+ pred = "pred",
19
20
  probable = "probable",
20
21
  myriad = "myriad",
21
22
  hyperliquid = "hyperliquid",
@@ -1335,6 +1336,7 @@ interface AggUiLabels {
1335
1336
  executionReserveDescription: string;
1336
1337
  estimatedFeesTooltipAria: string;
1337
1338
  feeBreakdownVenueFees: string;
1339
+ feeBreakdownBuilderFee: string;
1338
1340
  feeBreakdownBridgeFees: string;
1339
1341
  feeBreakdownExecutionGas: string;
1340
1342
  feeBreakdownAggMarket: string;
@@ -1363,6 +1365,7 @@ interface AggUiLabels {
1363
1365
  depositingFunds: (amount: string, tokenSymbol: string, destinationChain: string) => string;
1364
1366
  fundsDeposited: (amount: string, tokenSymbol: string, destinationChain: string) => string;
1365
1367
  fillingOnVenue: (venueLabel: string) => string;
1368
+ orderStillSettling: string;
1366
1369
  venueFilledAtPriceWithAmount: (venueLabel: string, amountLabel: string, priceLabel: string) => string;
1367
1370
  executionShares: (value: string) => string;
1368
1371
  confirmTransactionInWallet: string;
@@ -4387,12 +4390,11 @@ interface UseMarketOrderbookResult {
4387
4390
  /**
4388
4391
  * Subscribe to a live orderbook for the selected outcome(s).
4389
4392
  *
4390
- * Entirely WS-driven — subscribes to outcome IDs, receives snapshots +
4391
- * deltas via the gateway, reads from the React Query live cache that
4392
- * the ws-provider maintains. No REST fetch needed.
4393
+ * WS-driven in steady state: subscribes to outcome IDs, receives snapshots
4394
+ * + deltas via the gateway, reads from the React Query live cache.
4393
4395
  *
4394
- * When switching outcomes, the subscription changes and a new snapshot
4395
- * arrives for the selected outcome.
4396
+ * REST-seeds `GET /orderbook/outcome/:id` so the book still renders when the
4397
+ * websocket is down or the snapshot never arrives. WS overwrites the seed.
4396
4398
  */
4397
4399
  declare function useMarketOrderbook(options: UseMarketOrderbookOptions): UseMarketOrderbookResult;
4398
4400
 
@@ -6249,8 +6251,6 @@ interface UseVenueMarketsOptions {
6249
6251
  status?: MarketStatus;
6250
6252
  /** Filter by match status. */
6251
6253
  matchStatus?: MatchStatus;
6252
- /** Filter by category IDs. */
6253
- categoryIds?: string[];
6254
6254
  /** Canonical game or market key filter. */
6255
6255
  aggKey?: string[];
6256
6256
  /** Sports section filter: moneyline, spread, total, prop, ... */
package/dist/index.js CHANGED
@@ -242,6 +242,7 @@ var Venue = /* @__PURE__ */ ((Venue2) => {
242
242
  Venue2["limitless"] = "limitless";
243
243
  Venue2["opinion"] = "opinion";
244
244
  Venue2["predict"] = "predict";
245
+ Venue2["pred"] = "pred";
245
246
  Venue2["probable"] = "probable";
246
247
  Venue2["myriad"] = "myriad";
247
248
  Venue2["hyperliquid"] = "hyperliquid";
@@ -255,6 +256,7 @@ var ACTIVE_VENUES = [
255
256
  "limitless" /* limitless */,
256
257
  "opinion" /* opinion */,
257
258
  "predict" /* predict */,
259
+ "pred" /* pred */,
258
260
  "probable" /* probable */,
259
261
  "myriad" /* myriad */,
260
262
  "hyperliquid" /* hyperliquid */,
@@ -359,12 +361,16 @@ function optimizedImageUrl(url, maxPx) {
359
361
  // ../common/src/utils/sort-venues.ts
360
362
  var VENUE_SORT_ORDER = [
361
363
  "polymarket" /* polymarket */,
364
+ "hyperliquid" /* hyperliquid */,
365
+ "predict" /* predict */,
366
+ "prophetx" /* prophetx */,
362
367
  "kalshi" /* kalshi */,
363
- "opinion" /* opinion */,
364
368
  "limitless" /* limitless */,
365
- "predict" /* predict */,
366
369
  "myriad" /* myriad */,
367
- "hyperliquid" /* hyperliquid */
370
+ "pred" /* pred */,
371
+ "probable" /* probable */,
372
+ "novig" /* novig */,
373
+ "opinion" /* opinion */
368
374
  ];
369
375
  var venueOrderIndex = new Map(VENUE_SORT_ORDER.map((v, i) => [v, i]));
370
376
  var getVenueOrder = (venue) => {
@@ -605,6 +611,7 @@ var enUsLabels = {
605
611
  kalshi: "Kalshi",
606
612
  opinion: "Opinion",
607
613
  predict: "Predict",
614
+ pred: "PRED",
608
615
  limitless: "Limitless",
609
616
  probable: "Probable",
610
617
  myriad: "Myriad",
@@ -1350,6 +1357,7 @@ var enUsLabels = {
1350
1357
  executionReserveDescription: "Held for price movement or possible venue charges, not a confirmed fee. Unused funds are returned after execution.",
1351
1358
  estimatedFeesTooltipAria: "Estimated fees breakdown",
1352
1359
  feeBreakdownVenueFees: "Venue",
1360
+ feeBreakdownBuilderFee: "Builder",
1353
1361
  feeBreakdownBridgeFees: "Bridging",
1354
1362
  feeBreakdownExecutionGas: "Gas",
1355
1363
  feeBreakdownAggMarket: "agg.market",
@@ -1378,6 +1386,7 @@ var enUsLabels = {
1378
1386
  depositingFunds: (amount, tokenSymbol, destinationChain) => `Depositing ${amount} ${tokenSymbol} to ${destinationChain}...`,
1379
1387
  fundsDeposited: (amount, tokenSymbol, destinationChain) => `Deposited ${amount} ${tokenSymbol} to ${destinationChain}`,
1380
1388
  fillingOnVenue: (venueLabel) => `Filling on ${venueLabel}...`,
1389
+ orderStillSettling: "Still settling. This can take a bit \u2014 check your activity feed. You can keep trading.",
1381
1390
  venueFilledAtPriceWithAmount: (venueLabel, amountLabel, priceLabel) => `${venueLabel} filled ${amountLabel} at ${priceLabel}`,
1382
1391
  executionShares: (value) => `${value} shares`,
1383
1392
  confirmTransactionInWallet: "Confirm the transaction in your wallet",
@@ -4408,6 +4417,20 @@ function useExecuteManaged(options) {
4408
4417
  mutationFn: (params) => client.executeManaged(params),
4409
4418
  onSuccess: (data) => {
4410
4419
  var _a;
4420
+ queryClient.setQueriesData({ queryKey: ["smart-route"] }, (route) => {
4421
+ var _a2;
4422
+ if (!route) return route;
4423
+ const consumedPrimary = route.quoteId === data.quoteId;
4424
+ const consumedComparison = (_a2 = route.venueSoloQuotes) == null ? void 0 : _a2.some(
4425
+ (quote) => quote.quoteId === data.quoteId
4426
+ );
4427
+ if (!consumedPrimary && !consumedComparison) return route;
4428
+ return __spreadValues(__spreadValues(__spreadValues({}, route), consumedPrimary ? { quoteId: "" } : {}), consumedComparison ? {
4429
+ venueSoloQuotes: route.venueSoloQuotes.map(
4430
+ (quote) => quote.quoteId === data.quoteId ? __spreadProps(__spreadValues({}, quote), { quoteId: "" }) : quote
4431
+ )
4432
+ } : {});
4433
+ });
4411
4434
  queryClient.invalidateQueries({ queryKey: executionKeys.ordersPrefix() });
4412
4435
  queryClient.invalidateQueries({ queryKey: executionKeys.positionsPrefix() });
4413
4436
  invalidateBalanceQueries(queryClient);
@@ -7674,8 +7697,9 @@ var useRollingChartWindow = (options) => {
7674
7697
  // src/use-market-orderbook.ts
7675
7698
  var import_react_query32 = require("@tanstack/react-query");
7676
7699
  function useMarketOrderbook(options) {
7677
- var _a, _b, _c, _d, _e, _f, _g, _h;
7700
+ var _a, _b, _c, _d, _e, _f, _g;
7678
7701
  const queryClient = (0, import_react_query32.useQueryClient)();
7702
+ const client = useAggClient();
7679
7703
  const ws = useAggWebSocket();
7680
7704
  const isConnected = useAggWebSocketConnectionState();
7681
7705
  const {
@@ -7704,12 +7728,30 @@ function useMarketOrderbook(options) {
7704
7728
  refetchOnReconnect: false
7705
7729
  }))
7706
7730
  });
7731
+ const seedQueries = (0, import_react_query32.useQueries)({
7732
+ queries: subscriptionIds.map((subscriptionId) => ({
7733
+ queryKey: ["market-orderbook-seed", subscriptionId],
7734
+ queryFn: ({ signal }) => client.getOutcomeOrderbook(subscriptionId, { signal }),
7735
+ enabled: enabled && !!subscriptionId,
7736
+ staleTime: 5e3,
7737
+ gcTime: 6e4,
7738
+ refetchOnWindowFocus: false,
7739
+ retry: 1
7740
+ }))
7741
+ });
7707
7742
  const liveStates = subscriptionIds.map((subscriptionId, index) => {
7708
7743
  var _a2, _b2;
7709
7744
  return (_b2 = (_a2 = liveQueries[index]) == null ? void 0 : _a2.data) != null ? _b2 : createMarketLiveState(subscriptionId);
7710
7745
  });
7711
- const primaryOrderbook = (_d = (_c = liveStates[0]) == null ? void 0 : _c.orderbook) != null ? _d : null;
7712
- const primarySnapshotVersion = (_f = (_e = liveStates[0]) == null ? void 0 : _e.orderbookSnapshotVersion) != null ? _f : 0;
7746
+ const seededOrderbooks = subscriptionIds.map((subscriptionId, index) => {
7747
+ var _a2, _b2, _c2, _d2;
7748
+ const liveBook = (_b2 = (_a2 = liveStates[index]) == null ? void 0 : _a2.orderbook) != null ? _b2 : null;
7749
+ if (liveBook) return liveBook;
7750
+ const seed = (_c2 = seedQueries[index]) == null ? void 0 : _c2.data;
7751
+ return ((_d2 = seed == null ? void 0 : seed.orderbook) == null ? void 0 : _d2.bids) && seed.orderbook.asks ? outcomeOrderbookToState(seed, subscriptionId) : null;
7752
+ });
7753
+ const primaryOrderbook = (_c = seededOrderbooks[0]) != null ? _c : null;
7754
+ const primarySnapshotVersion = (_e = (_d = liveStates[0]) == null ? void 0 : _d.orderbookSnapshotVersion) != null ? _e : 0;
7713
7755
  const data = primaryOrderbook ? applyOrderbookDepth(
7714
7756
  createMarketOrderbookDataFromState(primaryOrderbook, {
7715
7757
  snapshotVersion: primarySnapshotVersion
@@ -7717,14 +7759,15 @@ function useMarketOrderbook(options) {
7717
7759
  depth
7718
7760
  ) : null;
7719
7761
  const dataById = Object.fromEntries(
7720
- liveStates.flatMap((liveState, index) => {
7721
- if (!liveState.orderbook) return [];
7762
+ seededOrderbooks.flatMap((orderbook, index) => {
7763
+ var _a2;
7764
+ if (!orderbook) return [];
7722
7765
  return [
7723
7766
  [
7724
7767
  subscriptionIds[index],
7725
7768
  applyOrderbookDepth(
7726
- createMarketOrderbookDataFromState(liveState.orderbook, {
7727
- snapshotVersion: liveState.orderbookSnapshotVersion
7769
+ createMarketOrderbookDataFromState(orderbook, {
7770
+ snapshotVersion: (_a2 = liveStates[index]) == null ? void 0 : _a2.orderbookSnapshotVersion
7728
7771
  }),
7729
7772
  depth
7730
7773
  )
@@ -7732,14 +7775,15 @@ function useMarketOrderbook(options) {
7732
7775
  ];
7733
7776
  })
7734
7777
  );
7735
- const hasAnyOrderbook = liveStates.some((liveState) => liveState.orderbook != null);
7736
- const liveOrderbookErrorMessage = enabled && liveEnabled && !hasAnyOrderbook ? (_h = (_g = liveStates.find(
7778
+ const hasAnyOrderbook = seededOrderbooks.some((orderbook) => orderbook != null);
7779
+ const seedLoading = seedQueries.some((query) => query.isLoading);
7780
+ const liveOrderbookErrorMessage = enabled && liveEnabled && !hasAnyOrderbook ? (_g = (_f = liveStates.find(
7737
7781
  (liveState) => typeof liveState.orderbookError === "string" && liveState.orderbookError.length > 0
7738
- )) == null ? void 0 : _g.orderbookError) != null ? _h : null : null;
7782
+ )) == null ? void 0 : _f.orderbookError) != null ? _g : null : null;
7739
7783
  return {
7740
7784
  data,
7741
7785
  dataById,
7742
- isLoading: enabled && liveEnabled && !hasAnyOrderbook && isConnected && liveOrderbookErrorMessage == null,
7786
+ isLoading: enabled && !hasAnyOrderbook && liveOrderbookErrorMessage == null && (isConnected || seedLoading),
7743
7787
  error: liveOrderbookErrorMessage ? new Error(liveOrderbookErrorMessage) : null,
7744
7788
  isLive: Boolean(liveEnabled && selectedOutcomeId && isConnected),
7745
7789
  refetch: () => __async(null, null, function* () {
@@ -8272,8 +8316,10 @@ var assessThinSmartRouteLiquidity = (quote, nowMs = Date.now()) => {
8272
8316
  };
8273
8317
  };
8274
8318
  var resolveSmartRouteRefetchInterval = (args, nowMs = Date.now()) => {
8319
+ var _a, _b;
8275
8320
  const {
8276
8321
  aggressiveIntervalMs = THIN_SMART_ROUTE_REFETCH_INTERVAL_MS,
8322
+ adaptive = true,
8277
8323
  data,
8278
8324
  defaultIntervalMs,
8279
8325
  isDocumentVisible,
@@ -8289,6 +8335,18 @@ var resolveSmartRouteRefetchInterval = (args, nowMs = Date.now()) => {
8289
8335
  if (!queryEnabled || !isInputValid || !isActivelyViewingQuote || !isMarketOpen || isSubmitting || !isDocumentVisible) {
8290
8336
  return false;
8291
8337
  }
8338
+ const primaryUsesProphetx = ((_a = data == null ? void 0 : data.fills) == null ? void 0 : _a.some((fill) => fill.venue === "prophetx")) || (data == null ? void 0 : data.status) !== "ok";
8339
+ const deadlines = [
8340
+ data == null ? void 0 : data.quoteRefreshNotBefore,
8341
+ ...primaryUsesProphetx ? [(_b = data == null ? void 0 : data.quoteFailure) == null ? void 0 : _b.retryAt] : []
8342
+ ].filter((value) => !!value).map(Date.parse).filter((value) => Number.isFinite(value) && value > nowMs);
8343
+ if (deadlines.length) return Math.max(...deadlines) - nowMs;
8344
+ if (!adaptive)
8345
+ return clampIntervalToRefreshDeadline({
8346
+ intervalMs: defaultIntervalMs,
8347
+ refreshAt: void 0,
8348
+ nowMs
8349
+ });
8292
8350
  const defaultInterval = clampIntervalToRefreshDeadline({
8293
8351
  intervalMs: defaultIntervalMs,
8294
8352
  refreshAt: data == null ? void 0 : data.refreshAt,
@@ -8375,7 +8433,8 @@ function useSmartRoute(options) {
8375
8433
  return resolveSmartRouteRefetchInterval({
8376
8434
  // SELL already fans out into one quote per venue. Keep that group on a
8377
8435
  // stable cadence instead of multiplying the adaptive 5s/refreshAt poll.
8378
- data: tradeSide === "sell" ? void 0 : queryState.state.data,
8436
+ data: queryState.state.data,
8437
+ adaptive: tradeSide !== "sell",
8379
8438
  defaultIntervalMs: staleTimeMs,
8380
8439
  isDocumentVisible: getIsDocumentVisible(),
8381
8440
  isEditing: (_a2 = refreshContext == null ? void 0 : refreshContext.isEditing) != null ? _a2 : false,
@@ -8630,13 +8689,14 @@ var useVenueSellQuotes = (options) => {
8630
8689
  }),
8631
8690
  enabled: queryEnabled,
8632
8691
  staleTime: staleTimeMs,
8633
- refetchInterval: (_queryState) => {
8692
+ refetchInterval: (queryState) => {
8634
8693
  var _a2, _b2, _c, _d;
8635
8694
  return resolveSmartRouteRefetchInterval({
8636
8695
  // Venue quotes are display companions to the aggregate SELL quote.
8637
8696
  // Poll them at the normal cadence rather than independently
8638
8697
  // accelerating every venue to the thin-liquidity interval.
8639
- data: void 0,
8698
+ data: queryState.state.data,
8699
+ adaptive: false,
8640
8700
  defaultIntervalMs: staleTimeMs,
8641
8701
  isDocumentVisible: getIsDocumentVisible3(),
8642
8702
  isEditing: (_a2 = refreshContext == null ? void 0 : refreshContext.isEditing) != null ? _a2 : false,
@@ -9292,7 +9352,7 @@ function useVenueEvent(options) {
9292
9352
  var import_react_query43 = require("@tanstack/react-query");
9293
9353
  var import_react36 = require("react");
9294
9354
  function useVenueMarkets(options) {
9295
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
9355
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
9296
9356
  const client = (0, import_react36.useContext)(AggClientContext);
9297
9357
  const queryClient = (0, import_react36.useContext)(import_react_query43.QueryClientContext);
9298
9358
  const [fallbackQueryClient] = (0, import_react36.useState)(() => new import_react_query43.QueryClient());
@@ -9302,7 +9362,6 @@ function useVenueMarkets(options) {
9302
9362
  const search = options == null ? void 0 : options.search;
9303
9363
  const matchStatus = options == null ? void 0 : options.matchStatus;
9304
9364
  const status = options == null ? void 0 : options.status;
9305
- const categoryIds = options == null ? void 0 : options.categoryIds;
9306
9365
  const aggKey = options == null ? void 0 : options.aggKey;
9307
9366
  const sportsMarketType = options == null ? void 0 : options.sportsMarketType;
9308
9367
  const period = options == null ? void 0 : options.period;
@@ -9333,12 +9392,11 @@ function useVenueMarkets(options) {
9333
9392
  search != null ? search : "",
9334
9393
  matchStatus != null ? matchStatus : "",
9335
9394
  status != null ? status : "",
9336
- (_c = categoryIds == null ? void 0 : categoryIds.join(",")) != null ? _c : "",
9337
- (_d = aggKey == null ? void 0 : aggKey.join(",")) != null ? _d : "",
9338
- (_e = sportsMarketType == null ? void 0 : sportsMarketType.join(",")) != null ? _e : "",
9339
- (_f = period == null ? void 0 : period.join(",")) != null ? _f : "",
9340
- (_g = marketCategory == null ? void 0 : marketCategory.join(",")) != null ? _g : "",
9341
- (_h = marketGroup == null ? void 0 : marketGroup.join(",")) != null ? _h : "",
9395
+ (_c = aggKey == null ? void 0 : aggKey.join(",")) != null ? _c : "",
9396
+ (_d = sportsMarketType == null ? void 0 : sportsMarketType.join(",")) != null ? _d : "",
9397
+ (_e = period == null ? void 0 : period.join(",")) != null ? _e : "",
9398
+ (_f = marketCategory == null ? void 0 : marketCategory.join(",")) != null ? _f : "",
9399
+ (_g = marketGroup == null ? void 0 : marketGroup.join(",")) != null ? _g : "",
9342
9400
  limit,
9343
9401
  sortBy != null ? sortBy : "",
9344
9402
  sortDir != null ? sortDir : "",
@@ -9355,7 +9413,6 @@ function useVenueMarkets(options) {
9355
9413
  search,
9356
9414
  matchStatus,
9357
9415
  status,
9358
- categoryIds,
9359
9416
  aggKey,
9360
9417
  sportsMarketType,
9361
9418
  period,
@@ -9379,10 +9436,10 @@ function useVenueMarkets(options) {
9379
9436
  },
9380
9437
  queryClient != null ? queryClient : fallbackQueryClient
9381
9438
  );
9382
- const markets = (_j = (_i = query.data) == null ? void 0 : _i.pages.flatMap((page) => page.data)) != null ? _j : [];
9439
+ const markets = (_i = (_h = query.data) == null ? void 0 : _h.pages.flatMap((page) => page.data)) != null ? _i : [];
9383
9440
  const hasNextPage = !!query.hasNextPage;
9384
9441
  const { fetchNextPage, isFetchingNextPage } = query;
9385
- const fetchAll = (_k = options == null ? void 0 : options.fetchAll) != null ? _k : false;
9442
+ const fetchAll = (_j = options == null ? void 0 : options.fetchAll) != null ? _j : false;
9386
9443
  (0, import_react36.useEffect)(() => {
9387
9444
  if (!fetchAll || !hasNextPage || isFetchingNextPage) return;
9388
9445
  void fetchNextPage();
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  useRampQuotes,
3
3
  useRampSession
4
- } from "./chunk-PUI2EGWE.mjs";
4
+ } from "./chunk-O5D5ISR3.mjs";
5
5
  import {
6
6
  useWithdrawEstimate,
7
7
  useWithdrawFlow,
8
8
  useWithdrawPreview,
9
9
  useWithdrawalLifecycle
10
- } from "./chunk-5EXR5PKK.mjs";
10
+ } from "./chunk-FX7UHERV.mjs";
11
11
  import {
12
12
  AggAuthContext,
13
13
  AggBalanceProvider,
@@ -101,7 +101,7 @@ import {
101
101
  useSyncBalances,
102
102
  useWithdrawManaged,
103
103
  userActivityQueryKeys
104
- } from "./chunk-25XGLYBT.mjs";
104
+ } from "./chunk-7J4DFAKD.mjs";
105
105
 
106
106
  // src/index.ts
107
107
  import { QueryClient as QueryClient4, QueryClientProvider, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
@@ -1693,8 +1693,9 @@ var useRollingChartWindow = (options) => {
1693
1693
  // src/use-market-orderbook.ts
1694
1694
  import { useQueries as useQueries5, useQueryClient } from "@tanstack/react-query";
1695
1695
  function useMarketOrderbook(options) {
1696
- var _a, _b, _c, _d, _e, _f, _g, _h;
1696
+ var _a, _b, _c, _d, _e, _f, _g;
1697
1697
  const queryClient = useQueryClient();
1698
+ const client = useAggClient();
1698
1699
  const ws = useAggWebSocket();
1699
1700
  const isConnected = useAggWebSocketConnectionState();
1700
1701
  const {
@@ -1723,12 +1724,30 @@ function useMarketOrderbook(options) {
1723
1724
  refetchOnReconnect: false
1724
1725
  }))
1725
1726
  });
1727
+ const seedQueries = useQueries5({
1728
+ queries: subscriptionIds.map((subscriptionId) => ({
1729
+ queryKey: ["market-orderbook-seed", subscriptionId],
1730
+ queryFn: ({ signal }) => client.getOutcomeOrderbook(subscriptionId, { signal }),
1731
+ enabled: enabled && !!subscriptionId,
1732
+ staleTime: 5e3,
1733
+ gcTime: 6e4,
1734
+ refetchOnWindowFocus: false,
1735
+ retry: 1
1736
+ }))
1737
+ });
1726
1738
  const liveStates = subscriptionIds.map((subscriptionId, index) => {
1727
1739
  var _a2, _b2;
1728
1740
  return (_b2 = (_a2 = liveQueries[index]) == null ? void 0 : _a2.data) != null ? _b2 : createMarketLiveState(subscriptionId);
1729
1741
  });
1730
- const primaryOrderbook = (_d = (_c = liveStates[0]) == null ? void 0 : _c.orderbook) != null ? _d : null;
1731
- const primarySnapshotVersion = (_f = (_e = liveStates[0]) == null ? void 0 : _e.orderbookSnapshotVersion) != null ? _f : 0;
1742
+ const seededOrderbooks = subscriptionIds.map((subscriptionId, index) => {
1743
+ var _a2, _b2, _c2, _d2;
1744
+ const liveBook = (_b2 = (_a2 = liveStates[index]) == null ? void 0 : _a2.orderbook) != null ? _b2 : null;
1745
+ if (liveBook) return liveBook;
1746
+ const seed = (_c2 = seedQueries[index]) == null ? void 0 : _c2.data;
1747
+ return ((_d2 = seed == null ? void 0 : seed.orderbook) == null ? void 0 : _d2.bids) && seed.orderbook.asks ? outcomeOrderbookToState(seed, subscriptionId) : null;
1748
+ });
1749
+ const primaryOrderbook = (_c = seededOrderbooks[0]) != null ? _c : null;
1750
+ const primarySnapshotVersion = (_e = (_d = liveStates[0]) == null ? void 0 : _d.orderbookSnapshotVersion) != null ? _e : 0;
1732
1751
  const data = primaryOrderbook ? applyOrderbookDepth(
1733
1752
  createMarketOrderbookDataFromState(primaryOrderbook, {
1734
1753
  snapshotVersion: primarySnapshotVersion
@@ -1736,14 +1755,15 @@ function useMarketOrderbook(options) {
1736
1755
  depth
1737
1756
  ) : null;
1738
1757
  const dataById = Object.fromEntries(
1739
- liveStates.flatMap((liveState, index) => {
1740
- if (!liveState.orderbook) return [];
1758
+ seededOrderbooks.flatMap((orderbook, index) => {
1759
+ var _a2;
1760
+ if (!orderbook) return [];
1741
1761
  return [
1742
1762
  [
1743
1763
  subscriptionIds[index],
1744
1764
  applyOrderbookDepth(
1745
- createMarketOrderbookDataFromState(liveState.orderbook, {
1746
- snapshotVersion: liveState.orderbookSnapshotVersion
1765
+ createMarketOrderbookDataFromState(orderbook, {
1766
+ snapshotVersion: (_a2 = liveStates[index]) == null ? void 0 : _a2.orderbookSnapshotVersion
1747
1767
  }),
1748
1768
  depth
1749
1769
  )
@@ -1751,14 +1771,15 @@ function useMarketOrderbook(options) {
1751
1771
  ];
1752
1772
  })
1753
1773
  );
1754
- const hasAnyOrderbook = liveStates.some((liveState) => liveState.orderbook != null);
1755
- const liveOrderbookErrorMessage = enabled && liveEnabled && !hasAnyOrderbook ? (_h = (_g = liveStates.find(
1774
+ const hasAnyOrderbook = seededOrderbooks.some((orderbook) => orderbook != null);
1775
+ const seedLoading = seedQueries.some((query) => query.isLoading);
1776
+ const liveOrderbookErrorMessage = enabled && liveEnabled && !hasAnyOrderbook ? (_g = (_f = liveStates.find(
1756
1777
  (liveState) => typeof liveState.orderbookError === "string" && liveState.orderbookError.length > 0
1757
- )) == null ? void 0 : _g.orderbookError) != null ? _h : null : null;
1778
+ )) == null ? void 0 : _f.orderbookError) != null ? _g : null : null;
1758
1779
  return {
1759
1780
  data,
1760
1781
  dataById,
1761
- isLoading: enabled && liveEnabled && !hasAnyOrderbook && isConnected && liveOrderbookErrorMessage == null,
1782
+ isLoading: enabled && !hasAnyOrderbook && liveOrderbookErrorMessage == null && (isConnected || seedLoading),
1762
1783
  error: liveOrderbookErrorMessage ? new Error(liveOrderbookErrorMessage) : null,
1763
1784
  isLive: Boolean(liveEnabled && selectedOutcomeId && isConnected),
1764
1785
  refetch: () => __async(null, null, function* () {
@@ -2296,8 +2317,10 @@ var assessThinSmartRouteLiquidity = (quote, nowMs = Date.now()) => {
2296
2317
  };
2297
2318
  };
2298
2319
  var resolveSmartRouteRefetchInterval = (args, nowMs = Date.now()) => {
2320
+ var _a, _b;
2299
2321
  const {
2300
2322
  aggressiveIntervalMs = THIN_SMART_ROUTE_REFETCH_INTERVAL_MS,
2323
+ adaptive = true,
2301
2324
  data,
2302
2325
  defaultIntervalMs,
2303
2326
  isDocumentVisible,
@@ -2313,6 +2336,18 @@ var resolveSmartRouteRefetchInterval = (args, nowMs = Date.now()) => {
2313
2336
  if (!queryEnabled || !isInputValid || !isActivelyViewingQuote || !isMarketOpen || isSubmitting || !isDocumentVisible) {
2314
2337
  return false;
2315
2338
  }
2339
+ const primaryUsesProphetx = ((_a = data == null ? void 0 : data.fills) == null ? void 0 : _a.some((fill) => fill.venue === "prophetx")) || (data == null ? void 0 : data.status) !== "ok";
2340
+ const deadlines = [
2341
+ data == null ? void 0 : data.quoteRefreshNotBefore,
2342
+ ...primaryUsesProphetx ? [(_b = data == null ? void 0 : data.quoteFailure) == null ? void 0 : _b.retryAt] : []
2343
+ ].filter((value) => !!value).map(Date.parse).filter((value) => Number.isFinite(value) && value > nowMs);
2344
+ if (deadlines.length) return Math.max(...deadlines) - nowMs;
2345
+ if (!adaptive)
2346
+ return clampIntervalToRefreshDeadline({
2347
+ intervalMs: defaultIntervalMs,
2348
+ refreshAt: void 0,
2349
+ nowMs
2350
+ });
2316
2351
  const defaultInterval = clampIntervalToRefreshDeadline({
2317
2352
  intervalMs: defaultIntervalMs,
2318
2353
  refreshAt: data == null ? void 0 : data.refreshAt,
@@ -2399,7 +2434,8 @@ function useSmartRoute(options) {
2399
2434
  return resolveSmartRouteRefetchInterval({
2400
2435
  // SELL already fans out into one quote per venue. Keep that group on a
2401
2436
  // stable cadence instead of multiplying the adaptive 5s/refreshAt poll.
2402
- data: tradeSide === "sell" ? void 0 : queryState.state.data,
2437
+ data: queryState.state.data,
2438
+ adaptive: tradeSide !== "sell",
2403
2439
  defaultIntervalMs: staleTimeMs,
2404
2440
  isDocumentVisible: getIsDocumentVisible(),
2405
2441
  isEditing: (_a2 = refreshContext == null ? void 0 : refreshContext.isEditing) != null ? _a2 : false,
@@ -2654,13 +2690,14 @@ var useVenueSellQuotes = (options) => {
2654
2690
  }),
2655
2691
  enabled: queryEnabled,
2656
2692
  staleTime: staleTimeMs,
2657
- refetchInterval: (_queryState) => {
2693
+ refetchInterval: (queryState) => {
2658
2694
  var _a2, _b2, _c, _d;
2659
2695
  return resolveSmartRouteRefetchInterval({
2660
2696
  // Venue quotes are display companions to the aggregate SELL quote.
2661
2697
  // Poll them at the normal cadence rather than independently
2662
2698
  // accelerating every venue to the thin-liquidity interval.
2663
- data: void 0,
2699
+ data: queryState.state.data,
2700
+ adaptive: false,
2664
2701
  defaultIntervalMs: staleTimeMs,
2665
2702
  isDocumentVisible: getIsDocumentVisible3(),
2666
2703
  isEditing: (_a2 = refreshContext == null ? void 0 : refreshContext.isEditing) != null ? _a2 : false,
@@ -3316,7 +3353,7 @@ function useVenueEvent(options) {
3316
3353
  import { QueryClient as QueryClient2, QueryClientContext as QueryClientContext2, useInfiniteQuery as useInfiniteQuery7 } from "@tanstack/react-query";
3317
3354
  import { useContext as useContext3, useEffect as useEffect8, useState as useState8 } from "react";
3318
3355
  function useVenueMarkets(options) {
3319
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
3356
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
3320
3357
  const client = useContext3(AggClientContext);
3321
3358
  const queryClient = useContext3(QueryClientContext2);
3322
3359
  const [fallbackQueryClient] = useState8(() => new QueryClient2());
@@ -3326,7 +3363,6 @@ function useVenueMarkets(options) {
3326
3363
  const search = options == null ? void 0 : options.search;
3327
3364
  const matchStatus = options == null ? void 0 : options.matchStatus;
3328
3365
  const status = options == null ? void 0 : options.status;
3329
- const categoryIds = options == null ? void 0 : options.categoryIds;
3330
3366
  const aggKey = options == null ? void 0 : options.aggKey;
3331
3367
  const sportsMarketType = options == null ? void 0 : options.sportsMarketType;
3332
3368
  const period = options == null ? void 0 : options.period;
@@ -3357,12 +3393,11 @@ function useVenueMarkets(options) {
3357
3393
  search != null ? search : "",
3358
3394
  matchStatus != null ? matchStatus : "",
3359
3395
  status != null ? status : "",
3360
- (_c = categoryIds == null ? void 0 : categoryIds.join(",")) != null ? _c : "",
3361
- (_d = aggKey == null ? void 0 : aggKey.join(",")) != null ? _d : "",
3362
- (_e = sportsMarketType == null ? void 0 : sportsMarketType.join(",")) != null ? _e : "",
3363
- (_f = period == null ? void 0 : period.join(",")) != null ? _f : "",
3364
- (_g = marketCategory == null ? void 0 : marketCategory.join(",")) != null ? _g : "",
3365
- (_h = marketGroup == null ? void 0 : marketGroup.join(",")) != null ? _h : "",
3396
+ (_c = aggKey == null ? void 0 : aggKey.join(",")) != null ? _c : "",
3397
+ (_d = sportsMarketType == null ? void 0 : sportsMarketType.join(",")) != null ? _d : "",
3398
+ (_e = period == null ? void 0 : period.join(",")) != null ? _e : "",
3399
+ (_f = marketCategory == null ? void 0 : marketCategory.join(",")) != null ? _f : "",
3400
+ (_g = marketGroup == null ? void 0 : marketGroup.join(",")) != null ? _g : "",
3366
3401
  limit,
3367
3402
  sortBy != null ? sortBy : "",
3368
3403
  sortDir != null ? sortDir : "",
@@ -3379,7 +3414,6 @@ function useVenueMarkets(options) {
3379
3414
  search,
3380
3415
  matchStatus,
3381
3416
  status,
3382
- categoryIds,
3383
3417
  aggKey,
3384
3418
  sportsMarketType,
3385
3419
  period,
@@ -3403,10 +3437,10 @@ function useVenueMarkets(options) {
3403
3437
  },
3404
3438
  queryClient != null ? queryClient : fallbackQueryClient
3405
3439
  );
3406
- const markets = (_j = (_i = query.data) == null ? void 0 : _i.pages.flatMap((page) => page.data)) != null ? _j : [];
3440
+ const markets = (_i = (_h = query.data) == null ? void 0 : _h.pages.flatMap((page) => page.data)) != null ? _i : [];
3407
3441
  const hasNextPage = !!query.hasNextPage;
3408
3442
  const { fetchNextPage, isFetchingNextPage } = query;
3409
- const fetchAll = (_k = options == null ? void 0 : options.fetchAll) != null ? _k : false;
3443
+ const fetchAll = (_j = options == null ? void 0 : options.fetchAll) != null ? _j : false;
3410
3444
  useEffect8(() => {
3411
3445
  if (!fetchAll || !hasNextPage || isFetchingNextPage) return;
3412
3446
  void fetchNextPage();
package/dist/withdraw.js CHANGED
@@ -98,6 +98,7 @@ var enUsLabels = {
98
98
  kalshi: "Kalshi",
99
99
  opinion: "Opinion",
100
100
  predict: "Predict",
101
+ pred: "PRED",
101
102
  limitless: "Limitless",
102
103
  probable: "Probable",
103
104
  myriad: "Myriad",
@@ -843,6 +844,7 @@ var enUsLabels = {
843
844
  executionReserveDescription: "Held for price movement or possible venue charges, not a confirmed fee. Unused funds are returned after execution.",
844
845
  estimatedFeesTooltipAria: "Estimated fees breakdown",
845
846
  feeBreakdownVenueFees: "Venue",
847
+ feeBreakdownBuilderFee: "Builder",
846
848
  feeBreakdownBridgeFees: "Bridging",
847
849
  feeBreakdownExecutionGas: "Gas",
848
850
  feeBreakdownAggMarket: "agg.market",
@@ -871,6 +873,7 @@ var enUsLabels = {
871
873
  depositingFunds: (amount, tokenSymbol, destinationChain) => `Depositing ${amount} ${tokenSymbol} to ${destinationChain}...`,
872
874
  fundsDeposited: (amount, tokenSymbol, destinationChain) => `Deposited ${amount} ${tokenSymbol} to ${destinationChain}`,
873
875
  fillingOnVenue: (venueLabel) => `Filling on ${venueLabel}...`,
876
+ orderStillSettling: "Still settling. This can take a bit \u2014 check your activity feed. You can keep trading.",
874
877
  venueFilledAtPriceWithAmount: (venueLabel, amountLabel, priceLabel) => `${venueLabel} filled ${amountLabel} at ${priceLabel}`,
875
878
  executionShares: (value) => `${value} shares`,
876
879
  confirmTransactionInWallet: "Confirm the transaction in your wallet",
package/dist/withdraw.mjs CHANGED
@@ -3,12 +3,12 @@ import {
3
3
  useWithdrawFlow,
4
4
  useWithdrawPreview,
5
5
  useWithdrawalLifecycle
6
- } from "./chunk-5EXR5PKK.mjs";
6
+ } from "./chunk-FX7UHERV.mjs";
7
7
  import {
8
8
  useDepositAddresses,
9
9
  useManagedBalances,
10
10
  useWithdrawManaged
11
- } from "./chunk-25XGLYBT.mjs";
11
+ } from "./chunk-7J4DFAKD.mjs";
12
12
  export {
13
13
  useDepositAddresses,
14
14
  useManagedBalances,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agg-build/hooks",
3
- "version": "4.9.0",
3
+ "version": "4.11.0",
4
4
  "description": "React hooks and providers for the AGG prediction market aggregator. Wraps @agg-build/sdk with TanStack Query, shared session state, and live WebSocket data.",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",
@@ -83,7 +83,7 @@
83
83
  "react": "^18.0.0 || ^19.0.0",
84
84
  "viem": "^2.0.0",
85
85
  "wagmi": "^3.0.0 || ^2.0.0",
86
- "@agg-build/sdk": "^4.9.0"
86
+ "@agg-build/sdk": "^4.11.0"
87
87
  },
88
88
  "peerDependenciesMeta": {
89
89
  "@solana/wallet-adapter-react": {