@agg-build/ui 4.23.0 → 4.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-5ET2M3XX.mjs → chunk-4X7OLBO6.mjs} +19 -7
- package/dist/{chunk-HZXHDH6G.mjs → chunk-KN7JN7F5.mjs} +148 -66
- package/dist/{chunk-H54RU7NF.mjs → chunk-MDCFCGA3.mjs} +6 -3
- package/dist/{chunk-J75RLLP2.mjs → chunk-PHT5VLGB.mjs} +4 -4
- package/dist/{chunk-JR2XAAK6.mjs → chunk-YYGS6S7N.mjs} +5 -2
- package/dist/{event-market-IYPFVSSX.mjs → event-market-Q2LBJJ5E.mjs} +3 -3
- package/dist/events.js +10 -4
- package/dist/events.mjs +2 -2
- package/dist/index.js +173 -75
- package/dist/index.mjs +5 -5
- package/dist/pages.js +173 -75
- package/dist/pages.mjs +5 -5
- package/dist/trading.js +147 -66
- package/dist/trading.mjs +1 -1
- package/dist/types/pages/event-market/sports-markets.d.mts +3 -1
- package/dist/types/pages/event-market/sports-markets.d.ts +3 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +20 -4
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +20 -4
- package/package.json +3 -3
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
MarketDetails,
|
|
5
5
|
MarketDetailsList,
|
|
6
6
|
isErrorWithStatus
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YYGS6S7N.mjs";
|
|
8
8
|
import {
|
|
9
9
|
PlaceOrder,
|
|
10
10
|
SettlementDetails,
|
|
11
11
|
useResolvedMarketClaim
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KN7JN7F5.mjs";
|
|
13
13
|
import {
|
|
14
14
|
getDisplayOutcomePrice,
|
|
15
15
|
resolveHeaderOutcomeItems,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
useLabels as useLabels8,
|
|
51
51
|
useMidpoints as useMidpoints2,
|
|
52
52
|
useRecurringCryptoMarkets,
|
|
53
|
-
useSdkUiConfig as
|
|
53
|
+
useSdkUiConfig as useSdkUiConfig4,
|
|
54
54
|
useResolvedExecutionMode as useResolvedExecutionMode2
|
|
55
55
|
} from "@agg-build/hooks";
|
|
56
56
|
import { useCallback as useCallback5, useEffect as useEffect6, useMemo as useMemo5, useRef as useRef5, useState as useState7 } from "react";
|
|
@@ -946,6 +946,7 @@ import {
|
|
|
946
946
|
useEventTradingContext as useEventTradingContext3,
|
|
947
947
|
useMidpoints,
|
|
948
948
|
useResolvedExecutionMode,
|
|
949
|
+
useSdkUiConfig as useSdkUiConfig3,
|
|
949
950
|
useSportsLive
|
|
950
951
|
} from "@agg-build/hooks";
|
|
951
952
|
import { useCallback as useCallback4, useEffect as useEffect5, useMemo as useMemo4, useRef as useRef4, useState as useState6 } from "react";
|
|
@@ -2690,7 +2691,8 @@ var SportsMarkets = ({
|
|
|
2690
2691
|
onSectionMarketsChange,
|
|
2691
2692
|
onOutcomeSelect,
|
|
2692
2693
|
live,
|
|
2693
|
-
midpointsResult
|
|
2694
|
+
midpointsResult,
|
|
2695
|
+
minVolume
|
|
2694
2696
|
}) => {
|
|
2695
2697
|
var _a, _b;
|
|
2696
2698
|
const labels = useLabels7();
|
|
@@ -2700,6 +2702,7 @@ var SportsMarkets = ({
|
|
|
2700
2702
|
aggKey: event.aggKey ? [event.aggKey] : void 0,
|
|
2701
2703
|
limit: 100,
|
|
2702
2704
|
status: MarketStatus2.open,
|
|
2705
|
+
minVolume,
|
|
2703
2706
|
enabled: hasAggKey
|
|
2704
2707
|
});
|
|
2705
2708
|
const {
|
|
@@ -2746,6 +2749,7 @@ var SportsMarkets = ({
|
|
|
2746
2749
|
// completion — hundreds of markets on prop-rich events) from ~15 calls to 1-3.
|
|
2747
2750
|
limit: 100,
|
|
2748
2751
|
status: MarketStatus2.open,
|
|
2752
|
+
minVolume,
|
|
2749
2753
|
enabled: hasAggKey
|
|
2750
2754
|
});
|
|
2751
2755
|
const {
|
|
@@ -2941,6 +2945,9 @@ var SportsEventMarketPage = ({
|
|
|
2941
2945
|
onBeforePrimaryAction,
|
|
2942
2946
|
sharedKyc
|
|
2943
2947
|
}) => {
|
|
2948
|
+
const {
|
|
2949
|
+
market: { minVolume }
|
|
2950
|
+
} = useSdkUiConfig3();
|
|
2944
2951
|
const [sectionMarketsByKey, setSectionMarketsByKey] = useState6({});
|
|
2945
2952
|
const composedEvent = useMemo4(() => {
|
|
2946
2953
|
return mergeSportsSectionMarketsIntoEvent({
|
|
@@ -3048,6 +3055,7 @@ var SportsEventMarketPage = ({
|
|
|
3048
3055
|
{
|
|
3049
3056
|
event,
|
|
3050
3057
|
onSectionMarketsChange: handleSectionMarketsChange,
|
|
3058
|
+
minVolume: defaultMarketId ? void 0 : minVolume,
|
|
3051
3059
|
midpointsResult,
|
|
3052
3060
|
onOutcomeSelect: isMobileViewport ? () => {
|
|
3053
3061
|
setIsMobileTradeOpen(true);
|
|
@@ -3445,8 +3453,9 @@ var EventMarketPageContent = ({
|
|
|
3445
3453
|
var EventMarketPage = (props) => {
|
|
3446
3454
|
var _a;
|
|
3447
3455
|
const {
|
|
3448
|
-
features: { showSportsMarkets }
|
|
3449
|
-
|
|
3456
|
+
features: { showSportsMarkets },
|
|
3457
|
+
market: { minVolume }
|
|
3458
|
+
} = useSdkUiConfig4();
|
|
3450
3459
|
const labels = useLabels8();
|
|
3451
3460
|
const hasEventProp = "event" in props && !!props.event;
|
|
3452
3461
|
const {
|
|
@@ -3460,7 +3469,10 @@ var EventMarketPage = (props) => {
|
|
|
3460
3469
|
} = useEnrichedVenueEvent({
|
|
3461
3470
|
progressive: props.progressiveMarkets,
|
|
3462
3471
|
eventId: hasEventProp ? "" : (_a = props.eventId) != null ? _a : "",
|
|
3463
|
-
enabled: !props.isLoading && !hasEventProp && !!props.eventId
|
|
3472
|
+
enabled: !props.isLoading && !hasEventProp && !!props.eventId,
|
|
3473
|
+
// A deep-linked market may sit below the floor; filtering it out would make the
|
|
3474
|
+
// page silently select a different market, so the floor only applies to browsing.
|
|
3475
|
+
minVolume: props.defaultMarketId ? void 0 : minVolume
|
|
3464
3476
|
});
|
|
3465
3477
|
const renderEventContent = (event) => {
|
|
3466
3478
|
const contentProps = __spreadProps(__spreadValues({}, props), {
|
|
@@ -1193,6 +1193,7 @@ var formatChainIdLabel = (chainId) => {
|
|
|
1193
1193
|
|
|
1194
1194
|
// src/trading/place-order/index.place-order.utils.ts
|
|
1195
1195
|
import {
|
|
1196
|
+
LIMIT_PRICE_RAW_SCALE,
|
|
1196
1197
|
Venue as Venue4
|
|
1197
1198
|
} from "@agg-build/sdk";
|
|
1198
1199
|
var ATOMIC_UNITS = 1e6;
|
|
@@ -1512,13 +1513,16 @@ var getPlaceOrderBuyPayout = (quoteData) => {
|
|
|
1512
1513
|
var _a;
|
|
1513
1514
|
return (_a = quoteData.estimatedPayout) != null ? _a : quoteData.totalFilled;
|
|
1514
1515
|
};
|
|
1515
|
-
var getPlaceOrderSellProceeds = (quoteData) =>
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
);
|
|
1516
|
+
var getPlaceOrderSellProceeds = (quoteData) => {
|
|
1517
|
+
var _a;
|
|
1518
|
+
return (_a = quoteData.estimatedNetProceeds) != null ? _a : Math.max(
|
|
1519
|
+
0,
|
|
1520
|
+
quoteData.rawExecCost - quoteData.fills.reduce((sum, fill) => {
|
|
1521
|
+
var _a2, _b;
|
|
1522
|
+
return sum + ((_a2 = fill.venueFee) != null ? _a2 : 0) + ((_b = fill.builderFee) != null ? _b : 0);
|
|
1523
|
+
}, 0)
|
|
1524
|
+
);
|
|
1525
|
+
};
|
|
1522
1526
|
var getPlaceOrderQuoteValue = (quoteData, tradeSide) => tradeSide === "sell" ? getPlaceOrderSellProceeds(quoteData) : getPlaceOrderBuyPayout(quoteData);
|
|
1523
1527
|
var resolvePlaceOrderNetResult = ({
|
|
1524
1528
|
quoteData,
|
|
@@ -2874,6 +2878,38 @@ var isPercentageBelowMinimum = (value, minimumValue) => {
|
|
|
2874
2878
|
if (parsedValue === null) return false;
|
|
2875
2879
|
return parsedValue < minimumValue;
|
|
2876
2880
|
};
|
|
2881
|
+
var ceilDiv = (numerator, denominator) => {
|
|
2882
|
+
return (numerator + denominator - BigInt(1)) / denominator;
|
|
2883
|
+
};
|
|
2884
|
+
var toRaw6 = (value) => {
|
|
2885
|
+
const normalizedValue = Number.isFinite(value) ? Math.max(0, value) : 0;
|
|
2886
|
+
return Math.ceil(normalizedValue * Number(LIMIT_PRICE_RAW_SCALE)).toString();
|
|
2887
|
+
};
|
|
2888
|
+
var parseSizeStepRaw = (sizeStepRaw) => {
|
|
2889
|
+
if (!sizeStepRaw || !/^[1-9]\d*$/.test(sizeStepRaw)) return BigInt(1);
|
|
2890
|
+
return BigInt(sizeStepRaw);
|
|
2891
|
+
};
|
|
2892
|
+
var toLimitSizeRaw = ({
|
|
2893
|
+
amount,
|
|
2894
|
+
limitPriceRaw,
|
|
2895
|
+
side,
|
|
2896
|
+
sizeStepRaw
|
|
2897
|
+
}) => {
|
|
2898
|
+
const step = parseSizeStepRaw(sizeStepRaw);
|
|
2899
|
+
if (step <= BigInt(1)) {
|
|
2900
|
+
if (side === "sell") return toRaw6(amount);
|
|
2901
|
+
const spendRaw = BigInt(toRaw6(amount));
|
|
2902
|
+
const priceRaw = BigInt(limitPriceRaw);
|
|
2903
|
+
return ceilDiv(spendRaw * LIMIT_PRICE_RAW_SCALE, priceRaw).toString();
|
|
2904
|
+
}
|
|
2905
|
+
const rawSize = side === "sell" ? BigInt(toRaw6(amount)) : BigInt(toRaw6(amount)) * LIMIT_PRICE_RAW_SCALE / BigInt(limitPriceRaw);
|
|
2906
|
+
return (rawSize / step * step).toString();
|
|
2907
|
+
};
|
|
2908
|
+
var isLimitSizeBelowMinimum = (sizeRaw, minSizeRaw) => {
|
|
2909
|
+
const size = BigInt(sizeRaw);
|
|
2910
|
+
if (size <= BigInt(0)) return true;
|
|
2911
|
+
return !!minSizeRaw && /^\d+$/.test(minSizeRaw) && size < BigInt(minSizeRaw);
|
|
2912
|
+
};
|
|
2877
2913
|
|
|
2878
2914
|
// src/trading/place-order/index.place-order.execution-steps.ts
|
|
2879
2915
|
var COMPLETED_RAW_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -3924,32 +3960,21 @@ var resolvePlaceOrderPortalContainer = (triggerElement) => {
|
|
|
3924
3960
|
return (_a = triggerElement == null ? void 0 : triggerElement.closest(".agg-modal-center")) != null ? _a : void 0;
|
|
3925
3961
|
};
|
|
3926
3962
|
var LIMIT_EXPIRATION_OPTION_COUNT = 5;
|
|
3963
|
+
var LIMIT_SIZE_STEP_VENUES = /* @__PURE__ */ new Set([
|
|
3964
|
+
Venue5.tiprun,
|
|
3965
|
+
Venue5.hyperliquid,
|
|
3966
|
+
Venue5.pred,
|
|
3967
|
+
Venue5.polymarket
|
|
3968
|
+
]);
|
|
3927
3969
|
dayjs.extend(utc);
|
|
3928
3970
|
dayjs.extend(timezone);
|
|
3929
3971
|
var LIMIT_PRICE_STEP = 1e-3;
|
|
3930
3972
|
var LIMIT_PRICE_MIN = 1e-3;
|
|
3931
3973
|
var LIMIT_PRICE_MAX = 0.999;
|
|
3932
|
-
var ceilDiv = (numerator, denominator) => {
|
|
3933
|
-
return (numerator + denominator - BigInt(1)) / denominator;
|
|
3934
|
-
};
|
|
3935
|
-
var toRaw6 = (value) => {
|
|
3936
|
-
const normalizedValue = Number.isFinite(value) ? Math.max(0, value) : 0;
|
|
3937
|
-
return Math.ceil(normalizedValue * Number(LIMIT_ORDER_RAW_SCALE)).toString();
|
|
3938
|
-
};
|
|
3939
3974
|
var toLimitPriceRaw = (value) => {
|
|
3940
3975
|
const clampedValue = Math.min(LIMIT_PRICE_MAX, Math.max(LIMIT_PRICE_MIN, value));
|
|
3941
3976
|
return Math.round(clampedValue * Number(LIMIT_ORDER_RAW_SCALE)).toString();
|
|
3942
3977
|
};
|
|
3943
|
-
var toLimitSizeRaw = ({
|
|
3944
|
-
amount,
|
|
3945
|
-
limitPriceRaw,
|
|
3946
|
-
side
|
|
3947
|
-
}) => {
|
|
3948
|
-
if (side === "sell") return toRaw6(amount);
|
|
3949
|
-
const spendRaw = BigInt(toRaw6(amount));
|
|
3950
|
-
const priceRaw = BigInt(limitPriceRaw);
|
|
3951
|
-
return ceilDiv(spendRaw * LIMIT_ORDER_RAW_SCALE, priceRaw).toString();
|
|
3952
|
-
};
|
|
3953
3978
|
var formatLimitPriceLabel = (value) => {
|
|
3954
3979
|
return `${(value * 100).toLocaleString("en-US", {
|
|
3955
3980
|
minimumFractionDigits: 0,
|
|
@@ -3989,11 +4014,12 @@ var buildLimitOrderExecutionGroup = ({
|
|
|
3989
4014
|
var getLimitOrderToWinValue = ({
|
|
3990
4015
|
amount,
|
|
3991
4016
|
limitPriceRaw,
|
|
3992
|
-
side
|
|
4017
|
+
side,
|
|
4018
|
+
sizeStepRaw
|
|
3993
4019
|
}) => {
|
|
3994
4020
|
const priceRaw = BigInt(limitPriceRaw);
|
|
3995
4021
|
if (priceRaw <= BigInt(0) || priceRaw >= LIMIT_ORDER_RAW_SCALE) return 0;
|
|
3996
|
-
const sizeRaw = BigInt(toLimitSizeRaw({ amount, limitPriceRaw, side }));
|
|
4022
|
+
const sizeRaw = BigInt(toLimitSizeRaw({ amount, limitPriceRaw, side, sizeStepRaw }));
|
|
3997
4023
|
if (side === "buy") return Number(sizeRaw) / Number(LIMIT_ORDER_RAW_SCALE);
|
|
3998
4024
|
return Number(ceilDiv(priceRaw * sizeRaw, LIMIT_ORDER_RAW_SCALE)) / Number(LIMIT_ORDER_RAW_SCALE);
|
|
3999
4025
|
};
|
|
@@ -4945,7 +4971,8 @@ var PlaceOrder = ({
|
|
|
4945
4971
|
const limitVenueQuoteRequests = useMemo(
|
|
4946
4972
|
() => visibleLimitVenueOptions.map((option) => ({
|
|
4947
4973
|
venue: option.venue,
|
|
4948
|
-
venueMarketOutcomeId: option.venueMarketOutcomeId
|
|
4974
|
+
venueMarketOutcomeId: option.venueMarketOutcomeId,
|
|
4975
|
+
venueMarketId: option.venueMarketId
|
|
4949
4976
|
})),
|
|
4950
4977
|
[visibleLimitVenueOptions]
|
|
4951
4978
|
);
|
|
@@ -4977,10 +5004,83 @@ var PlaceOrder = ({
|
|
|
4977
5004
|
}
|
|
4978
5005
|
return venues;
|
|
4979
5006
|
}, [limitVenueQuotes.quotes]);
|
|
5007
|
+
const originalLimitPriceRaw = useMemo(() => toLimitPriceRaw(limitPrice), [limitPrice]);
|
|
5008
|
+
const limitPriceAdjustmentByVenue = useMemo(() => {
|
|
5009
|
+
var _a2;
|
|
5010
|
+
const adjustments = /* @__PURE__ */ new Map();
|
|
5011
|
+
for (const option of visibleLimitVenueOptions) {
|
|
5012
|
+
try {
|
|
5013
|
+
adjustments.set(
|
|
5014
|
+
option.venue,
|
|
5015
|
+
adjustLimitPriceRawToTick({
|
|
5016
|
+
limitPriceRaw: originalLimitPriceRaw,
|
|
5017
|
+
side: internalTab,
|
|
5018
|
+
tickSize: (_a2 = limitVenueQuoteByVenue.get(option.venue)) == null ? void 0 : _a2.tickSize
|
|
5019
|
+
})
|
|
5020
|
+
);
|
|
5021
|
+
} catch (e) {
|
|
5022
|
+
adjustments.set(
|
|
5023
|
+
option.venue,
|
|
5024
|
+
adjustLimitPriceRawToTick({
|
|
5025
|
+
limitPriceRaw: originalLimitPriceRaw,
|
|
5026
|
+
side: internalTab,
|
|
5027
|
+
tickSize: null
|
|
5028
|
+
})
|
|
5029
|
+
);
|
|
5030
|
+
}
|
|
5031
|
+
}
|
|
5032
|
+
return adjustments;
|
|
5033
|
+
}, [internalTab, limitVenueQuoteByVenue, originalLimitPriceRaw, visibleLimitVenueOptions]);
|
|
5034
|
+
const limitSizeRulesByVenue = useMemo(() => {
|
|
5035
|
+
var _a2, _b2;
|
|
5036
|
+
const rulesByVenue = /* @__PURE__ */ new Map();
|
|
5037
|
+
for (const quote of limitVenueQuotes.quotes) {
|
|
5038
|
+
if (!quote.sizeStepRaw && !quote.minSizeRaw) continue;
|
|
5039
|
+
rulesByVenue.set(quote.request.venue, {
|
|
5040
|
+
sizeStepRaw: (_a2 = quote.sizeStepRaw) != null ? _a2 : void 0,
|
|
5041
|
+
minSizeRaw: (_b2 = quote.minSizeRaw) != null ? _b2 : void 0
|
|
5042
|
+
});
|
|
5043
|
+
}
|
|
5044
|
+
return rulesByVenue;
|
|
5045
|
+
}, [limitVenueQuotes.quotes]);
|
|
5046
|
+
const belowMinimumLimitVenues = useMemo(() => {
|
|
5047
|
+
var _a2, _b2;
|
|
5048
|
+
const venues = /* @__PURE__ */ new Set();
|
|
5049
|
+
if (!isLimitOrder || internalAmount <= 0) return venues;
|
|
5050
|
+
for (const option of visibleLimitVenueOptions) {
|
|
5051
|
+
if (geoBlockedLimitVenues.has(option.venue) || getVenueAvailabilityState({
|
|
5052
|
+
venueId: option.venue,
|
|
5053
|
+
disabledVenues,
|
|
5054
|
+
isConfigLoading: isAppConfigLoading
|
|
5055
|
+
}) !== "available")
|
|
5056
|
+
continue;
|
|
5057
|
+
const rules = limitSizeRulesByVenue.get(option.venue);
|
|
5058
|
+
if (!(rules == null ? void 0 : rules.sizeStepRaw) && !(rules == null ? void 0 : rules.minSizeRaw)) continue;
|
|
5059
|
+
const sizeRaw = toLimitSizeRaw({
|
|
5060
|
+
amount: internalAmount,
|
|
5061
|
+
limitPriceRaw: (_b2 = (_a2 = limitPriceAdjustmentByVenue.get(option.venue)) == null ? void 0 : _a2.adjustedPriceRaw) != null ? _b2 : originalLimitPriceRaw,
|
|
5062
|
+
side: internalTab,
|
|
5063
|
+
sizeStepRaw: rules.sizeStepRaw
|
|
5064
|
+
});
|
|
5065
|
+
if (isLimitSizeBelowMinimum(sizeRaw, rules.minSizeRaw)) venues.add(option.venue);
|
|
5066
|
+
}
|
|
5067
|
+
return venues;
|
|
5068
|
+
}, [
|
|
5069
|
+
disabledVenues,
|
|
5070
|
+
geoBlockedLimitVenues,
|
|
5071
|
+
internalAmount,
|
|
5072
|
+
internalTab,
|
|
5073
|
+
isAppConfigLoading,
|
|
5074
|
+
isLimitOrder,
|
|
5075
|
+
limitPriceAdjustmentByVenue,
|
|
5076
|
+
limitSizeRulesByVenue,
|
|
5077
|
+
originalLimitPriceRaw,
|
|
5078
|
+
visibleLimitVenueOptions
|
|
5079
|
+
]);
|
|
4980
5080
|
const availableLimitVenueOptions = useMemo(() => {
|
|
4981
5081
|
return visibleLimitVenueOptions.filter((option) => {
|
|
4982
5082
|
var _a2;
|
|
4983
|
-
return !geoBlockedLimitVenues.has(option.venue) && // A limit SELL rests against shares held at that specific venue, so a
|
|
5083
|
+
return !geoBlockedLimitVenues.has(option.venue) && !belowMinimumLimitVenues.has(option.venue) && // A limit SELL rests against shares held at that specific venue, so a
|
|
4984
5084
|
// venue the user has no position on is a guaranteed 409 from the
|
|
4985
5085
|
// server's reservation check — and the automatic pick, which sorts on
|
|
4986
5086
|
// price alone, would happily choose one. Only narrow once we know
|
|
@@ -4992,6 +5092,7 @@ var PlaceOrder = ({
|
|
|
4992
5092
|
}) === "available";
|
|
4993
5093
|
});
|
|
4994
5094
|
}, [
|
|
5095
|
+
belowMinimumLimitVenues,
|
|
4995
5096
|
disabledVenues,
|
|
4996
5097
|
geoBlockedLimitVenues,
|
|
4997
5098
|
isAppConfigLoading,
|
|
@@ -5849,8 +5950,6 @@ var PlaceOrder = ({
|
|
|
5849
5950
|
const isSelectedVenueInventoryInsufficient = isSell && (selectedRouteCard == null ? void 0 : selectedRouteCard.kind) === "venue" && selectedRouteCard.insufficientInventory === true;
|
|
5850
5951
|
const isBelowClientMinimum = !isSell && hasEnteredAmount && internalAmount < MIN_BUY_ORDER_AMOUNT;
|
|
5851
5952
|
const isBelowVenueMinimumFromQuote = isQuoteBelowVenueMinimum(activeQuoteData);
|
|
5852
|
-
const isBelowMinimum = isBelowClientMinimum || isBelowVenueMinimumFromQuote;
|
|
5853
|
-
const belowMinimumMessage = isBelowClientMinimum ? tradingLabels.minimumOrderAmount(MIN_BUY_ORDER_AMOUNT) : tradingLabels.minOrderSizeViolated;
|
|
5854
5953
|
const quoteStatus = useMemo(() => {
|
|
5855
5954
|
if (!orderEligibility.canPlaceOrder) return void 0;
|
|
5856
5955
|
return resolvePlaceOrderQuoteStatus({
|
|
@@ -5977,33 +6076,6 @@ var PlaceOrder = ({
|
|
|
5977
6076
|
return averagePrice == null ? "" : tradingLabels.averagePrice(averagePrice);
|
|
5978
6077
|
}, [selectedRouteCard, tradingLabels]);
|
|
5979
6078
|
const displayedToWinValue = (_ea = selectedRouteCard == null ? void 0 : selectedRouteCard.numericValue) != null ? _ea : 0;
|
|
5980
|
-
const originalLimitPriceRaw = useMemo(() => toLimitPriceRaw(limitPrice), [limitPrice]);
|
|
5981
|
-
const limitPriceAdjustmentByVenue = useMemo(() => {
|
|
5982
|
-
var _a2;
|
|
5983
|
-
const adjustments = /* @__PURE__ */ new Map();
|
|
5984
|
-
for (const option of visibleLimitVenueOptions) {
|
|
5985
|
-
try {
|
|
5986
|
-
adjustments.set(
|
|
5987
|
-
option.venue,
|
|
5988
|
-
adjustLimitPriceRawToTick({
|
|
5989
|
-
limitPriceRaw: originalLimitPriceRaw,
|
|
5990
|
-
side: internalTab,
|
|
5991
|
-
tickSize: (_a2 = limitVenueQuoteByVenue.get(option.venue)) == null ? void 0 : _a2.tickSize
|
|
5992
|
-
})
|
|
5993
|
-
);
|
|
5994
|
-
} catch (e) {
|
|
5995
|
-
adjustments.set(
|
|
5996
|
-
option.venue,
|
|
5997
|
-
adjustLimitPriceRawToTick({
|
|
5998
|
-
limitPriceRaw: originalLimitPriceRaw,
|
|
5999
|
-
side: internalTab,
|
|
6000
|
-
tickSize: null
|
|
6001
|
-
})
|
|
6002
|
-
);
|
|
6003
|
-
}
|
|
6004
|
-
}
|
|
6005
|
-
return adjustments;
|
|
6006
|
-
}, [internalTab, limitVenueQuoteByVenue, originalLimitPriceRaw, visibleLimitVenueOptions]);
|
|
6007
6079
|
const selectedLimitPriceAdjustment = selectedLimitVenueOption ? limitPriceAdjustmentByVenue.get(selectedLimitVenueOption.venue) : void 0;
|
|
6008
6080
|
const selectedLimitPriceRaw = (_fa = selectedLimitPriceAdjustment == null ? void 0 : selectedLimitPriceAdjustment.adjustedPriceRaw) != null ? _fa : originalLimitPriceRaw;
|
|
6009
6081
|
const limitPriceAdjustmentMessage = useMemo(() => {
|
|
@@ -6024,6 +6096,8 @@ var PlaceOrder = ({
|
|
|
6024
6096
|
selectedLimitVenueOption,
|
|
6025
6097
|
tradingLabels
|
|
6026
6098
|
]);
|
|
6099
|
+
const selectedLimitSizeRules = selectedLimitVenueOption ? limitSizeRulesByVenue.get(selectedLimitVenueOption.venue) : void 0;
|
|
6100
|
+
const isLimitSizeRulesPending = isLimitOrder && selectedLimitVenueOption != null && LIMIT_SIZE_STEP_VENUES.has(selectedLimitVenueOption.venue) && limitVenueQuotes.isMetadataPending;
|
|
6027
6101
|
const limitOrderPayload = useMemo(() => {
|
|
6028
6102
|
if (!selectedLimitVenueOption || internalAmount <= 0) return null;
|
|
6029
6103
|
if (limitPriceInputError) return null;
|
|
@@ -6039,7 +6113,8 @@ var PlaceOrder = ({
|
|
|
6039
6113
|
const sizeRaw = toLimitSizeRaw({
|
|
6040
6114
|
amount: internalAmount,
|
|
6041
6115
|
limitPriceRaw,
|
|
6042
|
-
side: internalTab
|
|
6116
|
+
side: internalTab,
|
|
6117
|
+
sizeStepRaw: selectedLimitSizeRules == null ? void 0 : selectedLimitSizeRules.sizeStepRaw
|
|
6043
6118
|
});
|
|
6044
6119
|
const expiresAt = expirationDate ? serializeLimitOrderExpiration(expirationDate) : void 0;
|
|
6045
6120
|
return __spreadValues({
|
|
@@ -6058,8 +6133,12 @@ var PlaceOrder = ({
|
|
|
6058
6133
|
limitExpirationType,
|
|
6059
6134
|
limitPriceInputError,
|
|
6060
6135
|
selectedLimitVenueOption,
|
|
6061
|
-
selectedLimitPriceRaw
|
|
6136
|
+
selectedLimitPriceRaw,
|
|
6137
|
+
selectedLimitSizeRules == null ? void 0 : selectedLimitSizeRules.sizeStepRaw
|
|
6062
6138
|
]);
|
|
6139
|
+
const isLimitSizeBelowVenueMinimum = isLimitOrder && (limitOrderPayload != null && isLimitSizeBelowMinimum(limitOrderPayload.sizeRaw, selectedLimitSizeRules == null ? void 0 : selectedLimitSizeRules.minSizeRaw) || selectedLimitVenueOption == null && belowMinimumLimitVenues.size > 0);
|
|
6140
|
+
const isBelowMinimum = isBelowClientMinimum || isBelowVenueMinimumFromQuote || isLimitSizeBelowVenueMinimum;
|
|
6141
|
+
const belowMinimumMessage = isBelowClientMinimum ? tradingLabels.minimumOrderAmount(MIN_BUY_ORDER_AMOUNT) : isSell ? tradingLabels.venueMinOrderSize : tradingLabels.minOrderSizeViolated;
|
|
6063
6142
|
const resolvedLimitExpirationDraftDate = useMemo(() => {
|
|
6064
6143
|
return resolveLimitExpirationDate({
|
|
6065
6144
|
expirationType: "CUSTOM",
|
|
@@ -6103,12 +6182,13 @@ var PlaceOrder = ({
|
|
|
6103
6182
|
}, [internalTab, limitOrderPayload]);
|
|
6104
6183
|
const limitRouteCards = useMemo(() => {
|
|
6105
6184
|
return visibleLimitVenueOptions.map((option) => {
|
|
6106
|
-
var _a2, _b2, _c2, _d2;
|
|
6185
|
+
var _a2, _b2, _c2, _d2, _e2;
|
|
6107
6186
|
const effectiveLimitPriceRaw = (_b2 = (_a2 = limitPriceAdjustmentByVenue.get(option.venue)) == null ? void 0 : _a2.adjustedPriceRaw) != null ? _b2 : originalLimitPriceRaw;
|
|
6108
6187
|
const venueToWinValue = getLimitOrderToWinValue({
|
|
6109
6188
|
amount: internalAmount,
|
|
6110
6189
|
limitPriceRaw: effectiveLimitPriceRaw,
|
|
6111
|
-
side: internalTab
|
|
6190
|
+
side: internalTab,
|
|
6191
|
+
sizeStepRaw: (_c2 = limitSizeRulesByVenue.get(option.venue)) == null ? void 0 : _c2.sizeStepRaw
|
|
6112
6192
|
});
|
|
6113
6193
|
const availabilityState = getVenueAvailabilityState({
|
|
6114
6194
|
venueId: option.venue,
|
|
@@ -6116,10 +6196,10 @@ var PlaceOrder = ({
|
|
|
6116
6196
|
isConfigLoading: isAppConfigLoading
|
|
6117
6197
|
});
|
|
6118
6198
|
const isGeoBlocked = geoBlockedLimitVenues.has(option.venue);
|
|
6119
|
-
const isUnavailable = isTradingBlocked || isGeoBlocked || availabilityState !== "available";
|
|
6199
|
+
const isUnavailable = isTradingBlocked || isGeoBlocked || belowMinimumLimitVenues.has(option.venue) || availabilityState !== "available";
|
|
6120
6200
|
const currentPriceLabel = option.currentPrice == null ? "\u2014" : formatProbabilityCents(option.currentPrice, formatPrice);
|
|
6121
6201
|
const totalFees = getSmartRouteTotalFees(
|
|
6122
|
-
(
|
|
6202
|
+
(_e2 = (_d2 = limitVenueQuoteByVenue.get(option.venue)) == null ? void 0 : _d2.data) == null ? void 0 : _e2.feeBreakdown
|
|
6123
6203
|
);
|
|
6124
6204
|
const feeLabel = totalFees == null ? void 0 : formatUsd(totalFees, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
|
6125
6205
|
return {
|
|
@@ -6138,6 +6218,7 @@ var PlaceOrder = ({
|
|
|
6138
6218
|
};
|
|
6139
6219
|
});
|
|
6140
6220
|
}, [
|
|
6221
|
+
belowMinimumLimitVenues,
|
|
6141
6222
|
disabledVenues,
|
|
6142
6223
|
formatPrice,
|
|
6143
6224
|
geoBlockedLimitVenues,
|
|
@@ -6146,6 +6227,7 @@ var PlaceOrder = ({
|
|
|
6146
6227
|
isAppConfigLoading,
|
|
6147
6228
|
isTradingBlocked,
|
|
6148
6229
|
limitPriceAdjustmentByVenue,
|
|
6230
|
+
limitSizeRulesByVenue,
|
|
6149
6231
|
limitVenueQuoteByVenue,
|
|
6150
6232
|
originalLimitPriceRaw,
|
|
6151
6233
|
tradingLabels,
|
|
@@ -6244,10 +6326,10 @@ var PlaceOrder = ({
|
|
|
6244
6326
|
const fills = (_b2 = (_a2 = selectedRouteCard.quoteData) == null ? void 0 : _a2.fills) != null ? _b2 : [];
|
|
6245
6327
|
return fills.length > 0 && fills.every((f) => geoBlockedVenuesFromWarnings.has(f.venue));
|
|
6246
6328
|
}, [selectedRouteCard, geoBlockedVenuesFromWarnings]);
|
|
6247
|
-
const shouldShowGeoBlockBanner = isTradingBlocked || selectedRouteGeoBlocked || isPrimaryVenueGeoBlocked || isLimitOrder && limitRouteCards.length > 0 && limitRouteCards.every((card) => card.isUnavailable);
|
|
6329
|
+
const shouldShowGeoBlockBanner = isTradingBlocked || selectedRouteGeoBlocked || isPrimaryVenueGeoBlocked || isLimitOrder && limitRouteCards.length > 0 && limitRouteCards.every((card) => card.isUnavailable) && limitRouteCards.some((card) => !card.venue || !belowMinimumLimitVenues.has(card.venue));
|
|
6248
6330
|
const actionLabel = `${internalTab === "buy" ? tradingLabels.buy : tradingLabels.sell} ${selectedOutcomeLabel}`.trim();
|
|
6249
|
-
const isActionDisabled = isPrimaryActionDisabled || !orderEligibility.canPlaceOrder || isActionLoading || !hasEnteredAmount || !scopedSelectedMarket || isInsufficientBalance || isBetdexBalanceUnavailable && !canExecuteBetdexQuote || isQuoteInsufficientBalance && !canExecuteBetdexQuote || isSell && isQuoteInputEditing || isSellAmountAboveAvailability || isBelowMinimum || !isLimitOrder && isQuoteLoading || isSelectedVenueInventoryInsufficient || (isLimitOrder ? !limitOrderPayload : !selectedRouteCard || !selectedRouteCard.quoteData.quoteId && !canExecuteBetdexQuote) || selectedRouteGeoBlocked || !isAuthenticated || !isLimitOrder && quoteStatus !== void 0 && !canExecuteBetdexQuote;
|
|
6250
|
-
const shouldShowSmartRouting = orderEligibility.canPlaceOrder && hasEnteredAmount && !
|
|
6331
|
+
const isActionDisabled = isPrimaryActionDisabled || !orderEligibility.canPlaceOrder || isActionLoading || !hasEnteredAmount || !scopedSelectedMarket || isInsufficientBalance || isBetdexBalanceUnavailable && !canExecuteBetdexQuote || isQuoteInsufficientBalance && !canExecuteBetdexQuote || isSell && isQuoteInputEditing || isSellAmountAboveAvailability || isBelowMinimum || isLimitSizeRulesPending || !isLimitOrder && isQuoteLoading || isSelectedVenueInventoryInsufficient || (isLimitOrder ? !limitOrderPayload : !selectedRouteCard || !selectedRouteCard.quoteData.quoteId && !canExecuteBetdexQuote) || selectedRouteGeoBlocked || !isAuthenticated || !isLimitOrder && quoteStatus !== void 0 && !canExecuteBetdexQuote;
|
|
6332
|
+
const shouldShowSmartRouting = orderEligibility.canPlaceOrder && hasEnteredAmount && !isBelowClientMinimum && !isBelowVenueMinimumFromQuote && (isLimitOrder ? limitRouteCards.length > 0 : displayedRouteCards.length > 0 || smartRoute.isFetching || smartRoute.isLoading || isSell && (venueSellQuotes.isFetching || venueSellQuotes.isLoading));
|
|
6251
6333
|
const shouldShowRouteToggle = !isLimitOrder && !isQuoteLoading && displayedRouteCards.length > PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT;
|
|
6252
6334
|
const handleReturnToOrderForm = useCallback3(() => {
|
|
6253
6335
|
const submittedSelection = submittedSelectionRef.current;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
isErrorWithStatus
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YYGS6S7N.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Badge,
|
|
7
7
|
Card,
|
|
@@ -449,7 +449,8 @@ var EventListItemContent = ({
|
|
|
449
449
|
// the volume-sorted top-3 (the detail page omits context and keeps the
|
|
450
450
|
// structured threshold/date order).
|
|
451
451
|
context: "list",
|
|
452
|
-
status: marketStatus
|
|
452
|
+
status: marketStatus,
|
|
453
|
+
minVolume: config.market.minVolume
|
|
453
454
|
});
|
|
454
455
|
const resolvedOutcomeMarkets = useMemo(() => {
|
|
455
456
|
if (!isLazyMarketsQueryEnabled || lazyLoadedMarkets.length === 0) return allVenueMarkets;
|
|
@@ -1820,7 +1821,8 @@ var EventList = ({
|
|
|
1820
1821
|
const labels = useLabels4();
|
|
1821
1822
|
const { disabledVenues } = useAppConfig3();
|
|
1822
1823
|
const {
|
|
1823
|
-
features: { enableVenueEventDiscoveryFilters, showSportsMarkets }
|
|
1824
|
+
features: { enableVenueEventDiscoveryFilters, showSportsMarkets },
|
|
1825
|
+
market: { minVolume }
|
|
1824
1826
|
} = useSdkUiConfig3();
|
|
1825
1827
|
const isDiscoveryFiltersEnabled = enableVenueEventDiscoveryFilters && !search;
|
|
1826
1828
|
const resolvedTabs = useEventListTabs();
|
|
@@ -2063,6 +2065,7 @@ var EventList = ({
|
|
|
2063
2065
|
// markets experience is enabled (the sports event-detail view loads the
|
|
2064
2066
|
// folded companions via aggKey). Gated on the same flag as that view.
|
|
2065
2067
|
grouped: showSportsMarkets,
|
|
2068
|
+
minVolume,
|
|
2066
2069
|
initialPages: initialLoadedPageCount,
|
|
2067
2070
|
enabled: controlledCategoryPath == null || validatedCategoryPathKey === controlledCategoryPathValidationKey
|
|
2068
2071
|
});
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
EventListTabs,
|
|
9
9
|
useEventListTabs,
|
|
10
10
|
useEventListTabsHeaderOverflow
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MDCFCGA3.mjs";
|
|
12
12
|
import {
|
|
13
13
|
OPEN_ORDER_FALLBACK_THUMBNAIL_SRC,
|
|
14
14
|
OPEN_ORDER_QUERY_STATUSES,
|
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
parseRawMicroValue,
|
|
22
22
|
selectOpenLimitOrders,
|
|
23
23
|
useOpenOrderCancellation
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-4X7OLBO6.mjs";
|
|
25
25
|
import {
|
|
26
26
|
DEPOSIT_MODAL_OPEN_EVENT,
|
|
27
27
|
WITHDRAW_MODAL_OPEN_EVENT,
|
|
28
28
|
formatChainIdLabel,
|
|
29
29
|
useClaimWinnings
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-KN7JN7F5.mjs";
|
|
31
31
|
import {
|
|
32
32
|
AggErrorBoundary,
|
|
33
33
|
Button,
|
|
@@ -266,7 +266,7 @@ var useHomePageModals = () => {
|
|
|
266
266
|
// src/pages/home/index.tsx
|
|
267
267
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
268
268
|
var DeferredEventMarketPage = lazy(
|
|
269
|
-
() => import("./event-market-
|
|
269
|
+
() => import("./event-market-Q2LBJJ5E.mjs").then((module) => ({ default: module.EventMarketPage }))
|
|
270
270
|
);
|
|
271
271
|
var MIN_SEARCH_LENGTH = 3;
|
|
272
272
|
var SEARCH_DEBOUNCE_MS = 300;
|
|
@@ -4915,7 +4915,8 @@ var MarketDetailsList = ({
|
|
|
4915
4915
|
var _a, _b, _c;
|
|
4916
4916
|
const labels = useLabels9();
|
|
4917
4917
|
const {
|
|
4918
|
-
features: { enableLiveUpdates }
|
|
4918
|
+
features: { enableLiveUpdates },
|
|
4919
|
+
market: { minVolume }
|
|
4919
4920
|
} = useSdkUiConfig6();
|
|
4920
4921
|
const tradingContext = useEventTradingContext2();
|
|
4921
4922
|
const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
|
|
@@ -4935,7 +4936,9 @@ var MarketDetailsList = ({
|
|
|
4935
4936
|
// fetchAll drains every page — events can exceed any single-page limit
|
|
4936
4937
|
// (e.g. 80 open markets on one staging event).
|
|
4937
4938
|
limit: 100,
|
|
4938
|
-
fetchAll: true
|
|
4939
|
+
fetchAll: true,
|
|
4940
|
+
// Same minVolume as useEnrichedVenueEvent's open query (also in the key).
|
|
4941
|
+
minVolume
|
|
4939
4942
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
4940
4943
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
4941
4944
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
EventOpenOrdersCard,
|
|
7
7
|
formatRecurringCountdown,
|
|
8
8
|
useEventOpenOrders
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-4X7OLBO6.mjs";
|
|
10
|
+
import "./chunk-YYGS6S7N.mjs";
|
|
11
|
+
import "./chunk-KN7JN7F5.mjs";
|
|
12
12
|
import "./chunk-WOCZ4TVT.mjs";
|
|
13
13
|
import "./chunk-7ORC3TUJ.mjs";
|
|
14
14
|
import "./chunk-XZVGHKMW.mjs";
|
package/dist/events.js
CHANGED
|
@@ -9234,7 +9234,8 @@ var EventListItemContent = ({
|
|
|
9234
9234
|
// the volume-sorted top-3 (the detail page omits context and keeps the
|
|
9235
9235
|
// structured threshold/date order).
|
|
9236
9236
|
context: "list",
|
|
9237
|
-
status: marketStatus
|
|
9237
|
+
status: marketStatus,
|
|
9238
|
+
minVolume: config.market.minVolume
|
|
9238
9239
|
});
|
|
9239
9240
|
const resolvedOutcomeMarkets = (0, import_react14.useMemo)(() => {
|
|
9240
9241
|
if (!isLazyMarketsQueryEnabled || lazyLoadedMarkets.length === 0) return allVenueMarkets;
|
|
@@ -16126,7 +16127,8 @@ var MarketDetailsList = ({
|
|
|
16126
16127
|
var _a, _b, _c;
|
|
16127
16128
|
const labels = (0, import_hooks55.useLabels)();
|
|
16128
16129
|
const {
|
|
16129
|
-
features: { enableLiveUpdates }
|
|
16130
|
+
features: { enableLiveUpdates },
|
|
16131
|
+
market: { minVolume }
|
|
16130
16132
|
} = (0, import_hooks55.useSdkUiConfig)();
|
|
16131
16133
|
const tradingContext = (0, import_hooks55.useEventTradingContext)();
|
|
16132
16134
|
const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
|
|
@@ -16146,7 +16148,9 @@ var MarketDetailsList = ({
|
|
|
16146
16148
|
// fetchAll drains every page — events can exceed any single-page limit
|
|
16147
16149
|
// (e.g. 80 open markets on one staging event).
|
|
16148
16150
|
limit: 100,
|
|
16149
|
-
fetchAll: true
|
|
16151
|
+
fetchAll: true,
|
|
16152
|
+
// Same minVolume as useEnrichedVenueEvent's open query (also in the key).
|
|
16153
|
+
minVolume
|
|
16150
16154
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
16151
16155
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
16152
16156
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
|
@@ -17081,7 +17085,8 @@ var EventList = ({
|
|
|
17081
17085
|
const labels = (0, import_hooks59.useLabels)();
|
|
17082
17086
|
const { disabledVenues } = (0, import_hooks59.useAppConfig)();
|
|
17083
17087
|
const {
|
|
17084
|
-
features: { enableVenueEventDiscoveryFilters, showSportsMarkets }
|
|
17088
|
+
features: { enableVenueEventDiscoveryFilters, showSportsMarkets },
|
|
17089
|
+
market: { minVolume }
|
|
17085
17090
|
} = (0, import_hooks59.useSdkUiConfig)();
|
|
17086
17091
|
const isDiscoveryFiltersEnabled = enableVenueEventDiscoveryFilters && !search;
|
|
17087
17092
|
const resolvedTabs = useEventListTabs();
|
|
@@ -17324,6 +17329,7 @@ var EventList = ({
|
|
|
17324
17329
|
// markets experience is enabled (the sports event-detail view loads the
|
|
17325
17330
|
// folded companions via aggKey). Gated on the same flag as that view.
|
|
17326
17331
|
grouped: showSportsMarkets,
|
|
17332
|
+
minVolume,
|
|
17327
17333
|
initialPages: initialLoadedPageCount,
|
|
17328
17334
|
enabled: controlledCategoryPath == null || validatedCategoryPathKey === controlledCategoryPathValidationKey
|
|
17329
17335
|
});
|
package/dist/events.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
EventListItem,
|
|
6
6
|
EventListItemV2,
|
|
7
7
|
EventListVenueStrip
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MDCFCGA3.mjs";
|
|
9
9
|
import {
|
|
10
10
|
EventListItemDetails,
|
|
11
11
|
MarketDetails,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
orderbookRowLimitDefault,
|
|
21
21
|
resolveEventDetailsSyncKey,
|
|
22
22
|
useCenterOrderbookSpread
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YYGS6S7N.mjs";
|
|
24
24
|
import {
|
|
25
25
|
formatProbabilityCents,
|
|
26
26
|
resolveOrderBookRows,
|