@velora-dex/widget 0.4.7 → 0.4.9-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/AppHeader.js +93 -66
  3. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  4. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -0
  5. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  6. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -2
  7. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  8. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts +6 -0
  9. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -0
  10. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +124 -0
  11. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -0
  12. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts +8 -0
  13. package/dist/components/widget/TradeParameters/DegenModeParameter.d.ts.map +1 -0
  14. package/dist/components/widget/TradeParameters/DegenModeParameter.js +84 -0
  15. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -0
  16. package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -1
  17. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  18. package/dist/components/widget/TradeParameters/TradeParameters.js +131 -77
  19. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  20. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  21. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +15 -7
  22. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  23. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts +7 -0
  24. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts.map +1 -0
  25. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +16 -0
  26. package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js.map +1 -0
  27. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +1 -1
  28. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +2 -0
  29. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  30. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +108 -82
  31. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  32. package/dist/components/widget/Warning/Warning.d.ts +4 -2
  33. package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
  34. package/dist/components/widget/Warning/Warning.js +41 -31
  35. package/dist/components/widget/Warning/Warning.js.map +1 -1
  36. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +3 -3
  37. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -1
  38. package/dist/core/Warnings.d.ts.map +1 -1
  39. package/dist/core/Warnings.js +38 -12
  40. package/dist/core/Warnings.js.map +1 -1
  41. package/dist/core/index.js +5 -5
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/state/configActionsAtom.js +2 -2
  44. package/dist/core/state/configActionsAtom.js.map +1 -1
  45. package/dist/core/state/configAtom.d.ts +5 -5
  46. package/dist/core/state/configAtom.d.ts.map +1 -1
  47. package/dist/core/state/configAtom.js +1 -1
  48. package/dist/core/state/configAtom.js.map +1 -1
  49. package/dist/core/swapDetails/priceImpact.d.ts +1 -0
  50. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  51. package/dist/core/swapDetails/priceImpact.js +5 -3
  52. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  53. package/dist/core/swapDetails/usePriceImpactWarning.d.ts +8 -0
  54. package/dist/core/swapDetails/usePriceImpactWarning.d.ts.map +1 -0
  55. package/dist/core/swapDetails/usePriceImpactWarning.js +90 -0
  56. package/dist/core/swapDetails/usePriceImpactWarning.js.map +1 -0
  57. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  58. package/dist/core/swapDetails/useSwapDetailsListProps.js +73 -62
  59. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  60. package/dist/core/types.d.ts +2 -2
  61. package/dist/core/types.d.ts.map +1 -1
  62. package/dist/events/getters/settings.d.ts.map +1 -1
  63. package/dist/events/getters/settings.js +3 -0
  64. package/dist/events/getters/settings.js.map +1 -1
  65. package/dist/events/types/common.d.ts +1 -0
  66. package/dist/events/types/common.d.ts.map +1 -1
  67. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  68. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +118 -112
  69. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  70. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +1 -0
  71. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  72. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +4 -2
  73. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  74. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  75. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +4 -2
  76. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  77. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  78. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +4 -2
  79. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  80. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  81. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +4 -2
  82. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  83. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +2 -1
  84. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  85. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +32 -23
  86. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  87. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +2 -1
  88. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  89. package/dist/hooks/swap/prices/delta/mutations/utils.js +4 -2
  90. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  91. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +2 -0
  92. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
  93. package/dist/hooks/swap/prices/delta/queries/errors.js +11 -1
  94. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  95. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts +105 -0
  96. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts.map +1 -0
  97. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js +262 -0
  98. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -0
  99. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -0
  100. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  101. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +4 -2
  102. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  103. package/dist/hooks/swap/prices/market/queries/errors.d.ts +3 -0
  104. package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -0
  105. package/dist/hooks/swap/prices/market/queries/errors.js +13 -0
  106. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -0
  107. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -0
  108. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  109. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +3 -2
  110. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  111. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  112. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/usePricesParams.js +31 -28
  114. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  115. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  116. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +2 -3
  117. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  118. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  119. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -0
  120. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  121. package/dist/lib/queryClient.d.ts.map +1 -1
  122. package/dist/lib/queryClient.js +7 -1
  123. package/dist/lib/queryClient.js.map +1 -1
  124. package/dist/styles.css +21 -0
  125. package/package.json +2 -2
  126. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts +0 -2
  127. package/dist/core/swapDetails/useIsPriceImpactUnavailable.d.ts.map +0 -1
  128. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js +0 -40
  129. package/dist/core/swapDetails/useIsPriceImpactUnavailable.js.map +0 -1
  130. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +0 -109
  131. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +0 -1
  132. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +0 -172
  133. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +0 -1
@@ -0,0 +1,262 @@
1
+ import { d as distExports } from '../../../../../_virtual/index.js';
2
+ import { useGetContracts } from '../../../../sdk/useGetContracts.js';
3
+ import { emptyArray } from '../../../../../lib/constants/index.js';
4
+ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../../../lib/constants/time.js';
5
+ import { wagmiConfig } from '../../../../../lib/web3/wagmi/config.js';
6
+ import { useQueryClient } from '@tanstack/react-query';
7
+ import { isAddress, isHash } from 'viem';
8
+ import { useAccount, useReadContracts } from 'wagmi';
9
+ import { readContractsQueryOptions, readContractsQueryKey } from 'wagmi/query';
10
+
11
+ const NonceManagementModuleMinAbi = [{
12
+ type: "function",
13
+ name: "isNonceUsed",
14
+ inputs: [{
15
+ name: "owner",
16
+ type: "address",
17
+ internalType: "address"
18
+ }, {
19
+ name: "nonce",
20
+ type: "uint256",
21
+ internalType: "uint256"
22
+ }],
23
+ outputs: [{
24
+ name: "used",
25
+ type: "bool",
26
+ internalType: "bool"
27
+ }],
28
+ stateMutability: "view"
29
+ }];
30
+ const PreSignModuleMinAbi = [{
31
+ type: "function",
32
+ name: "isPreSigned",
33
+ inputs: [{
34
+ name: "owner",
35
+ type: "address",
36
+ internalType: "address"
37
+ }, {
38
+ name: "orderHash",
39
+ type: "bytes32",
40
+ internalType: "bytes32"
41
+ }],
42
+ outputs: [{
43
+ name: "",
44
+ type: "bool",
45
+ internalType: "bool"
46
+ }],
47
+ stateMutability: "view"
48
+ }];
49
+ function makePreConditionsContractParams({
50
+ chainId,
51
+ account,
52
+ DeltaContract,
53
+ nonce,
54
+ orderHash
55
+ }) {
56
+ return [{
57
+ chainId,
58
+ abi: NonceManagementModuleMinAbi,
59
+ address: DeltaContract,
60
+ functionName: "isNonceUsed",
61
+ args: [account, nonce]
62
+ }, {
63
+ chainId,
64
+ abi: PreSignModuleMinAbi,
65
+ address: DeltaContract,
66
+ functionName: "isPreSigned",
67
+ args: [account, orderHash]
68
+ }];
69
+ }
70
+ function useDeltaOrderPreConditions(t0) {
71
+ const $ = distExports.c(29);
72
+ const {
73
+ chainId,
74
+ nonce: _nonce,
75
+ orderHash,
76
+ query
77
+ } = t0;
78
+ const {
79
+ address: account
80
+ } = useAccount();
81
+ const {
82
+ data: contracts
83
+ } = useGetContracts();
84
+ let t1;
85
+ if ($[0] !== contracts) {
86
+ t1 = contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta) ? contracts.ParaswapDelta : void 0;
87
+ $[0] = contracts;
88
+ $[1] = t1;
89
+ } else {
90
+ t1 = $[1];
91
+ }
92
+ const DeltaContract = t1;
93
+ let nonce;
94
+ let t2;
95
+ let t3;
96
+ let t4;
97
+ if ($[2] !== DeltaContract || $[3] !== _nonce || $[4] !== account || $[5] !== chainId || $[6] !== orderHash) {
98
+ nonce = _nonce !== void 0 ? BigInt(_nonce) : void 0;
99
+ t4 = useReadContracts;
100
+ t2 = false;
101
+ t3 = makePreConditionsContractParams({
102
+ chainId,
103
+ account,
104
+ DeltaContract,
105
+ nonce,
106
+ orderHash
107
+ });
108
+ $[2] = DeltaContract;
109
+ $[3] = _nonce;
110
+ $[4] = account;
111
+ $[5] = chainId;
112
+ $[6] = orderHash;
113
+ $[7] = nonce;
114
+ $[8] = t2;
115
+ $[9] = t3;
116
+ $[10] = t4;
117
+ } else {
118
+ nonce = $[7];
119
+ t2 = $[8];
120
+ t3 = $[9];
121
+ t4 = $[10];
122
+ }
123
+ let t5;
124
+ if ($[11] !== DeltaContract || $[12] !== account || $[13] !== chainId || $[14] !== nonce || $[15] !== orderHash || $[16] !== query?.enabled) {
125
+ t5 = chainId && account && DeltaContract && !!orderHash && isHash(orderHash) && typeof nonce === "bigint" && (query?.enabled ?? true);
126
+ $[11] = DeltaContract;
127
+ $[12] = account;
128
+ $[13] = chainId;
129
+ $[14] = nonce;
130
+ $[15] = orderHash;
131
+ $[16] = query?.enabled;
132
+ $[17] = t5;
133
+ } else {
134
+ t5 = $[17];
135
+ }
136
+ let t6;
137
+ if ($[18] !== t5) {
138
+ t6 = {
139
+ enabled: t5,
140
+ refetchInterval: _temp,
141
+ staleTime: _temp2
142
+ };
143
+ $[18] = t5;
144
+ $[19] = t6;
145
+ } else {
146
+ t6 = $[19];
147
+ }
148
+ let t7;
149
+ if ($[20] !== t2 || $[21] !== t3 || $[22] !== t6) {
150
+ t7 = {
151
+ allowFailure: t2,
152
+ contracts: t3,
153
+ query: t6
154
+ };
155
+ $[20] = t2;
156
+ $[21] = t3;
157
+ $[22] = t6;
158
+ $[23] = t7;
159
+ } else {
160
+ t7 = $[23];
161
+ }
162
+ const queryResult = t4(t7);
163
+ const [_isNonceUsed, _isPreSigned] = queryResult.data ?? emptyArray;
164
+ const t8 = _isNonceUsed === false && _isPreSigned === true;
165
+ let t9;
166
+ if ($[24] !== _isNonceUsed || $[25] !== _isPreSigned || $[26] !== queryResult || $[27] !== t8) {
167
+ t9 = {
168
+ queryResult,
169
+ isCancellable: t8,
170
+ isNonceUsed: _isNonceUsed,
171
+ isPreSigned: _isPreSigned
172
+ };
173
+ $[24] = _isNonceUsed;
174
+ $[25] = _isPreSigned;
175
+ $[26] = queryResult;
176
+ $[27] = t8;
177
+ $[28] = t9;
178
+ } else {
179
+ t9 = $[28];
180
+ }
181
+ return t9;
182
+ }
183
+ function _temp2(t0) {
184
+ const {
185
+ state: state_0
186
+ } = t0;
187
+ const [isNonceUsed_0] = state_0.data ?? [];
188
+ if (isNonceUsed_0 === true) {
189
+ return Infinity;
190
+ }
191
+ return MEDIUM_STALE_TIME_FOR_REACTIVENESS;
192
+ }
193
+ function _temp(t0) {
194
+ const {
195
+ state
196
+ } = t0;
197
+ const [isNonceUsed] = state.data ?? [];
198
+ if (isNonceUsed === true) {
199
+ return false;
200
+ }
201
+ return MEDIUM_STALE_TIME_FOR_REACTIVENESS;
202
+ }
203
+ function deltaOrderPreConditionsQueryKey({
204
+ chainId,
205
+ account,
206
+ deltaContract,
207
+ nonce: _nonce,
208
+ orderHash
209
+ }) {
210
+ const DeltaContract = deltaContract && isAddress(deltaContract) ? deltaContract : void 0;
211
+ const nonce = _nonce ? BigInt(_nonce) : void 0;
212
+ return readContractsQueryKey({
213
+ allowFailure: false,
214
+ contracts: makePreConditionsContractParams({
215
+ chainId,
216
+ account,
217
+ DeltaContract,
218
+ nonce,
219
+ orderHash
220
+ })
221
+ });
222
+ }
223
+ function useEnsureDeltaOrderPreConditions() {
224
+ const $ = distExports.c(2);
225
+ const queryClient = useQueryClient();
226
+ let t0;
227
+ if ($[0] !== queryClient) {
228
+ t0 = async (t1) => {
229
+ const {
230
+ account,
231
+ nonce,
232
+ DeltaContract,
233
+ chainId,
234
+ orderHash
235
+ } = t1;
236
+ const queryOptions = readContractsQueryOptions(wagmiConfig, {
237
+ allowFailure: false,
238
+ contracts: makePreConditionsContractParams({
239
+ chainId,
240
+ account,
241
+ DeltaContract,
242
+ nonce: BigInt(nonce),
243
+ orderHash
244
+ })
245
+ });
246
+ const [isNonceUsed, isPreSigned] = await queryClient.ensureQueryData(queryOptions);
247
+ return {
248
+ isNonceUsed,
249
+ isPreSigned
250
+ };
251
+ };
252
+ $[0] = queryClient;
253
+ $[1] = t0;
254
+ } else {
255
+ t0 = $[1];
256
+ }
257
+ const ensureFn = t0;
258
+ return ensureFn;
259
+ }
260
+
261
+ export { deltaOrderPreConditionsQueryKey, useDeltaOrderPreConditions, useEnsureDeltaOrderPreConditions };
262
+ //# sourceMappingURL=useDeltaOrderPreConditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDeltaOrderPreConditions.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isAddress, isHash, type Address, type Hash } from \"viem\";\nimport { useAccount, useReadContracts } from \"wagmi\";\nimport { readContractsQueryKey, readContractsQueryOptions } from \"wagmi/query\";\n\nconst NonceManagementModuleMinAbi = [\n {\n type: \"function\",\n name: \"isNonceUsed\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"used\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\nconst PreSignModuleMinAbi = [\n {\n type: \"function\",\n name: \"isPreSigned\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"orderHash\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n] as const;\n\n/**\n * Returns the params to call wagmi.readContracts for checking Delta order pre-conditions (isNonceUsed and isPreSigned).\n * All params are optional to calm down the typescript, so the consumers must ensure they are present before calling the queryFn\n */\nfunction makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n DeltaContract?: Address;\n nonce?: bigint;\n orderHash?: string | null; // not available on old Orders only, so can be null\n}) {\n return [\n {\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n },\n {\n chainId,\n abi: PreSignModuleMinAbi,\n address: DeltaContract,\n functionName: \"isPreSigned\",\n args: [account as Address, orderHash as Hash],\n },\n ] as const;\n}\n\ntype UseDeltaOrderPreConditions = {\n chainId?: SupportedChainId;\n nonce?: string;\n orderHash?: string | null; // not available on old Orders only, so can be null\n query?: {\n enabled?: boolean;\n };\n};\n\n/**\n * Returns `[isNonceUsed, isPreSigned]` for a Delta order.\n * If the nonce is already used, the query is marked as never stale\n * (regardless of `isPreSigned`), since a used nonce is terminal.\n */\nexport function useDeltaOrderPreConditions({\n chainId,\n nonce: _nonce,\n orderHash,\n query,\n}: UseDeltaOrderPreConditions) {\n const { address: account } = useAccount();\n const { data: contracts } = useGetContracts();\n\n const DeltaContract =\n contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta)\n ? contracts.ParaswapDelta\n : undefined;\n const nonce = _nonce !== undefined ? BigInt(_nonce) : undefined;\n\n const queryResult = useReadContracts({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n query: {\n enabled:\n chainId &&\n account &&\n DeltaContract &&\n !!orderHash &&\n isHash(orderHash) &&\n typeof nonce === \"bigint\" &&\n (query?.enabled ?? true),\n refetchInterval: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return false;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore,\n // enough to consider the order as non-cancellable\n const [isNonceUsed] = state.data ?? [];\n if (isNonceUsed === true) return Infinity;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n },\n });\n const [_isNonceUsed, _isPreSigned] = queryResult.data ?? emptyArray;\n\n return {\n queryResult,\n // determine onchain conditions for order cancellability\n isCancellable: _isNonceUsed === false && _isPreSigned === true,\n isNonceUsed: _isNonceUsed,\n isPreSigned: _isPreSigned,\n };\n}\n\nexport function deltaOrderPreConditionsQueryKey({\n chainId,\n account,\n deltaContract,\n nonce: _nonce,\n orderHash,\n}: {\n chainId?: SupportedChainId;\n account?: Address;\n deltaContract?: string;\n nonce?: string;\n orderHash?: string | null;\n}) {\n const DeltaContract =\n deltaContract && isAddress(deltaContract) ? deltaContract : undefined;\n const nonce = _nonce ? BigInt(_nonce) : undefined;\n\n return readContractsQueryKey({\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce,\n orderHash,\n }),\n });\n}\n\ntype UseEnsureDeltaOrdePreConditionsFnInput = {\n nonce: string;\n account: Address;\n DeltaContract: Address;\n chainId: SupportedChainId;\n orderHash: Hash;\n};\n\nexport function useEnsureDeltaOrderPreConditions(): (\n data: UseEnsureDeltaOrdePreConditionsFnInput\n) => Promise<{ isNonceUsed: boolean; isPreSigned: boolean }> {\n const queryClient = useQueryClient();\n\n const ensureFn = async ({\n account,\n nonce,\n DeltaContract,\n chainId,\n orderHash,\n }: UseEnsureDeltaOrdePreConditionsFnInput) => {\n const queryOptions = readContractsQueryOptions(wagmiConfig, {\n allowFailure: false,\n contracts: makePreConditionsContractParams({\n chainId,\n account,\n DeltaContract,\n nonce: BigInt(nonce),\n orderHash,\n }),\n });\n\n const [isNonceUsed, isPreSigned] =\n await queryClient.ensureQueryData(queryOptions);\n\n return { isNonceUsed, isPreSigned };\n };\n\n return ensureFn;\n}\n"],"names":["NonceManagementModuleMinAbi","type","name","inputs","internalType","outputs","stateMutability","PreSignModuleMinAbi","makePreConditionsContractParams","chainId","account","DeltaContract","nonce","orderHash","abi","address","functionName","args","useDeltaOrderPreConditions","t0","$","_c","_nonce","query","useAccount","data","contracts","useGetContracts","t1","ParaswapDelta","isAddress","undefined","t2","t3","t4","BigInt","useReadContracts","t5","enabled","isHash","t6","refetchInterval","_temp","staleTime","_temp2","t7","allowFailure","queryResult","_isNonceUsed","_isPreSigned","emptyArray","t8","t9","isCancellable","isNonceUsed","isPreSigned","state","state_0","isNonceUsed_0","Infinity","MEDIUM_STALE_TIME_FOR_REACTIVENESS","deltaOrderPreConditionsQueryKey","deltaContract","readContractsQueryKey","useEnsureDeltaOrderPreConditions","queryClient","useQueryClient","queryOptions","readContractsQueryOptions","wagmiConfig","ensureQueryData","ensureFn"],"mappings":"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"}
@@ -71,12 +71,14 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
71
71
  excludeAgents?: string[] | undefined;
72
72
  includeAgents?: string[] | undefined;
73
73
  userAddress?: string | undefined;
74
+ degenMode?: boolean | undefined;
74
75
  srcToken: string;
75
76
  destToken?: string | undefined;
76
77
  beneficiary?: string | undefined;
77
78
  srcDecimals: number;
78
79
  destDecimals?: number | undefined;
79
80
  partnerFeeBps?: number | undefined;
81
+ maxImpact?: number | undefined;
80
82
  includeBridges?: string[] | undefined;
81
83
  excludeBridges?: string[] | undefined;
82
84
  allowBridgeAndSwap?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
@@ -194,14 +194,16 @@ function useDeltaPriceQueryKey({
194
194
  includeBridges: priceParams.includeBridges,
195
195
  excludeBridges: priceParams.excludeBridges,
196
196
  allowBridgeAndSwap: priceParams.allowBridgeAndSwap,
197
- destChainId
197
+ destChainId,
198
+ maxImpact: priceParams.maxImpact,
199
+ degenMode: priceParams.degenMode
198
200
  };
199
201
  const queryKey = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
200
202
  return {
201
203
  queryKey,
202
204
  sanitizedPriceParams
203
205
  };
204
- }, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, chainId, debouncedAmount, destChainId]);
206
+ }, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.includeBridges, priceParams.excludeBridges, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, priceParams.maxImpact, priceParams.degenMode, chainId, debouncedAmount, destChainId]);
205
207
  }
206
208
 
207
209
  export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useSubscribeToDeltaPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastDeltaPriceQuery","getQueryCache","find","exact","type","getLastDeltaPrice","state","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n priceParams.destDecimals !== undefined &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n includeBridges: priceParams.includeBridges,\n excludeBridges: priceParams.excludeBridges,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n maxImpact: priceParams.maxImpact,\n degenMode: priceParams.degenMode,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.includeBridges,\n priceParams.excludeBridges,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n priceParams.maxImpact,\n priceParams.degenMode,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","undefined","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useSubscribeToDeltaPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastDeltaPriceQuery","getQueryCache","find","exact","type","getLastDeltaPrice","state","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","partnerFeeBps","side","includeAgents","excludeAgents","includeBridges","excludeBridges","allowBridgeAndSwap","maxImpact","degenMode"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isMarketPriceImpactError(error: unknown): boolean;
2
+ export declare function isMarketBadUsdPriceError(error: unknown): boolean;
3
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"names":[],"mappings":"AAOA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE;AAKD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE"}
@@ -0,0 +1,13 @@
1
+ import axios from 'axios';
2
+
3
+ function isMarketPriceImpactError(error) {
4
+ if (!axios.isAxiosError(error)) return false;
5
+ return error.message === "ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT";
6
+ }
7
+ function isMarketBadUsdPriceError(error) {
8
+ if (!axios.isAxiosError(error)) return false;
9
+ return error.message === "Bad USD price";
10
+ }
11
+
12
+ export { isMarketBadUsdPriceError, isMarketPriceImpactError };
13
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/errors.ts"],"sourcesContent":["import axios from \"axios\";\n\n// {\n// \"error\": \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\",\n// \"value\": \"97.81%\",\n// \"priceRoute\": { ... }\n// }\nexport function isMarketPriceImpactError(error: unknown): boolean {\n if (!axios.isAxiosError(error)) return false;\n return error.message === \"ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT\"; // e.error returned as e.message in SDK\n}\n\n// {\n// \"error\": \"Bad USD price\",\n// }\nexport function isMarketBadUsdPriceError(error: unknown): boolean {\n if (!axios.isAxiosError(error)) return false;\n return error.message === \"Bad USD price\"; // e.error returned as e.message in SDK\n}\n"],"names":["isMarketPriceImpactError","error","axios","isAxiosError","message","isMarketBadUsdPriceError"],"mappings":";;AAOO,SAASA,yBAAyBC,KAAAA,EAAyB;AAChE,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,GAAG,OAAO,KAAA;AACvC,EAAA,OAAOA,MAAMG,OAAAA,KAAY,wCAAA;AAC3B;AAKO,SAASC,yBAAyBJ,KAAAA,EAAyB;AAChE,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,GAAG,OAAO,KAAA;AACvC,EAAA,OAAOA,MAAMG,OAAAA,KAAY,eAAA;AAC3B;;;;"}
@@ -65,6 +65,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
65
65
  destTokenTransferFee: string | undefined;
66
66
  srcTokenDexTransferFee: string | undefined;
67
67
  destTokenDexTransferFee: string | undefined;
68
+ degenMode: boolean | undefined;
68
69
  };
69
70
  };
70
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ExD"}
1
+ {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
@@ -186,7 +186,8 @@ function useMarketPriceQueryKey({
186
186
  srcTokenTransferFee: priceParams.srcTokenTransferFee,
187
187
  destTokenTransferFee: priceParams.destTokenTransferFee,
188
188
  srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,
189
- destTokenDexTransferFee: priceParams.destTokenDexTransferFee
189
+ destTokenDexTransferFee: priceParams.destTokenDexTransferFee,
190
+ degenMode: priceParams.degenMode
190
191
  }
191
192
  };
192
193
  const queryKey = [MarketPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
@@ -194,7 +195,7 @@ function useMarketPriceQueryKey({
194
195
  queryKey,
195
196
  sanitizedPriceParams
196
197
  };
197
- }, [chainId, debouncedAmount, priceParams.destDecimals, priceParams.destToken, priceParams.destTokenDexTransferFee, priceParams.destTokenTransferFee, priceParams.excludeContractMethods, priceParams.excludeContractMethodsWithoutFeeModel, priceParams.excludeDEXS, priceParams.excludePools, priceParams.excludeRFQ, priceParams.ignoreBadUsdPrice, priceParams.includeContractMethods, priceParams.includeDEXS, priceParams.maxImpact, priceParams.maxUSDImpact, priceParams.otherExchangePrices, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.srcTokenDexTransferFee, priceParams.srcTokenTransferFee, priceParams.userAddress]);
198
+ }, [chainId, debouncedAmount, priceParams.destDecimals, priceParams.destToken, priceParams.destTokenDexTransferFee, priceParams.destTokenTransferFee, priceParams.excludeContractMethods, priceParams.excludeContractMethodsWithoutFeeModel, priceParams.excludeDEXS, priceParams.excludePools, priceParams.excludeRFQ, priceParams.ignoreBadUsdPrice, priceParams.includeContractMethods, priceParams.includeDEXS, priceParams.maxImpact, priceParams.maxUSDImpact, priceParams.otherExchangePrices, priceParams.partner, priceParams.partnerFeeBps, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.srcTokenDexTransferFee, priceParams.srcTokenTransferFee, priceParams.userAddress, priceParams.degenMode]);
198
199
  }
199
200
 
200
201
  export { MarketPriceQueryKeyPrefix, getLastMarketPrice, isDataMarketPrice, useMarketPriceQuery, useMarketPriceQueryKey, useSubscribeToMarketPrice };
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n ]);\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getRate","t5","queryFn","result","useQuery","t6","destToken","Number","amount","useSubscribeToMarketPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastMarketPrice","queryCache","getQueryCache","find","exact","type","state","isDataMarketPrice","debouncedAmount","useDebouncedValue","wait","useMemo","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getRate","t5","queryFn","result","useQuery","t6","destToken","Number","amount","useSubscribeToMarketPrice","queryClient","useQueryClient","onData","onError","observer","QueryObserver","subscribe","error","data","getLastMarketPrice","queryCache","getQueryCache","find","exact","type","state","isDataMarketPrice","debouncedAmount","useDebouncedValue","wait","useMemo","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { MarkOptional, MarkRequired } from 'ts-essentials';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
4
  import { TradeMode } from '../../../core/state/tradeModeAtom';
5
5
  import { Address } from 'viem';
6
- export type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices" | "partnerFeeBps">, "destToken">, "srcDecimals" | "side">;
6
+ export type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices" | "partnerFeeBps" | "maxImpact" | "degenMode">, "destToken">, "srcDecimals" | "side">;
7
7
  export declare function usePricesParams(tradeMode: TradeMode): {
8
8
  priceParams: FetchPriceParams;
9
9
  isCrossChain: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,CAClB,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAyDA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}
1
+ {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,WAAW,CACd,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAkEA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}