@velora-dex/widget 0.4.5 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +1 -17
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.d.ts.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +18 -20
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +23 -18
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.d.ts +4 -0
- package/dist/components/widget/TokenBadge/TokenLink.d.ts.map +1 -0
- package/dist/components/widget/TokenBadge/TokenLink.js +65 -0
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -0
- package/dist/components/widget/TokenBadge/types.d.ts +1 -0
- package/dist/components/widget/TokenBadge/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js +7 -2
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +72 -67
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +8 -2
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/state/chainToAtom.d.ts +4 -4
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.d.ts +2 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/enabledChainsAtom.d.ts +9 -9
- package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
- package/dist/hooks/gas/config.d.ts.map +1 -1
- package/dist/hooks/gas/config.js +1 -5
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.d.ts.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js +28 -12
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +3 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +3 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/lib/constants/delta.d.ts +1 -1
- package/dist/lib/constants/delta.d.ts.map +1 -1
- package/dist/lib/constants/delta.js +1 -2
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/constants/weth.d.ts.map +1 -1
- package/dist/lib/constants/weth.js +9 -16
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/web3/wagmi/config.d.ts +1 -35
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +0 -34
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +2 -4
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts +1 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.d.ts +0 -34
- package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/transports.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +1 -2
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/tokens/constants.d.ts.map +1 -1
- package/dist/tokens/constants.js +1 -2
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +1 -22
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +0 -15
- package/dist/tokens/lists/lists.json.js +0 -17
- package/dist/tokens/lists/lists.json.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +0 -4
- package/dist/tokens/lists/state/tokenListsStateAtom.d.ts.map +1 -1
- package/dist/tokens/lists/state/types.d.ts +1 -2
- package/dist/tokens/lists/state/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/assets/wS.svg.js +0 -12
- package/dist/assets/wS.svg.js.map +0 -1
- package/dist/assets/wS.svg2.js +0 -4
- package/dist/assets/wS.svg2.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsDeltaNonceUsed.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsDeltaNonceUsed.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"names":[],"mappings":"AAGA,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;;;;;;;;;;;;;;;;;;qDAkC1B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,OAAO,EACP,aAAa,EACb,KAAK,EAAE,MAAM,GACd,EAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAYA;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,5 +1,6 @@
|
|
|
1
1
|
import { d as distExports } from '../../../../../_virtual/index.js';
|
|
2
2
|
import { useGetContracts } from '../../../../sdk/useGetContracts.js';
|
|
3
|
+
import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../../../lib/constants/time.js';
|
|
3
4
|
import { wagmiConfig } from '../../../../../lib/web3/wagmi/config.js';
|
|
4
5
|
import { useQueryClient } from '@tanstack/react-query';
|
|
5
6
|
import { isAddress } from 'viem';
|
|
@@ -108,7 +109,7 @@ function _temp2(t0) {
|
|
|
108
109
|
if (state_0.data === true) {
|
|
109
110
|
return Infinity;
|
|
110
111
|
}
|
|
111
|
-
return
|
|
112
|
+
return MEDIUM_STALE_TIME_FOR_REACTIVENESS;
|
|
112
113
|
}
|
|
113
114
|
function _temp(t0) {
|
|
114
115
|
const {
|
|
@@ -117,6 +118,7 @@ function _temp(t0) {
|
|
|
117
118
|
if (state.data === true) {
|
|
118
119
|
return false;
|
|
119
120
|
}
|
|
121
|
+
return MEDIUM_STALE_TIME_FOR_REACTIVENESS;
|
|
120
122
|
}
|
|
121
123
|
function isDeltaNonceUsedQueryKey({
|
|
122
124
|
chainId,
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"useIsDeltaNonceUsed.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.ts"],"sourcesContent":["import { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\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, 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 return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n staleTime: ({ state }) => {\n // if the nonce is used, it won't change anymore\n if (state.data === true) return Infinity;\n return MEDIUM_STALE_TIME_FOR_REACTIVENESS;\n },\n },\n });\n}\n\nexport function isDeltaNonceUsedQueryKey({\n chainId,\n account,\n deltaContract,\n nonce: _nonce,\n}: {\n chainId?: SupportedChainId;\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 chainId,\n abi: NonceManagementModuleMinAbi,\n address: DeltaContract as Address,\n functionName: \"isNonceUsed\",\n args: [account 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","MEDIUM_STALE_TIME_FOR_REACTIVENESS","isDeltaNonceUsedQueryKey","deltaContract","readContractQueryKey","useEnsureIsDeltaNonceUsed","queryClient","useQueryClient","queryOptions","readContractQueryOptions","wagmiConfig","isNonceUsed","ensureQueryData","queryKeyHashFn","hashFn","ensureIsDeltaNonceUsed"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
|
|
@@ -185,7 +185,9 @@ function useDeltaFlow({
|
|
|
185
185
|
const deltaOrderCancelation = {
|
|
186
186
|
receipt: cancelOrderMut.receipt,
|
|
187
187
|
isCancelingOrder: cancelOrderMut.isPending,
|
|
188
|
-
isOrderCancellable: cancelOrderMut.isOrderCancellable,
|
|
188
|
+
isOrderCancellable: cancelOrderMut.isOrderCancellable && // For ETH orders, additionally check if the deposit tx has been mined,
|
|
189
|
+
// otherwise cancelAndWithdraw will fail if no deposit has been made yet.
|
|
190
|
+
(!cancelOrderMut.isEthOrder || !!deltaOrderDeposit.depositTx.receipt),
|
|
189
191
|
isOrderCanceled: cancelOrderMut.isSuccess,
|
|
190
192
|
isPending: cancelOrderMut.isPending,
|
|
191
193
|
isError: cancelOrderMut.isError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type {\n BridgePrice,\n DeltaAuction,\n DeltaOrderApiResponse,\n DeltaPrice,\n} from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport type { OrderSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useDeltaPriceQuery,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n type DeltaOrderPreSignResult,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/queries/utils\";\nimport { extractSelectedBridgePrice } from \"../prices/delta/bridge/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\nimport { protocolNameAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport {\n useDepositAndSubmitDeltaOrder,\n type DeltaOrderDepositResult,\n} from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport {\n useExtraDeltaPriceParams,\n usePricesParams,\n} from \"../prices/usePricesParams\";\nimport { useSelectedBridgePrice } from \"../prices/delta/bridge/useSelectedBridgePrice\";\n\nconst deltaOrderFlowType = \"deltaOrder\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: typeof deltaOrderFlowType;\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: SubmittedDeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\ntype DeltaOrderSubmissionResult = {\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype DeltaOrderExecutionResult = {\n sentOrder?: SubmittedDeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype DeltaOrderCancelationResult = {\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\nexport type UseDeltaFlowResult = {\n tradeFlowType: typeof deltaOrderFlowType;\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n cancelDeltaOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderPreSign: DeltaOrderPreSignResult;\n deltaOrderDeposit: DeltaOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n deltaOrderSubmission: DeltaOrderSubmissionResult;\n deltaOrderExecution: DeltaOrderExecutionResult;\n deltaOrderCancelation: DeltaOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedDeltaOrder?: Omit<DeltaAuction, \"signature\" | \"transactions\">;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice: _deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const { resolvedSlippage } = useSlippage(\"swap\");\n\n const { priceParams, chainId, destChainId } = usePricesParams(\"swap\");\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: false,\n },\n });\n const selectedBridgePrice = useSelectedBridgePrice({\n price: deltaPriceQuery.data,\n });\n const deltaPrice: DeltaOrBridgePrice | undefined =\n selectedBridgePrice || deltaPriceQuery.data || _deltaPrice;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n\n const swapSideFromInput = useSwapSide();\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: deltaPrice?.srcToken,\n srcAmount: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide:\n (deltaPrice && getSwapSideFromDeltaPrice(deltaPrice)) ||\n swapSideFromInput,\n tradeMode: \"swap\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n const queryClient = useQueryClient();\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderCreateAndSubmit: UseDeltaFlowResult[\"deltaOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order:\n deltaOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n deltaOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n deltaOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n deltaOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n deltaOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n deltaOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n deltaOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n deltaOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: deltaOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: deltaOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: deltaOrderExecution.lastOrderState || deltaOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const deltaOrderCancelation: UseDeltaFlowResult[\"deltaOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted({\n onAuctionSuccess: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onAuctionFailure: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n });\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useSwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n const protocolName = useAtomValue(protocolNameAtom);\n const bridgePreference = useAtomValue(bridgePreferenceAtom);\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onSwap } = useWidgetEvents();\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n lastPrice,\n }: RunDeltaOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(deltaPrice, \"Delta price is not available\");\n const swapSide = getSwapSideFromDeltaPrice(deltaPrice);\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // deltaPrice here is the starting price, available before async code and waiting\n let freshPrice = deltaPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Delta order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await deltaPriceQuery.refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n\n // if we have a specific bridge we need to use\n if (isBridgePrice(freshPrice)) {\n // extract the selected bridge price\n freshPrice = extractSelectedBridgePrice({\n price: freshPrice,\n protocolName,\n bridgePreference,\n });\n }\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const queryKey = deltaPriceQueryKey;\n\n // should always be available\n if (queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey,\n onData: (price) => {\n let newPrice: DeltaOrBridgePrice = price;\n if (isBridgePrice(price)) {\n newPrice = extractSelectedBridgePrice({\n price,\n protocolName,\n bridgePreference,\n });\n }\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n // slightly higher srcAmount if BUY with slippage,\n // slightly lower destAmount if SELL with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n swapSide\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: orderDeadline,\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const deltaPriceToUse = freshPrice;\n usingPriceRef.current = deltaPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n swapSide\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n onSwap?.({\n event: {\n name: \"Swap:request\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaOrderApiResponse;\n\n const createOrderInput: CreateAndSubmitDeltaOrderInput = {\n signal,\n type: \"MARKET\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n side: swapSide,\n },\n };\n\n if (shouldDepositAndPreSign) {\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n depositAmount: createOrderInput.orderInput.srcAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: deltaOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onSwap?.({\n event: {\n name: \"Swap:failed\",\n params: {\n swapMode: \"delta\",\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelDeltaOrder = cancelOrderMut.cancelDeltaOrder;\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled\");\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n deltaOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runDeltaOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof deltaPrice = usingPriceRef.current || deltaPrice;\n\n const result = deltaOrderMut.data;\n\n /**\n * priority:\n * 1. lastOrderState = updated sent Order from final result\n * 2. sentOrder = just sent Order from final result\n * 3. deltaOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 4. deltaOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedDeltaOrder:\n | Omit<DeltaAuction, \"signature\" | \"transactions\">\n | undefined =\n result?.deltaOrder.lastOrderState ||\n result?.deltaOrder.sentOrder ||\n deltaOrderExecution.lastOrderState ||\n deltaOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: deltaOrderFlowType,\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelDeltaOrder,\n approval,\n signPermit,\n deltaOrderPreSign,\n deltaOrderDeposit,\n deltaOrderSubmission,\n deltaOrderExecution,\n deltaOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result,\n usedPrice,\n freshPrice: deltaPrice,\n submittedDeltaOrder,\n };\n}\n"],"names":["deltaOrderFlowType","DELTA_ORDER_MUTATION_KEY","useDeltaFlow","deltaPrice","_deltaPrice","logger","useLogger","resolvedSlippage","useSlippage","priceParams","chainId","destChainId","usePricesParams","extraDeltaPriceParams","useExtraDeltaPriceParams","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","query","enabled","selectedBridgePrice","useSelectedBridgePrice","price","data","swapSideFromInput","useSwapSide","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","getSwapSideFromDeltaPrice","tradeMode","address","account","useAccount","minClient","useMinViemClient","queryClient","useQueryClient","createAndSubmitOrderMut","useCreateAndSubmitDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","deltaOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","reset","resetPreSignAndSubmitDeltaOrder","usePreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","useDepositAndSubmitDeltaOrder","deltaOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","deltaOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","deltaOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isOrderCanceled","ensureOrderExecuted","useEnsureDeltaOrderExecuted","invalidateQueries","deltaOrdersQueryKey","userAddress","user","exact","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useSwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","protocolName","useAtomValue","protocolNameAtom","bridgePreference","bridgePreferenceAtom","subscribeToPrice","useSubscribeToDeltaPrice","onSwap","useWidgetEvents","submitDeltaOrder","onTxSent","onOrderSent","lastPrice","assert","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","refetch","cancelRefetch","throwIfAborted","isBridgePrice","extractSelectedBridgePrice","unsubscribeFromPrice","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","shouldApproveOrBatch","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","applySlippage","destAmount","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","deltaPriceToUse","signedPermitData","type","variant","encodePermit2TransferFromSigDataForDelta","nonce","signature","bridge","destinationChainId","event","name","params","swapMode","orderFromAPI","createOrderInput","orderInput","owner","beneficiary","destToken","Number","side","createDeltaOrderInput","depositAmount","mutateAsync","lastOrderStatePromise","tradeFlowType","approve","deltaOrder","cancelDeltaOrder","deltaOrderMut","useMutation","mutationFn","mutationKey","onSettled","runDeltaOrderFlow","retryFlow","options","usedPrice","submittedDeltaOrder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type {\n BridgePrice,\n DeltaAuction,\n DeltaOrderApiResponse,\n DeltaPrice,\n} from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport type { OrderSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useDeltaPriceQuery,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n type DeltaOrderPreSignResult,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/queries/utils\";\nimport { extractSelectedBridgePrice } from \"../prices/delta/bridge/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\nimport { protocolNameAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport {\n useDepositAndSubmitDeltaOrder,\n type DeltaOrderDepositResult,\n} from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport {\n useExtraDeltaPriceParams,\n usePricesParams,\n} from \"../prices/usePricesParams\";\nimport { useSelectedBridgePrice } from \"../prices/delta/bridge/useSelectedBridgePrice\";\n\nconst deltaOrderFlowType = \"deltaOrder\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: typeof deltaOrderFlowType;\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: SubmittedDeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\ntype DeltaOrderSubmissionResult = {\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype DeltaOrderExecutionResult = {\n sentOrder?: SubmittedDeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype DeltaOrderCancelationResult = {\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\nexport type UseDeltaFlowResult = {\n tradeFlowType: typeof deltaOrderFlowType;\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n cancelDeltaOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderPreSign: DeltaOrderPreSignResult;\n deltaOrderDeposit: DeltaOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n deltaOrderSubmission: DeltaOrderSubmissionResult;\n deltaOrderExecution: DeltaOrderExecutionResult;\n deltaOrderCancelation: DeltaOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedDeltaOrder?: Omit<DeltaAuction, \"signature\" | \"transactions\">;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice: _deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const { resolvedSlippage } = useSlippage(\"swap\");\n\n const { priceParams, chainId, destChainId } = usePricesParams(\"swap\");\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: false,\n },\n });\n const selectedBridgePrice = useSelectedBridgePrice({\n price: deltaPriceQuery.data,\n });\n const deltaPrice: DeltaOrBridgePrice | undefined =\n selectedBridgePrice || deltaPriceQuery.data || _deltaPrice;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n\n const swapSideFromInput = useSwapSide();\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: deltaPrice?.srcToken,\n srcAmount: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide:\n (deltaPrice && getSwapSideFromDeltaPrice(deltaPrice)) ||\n swapSideFromInput,\n tradeMode: \"swap\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n const queryClient = useQueryClient();\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderCreateAndSubmit: UseDeltaFlowResult[\"deltaOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order:\n deltaOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n deltaOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n deltaOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n deltaOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n deltaOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n deltaOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n deltaOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n deltaOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: deltaOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: deltaOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: deltaOrderExecution.lastOrderState || deltaOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const deltaOrderCancelation: UseDeltaFlowResult[\"deltaOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable:\n cancelOrderMut.isOrderCancellable &&\n // For ETH orders, additionally check if the deposit tx has been mined,\n // otherwise cancelAndWithdraw will fail if no deposit has been made yet.\n (!cancelOrderMut.isEthOrder || !!deltaOrderDeposit.depositTx.receipt),\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted({\n onAuctionSuccess: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onAuctionFailure: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n });\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useSwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n const protocolName = useAtomValue(protocolNameAtom);\n const bridgePreference = useAtomValue(bridgePreferenceAtom);\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onSwap } = useWidgetEvents();\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n lastPrice,\n }: RunDeltaOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(deltaPrice, \"Delta price is not available\");\n const swapSide = getSwapSideFromDeltaPrice(deltaPrice);\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // deltaPrice here is the starting price, available before async code and waiting\n let freshPrice = deltaPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Delta order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await deltaPriceQuery.refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n\n // if we have a specific bridge we need to use\n if (isBridgePrice(freshPrice)) {\n // extract the selected bridge price\n freshPrice = extractSelectedBridgePrice({\n price: freshPrice,\n protocolName,\n bridgePreference,\n });\n }\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const queryKey = deltaPriceQueryKey;\n\n // should always be available\n if (queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey,\n onData: (price) => {\n let newPrice: DeltaOrBridgePrice = price;\n if (isBridgePrice(price)) {\n newPrice = extractSelectedBridgePrice({\n price,\n protocolName,\n bridgePreference,\n });\n }\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n // slightly higher srcAmount if BUY with slippage,\n // slightly lower destAmount if SELL with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n swapSide\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: orderDeadline,\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const deltaPriceToUse = freshPrice;\n usingPriceRef.current = deltaPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n swapSide\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n onSwap?.({\n event: {\n name: \"Swap:request\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaOrderApiResponse;\n\n const createOrderInput: CreateAndSubmitDeltaOrderInput = {\n signal,\n type: \"MARKET\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n side: swapSide,\n },\n };\n\n if (shouldDepositAndPreSign) {\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n depositAmount: createOrderInput.orderInput.srcAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"delta\",\n price: deltaPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: deltaOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onSwap?.({\n event: {\n name: \"Swap:failed\",\n params: {\n swapMode: \"delta\",\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelDeltaOrder = cancelOrderMut.cancelDeltaOrder;\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled\");\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n deltaOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runDeltaOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof deltaPrice = usingPriceRef.current || deltaPrice;\n\n const result = deltaOrderMut.data;\n\n /**\n * priority:\n * 1. lastOrderState = updated sent Order from final result\n * 2. sentOrder = just sent Order from final result\n * 3. deltaOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 4. deltaOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedDeltaOrder:\n | Omit<DeltaAuction, \"signature\" | \"transactions\">\n | undefined =\n result?.deltaOrder.lastOrderState ||\n result?.deltaOrder.sentOrder ||\n deltaOrderExecution.lastOrderState ||\n deltaOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: deltaOrderFlowType,\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelDeltaOrder,\n approval,\n signPermit,\n deltaOrderPreSign,\n deltaOrderDeposit,\n deltaOrderSubmission,\n deltaOrderExecution,\n deltaOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result,\n usedPrice,\n freshPrice: deltaPrice,\n submittedDeltaOrder,\n };\n}\n"],"names":["deltaOrderFlowType","DELTA_ORDER_MUTATION_KEY","useDeltaFlow","deltaPrice","_deltaPrice","logger","useLogger","resolvedSlippage","useSlippage","priceParams","chainId","destChainId","usePricesParams","extraDeltaPriceParams","useExtraDeltaPriceParams","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","query","enabled","selectedBridgePrice","useSelectedBridgePrice","price","data","swapSideFromInput","useSwapSide","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","getSwapSideFromDeltaPrice","tradeMode","address","account","useAccount","minClient","useMinViemClient","queryClient","useQueryClient","createAndSubmitOrderMut","useCreateAndSubmitDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","deltaOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","reset","resetPreSignAndSubmitDeltaOrder","usePreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","useDepositAndSubmitDeltaOrder","deltaOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","deltaOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","deltaOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isEthOrder","depositTx","isOrderCanceled","ensureOrderExecuted","useEnsureDeltaOrderExecuted","invalidateQueries","deltaOrdersQueryKey","userAddress","user","exact","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useSwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","protocolName","useAtomValue","protocolNameAtom","bridgePreference","bridgePreferenceAtom","subscribeToPrice","useSubscribeToDeltaPrice","onSwap","useWidgetEvents","submitDeltaOrder","onTxSent","onOrderSent","lastPrice","assert","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","refetch","cancelRefetch","throwIfAborted","isBridgePrice","extractSelectedBridgePrice","unsubscribeFromPrice","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","shouldApproveOrBatch","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","applySlippage","destAmount","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","deltaPriceToUse","signedPermitData","type","variant","encodePermit2TransferFromSigDataForDelta","nonce","signature","bridge","destinationChainId","event","name","params","swapMode","orderFromAPI","createOrderInput","orderInput","owner","beneficiary","destToken","Number","side","createDeltaOrderInput","depositAmount","mutateAsync","lastOrderStatePromise","tradeFlowType","approve","deltaOrder","cancelDeltaOrder","deltaOrderMut","useMutation","mutationFn","mutationKey","onSettled","runDeltaOrderFlow","retryFlow","options","usedPrice","submittedDeltaOrder"],"mappings":"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"}
|
|
@@ -14,5 +14,5 @@ export declare function computeSelectableDestChains({ enableCrossChain, deltaEna
|
|
|
14
14
|
enabledDestChains: NonEmptyArray<SupportedChainId>;
|
|
15
15
|
availableCrosses: SupportedChainId[];
|
|
16
16
|
fromChainId: SupportedChainId;
|
|
17
|
-
}): (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 |
|
|
17
|
+
}): (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130)[];
|
|
18
18
|
//# sourceMappingURL=useSelectableDestChains.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectableDestChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSelectableDestChains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAE3F,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC;CACzD,CAqBA;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,EAAE;IACD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,WAAW,EAAE,gBAAgB,CAAC;CAC/B,
|
|
1
|
+
{"version":3,"file":"useSelectableDestChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSelectableDestChains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAE3F,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC;CACzD,CAqBA;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,EAAE;IACD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,WAAW,EAAE,gBAAgB,CAAC;CAC/B,4DAiBA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TradeMode } from '../../core/state/tradeModeAtom';
|
|
2
2
|
import { SupportedChainId } from '../web3/wagmi/types';
|
|
3
3
|
export declare const deltaEnabledOnAPI: Record<SupportedChainId, boolean>;
|
|
4
|
-
export declare const CHAINS_WITH_DELTA: (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 |
|
|
4
|
+
export declare const CHAINS_WITH_DELTA: (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130)[];
|
|
5
5
|
export declare const DELTA_FALLBACK_TRADE_MODE: "swap";
|
|
6
6
|
export declare const DELTA_ONLY_TRADE_MODES: TradeMode[];
|
|
7
7
|
//# sourceMappingURL=delta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/delta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/delta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAY5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAU/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,0DAE7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAAc,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { unichain,
|
|
1
|
+
import { unichain, base, avalanche, arbitrum, polygon, gnosis, bsc, optimism, mainnet } from 'wagmi/chains';
|
|
2
2
|
|
|
3
3
|
const deltaEnabledOnAPI = {
|
|
4
4
|
[mainnet.id]: true,
|
|
@@ -9,7 +9,6 @@ const deltaEnabledOnAPI = {
|
|
|
9
9
|
[arbitrum.id]: true,
|
|
10
10
|
[avalanche.id]: false,
|
|
11
11
|
[base.id]: true,
|
|
12
|
-
[sonic.id]: false,
|
|
13
12
|
[unichain.id]: true
|
|
14
13
|
};
|
|
15
14
|
const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(([chainId, enabled]) => enabled ? [Number(chainId)] : []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n
|
|
1
|
+
{"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\nexport const deltaEnabledOnAPI: Record<SupportedChainId, boolean> = {\n [mainnet.id]: true,\n [optimism.id]: true,\n [bsc.id]: true,\n [gnosis.id]: false,\n [polygon.id]: true,\n [arbitrum.id]: true,\n [avalanche.id]: false,\n [base.id]: true,\n [unichain.id]: true,\n};\n\nexport const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(\n ([chainId, enabled]) => (enabled ? [Number(chainId) as SupportedChainId] : [])\n);\n\nexport const DELTA_FALLBACK_TRADE_MODE = \"swap\" as const satisfies TradeMode;\nexport const DELTA_ONLY_TRADE_MODES: TradeMode[] = [\"limit\"];\n"],"names":["deltaEnabledOnAPI","mainnet","id","optimism","bsc","gnosis","polygon","arbitrum","avalanche","base","unichain","CHAINS_WITH_DELTA","Object","entries","flatMap","chainId","enabled","Number","DELTA_FALLBACK_TRADE_MODE","DELTA_ONLY_TRADE_MODES"],"mappings":";;AAcO,MAAMA,iBAAAA,GAAuD;AAAA,EAClE,CAACC,OAAAA,CAAQC,EAAE,GAAG,IAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,IAAA;AAAA,EACf,CAACE,GAAAA,CAAIF,EAAE,GAAG,IAAA;AAAA,EACV,CAACG,MAAAA,CAAOH,EAAE,GAAG,KAAA;AAAA,EACb,CAACI,OAAAA,CAAQJ,EAAE,GAAG,IAAA;AAAA,EACd,CAACK,QAAAA,CAASL,EAAE,GAAG,IAAA;AAAA,EACf,CAACM,SAAAA,CAAUN,EAAE,GAAG,KAAA;AAAA,EAChB,CAACO,IAAAA,CAAKP,EAAE,GAAG,IAAA;AAAA,EACX,CAACQ,QAAAA,CAASR,EAAE,GAAG;AACjB;AAEO,MAAMS,oBAAoBC,MAAAA,CAAOC,OAAAA,CAAQb,iBAAiB,CAAA,CAAEc,OAAAA,CACjE,CAAC,CAACC,OAAAA,EAASC,OAAO,CAAA,KAAOA,UAAU,CAACC,MAAAA,CAAOF,OAAO,CAAqB,CAAA,GAAI,EAC7E;AAEO,MAAMG,yBAAAA,GAA4B;AAClC,MAAMC,sBAAAA,GAAsC,CAAC,OAAO;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sources":["../../../src/lib/constants/time.ts"],"sourcesContent":["export const SMALL_STALE_TIME_FOR_REACTIVENESS = 500; // use mainly for requests with relatively big interval to guarantee reactiness for refetching\nexport const MEDIUM_STALE_TIME_FOR_REACTIVENESS = 5000
|
|
1
|
+
{"version":3,"file":"time.js","sources":["../../../src/lib/constants/time.ts"],"sourcesContent":["export const SMALL_STALE_TIME_FOR_REACTIVENESS = 500; // use mainly for requests with relatively big interval to guarantee reactiness for refetching\nexport const MEDIUM_STALE_TIME_FOR_REACTIVENESS = 5000;\nexport const LONG_STALE_TIME_FOR_REACTIVENESS = 25000;\n\nexport const ONE_MINUTE_MS = 60 * 1000;\n"],"names":["MEDIUM_STALE_TIME_FOR_REACTIVENESS","LONG_STALE_TIME_FOR_REACTIVENESS","ONE_MINUTE_MS"],"mappings":"AACO,MAAMA,kCAAAA,GAAqC;AAC3C,MAAMC,gCAAAA,GAAmC;AAEzC,MAAMC,gBAAgB,EAAA,GAAK;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weth.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/weth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"weth.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/weth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAa5D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAW9D,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAUnE,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,gBAAgB,EAChB;IACE,SAAS,EAAE,OAAO,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB,CAWF,CAAC"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { ReactComponent as ForwardRef } from '../../assets/weth.svg.js';
|
|
2
2
|
import WethSvgStr from '../../assets/weth.svg2.js';
|
|
3
|
-
import { ReactComponent as ForwardRef$
|
|
3
|
+
import { ReactComponent as ForwardRef$4 } from '../../assets/wmatic.svg.js';
|
|
4
4
|
import WmaticSvgStr from '../../assets/wmatic.svg2.js';
|
|
5
|
-
import { ReactComponent as ForwardRef$
|
|
5
|
+
import { ReactComponent as ForwardRef$3 } from '../../assets/wavax.svg.js';
|
|
6
6
|
import WavaxSvgStr from '../../assets/wavax.svg2.js';
|
|
7
|
-
import { ReactComponent as ForwardRef$
|
|
7
|
+
import { ReactComponent as ForwardRef$1 } from '../../assets/wbnb.svg.js';
|
|
8
8
|
import WbnbSvgStr from '../../assets/wbnb.svg2.js';
|
|
9
|
-
import { ReactComponent as ForwardRef$
|
|
9
|
+
import { ReactComponent as ForwardRef$2 } from '../../assets/wxdai.svg.js';
|
|
10
10
|
import WxdaiSvgStr from '../../assets/wxdai.svg2.js';
|
|
11
|
-
import {
|
|
12
|
-
import wSSvgStr from '../../assets/wS.svg2.js';
|
|
13
|
-
import { unichain, sonic, bsc, gnosis, avalanche, arbitrum, base, polygon, optimism, mainnet } from 'wagmi/chains';
|
|
11
|
+
import { unichain, bsc, gnosis, avalanche, arbitrum, base, polygon, optimism, mainnet } from 'wagmi/chains';
|
|
14
12
|
|
|
15
13
|
const wrappedNativeCurrency = {
|
|
16
14
|
[mainnet.id]: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
|
|
@@ -21,7 +19,6 @@ const wrappedNativeCurrency = {
|
|
|
21
19
|
[avalanche.id]: "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
|
|
22
20
|
[gnosis.id]: "0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",
|
|
23
21
|
[bsc.id]: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
|
|
24
|
-
[sonic.id]: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38",
|
|
25
22
|
[unichain.id]: "0x4200000000000000000000000000000000000006"
|
|
26
23
|
};
|
|
27
24
|
const wrappedNativeCurrencyLogo = {
|
|
@@ -34,7 +31,7 @@ const wrappedNativeCurrencyLogo = {
|
|
|
34
31
|
string: WethSvgStr
|
|
35
32
|
},
|
|
36
33
|
[polygon.id]: {
|
|
37
|
-
component: ForwardRef$
|
|
34
|
+
component: ForwardRef$4,
|
|
38
35
|
string: WmaticSvgStr
|
|
39
36
|
},
|
|
40
37
|
[base.id]: {
|
|
@@ -46,20 +43,16 @@ const wrappedNativeCurrencyLogo = {
|
|
|
46
43
|
string: WethSvgStr
|
|
47
44
|
},
|
|
48
45
|
[avalanche.id]: {
|
|
49
|
-
component: ForwardRef$
|
|
46
|
+
component: ForwardRef$3,
|
|
50
47
|
string: WavaxSvgStr
|
|
51
48
|
},
|
|
52
49
|
[gnosis.id]: {
|
|
53
|
-
component: ForwardRef$
|
|
50
|
+
component: ForwardRef$2,
|
|
54
51
|
string: WxdaiSvgStr
|
|
55
52
|
},
|
|
56
53
|
[bsc.id]: {
|
|
57
|
-
component: ForwardRef$2,
|
|
58
|
-
string: WbnbSvgStr
|
|
59
|
-
},
|
|
60
|
-
[sonic.id]: {
|
|
61
54
|
component: ForwardRef$1,
|
|
62
|
-
string:
|
|
55
|
+
string: WbnbSvgStr
|
|
63
56
|
},
|
|
64
57
|
[unichain.id]: {
|
|
65
58
|
component: ForwardRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n
|
|
1
|
+
{"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\n\nimport { ReactComponent as WethSvg } from \"@/assets/weth.svg\";\nimport WethSvgStr from \"@/assets/weth.svg?url\";\nimport { ReactComponent as WmaticSvg } from \"@/assets/wmatic.svg\";\nimport WmaticSvgStr from \"@/assets/wmatic.svg?url\";\nimport { ReactComponent as WavaxSvg } from \"@/assets/wavax.svg\";\nimport WavaxSvgStr from \"@/assets/wavax.svg?url\";\nimport { ReactComponent as WbnbSvg } from \"@/assets/wbnb.svg\";\nimport WbnbSvgStr from \"@/assets/wbnb.svg?url\";\nimport { ReactComponent as WxdaiSvg } from \"@/assets/wxdai.svg\";\nimport WxdaiSvgStr from \"@/assets/wxdai.svg?url\";\n\nexport const wrappedNativeCurrency: Record<SupportedChainId, Address> = {\n [mainnet.id]: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n [optimism.id]: \"0x4200000000000000000000000000000000000006\",\n [polygon.id]: \"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270\",\n [base.id]: \"0x4200000000000000000000000000000000000006\",\n [arbitrum.id]: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [avalanche.id]: \"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7\",\n [gnosis.id]: \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\",\n [bsc.id]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [unichain.id]: \"0x4200000000000000000000000000000000000006\",\n};\n\nexport const wrappedNativeCurrencyLogo: Record<\n SupportedChainId,\n {\n component: typeof WethSvg;\n string: string;\n }\n> = {\n [mainnet.id]: { component: WethSvg, string: WethSvgStr },\n [optimism.id]: { component: WethSvg, string: WethSvgStr },\n [polygon.id]: { component: WmaticSvg, string: WmaticSvgStr },\n [base.id]: { component: WethSvg, string: WethSvgStr },\n [arbitrum.id]: { component: WethSvg, string: WethSvgStr },\n [avalanche.id]: { component: WavaxSvg, string: WavaxSvgStr },\n [gnosis.id]: { component: WxdaiSvg, string: WxdaiSvgStr },\n [bsc.id]: { component: WbnbSvg, string: WbnbSvgStr },\n [unichain.id]: { component: WethSvg, string: WethSvgStr },\n};\n"],"names":["wrappedNativeCurrency","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","unichain","wrappedNativeCurrencyLogo","component","WethSvg","string","WethSvgStr","WmaticSvg","WmaticSvgStr","WavaxSvg","WavaxSvgStr","WxdaiSvg","WxdaiSvgStr","WbnbSvg","WbnbSvgStr"],"mappings":";;;;;;;;;;;;AAyBO,MAAMA,qBAAAA,GAA2D;AAAA,EACtE,CAACC,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,4CAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,4CAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,4CAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,4CAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,4CAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,4CAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,4CAAA;AAAA,EACV,CAACQ,QAAAA,CAASR,EAAE,GAAG;AACjB;AAEO,MAAMS,yBAAAA,GAMT;AAAA,EACF,CAACV,OAAAA,CAAQC,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACvD,CAACZ,QAAAA,CAASD,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACX,OAAAA,CAAQF,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWI,YAAAA;AAAAA,IAAWF,MAAAA,EAAQG;AAAAA,GAAa;AAAA,EAC3D,CAACZ,IAAAA,CAAKH,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACpD,CAACT,QAAAA,CAASJ,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACR,SAAAA,CAAUL,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWM,YAAAA;AAAAA,IAAUJ,MAAAA,EAAQK;AAAAA,GAAY;AAAA,EAC3D,CAACX,MAAAA,CAAON,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWQ,YAAAA;AAAAA,IAAUN,MAAAA,EAAQO;AAAAA,GAAY;AAAA,EACxD,CAACZ,GAAAA,CAAIP,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWU,YAAAA;AAAAA,IAASR,MAAAA,EAAQS;AAAAA,GAAW;AAAA,EACnD,CAACb,QAAAA,CAASR,EAAE,GAAG;AAAA,IAAEU,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA;AAC/C;;;;"}
|
|
@@ -829,40 +829,6 @@ export declare const wagmiConfig: import('wagmi').Config<readonly [{
|
|
|
829
829
|
fees?: import('viem').ChainFees<undefined> | undefined;
|
|
830
830
|
formatters?: undefined;
|
|
831
831
|
serializers?: import('viem').ChainSerializers<undefined, import('viem').TransactionSerializable> | undefined;
|
|
832
|
-
}, {
|
|
833
|
-
blockExplorers: {
|
|
834
|
-
readonly default: {
|
|
835
|
-
readonly name: "Sonic Explorer";
|
|
836
|
-
readonly url: "https://sonicscan.org";
|
|
837
|
-
};
|
|
838
|
-
};
|
|
839
|
-
blockTime?: number | undefined | undefined;
|
|
840
|
-
contracts: {
|
|
841
|
-
readonly multicall3: {
|
|
842
|
-
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
843
|
-
readonly blockCreated: 60;
|
|
844
|
-
};
|
|
845
|
-
};
|
|
846
|
-
ensTlds?: readonly string[] | undefined;
|
|
847
|
-
id: 146;
|
|
848
|
-
name: "Sonic";
|
|
849
|
-
nativeCurrency: {
|
|
850
|
-
readonly decimals: 18;
|
|
851
|
-
readonly name: "Sonic";
|
|
852
|
-
readonly symbol: "S";
|
|
853
|
-
};
|
|
854
|
-
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
855
|
-
rpcUrls: {
|
|
856
|
-
readonly default: {
|
|
857
|
-
readonly http: readonly ["https://rpc.soniclabs.com"];
|
|
858
|
-
};
|
|
859
|
-
};
|
|
860
|
-
sourceId?: number | undefined | undefined;
|
|
861
|
-
testnet: false;
|
|
862
|
-
custom?: Record<string, unknown> | undefined;
|
|
863
|
-
fees?: import('viem').ChainFees<undefined> | undefined;
|
|
864
|
-
formatters?: undefined;
|
|
865
|
-
serializers?: import('viem').ChainSerializers<undefined, import('viem').TransactionSerializable> | undefined;
|
|
866
832
|
}, {
|
|
867
833
|
blockExplorers: {
|
|
868
834
|
readonly default: {
|
|
@@ -1163,7 +1129,7 @@ export declare const wagmiConfig: import('wagmi').Config<readonly [{
|
|
|
1163
1129
|
serializers: {
|
|
1164
1130
|
readonly transaction: typeof import('viem/chains').serializeTransactionOpStack;
|
|
1165
1131
|
};
|
|
1166
|
-
}], Record<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 |
|
|
1132
|
+
}], Record<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130, import('viem').FallbackTransport<import('viem').Transport[]>>, CreateConnectorFn[]>;
|
|
1167
1133
|
declare module "wagmi" {
|
|
1168
1134
|
interface Register {
|
|
1169
1135
|
config: typeof wagmiConfig;
|