@velora-dex/widget 0.4.2-dev.3 → 0.4.2

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 (127) hide show
  1. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/Drawers.js +23 -18
  3. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  4. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +4 -6
  5. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  6. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +147 -133
  7. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
  9. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  10. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +55 -138
  11. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  12. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  13. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  14. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +105 -93
  15. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  16. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +1 -1
  17. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  18. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +60 -89
  19. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  20. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  21. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +1 -0
  22. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  23. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  24. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +5 -3
  25. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  26. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  27. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  28. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +28 -57
  29. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  30. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +4 -1
  31. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -1
  33. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  34. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +2 -0
  35. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  36. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +236 -3
  37. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  38. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  39. package/dist/core/LimitOrderButton.js +40 -18
  40. package/dist/core/LimitOrderButton.js.map +1 -1
  41. package/dist/core/index.d.ts.map +1 -1
  42. package/dist/core/index.js +46 -24
  43. package/dist/core/index.js.map +1 -1
  44. package/dist/events/types/cancel.d.ts +1 -7
  45. package/dist/events/types/cancel.d.ts.map +1 -1
  46. package/dist/events/types/index.d.ts.map +1 -1
  47. package/dist/hooks/otc/mutations/useFillOrder.js +1 -0
  48. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  49. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +7 -1
  50. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  51. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +85 -13
  52. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  53. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +1 -13
  54. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  55. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +1 -80
  56. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  57. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  58. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +2 -1
  59. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  60. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +2 -3
  61. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  62. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +2 -8
  63. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  64. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  65. package/dist/hooks/swap/prices/useSwapPrices.js +113 -98
  66. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  67. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -1
  68. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  69. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +20 -1
  70. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  71. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +4 -8
  72. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  73. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +69 -56
  74. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  75. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -2
  76. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  77. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +34 -38
  78. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  79. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -6
  80. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  81. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +71 -56
  82. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  83. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  84. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +33 -23
  85. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  86. package/dist/hooks/useSDK.d.ts +3 -3
  87. package/dist/hooks/useSDK.d.ts.map +1 -1
  88. package/dist/hooks/useSDK.js +3 -3
  89. package/dist/hooks/useSDK.js.map +1 -1
  90. package/dist/lib/web3/privy/config.js +1 -1
  91. package/dist/lib/web3/wagmi/config.js +1 -1
  92. package/dist/styles.css +1 -4
  93. package/dist/transactions/types.d.ts +1 -9
  94. package/dist/transactions/types.d.ts.map +1 -1
  95. package/package.json +2 -2
  96. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +0 -7
  97. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +0 -1
  98. package/dist/components/widget/Button/CancelButton/CancelButton.js +0 -102
  99. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +0 -1
  100. package/dist/components/widget/Button/CancelButton/constants.d.ts +0 -2
  101. package/dist/components/widget/Button/CancelButton/constants.d.ts.map +0 -1
  102. package/dist/components/widget/Button/CancelButton/constants.js +0 -4
  103. package/dist/components/widget/Button/CancelButton/constants.js.map +0 -1
  104. package/dist/components/widget/Button/DismissButton.d.ts +0 -4
  105. package/dist/components/widget/Button/DismissButton.d.ts.map +0 -1
  106. package/dist/components/widget/Button/DismissButton.js +0 -29
  107. package/dist/components/widget/Button/DismissButton.js.map +0 -1
  108. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +0 -11
  109. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +0 -1
  110. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +0 -87
  111. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +0 -1
  112. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +0 -31
  113. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
  114. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +0 -246
  115. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +0 -1
  116. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +0 -44
  117. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
  118. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +0 -268
  119. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +0 -1
  120. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +0 -108
  121. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +0 -1
  122. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +0 -168
  123. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +0 -1
  124. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +0 -69
  125. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +0 -1
  126. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +0 -192
  127. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +0 -1
@@ -1,108 +0,0 @@
1
- import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
2
- import { Address } from 'viem';
3
- type UseIsDeltaNonceUsedInput = {
4
- chainId?: SupportedChainId;
5
- nonce?: string;
6
- query?: {
7
- enabled?: boolean;
8
- };
9
- };
10
- export declare function useIsDeltaNonceUsed({ chainId, nonce: _nonce, query, }: UseIsDeltaNonceUsedInput): import('wagmi').UseReadContractReturnType<readonly [{
11
- readonly type: "function";
12
- readonly name: "isNonceUsed";
13
- readonly inputs: readonly [{
14
- readonly name: "owner";
15
- readonly type: "address";
16
- readonly internalType: "address";
17
- }, {
18
- readonly name: "nonce";
19
- readonly type: "uint256";
20
- readonly internalType: "uint256";
21
- }];
22
- readonly outputs: readonly [{
23
- readonly name: "used";
24
- readonly type: "bool";
25
- readonly internalType: "bool";
26
- }];
27
- readonly stateMutability: "view";
28
- }], "isNonceUsed", [`0x${string}`, bigint], boolean>;
29
- export declare function isDeltaNonceUsedQueryKey({ account, deltaContract, nonce: _nonce, }: {
30
- account?: Address;
31
- deltaContract?: string;
32
- nonce?: string;
33
- }): readonly ["readContract", Omit<import('@wagmi/core/internal').ExactPartial<{
34
- account?: `0x${string}` | import('viem').Account | undefined;
35
- blockNumber?: bigint | undefined | undefined;
36
- factory?: `0x${string}` | undefined;
37
- factoryData?: `0x${string}` | undefined;
38
- stateOverride?: import('viem').StateOverride | undefined;
39
- blockTag?: import('viem').BlockTag | undefined;
40
- } & {
41
- abi: readonly [{
42
- readonly type: "function";
43
- readonly name: "isNonceUsed";
44
- readonly inputs: readonly [{
45
- readonly name: "owner";
46
- readonly type: "address";
47
- readonly internalType: "address";
48
- }, {
49
- readonly name: "nonce";
50
- readonly type: "uint256";
51
- readonly internalType: "uint256";
52
- }];
53
- readonly outputs: readonly [{
54
- readonly name: "used";
55
- readonly type: "bool";
56
- readonly internalType: "bool";
57
- }];
58
- readonly stateMutability: "view";
59
- }];
60
- functionName: "isNonceUsed";
61
- args?: readonly [`0x${string}`, bigint] | undefined;
62
- } & {
63
- args: readonly [`0x${string}`, bigint];
64
- } & {
65
- address: import('viem').Address;
66
- } & import('@wagmi/core/internal').ChainIdParameter<import('wagmi').Config, number>> & import('@wagmi/core/internal').ScopeKeyParameter, "abi"> | Omit<import('@wagmi/core/internal').ExactPartial<{
67
- account?: `0x${string}` | import('viem').Account | undefined;
68
- blockNumber?: bigint | undefined | undefined;
69
- factory?: `0x${string}` | undefined;
70
- factoryData?: `0x${string}` | undefined;
71
- stateOverride?: import('viem').StateOverride | undefined;
72
- blockTag?: import('viem').BlockTag | undefined;
73
- } & {
74
- abi: readonly [{
75
- readonly type: "function";
76
- readonly name: "isNonceUsed";
77
- readonly inputs: readonly [{
78
- readonly name: "owner";
79
- readonly type: "address";
80
- readonly internalType: "address";
81
- }, {
82
- readonly name: "nonce";
83
- readonly type: "uint256";
84
- readonly internalType: "uint256";
85
- }];
86
- readonly outputs: readonly [{
87
- readonly name: "used";
88
- readonly type: "bool";
89
- readonly internalType: "bool";
90
- }];
91
- readonly stateMutability: "view";
92
- }];
93
- functionName: "isNonceUsed";
94
- args?: readonly [`0x${string}`, bigint] | undefined;
95
- } & {
96
- args: readonly [`0x${string}`, bigint];
97
- } & {
98
- address?: undefined;
99
- code: import('viem').Hex;
100
- } & import('@wagmi/core/internal').ChainIdParameter<import('wagmi').Config, number>> & import('@wagmi/core/internal').ScopeKeyParameter, "abi">];
101
- type UseEnsureIsDeltaNonceUsedFnInput = {
102
- nonce: string;
103
- account: Address;
104
- DeltaContract: Address;
105
- };
106
- export declare function useEnsureIsDeltaNonceUsed(): (data: UseEnsureIsDeltaNonceUsedFnInput) => Promise<boolean>;
107
- export {};
108
- //# sourceMappingURL=useIsDeltaNonceUsed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsDeltaNonceUsed.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAqB/C,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,KAAK,EAAE,MAAM,EACb,KAAK,GACN,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;qDAiC1B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,aAAa,EACb,KAAK,EAAE,MAAM,GACd,EAAE;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAWA;AAED,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,CAC3C,IAAI,EAAE,gCAAgC,KACnC,OAAO,CAAC,OAAO,CAAC,CAwBpB"}
@@ -1,168 +0,0 @@
1
- import { d as distExports } from '../../../../../_virtual/index.js';
2
- import { useGetContracts } from '../../../../sdk/useGetContracts.js';
3
- import { wagmiConfig } from '../../../../../lib/web3/wagmi/config.js';
4
- import { useQueryClient } from '@tanstack/react-query';
5
- import { isAddress } from 'viem';
6
- import { useAccount, useReadContract } from 'wagmi';
7
- import { readContractQueryOptions, hashFn, readContractQueryKey } from 'wagmi/query';
8
-
9
- const NonceManagementModuleMinAbi = [{
10
- type: "function",
11
- name: "isNonceUsed",
12
- inputs: [{
13
- name: "owner",
14
- type: "address",
15
- internalType: "address"
16
- }, {
17
- name: "nonce",
18
- type: "uint256",
19
- internalType: "uint256"
20
- }],
21
- outputs: [{
22
- name: "used",
23
- type: "bool",
24
- internalType: "bool"
25
- }],
26
- stateMutability: "view"
27
- }];
28
- function useIsDeltaNonceUsed(t0) {
29
- const $ = distExports.c(14);
30
- const {
31
- chainId,
32
- nonce: _nonce,
33
- query
34
- } = t0;
35
- const {
36
- address: account
37
- } = useAccount();
38
- const {
39
- data: contracts
40
- } = useGetContracts();
41
- let t1;
42
- if ($[0] !== contracts) {
43
- t1 = contracts?.ParaswapDelta && isAddress(contracts.ParaswapDelta) ? contracts.ParaswapDelta : void 0;
44
- $[0] = contracts;
45
- $[1] = t1;
46
- } else {
47
- t1 = $[1];
48
- }
49
- const DeltaContract = t1;
50
- let t2;
51
- if ($[2] !== _nonce) {
52
- t2 = _nonce !== void 0 ? BigInt(_nonce) : void 0;
53
- $[2] = _nonce;
54
- $[3] = t2;
55
- } else {
56
- t2 = $[3];
57
- }
58
- const nonce = t2;
59
- const t3 = DeltaContract;
60
- const t4 = account;
61
- const t5 = nonce;
62
- let t6;
63
- if ($[4] !== t4 || $[5] !== t5) {
64
- t6 = [t4, t5];
65
- $[4] = t4;
66
- $[5] = t5;
67
- $[6] = t6;
68
- } else {
69
- t6 = $[6];
70
- }
71
- const t7 = account && DeltaContract && typeof nonce === "bigint" && (query?.enabled ?? true);
72
- let t8;
73
- if ($[7] !== t7) {
74
- t8 = {
75
- enabled: t7,
76
- refetchInterval: _temp,
77
- staleTime: _temp2
78
- };
79
- $[7] = t7;
80
- $[8] = t8;
81
- } else {
82
- t8 = $[8];
83
- }
84
- let t9;
85
- if ($[9] !== chainId || $[10] !== t3 || $[11] !== t6 || $[12] !== t8) {
86
- t9 = {
87
- chainId,
88
- abi: NonceManagementModuleMinAbi,
89
- address: t3,
90
- functionName: "isNonceUsed",
91
- args: t6,
92
- query: t8
93
- };
94
- $[9] = chainId;
95
- $[10] = t3;
96
- $[11] = t6;
97
- $[12] = t8;
98
- $[13] = t9;
99
- } else {
100
- t9 = $[13];
101
- }
102
- return useReadContract(t9);
103
- }
104
- function _temp2(t0) {
105
- const {
106
- state: state_0
107
- } = t0;
108
- if (state_0.data === true) {
109
- return Infinity;
110
- }
111
- return 5e3;
112
- }
113
- function _temp(t0) {
114
- const {
115
- state
116
- } = t0;
117
- if (state.data === true) {
118
- return false;
119
- }
120
- }
121
- function isDeltaNonceUsedQueryKey({
122
- account,
123
- deltaContract,
124
- nonce: _nonce
125
- }) {
126
- const DeltaContract = deltaContract && isAddress(deltaContract) ? deltaContract : void 0;
127
- const nonce = _nonce ? BigInt(_nonce) : void 0;
128
- return readContractQueryKey({
129
- abi: NonceManagementModuleMinAbi,
130
- address: account,
131
- functionName: "isNonceUsed",
132
- args: [DeltaContract, nonce]
133
- });
134
- }
135
- function useEnsureIsDeltaNonceUsed() {
136
- const $ = distExports.c(2);
137
- const queryClient = useQueryClient();
138
- let t0;
139
- if ($[0] !== queryClient) {
140
- t0 = async (t1) => {
141
- const {
142
- account,
143
- nonce,
144
- DeltaContract
145
- } = t1;
146
- const queryOptions = readContractQueryOptions(wagmiConfig, {
147
- abi: NonceManagementModuleMinAbi,
148
- address: DeltaContract,
149
- functionName: "isNonceUsed",
150
- args: [account, BigInt(nonce)]
151
- });
152
- const isNonceUsed = await queryClient.ensureQueryData({
153
- ...queryOptions,
154
- queryKeyHashFn: hashFn
155
- });
156
- return isNonceUsed;
157
- };
158
- $[0] = queryClient;
159
- $[1] = t0;
160
- } else {
161
- t0 = $[1];
162
- }
163
- const ensureIsDeltaNonceUsed = t0;
164
- return ensureIsDeltaNonceUsed;
165
- }
166
-
167
- export { isDeltaNonceUsedQueryKey, useEnsureIsDeltaNonceUsed, useIsDeltaNonceUsed };
168
- //# sourceMappingURL=useIsDeltaNonceUsed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsDeltaNonceUsed.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isAddress, type Address } from \"viem\";\nimport { useAccount, useReadContract } from \"wagmi\";\nimport {\n hashFn,\n readContractQueryKey,\n readContractQueryOptions,\n} 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\ntype UseIsDeltaNonceUsedInput = {\n chainId?: SupportedChainId;\n nonce?: string;\n query?: {\n enabled?: boolean;\n };\n};\n\nexport function useIsDeltaNonceUsed({\n chainId,\n nonce: _nonce,\n query,\n}: UseIsDeltaNonceUsedInput) {\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 return useReadContract({\n chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract as Address,\n functionName: \"isNonceUsed\",\n args: [account as Address, nonce as bigint],\n query: {\n enabled:\n account &&\n DeltaContract &&\n typeof nonce === \"bigint\" &&\n (query?.enabled ?? true),\n refetchInterval: ({ state }) => {\n // if the nonce is used, it won't change anymore\n if (state.data === true) return false;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore\n if (state.data === true) return Infinity;\n return 5_000;\n },\n },\n });\n}\n\nexport function isDeltaNonceUsedQueryKey({\n account,\n deltaContract,\n nonce: _nonce,\n}: {\n account?: Address;\n deltaContract?: string;\n nonce?: string;\n}) {\n const DeltaContract =\n deltaContract && isAddress(deltaContract) ? deltaContract : undefined;\n const nonce = _nonce ? BigInt(_nonce) : undefined;\n\n return readContractQueryKey({\n abi: NonceManagementModuleMinAbi,\n address: account as Address,\n functionName: \"isNonceUsed\",\n args: [DeltaContract as Address, nonce as bigint],\n });\n}\n\ntype UseEnsureIsDeltaNonceUsedFnInput = {\n nonce: string;\n account: Address;\n DeltaContract: Address;\n};\n\nexport function useEnsureIsDeltaNonceUsed(): (\n data: UseEnsureIsDeltaNonceUsedFnInput\n) => Promise<boolean> {\n const queryClient = useQueryClient();\n\n const ensureIsDeltaNonceUsed = async ({\n account,\n nonce,\n DeltaContract,\n }: UseEnsureIsDeltaNonceUsedFnInput) => {\n const queryOptions = readContractQueryOptions(wagmiConfig, {\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract,\n functionName: \"isNonceUsed\",\n args: [account, BigInt(nonce)],\n });\n\n const isNonceUsed = await queryClient.ensureQueryData({\n ...queryOptions,\n queryKeyHashFn: hashFn, // for bigint support\n });\n\n return isNonceUsed;\n };\n\n return ensureIsDeltaNonceUsed;\n}\n"],"names":["NonceManagementModuleMinAbi","type","name","inputs","internalType","outputs","stateMutability","useIsDeltaNonceUsed","t0","$","_c","chainId","nonce","_nonce","query","address","account","useAccount","data","contracts","useGetContracts","t1","ParaswapDelta","isAddress","undefined","DeltaContract","t2","BigInt","t3","t4","t5","t6","t7","enabled","t8","refetchInterval","_temp","staleTime","_temp2","t9","abi","functionName","args","useReadContract","state","state_0","Infinity","isDeltaNonceUsedQueryKey","deltaContract","readContractQueryKey","useEnsureIsDeltaNonceUsed","queryClient","useQueryClient","queryOptions","readContractQueryOptions","wagmiConfig","isNonceUsed","ensureQueryData","queryKeyHashFn","hashFn","ensureIsDeltaNonceUsed"],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- import { DeltaOrderToPost } from '../../prices/delta/mutations/useCreatePreSignableDeltaOrder';
2
- import { Address, TransactionReceipt } from 'viem';
3
- import { SubmittedDeltaOrderFromAPI } from '../../prices/delta/queries/useDeltaOrders';
4
- import { SupportedChainId } from '../../../../lib/web3/wagmi/types';
5
- import { LoggerInstance } from '../../../../lib/utils/logger';
6
- import { DeltaOrderApiResponse, MinViemClient } from '@velora-dex/sdk';
7
- import { CreateDeltaOrderInput } from '../../prices/delta/mutations/useCreateDeltaOrder';
8
- import { TxSentObject } from '../../../../lib/utils/transactionHandlers';
9
- export type DeltaOrderDepositResult = {
10
- depositPrep: {
11
- order?: DeltaOrderToPost;
12
- isCreatingOrder: boolean;
13
- isOrderHashReady: boolean;
14
- isPending: boolean;
15
- isError: boolean;
16
- isSuccess: boolean;
17
- error: Error | null;
18
- };
19
- depositTx: {
20
- txHash?: Address;
21
- receipt?: TransactionReceipt;
22
- isConfirmingTX: boolean;
23
- isConfirmingTxError: boolean;
24
- isTxSent: boolean;
25
- isTxPending: boolean;
26
- isTxMined: boolean;
27
- isTxAwaitingError: boolean;
28
- isPending: boolean;
29
- isSuccess: boolean;
30
- isError: boolean;
31
- error: Error | null;
32
- };
33
- postingOrder: {
34
- order?: SubmittedDeltaOrderFromAPI;
35
- isPostingOrder: boolean;
36
- isOrderSent: boolean;
37
- isPending: boolean;
38
- isError: boolean;
39
- isSuccess: boolean;
40
- error: Error | null;
41
- };
42
- order?: SubmittedDeltaOrderFromAPI;
43
- isCreatingOrder: boolean;
44
- isOrderSent: boolean;
45
- isPending: boolean;
46
- isError: boolean;
47
- isSuccess: boolean;
48
- error: Error | null;
49
- };
50
- type UseDepositAndSubmitDeltaOrderInput = {
51
- chainId: SupportedChainId;
52
- account?: Address;
53
- logger: LoggerInstance;
54
- viemClient?: MinViemClient;
55
- };
56
- type UseDepositAndSubmitDeltaOrderResult = {
57
- deltaOrderDeposit: DeltaOrderDepositResult;
58
- depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;
59
- reset: () => void;
60
- };
61
- export declare function useDepositAndSubmitDeltaOrder({ chainId, account, logger, viemClient, }: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult;
62
- type DepositAndSubmitDeltaOrderInput = {
63
- createDeltaOrderInput: CreateDeltaOrderInput;
64
- depositAmount: string;
65
- onTxSent?: (txSent: TxSentObject) => void;
66
- };
67
- type DepositAndSubmitDeltaOrderFunc = (input: DepositAndSubmitDeltaOrderInput) => Promise<DeltaOrderApiResponse>;
68
- export {};
69
- //# sourceMappingURL=useDepositAndSubmitDeltaOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDepositAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
@@ -1,192 +0,0 @@
1
- import { useFetchOnlySDK } from '../../../useSDK.js';
2
- import { useDepositPreSignDeltaOrder } from '../../prices/delta/mutations/useCreatePreSignableDeltaOrder.js';
3
- import { isAddress } from 'viem';
4
- import { deltaOrdersQueryKey } from '../../prices/delta/queries/useDeltaOrders.js';
5
- import { usePostDeltaOrder } from '../../prices/delta/mutations/usePostDeltaOrder.js';
6
- import { useQueryClient } from '@tanstack/react-query';
7
- import { assert } from 'ts-essentials';
8
- import { useEnsureContractsQuery } from '../../prices/market/queries/useSpenderAndContracts.js';
9
- import { useSendArbitraryTx } from '../../../txs/mutations/useSendTx.js';
10
- import { useAwaitTx, useEnsureTxReceipt } from '../../../txs/queries/useAwaitTx.js';
11
- import { isETHaddress } from '../../../../tokens/utils/eth.js';
12
-
13
- function useDepositAndSubmitDeltaOrder({
14
- chainId,
15
- account,
16
- logger,
17
- viemClient
18
- }) {
19
- const queryClient = useQueryClient();
20
- const depositOrderMut = useDepositPreSignDeltaOrder({
21
- chainId,
22
- client: viemClient
23
- });
24
- const {
25
- sdk: fetchOnlySDK
26
- } = useFetchOnlySDK({
27
- chainId
28
- });
29
- const depositPrep = {
30
- isCreatingOrder: depositOrderMut.isPending,
31
- isOrderHashReady: depositOrderMut.isSuccess,
32
- order: depositOrderMut.data?.orderToPost,
33
- isPending: depositOrderMut.isPending,
34
- isError: depositOrderMut.isError,
35
- isSuccess: depositOrderMut.isSuccess,
36
- error: depositOrderMut.error
37
- };
38
- const sendDepositTxMut = useSendArbitraryTx();
39
- const awaitDepositTx = useAwaitTx({
40
- hash: sendDepositTxMut.txHash,
41
- chainId
42
- });
43
- const depositTx = {
44
- txHash: sendDepositTxMut.txHash,
45
- receipt: awaitDepositTx.data,
46
- /* tx sending */
47
- isConfirmingTX: sendDepositTxMut.isPending,
48
- isConfirmingTxError: sendDepositTxMut.isError,
49
- isTxSent: sendDepositTxMut.isSuccess,
50
- /* tx awaiting */
51
- isTxPending: awaitDepositTx.isLoading,
52
- isTxMined: awaitDepositTx.isSuccess,
53
- isTxAwaitingError: awaitDepositTx.isError,
54
- /* combined */
55
- isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,
56
- isSuccess: awaitDepositTx.isSuccess,
57
- // final success
58
- isError: sendDepositTxMut.isError || awaitDepositTx.isError,
59
- error: sendDepositTxMut.error || awaitDepositTx.error
60
- };
61
- const postOrderMut = usePostDeltaOrder({
62
- chainId,
63
- account,
64
- client: viemClient,
65
- mutationOptions: {
66
- onSuccess: (order) => {
67
- logger.log("[DepositAndSubmit] Create Delta Order success", order);
68
- queryClient.invalidateQueries({
69
- queryKey: deltaOrdersQueryKey({
70
- userAddress: order.user
71
- }),
72
- exact: false
73
- });
74
- },
75
- onError: (error) => {
76
- logger.error("[DepositAndSubmit] Create Delta Order error", error);
77
- }
78
- }
79
- });
80
- const deltaOrderPosting = {
81
- order: postOrderMut.data,
82
- isPostingOrder: postOrderMut.isPending,
83
- isOrderSent: postOrderMut.isSuccess,
84
- isPending: postOrderMut.isPending,
85
- isError: postOrderMut.isError,
86
- isSuccess: postOrderMut.isSuccess,
87
- error: postOrderMut.error
88
- };
89
- const deltaOrderDeposit = {
90
- order: postOrderMut.data,
91
- depositPrep,
92
- depositTx,
93
- postingOrder: deltaOrderPosting,
94
- isCreatingOrder: depositPrep.isCreatingOrder || depositTx.isPending || deltaOrderPosting.isPostingOrder,
95
- isOrderSent: deltaOrderPosting.isOrderSent,
96
- isPending: depositPrep.isPending || depositTx.isPending || deltaOrderPosting.isPending,
97
- isError: depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,
98
- isSuccess: deltaOrderPosting.isSuccess,
99
- error: depositPrep.error || depositTx.error || deltaOrderPosting.error
100
- };
101
- const ensureTxReceipt = useEnsureTxReceipt();
102
- const {
103
- ensureContractsLoaded
104
- } = useEnsureContractsQuery({
105
- chainId
106
- });
107
- const depositAndSubmitDeltaOrder = async ({
108
- depositAmount: _depositAmount,
109
- createDeltaOrderInput,
110
- onTxSent
111
- }) => {
112
- const depositAmount = BigInt(_depositAmount);
113
- assert(isETHaddress(createDeltaOrderInput.orderInput.srcToken), "srcToken must be ETH");
114
- assert(depositAmount > 0n, "depositAmount must be greater than 0");
115
- const {
116
- signal
117
- } = createDeltaOrderInput;
118
- const {
119
- ParaswapDelta: DeltaContract
120
- } = await ensureContractsLoaded({
121
- signal
122
- });
123
- assert(DeltaContract && isAddress(DeltaContract), `DeltaContract is not available on chain ${chainId}`);
124
- signal?.throwIfAborted();
125
- const {
126
- orderToPost,
127
- depositAndPreSignCalldata
128
- } = await depositOrderMut.mutateAsync(createDeltaOrderInput);
129
- signal?.throwIfAborted();
130
- let orderIsPosted = false;
131
- const sendUnsentOrderOnPageHide = () => {
132
- if (orderIsPosted) return;
133
- orderIsPosted = true;
134
- fetchOnlySDK?.postDeltaOrder(orderToPost);
135
- };
136
- window.addEventListener("pagehide", sendUnsentOrderOnPageHide, {
137
- once: true
138
- });
139
- try {
140
- const depositTxHash = await sendDepositTxMut.sendTransactionAsync({
141
- to: DeltaContract,
142
- from: account,
143
- data: depositAndPreSignCalldata,
144
- value: depositAmount
145
- });
146
- logger.log("[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:", depositTxHash);
147
- const depositTxReceiptPromise = ensureTxReceipt({
148
- hash: depositTxHash,
149
- chainId,
150
- onReplaced: (data) => {
151
- logger.log("[DepositAndSubmit] onReplaced:txHash", depositTxHash, data);
152
- }
153
- });
154
- if (onTxSent) {
155
- onTxSent({
156
- chainId,
157
- action: "depositNativeAndPreSign",
158
- receiptPromise: depositTxReceiptPromise,
159
- transactionHash: depositTxHash,
160
- transactionSpecificData: {
161
- action: "depositNativeAndPreSign",
162
- order: orderToPost,
163
- depositAmount
164
- }
165
- });
166
- }
167
- const depositTxReceipt = await depositTxReceiptPromise;
168
- logger.log("[DepositAndSubmit] depositNativeAndPreSign tx mined, receipt:", depositTxReceipt);
169
- const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);
170
- orderIsPosted = true;
171
- return orderFromAPI;
172
- } catch (error_0) {
173
- logger.error("[DepositAndSubmit] error", error_0);
174
- throw error_0;
175
- } finally {
176
- window.removeEventListener("pagehide", sendUnsentOrderOnPageHide);
177
- }
178
- };
179
- const reset = () => {
180
- depositOrderMut.reset();
181
- sendDepositTxMut.reset();
182
- postOrderMut.reset();
183
- };
184
- return {
185
- deltaOrderDeposit,
186
- depositAndSubmitDeltaOrder,
187
- reset
188
- };
189
- }
190
-
191
- export { useDepositAndSubmitDeltaOrder };
192
- //# sourceMappingURL=useDepositAndSubmitDeltaOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDepositAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"sourcesContent":["import { useFetchOnlySDK } from \"@/hooks/useSDK\";\nimport {\n useDepositPreSignDeltaOrder,\n type DeltaOrderToPost,\n} from \"../../prices/delta/mutations/useCreatePreSignableDeltaOrder\";\n\nimport { isAddress, type Address, type TransactionReceipt } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { DeltaOrderApiResponse, MinViemClient } from \"@velora-dex/sdk\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureContractsQuery } from \"../../prices/market/queries/useSpenderAndContracts\";\nimport { useSendArbitraryTx } from \"@/hooks/txs/mutations/useSendTx\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\n\nexport type DeltaOrderDepositResult = {\n depositPrep: {\n order?: DeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n depositTx: {\n txHash?: Address;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n };\n postingOrder: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UseDepositAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UseDepositAndSubmitDeltaOrderResult = {\n deltaOrderDeposit: DeltaOrderDepositResult;\n depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const depositOrderMut = useDepositPreSignDeltaOrder({\n chainId,\n client: viemClient,\n });\n\n const { sdk: fetchOnlySDK } = useFetchOnlySDK({\n chainId,\n });\n\n const depositPrep: DeltaOrderDepositResult[\"depositPrep\"] = {\n isCreatingOrder: depositOrderMut.isPending,\n isOrderHashReady: depositOrderMut.isSuccess,\n order: depositOrderMut.data?.orderToPost,\n isPending: depositOrderMut.isPending,\n isError: depositOrderMut.isError,\n isSuccess: depositOrderMut.isSuccess,\n error: depositOrderMut.error,\n };\n\n /* 1. submit depositNativeAndPreSign tx */\n const sendDepositTxMut = useSendArbitraryTx();\n\n /* 2. await depositNativeAndPreSign tx */\n const awaitDepositTx = useAwaitTx({\n hash: sendDepositTxMut.txHash,\n chainId,\n });\n\n const depositTx = {\n txHash: sendDepositTxMut.txHash,\n receipt: awaitDepositTx.data,\n /* tx sending */\n isConfirmingTX: sendDepositTxMut.isPending,\n isConfirmingTxError: sendDepositTxMut.isError,\n isTxSent: sendDepositTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: awaitDepositTx.isLoading,\n isTxMined: awaitDepositTx.isSuccess,\n isTxAwaitingError: awaitDepositTx.isError,\n /* combined */\n isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,\n isSuccess: awaitDepositTx.isSuccess, // final success\n isError: sendDepositTxMut.isError || awaitDepositTx.isError,\n error: sendDepositTxMut.error || awaitDepositTx.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"[DepositAndSubmit] Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"[DepositAndSubmit] Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderDepositResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderDeposit: DeltaOrderDepositResult = {\n order: postOrderMut.data,\n depositPrep: depositPrep,\n depositTx,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n depositPrep.isCreatingOrder ||\n depositTx.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n depositPrep.isPending ||\n depositTx.isPending ||\n deltaOrderPosting.isPending,\n isError:\n depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error: depositPrep.error || depositTx.error || deltaOrderPosting.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const { ensureContractsLoaded } = useEnsureContractsQuery({ chainId });\n\n const depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc = async ({\n depositAmount: _depositAmount,\n createDeltaOrderInput,\n onTxSent,\n }) => {\n const depositAmount = BigInt(_depositAmount);\n\n assert(\n isETHaddress(createDeltaOrderInput.orderInput.srcToken),\n \"srcToken must be ETH\"\n );\n assert(depositAmount > 0n, \"depositAmount must be greater than 0\");\n\n // prepare Order for depositing + pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.depositNativeAndPreSign(orderHash) tx calldata\n\n const { signal } = createDeltaOrderInput;\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { orderToPost, depositAndPreSignCalldata } =\n await depositOrderMut.mutateAsync(createDeltaOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n let orderIsPosted = false;\n\n const sendUnsentOrderOnPageHide = () => {\n if (orderIsPosted) return;\n orderIsPosted = true;\n fetchOnlySDK?.postDeltaOrder(orderToPost);\n };\n\n // subscribe to `pagehide` event\n // in that case POST the Order just in case the page is never reloaded or localStorage survives until then.\n window.addEventListener(\"pagehide\", sendUnsentOrderOnPageHide, {\n once: true,\n });\n\n try {\n // 4. send the depositNativeAndPreSign tx\n const depositTxHash = await sendDepositTxMut.sendTransactionAsync({\n to: DeltaContract,\n from: account,\n data: depositAndPreSignCalldata,\n value: depositAmount,\n });\n\n logger.log(\n \"[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:\",\n depositTxHash\n );\n\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\n \"[DepositAndSubmit] onReplaced:txHash\",\n depositTxHash,\n data\n );\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"depositNativeAndPreSign\",\n receiptPromise: depositTxReceiptPromise,\n transactionHash: depositTxHash,\n transactionSpecificData: {\n action: \"depositNativeAndPreSign\",\n order: orderToPost,\n depositAmount,\n },\n });\n }\n\n // 5. wait for the depositNativeAndPreSign tx to be mined\n const depositTxReceipt = await depositTxReceiptPromise;\n\n logger.log(\n \"[DepositAndSubmit] depositNativeAndPreSign tx mined, receipt:\",\n depositTxReceipt\n );\n\n // 6. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n orderIsPosted = true;\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"[DepositAndSubmit] error\", error);\n throw error;\n } finally {\n window.removeEventListener(\"pagehide\", sendUnsentOrderOnPageHide);\n }\n };\n\n const reset = () => {\n depositOrderMut.reset();\n sendDepositTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderDeposit,\n depositAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype DepositAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateDeltaOrderInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype DepositAndSubmitDeltaOrderFunc = (\n input: DepositAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n"],"names":["useDepositAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","depositOrderMut","useDepositPreSignDeltaOrder","client","sdk","fetchOnlySDK","useFetchOnlySDK","depositPrep","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","orderToPost","isError","error","sendDepositTxMut","useSendArbitraryTx","awaitDepositTx","useAwaitTx","hash","txHash","depositTx","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isLoading","isTxMined","isTxAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","onSuccess","log","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","onError","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderDeposit","postingOrder","ensureTxReceipt","useEnsureTxReceipt","ensureContractsLoaded","useEnsureContractsQuery","depositAndSubmitDeltaOrder","depositAmount","_depositAmount","createDeltaOrderInput","onTxSent","BigInt","assert","isETHaddress","orderInput","srcToken","signal","ParaswapDelta","DeltaContract","isAddress","throwIfAborted","depositAndPreSignCalldata","mutateAsync","orderIsPosted","sendUnsentOrderOnPageHide","postDeltaOrder","window","addEventListener","once","depositTxHash","sendTransactionAsync","to","from","value","depositTxReceiptPromise","onReplaced","action","receiptPromise","transactionHash","transactionSpecificData","depositTxReceipt","orderFromAPI","removeEventListener","reset"],"mappings":"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"}