@velora-dex/widget 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/web3/AccountButton.js +1 -1
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +22 -21
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.d.ts.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +67 -66
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +27 -26
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js +9 -9
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +2 -2
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/core/LimitOrderButton.js +1 -1
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/OtcOrderButton.js +1 -1
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/guards.d.ts.map +1 -1
- package/dist/core/inputs/state/guards.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +2 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.d.ts +1 -1
- package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
- package/dist/events/getters/limit.js +1 -1
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js +1 -1
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/swap.js +1 -1
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.js +1 -1
- package/dist/events/getters/twap.js.map +1 -1
- package/dist/events/getters/widgetState.js +1 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +1 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.d.ts +0 -1
- package/dist/hooks/batch/useCanBatchTxs.d.ts.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js +20 -29
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.d.ts +1 -1
- package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.d.ts +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.d.ts.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +2 -2
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.d.ts.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +3 -3
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +3 -3
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.d.ts.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js +2 -2
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts +2 -2
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/types.d.ts +1 -1
- package/dist/hooks/permit/utils/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts +11 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js +2 -2
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +4 -4
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -3
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.d.ts +0 -11
- package/dist/hooks/tokens/balances/useTokenBalance.d.ts.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js +11 -11
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.d.ts.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js +2 -2
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js +3 -3
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js +2 -2
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +4 -4
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.d.ts +88 -1
- package/dist/hooks/txs/queries/useTxResponse.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useChainMatches.js +2 -2
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useConnections.d.ts +3 -0
- package/dist/hooks/useConnections.d.ts.map +1 -0
- package/dist/hooks/useConnections.js +24 -0
- package/dist/hooks/useConnections.js.map +1 -0
- package/dist/hooks/useDisconnect.d.ts +3 -0
- package/dist/hooks/useDisconnect.d.ts.map +1 -0
- package/dist/hooks/useDisconnect.js +29 -0
- package/dist/hooks/useDisconnect.js.map +1 -0
- package/dist/hooks/useMinViemClient.d.ts.map +1 -1
- package/dist/hooks/useMinViemClient.js +9 -9
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/lib/constants/urls.js +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/lib/web3/wagmi/config.d.ts +40 -6
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +40 -1
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/external.js +1 -1
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.d.ts +40 -1
- package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js +1 -1
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/tokens/lists/lists.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +12 -31
- package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/wagmi-register.d.ts +7 -0
- package/dist/wagmi-register.d.ts.map +1 -0
- package/package.json +13 -11
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useIsAccountContract as e } from "../../getCode/useIsAccountContract.js";
|
|
2
2
|
import { useWalletMetadata as t } from "../../../components/web3/ConnectWallets/walletIcons.js";
|
|
3
3
|
import { c as n } from "react-compiler-runtime";
|
|
4
|
-
import {
|
|
4
|
+
import { useConnection as r } from "wagmi";
|
|
5
5
|
//#region src/hooks/txs/queries/useWalletCanReplaceTx.ts
|
|
6
6
|
var i = /Rabby|Ledger Wallet/i;
|
|
7
7
|
function a() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletCanReplaceTx.js","names":["
|
|
1
|
+
{"version":3,"file":"useWalletCanReplaceTx.js","names":["useConnection","useWalletMetadata","useIsAccountContract","SUPPORTED_WALLETS_REGEX","useWalletCanReplaceTx","$","_c","connector","walletMetadata","data","accountContractData","t0","name","test","isKnownUnsupportedWallet","isSmartContract","isContract"],"sources":["../../../../src/hooks/txs/queries/useWalletCanReplaceTx.ts"],"sourcesContent":["import { useConnection } from \"wagmi\";\nimport { useWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\n/**\n * Some of the tested wallets:\n *\n * | Wallet | Test result | Supports | metadata.name |\n * | ------------- | -------------------------------------------------------------------------------------------------------- | -------- | ------------- |\n * | Rabby | Works, but ignores gasPrice params | ✓ | Rabby Wallet |\n * | MetaMask | nonce is ignored, gasPrice params accepted | ✗ | MetaMask |\n * | TrustWallet | ignores nonce, uses its internal nonce, ignores gasPrice params | ✗ | Trust Wallet |\n * | BitGet Wallet | ignores gasPrice params, accepts nonce, but doesn't allow to submit tx with same nonce to replace | ✗ | Bitget Wallet |\n * | Rainbow | ignores nonce, uses its internal nonce, ignores gasPrice params | ✗ | Rainbow |\n * | Phantom | accepts nonce, but doesn't allow to submit tx with same nonce to replace, ignores gasPrice params | ✗ | Phantom |\n * | Enkrypt | ignores nonce, uses its internal nonce, ignores gasPrice params | ✗ | Enkrypt |\n * | Ledger Live | ignores nonce, uses its internal nonce, ignores gasPrice params | ✗ | Ledger Live |\n * | Ledger Button | supports nonce, should take all params as is | ✓ | Ledger Wallet |\n *\n */\n\nconst SUPPORTED_WALLETS_REGEX = /Rabby|Ledger Wallet/i; // wallets known to support replaceTx nonce override\n\nexport function useWalletCanReplaceTx(): boolean {\n const { connector } = useConnection();\n const walletMetadata = useWalletMetadata(connector);\n const { data: accountContractData } = useIsAccountContract();\n\n // 1. Check if Wallet is Metamask (injected wallet or through WalletConnect)\n // Metamask ignores txParams.nonce and doesn't allow replacing txs\n const isKnownUnsupportedWallet =\n !!walletMetadata?.name &&\n !SUPPORTED_WALLETS_REGEX.test(walletMetadata.name);\n\n // 2. Check if user account is a SmartContract\n // SmartContracts have their own logic for replacing pending txs (if any)\n const isSmartContract = accountContractData?.isContract ?? false;\n\n return (\n !!connector &&\n !!walletMetadata &&\n !isKnownUnsupportedWallet &&\n !isSmartContract\n );\n}\n"],"mappings":";;;;;AAoBA,IAAMG,IAA0B;AAEhC,SAAOC,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAC,iBAAsBP,GAAe,EACrCQ,IAAuBP,EAAkBM,EAAU,EACnD,EAAAE,MAAAC,MAAsCR,GAAsB,EAACS;CAAA,AAAAN,EAAA,OAAAG,IAMTG,IAAAN,EAAA,MADlDM,IAAA,CAAC,CAACH,GAAcI,QAAhB,CACCT,EAAuBU,KAAML,EAAcI,KAAM,EAAAP,EAAA,KAAAG,GAAAH,EAAA,KAAAM;CAFpD,IAAAG,IACEH,GAKFI,IAAwBL,GAAmBM,cAAnB;CAAyC,OAG/D,CAAC,CAACT,KAAF,CACC,CAACC,KADF,CAECM,KAFD,CAGCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAvailableCrosses.js","names":["SupportedChainId","isSupportedChainId","useMemo","useGetBridgeInfo","emptyArray","BridgeRoutesMode","getBridgeInfoQueryData","useAvailableCrosses","t0","$","_c","fromChainId","mode","t1","data","bridgeInfo","error","isLoading","acrossTokenAddresses","t2","bb0","t3","Object","keys","map","Number","filter","availableCrosses","getAvailableCrosses","cachedBridgeInfo","Array","from","Set"],"sources":["../../src/hooks/useAvailableCrosses.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { useMemo } from \"react\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { type BridgeRoutesMode } from \"./swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"./swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function useAvailableCrosses({\n fromChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): {\n availableCrosses?: SupportedChainId[];\n error: Error | null;\n isLoading: boolean;\n} {\n const { data: bridgeInfo, error, isLoading } = useGetBridgeInfo({ mode });\n const acrossTokenAddresses = bridgeInfo?.[fromChainId];\n const availableCrosses = useMemo(() => {\n if (!acrossTokenAddresses && !isLoading) return emptyArray;\n return (\n acrossTokenAddresses &&\n Object.keys(acrossTokenAddresses).map(Number).filter(isSupportedChainId)\n );\n }, [acrossTokenAddresses, isLoading]);\n\n return { availableCrosses, error, isLoading };\n}\n\nexport function getAvailableCrosses({\n fromChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): SupportedChainId[] {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return emptyArray;\n\n const acrossTokenAddresses = cachedBridgeInfo[fromChainId];\n if (!acrossTokenAddresses) return emptyArray;\n\n const availableCrosses = Object.keys(acrossTokenAddresses)\n .map(Number)\n .filter(isSupportedChainId);\n\n return Array.from(new Set(availableCrosses));\n}"],"mappings":";;;;;;;AAQA,SAAOO,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA6B,EAAAC,gBAAAC,YAAAJ,GAMnCK;CAAA,AAAAJ,EAAA,OAAAG,IAKyEC,IAAAJ,EAAA,MAARI,IAAA,EAAAD,SAAQ,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAxE,IAAA,EAAAC,MAAAC,GAAAC,UAAAC,iBAA+Cd,EAAiBU,EAAS,EACzEK,IAA6BH,IAAaJ,IAAaQ;CAAAC,KAAA;EAErD,IAAI,CAACF,KAAD,CAA0BD,GAAS;GAAEE,IAAOf;GAAP,MAAAgB;;EAAkB,IAAAC;EAC3DF,AAD2DV,EAAA,OAAAS,IAGeG,IAAAZ,EAAA,MADxEY,IAAAH,KACAI,OAAMC,KAAML,EAAqB,CAAAM,IAAKC,OAAO,CAAAC,OAAQzB,EAAmB,EAAAQ,EAAA,KAAAS,GAAAT,EAAA,KAAAY,IAF1EF,IACEE;;CAHJ,IAAAM,IAAyBR,GAMaE;CAEO,OAFPZ,EAAA,OAAAkB,KAAAlB,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAE/BI,IAAA;EAAAM;EAAAX;EAAAC;EAAsC,EAAAR,EAAA,KAAAkB,GAAAlB,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAAtCY;;AAGT,SAAgBO,EAAoB,EAClCjB,gBACAC,WAIqB;CACrB,IAAMiB,IAAmBvB,EAAuBM,EAAK;CACrD,IAAI,CAACiB,GAAkB,OAAOzB;CAE9B,IAAMc,IAAuBW,EAAiBlB;CAC9C,IAAI,CAACO,GAAsB,OAAOd;CAElC,IAAMuB,IAAmBL,OAAOC,KAAKL,EAAqB,CACvDM,IAAIC,OAAO,CACXC,OAAOzB,EAAmB;CAE7B,OAAO6B,MAAMC,KAAK,IAAIC,IAAIL,EAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"useAvailableCrosses.js","names":["SupportedChainId","isSupportedChainId","useMemo","useGetBridgeInfo","emptyArray","BridgeRoutesMode","getBridgeInfoQueryData","useAvailableCrosses","t0","$","_c","fromChainId","mode","t1","data","bridgeInfo","error","isLoading","acrossTokenAddresses","t2","bb0","t3","Object","keys","map","Number","filter","availableCrosses","getAvailableCrosses","cachedBridgeInfo","Array","from","Set"],"sources":["../../src/hooks/useAvailableCrosses.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { useMemo } from \"react\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { type BridgeRoutesMode } from \"./swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"./swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function useAvailableCrosses({\n fromChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): {\n availableCrosses?: SupportedChainId[];\n error: Error | null;\n isLoading: boolean;\n} {\n const { data: bridgeInfo, error, isLoading } = useGetBridgeInfo({ mode });\n const acrossTokenAddresses = bridgeInfo?.[fromChainId];\n const availableCrosses = useMemo(() => {\n if (!acrossTokenAddresses && !isLoading) return emptyArray;\n return (\n acrossTokenAddresses &&\n Object.keys(acrossTokenAddresses).map(Number).filter(isSupportedChainId)\n );\n }, [acrossTokenAddresses, isLoading]);\n\n return { availableCrosses, error, isLoading };\n}\n\nexport function getAvailableCrosses({\n fromChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): SupportedChainId[] {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return emptyArray;\n\n const acrossTokenAddresses = cachedBridgeInfo[fromChainId];\n if (!acrossTokenAddresses) return emptyArray;\n\n const availableCrosses = Object.keys(acrossTokenAddresses)\n .map(Number)\n .filter(isSupportedChainId);\n\n return Array.from(new Set(availableCrosses));\n}\n"],"mappings":";;;;;;;AAQA,SAAOO,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA6B,EAAAC,gBAAAC,YAAAJ,GAMnCK;CAAA,AAAAJ,EAAA,OAAAG,IAKyEC,IAAAJ,EAAA,MAARI,IAAA,EAAAD,SAAQ,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAxE,IAAA,EAAAC,MAAAC,GAAAC,UAAAC,iBAA+Cd,EAAiBU,EAAS,EACzEK,IAA6BH,IAAaJ,IAAaQ;CAAAC,KAAA;EAErD,IAAI,CAACF,KAAD,CAA0BD,GAAS;GAAEE,IAAOf;GAAP,MAAAgB;;EAAkB,IAAAC;EAC3DF,AAD2DV,EAAA,OAAAS,IAGeG,IAAAZ,EAAA,MADxEY,IAAAH,KACAI,OAAMC,KAAML,EAAqB,CAAAM,IAAKC,OAAO,CAAAC,OAAQzB,EAAmB,EAAAQ,EAAA,KAAAS,GAAAT,EAAA,KAAAY,IAF1EF,IACEE;;CAHJ,IAAAM,IAAyBR,GAMaE;CAEO,OAFPZ,EAAA,OAAAkB,KAAAlB,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAE/BI,IAAA;EAAAM;EAAAX;EAAAC;EAAsC,EAAAR,EAAA,KAAAkB,GAAAlB,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAAtCY;;AAGT,SAAgBO,EAAoB,EAClCjB,gBACAC,WAIqB;CACrB,IAAMiB,IAAmBvB,EAAuBM,EAAK;CACrD,IAAI,CAACiB,GAAkB,OAAOzB;CAE9B,IAAMc,IAAuBW,EAAiBlB;CAC9C,IAAI,CAACO,GAAsB,OAAOd;CAElC,IAAMuB,IAAmBL,OAAOC,KAAKL,EAAqB,CACvDM,IAAIC,OAAO,CACXC,OAAOzB,EAAmB;CAE7B,OAAO6B,MAAMC,KAAK,IAAIC,IAAIL,EAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,8CAA8C,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,GACL,EAAE;IACD,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAYpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBridgeInfo.js","names":["UseQueryResult","useBridgeInfoQuery","BridgeInfo","BridgeRoutesMode","useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result"],"sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\nimport type {
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.js","names":["UseQueryResult","useBridgeInfoQuery","BridgeInfo","BridgeRoutesMode","useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result"],"sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\nimport type {\n BridgeInfo,\n BridgeRoutesMode,\n} from \"./swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useGetBridgeInfo({\n mode,\n}: {\n mode: BridgeRoutesMode;\n}): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n input: {\n allowBridgeAndSwap: mode === \"swap\",\n },\n });\n\n return result;\n}\n"],"mappings":";;;;AAOA,SAAOI,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA0B,EAAAC,YAAAH,GAIhCI;CAAA,AAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAEUF,IAAA;EAAAG,WACMC;EAAQC,QACXD;EACT,EAAAP,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAEqB,IAAAS,IAAAP,MAAS,QAAMQ;CAEpC,OAFoCV,EAAA,OAAAS,IAEtCC,IAAAV,EAAA,MARiCU,IAAA;EAAAC,OACzBR;EAGNS,OACM,EAAAC,oBACeJ,GACtB;EACD,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU,IARcf,EAAmBe,EAU3BI"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as e } from "react-compiler-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useChainId as t, useConnection as n } from "wagmi";
|
|
3
3
|
//#region src/hooks/useChainMatches.ts
|
|
4
4
|
function r(r) {
|
|
5
|
-
let i = e(4), a =
|
|
5
|
+
let i = e(4), a = t(), { chainId: o, isConnected: s } = n(), c = s && !!o && a === o, l = s && r !== void 0 && o !== void 0 && r === o, u;
|
|
6
6
|
return i[0] !== l || i[1] !== s || i[2] !== c ? (u = {
|
|
7
7
|
isConnected: s,
|
|
8
8
|
walletChainMatchesAppChain: c,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChainMatches.js","names":["SupportedChainId","
|
|
1
|
+
{"version":3,"file":"useChainMatches.js","names":["SupportedChainId","useConnection","useChainId","useChainMatches","forcedChainId","$","_c","appChainId","chainId","walletChainId","isConnected","walletChainMatchesAppChain","forcedChainMatchesWalletChain","undefined","t0"],"sources":["../../src/hooks/useChainMatches.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useConnection, useChainId } from \"wagmi\";\n\nexport function useChainMatches(forcedChainId?: SupportedChainId) {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useConnection();\n\n const walletChainMatchesAppChain =\n isConnected && !!walletChainId && appChainId === walletChainId;\n\n const forcedChainMatchesWalletChain =\n isConnected &&\n forcedChainId !== undefined &&\n walletChainId !== undefined &&\n forcedChainId === walletChainId;\n\n return {\n isConnected,\n walletChainMatchesAppChain,\n forcedChainMatchesWalletChain,\n };\n}\n"],"mappings":";;;AAGA,SAAOG,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAmBL,GAAY,EAC/B,EAAAM,SAAAC,GAAAC,mBAAgDT,GAAe,EAE/DU,IACED,KAAA,CAAgB,CAACD,KAAiBF,MAAeE,GAEnDG,IACEF,KACAN,MAAkBS,KAAAA,KAClBJ,MAAkBI,KAAAA,KAClBT,MAAkBK,GAAcK;CAMjC,OANiCT,EAAA,OAAAO,KAAAP,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAE3BG,IAAA;EAAAJ;EAAAC;EAAAC;EAIN,EAAAP,EAAA,KAAAO,GAAAP,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAS,KAAAA,IAAAT,EAAA,IAJMS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnections.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnections.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AA0ChF,wBAAgB,cAAc,CAC5B,UAAU,GAAE,wBAA6B,GACxC,wBAAwB,CAc1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { c as e } from "react-compiler-runtime";
|
|
2
|
+
import { useRef as t, useSyncExternalStore as n } from "react";
|
|
3
|
+
import { useConfig as r } from "wagmi";
|
|
4
|
+
import { deepEqual as i, watchConnections as a } from "@wagmi/core";
|
|
5
|
+
//#region src/hooks/useConnections.ts
|
|
6
|
+
function o(i) {
|
|
7
|
+
let o = e(8), c;
|
|
8
|
+
o[0] === i ? c = o[1] : (c = i === void 0 ? {} : i, o[0] = i, o[1] = c);
|
|
9
|
+
let l = r(c), u;
|
|
10
|
+
o[2] === Symbol.for("react.memo_cache_sentinel") ? (u = [], o[2] = u) : u = o[2];
|
|
11
|
+
let d = t(u), f;
|
|
12
|
+
o[3] === l ? f = o[4] : (f = (e) => a(l, { onChange: e }), o[3] = l, o[4] = f);
|
|
13
|
+
let p = f, m, h;
|
|
14
|
+
return o[5] === l ? (m = o[6], h = o[7]) : (m = () => s(l, d), h = () => s(l, d), o[5] = l, o[6] = m, o[7] = h), n(p, m, h);
|
|
15
|
+
}
|
|
16
|
+
function s(e, t) {
|
|
17
|
+
if (e.state.status === "reconnecting") return t.current;
|
|
18
|
+
let n = [...e.state.connections.values()];
|
|
19
|
+
return i(t.current, n) ? t.current : (t.current = n, n);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { o as useConnections };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=useConnections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnections.js","names":["useCallback","useRef","useSyncExternalStore","RefObject","deepEqual","watchConnections","Config","Connection","GetConnectionsReturnType","useConfig","UseConnectionsParameters","UseConnectionsReturnType","useConnections","t0","$","_c","t1","undefined","parameters","config","t2","Symbol","for","cacheRef","t3","onChange","subscribe","t4","t5","getConnections","state","status","current","connections","values"],"sources":["../../src/hooks/useConnections.ts"],"sourcesContent":["import {\n useCallback,\n useRef,\n useSyncExternalStore,\n type RefObject,\n} from \"react\";\nimport { deepEqual, watchConnections } from \"@wagmi/core\";\nimport type { Config, Connection, GetConnectionsReturnType } from \"@wagmi/core\";\nimport { useConfig } from \"wagmi\";\nimport type { UseConnectionsParameters, UseConnectionsReturnType } from \"wagmi\";\n\n// wagmi's useConnections is implemented with useSyncExternalStore, where getSnapshot\n// calls getConnections(config). That function stabilizes the returned array reference\n// by comparing against a cached value — but the cache is a module-level variable:\n//\n// // @wagmi/core/src/actions/getConnections.ts\n// let previousConnections: Connection[] = [] // ← single shared slot\n//\n// export function getConnections(config) {\n// const connections = [...config.state.connections.values()]\n// if (deepEqual(previousConnections, connections)) return previousConnections\n// previousConnections = connections // ← last caller wins\n// return connections\n// }\n//\n// This is safe when exactly one wagmi Config is active. It breaks when two configs\n// coexist in the same JS module scope — which happens here because the parent app\n// (apps/web) wraps the page in its own <WagmiProvider>, and the widget then renders\n// a second nested <WagmiProvider> with its own internal config.\n//\n// Both configs trigger useSyncExternalStore subscriptions. On disconnect or chain\n// switch the subscriptions fire in quick succession. Each call to getConnections\n// overwrites previousConnections with that caller's result, so the other caller's\n// next getSnapshot call gets a different array reference even though its own\n// connections haven't changed. useSyncExternalStore sees an unstable snapshot and\n// schedules another render, which triggers the subscriptions again — infinite loop.\n// React dev mode surfaces this as \"Maximum update depth exceeded\" because it calls\n// getSnapshot more aggressively than production to detect tearing.\n//\n// Both variants below break the dependency on that shared slot. The \"copy\" variant (removed now)\n// isolates the cache at module level (safe for a single config per module). The\n// \"useRef\" variant isolates it at hook-instance level via useRef (safe for any number\n// of concurrent configs or widget instances).\n\n// --- useRef variant ---\n// Per-instance cache via useRef: fully isolated even if multiple configs or widget\n// instances are active simultaneously. The server snapshot returns a fresh [] without\n// touching any shared state — though in practice the SSR advantage over the copy variant\n// is minimal (connections are always empty on the server, and hooks don't persist between\n// requests anyway).\n\nexport function useConnections(\n parameters: UseConnectionsParameters = {}\n): UseConnectionsReturnType {\n const config = useConfig(parameters);\n const cacheRef = useRef<Connection[]>([]);\n\n const subscribe = useCallback(\n (onChange: () => void) => watchConnections(config, { onChange }),\n [config]\n );\n\n return useSyncExternalStore(\n subscribe,\n () => getConnections(config, cacheRef),\n () => getConnections(config, cacheRef)\n );\n}\n\nfunction getConnections(\n config: Config,\n cacheRef: RefObject<Connection[]>\n): GetConnectionsReturnType {\n if (config.state.status === \"reconnecting\") return cacheRef.current;\n const connections = [...config.state.connections.values()];\n if (deepEqual(cacheRef.current, connections)) return cacheRef.current;\n cacheRef.current = connections;\n return connections;\n}\n"],"mappings":";;;;;AAmDA,SAAOY,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IACoCG,IAAAF,EAAA,MAAzCE,IAAAH,MAAAI,KAAAA,IAAA,EAAyC,GAAzCJ,GAAyCC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAEzC,IAAAG,IAAeV,EAAUS,EAAW,EAACE;CAAA,AAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,IACCF,IAAA,EAAE,EAAAN,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAAxC,IAAAS,IAAiBtB,EAAqBmB,EAAG,EAACI;CAAA,AAAAV,EAAA,OAAAK,IAGwBK,IAAAV,EAAA,MAAhEU,KAAAC,MAA0BpB,EAAiBc,GAAQ,EAAAM,aAAY,CAAC,EAAAX,EAAA,KAAAK,GAAAL,EAAA,KAAAU;CADlE,IAAAE,IAAkBF,GAGhBG,GAAAC;CAKsC,OALtCd,EAAA,OAAAK,KAKsCQ,IAAAb,EAAA,IAAAc,IAAAd,EAAA,OADtCa,UAAME,EAAeV,GAAQI,EAAS,EACtCK,UAAMC,EAAeV,GAAQI,EAAS,EAAAT,EAAA,KAAAK,GAAAL,EAAA,KAAAa,GAAAb,EAAA,KAAAc,IAHjC1B,EACLwB,GACAC,GACAC,EACD;;AAGH,SAASC,EACPV,GACAI,GAC0B;CAC1B,IAAIJ,EAAOW,MAAMC,WAAW,gBAAgB,OAAOR,EAASS;CAC5D,IAAMC,IAAc,CAAC,GAAGd,EAAOW,MAAMG,YAAYC,QAAQ,CAAC;CAG1D,OAFI9B,EAAUmB,EAASS,SAASC,EAAY,GAASV,EAASS,WAC9DT,EAASS,UAAUC,GACZA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAI9E,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7C,UAAU,GAAE,uBAAuB,CAAC,OAAO,CAAM,GAChD,uBAAuB,CAAC,OAAO,CAAC,CAalC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useConnections as e } from "./useConnections.js";
|
|
2
|
+
import { c as t } from "react-compiler-runtime";
|
|
3
|
+
import { useConfig as n } from "wagmi";
|
|
4
|
+
import { disconnectMutationOptions as r, useMutation as i } from "wagmi/query";
|
|
5
|
+
//#region src/hooks/useDisconnect.ts
|
|
6
|
+
function a(a) {
|
|
7
|
+
let s = t(14), c;
|
|
8
|
+
s[0] === a ? c = s[1] : (c = a === void 0 ? {} : a, s[0] = a, s[1] = c);
|
|
9
|
+
let l = c, u = n(l), d;
|
|
10
|
+
s[2] !== u || s[3] !== l ? (d = r(u, l), s[2] = u, s[3] = l, s[4] = d) : d = s[4];
|
|
11
|
+
let f = i(d), p = f, m;
|
|
12
|
+
s[5] === u ? m = s[6] : (m = { config: u }, s[5] = u, s[6] = m);
|
|
13
|
+
let h = e(m), g;
|
|
14
|
+
s[7] === h ? g = s[8] : (g = h.map(o), s[7] = h, s[8] = g);
|
|
15
|
+
let _ = f.mutate, v = f.mutateAsync, y;
|
|
16
|
+
return s[9] !== p || s[10] !== g || s[11] !== _ || s[12] !== v ? (y = {
|
|
17
|
+
...p,
|
|
18
|
+
connectors: g,
|
|
19
|
+
disconnect: _,
|
|
20
|
+
disconnectAsync: v
|
|
21
|
+
}, s[9] = p, s[10] = g, s[11] = _, s[12] = v, s[13] = y) : y = s[13], y;
|
|
22
|
+
}
|
|
23
|
+
function o(e) {
|
|
24
|
+
return e.connector;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { a as useDisconnect };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=useDisconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisconnect.js","names":["useConfig","UseDisconnectParameters","UseDisconnectReturnType","useConnections","disconnectMutationOptions","useMutation","useDisconnect","t0","$","_c","t1","undefined","parameters","config","t2","options","mutation","t3","Return","t4","t5","t6","map","_temp","t7","mutate","t8","mutateAsync","t9","connectors","disconnect","disconnectAsync","connection","connector"],"sources":["../../src/hooks/useDisconnect.ts"],"sourcesContent":["import { useConfig } from \"wagmi\";\nimport type { UseDisconnectParameters, UseDisconnectReturnType } from \"wagmi\";\nimport { useConnections } from \"./useConnections\";\nimport { disconnectMutationOptions, useMutation } from \"wagmi/query\";\n\nexport function useDisconnect<context = unknown>(\n parameters: UseDisconnectParameters<context> = {}\n): UseDisconnectReturnType<context> {\n const config = useConfig(parameters);\n const options = disconnectMutationOptions(config, parameters);\n const mutation = useMutation(options);\n type Return = UseDisconnectReturnType<context>;\n return {\n ...(mutation as Return),\n connectors: useConnections({ config }).map(\n (connection) => connection.connector\n ),\n disconnect: mutation.mutate as Return[\"mutate\"],\n disconnectAsync: mutation.mutateAsync as Return[\"mutateAsync\"],\n };\n}\n"],"mappings":";;;;;AAKA,SAAOM,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAC4CG,IAAAF,EAAA,MAAjDE,IAAAH,MAAAI,KAAAA,IAAA,EAAiD,GAAjDJ,GAAiDC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAAjD,IAAAE,IAAAF,GAEAG,IAAeb,EAAUY,EAAW,EAACE;CAAA,AAAAN,EAAA,OAAAK,KAAAL,EAAA,OAAAI,KACrBE,IAAAV,EAA0BS,GAAQD,EAAW,EAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAC7D,IAAAQ,IAAiBX,EAAYU,EAAQ,EAG/BE,IAAAD,GAAkBG;CAAA,AAAAX,EAAA,OAAAK,IACeM,IAAAX,EAAA,MAAVW,IAAA,EAAAN,WAAU,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAW;CAAzB,IAAAC,IAAAjB,EAAegB,EAAW,EAAAE;CAAA,AAAAb,EAAA,OAAAY,IAErCC,IAAAb,EAAA,MAFWa,IAAAD,EAA0BE,IACpCC,EACD,EAAAf,EAAA,KAAAY,GAAAZ,EAAA,KAAAa;CACW,IAAAG,IAAAR,EAAQS,QACHC,IAAAV,EAAQW,aAAqCC;CAC/D,OAD+DpB,EAAA,OAAAS,KAAAT,EAAA,QAAAa,KAAAb,EAAA,QAAAgB,KAAAhB,EAAA,QAAAkB,KANzDE,IAAA;EAAA,GACDX;EAAkBY,YACVR;EAEXS,YACWN;EAAmCO,iBAC9BL;EAClB,EAAAlB,EAAA,KAAAS,GAAAT,EAAA,MAAAa,GAAAb,EAAA,MAAAgB,GAAAhB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB,KAAAA,IAAApB,EAAA,KAPMoB;;AAPF,SAAAL,EAAAS,GAAA;CAAA,OAUeA,EAAUC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMinViemClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useMinViemClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMinViemClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useMinViemClient.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAOF,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,sBAAsB,CAwBxB;AAYD;;;;;GAKG;AACH,wBAAgB,qBAAqB,SAOpC;AAOD,KAAK,8BAA8B,GAAG;IACpC,gBAAgB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,8BAA8B,CAgBzE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as e } from "react-compiler-runtime";
|
|
2
2
|
import "react";
|
|
3
3
|
import { useQueryClient as t } from "@tanstack/react-query";
|
|
4
|
-
import {
|
|
4
|
+
import { useChainId as n, useConfig as r, useConnection as i, useConnectorClient as a } from "wagmi";
|
|
5
5
|
import { getConnectorClientQueryOptions as o } from "wagmi/query";
|
|
6
6
|
import { readContract as s, signTypedData as c, writeContract as l } from "viem/actions";
|
|
7
7
|
//#region src/hooks/useMinViemClient.ts
|
|
@@ -31,18 +31,18 @@ function d(e) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
function f() {
|
|
34
|
-
let t = e(3), { address:
|
|
35
|
-
t[0] !==
|
|
34
|
+
let t = e(3), { address: r } = i(), o = n(), s;
|
|
35
|
+
t[0] !== r || t[1] !== o ? (s = {
|
|
36
36
|
chainId: o,
|
|
37
|
-
account:
|
|
38
|
-
}, t[0] =
|
|
37
|
+
account: r
|
|
38
|
+
}, t[0] = r, t[1] = o, t[2] = s) : s = t[2], a(s);
|
|
39
39
|
}
|
|
40
40
|
function p() {
|
|
41
|
-
let n = e(5),
|
|
42
|
-
n[0] !== a || n[1] !==
|
|
41
|
+
let n = e(5), i = t(), a = r(), s;
|
|
42
|
+
n[0] !== a || n[1] !== i ? (s = async (e) => {
|
|
43
43
|
let t = o(a, e);
|
|
44
|
-
return d(await
|
|
45
|
-
}, n[0] = a, n[1] =
|
|
44
|
+
return d(await i.ensureQueryData(t));
|
|
45
|
+
}, n[0] = a, n[1] = i, n[2] = s) : s = n[2];
|
|
46
46
|
let c = s, l;
|
|
47
47
|
return n[3] === c ? l = n[4] : (l = { ensureViemClient: c }, n[3] = c, n[4] = l), l;
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMinViemClient.js","names":["useCallback","useMemo","useQueryClient","
|
|
1
|
+
{"version":3,"file":"useMinViemClient.js","names":["useCallback","useMemo","useQueryClient","useConnection","useChainId","useConfig","useConnectorClient","readContract","signTypedData","writeContract","Address","SupportedChainId","MinViemClient","getConnectorClientQueryOptions","GetConnectorClientReturnType","wagmiConfig","UseMinViemClientInput","chainId","account","UseMinViemClientResult","minClient","isLoading","error","Error","isError","ConnectorClient","useMinViemClient","options","$","_c","data","connectorClient","t0","bb0","undefined","t1","constructMinViemClient","params","useCacheMinViemClient","address","EnsureMinViemClientOptions","connector","ReturnType","UseEnsureConnectorClientResult","ensureViemClient","Promise","useEnsureConnectorClient","queryClient","config","queryOptions","ensureQueryData"],"sources":["../../src/hooks/useMinViemClient.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n useConnection,\n useChainId,\n useConfig,\n useConnectorClient,\n} from \"wagmi\";\nimport { readContract, signTypedData, writeContract } from \"viem/actions\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\nimport { getConnectorClientQueryOptions } from \"wagmi/query\";\nimport type { GetConnectorClientReturnType } from \"@wagmi/core\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\ntype UseMinViemClientInput = {\n chainId?: SupportedChainId;\n account?: Address;\n};\n\ntype UseMinViemClientResult = {\n minClient?: MinViemClient;\n isLoading: boolean;\n error: Error | null;\n isError: boolean;\n};\n\ntype ConnectorClient = GetConnectorClientReturnType<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport function useMinViemClient(\n options?: UseMinViemClientInput\n): UseMinViemClientResult {\n const {\n data: connectorClient,\n isLoading,\n error,\n isError,\n } = useConnectorClient(options);\n\n const minClient = useMemo<MinViemClient | undefined>(() => {\n if (!connectorClient) return;\n\n // walletClient(useWalletClient) has writeContract and signTypedData,\n // publicClient(usePublicClient) has readContract\n // sdk requires all of them,\n // easier to compose connectorClient + viem actions (readContract, writeContract)\n return constructMinViemClient(connectorClient);\n }, [connectorClient]);\n\n return {\n minClient,\n isLoading,\n error,\n isError,\n };\n}\n\nfunction constructMinViemClient(\n connectorClient: ConnectorClient\n): MinViemClient {\n return {\n readContract: (params) => readContract(connectorClient, params),\n writeContract: (params) => writeContract(connectorClient, params),\n signTypedData: (params) => signTypedData(connectorClient, params),\n };\n}\n\n/**\n * Keep one subscriber to useConnectorClient query at all times\n * to avoid async client creation on useMinViemClient mount\n * and first useConnectorClient().data being undefined for a short time,\n * which breaks Fill OTC flow which starts from Activities screen\n */\nexport function useCacheMinViemClient() {\n const { address: account } = useConnection();\n const chainId = useChainId();\n useConnectorClient({\n chainId,\n account,\n });\n}\n\ntype EnsureMinViemClientOptions = {\n chainId?: SupportedChainId;\n connector?: ReturnType<typeof useConnection>[\"connector\"];\n};\n\ntype UseEnsureConnectorClientResult = {\n ensureViemClient: (options: UseMinViemClientInput) => Promise<MinViemClient>;\n};\n\n/**\n * Returns a function that loads the connector client on demand via\n * queryClient.ensureQueryData and getConnectorClientQueryOptions.\n * Uses current account's chainId and connector when options are omitted.\n */\nexport function useEnsureConnectorClient(): UseEnsureConnectorClientResult {\n const queryClient = useQueryClient();\n const config = useConfig();\n\n const ensureViemClient = useCallback(\n async (options: EnsureMinViemClientOptions): Promise<MinViemClient> => {\n const queryOptions = getConnectorClientQueryOptions(config, options);\n\n const connectorClient = await queryClient.ensureQueryData(queryOptions);\n\n return constructMinViemClient(connectorClient);\n },\n [queryClient, config]\n );\n\n return { ensureViemClient };\n}\n"],"mappings":";;;;;;;AAiCA,SAAO0B,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAGL,EAAAC,MAAAC,GAAAV,cAAAC,UAAAE,eAKIlB,EAAmBqB,EAAQ,EAACK;CAAAC,KAAA;EAG9B,IAAI,CAACF,GAAe;GAAEC,IAAAE,KAAAA;GAAA,MAAAD;;EAAO,IAAAE;EAM7BH,AAN6BJ,EAAA,OAAAG,IAMiBI,IAAAP,EAAA,MAAvCO,IAAAC,EAAuBL,EAAgB,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAO,IAA9CH,IAAOG;;CAPT,IAAAf,IAAkBY,GAQIG;CAOrB,OAPqBP,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAAAI,EAAA,OAAAP,KAAAO,EAAA,OAAAR,KAEfe,IAAA;EAAAf;EAAAC;EAAAC;EAAAE;EAKN,EAAAI,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAP,GAAAO,EAAA,KAAAR,GAAAQ,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IALMO;;AAQT,SAASC,EACPL,GACe;CACf,OAAO;EACLxB,eAAe8B,MAAW9B,EAAawB,GAAiBM,EAAO;EAC/D5B,gBAAgB4B,MAAW5B,EAAcsB,GAAiBM,EAAO;EACjE7B,gBAAgB6B,MAAW7B,EAAcuB,GAAiBM,EAAM;EACjE;;AASH,SAAOC,IAAA;CAAA,IAAAV,IAAAC,EAAA,EAAA,EACL,EAAAU,SAAArB,MAA6Bf,GAAe,EAC5Cc,IAAgBb,GAAY,EAAC4B;CAC7B1B,AAD6BsB,EAAA,OAAAV,KAAAU,EAAA,OAAAX,KACVe,IAAA;EAAAf;EAAAC;EAGlB,EAAAU,EAAA,KAAAV,GAAAU,EAAA,KAAAX,GAAAW,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAHDtB,EAAmB0B,EAGjB;;AAiBJ,SAAOc,IAAA;CAAA,IAAAlB,IAAAC,EAAA,EAAA,EACLkB,IAAoB7C,GAAgB,EACpC8C,IAAe3C,GAAW,EAAC2B;CAAA,AAAAJ,EAAA,OAAAoB,KAAApB,EAAA,OAAAmB,KAGzBf,IAAA,OAAAL,MAAA;EACE,IAAAsB,IAAqBpC,EAA+BmC,GAAQrB,EAAQ;EAEI,OAEjES,EAAuBL,MAFAgB,EAAWG,gBAAiBD,EAAa,CAEzB;IAC/CrB,EAAA,KAAAoB,GAAApB,EAAA,KAAAmB,GAAAnB,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAPH,IAAAgB,IAAyBZ,GASvBG;CAEyB,OAFzBP,EAAA,OAAAgB,IAEyBT,IAAAP,EAAA,MAApBO,IAAA,EAAAS,qBAAoB,EAAAhB,EAAA,KAAAgB,GAAAhB,EAAA,KAAAO,IAApBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"AAGA,OAAO,EAeL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAKlB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,yBAAyB,EAE9B,KAAK,8BAA8B,EAEnC,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAG3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAM7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA6B9C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useSDK.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSDK.js","names":["axios","useMemo","constructAxiosFetcher","constructFetchFetcher","constructPartialSDK","constructGetSpender","constructGetAdapters","constructBuildTx","constructAllOTCOrdersHandlers","constructGetRate","constructPreSignDeltaOrder","constructPostDeltaOrder","constructCancelDeltaOrder","constructIsTokenSupportedInDelta","constructDeltaTokenModule","constructViemContractCaller","OTCOrderHandlers","GetRateFunctions","APIVersion","PreSignDeltaOrderFunctions","CancelDeltaOrderFunctions","IsTokenSupportedInDeltaFunctions","BuildTxFunctions","GetSpenderFunctions","GetAdaptersFunctions","MinViemClient","constructGetOTCOrders","constructBuildOTCOrder","constructPostOTCOrder","constructFillOTCOrder","GetOTCOrdersFunctions","BuildOTCOrderFunctions","PostOTCOrderFunctions","FillOTCOrderFunctions","ContractCallerFunctions","DeltaTokenModuleFunctions","constructPreSignTWAPDeltaOrder","PreSignTWAPDeltaOrderFunctions","constructPostTWAPDeltaOrder","GetBridgeRoutesFunctions","GetAgentsListFunctions","constructGetBridgeRoutes","constructGetAgentsList","GetDeltaPriceFunctions","GetDeltaOrdersFunctions","BuildDeltaOrderFunctions","PostDeltaOrderFunctions","BuildTWAPDeltaOrderFunctions","PostTWAPDeltaOrderFunctions","SignDeltaOrderFunctions","constructGetDeltaPrice","constructGetDeltaOrders","constructBuildDeltaOrder","constructBuildTWAPDeltaOrder","constructSignDeltaOrder","encodeFunctionData","Address","Hash","Hex","Prettify","getLogger","getApiURL","useApiConfig","useSDKFetcher","apiConfig","useKeepAliveSDKFetcher","window","fetch","keepalive","SDKCreateParams","chainId","apiURL","account","MarketSwapSDK","ConstructedSDKOutput","sdk","T","appVersion","useMarketSwapSDK","fetcher","SDKconfig","version","OTCOrdersSDKCreateParams","client","ReadOnlyOTCOrdersSDK","OTCOrdersSDK","otcSDKLogger","useOTCOrdersSDK","once","log","contractCaller","CalldataContractCaller","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","staticCall","Error","signTypedDataCall","useFetchOnlySDK","Partial","calldataSDKLogger","useCalldataSDK","Omit","ReadOnlyDeltaSDK","DeltaSDK","DeltaSDKCreateParams","deltaSDKLogger","useDeltaSDK"],"sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructGetAdapters,\n constructBuildTx,\n constructAllOTCOrdersHandlers,\n constructGetRate,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructIsTokenSupportedInDelta,\n constructDeltaTokenModule,\n constructViemContractCaller,\n type OTCOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type GetAdaptersFunctions,\n type MinViemClient,\n constructGetOTCOrders,\n constructBuildOTCOrder,\n constructPostOTCOrder,\n constructFillOTCOrder,\n type GetOTCOrdersFunctions,\n type BuildOTCOrderFunctions,\n type PostOTCOrderFunctions,\n type FillOTCOrderFunctions,\n type ContractCallerFunctions,\n type DeltaTokenModuleFunctions,\n constructPreSignTWAPDeltaOrder,\n type PreSignTWAPDeltaOrderFunctions,\n constructPostTWAPDeltaOrder,\n type GetBridgeRoutesFunctions,\n type GetAgentsListFunctions,\n constructGetBridgeRoutes,\n constructGetAgentsList,\n type GetDeltaPriceFunctions,\n type GetDeltaOrdersFunctions,\n type BuildDeltaOrderFunctions,\n type PostDeltaOrderFunctions,\n type BuildTWAPDeltaOrderFunctions,\n type PostTWAPDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructSignDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions &\n BuildTxFunctions &\n GetRateFunctions &\n GetAdaptersFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructGetAdapters,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype OTCOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyOTCOrdersSDK = Prettify<\n GetOTCOrdersFunctions & BuildOTCOrderFunctions & PostOTCOrderFunctions\n>;\n\nexport type OTCOrdersSDK = Prettify<OTCOrderHandlers<Hash>>;\n\nconst otcSDKLogger = getLogger(\"OTCOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyOTCOrdersSDK>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<OTCOrdersSDK>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams): ConstructedSDKOutput<\n OTCOrdersSDK | ReadOnlyOTCOrdersSDK\n>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams): ConstructedSDKOutput<\n OTCOrdersSDK | ReadOnlyOTCOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n otcSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetOTCOrders,\n constructBuildOTCOrder,\n constructPostOTCOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllOTCOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<\n ConstructedSDKOutput<PostDeltaOrderFunctions>\n> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<OTCOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOTCOrderFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions &\n PreSignTWAPDeltaOrderFunctions<Hex> &\n BuildTWAPDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOTCOrder,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder,\n constructPreSignTWAPDeltaOrder,\n constructBuildTWAPDeltaOrder\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaPriceFunctions &\n GetDeltaOrdersFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n BuildTWAPDeltaOrderFunctions &\n PostTWAPDeltaOrderFunctions &\n GetBridgeRoutesFunctions &\n IsTokenSupportedInDeltaFunctions &\n GetAgentsListFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK &\n SignDeltaOrderFunctions &\n CancelDeltaOrderFunctions &\n PreSignDeltaOrderFunctions<Hash> &\n DeltaTokenModuleFunctions<Hash> &\n PreSignTWAPDeltaOrderFunctions<Hash>\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<\n DeltaSDK | ReadOnlyDeltaSDK\n>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<\n DeltaSDK | ReadOnlyDeltaSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructPostTWAPDeltaOrder,\n constructGetBridgeRoutes,\n constructIsTokenSupportedInDelta,\n constructGetAgentsList\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructPostTWAPDeltaOrder,\n constructGetBridgeRoutes,\n constructIsTokenSupportedInDelta,\n constructGetAgentsList,\n constructSignDeltaOrder,\n constructCancelDeltaOrder,\n constructPreSignDeltaOrder,\n constructPreSignTWAPDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSDK.js","names":["axios","useMemo","constructAxiosFetcher","constructFetchFetcher","constructPartialSDK","constructGetSpender","constructGetAdapters","constructBuildTx","constructAllOTCOrdersHandlers","constructGetRate","constructPreSignDeltaOrder","constructPostDeltaOrder","constructCancelDeltaOrder","constructIsTokenSupportedInDelta","constructDeltaTokenModule","constructViemContractCaller","OTCOrderHandlers","GetRateFunctions","APIVersion","PreSignDeltaOrderFunctions","CancelDeltaOrderFunctions","IsTokenSupportedInDeltaFunctions","BuildTxFunctions","GetSpenderFunctions","GetAdaptersFunctions","MinViemClient","constructGetOTCOrders","constructBuildOTCOrder","constructPostOTCOrder","constructFillOTCOrder","GetOTCOrdersFunctions","BuildOTCOrderFunctions","PostOTCOrderFunctions","FillOTCOrderFunctions","ContractCallerFunctions","DeltaTokenModuleFunctions","constructPreSignTWAPDeltaOrder","PreSignTWAPDeltaOrderFunctions","constructPostTWAPDeltaOrder","GetBridgeRoutesFunctions","GetAgentsListFunctions","constructGetBridgeRoutes","constructGetAgentsList","GetDeltaPriceFunctions","GetDeltaOrdersFunctions","BuildDeltaOrderFunctions","PostDeltaOrderFunctions","BuildTWAPDeltaOrderFunctions","PostTWAPDeltaOrderFunctions","SignDeltaOrderFunctions","constructGetDeltaPrice","constructGetDeltaOrders","constructBuildDeltaOrder","constructBuildTWAPDeltaOrder","constructSignDeltaOrder","encodeFunctionData","Address","Hash","Hex","Prettify","getLogger","getApiURL","useApiConfig","useSDKFetcher","apiConfig","useKeepAliveSDKFetcher","window","fetch","keepalive","SDKCreateParams","chainId","apiURL","account","MarketSwapSDK","ConstructedSDKOutput","sdk","T","appVersion","useMarketSwapSDK","fetcher","SDKconfig","version","OTCOrdersSDKCreateParams","client","ReadOnlyOTCOrdersSDK","OTCOrdersSDK","otcSDKLogger","useOTCOrdersSDK","once","log","contractCaller","CalldataContractCaller","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","staticCall","Error","signTypedDataCall","useFetchOnlySDK","Partial","calldataSDKLogger","useCalldataSDK","Omit","ReadOnlyDeltaSDK","DeltaSDK","DeltaSDKCreateParams","deltaSDKLogger","useDeltaSDK"],"sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructGetAdapters,\n constructBuildTx,\n constructAllOTCOrdersHandlers,\n constructGetRate,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructIsTokenSupportedInDelta,\n constructDeltaTokenModule,\n constructViemContractCaller,\n type OTCOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type GetAdaptersFunctions,\n type MinViemClient,\n constructGetOTCOrders,\n constructBuildOTCOrder,\n constructPostOTCOrder,\n constructFillOTCOrder,\n type GetOTCOrdersFunctions,\n type BuildOTCOrderFunctions,\n type PostOTCOrderFunctions,\n type FillOTCOrderFunctions,\n type ContractCallerFunctions,\n type DeltaTokenModuleFunctions,\n constructPreSignTWAPDeltaOrder,\n type PreSignTWAPDeltaOrderFunctions,\n constructPostTWAPDeltaOrder,\n type GetBridgeRoutesFunctions,\n type GetAgentsListFunctions,\n constructGetBridgeRoutes,\n constructGetAgentsList,\n type GetDeltaPriceFunctions,\n type GetDeltaOrdersFunctions,\n type BuildDeltaOrderFunctions,\n type PostDeltaOrderFunctions,\n type BuildTWAPDeltaOrderFunctions,\n type PostTWAPDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructSignDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions &\n BuildTxFunctions &\n GetRateFunctions &\n GetAdaptersFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructGetAdapters,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype OTCOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyOTCOrdersSDK = Prettify<\n GetOTCOrdersFunctions & BuildOTCOrderFunctions & PostOTCOrderFunctions\n>;\n\nexport type OTCOrdersSDK = Prettify<OTCOrderHandlers<Hash>>;\n\nconst otcSDKLogger = getLogger(\"OTCOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyOTCOrdersSDK>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<OTCOrdersSDK>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams): ConstructedSDKOutput<\n OTCOrdersSDK | ReadOnlyOTCOrdersSDK\n>;\nexport function useOTCOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: OTCOrdersSDKCreateParams): ConstructedSDKOutput<\n OTCOrdersSDK | ReadOnlyOTCOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n otcSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetOTCOrders,\n constructBuildOTCOrder,\n constructPostOTCOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllOTCOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<OTCOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOTCOrderFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions &\n PreSignTWAPDeltaOrderFunctions<Hex> &\n BuildTWAPDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOTCOrder,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder,\n constructPreSignTWAPDeltaOrder,\n constructBuildTWAPDeltaOrder\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaPriceFunctions &\n GetDeltaOrdersFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n BuildTWAPDeltaOrderFunctions &\n PostTWAPDeltaOrderFunctions &\n GetBridgeRoutesFunctions &\n IsTokenSupportedInDeltaFunctions &\n GetAgentsListFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK &\n SignDeltaOrderFunctions &\n CancelDeltaOrderFunctions &\n PreSignDeltaOrderFunctions<Hash> &\n DeltaTokenModuleFunctions<Hash> &\n PreSignTWAPDeltaOrderFunctions<Hash>\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructPostTWAPDeltaOrder,\n constructGetBridgeRoutes,\n constructIsTokenSupportedInDelta,\n constructGetAgentsList\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructBuildTWAPDeltaOrder,\n constructPostTWAPDeltaOrder,\n constructGetBridgeRoutes,\n constructIsTokenSupportedInDelta,\n constructGetAgentsList,\n constructSignDeltaOrder,\n constructCancelDeltaOrder,\n constructPreSignDeltaOrder,\n constructPreSignTWAPDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { switchChain as e } from "../lib/web3/wagmi/switchChain.js";
|
|
|
2
2
|
import { useEnsureConnectorClient as t } from "./useMinViemClient.js";
|
|
3
3
|
import { c as n } from "react-compiler-runtime";
|
|
4
4
|
import { useMutation as r } from "@tanstack/react-query";
|
|
5
|
-
import {
|
|
5
|
+
import { useConnection as i } from "wagmi";
|
|
6
6
|
//#region src/hooks/useSwitchChainWithGuard.ts
|
|
7
7
|
function a(a) {
|
|
8
8
|
let o = n(9), s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwitchChainWithGuard.js","names":["switchChain","switchChainUtil","SupportedChainId","useEnsureConnectorClient","
|
|
1
|
+
{"version":3,"file":"useSwitchChainWithGuard.js","names":["switchChain","switchChainUtil","SupportedChainId","useEnsureConnectorClient","useConnection","useMutation","UseMutationOptions","SwitchChainWithGuardInput","chainId","UseSwitchChainWithGuardMutationOption","Omit","Error","UseSwitchChainWithGuardInput","mutationOptions","useSwitchChainWithGuard","t0","$","_c","t1","undefined","address","account","ensureViemClient","t2","Symbol","for","t3","t4","mutationKey","mutationFn"],"sources":["../../src/hooks/useSwitchChainWithGuard.ts"],"sourcesContent":["import { switchChain as switchChainUtil } from \"@/lib/web3/wagmi/switchChain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureConnectorClient } from \"./useMinViemClient\";\nimport { useConnection } from \"wagmi\";\nimport { useMutation, type UseMutationOptions } from \"@tanstack/react-query\";\n\ntype SwitchChainWithGuardInput = {\n chainId: SupportedChainId;\n};\n\ntype UseSwitchChainWithGuardMutationOption = Omit<\n UseMutationOptions<void, Error, SwitchChainWithGuardInput, void>,\n \"mutationFn\" | \"mutationKey\"\n>;\n\ntype UseSwitchChainWithGuardInput = {\n mutationOptions?: UseSwitchChainWithGuardMutationOption;\n};\n\nexport function useSwitchChainWithGuard({\n mutationOptions,\n}: UseSwitchChainWithGuardInput = {}) {\n const { address: account } = useConnection();\n const { ensureViemClient } = useEnsureConnectorClient();\n\n return useMutation<void, Error, SwitchChainWithGuardInput, void>({\n mutationKey: [\"switchChainWithGuard\"],\n mutationFn: async ({ chainId }) => {\n await switchChainUtil({\n chainId,\n });\n // guard against using minClient with wrong chainId\n await ensureViemClient({\n chainId,\n account,\n });\n },\n ...mutationOptions,\n });\n}\n"],"mappings":";;;;;;AAmBA,SAAOc,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAE6BG,IAAAF,EAAA,MAFIE,IAAAH,MAAAI,KAAAA,IAAA,EAEJ,GAFIJ,GAEJC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAFI,IAAA,EAAAL,uBAAAK,GAGtC,EAAAE,SAAAC,MAA6BjB,GAAe,EAC5C,EAAAkB,wBAA6BnB,GAA0B,EAACoB;CAAA,AAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,IAGzCF,IAAA,CAAC,uBAAuB,EAAAP,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAU;CAAA,AAAAV,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KACzBI,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAnB,eAAAmB;EAKjB,AAJA,MAAM1B,EAAgB,EAAAO,YAErB,CAAC,EAEF,MAAMc,EAAiB;GAAAd;GAAAa;GAGtB,CAAC;IACHL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAW;CAEF,OAFEX,EAAA,OAAAH,KAAAG,EAAA,OAAAU,KAX8DC,IAAA;EAAAC,aAClDL;EAAwBM,YACzBH;EASX,GACEb;EACJ,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAU,GAAAV,EAAA,KAAAW,KAAAA,IAAAX,EAAA,IAbMX,EAA0DsB,EAa/D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jotaiStore as e } from "../../core/store.js";
|
|
2
2
|
import { devURLsAtom as t } from "../../core/state/configAtom.js";
|
|
3
3
|
//#region src/lib/constants/urls.ts
|
|
4
|
-
var n = "https://api.
|
|
4
|
+
var n = "https://api.velora.xyz", r = "https://proxy.paraswap.io", i = "https://explorer.velora.xyz";
|
|
5
5
|
function a() {
|
|
6
6
|
let { apiURL: r } = e.get(t);
|
|
7
7
|
return r || n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","names":["jotaiStore","devURLsAtom","PROD_API_URL","PROD_PROXY_API_URL","PROD_EXPLORER_URL","getApiURL","apiURL","get","getApiProxyURL","apiProxyURL","getExplorerURL","explorerURL"],"sources":["../../../src/lib/constants/urls.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { devURLsAtom } from \"@/core/state/configAtom\";\n\nconst PROD_API_URL = \"https://api.
|
|
1
|
+
{"version":3,"file":"urls.js","names":["jotaiStore","devURLsAtom","PROD_API_URL","PROD_PROXY_API_URL","PROD_EXPLORER_URL","getApiURL","apiURL","get","getApiProxyURL","apiProxyURL","getExplorerURL","explorerURL"],"sources":["../../../src/lib/constants/urls.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { devURLsAtom } from \"@/core/state/configAtom\";\n\nconst PROD_API_URL = \"https://api.velora.xyz\";\nconst PROD_PROXY_API_URL = \"https://proxy.paraswap.io\";\nconst PROD_EXPLORER_URL = \"https://explorer.velora.xyz\";\n\nexport function getApiURL(): string {\n const { apiURL } = jotaiStore.get(devURLsAtom);\n if (apiURL) return apiURL;\n\n return PROD_API_URL;\n}\n\nexport function getApiProxyURL(): string {\n const { apiProxyURL } = jotaiStore.get(devURLsAtom);\n if (apiProxyURL) return apiProxyURL;\n\n return PROD_PROXY_API_URL;\n}\n\nexport function getExplorerURL(): string {\n const { explorerURL } = jotaiStore.get(devURLsAtom);\n if (explorerURL) return explorerURL;\n return PROD_EXPLORER_URL;\n}\n"],"mappings":";;;AAGA,IAAME,IAAe,0BACfC,IAAqB,6BACrBC,IAAoB;AAE1B,SAAgBC,IAAoB;CAClC,IAAM,EAAEC,cAAWN,EAAWO,IAAIN,EAAY;CAG9C,OAFIK,KAEGJ;;AAGT,SAAgBM,IAAyB;CACvC,IAAM,EAAEC,mBAAgBT,EAAWO,IAAIN,EAAY;CAGnD,OAFIQ,KAEGN;;AAGT,SAAgBO,IAAyB;CACvC,IAAM,EAAEC,mBAAgBX,EAAWO,IAAIN,EAAY;CAEnD,OADIU,KACGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twap.js","names":["DeltaOrderStatus","DeltaPrice","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","replaceUnderscoresWithSpaces","DeltaAuctionWithTwapOrder","TwapSellOrBuyOrder","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","route","origin","input","amount","destAmount","destination","output","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number","getTwapAuctionDeadlines","order","createdAt","interval","durationMs","startMs","Date","getTime","now","endsInMs","getDisplayedDeltaOrderStatus","status","twapSliceInfo","Pick","transactions","length","getTwapOrderDeadlineFromSlices"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrderStatus, DeltaPrice } from \"@velora-dex/sdk\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\nimport { replaceUnderscoresWithSpaces } from \".\";\nimport type {\n DeltaAuctionWithTwapOrder,\n TwapSellOrBuyOrder,\n} from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaPrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({\n chunkWei: price.route.origin.input.amount,\n numSlices,\n }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.route.destination.output.amount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n\nexport function getTwapAuctionDeadlines({\n order,\n createdAt,\n}: {\n order: { numSlices: number; interval: number };\n createdAt: string | null;\n}) {\n const durationMs = order.numSlices * order.interval * 1000;\n const startMs = createdAt ? new Date(createdAt).getTime() : Date.now();\n const endsInMs = startMs + durationMs;\n return { endsInMs, durationMs };\n}\n\n/**\n * @description Formats a v2 order status for display.\n */\nexport function getDisplayedDeltaOrderStatus(status: DeltaOrderStatus): string {\n if (status === \"AWAITING_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n/**\n * @description Returns the \"executed/total\" slice count for a TWAP v2 order.\n */\nexport function twapSliceInfo(\n order: Pick<DeltaAuctionWithTwapOrder, \"transactions\" | \"order\">\n): string {\n return `${order.transactions.length}/${order.order.numSlices}`;\n}\n\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n
|
|
1
|
+
{"version":3,"file":"twap.js","names":["DeltaOrderStatus","DeltaPrice","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","replaceUnderscoresWithSpaces","DeltaAuctionWithTwapOrder","TwapSellOrBuyOrder","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","route","origin","input","amount","destAmount","destination","output","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number","getTwapAuctionDeadlines","order","createdAt","interval","durationMs","startMs","Date","getTime","now","endsInMs","getDisplayedDeltaOrderStatus","status","twapSliceInfo","Pick","transactions","length","getTwapOrderDeadlineFromSlices"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrderStatus, DeltaPrice } from \"@velora-dex/sdk\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\nimport { replaceUnderscoresWithSpaces } from \".\";\nimport type {\n DeltaAuctionWithTwapOrder,\n TwapSellOrBuyOrder,\n} from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaPrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({\n chunkWei: price.route.origin.input.amount,\n numSlices,\n }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.route.destination.output.amount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n\nexport function getTwapAuctionDeadlines({\n order,\n createdAt,\n}: {\n order: { numSlices: number; interval: number };\n createdAt: string | null;\n}) {\n const durationMs = order.numSlices * order.interval * 1000;\n const startMs = createdAt ? new Date(createdAt).getTime() : Date.now();\n const endsInMs = startMs + durationMs;\n return { endsInMs, durationMs };\n}\n\n/**\n * @description Formats a v2 order status for display.\n */\nexport function getDisplayedDeltaOrderStatus(status: DeltaOrderStatus): string {\n if (status === \"AWAITING_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n/**\n * @description Returns the \"executed/total\" slice count for a TWAP v2 order.\n */\nexport function twapSliceInfo(\n order: Pick<DeltaAuctionWithTwapOrder, \"transactions\" | \"order\">\n): string {\n return `${order.transactions.length}/${order.order.numSlices}`;\n}\n\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n order.numSlices * order.interval // order.interval is in seconds\n );\n}\n"],"mappings":";;;;;;AAWA,SAAgBU,EAAmB,EACjCC,aACAC,gBAIS;CAET,OADIA,KAAa,KAAKD,MAAa,MAAYA,IACxCT,EAAIS,EAAS,CAACE,IAAID,EAAU,CAACE,QAAQ,GAAG,EAAE;;AAGnD,SAAgBC,EAAmB,EACjCC,aACAJ,gBAIS;CAET,OADIA,KAAa,KAAKI,MAAa,MAAYA,IACxCd,EAAIc,EAAS,CAACC,IAAIL,EAAU,CAACE,SAAS;;AAG/C,SAAgBI,EAAwB,EACtCC,UACAP,gBAIC;CACD,OAAO;EACLQ,WAAWL,EAAmB;GAC5BC,UAAUG,EAAME,MAAMC,OAAOC,MAAMC;GACnCZ;GACD,CAAC;EACFa,YAAYV,EAAmB;GAC7BC,UAAUG,EAAME,MAAMK,YAAYC,OAAOH;GACzCZ;GACD,CAAA;EACF;;AAEH,SAAgBgB,EAAqB,EACnCC,gBACAjB,gBAIC;CACD,IAAMkB,IAAkB1B,EAAsByB,EAAY,EACpDE,IAAgBzB,EAEpBwB,IAAkBzB,EACnB,EACK2B,IAAgBC,KAAKC,MACzB/B,EAAsB2B,EAAgB,GAAGlB,EAC1C;CAED,OAAO;EACLmB,eAAeI,OAAOJ,EAAc;EACpCC;EACD;;AAGH,SAAgBI,EAAwB,EACtCC,UACAC,gBAIC;CACD,IAAME,IAAaH,EAAMzB,YAAYyB,EAAME,WAAW;CAGtD,OAAO;EAAEM,WAFOP,IAAY,IAAII,KAAKJ,EAAU,CAACK,SAAS,GAAGD,KAAKE,KAAK,IAC3CJ;EACRA;EAAY;;AAMjC,SAAgBM,EAA6BC,GAAkC;CAE7E,OADIA,MAAW,uBAA6B,aACrCxC,EAA6BwC,EAAO;;AAM7C,SAAgBC,EACdX,GACQ;CACR,OAAO,GAAGA,EAAMa,aAAaC,OAAM,GAAId,EAAMA,MAAMzB;;AAGrD,SAAgBwC,EACdf,GACAC,GACA;CACA,OAAOL,KAAKC,MACV/B,EAAsB,IAAIuC,KAAKJ,EAAU,CAACK,SAAS,CAAC,GAClDN,EAAMzB,YAAYyB,EAAME,SAC3B"}
|