@velora-dex/widget 0.2.5-dev.10 → 0.2.5-dev.11

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.
@@ -0,0 +1,18 @@
1
+ import { ConsolidatedGasPrices } from '../../../hooks/gas/types';
2
+ import { Token } from '../../../tokens/state/types';
3
+ type ConstructMaxButtonPropsInput = {
4
+ tokenFrom: Token;
5
+ balanceUnit?: string;
6
+ gasPrices?: ConsolidatedGasPrices;
7
+ gasLimit: number;
8
+ onClick: (balanceUnit: string) => void;
9
+ };
10
+ export declare const useMaxButtonPropsBase: ({ tokenFrom, onClick, gasLimit, }: Pick<ConstructMaxButtonPropsInput, "tokenFrom" | "onClick" | "gasLimit">) => {
11
+ showMaxButton: boolean;
12
+ onMaxClick?: undefined;
13
+ } | {
14
+ showMaxButton: boolean;
15
+ onMaxClick: () => void;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=useMaxButtonProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaxButtonProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0BlD,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAyDF,eAAO,MAAM,qBAAqB,GAAI,mCAInC,IAAI,CACL,4BAA4B,EAC5B,WAAW,GAAG,SAAS,GAAG,UAAU,CACrC;;;;;;CAeA,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
3
+ import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
4
+ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
5
+ import { isETH } from '../../../tokens/utils/eth.js';
6
+ import Big from 'big.js';
7
+
8
+ function deductGasFeeFromETH({
9
+ ethAmountUnit,
10
+ gasPriceMultiplier,
11
+ gasLimit
12
+ }) {
13
+ if (!gasPriceMultiplier || !gasLimit) return ethAmountUnit;
14
+ const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplier).div(1e9);
15
+ const ethAmountUnitBig = Big(ethAmountUnit);
16
+ if (ethAmountUnitBig.lte(gasFeeETH)) return "0";
17
+ const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
18
+ return withDeductedGas.toString();
19
+ }
20
+ function constructMaxButtonProps({
21
+ tokenFrom,
22
+ balanceUnit,
23
+ gasPrices,
24
+ gasLimit,
25
+ onClick
26
+ }) {
27
+ const hasBalance = !!balanceUnit && balanceUnit !== "0";
28
+ if (!hasBalance) return {
29
+ showMaxButton: false
30
+ };
31
+ if (!isETH(tokenFrom)) return {
32
+ showMaxButton: hasBalance,
33
+ onMaxClick: () => {
34
+ onClick(balanceUnit);
35
+ }
36
+ };
37
+ const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
38
+ if (!gasPriceMultiplier) return {
39
+ showMaxButton: false
40
+ };
41
+ const maxAvailableBalance = deductGasFeeFromETH({
42
+ ethAmountUnit: balanceUnit,
43
+ gasPriceMultiplier,
44
+ gasLimit
45
+ });
46
+ if (maxAvailableBalance === "0") return {
47
+ showMaxButton: false
48
+ };
49
+ return {
50
+ showMaxButton: true,
51
+ onMaxClick: () => {
52
+ onClick(maxAvailableBalance);
53
+ }
54
+ };
55
+ }
56
+ const useMaxButtonPropsBase = (t0) => {
57
+ const $ = distExports.c(9);
58
+ const {
59
+ tokenFrom,
60
+ onClick,
61
+ gasLimit
62
+ } = t0;
63
+ let t1;
64
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
65
+ t1 = {
66
+ refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
67
+ };
68
+ $[0] = t1;
69
+ } else {
70
+ t1 = $[0];
71
+ }
72
+ let t2;
73
+ if ($[1] !== tokenFrom) {
74
+ t2 = {
75
+ token: tokenFrom,
76
+ queryOptions: t1
77
+ };
78
+ $[1] = tokenFrom;
79
+ $[2] = t2;
80
+ } else {
81
+ t2 = $[2];
82
+ }
83
+ const {
84
+ balanceUnit
85
+ } = useTokenBalance(t2);
86
+ const {
87
+ data: gasPrices
88
+ } = useGasPrices();
89
+ let t3;
90
+ if ($[3] !== balanceUnit || $[4] !== gasLimit || $[5] !== gasPrices || $[6] !== onClick || $[7] !== tokenFrom) {
91
+ t3 = constructMaxButtonProps({
92
+ tokenFrom,
93
+ balanceUnit,
94
+ gasPrices,
95
+ gasLimit,
96
+ onClick
97
+ });
98
+ $[3] = balanceUnit;
99
+ $[4] = gasLimit;
100
+ $[5] = gasPrices;
101
+ $[6] = onClick;
102
+ $[7] = tokenFrom;
103
+ $[8] = t3;
104
+ } else {
105
+ t3 = $[8];
106
+ }
107
+ return t3;
108
+ };
109
+
110
+ export { useMaxButtonPropsBase };
111
+ //# sourceMappingURL=useMaxButtonProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplier,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplier: number;\n gasLimit: number;\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplier || !gasLimit) return ethAmountUnit;\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplier).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toString();\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n}: ConstructMaxButtonPropsInput) {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token\n if (!isETH(tokenFrom))\n return {\n showMaxButton: hasBalance,\n onMaxClick: () => {\n onClick(balanceUnit);\n },\n };\n\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplier)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplier,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n onMaxClick: () => {\n onClick(maxAvailableBalance);\n },\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n });\n};\n"],"names":["deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplier","gasLimit","gasFeeETH","Big","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toString","constructMaxButtonProps","tokenFrom","balanceUnit","gasPrices","onClick","hasBalance","showMaxButton","isETH","onMaxClick","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t2","token","queryOptions","useTokenBalance","data","useGasPrices","t3"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAUjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAapE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AA4KF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
1
+ {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAQjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAiBpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAiJF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
@@ -11,9 +11,6 @@ import { parseUnits, formatUnits } from 'viem';
11
11
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
12
12
  import { currentSwapInputAtom } from '../../state/currentSwapInputAtom.js';
13
13
  import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
14
- import { isETH } from '../../../tokens/utils/eth.js';
15
- import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
16
- import Big from 'big.js';
17
14
  import { toDecimalTrimmed } from '../../../lib/utils/toDecimal.js';
18
15
  import { useLogger } from '../../logger.js';
19
16
  import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
@@ -22,6 +19,8 @@ import { useDeltaOrderRequiredAllowance } from '../../../hooks/swap/prices/delta
22
19
  import { useEnabledSrcChains } from '../../state/enabledChainsAtom.js';
23
20
  import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
24
21
  import { isDeltaPrice } from '../../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
22
+ import { WRAP_ETH_GAS_LIMIT_INACCURATE, AUGUSTUS_GAS_LIMIT_INACCURATE } from '../../../lib/constants/index.js';
23
+ import { useMaxButtonPropsBase } from './useMaxButtonProps.js';
25
24
 
26
25
  const useTokenFromAmountProps = (t0) => {
27
26
  const $ = distExports.c(13);
@@ -197,93 +196,42 @@ const useTokenConditionalProps = (t0) => {
197
196
  return t7;
198
197
  };
199
198
  const useMaxButtonProps = (t0) => {
200
- const $ = distExports.c(18);
199
+ const $ = distExports.c(7);
201
200
  const {
202
- price,
203
- tokenFrom
201
+ tokenFrom,
202
+ activeSwapMode
204
203
  } = t0;
205
204
  const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);
206
205
  const setPayInputAmount = useSetAtom(payInputAmountAtom);
206
+ const gasLimit = activeSwapMode === "delta" ? WRAP_ETH_GAS_LIMIT_INACCURATE : AUGUSTUS_GAS_LIMIT_INACCURATE;
207
207
  let t1;
208
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
209
- t1 = {
210
- refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
208
+ if ($[0] !== setCurrentSwapInput || $[1] !== setPayInputAmount) {
209
+ t1 = (balanceUnit) => {
210
+ setCurrentSwapInput("from");
211
+ setPayInputAmount(balanceUnit);
211
212
  };
212
- $[0] = t1;
213
+ $[0] = setCurrentSwapInput;
214
+ $[1] = setPayInputAmount;
215
+ $[2] = t1;
213
216
  } else {
214
- t1 = $[0];
217
+ t1 = $[2];
215
218
  }
219
+ const onClick = t1;
216
220
  let t2;
217
- if ($[1] !== tokenFrom) {
221
+ if ($[3] !== gasLimit || $[4] !== onClick || $[5] !== tokenFrom) {
218
222
  t2 = {
219
- token: tokenFrom,
220
- queryOptions: t1
223
+ tokenFrom,
224
+ gasLimit,
225
+ onClick
221
226
  };
222
- $[1] = tokenFrom;
223
- $[2] = t2;
224
- } else {
225
- t2 = $[2];
226
- }
227
- const {
228
- balanceUnit
229
- } = useTokenBalance(t2);
230
- const {
231
- data: gasPrices
232
- } = useGasPrices();
233
- const hasBalance = !!balanceUnit && balanceUnit !== "0";
234
- let t3;
235
- if ($[3] !== hasBalance || $[4] !== price || $[5] !== tokenFrom) {
236
- t3 = hasBalance && (!isETH(tokenFrom) || !!price);
237
- $[3] = hasBalance;
238
- $[4] = price;
227
+ $[3] = gasLimit;
228
+ $[4] = onClick;
239
229
  $[5] = tokenFrom;
240
- $[6] = t3;
241
- } else {
242
- t3 = $[6];
243
- }
244
- const showMaxButton = t3;
245
- let t4;
246
- if ($[7] !== balanceUnit || $[8] !== gasPrices?.legacyPrices || $[9] !== hasBalance || $[10] !== price?.gasCost || $[11] !== setCurrentSwapInput || $[12] !== setPayInputAmount || $[13] !== tokenFrom) {
247
- t4 = () => {
248
- setCurrentSwapInput("from");
249
- if (hasBalance) {
250
- if (!isETH(tokenFrom)) {
251
- setPayInputAmount(balanceUnit);
252
- return;
253
- }
254
- const gasCost = price?.gasCost;
255
- const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
256
- if (gasCost && gasPriceMultiplier) {
257
- const gasFeeETH = Big(gasCost).plus(2e5).mul(gasPriceMultiplier).div(1e9);
258
- const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
259
- setPayInputAmount(balanceWithDeductedGas.toString());
260
- }
261
- }
262
- };
263
- $[7] = balanceUnit;
264
- $[8] = gasPrices?.legacyPrices;
265
- $[9] = hasBalance;
266
- $[10] = price?.gasCost;
267
- $[11] = setCurrentSwapInput;
268
- $[12] = setPayInputAmount;
269
- $[13] = tokenFrom;
270
- $[14] = t4;
230
+ $[6] = t2;
271
231
  } else {
272
- t4 = $[14];
232
+ t2 = $[6];
273
233
  }
274
- let t5;
275
- if ($[15] !== showMaxButton || $[16] !== t4) {
276
- t5 = {
277
- showMaxButton,
278
- onMaxClick: t4
279
- };
280
- $[15] = showMaxButton;
281
- $[16] = t4;
282
- $[17] = t5;
283
- } else {
284
- t5 = $[17];
285
- }
286
- return t5;
234
+ return useMaxButtonPropsBase(t2);
287
235
  };
288
236
  const useExtraProps = (t0) => {
289
237
  const $ = distExports.c(14);
@@ -433,12 +381,12 @@ const useTokenFromInputProps = (t0) => {
433
381
  }
434
382
  const extraProps = useExtraProps(t5);
435
383
  let t6;
436
- if ($[16] !== price || $[17] !== tokenFrom) {
384
+ if ($[16] !== activeSwapMode || $[17] !== tokenFrom) {
437
385
  t6 = {
438
- price,
439
- tokenFrom
386
+ tokenFrom,
387
+ activeSwapMode
440
388
  };
441
- $[16] = price;
389
+ $[16] = activeSwapMode;
442
390
  $[17] = tokenFrom;
443
391
  $[18] = t6;
444
392
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n price,\n tokenFrom,\n}: {\n price?: DeltaOrMarketPrice;\n tokenFrom: Token;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance && (!isETH(tokenFrom) || !!price);\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentSwapInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n const gasCost = price?.gasCost; // gasLimit\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n\n if (gasCost && gasPriceMultiplier) {\n const gasFeeETH = Big(gasCost)\n // have to add extra 200k because instant multiplier is not accurate enough\n .plus(200000)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ price, tokenFrom });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","data","gasPrices","useGasPrices","hasBalance","isETH","showMaxButton","legacyPrices","gasCost","gasPriceMultiplier","instant","gasFeeETH","Big","plus","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","activeSwapMode","override","tokenFromAmounts","parseUnits","decimals","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":"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"}
1
+ {"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n AUGUSTUS_GAS_LIMIT_INACCURATE,\n WRAP_ETH_GAS_LIMIT_INACCURATE,\n} from \"@/lib/constants\";\nimport { useMaxButtonPropsBase } from \"./useMaxButtonProps\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n tokenFrom,\n activeSwapMode,\n}: {\n tokenFrom: Token;\n activeSwapMode: SwapMode;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const gasLimit =\n activeSwapMode === \"delta\"\n ? WRAP_ETH_GAS_LIMIT_INACCURATE\n : AUGUSTUS_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentSwapInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ tokenFrom, activeSwapMode });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","activeSwapMode","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","AUGUSTUS_GAS_LIMIT_INACCURATE","onClick","useMaxButtonPropsBase","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","override","tokenFromAmounts","parseUnits","decimals","toString","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAMA,0BAA0BC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAACG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAI,MAAAA,GAAA,EAEI,GAFJJ,EAAAA;AAEKC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAFL,EAAA,MAAA;AAAA,IAAAI;AAAAA,GAAA,GAAAF,EAAAA;AAM/B,EAAA,MAAAG,MAAAA,GAAeC,UAAU,8BAA8B,CAAA;AACvD,EAAA,MAAAC,YAAkBC,gBAAAA,EAAiB;AAEnC,EAAA,MAAA,CAAAC,WAAAA,EAAAC,cAAA,CAAA,GAAsCC,QAAQC,kBAAkB,CAAA;AAEhE,EAAA,MAAAC,mBAAyBC,uBAAAA,EAAwB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAf,CAAAA,QAAAI,KAAAA,EAAA;AAGjDW,IAAAA,EAAAA,GAAAX,KAAAA,IAASY,aAAaZ,KAAK,CAAA,GAEvBA,MAAKa,eAAAA,IAAoBb,KAAAA,CAAKc,SAC9Bd,KAAAA,EAAKc,MAAAA;AAAQlB,IAAAA,CAAAA,MAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAJnB,EAAA,MAAAmB,aAAAA,GACEJ,EAAAA;AAGkB,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAApB,EAAA,CAAA,CAAA,KAAAK,UAAAL,CAAAA,QAAAU,cAAAA,EAAA;AAOFU,IAAAA,EAAAA,GAAAC,CAAAA,MAAAA,KAAA;AACdhB,MAAAA,MAAAA,CAAMiB,GAAAA,CAAK,0BAA0BD,MAAM,CAAA;AAC3CX,MAAAA,cAAAA,CAAeW,OAAME,KAAM,CAAA;AAAA,IAAC,CAAA;AAC7BvB,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAU,cAAAA;AAAAV,IAAAA,CAAAA,MAAAoB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAS,eAAAT,CAAAA,CAAA,CAAA,MAAAoB,EAAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAa,gBAAAA,IAAAb,EAAA,EAAA,CAAA,KAAAO,aAAAP,CAAAA,SAAAmB,aAAAA,EAAA;AARIK,IAAAA,EAAAA,GAAA;AAAA,MAAAC,MAAAA,EACGhB,WAAAA;AAAAA,MAAWI,gBAAAA;AAAAA,MAAAa,KAAAA,EAEZnB,SAAAA;AAAAA,MAASY,aAAAA;AAAAA,MAAAQ,cAAAA,EAEAP;AAAAA,KAIlB;AAACpB,IAAAA,CAAAA,MAAAS,WAAAA;AAAAT,IAAAA,CAAAA,MAAAoB,EAAAA;AAAApB,IAAAA,CAAAA,MAAAa,gBAAAA;AAAAb,IAAAA,CAAAA,OAAAO,SAAAA;AAAAP,IAAAA,CAAAA,OAAAmB,aAAAA;AAAAnB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATMwB,EAAAA;AASN,CAAA;AAGH,MAAMV,0BAA0BA,MAAA;AAAA,EAAA,MAAAd,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC9B,EAAA,MAAAM,YAAkBC,gBAAAA,EAAiB;AAAE,EAAA,IAAAT,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAA4B,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIrB9B,IAAAA,EAAAA,GAAA;AAAA,MAAA+B,eAAAA,EAAmBC;AAAAA,KAAmC;AAAC/B,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAO,SAAAA,EAAA;AAF/BL,IAAAA,EAAAA,GAAA;AAAA,MAAAwB,KAAAA,EAC/BnB,SAAAA;AAAAA,MAASyB,YAAAA,EACFjC;AAAAA,KAChB;AAACC,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAiC;AAAAA,GAAA,GAAwBC,gBAAgBhC,EAGvC,CAAA;AAAE,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAf,CAAAA,QAAAiC,WAAAA,EAAA;AAEIlB,IAAAA,EAAAA,GAAAoB,iBAAiBF,WAAW,CAAA;AAACjC,IAAAA,CAAAA,MAAAiC,WAAAA;AAAAjC,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7Be,EAAAA;AAA6B,CAAA;AAStC,MAAMqB,2BAA2BrC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAoC,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAA/B;AAAAA,GAAA,GAAAR,EAAAA;AAUhC,EAAA,MAAAwC,mBAAAA,GAA4BC,kBAAkBF,QAAQ,CAAA;AAOzC,EAAA,MAAApC,KAAAqC,mBAAAA,KAAwB,eAAA;AAAe,EAAA,IAAAxB,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAqC,SAAAA,IAAArC,CAAAA,CAAA,CAAA,CAAA,KAAAE,EAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,CAAAkC,OAAAA,EAAA;AAHnB1B,IAAAA,EAAAA,GAAA;AAAA,MAAA2B,cACfnC,SAAAA,CAASkC,OAAAA;AAAAA,MAAQhB,MAAAA,EACvBY,SAAAA;AAAAA,MAASM,OAAAA,EACRzC;AAAAA,KACX;AAACF,IAAAA,CAAAA,MAAAqC,SAAAA;AAAArC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,CAAA,CAAA,IAAAO,SAAAA,CAAAkC,OAAAA;AAAAzC,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AALH,EAAA,MAAA;AAAA,IAAA4C,iBAAAA,EAAAC;AAAAA,GAAA,GACEC,+BAA+B/B,EAI9B,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAuC,mBAAAA,IAAAvC,CAAAA,QAAA6C,oBAAAA,IAAA7C,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,EAAA;AAE2Ca,IAAAA,EAAAA,GAAA;AAAA,MAAAM,KAAAA,EACvCnB,SAAAA;AAAAA,MAASgC,mBAAAA;AAAAA,MAAAQ,oBAAAA,EAEMF;AAAAA,KACxB;AAAC7C,IAAAA,CAAAA,MAAAuC,mBAAAA;AAAAvC,IAAAA,CAAAA,MAAA6C,oBAAAA;AAAA7C,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAoB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAgD,cAAAA,GAAuBC,yBAAyB7B,EAI/C,CAAA;AAED,EAAA,MAAA8B,qBAAAA,GAA8BC,kCAAkC,MAAM,CAAA;AAIxD,EAAA,MAAA3B,EAAAA,GAAA,CAAC0B,qBAAAA,IAAyBF,cAAAA,CAAcI,aAAAA;AAAc,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAArD,CAAAA,QAAAwB,EAAAA,EAAA;AADzC6B,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EACb9B;AAAAA,KACZ;AAACxB,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,MAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArD,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuD,EAAAA;AAAA,EAAA,IAAAvD,EAAA,EAAA,CAAA,KAAAkD,yBAAAlD,CAAAA,SAAAO,SAAAA,EAAA;AACgCgD,IAAAA,EAAAA,GAAA;AAAA,MAAA7B,KAAAA,EACxBnB,SAAAA;AAAAA,MAASiD,aAAAA,EACDN;AAAAA,KACjB;AAAClD,IAAAA,CAAAA,OAAAkD,qBAAAA;AAAAlD,IAAAA,CAAAA,OAAAO,SAAAA;AAAAP,IAAAA,CAAAA,OAAAuD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAyD,EAAAA;AAAA,EAAA,IAAAzD,EAAA,EAAA,CAAA,KAAAqD,MAAArD,CAAAA,SAAAuD,EAAAA,EAAA;AAPIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,uBAAAA,EACoBL,EAAAA;AAAAA,MAExBM,+BAAAA,EACgCJ;AAAAA,KAInC;AAACvD,IAAAA,CAAAA,OAAAqD,EAAAA;AAAArD,IAAAA,CAAAA,OAAAuD,EAAAA;AAAAvD,IAAAA,CAAAA,OAAAyD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARMyD,EAAAA;AAQN,CAAA;AAGH,MAAMG,oBAAoB7D,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAM,SAAAA;AAAAA,IAAAsD;AAAAA,GAAA,GAAA9D,EAAAA;AAOzB,EAAA,MAAA+D,mBAAAA,GAA4BC,WAAWC,oBAAoB,CAAA;AAC3D,EAAA,MAAAC,iBAAAA,GAA0BF,WAAWnD,kBAAkB,CAAA;AAEvD,EAAA,MAAAsD,QAAAA,GACEL,cAAAA,KAAmB,OAAA,GAAnBM,6BAAAA,GAAAC,6BAAAA;AAEkC,EAAA,IAAAlE,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAA8D,uBAAA9D,CAAAA,QAAAiE,iBAAAA,EAAA;AACpB/D,IAAAA,EAAAA,GAAA+B,CAAAA,WAAAA,KAAA;AACd6B,MAAAA,mBAAAA,CAAoB,MAAM,CAAA;AAC1BG,MAAAA,iBAAAA,CAAkBhC,WAAW,CAAA;AAAA,IAAC,CAAA;AAC/BjC,IAAAA,CAAAA,MAAA8D,mBAAAA;AAAA9D,IAAAA,CAAAA,MAAAiE,iBAAAA;AAAAjE,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAqE,OAAAA,GAAgBnE,EAAAA;AAGd,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAkE,QAAAA,IAAAlE,CAAAA,QAAAqE,OAAAA,IAAArE,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,EAAA;AAE2BQ,IAAAA,EAAAA,GAAA;AAAA,MAAAR,SAAAA;AAAAA,MAAA2D,QAAAA;AAAAA,MAAAG;AAAAA,KAA+B;AAACrE,IAAAA,CAAAA,MAAAkE,QAAAA;AAAAlE,IAAAA,CAAAA,MAAAqE,OAAAA;AAAArE,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAtDsE,sBAAsBvD,EAAgC,CAAA;AAAC,CAAA;AAGhE,MAAMwD,gBAAgBxE,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAACG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAI,MAAAA,GAAA,EAIlB,GAJkBJ,EAAAA;AAIjBC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAJiB,EAAA,MAAA;AAAA,IAAAwE;AAAAA,GAAA,GAAAtE,EAAAA;AAKrB,EAAA,MAAAuE,aAAmBC,UAAAA,EAAW;AAE9B,EAAA,MAAAC,eAAAA,GAAwBZ,WAAWC,oBAAoB,CAAA;AAEvD,EAAA,MAAAY,OAAaC,WAAAA,EAAY;AAGzB,EAAA,MAAAC,SAAAA,GAAkBN,kBAAkBI,IAAAA,KAAS,KAAA;AAC7C,EAAA,MAAAG,mBAAyBC,mBAAAA,EAAoB;AAQ/B,EAAA,MAAAjE,EAAAA,GAAAgE,iBAAgBE,MAAAA,IAAW,CAAA;AAAC,EAAA,IAAA7D,EAAAA;AAAA,EAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAyE,UAAAA,IAAAzE,CAAAA,QAAA+E,gBAAAA,IAAA/E,CAAAA,CAAA,CAAA,CAAA,KAAAe,EAAAA,EAAA;AALlBK,IAAAA,EAAAA,GAAA;AAAA,MAAA8D,QAAAA,EACVH,gBAAAA;AAAAA,MAAgBI,eAAAA,EACTV,UAAAA;AAAAA,MAAUW,SAAAA,EAChB,KAAA;AAAA,MAAKC,QAAAA,EACNC,KAAAA;AAAAA,MAA0DC,QAAAA,EAC1DxE;AAAAA,KACZ;AAACf,IAAAA,CAAAA,MAAAyE,UAAAA;AAAAzE,IAAAA,CAAAA,MAAA+E,gBAAAA;AAAA/E,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,MAAAoB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,QAAA2E,eAAAA,EAAA;AAEQnD,IAAAA,EAAAA,GAAAA,MAAMmD,gBAAgB,MAAM,CAAA;AAAC3E,IAAAA,CAAAA,MAAA2E,eAAAA;AAAA3E,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqD,EAAAA;AAAA,EAAA,IAAArD,EAAA,CAAA,CAAA,KAAA4B,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGlCwB,IAAAA,EAAAA,mBAAA,GAAA,CAAA,UAAM,QAAA,EAAA,KAAA,EAAG,CAAA;AAAOrD,IAAAA,CAAAA,MAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArD,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuD,EAAAA;AAAA,EAAA,IAAAvD,EAAA,CAAA,CAAA,KAAA4B,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AADlB0B,IAAAA,EAAAA,mBAAA,IAAA,CAAA,QAAA,EAAA,EACEF,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAAgB,GAAA;AAAA,sBAAC,GAAA,CAAA,MAAA,EAAA,EAAgB,SAAA,EAAA,iBAAA,EAAkB,QAAA,EAAA,IAAA,EAAE;AAAA,KAAA,EAAO,CAAA;AAC3DrD,IAAAA,CAAAA,MAAAuD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvD,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAyD,EAAAA;AAAA,EAAA,IAAAzD,CAAAA,CAAA,EAAA,CAAA,KAAA8E,SAAAA,IAAA9E,CAAAA,SAAAoB,EAAAA,IAAApB,CAAAA,CAAA,EAAA,CAAA,KAAAwB,EAAAA,EAAA;AAbAiC,IAAAA,EAAAA,GAAA;AAAA,MAAA+B,oBAAAA,EACiBpE,EAAAA;AAAAA,MAMrBqE,SAAAA,EACU,MAAA;AAAA,MAAeC,OAAAA,EACjBlE,EAAAA;AAAAA,MAA6BmE,KAAAA,EAEpCpC,EAAAA;AAAAA,MAEGuB;AAAAA,KAGP;AAAC9E,IAAAA,CAAAA,OAAA8E,SAAAA;AAAA9E,IAAAA,CAAAA,OAAAoB,EAAAA;AAAApB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,OAAAyD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMyD,EAAAA;AAgBN,CAAA;AAGI,MAAMmC,yBAAyB7F,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAA4D,cAAAA;AAAAA,IAAAgC,QAAAA;AAAAA,IAAArB,cAAAA;AAAAA,IAAApE;AAAAA,GAAA,GAAAL,EAAAA;AAKd,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAI,KAAAA,EAAA;AAC0BF,IAAAA,EAAAA,GAAA;AAAA,MAAAE;AAAAA,KAEjD;AAACJ,IAAAA,CAAAA,MAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAA8F,gBAAAA,GAAyBhG,wBAAwBI,EAEhD,CAAA;AACD,EAAA,MAAAK,YAAkBuF,gBAAAA,CAAgBpE,KAAAA;AAAO,EAAA,IAAAX,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAA6F,QAAAA,EAAAxD,SAAAA,IAAArC,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAA8F,iBAAArE,MAAAA,EAAA;AAGvCV,IAAAA,EAAAA,GAAA8E,QAAAA,EAAQxD,aACR0D,UAAAA,CAAWD,gBAAAA,CAAgBrE,QAASlB,SAAAA,CAASyF,QAAS,EAACC,QAAAA,EAAU;AAACjG,IAAAA,CAAAA,CAAA,CAAA,IAAA6F,QAAAA,EAAAxD,SAAAA;AAAArC,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,CAAA,CAAA,IAAA8F,gBAAAA,CAAArE,MAAAA;AAAAzB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAFpE,EAAA,MAAAqC,SAAAA,GACEtB,EAAAA;AACmE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAA6F,QAAAA,IAAA7F,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAA8F,gBAAAA,CAAArE,MAAAA,EAAA;AAEtDL,IAAAA,EAAAA,GAAAyE,QAAAA,EAAQxD,SAAAA,GACnB6D,WAAAA,CAAYC,MAAAA,CAAON,QAAAA,CAAQxD,SAAU,CAAA,EAAG9B,SAAAA,CAASyF,QAC3B,CAAA,GAAtBF,gBAAAA,CAAgBrE,MAAAA;AAAOzB,IAAAA,CAAAA,MAAA6F,QAAAA;AAAA7F,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,CAAA,CAAA,IAAA8F,gBAAAA,CAAArE,MAAAA;AAAAzB,IAAAA,CAAAA,MAAAoB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAA,EAAA;AAF3B,EAAA,MAAAyB,MAAAA,GAAeL,EAAAA;AAEa,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,EAAA,CAAA,KAAA6D,cAAAA,IAAA7D,CAAAA,SAAAqC,SAAAA,IAAArC,CAAAA,CAAA,EAAA,CAAA,KAAAO,SAAAA,EAAA;AAE2BiB,IAAAA,EAAAA,GAAA;AAAA,MAAAa,SAAAA;AAAAA,MAAAC,QAAAA,EAE3CuB,cAAAA;AAAAA,MAActD;AAAAA,KAE1B;AAACP,IAAAA,CAAAA,OAAA6D,cAAAA;AAAA7D,IAAAA,CAAAA,OAAAqC,SAAAA;AAAArC,IAAAA,CAAAA,OAAAO,SAAAA;AAAAP,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAoG,qBAAAA,GAA8BhE,yBAAyBZ,EAItD,CAAA;AAAE,EAAA,IAAA6B,EAAAA;AAAA,EAAA,IAAArD,CAAAA,SAAAwE,cAAAA,EAAA;AAC8BnB,IAAAA,EAAAA,GAAA;AAAA,MAAAmB;AAAAA,KAAiB;AAACxE,IAAAA,CAAAA,OAAAwE,cAAAA;AAAAxE,IAAAA,CAAAA,OAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAnD,EAAA,MAAAqG,UAAAA,GAAmB9B,cAAclB,EAAkB,CAAA;AAAE,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAvD,EAAA,EAAA,CAAA,KAAA6D,kBAAA7D,CAAAA,SAAAO,SAAAA,EAAA;AACZgD,IAAAA,EAAAA,GAAA;AAAA,MAAAhD,SAAAA;AAAAA,MAAAsD;AAAAA,KAA4B;AAAC7D,IAAAA,CAAAA,OAAA6D,cAAAA;AAAA7D,IAAAA,CAAAA,OAAAO,SAAAA;AAAAP,IAAAA,CAAAA,OAAAuD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAtE,EAAA,MAAAsG,cAAAA,GAAuB1C,kBAAkBL,EAA6B,CAAA;AAEtE,EAAA,MAAAgD,YAAAA,GAAqBxC,WAAWyC,uBAAuB,CAAA;AAAE,EAAA,IAAA/C,EAAAA;AAAA,EAAA,IAAAzD,CAAAA,SAAAuG,YAAAA,EAAA;AACnC9C,IAAAA,EAAAA,GAAAgD,CAAAA,YAAAA,KAAA;AACpBF,MAAAA,YAAAA,CAAaE,YAAY,CAAA;AAAA,IAAC,CAAA;AAC3BzG,IAAAA,CAAAA,OAAAuG,YAAAA;AAAAvG,IAAAA,CAAAA,OAAAyD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzD,EAAA,EAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAA0G,aAAAA,GAAsBjD,EAAAA;AAEpB,EAAA,IAAAkD,EAAAA;AAAA,EAAA,IAAA3G,CAAAA,SAAAyB,MAAAA,IAAAzB,EAAA,EAAA,CAAA,KAAAqG,UAAAA,IAAArG,CAAAA,CAAA,EAAA,CAAA,KAAAsG,kBAAAtG,CAAAA,CAAA,EAAA,CAAA,KAAA0G,aAAAA,IAAA1G,CAAAA,SAAAoG,qBAAAA,IAAApG,CAAAA,CAAA,EAAA,CAAA,KAAA8F,gBAAAA,EAAA;AAEKa,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACFb,gBAAAA;AAAAA,MAAgBrE,MAAAA;AAAAA,MAAA,GAEhB2E,qBAAAA;AAAAA,MAAqB,GACrBC,UAAAA;AAAAA,MAAU,GACVC,cAAAA;AAAAA,MAAcI;AAAAA,KAEnB;AAAC1G,IAAAA,CAAAA,OAAAyB,MAAAA;AAAAzB,IAAAA,CAAAA,OAAAqG,UAAAA;AAAArG,IAAAA,CAAAA,OAAAsG,cAAAA;AAAAtG,IAAAA,CAAAA,OAAA0G,aAAAA;AAAA1G,IAAAA,CAAAA,OAAAoG,qBAAAA;AAAApG,IAAAA,CAAAA,OAAA8F,gBAAAA;AAAA9F,IAAAA,CAAAA,OAAA2G,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3G,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPM2G,EAAAA;AAON;AAzEmB,SAAArB,MAAAsB,OAAAA,EAAA;AAAA,EAAA,OAoBOA,OAAAA,KAAY,SAASC,WAAAA,CAAY;AAAA,IAAAD;AAAAA,GAAW,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAyM5E,eAAO,MAAM,oBAAoB,QAAO,eAAe,CAAC,SAAS,CAGhE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,eAyB9C,CAAC"}
1
+ {"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA4K5E,eAAO,MAAM,oBAAoB,QAAO,eAAe,CAAC,SAAS,CAGhE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,eAyB9C,CAAC"}
@@ -11,9 +11,6 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
11
11
  import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useGenericTokenAllowance } from '../../hooks/tokens/allowance/useGenericTokenAllowance.js';
13
13
  import { useIsInsufficientBalanceToFillLimitOrder } from '../../hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js';
14
- import { useGasPrices } from '../../hooks/gas/useGasPrices.js';
15
- import { isETH } from '../../tokens/utils/eth.js';
16
- import Big from 'big.js';
17
14
  import { WRAP_ETH_GAS_LIMIT_INACCURATE } from '../../lib/constants/index.js';
18
15
  import { useUnsupportedLimitChain } from './useLimitNotSupported.js';
19
16
  import { selectLimitTokenFromAtom } from './state/selectedTokenActionsAtom.js';
@@ -23,6 +20,7 @@ import { getInsufficientBalanceToFillOrderMessage } from '../../lib/utils/delta.
23
20
  import { useDeltaOrderRequiredAllowance } from '../../hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js';
24
21
  import { useEnabledSrcChainsWithDelta } from '../state/enabledChainsAtom.js';
25
22
  import { switchChain } from '../../lib/web3/wagmi/switchChain.js';
23
+ import { useMaxButtonPropsBase } from '../inputs/hooks/useMaxButtonProps.js';
26
24
 
27
25
  const useLimitTokenFromAmountProps = () => {
28
26
  const $ = distExports.c(8);
@@ -165,80 +163,39 @@ const useTokenConditionalProps = (t0) => {
165
163
  return t8;
166
164
  };
167
165
  const useMaxButtonProps = (t0) => {
168
- const $ = distExports.c(13);
166
+ const $ = distExports.c(6);
169
167
  const {
170
168
  tokenFrom
171
169
  } = t0;
172
170
  const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);
173
171
  const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);
174
172
  let t1;
175
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
176
- t1 = {
177
- refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
173
+ if ($[0] !== setCurrentLimitInput || $[1] !== setPayInputAmount) {
174
+ t1 = (balanceUnit) => {
175
+ setCurrentLimitInput("from");
176
+ setPayInputAmount(balanceUnit);
178
177
  };
179
- $[0] = t1;
178
+ $[0] = setCurrentLimitInput;
179
+ $[1] = setPayInputAmount;
180
+ $[2] = t1;
180
181
  } else {
181
- t1 = $[0];
182
+ t1 = $[2];
182
183
  }
184
+ const onClick = t1;
183
185
  let t2;
184
- if ($[1] !== tokenFrom) {
186
+ if ($[3] !== onClick || $[4] !== tokenFrom) {
185
187
  t2 = {
186
- token: tokenFrom,
187
- queryOptions: t1
188
- };
189
- $[1] = tokenFrom;
190
- $[2] = t2;
191
- } else {
192
- t2 = $[2];
193
- }
194
- const {
195
- balanceUnit
196
- } = useTokenBalance(t2);
197
- const {
198
- data: gasPrices
199
- } = useGasPrices();
200
- const hasBalance = !!balanceUnit && balanceUnit !== "0";
201
- const showMaxButton = hasBalance;
202
- let t3;
203
- if ($[3] !== balanceUnit || $[4] !== gasPrices?.legacyPrices || $[5] !== hasBalance || $[6] !== setCurrentLimitInput || $[7] !== setPayInputAmount || $[8] !== tokenFrom) {
204
- t3 = () => {
205
- setCurrentLimitInput("from");
206
- if (hasBalance) {
207
- if (!isETH(tokenFrom)) {
208
- setPayInputAmount(balanceUnit);
209
- return;
210
- }
211
- const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
212
- if (gasPriceMultiplier) {
213
- const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE).mul(gasPriceMultiplier).div(1e9);
214
- const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
215
- setPayInputAmount(balanceWithDeductedGas.toString());
216
- }
217
- }
218
- };
219
- $[3] = balanceUnit;
220
- $[4] = gasPrices?.legacyPrices;
221
- $[5] = hasBalance;
222
- $[6] = setCurrentLimitInput;
223
- $[7] = setPayInputAmount;
224
- $[8] = tokenFrom;
225
- $[9] = t3;
226
- } else {
227
- t3 = $[9];
228
- }
229
- let t4;
230
- if ($[10] !== showMaxButton || $[11] !== t3) {
231
- t4 = {
232
- showMaxButton,
233
- onMaxClick: t3
188
+ tokenFrom,
189
+ gasLimit: WRAP_ETH_GAS_LIMIT_INACCURATE,
190
+ onClick
234
191
  };
235
- $[10] = showMaxButton;
236
- $[11] = t3;
237
- $[12] = t4;
192
+ $[3] = onClick;
193
+ $[4] = tokenFrom;
194
+ $[5] = t2;
238
195
  } else {
239
- t4 = $[12];
196
+ t2 = $[5];
240
197
  }
241
- return t4;
198
+ return useMaxButtonPropsBase(t2);
242
199
  };
243
200
  const useTokenFromBalanceUnit = () => {
244
201
  const $ = distExports.c(5);
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = WRAP_ETH_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","balanceUnit","onClick","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","useMaxButtonPropsBase","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","useTokenBalance","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAyM5E,eAAO,MAAM,kBAAkB,QAAO,eAAe,CAAC,SAAS,CAG9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,eAyB5C,CAAC"}
1
+ {"version":3,"file":"useOtcTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA4K5E,eAAO,MAAM,kBAAkB,QAAO,eAAe,CAAC,SAAS,CAG9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,eAyB5C,CAAC"}
@@ -11,9 +11,6 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
11
11
  import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useGenericTokenAllowance } from '../../hooks/tokens/allowance/useGenericTokenAllowance.js';
13
13
  import { useIsInsufficientBalanceToFillOtcOrder } from '../../hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js';
14
- import { useGasPrices } from '../../hooks/gas/useGasPrices.js';
15
- import { isETH } from '../../tokens/utils/eth.js';
16
- import Big from 'big.js';
17
14
  import { WRAP_ETH_GAS_LIMIT_INACCURATE } from '../../lib/constants/index.js';
18
15
  import { useUnsupportedOtcChain } from './useOtcNotSupported.js';
19
16
  import { selectOtcTokenFromAtom } from './state/selectedTokenActionsAtom.js';
@@ -23,6 +20,7 @@ import { getInsufficientBalanceToFillOrderMessage } from '../../lib/utils/delta.
23
20
  import { useOTCOrderRequiredAllowance } from '../../hooks/otc/queries/useLimitOrderRequiredBalance.js';
24
21
  import { useEnabledSrcChainsWithOTC } from '../state/enabledChainsAtom.js';
25
22
  import { switchChain } from '../../lib/web3/wagmi/switchChain.js';
23
+ import { useMaxButtonPropsBase } from '../inputs/hooks/useMaxButtonProps.js';
26
24
 
27
25
  const useOtcTokenFromAmountProps = () => {
28
26
  const $ = distExports.c(8);
@@ -165,80 +163,39 @@ const useTokenConditionalProps = (t0) => {
165
163
  return t8;
166
164
  };
167
165
  const useMaxButtonProps = (t0) => {
168
- const $ = distExports.c(13);
166
+ const $ = distExports.c(6);
169
167
  const {
170
168
  tokenFrom
171
169
  } = t0;
172
- const setCurrentOtcInput = useSetAtom(currentOtcInputAtom);
170
+ const setCurrentLimitInput = useSetAtom(currentOtcInputAtom);
173
171
  const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);
174
172
  let t1;
175
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
176
- t1 = {
177
- refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
173
+ if ($[0] !== setCurrentLimitInput || $[1] !== setPayInputAmount) {
174
+ t1 = (balanceUnit) => {
175
+ setCurrentLimitInput("from");
176
+ setPayInputAmount(balanceUnit);
178
177
  };
179
- $[0] = t1;
178
+ $[0] = setCurrentLimitInput;
179
+ $[1] = setPayInputAmount;
180
+ $[2] = t1;
180
181
  } else {
181
- t1 = $[0];
182
+ t1 = $[2];
182
183
  }
184
+ const onClick = t1;
183
185
  let t2;
184
- if ($[1] !== tokenFrom) {
186
+ if ($[3] !== onClick || $[4] !== tokenFrom) {
185
187
  t2 = {
186
- token: tokenFrom,
187
- queryOptions: t1
188
- };
189
- $[1] = tokenFrom;
190
- $[2] = t2;
191
- } else {
192
- t2 = $[2];
193
- }
194
- const {
195
- balanceUnit
196
- } = useTokenBalance(t2);
197
- const {
198
- data: gasPrices
199
- } = useGasPrices();
200
- const hasBalance = !!balanceUnit && balanceUnit !== "0";
201
- const showMaxButton = hasBalance;
202
- let t3;
203
- if ($[3] !== balanceUnit || $[4] !== gasPrices?.legacyPrices || $[5] !== hasBalance || $[6] !== setCurrentOtcInput || $[7] !== setPayInputAmount || $[8] !== tokenFrom) {
204
- t3 = () => {
205
- setCurrentOtcInput("from");
206
- if (hasBalance) {
207
- if (!isETH(tokenFrom)) {
208
- setPayInputAmount(balanceUnit);
209
- return;
210
- }
211
- const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
212
- if (gasPriceMultiplier) {
213
- const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE).mul(gasPriceMultiplier).div(1e9);
214
- const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
215
- setPayInputAmount(balanceWithDeductedGas.toString());
216
- }
217
- }
218
- };
219
- $[3] = balanceUnit;
220
- $[4] = gasPrices?.legacyPrices;
221
- $[5] = hasBalance;
222
- $[6] = setCurrentOtcInput;
223
- $[7] = setPayInputAmount;
224
- $[8] = tokenFrom;
225
- $[9] = t3;
226
- } else {
227
- t3 = $[9];
228
- }
229
- let t4;
230
- if ($[10] !== showMaxButton || $[11] !== t3) {
231
- t4 = {
232
- showMaxButton,
233
- onMaxClick: t3
188
+ tokenFrom,
189
+ gasLimit: WRAP_ETH_GAS_LIMIT_INACCURATE,
190
+ onClick
234
191
  };
235
- $[10] = showMaxButton;
236
- $[11] = t3;
237
- $[12] = t4;
192
+ $[3] = onClick;
193
+ $[4] = tokenFrom;
194
+ $[5] = t2;
238
195
  } else {
239
- t4 = $[12];
196
+ t2 = $[5];
240
197
  }
241
- return t4;
198
+ return useMaxButtonPropsBase(t2);
242
199
  };
243
200
  const useTokenFromBalanceUnit = () => {
244
201
  const $ = distExports.c(5);
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenFromInputProps.js","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setOtcPayAmountAtom } from \"./state/otcInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillOtcOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedOtcChain } from \"./useOtcNotSupported\";\nimport { selectOtcTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useOTCOrderRequiredAllowance } from \"@/hooks/otc/queries/useLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithOTC } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useOtcTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"OTC::TokenFrom::AmountProps\");\n const tokenFrom = useOtcTokenFrom();\n\n const amountValue = useAtomValue(otcPayInputAmountAtom);\n const setAmountValue = useSetAtom(setOtcPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"AugustusRFQ\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useOTCOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"AugustusRFQ\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: \"AugustusRFQ\",\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillOtcOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentOtcInput = useSetAtom(currentOtcInputAtom);\n const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentOtcInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in OTC form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useOtcTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithOTC = useEnabledSrcChainsWithOTC();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithOTC,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithOTC.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useOtcInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedOtcChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useOtcTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useOtcTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const classes = useOtcInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useOtcTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useOtcTokenFrom","amountValue","useAtomValue","otcPayInputAmountAtom","setAmountValue","useSetAtom","setOtcPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useOTCOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillOtcOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentOtcInput","currentOtcInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithOTC","useEnabledSrcChainsWithOTC","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useOtcInputClasses","unsupportedChain","useUnsupportedOtcChain","useOtcTokenFromInputProps","amountProps","extraProps","payInputAmountWei","otcPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectOtcTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
1
+ {"version":3,"file":"useOtcTokenFromInputProps.js","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setOtcPayAmountAtom } from \"./state/otcInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillOtcOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedOtcChain } from \"./useOtcNotSupported\";\nimport { selectOtcTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useOTCOrderRequiredAllowance } from \"@/hooks/otc/queries/useLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithOTC } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useOtcTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"OTC::TokenFrom::AmountProps\");\n const tokenFrom = useOtcTokenFrom();\n\n const amountValue = useAtomValue(otcPayInputAmountAtom);\n const setAmountValue = useSetAtom(setOtcPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"AugustusRFQ\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useOTCOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"AugustusRFQ\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: \"AugustusRFQ\",\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillOtcOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentOtcInputAtom);\n const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);\n\n const gasLimit = WRAP_ETH_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useOtcTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithOTC = useEnabledSrcChainsWithOTC();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithOTC,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithOTC.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useOtcInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedOtcChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useOtcTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useOtcTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const classes = useOtcInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useOtcTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useOtcTokenFrom","amountValue","useAtomValue","otcPayInputAmountAtom","setAmountValue","useSetAtom","setOtcPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useOTCOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillOtcOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentOtcInputAtom","setPayInputAmount","balanceUnit","onClick","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","useMaxButtonPropsBase","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","useTokenBalance","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithOTC","useEnabledSrcChainsWithOTC","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useOtcInputClasses","unsupportedChain","useUnsupportedOtcChain","useOtcTokenFromInputProps","amountProps","extraProps","payInputAmountWei","otcPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectOtcTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
@@ -2,5 +2,6 @@ export declare const emptyArray: never[];
2
2
  export declare const emptyObject: Record<string, never>;
3
3
  export declare const WRAP_ETH_GAS_LIMIT_INACCURATE = 30000;
4
4
  export declare const FILL_ORDER_GAS_LIMIT_INACCURATE = 200000;
5
+ export declare const AUGUSTUS_GAS_LIMIT_INACCURATE = 1500000;
5
6
  export declare const SAFE_CALLS_WAIT_TIMEOUT: number;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,CAAC;AAErD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,eAAO,MAAM,uBAAuB,QAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,CAAC;AAErD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAIvD,eAAO,MAAM,6BAA6B,UAAY,CAAC;AAEvD,eAAO,MAAM,uBAAuB,QAAc,CAAC"}
@@ -2,7 +2,8 @@ const emptyArray = [];
2
2
  const emptyObject = {};
3
3
  const WRAP_ETH_GAS_LIMIT_INACCURATE = 3e4;
4
4
  const FILL_ORDER_GAS_LIMIT_INACCURATE = 2e5;
5
+ const AUGUSTUS_GAS_LIMIT_INACCURATE = 15e5;
5
6
  const SAFE_CALLS_WAIT_TIMEOUT = 10 * 6e4;
6
7
 
7
- export { FILL_ORDER_GAS_LIMIT_INACCURATE, SAFE_CALLS_WAIT_TIMEOUT, WRAP_ETH_GAS_LIMIT_INACCURATE, emptyArray, emptyObject };
8
+ export { AUGUSTUS_GAS_LIMIT_INACCURATE, FILL_ORDER_GAS_LIMIT_INACCURATE, SAFE_CALLS_WAIT_TIMEOUT, WRAP_ETH_GAS_LIMIT_INACCURATE, emptyArray, emptyObject };
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":"AAAO,MAAMA,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\n// the biggest value that I have seen by observing a few recent transactions is ~1,200,000\n// adding some buffer to provide a safety margin for bigger swaps\nexport const AUGUSTUS_GAS_LIMIT_INACCURATE = 1_500_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","AUGUSTUS_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":"AAAO,MAAMA,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAIxC,MAAMC,6BAAAA,GAAgC;AAEtC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.2.5-dev.10",
3
+ "version": "0.2.5-dev.11",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [