@agg-build/hooks 4.21.1 → 4.24.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.
@@ -1100,6 +1100,10 @@ var enUsLabels = {
1100
1100
  manageProphetx: "Manage ProphetX connection",
1101
1101
  prophetxFundingNotice: "Manage funds on ProphetX",
1102
1102
  prophetxSettlementNotice: "This position settles on ProphetX",
1103
+ connectNovig: "Connect Novig to trade",
1104
+ manageNovig: "Manage Novig connection",
1105
+ novigFundingNotice: "Manage funds on Novig",
1106
+ novigSettlementNotice: "This position settles on Novig",
1103
1107
  requiresKalshiAccount: "Requires Kalshi account",
1104
1108
  tradingAccessVenues: "Venues",
1105
1109
  tradingAccessAvailable: "Available",
@@ -1316,6 +1320,22 @@ var enUsLabels = {
1316
1320
  connected: "Your ProphetX account is connected.",
1317
1321
  done: "Done"
1318
1322
  },
1323
+ connectNovigModal: {
1324
+ disconnect: "Disconnect Novig",
1325
+ disconnecting: "Disconnecting\u2026",
1326
+ disconnectError: "Could not disconnect Novig. Finish any open orders and try again.",
1327
+ title: "Connect Novig Account",
1328
+ description: "Add the trading key ID and private key for your funded Novig subaccount.",
1329
+ fundingNotice: "Trades use your Novig balance. Deposits, withdrawals, and transfers are managed on Novig, outside AGG.",
1330
+ instructions: "Set up a Novig trading subaccount",
1331
+ keyId: "Trading key ID",
1332
+ privateKey: "Private key",
1333
+ verify: "Verify connection",
1334
+ verifying: "Verifying\u2026",
1335
+ error: "Could not connect to Novig. Check your credentials and try again.",
1336
+ connected: "Your Novig account is connected.",
1337
+ done: "Done"
1338
+ },
1319
1339
  connectKalshiModal: {
1320
1340
  ariaLabel: "Connect Kalshi Account",
1321
1341
  title: "Connect Kalshi Account",
@@ -1684,7 +1704,7 @@ var mergeAggUiSearchConfig = (config) => {
1684
1704
  };
1685
1705
  };
1686
1706
  var mergeAggUiConfig = (persisted, config) => {
1687
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca;
1707
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea;
1688
1708
  const locale = (_d = (_c = (_a = config == null ? void 0 : config.general) == null ? void 0 : _a.locale) != null ? _c : (_b = persisted.general) == null ? void 0 : _b.locale) != null ? _d : DEFAULT_LOCALE;
1689
1709
  const theme = (_h = (_g = (_e = config == null ? void 0 : config.general) == null ? void 0 : _e.theme) != null ? _g : (_f = persisted.general) == null ? void 0 : _f.theme) != null ? _h : defaultAggUiConfig.general.theme;
1690
1710
  const formatters = createFormatters(locale);
@@ -1713,26 +1733,27 @@ var mergeAggUiConfig = (persisted, config) => {
1713
1733
  },
1714
1734
  market: {
1715
1735
  arbitrageThreshold: (_J = (_I = config == null ? void 0 : config.market) == null ? void 0 : _I.arbitrageThreshold) != null ? _J : defaultAggUiConfig.market.arbitrageThreshold,
1716
- maxMidpointIdsPerRequest: (_L = (_K = config == null ? void 0 : config.market) == null ? void 0 : _K.maxMidpointIdsPerRequest) != null ? _L : defaultAggUiConfig.market.maxMidpointIdsPerRequest
1736
+ maxMidpointIdsPerRequest: (_L = (_K = config == null ? void 0 : config.market) == null ? void 0 : _K.maxMidpointIdsPerRequest) != null ? _L : defaultAggUiConfig.market.maxMidpointIdsPerRequest,
1737
+ minVolume: (_N = (_M = config == null ? void 0 : config.market) == null ? void 0 : _M.minVolume) != null ? _N : defaultAggUiConfig.market.minVolume
1717
1738
  },
1718
1739
  chart: {
1719
- defaultChartTimeRange: (_N = (_M = config == null ? void 0 : config.chart) == null ? void 0 : _M.defaultChartTimeRange) != null ? _N : defaultAggUiConfig.chart.defaultChartTimeRange,
1720
- selectedChartTimeRange: (_R = (_Q = (_O = persisted.chart) == null ? void 0 : _O.selectedChartTimeRange) != null ? _Q : (_P = config == null ? void 0 : config.chart) == null ? void 0 : _P.defaultChartTimeRange) != null ? _R : defaultAggUiConfig.chart.defaultChartTimeRange,
1740
+ defaultChartTimeRange: (_P = (_O = config == null ? void 0 : config.chart) == null ? void 0 : _O.defaultChartTimeRange) != null ? _P : defaultAggUiConfig.chart.defaultChartTimeRange,
1741
+ selectedChartTimeRange: (_T = (_S = (_Q = persisted.chart) == null ? void 0 : _Q.selectedChartTimeRange) != null ? _S : (_R = config == null ? void 0 : config.chart) == null ? void 0 : _R.defaultChartTimeRange) != null ? _T : defaultAggUiConfig.chart.defaultChartTimeRange,
1721
1742
  setSelectedChartTimeRange: defaultAggUiConfig.chart.setSelectedChartTimeRange
1722
1743
  },
1723
1744
  formatting: {
1724
- formatNumber: (_T = (_S = config == null ? void 0 : config.formatting) == null ? void 0 : _S.formatNumber) != null ? _T : formatters.formatNumber,
1725
- formatPercent: (_V = (_U = config == null ? void 0 : config.formatting) == null ? void 0 : _U.formatPercent) != null ? _V : formatters.formatPercent,
1745
+ formatNumber: (_V = (_U = config == null ? void 0 : config.formatting) == null ? void 0 : _U.formatNumber) != null ? _V : formatters.formatNumber,
1746
+ formatPercent: (_X = (_W = config == null ? void 0 : config.formatting) == null ? void 0 : _W.formatPercent) != null ? _X : formatters.formatPercent,
1726
1747
  // ponytail: no default here — each cents surface keeps its own rendering
1727
1748
  // when unset, so adding this knob changes nothing for existing partners.
1728
- formatPrice: (_W = config == null ? void 0 : config.formatting) == null ? void 0 : _W.formatPrice,
1729
- formatCurrency: (_Y = (_X = config == null ? void 0 : config.formatting) == null ? void 0 : _X.formatCurrency) != null ? _Y : formatters.formatCurrency,
1730
- formatCompactCurrency: (__ = (_Z = config == null ? void 0 : config.formatting) == null ? void 0 : _Z.formatCompactCurrency) != null ? __ : formatters.formatCompactCurrency,
1731
- formatDate: (_aa = (_$ = config == null ? void 0 : config.formatting) == null ? void 0 : _$.formatDate) != null ? _aa : formatters.formatDate
1749
+ formatPrice: (_Y = config == null ? void 0 : config.formatting) == null ? void 0 : _Y.formatPrice,
1750
+ formatCurrency: (__ = (_Z = config == null ? void 0 : config.formatting) == null ? void 0 : _Z.formatCurrency) != null ? __ : formatters.formatCurrency,
1751
+ formatCompactCurrency: (_aa = (_$ = config == null ? void 0 : config.formatting) == null ? void 0 : _$.formatCompactCurrency) != null ? _aa : formatters.formatCompactCurrency,
1752
+ formatDate: (_ca = (_ba = config == null ? void 0 : config.formatting) == null ? void 0 : _ba.formatDate) != null ? _ca : formatters.formatDate
1732
1753
  },
1733
1754
  search: mergeAggUiSearchConfig(config == null ? void 0 : config.search),
1734
1755
  trading: {
1735
- executionMode: (_ca = (_ba = config == null ? void 0 : config.trading) == null ? void 0 : _ba.executionMode) != null ? _ca : defaultAggUiConfig.trading.executionMode
1756
+ executionMode: (_ea = (_da = config == null ? void 0 : config.trading) == null ? void 0 : _da.executionMode) != null ? _ea : defaultAggUiConfig.trading.executionMode
1736
1757
  },
1737
1758
  walletActions: config == null ? void 0 : config.walletActions,
1738
1759
  solanaRpcUrl: config == null ? void 0 : config.solanaRpcUrl
@@ -2582,15 +2603,16 @@ function useCachedAppConfig() {
2582
2603
  });
2583
2604
  }
2584
2605
  var toAppConfigResult = (query) => {
2585
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
2606
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
2586
2607
  return {
2587
2608
  prophetxExecutionMode: query.data ? (_a = query.data.prophetxExecutionMode) != null ? _a : "clearinghouse" : void 0,
2588
- disabledVenues: (_c = (_b = query.data) == null ? void 0 : _b.disabledVenues) != null ? _c : [],
2589
- disabledCategoryPresets: (_e = (_d = query.data) == null ? void 0 : _d.disabledCategoryPresets) != null ? _e : [],
2590
- earlyAccessEnabled: (_g = (_f = query.data) == null ? void 0 : _f.earlyAccessEnabled) != null ? _g : false,
2591
- authOptions: (_i = (_h = query.data) == null ? void 0 : _h.authOptions) != null ? _i : [],
2592
- tradingMode: (_j = query.data) == null ? void 0 : _j.tradingMode,
2593
- paperStartingBalance: (_k = query.data) == null ? void 0 : _k.paperStartingBalance,
2609
+ novigExecutionMode: query.data ? (_b = query.data.novigExecutionMode) != null ? _b : "clearinghouse" : void 0,
2610
+ disabledVenues: (_d = (_c = query.data) == null ? void 0 : _c.disabledVenues) != null ? _d : [],
2611
+ disabledCategoryPresets: (_f = (_e = query.data) == null ? void 0 : _e.disabledCategoryPresets) != null ? _f : [],
2612
+ earlyAccessEnabled: (_h = (_g = query.data) == null ? void 0 : _g.earlyAccessEnabled) != null ? _h : false,
2613
+ authOptions: (_j = (_i = query.data) == null ? void 0 : _i.authOptions) != null ? _j : [],
2614
+ tradingMode: (_k = query.data) == null ? void 0 : _k.tradingMode,
2615
+ paperStartingBalance: (_l = query.data) == null ? void 0 : _l.paperStartingBalance,
2594
2616
  isLoading: query.isLoading,
2595
2617
  error: query.error
2596
2618
  };
@@ -11,7 +11,7 @@ import {
11
11
  useOnWithdrawalLifecycle,
12
12
  useSyncBalances,
13
13
  useWithdrawManaged
14
- } from "./chunk-QQVNZWRZ.mjs";
14
+ } from "./chunk-JFJNW2PD.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-QQVNZWRZ.mjs";
4
+ } from "./chunk-JFJNW2PD.mjs";
5
5
 
6
6
  // src/use-ramp-quotes.ts
7
7
  import { useMutation } from "@tanstack/react-query";
package/dist/deposit.js CHANGED
@@ -985,6 +985,10 @@ var enUsLabels = {
985
985
  manageProphetx: "Manage ProphetX connection",
986
986
  prophetxFundingNotice: "Manage funds on ProphetX",
987
987
  prophetxSettlementNotice: "This position settles on ProphetX",
988
+ connectNovig: "Connect Novig to trade",
989
+ manageNovig: "Manage Novig connection",
990
+ novigFundingNotice: "Manage funds on Novig",
991
+ novigSettlementNotice: "This position settles on Novig",
988
992
  requiresKalshiAccount: "Requires Kalshi account",
989
993
  tradingAccessVenues: "Venues",
990
994
  tradingAccessAvailable: "Available",
@@ -1201,6 +1205,22 @@ var enUsLabels = {
1201
1205
  connected: "Your ProphetX account is connected.",
1202
1206
  done: "Done"
1203
1207
  },
1208
+ connectNovigModal: {
1209
+ disconnect: "Disconnect Novig",
1210
+ disconnecting: "Disconnecting\u2026",
1211
+ disconnectError: "Could not disconnect Novig. Finish any open orders and try again.",
1212
+ title: "Connect Novig Account",
1213
+ description: "Add the trading key ID and private key for your funded Novig subaccount.",
1214
+ fundingNotice: "Trades use your Novig balance. Deposits, withdrawals, and transfers are managed on Novig, outside AGG.",
1215
+ instructions: "Set up a Novig trading subaccount",
1216
+ keyId: "Trading key ID",
1217
+ privateKey: "Private key",
1218
+ verify: "Verify connection",
1219
+ verifying: "Verifying\u2026",
1220
+ error: "Could not connect to Novig. Check your credentials and try again.",
1221
+ connected: "Your Novig account is connected.",
1222
+ done: "Done"
1223
+ },
1204
1224
  connectKalshiModal: {
1205
1225
  ariaLabel: "Connect Kalshi Account",
1206
1226
  title: "Connect Kalshi Account",
package/dist/deposit.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useRampQuotes,
3
3
  useRampSession
4
- } from "./chunk-OAVURSWZ.mjs";
4
+ } from "./chunk-OZQ3K47U.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-QQVNZWRZ.mjs";
14
+ } from "./chunk-JFJNW2PD.mjs";
15
15
 
16
16
  // src/deposit/normalize-wallet-error.ts
17
17
  function normalizeWalletError(error, supportedChains) {
package/dist/index.d.mts CHANGED
@@ -1514,6 +1514,10 @@ interface AggUiLabels {
1514
1514
  manageProphetx: string;
1515
1515
  prophetxFundingNotice: string;
1516
1516
  prophetxSettlementNotice: string;
1517
+ connectNovig: string;
1518
+ manageNovig: string;
1519
+ novigFundingNotice: string;
1520
+ novigSettlementNotice: string;
1517
1521
  /** Route card hint when Kalshi is quoted but the user has no Kalshi account connected. */
1518
1522
  requiresKalshiAccount: string;
1519
1523
  tradingAccessVenues: string;
@@ -1712,6 +1716,22 @@ interface AggUiLabels {
1712
1716
  connected: string;
1713
1717
  done: string;
1714
1718
  };
1719
+ connectNovigModal: {
1720
+ disconnect: string;
1721
+ disconnecting: string;
1722
+ disconnectError: string;
1723
+ title: string;
1724
+ description: string;
1725
+ fundingNotice: string;
1726
+ instructions: string;
1727
+ keyId: string;
1728
+ privateKey: string;
1729
+ verify: string;
1730
+ verifying: string;
1731
+ error: string;
1732
+ connected: string;
1733
+ done: string;
1734
+ };
1715
1735
  connectKalshiModal: {
1716
1736
  ariaLabel: string;
1717
1737
  title: string;
@@ -2047,6 +2067,11 @@ interface AggUiMarketConfig {
2047
2067
  * Lower this when proxy/CDN URL limits are stricter than AGG's backend cap.
2048
2068
  */
2049
2069
  maxMidpointIdsPerRequest: number;
2070
+ /**
2071
+ * Lifetime-volume floor (USD) applied by list/detail components to
2072
+ * /venue-events and /venue-markets. Unset = no filter (default).
2073
+ */
2074
+ minVolume?: number;
2050
2075
  }
2051
2076
  type AggUiMarketConfigInput = Partial<AggUiMarketConfig>;
2052
2077
  interface AggUiChartConfig {
@@ -5991,6 +6016,11 @@ interface UseVenueEventOptions {
5991
6016
  * on `useVenueMarkets` so the count matches the market list you render.
5992
6017
  */
5993
6018
  cluster?: boolean;
6019
+ /**
6020
+ * Lifetime-volume floor. Scopes `marketCount` to the markets `useVenueMarkets`
6021
+ * returns with the same `minVolume`. Unset = no filter.
6022
+ */
6023
+ minVolume?: number;
5994
6024
  }
5995
6025
  /**
5996
6026
  * Fetch a single venue event by ID via the API.
@@ -6168,6 +6198,8 @@ declare function useVenueEvent(options: UseVenueEventOptions): {
6168
6198
 
6169
6199
  type UseEnrichedVenueEventOptions = UseVenueEventOptions & {
6170
6200
  progressive?: boolean;
6201
+ /** Lifetime-volume floor for the open-markets list (the all-status fallback ignores it). */
6202
+ minVolume?: number;
6171
6203
  };
6172
6204
  /**
6173
6205
  * Fetches a venue event and enriches its venueMarkets with full data
@@ -6602,6 +6634,8 @@ interface UseVenueEventsOptions {
6602
6634
  enabled?: boolean;
6603
6635
  /** Page size when using cursor pagination. Default 20. */
6604
6636
  limit?: number;
6637
+ /** Lifetime-volume floor (USD). Omit or 0 = no filter. */
6638
+ minVolume?: number;
6605
6639
  /** If provided, filter by minimum yes price. */
6606
6640
  minYesPrice?: number;
6607
6641
  /** If provided, filter by maximum yes price. */
@@ -7073,6 +7107,8 @@ interface UseVenueMarketsOptions {
7073
7107
  /** Sort surface. "list" makes axis/dates events sort by volume (matches the
7074
7108
  * tile top-3); omit or "detail" on the detail page to keep structured order. */
7075
7109
  context?: "list" | "detail";
7110
+ /** Lifetime-volume floor (USD). Omit or 0 = no filter. */
7111
+ minVolume?: number;
7076
7112
  }
7077
7113
  /**
7078
7114
  * Fetch venue markets with cursor-based pagination.
@@ -7623,6 +7659,7 @@ declare function useVisibleIds(options?: UseVisibleIdsOptions): UseVisibleIdsRes
7623
7659
  declare const appConfigQueryKey: (appId: string | undefined) => readonly ["agg", "app-config", string];
7624
7660
  interface UseAppConfigResult {
7625
7661
  prophetxExecutionMode?: "clearinghouse" | "direct";
7662
+ novigExecutionMode?: "clearinghouse" | "direct";
7626
7663
  disabledVenues: AppClientConfigResponse["disabledVenues"];
7627
7664
  disabledCategoryPresets: AppClientConfigResponse["disabledCategoryPresets"];
7628
7665
  earlyAccessEnabled: AppClientConfigResponse["earlyAccessEnabled"];
package/dist/index.d.ts CHANGED
@@ -1514,6 +1514,10 @@ interface AggUiLabels {
1514
1514
  manageProphetx: string;
1515
1515
  prophetxFundingNotice: string;
1516
1516
  prophetxSettlementNotice: string;
1517
+ connectNovig: string;
1518
+ manageNovig: string;
1519
+ novigFundingNotice: string;
1520
+ novigSettlementNotice: string;
1517
1521
  /** Route card hint when Kalshi is quoted but the user has no Kalshi account connected. */
1518
1522
  requiresKalshiAccount: string;
1519
1523
  tradingAccessVenues: string;
@@ -1712,6 +1716,22 @@ interface AggUiLabels {
1712
1716
  connected: string;
1713
1717
  done: string;
1714
1718
  };
1719
+ connectNovigModal: {
1720
+ disconnect: string;
1721
+ disconnecting: string;
1722
+ disconnectError: string;
1723
+ title: string;
1724
+ description: string;
1725
+ fundingNotice: string;
1726
+ instructions: string;
1727
+ keyId: string;
1728
+ privateKey: string;
1729
+ verify: string;
1730
+ verifying: string;
1731
+ error: string;
1732
+ connected: string;
1733
+ done: string;
1734
+ };
1715
1735
  connectKalshiModal: {
1716
1736
  ariaLabel: string;
1717
1737
  title: string;
@@ -2047,6 +2067,11 @@ interface AggUiMarketConfig {
2047
2067
  * Lower this when proxy/CDN URL limits are stricter than AGG's backend cap.
2048
2068
  */
2049
2069
  maxMidpointIdsPerRequest: number;
2070
+ /**
2071
+ * Lifetime-volume floor (USD) applied by list/detail components to
2072
+ * /venue-events and /venue-markets. Unset = no filter (default).
2073
+ */
2074
+ minVolume?: number;
2050
2075
  }
2051
2076
  type AggUiMarketConfigInput = Partial<AggUiMarketConfig>;
2052
2077
  interface AggUiChartConfig {
@@ -5991,6 +6016,11 @@ interface UseVenueEventOptions {
5991
6016
  * on `useVenueMarkets` so the count matches the market list you render.
5992
6017
  */
5993
6018
  cluster?: boolean;
6019
+ /**
6020
+ * Lifetime-volume floor. Scopes `marketCount` to the markets `useVenueMarkets`
6021
+ * returns with the same `minVolume`. Unset = no filter.
6022
+ */
6023
+ minVolume?: number;
5994
6024
  }
5995
6025
  /**
5996
6026
  * Fetch a single venue event by ID via the API.
@@ -6168,6 +6198,8 @@ declare function useVenueEvent(options: UseVenueEventOptions): {
6168
6198
 
6169
6199
  type UseEnrichedVenueEventOptions = UseVenueEventOptions & {
6170
6200
  progressive?: boolean;
6201
+ /** Lifetime-volume floor for the open-markets list (the all-status fallback ignores it). */
6202
+ minVolume?: number;
6171
6203
  };
6172
6204
  /**
6173
6205
  * Fetches a venue event and enriches its venueMarkets with full data
@@ -6602,6 +6634,8 @@ interface UseVenueEventsOptions {
6602
6634
  enabled?: boolean;
6603
6635
  /** Page size when using cursor pagination. Default 20. */
6604
6636
  limit?: number;
6637
+ /** Lifetime-volume floor (USD). Omit or 0 = no filter. */
6638
+ minVolume?: number;
6605
6639
  /** If provided, filter by minimum yes price. */
6606
6640
  minYesPrice?: number;
6607
6641
  /** If provided, filter by maximum yes price. */
@@ -7073,6 +7107,8 @@ interface UseVenueMarketsOptions {
7073
7107
  /** Sort surface. "list" makes axis/dates events sort by volume (matches the
7074
7108
  * tile top-3); omit or "detail" on the detail page to keep structured order. */
7075
7109
  context?: "list" | "detail";
7110
+ /** Lifetime-volume floor (USD). Omit or 0 = no filter. */
7111
+ minVolume?: number;
7076
7112
  }
7077
7113
  /**
7078
7114
  * Fetch venue markets with cursor-based pagination.
@@ -7623,6 +7659,7 @@ declare function useVisibleIds(options?: UseVisibleIdsOptions): UseVisibleIdsRes
7623
7659
  declare const appConfigQueryKey: (appId: string | undefined) => readonly ["agg", "app-config", string];
7624
7660
  interface UseAppConfigResult {
7625
7661
  prophetxExecutionMode?: "clearinghouse" | "direct";
7662
+ novigExecutionMode?: "clearinghouse" | "direct";
7626
7663
  disabledVenues: AppClientConfigResponse["disabledVenues"];
7627
7664
  disabledCategoryPresets: AppClientConfigResponse["disabledCategoryPresets"];
7628
7665
  earlyAccessEnabled: AppClientConfigResponse["earlyAccessEnabled"];
package/dist/index.js CHANGED
@@ -1470,6 +1470,10 @@ var enUsLabels = {
1470
1470
  manageProphetx: "Manage ProphetX connection",
1471
1471
  prophetxFundingNotice: "Manage funds on ProphetX",
1472
1472
  prophetxSettlementNotice: "This position settles on ProphetX",
1473
+ connectNovig: "Connect Novig to trade",
1474
+ manageNovig: "Manage Novig connection",
1475
+ novigFundingNotice: "Manage funds on Novig",
1476
+ novigSettlementNotice: "This position settles on Novig",
1473
1477
  requiresKalshiAccount: "Requires Kalshi account",
1474
1478
  tradingAccessVenues: "Venues",
1475
1479
  tradingAccessAvailable: "Available",
@@ -1686,6 +1690,22 @@ var enUsLabels = {
1686
1690
  connected: "Your ProphetX account is connected.",
1687
1691
  done: "Done"
1688
1692
  },
1693
+ connectNovigModal: {
1694
+ disconnect: "Disconnect Novig",
1695
+ disconnecting: "Disconnecting\u2026",
1696
+ disconnectError: "Could not disconnect Novig. Finish any open orders and try again.",
1697
+ title: "Connect Novig Account",
1698
+ description: "Add the trading key ID and private key for your funded Novig subaccount.",
1699
+ fundingNotice: "Trades use your Novig balance. Deposits, withdrawals, and transfers are managed on Novig, outside AGG.",
1700
+ instructions: "Set up a Novig trading subaccount",
1701
+ keyId: "Trading key ID",
1702
+ privateKey: "Private key",
1703
+ verify: "Verify connection",
1704
+ verifying: "Verifying\u2026",
1705
+ error: "Could not connect to Novig. Check your credentials and try again.",
1706
+ connected: "Your Novig account is connected.",
1707
+ done: "Done"
1708
+ },
1689
1709
  connectKalshiModal: {
1690
1710
  ariaLabel: "Connect Kalshi Account",
1691
1711
  title: "Connect Kalshi Account",
@@ -2054,7 +2074,7 @@ var mergeAggUiSearchConfig = (config) => {
2054
2074
  };
2055
2075
  };
2056
2076
  var mergeAggUiConfig = (persisted, config) => {
2057
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca;
2077
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea;
2058
2078
  const locale = (_d = (_c = (_a = config == null ? void 0 : config.general) == null ? void 0 : _a.locale) != null ? _c : (_b = persisted.general) == null ? void 0 : _b.locale) != null ? _d : DEFAULT_LOCALE;
2059
2079
  const theme = (_h = (_g = (_e = config == null ? void 0 : config.general) == null ? void 0 : _e.theme) != null ? _g : (_f = persisted.general) == null ? void 0 : _f.theme) != null ? _h : defaultAggUiConfig.general.theme;
2060
2080
  const formatters = createFormatters(locale);
@@ -2083,26 +2103,27 @@ var mergeAggUiConfig = (persisted, config) => {
2083
2103
  },
2084
2104
  market: {
2085
2105
  arbitrageThreshold: (_J = (_I = config == null ? void 0 : config.market) == null ? void 0 : _I.arbitrageThreshold) != null ? _J : defaultAggUiConfig.market.arbitrageThreshold,
2086
- maxMidpointIdsPerRequest: (_L = (_K = config == null ? void 0 : config.market) == null ? void 0 : _K.maxMidpointIdsPerRequest) != null ? _L : defaultAggUiConfig.market.maxMidpointIdsPerRequest
2106
+ maxMidpointIdsPerRequest: (_L = (_K = config == null ? void 0 : config.market) == null ? void 0 : _K.maxMidpointIdsPerRequest) != null ? _L : defaultAggUiConfig.market.maxMidpointIdsPerRequest,
2107
+ minVolume: (_N = (_M = config == null ? void 0 : config.market) == null ? void 0 : _M.minVolume) != null ? _N : defaultAggUiConfig.market.minVolume
2087
2108
  },
2088
2109
  chart: {
2089
- defaultChartTimeRange: (_N = (_M = config == null ? void 0 : config.chart) == null ? void 0 : _M.defaultChartTimeRange) != null ? _N : defaultAggUiConfig.chart.defaultChartTimeRange,
2090
- selectedChartTimeRange: (_R = (_Q = (_O = persisted.chart) == null ? void 0 : _O.selectedChartTimeRange) != null ? _Q : (_P = config == null ? void 0 : config.chart) == null ? void 0 : _P.defaultChartTimeRange) != null ? _R : defaultAggUiConfig.chart.defaultChartTimeRange,
2110
+ defaultChartTimeRange: (_P = (_O = config == null ? void 0 : config.chart) == null ? void 0 : _O.defaultChartTimeRange) != null ? _P : defaultAggUiConfig.chart.defaultChartTimeRange,
2111
+ selectedChartTimeRange: (_T = (_S = (_Q = persisted.chart) == null ? void 0 : _Q.selectedChartTimeRange) != null ? _S : (_R = config == null ? void 0 : config.chart) == null ? void 0 : _R.defaultChartTimeRange) != null ? _T : defaultAggUiConfig.chart.defaultChartTimeRange,
2091
2112
  setSelectedChartTimeRange: defaultAggUiConfig.chart.setSelectedChartTimeRange
2092
2113
  },
2093
2114
  formatting: {
2094
- formatNumber: (_T = (_S = config == null ? void 0 : config.formatting) == null ? void 0 : _S.formatNumber) != null ? _T : formatters.formatNumber,
2095
- formatPercent: (_V = (_U = config == null ? void 0 : config.formatting) == null ? void 0 : _U.formatPercent) != null ? _V : formatters.formatPercent,
2115
+ formatNumber: (_V = (_U = config == null ? void 0 : config.formatting) == null ? void 0 : _U.formatNumber) != null ? _V : formatters.formatNumber,
2116
+ formatPercent: (_X = (_W = config == null ? void 0 : config.formatting) == null ? void 0 : _W.formatPercent) != null ? _X : formatters.formatPercent,
2096
2117
  // ponytail: no default here — each cents surface keeps its own rendering
2097
2118
  // when unset, so adding this knob changes nothing for existing partners.
2098
- formatPrice: (_W = config == null ? void 0 : config.formatting) == null ? void 0 : _W.formatPrice,
2099
- formatCurrency: (_Y = (_X = config == null ? void 0 : config.formatting) == null ? void 0 : _X.formatCurrency) != null ? _Y : formatters.formatCurrency,
2100
- formatCompactCurrency: (__ = (_Z = config == null ? void 0 : config.formatting) == null ? void 0 : _Z.formatCompactCurrency) != null ? __ : formatters.formatCompactCurrency,
2101
- formatDate: (_aa = (_$ = config == null ? void 0 : config.formatting) == null ? void 0 : _$.formatDate) != null ? _aa : formatters.formatDate
2119
+ formatPrice: (_Y = config == null ? void 0 : config.formatting) == null ? void 0 : _Y.formatPrice,
2120
+ formatCurrency: (__ = (_Z = config == null ? void 0 : config.formatting) == null ? void 0 : _Z.formatCurrency) != null ? __ : formatters.formatCurrency,
2121
+ formatCompactCurrency: (_aa = (_$ = config == null ? void 0 : config.formatting) == null ? void 0 : _$.formatCompactCurrency) != null ? _aa : formatters.formatCompactCurrency,
2122
+ formatDate: (_ca = (_ba = config == null ? void 0 : config.formatting) == null ? void 0 : _ba.formatDate) != null ? _ca : formatters.formatDate
2102
2123
  },
2103
2124
  search: mergeAggUiSearchConfig(config == null ? void 0 : config.search),
2104
2125
  trading: {
2105
- executionMode: (_ca = (_ba = config == null ? void 0 : config.trading) == null ? void 0 : _ba.executionMode) != null ? _ca : defaultAggUiConfig.trading.executionMode
2126
+ executionMode: (_ea = (_da = config == null ? void 0 : config.trading) == null ? void 0 : _da.executionMode) != null ? _ea : defaultAggUiConfig.trading.executionMode
2106
2127
  },
2107
2128
  walletActions: config == null ? void 0 : config.walletActions,
2108
2129
  solanaRpcUrl: config == null ? void 0 : config.solanaRpcUrl
@@ -2802,15 +2823,16 @@ function useCachedAppConfig() {
2802
2823
  });
2803
2824
  }
2804
2825
  var toAppConfigResult = (query) => {
2805
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
2826
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
2806
2827
  return {
2807
2828
  prophetxExecutionMode: query.data ? (_a = query.data.prophetxExecutionMode) != null ? _a : "clearinghouse" : void 0,
2808
- disabledVenues: (_c = (_b = query.data) == null ? void 0 : _b.disabledVenues) != null ? _c : [],
2809
- disabledCategoryPresets: (_e = (_d = query.data) == null ? void 0 : _d.disabledCategoryPresets) != null ? _e : [],
2810
- earlyAccessEnabled: (_g = (_f = query.data) == null ? void 0 : _f.earlyAccessEnabled) != null ? _g : false,
2811
- authOptions: (_i = (_h = query.data) == null ? void 0 : _h.authOptions) != null ? _i : [],
2812
- tradingMode: (_j = query.data) == null ? void 0 : _j.tradingMode,
2813
- paperStartingBalance: (_k = query.data) == null ? void 0 : _k.paperStartingBalance,
2829
+ novigExecutionMode: query.data ? (_b = query.data.novigExecutionMode) != null ? _b : "clearinghouse" : void 0,
2830
+ disabledVenues: (_d = (_c = query.data) == null ? void 0 : _c.disabledVenues) != null ? _d : [],
2831
+ disabledCategoryPresets: (_f = (_e = query.data) == null ? void 0 : _e.disabledCategoryPresets) != null ? _f : [],
2832
+ earlyAccessEnabled: (_h = (_g = query.data) == null ? void 0 : _g.earlyAccessEnabled) != null ? _h : false,
2833
+ authOptions: (_j = (_i = query.data) == null ? void 0 : _i.authOptions) != null ? _j : [],
2834
+ tradingMode: (_k = query.data) == null ? void 0 : _k.tradingMode,
2835
+ paperStartingBalance: (_l = query.data) == null ? void 0 : _l.paperStartingBalance,
2814
2836
  isLoading: query.isLoading,
2815
2837
  error: query.error
2816
2838
  };
@@ -10389,11 +10411,11 @@ function resolutionPollInterval(event) {
10389
10411
  function useVenueEvent(options) {
10390
10412
  var _a;
10391
10413
  const client = useAggClient();
10392
- const { eventId, enabled = true, cluster } = options;
10414
+ const { eventId, enabled = true, cluster, minVolume } = options;
10393
10415
  const query = (0, import_react_query45.useQuery)({
10394
- queryKey: ["venue-event", eventId, cluster === false ? "no-cluster" : ""],
10416
+ queryKey: ["venue-event", eventId, cluster === false ? "no-cluster" : "", minVolume != null ? minVolume : ""],
10395
10417
  queryFn: (_0) => __async(null, [_0], function* ({ signal }) {
10396
- return client.getVenueEventById(eventId, { signal, cluster });
10418
+ return client.getVenueEventById(eventId, { signal, cluster, minVolume });
10397
10419
  }),
10398
10420
  enabled: enabled && !!eventId,
10399
10421
  staleTime: 5 * 6e4,
@@ -10433,6 +10455,7 @@ function useVenueMarkets(options) {
10433
10455
  const sortBy = options == null ? void 0 : options.sortBy;
10434
10456
  const sortDir = options == null ? void 0 : options.sortDir;
10435
10457
  const context = options == null ? void 0 : options.context;
10458
+ const minVolume = options == null ? void 0 : options.minVolume;
10436
10459
  (0, import_react40.useEffect)(() => {
10437
10460
  if (queryClient) return void 0;
10438
10461
  fallbackQueryClient.mount();
@@ -10461,7 +10484,8 @@ function useVenueMarkets(options) {
10461
10484
  limit,
10462
10485
  sortBy != null ? sortBy : "",
10463
10486
  sortDir != null ? sortDir : "",
10464
- context != null ? context : ""
10487
+ context != null ? context : "",
10488
+ minVolume != null ? minVolume : ""
10465
10489
  ],
10466
10490
  queryFn: (_0) => __async(null, [_0], function* ({ pageParam, signal }) {
10467
10491
  if (!client) {
@@ -10484,7 +10508,8 @@ function useVenueMarkets(options) {
10484
10508
  cursor: pageParam,
10485
10509
  sortBy,
10486
10510
  sortDir,
10487
- context
10511
+ context,
10512
+ minVolume
10488
10513
  },
10489
10514
  { signal }
10490
10515
  );
@@ -10540,7 +10565,8 @@ function useEnrichedVenueEvent(options) {
10540
10565
  // MarketDetailsList (including limit, part of the query key) preserves the
10541
10566
  // shared React Query cache key and the event-type ordering.
10542
10567
  limit: 100,
10543
- fetchAll: !options.progressive
10568
+ fetchAll: !options.progressive,
10569
+ minVolume: options.minVolume
10544
10570
  });
10545
10571
  const { markets: openMarkets, isLoading: isEnrichingOpenMarkets } = openQuery;
10546
10572
  const shouldFetchAllMarketsFallback = ((_c = options.enabled) != null ? _c : true) && !!event && shouldFetchOnlyOpenMarkets && !isEnrichingOpenMarkets && openMarkets.length === 0;
@@ -10551,6 +10577,8 @@ function useEnrichedVenueEvent(options) {
10551
10577
  // No status filter on fallback: if an active event temporarily has only
10552
10578
  // closed/resolved markets, still render the event page instead of the
10553
10579
  // unavailable state.
10580
+ // No minVolume on fallback: an event whose open markets are all below the
10581
+ // floor must still render (mirrors the bootstrap endpoint's fallback).
10554
10582
  limit: 100,
10555
10583
  fetchAll: !options.progressive
10556
10584
  });
@@ -10593,6 +10621,7 @@ function useVenueEvents(options) {
10593
10621
  const sortDir = options == null ? void 0 : options.sortDir;
10594
10622
  const recurrence = options == null ? void 0 : options.recurrence;
10595
10623
  const queryKeyScope = (_d = options == null ? void 0 : options.queryKeyScope) != null ? _d : "events";
10624
+ const minVolume = options == null ? void 0 : options.minVolume;
10596
10625
  const minYesPrice = options == null ? void 0 : options.minYesPrice;
10597
10626
  const maxYesPrice = options == null ? void 0 : options.maxYesPrice;
10598
10627
  const endDateFrom = options == null ? void 0 : options.endDateFrom;
@@ -10624,6 +10653,7 @@ function useVenueEvents(options) {
10624
10653
  maxYesPrice != null ? maxYesPrice : "",
10625
10654
  endDateFrom != null ? endDateFrom : "",
10626
10655
  grouped != null ? grouped : false,
10656
+ minVolume != null ? minVolume : "",
10627
10657
  limit
10628
10658
  ],
10629
10659
  queryFn: (_0) => __async(null, [_0], function* ({ pageParam, signal }) {
@@ -10640,6 +10670,7 @@ function useVenueEvents(options) {
10640
10670
  sortDir,
10641
10671
  recurrence,
10642
10672
  limit,
10673
+ minVolume,
10643
10674
  minYesPrice,
10644
10675
  maxYesPrice,
10645
10676
  endDateFrom,
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  useRampQuotes,
3
3
  useRampSession
4
- } from "./chunk-OAVURSWZ.mjs";
4
+ } from "./chunk-OZQ3K47U.mjs";
5
5
  import {
6
6
  useWithdrawEstimate,
7
7
  useWithdrawFlow,
8
8
  useWithdrawPreview,
9
9
  useWithdrawalLifecycle
10
- } from "./chunk-P6SI6GU7.mjs";
10
+ } from "./chunk-LNIAMJTZ.mjs";
11
11
  import {
12
12
  AggAuthContext,
13
13
  AggBalanceProvider,
@@ -98,7 +98,7 @@ import {
98
98
  useSyncBalances,
99
99
  useWithdrawManaged,
100
100
  userActivityQueryKeys
101
- } from "./chunk-QQVNZWRZ.mjs";
101
+ } from "./chunk-JFJNW2PD.mjs";
102
102
 
103
103
  // src/index.ts
104
104
  import { QueryClient as QueryClient4, QueryClientProvider, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
@@ -4260,11 +4260,11 @@ function resolutionPollInterval(event) {
4260
4260
  function useVenueEvent(options) {
4261
4261
  var _a;
4262
4262
  const client = useAggClient();
4263
- const { eventId, enabled = true, cluster } = options;
4263
+ const { eventId, enabled = true, cluster, minVolume } = options;
4264
4264
  const query = useQuery13({
4265
- queryKey: ["venue-event", eventId, cluster === false ? "no-cluster" : ""],
4265
+ queryKey: ["venue-event", eventId, cluster === false ? "no-cluster" : "", minVolume != null ? minVolume : ""],
4266
4266
  queryFn: (_0) => __async(null, [_0], function* ({ signal }) {
4267
- return client.getVenueEventById(eventId, { signal, cluster });
4267
+ return client.getVenueEventById(eventId, { signal, cluster, minVolume });
4268
4268
  }),
4269
4269
  enabled: enabled && !!eventId,
4270
4270
  staleTime: 5 * 6e4,
@@ -4304,6 +4304,7 @@ function useVenueMarkets(options) {
4304
4304
  const sortBy = options == null ? void 0 : options.sortBy;
4305
4305
  const sortDir = options == null ? void 0 : options.sortDir;
4306
4306
  const context = options == null ? void 0 : options.context;
4307
+ const minVolume = options == null ? void 0 : options.minVolume;
4307
4308
  useEffect10(() => {
4308
4309
  if (queryClient) return void 0;
4309
4310
  fallbackQueryClient.mount();
@@ -4332,7 +4333,8 @@ function useVenueMarkets(options) {
4332
4333
  limit,
4333
4334
  sortBy != null ? sortBy : "",
4334
4335
  sortDir != null ? sortDir : "",
4335
- context != null ? context : ""
4336
+ context != null ? context : "",
4337
+ minVolume != null ? minVolume : ""
4336
4338
  ],
4337
4339
  queryFn: (_0) => __async(null, [_0], function* ({ pageParam, signal }) {
4338
4340
  if (!client) {
@@ -4355,7 +4357,8 @@ function useVenueMarkets(options) {
4355
4357
  cursor: pageParam,
4356
4358
  sortBy,
4357
4359
  sortDir,
4358
- context
4360
+ context,
4361
+ minVolume
4359
4362
  },
4360
4363
  { signal }
4361
4364
  );
@@ -4411,7 +4414,8 @@ function useEnrichedVenueEvent(options) {
4411
4414
  // MarketDetailsList (including limit, part of the query key) preserves the
4412
4415
  // shared React Query cache key and the event-type ordering.
4413
4416
  limit: 100,
4414
- fetchAll: !options.progressive
4417
+ fetchAll: !options.progressive,
4418
+ minVolume: options.minVolume
4415
4419
  });
4416
4420
  const { markets: openMarkets, isLoading: isEnrichingOpenMarkets } = openQuery;
4417
4421
  const shouldFetchAllMarketsFallback = ((_c = options.enabled) != null ? _c : true) && !!event && shouldFetchOnlyOpenMarkets && !isEnrichingOpenMarkets && openMarkets.length === 0;
@@ -4422,6 +4426,8 @@ function useEnrichedVenueEvent(options) {
4422
4426
  // No status filter on fallback: if an active event temporarily has only
4423
4427
  // closed/resolved markets, still render the event page instead of the
4424
4428
  // unavailable state.
4429
+ // No minVolume on fallback: an event whose open markets are all below the
4430
+ // floor must still render (mirrors the bootstrap endpoint's fallback).
4425
4431
  limit: 100,
4426
4432
  fetchAll: !options.progressive
4427
4433
  });
@@ -4469,6 +4475,7 @@ function useVenueEvents(options) {
4469
4475
  const sortDir = options == null ? void 0 : options.sortDir;
4470
4476
  const recurrence = options == null ? void 0 : options.recurrence;
4471
4477
  const queryKeyScope = (_d = options == null ? void 0 : options.queryKeyScope) != null ? _d : "events";
4478
+ const minVolume = options == null ? void 0 : options.minVolume;
4472
4479
  const minYesPrice = options == null ? void 0 : options.minYesPrice;
4473
4480
  const maxYesPrice = options == null ? void 0 : options.maxYesPrice;
4474
4481
  const endDateFrom = options == null ? void 0 : options.endDateFrom;
@@ -4500,6 +4507,7 @@ function useVenueEvents(options) {
4500
4507
  maxYesPrice != null ? maxYesPrice : "",
4501
4508
  endDateFrom != null ? endDateFrom : "",
4502
4509
  grouped != null ? grouped : false,
4510
+ minVolume != null ? minVolume : "",
4503
4511
  limit
4504
4512
  ],
4505
4513
  queryFn: (_0) => __async(null, [_0], function* ({ pageParam, signal }) {
@@ -4516,6 +4524,7 @@ function useVenueEvents(options) {
4516
4524
  sortDir,
4517
4525
  recurrence,
4518
4526
  limit,
4527
+ minVolume,
4519
4528
  minYesPrice,
4520
4529
  maxYesPrice,
4521
4530
  endDateFrom,
package/dist/withdraw.js CHANGED
@@ -915,6 +915,10 @@ var enUsLabels = {
915
915
  manageProphetx: "Manage ProphetX connection",
916
916
  prophetxFundingNotice: "Manage funds on ProphetX",
917
917
  prophetxSettlementNotice: "This position settles on ProphetX",
918
+ connectNovig: "Connect Novig to trade",
919
+ manageNovig: "Manage Novig connection",
920
+ novigFundingNotice: "Manage funds on Novig",
921
+ novigSettlementNotice: "This position settles on Novig",
918
922
  requiresKalshiAccount: "Requires Kalshi account",
919
923
  tradingAccessVenues: "Venues",
920
924
  tradingAccessAvailable: "Available",
@@ -1131,6 +1135,22 @@ var enUsLabels = {
1131
1135
  connected: "Your ProphetX account is connected.",
1132
1136
  done: "Done"
1133
1137
  },
1138
+ connectNovigModal: {
1139
+ disconnect: "Disconnect Novig",
1140
+ disconnecting: "Disconnecting\u2026",
1141
+ disconnectError: "Could not disconnect Novig. Finish any open orders and try again.",
1142
+ title: "Connect Novig Account",
1143
+ description: "Add the trading key ID and private key for your funded Novig subaccount.",
1144
+ fundingNotice: "Trades use your Novig balance. Deposits, withdrawals, and transfers are managed on Novig, outside AGG.",
1145
+ instructions: "Set up a Novig trading subaccount",
1146
+ keyId: "Trading key ID",
1147
+ privateKey: "Private key",
1148
+ verify: "Verify connection",
1149
+ verifying: "Verifying\u2026",
1150
+ error: "Could not connect to Novig. Check your credentials and try again.",
1151
+ connected: "Your Novig account is connected.",
1152
+ done: "Done"
1153
+ },
1134
1154
  connectKalshiModal: {
1135
1155
  ariaLabel: "Connect Kalshi Account",
1136
1156
  title: "Connect Kalshi Account",
package/dist/withdraw.mjs CHANGED
@@ -3,12 +3,12 @@ import {
3
3
  useWithdrawFlow,
4
4
  useWithdrawPreview,
5
5
  useWithdrawalLifecycle
6
- } from "./chunk-P6SI6GU7.mjs";
6
+ } from "./chunk-LNIAMJTZ.mjs";
7
7
  import {
8
8
  useDepositAddresses,
9
9
  useManagedBalances,
10
10
  useWithdrawManaged
11
- } from "./chunk-QQVNZWRZ.mjs";
11
+ } from "./chunk-JFJNW2PD.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.21.1",
3
+ "version": "4.24.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.21.0"
86
+ "@agg-build/sdk": "^4.24.0"
87
87
  },
88
88
  "peerDependenciesMeta": {
89
89
  "@solana/wallet-adapter-react": {