@0xsquid/react-hooks 6.7.0-rollup-beta.1 → 6.7.0
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/core/abis/ics20.json +128 -0
- package/dist/core/connectors/bitcoin/errors/index.js +22 -0
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/helpers.js +86 -0
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -0
- package/dist/core/connectors/bitcoin/index.js +2 -0
- package/dist/core/connectors/bitcoin/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js +4 -0
- package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js +56 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +1 -0
- package/dist/core/constants.js +144 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/externalLinks.js +21 -0
- package/dist/core/externalLinks.js.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/multicall3.js +442 -0
- package/dist/core/multicall3.js.map +1 -0
- package/dist/core/providers/CosmosProvider.js +13 -0
- package/dist/core/providers/CosmosProvider.js.map +1 -0
- package/dist/core/providers/SolanaProvider.js +15 -0
- package/dist/core/providers/SolanaProvider.js.map +1 -0
- package/dist/core/providers/SuiProvider.js +15 -0
- package/dist/core/providers/SuiProvider.js.map +1 -0
- package/dist/core/queries/queries-keys.d.ts +2 -2
- package/dist/core/queries/queries-keys.js +206 -0
- package/dist/core/queries/queries-keys.js.map +1 -0
- package/dist/core/queries/react-query-config.js +11 -0
- package/dist/core/queries/react-query-config.js.map +1 -0
- package/dist/core/types/config.d.ts +2 -0
- package/dist/core/types/config.js +2 -0
- package/dist/core/types/config.js.map +1 -0
- package/dist/core/types/dex.js +33 -0
- package/dist/core/types/dex.js.map +1 -0
- package/dist/core/types/error.js +12 -0
- package/dist/core/types/error.js.map +1 -0
- package/dist/core/types/event.d.ts +5 -0
- package/dist/core/types/event.js +2 -0
- package/dist/core/types/event.js.map +1 -0
- package/dist/core/types/index.js +2 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/rpc.js +2 -0
- package/dist/core/types/rpc.js.map +1 -0
- package/dist/core/types/sui.js +2 -0
- package/dist/core/types/sui.js.map +1 -0
- package/dist/core/types/swap.js +2 -0
- package/dist/core/types/swap.js.map +1 -0
- package/dist/core/types/tokens.js +2 -0
- package/dist/core/types/tokens.js.map +1 -0
- package/dist/core/types/transaction.js +41 -0
- package/dist/core/types/transaction.js.map +1 -0
- package/dist/core/types/wallet.js +26 -0
- package/dist/core/types/wallet.js.map +1 -0
- package/dist/core/wagmiConfig.js +60 -0
- package/dist/core/wagmiConfig.js.map +1 -0
- package/dist/core/wallets.js +549 -0
- package/dist/core/wallets.js.map +1 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.d.ts +12 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js +22 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js.map +1 -0
- package/dist/hooks/chains/useSquidChains.js +107 -0
- package/dist/hooks/chains/useSquidChains.js.map +1 -0
- package/dist/hooks/client/useClient.js +6 -0
- package/dist/hooks/client/useClient.js.map +1 -0
- package/dist/hooks/cosmos/useCosmos.js +172 -0
- package/dist/hooks/cosmos/useCosmos.js.map +1 -0
- package/dist/hooks/cosmos/useCosmosForChain.js +33 -0
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -0
- package/dist/hooks/index.d.ts +5 -5
- package/dist/hooks/index.js +45 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/navigation/useKeyboardNavigation.js +67 -0
- package/dist/hooks/navigation/useKeyboardNavigation.js.map +1 -0
- package/dist/hooks/query/useSquidQueryClient.js +23 -0
- package/dist/hooks/query/useSquidQueryClient.js.map +1 -0
- package/dist/hooks/solana/useSolana.js +104 -0
- package/dist/hooks/solana/useSolana.js.map +1 -0
- package/dist/hooks/squid/useSquid.js +55 -0
- package/dist/hooks/squid/useSquid.js.map +1 -0
- package/dist/hooks/store/useAddressBookStore.js +26 -0
- package/dist/hooks/store/useAddressBookStore.js.map +1 -0
- package/dist/hooks/store/useAssetsColorsStore.js +7 -0
- package/dist/hooks/store/useAssetsColorsStore.js.map +1 -0
- package/dist/hooks/store/useDepositAddressStore.js +12 -0
- package/dist/hooks/store/useDepositAddressStore.js.map +1 -0
- package/dist/hooks/store/useFavoriteTokensStore.js +28 -0
- package/dist/hooks/store/useFavoriteTokensStore.js.map +1 -0
- package/dist/hooks/store/useHistoryStore.js +41 -0
- package/dist/hooks/store/useHistoryStore.js.map +1 -0
- package/dist/hooks/store/useSquidStore.js +56 -0
- package/dist/hooks/store/useSquidStore.js.map +1 -0
- package/dist/hooks/store/useWalletStore.js +42 -0
- package/dist/hooks/store/useWalletStore.js.map +1 -0
- package/dist/hooks/sui/useSui.js +28 -0
- package/dist/hooks/sui/useSui.js.map +1 -0
- package/dist/hooks/sui/useSuiClient.js +16 -0
- package/dist/hooks/sui/useSuiClient.js.map +1 -0
- package/dist/hooks/sui/useSuiWallets.js +42 -0
- package/dist/hooks/sui/useSuiWallets.js.map +1 -0
- package/dist/hooks/swap/useDepositAddress.js +63 -0
- package/dist/hooks/swap/useDepositAddress.js.map +1 -0
- package/dist/hooks/swap/useSwap.js +209 -0
- package/dist/hooks/swap/useSwap.js.map +1 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +103 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -0
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +119 -0
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -0
- package/dist/hooks/tokens/useBalance.js +136 -0
- package/dist/hooks/tokens/useBalance.js.map +1 -0
- package/dist/hooks/tokens/useMultiChainBalance.js +68 -0
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -0
- package/dist/hooks/tokens/useMultipleTokenPrices.js +46 -0
- package/dist/hooks/tokens/useMultipleTokenPrices.js.map +1 -0
- package/dist/hooks/tokens/useNativeBalance.js +217 -0
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js +28 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -0
- package/dist/hooks/tokens/useSingleTokenPrice.js +38 -0
- package/dist/hooks/tokens/useSingleTokenPrice.js.map +1 -0
- package/dist/hooks/tokens/useSquidTokens.js +80 -0
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -0
- package/dist/hooks/tokens/useTokenHistoricalData.js +23 -0
- package/dist/hooks/tokens/useTokenHistoricalData.js.map +1 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js +68 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -0
- package/dist/hooks/transaction/useApproval.js +223 -0
- package/dist/hooks/transaction/useApproval.js.map +1 -0
- package/dist/hooks/transaction/useErc20Allowance.js +43 -0
- package/dist/hooks/transaction/useErc20Allowance.js.map +1 -0
- package/dist/hooks/transaction/useEstimate.js +118 -0
- package/dist/hooks/transaction/useEstimate.js.map +1 -0
- package/dist/hooks/transaction/useEstimatePriceImpact.js +31 -0
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +605 -0
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -0
- package/dist/hooks/transaction/useGetRoute.d.ts +3 -0
- package/dist/hooks/transaction/useGetRoute.js +230 -0
- package/dist/hooks/transaction/useGetRoute.js.map +1 -0
- package/dist/hooks/transaction/useIcs20Allowance.js +40 -0
- package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -0
- package/dist/hooks/transaction/useRouteWarnings.js +19 -0
- package/dist/hooks/transaction/useRouteWarnings.js.map +1 -0
- package/dist/hooks/transaction/useSingleTransaction.js +91 -0
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -0
- package/dist/hooks/user/useAvatar.js +34 -0
- package/dist/hooks/user/useAvatar.js.map +1 -0
- package/dist/hooks/user/useHistory.js +106 -0
- package/dist/hooks/user/useHistory.js.map +1 -0
- package/dist/hooks/user/useUserParams.js +33 -0
- package/dist/hooks/user/useUserParams.js.map +1 -0
- package/dist/hooks/wallet/useAddToken.js +49 -0
- package/dist/hooks/wallet/useAddToken.js.map +1 -0
- package/dist/hooks/wallet/useAutoConnect.js +74 -0
- package/dist/hooks/wallet/useAutoConnect.js.map +1 -0
- package/dist/hooks/wallet/useEns.js +69 -0
- package/dist/hooks/wallet/useEns.js.map +1 -0
- package/dist/hooks/wallet/useGnosisContext.js +78 -0
- package/dist/hooks/wallet/useGnosisContext.js.map +1 -0
- package/dist/hooks/wallet/useIntegratorContext.js +39 -0
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -0
- package/dist/hooks/wallet/useMultiChainWallet.js +175 -0
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -0
- package/dist/hooks/wallet/useSigner.js +76 -0
- package/dist/hooks/wallet/useSigner.js.map +1 -0
- package/dist/hooks/wallet/useWallet.js +206 -0
- package/dist/hooks/wallet/useWallet.js.map +1 -0
- package/dist/hooks/wallet/useWallets.js +36 -0
- package/dist/hooks/wallet/useWallets.js.map +1 -0
- package/dist/index.js +6 -17096
- package/dist/index.js.map +1 -1
- package/dist/provider/index.js +113 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/services/external/ens.js +66 -0
- package/dist/services/external/ens.js.map +1 -0
- package/dist/services/external/rpcService.js +421 -0
- package/dist/services/external/rpcService.js.map +1 -0
- package/dist/{secretService-Cnn1_HQT.js → services/external/secretService.js} +8 -37
- package/dist/services/external/secretService.js.map +1 -0
- package/dist/services/external/suiRpcClient.js +80 -0
- package/dist/services/external/suiRpcClient.js.map +1 -0
- package/dist/services/external/tokenDataService.js +108 -0
- package/dist/services/external/tokenDataService.js.map +1 -0
- package/dist/services/index.js +16 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/internal/apiService.js +21 -0
- package/dist/services/internal/apiService.js.map +1 -0
- package/dist/services/internal/assetsService.js +586 -0
- package/dist/services/internal/assetsService.js.map +1 -0
- package/dist/services/internal/bitcoinService.js +51 -0
- package/dist/services/internal/bitcoinService.js.map +1 -0
- package/dist/services/internal/configService.js +218 -0
- package/dist/services/internal/configService.js.map +1 -0
- package/dist/services/internal/cosmosService.js +141 -0
- package/dist/services/internal/cosmosService.js.map +1 -0
- package/dist/services/internal/errorService.js +188 -0
- package/dist/services/internal/errorService.js.map +1 -0
- package/dist/services/internal/estimateService.js +221 -0
- package/dist/services/internal/estimateService.js.map +1 -0
- package/dist/services/internal/eventService.d.ts +5 -0
- package/dist/services/internal/eventService.js +163 -0
- package/dist/services/internal/eventService.js.map +1 -0
- package/dist/services/internal/evmService.js +42 -0
- package/dist/services/internal/evmService.js.map +1 -0
- package/dist/services/internal/numberService.js +171 -0
- package/dist/services/internal/numberService.js.map +1 -0
- package/dist/services/internal/priceService.js +53 -0
- package/dist/services/internal/priceService.js.map +1 -0
- package/dist/services/internal/searchService.js +98 -0
- package/dist/services/internal/searchService.js.map +1 -0
- package/dist/services/internal/solanaService.js +109 -0
- package/dist/services/internal/solanaService.js.map +1 -0
- package/dist/services/internal/suiService.js +119 -0
- package/dist/services/internal/suiService.js.map +1 -0
- package/dist/services/internal/transactionService.js +207 -0
- package/dist/services/internal/transactionService.js.map +1 -0
- package/dist/services/internal/transactionStatusService.js +315 -0
- package/dist/services/internal/transactionStatusService.js.map +1 -0
- package/dist/services/internal/walletService.js +464 -0
- package/dist/services/internal/walletService.js.map +1 -0
- package/dist/tests/apiService.test.js +40 -0
- package/dist/tests/apiService.test.js.map +1 -0
- package/dist/tests/assetsService.test.js +500 -0
- package/dist/tests/assetsService.test.js.map +1 -0
- package/dist/tests/configService.test.js +673 -0
- package/dist/tests/configService.test.js.map +1 -0
- package/dist/tests/estimateService.test.js +355 -0
- package/dist/tests/estimateService.test.js.map +1 -0
- package/dist/tests/fetchSquidData.js +36 -0
- package/dist/tests/fetchSquidData.js.map +1 -0
- package/dist/tests/jest-svg-transform.d.ts +0 -0
- package/dist/tests/jest-svg-transform.js +21 -0
- package/dist/tests/jest-svg-transform.js.map +1 -0
- package/dist/tests/numberService.test.js +135 -0
- package/dist/tests/numberService.test.js.map +1 -0
- package/dist/tests/priceService.test.js +38 -0
- package/dist/tests/priceService.test.js.map +1 -0
- package/dist/tests/sample.json +0 -0
- package/dist/tests/searchService.test.js +92 -0
- package/dist/tests/searchService.test.js.map +1 -0
- package/dist/tests/swapConfig.test.js +332 -0
- package/dist/tests/swapConfig.test.js.map +1 -0
- package/dist/tests/transactionService.test.js +53 -0
- package/dist/tests/transactionService.test.js.map +1 -0
- package/dist/tests/transactionStatusService.test.js +165 -0
- package/dist/tests/transactionStatusService.test.js.map +1 -0
- package/dist/tests/walletService.test.js +264 -0
- package/dist/tests/walletService.test.js.map +1 -0
- package/package.json +4 -18
- package/dist/index.esm.js +0 -16892
- package/dist/index.esm.js.map +0 -1
- package/dist/secretService-Cnn1_HQT.js.map +0 -1
- package/dist/secretService-DW4QetNp.js +0 -162
- package/dist/secretService-DW4QetNp.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSolana.js","sourceRoot":"","sources":["../../../src/hooks/solana/useSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAa,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAUzD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAuB,EAAE;IAChD,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,cAAc,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAC/D,CAAC;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC;IACpC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAEvD,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,YAAsB,CAAC;IACtC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC;IAElE,mDAAmD;IACnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAoC,EAAE;QACvE,IAAI,QAAQ,IAAI,qBAAqB,EAAE,UAAU,EAAE;YACjD,OAAO,uBAAuB,CAC5B,MAAM,EACN,qBAAqB,EACrB,SAAS,CAAC,MAAM,CACjB,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9C,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,EACL,MAAM,GAGP,EAA+B,EAAE;QAChC,MAAM,cAAc,GAAG,MAAM,IAAI,qBAAqB,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,YAAY,GAAG,uBAAuB,CAC1C,MAAM,EACN,cAAc,EACd,SAAS,CAAC,MAAM,CACjB,CAAC;QACF,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAE9C,IAAI,OAAO,EAAE;YACX,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,cAAc;gBACtB,OAAO;aACR,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;IAEF,+BAA+B;IAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,+DAA+D;IAC/D,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,UAA4B,EAAE,EAAE;QAC/B,IAAI,SAAS,GAAuB,UAAU,EAAE,QAAQ,EAAE,CAAC;QAE3D,6CAA6C;QAC7C,8EAA8E;QAC9E,MAAM,eAAe,GAAI,UAAkB,EAAE,SAAS,CAAC;QAEvD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;YACvC,SAAS,GAAG,eAAe,CAAC;SAC7B;QAED,IAAI,SAAS,IAAI,qBAAqB,EAAE;YACtC,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,SAAS,EAAE,CAAC;SACb;IACH,CAAC,EACD,CAAC,SAAS,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CACvD,CAAC;IAEF,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YACtD,OAAO,GAAG,EAAE;gBACV,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YACzD,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,EAAE;YACzC,OAAO,SAAS,CAAC;SAClB;QAED,IACE,qBAAqB,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS;YACvD,WAAW,IAAI,kBAAkB,EACjC;YACA,MAAM,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,aAAa,EAAE;gBAC9C,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,cAAc,CAAC;SACvB;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC,EAAE,CAAC,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE/D,MAAM,aAAa,GAAG,MAAM,CAAa,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAEzE,OAAO;QACL,aAAa;QACb,WAAW;QACX,SAAS;QACT,kBAAkB;QAClB,aAAa;QACb,MAAM;QACN,MAAM,EAAE,qBAAqB;QAC7B,UAAU,EAAE,aAAa,CAAC,OAAO;KAClC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { keys } from "../../core/queries/queries-keys";
|
|
4
|
+
import { initializeSquidWithAssetsColors } from "../../services";
|
|
5
|
+
import { useAssetsColorsStore } from "../store/useAssetsColorsStore";
|
|
6
|
+
import { useSquidStore } from "../store/useSquidStore";
|
|
7
|
+
/**
|
|
8
|
+
* Fetch squid info based on the current squid object
|
|
9
|
+
* @param refetchInterval refetch at this frequency in milliseconds (or false to disable)
|
|
10
|
+
* @returns tokens, chains, forceSquidInfoRefetch, squidInfoQuery
|
|
11
|
+
*/
|
|
12
|
+
export const useSquid = () => {
|
|
13
|
+
// Use initial squid object (because has infos about integrator id, ect)
|
|
14
|
+
const squid = useSquidStore((state) => state.squid);
|
|
15
|
+
const maintenanceMode = useSquidStore((state) => state.maintenanceMode);
|
|
16
|
+
const assetsColors = useAssetsColorsStore();
|
|
17
|
+
/**
|
|
18
|
+
* Fetch squid info
|
|
19
|
+
* Will refetch every minute
|
|
20
|
+
*/
|
|
21
|
+
const squidInfoQuery = useQuery(keys().squidInfo(), async () => {
|
|
22
|
+
if (squid) {
|
|
23
|
+
await squid?.init();
|
|
24
|
+
initializeSquidWithAssetsColors(squid, assetsColors);
|
|
25
|
+
return squid;
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
});
|
|
29
|
+
const tokens = useMemo(() => {
|
|
30
|
+
if ((squidInfoQuery?.data?.tokens ?? []).length > 0) {
|
|
31
|
+
return squidInfoQuery?.data?.tokens;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return squid?.tokens ?? [];
|
|
35
|
+
}
|
|
36
|
+
}, [squidInfoQuery?.data?.tokens, squid?.tokens]);
|
|
37
|
+
const chains = useMemo(() => {
|
|
38
|
+
if ((squidInfoQuery?.data?.chains ?? []).length > 0) {
|
|
39
|
+
return squidInfoQuery?.data?.chains;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return squid?.chains ?? [];
|
|
43
|
+
}
|
|
44
|
+
}, [squidInfoQuery?.data?.chains, squid?.chains]);
|
|
45
|
+
// If needed, force refetch to get latest prices
|
|
46
|
+
const forceSquidInfoRefetch = squidInfoQuery.refetch;
|
|
47
|
+
return {
|
|
48
|
+
tokens,
|
|
49
|
+
chains,
|
|
50
|
+
forceSquidInfoRefetch,
|
|
51
|
+
squidInfoQuery,
|
|
52
|
+
maintenanceMode,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=useSquid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSquid.js","sourceRoot":"","sources":["../../../src/hooks/squid/useSquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,wEAAwE;IAExE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAE5C;;;OAGG;IACH,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7D,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC;YACpB,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,OAAO,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC;SACrC;aAAM;YACL,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,OAAO,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC;SACrC;aAAM;YACL,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,CAAC;IAErD,OAAO;QACL,MAAM;QACN,MAAM;QACN,qBAAqB;QACrB,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
import { areSameAddress } from "../../services";
|
|
4
|
+
export const useAddressBookStore = create(persist((set) => ({
|
|
5
|
+
addressBook: [],
|
|
6
|
+
add: (newAddressData) => {
|
|
7
|
+
set((state) => {
|
|
8
|
+
const alreadyExists = state.addressBook.some((savedAddress) => areSameAddress(savedAddress.address, newAddressData.address));
|
|
9
|
+
if (alreadyExists)
|
|
10
|
+
return state;
|
|
11
|
+
return {
|
|
12
|
+
addressBook: [...state.addressBook, newAddressData],
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
remove: (addressToRemove) => {
|
|
17
|
+
set((state) => {
|
|
18
|
+
return {
|
|
19
|
+
addressBook: state.addressBook.filter((savedAddress) => !areSameAddress(savedAddress.address, addressToRemove)),
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
}), {
|
|
24
|
+
name: "squid.addressbook.store",
|
|
25
|
+
}));
|
|
26
|
+
//# sourceMappingURL=useAddressBookStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddressBookStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useAddressBookStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CACvC,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,WAAW,EAAE,EAAE;IACf,GAAG,EAAE,CAAC,cAA8B,EAAE,EAAE;QACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAC5D,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAC7D,CAAC;YAEF,IAAI,aAAa;gBAAE,OAAO,KAAK,CAAC;YAEhC,OAAO;gBACL,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC;aACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,CAAC,eAAuB,EAAE,EAAE;QAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,OAAO;gBACL,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CACnC,CAAC,YAAY,EAAE,EAAE,CACf,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CACzD;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,EACF;IACE,IAAI,EAAE,yBAAyB;CAChC,CACF,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAssetsColorsStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useAssetsColorsStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAe,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
export const useDepositAddressStore = create((set) => ({
|
|
3
|
+
deposit: null,
|
|
4
|
+
isEnabled: false,
|
|
5
|
+
setDeposit: (data) => {
|
|
6
|
+
set({ deposit: data });
|
|
7
|
+
},
|
|
8
|
+
toggleDepositFlow: (enabled) => {
|
|
9
|
+
set({ isEnabled: enabled });
|
|
10
|
+
},
|
|
11
|
+
}));
|
|
12
|
+
//# sourceMappingURL=useDepositAddressStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDepositAddressStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useDepositAddressStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,KAAK;IAEhB,UAAU,EAAE,CAAC,IAA4B,EAAE,EAAE;QAC3C,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,iBAAiB,EAAE,CAAC,OAAgB,EAAE,EAAE;QACtC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
export const useFavoriteTokensStore = create(persist((set, get) => ({
|
|
4
|
+
favoriteTokens: [],
|
|
5
|
+
addFavoriteToken(token) {
|
|
6
|
+
set((state) => ({
|
|
7
|
+
favoriteTokens: [...state.favoriteTokens, token],
|
|
8
|
+
}));
|
|
9
|
+
},
|
|
10
|
+
removeFavoriteToken(token) {
|
|
11
|
+
set((state) => ({
|
|
12
|
+
favoriteTokens: state.favoriteTokens.filter((t) => t.chainId !== token.chainId || t.address !== token.address),
|
|
13
|
+
}));
|
|
14
|
+
},
|
|
15
|
+
toggleFavoriteToken(token) {
|
|
16
|
+
const isFavorite = get().favoriteTokens.some((t) => t.chainId === token.chainId && t.address === token.address);
|
|
17
|
+
if (isFavorite) {
|
|
18
|
+
get().removeFavoriteToken(token);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
get().addFavoriteToken(token);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
}), {
|
|
25
|
+
name: "squid.favorite.tokens.store",
|
|
26
|
+
version: 1,
|
|
27
|
+
}));
|
|
28
|
+
//# sourceMappingURL=useFavoriteTokensStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFavoriteTokensStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useFavoriteTokensStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAC1C,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,cAAc,EAAE,EAAE;IAClB,gBAAgB,CAAC,KAAoB;QACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE,CAAC;QAEF,IAAI,UAAU,EAAE;YACd,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM;YACL,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;CACF,CAAC,EACF;IACE,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,CAAC;CACX,CACF,CACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
import { compareTransactionIds, formatStatusResponseForStorage, formatTxForStorage, } from "../../services";
|
|
4
|
+
export const useHistoryStore = create(persist((set) => ({
|
|
5
|
+
transactions: [],
|
|
6
|
+
persistTransaction: (tx) => set((state) => ({
|
|
7
|
+
transactions: [...state.transactions, formatTxForStorage(tx)],
|
|
8
|
+
})),
|
|
9
|
+
replaceTransactionStatus: (transactionId, statusResponse, status) => {
|
|
10
|
+
const sr = formatStatusResponseForStorage(statusResponse);
|
|
11
|
+
set((state) => ({
|
|
12
|
+
transactions: state.transactions.map((tx) => {
|
|
13
|
+
return compareTransactionIds(transactionId, tx.transactionId)
|
|
14
|
+
? {
|
|
15
|
+
...tx,
|
|
16
|
+
statusResponse: sr ?? tx.statusResponse,
|
|
17
|
+
status,
|
|
18
|
+
}
|
|
19
|
+
: tx;
|
|
20
|
+
}),
|
|
21
|
+
}));
|
|
22
|
+
},
|
|
23
|
+
removeAllTransactions: () => set(() => ({
|
|
24
|
+
transactions: [],
|
|
25
|
+
})),
|
|
26
|
+
removeTransaction: (transactionId) => set((state) => ({
|
|
27
|
+
transactions: state.transactions.filter((tx) => tx.transactionId !== transactionId),
|
|
28
|
+
})),
|
|
29
|
+
replaceTransactionAtNonce: (nonce, fromAddress, newTx) => set((state) => {
|
|
30
|
+
const index = state.transactions.findIndex((tx) => tx.nonce === nonce && tx.fromAddress === fromAddress);
|
|
31
|
+
if (index !== -1) {
|
|
32
|
+
const newTransactions = [...state.transactions];
|
|
33
|
+
newTransactions[index] = formatTxForStorage(newTx);
|
|
34
|
+
return { transactions: newTransactions };
|
|
35
|
+
}
|
|
36
|
+
return state;
|
|
37
|
+
}),
|
|
38
|
+
}), {
|
|
39
|
+
name: "squid.history.store.v2",
|
|
40
|
+
}));
|
|
41
|
+
//# sourceMappingURL=useHistoryStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHistoryStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useHistoryStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAmBxB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CACnC,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,YAAY,EAAE,EAAE;IAChB,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;KAC9D,CAAC,CAAC;IACL,wBAAwB,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;QAClE,MAAM,EAAE,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAC1D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1C,OAAO,qBAAqB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;oBAC3D,CAAC,CAAC;wBACE,GAAG,EAAE;wBACL,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc;wBACvC,MAAM;qBACP;oBACH,CAAC,CAAC,EAAE,CAAC;YACT,CAAC,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IACD,qBAAqB,EAAE,GAAG,EAAE,CAC1B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IACL,iBAAiB,EAAE,CAAC,aAAa,EAAE,EAAE,CACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,aAAa,CAC3C;KACF,CAAC,CAAC;IACL,yBAAyB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CACvD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,WAAW,KAAK,WAAW,CAC7D,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YAChD,eAAe,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;SAC1C;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;CACL,CAAC,EACF;IACE,IAAI,EAAE,wBAAwB;CAC/B,CACF,CACF,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
import { defaultConfigValues } from "../../core/constants";
|
|
4
|
+
export const useSquidStore = create(() => ({
|
|
5
|
+
squid: undefined,
|
|
6
|
+
maintenanceMode: {
|
|
7
|
+
active: false,
|
|
8
|
+
message: undefined,
|
|
9
|
+
},
|
|
10
|
+
}));
|
|
11
|
+
export const useConfigStore = create(() => ({
|
|
12
|
+
config: defaultConfigValues,
|
|
13
|
+
isInitialized: false,
|
|
14
|
+
}));
|
|
15
|
+
export const useTransactionStore = create((set, get) => ({
|
|
16
|
+
fromPrice: undefined,
|
|
17
|
+
txLocalId: undefined,
|
|
18
|
+
transactions: {},
|
|
19
|
+
setTransactionState(txId, tx) {
|
|
20
|
+
set((state) => {
|
|
21
|
+
if (!txId)
|
|
22
|
+
return state;
|
|
23
|
+
state.transactions[txId] = tx;
|
|
24
|
+
return state;
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
getCurrentTransaction() {
|
|
28
|
+
const { txLocalId, transactions } = get();
|
|
29
|
+
if (!txLocalId)
|
|
30
|
+
return;
|
|
31
|
+
return transactions[txLocalId];
|
|
32
|
+
},
|
|
33
|
+
getTransaction(id) {
|
|
34
|
+
return get().transactions[id];
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
37
|
+
export const useSwapRoutePersistStore = create()(persist((set) => ({
|
|
38
|
+
swapRoute: undefined,
|
|
39
|
+
destinationAddressHasBeenUpdated: undefined,
|
|
40
|
+
resetAddresses: () => set((state) => ({
|
|
41
|
+
swapRoute: state.swapRoute
|
|
42
|
+
? {
|
|
43
|
+
...state.swapRoute,
|
|
44
|
+
destinationAddress: undefined,
|
|
45
|
+
fallbackAddress: undefined,
|
|
46
|
+
}
|
|
47
|
+
: undefined,
|
|
48
|
+
})),
|
|
49
|
+
}), {
|
|
50
|
+
name: "squid-swap-route.store",
|
|
51
|
+
onRehydrateStorage: () => (state) => {
|
|
52
|
+
// Reset addresses on page load/rehydration
|
|
53
|
+
state?.resetAddresses();
|
|
54
|
+
},
|
|
55
|
+
}));
|
|
56
|
+
//# sourceMappingURL=useSquidStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSquidStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useSquidStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAsB3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAa,GAAG,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,SAAS;KACnB;CACF,CAAC,CAAC,CAAC;AAUJ,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAc,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,mBAAmB;IAC3B,aAAa,EAAE,KAAK;CACrB,CAAC,CAAC,CAAC;AAiBJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,EAAE;IAChB,mBAAmB,CAAC,IAAI,EAAE,EAAE;QAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAExB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAE9B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB;QACnB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,CAAC;QAE1C,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,CAAC,EAAE;QACf,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC,CAAC;AAWJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,EAAyB,CACrE,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,SAAS;IACpB,gCAAgC,EAAE,SAAS;IAC3C,cAAc,EAAE,GAAG,EAAE,CACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;YACxB,CAAC,CAAC;gBACE,GAAG,KAAK,CAAC,SAAS;gBAClB,kBAAkB,EAAE,SAAS;gBAC7B,eAAe,EAAE,SAAS;aAC3B;YACH,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;CACN,CAAC,EACF;IACE,IAAI,EAAE,wBAAwB;IAC9B,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,2CAA2C;QAC3C,KAAK,EAAE,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,CACF,CACF,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { create } from "zustand";
|
|
3
|
+
export var ConnectingWalletStatus;
|
|
4
|
+
(function (ConnectingWalletStatus) {
|
|
5
|
+
ConnectingWalletStatus[ConnectingWalletStatus["IDLE"] = 0] = "IDLE";
|
|
6
|
+
ConnectingWalletStatus[ConnectingWalletStatus["CONNECTING"] = 1] = "CONNECTING";
|
|
7
|
+
ConnectingWalletStatus[ConnectingWalletStatus["REJECTED"] = 2] = "REJECTED";
|
|
8
|
+
})(ConnectingWalletStatus || (ConnectingWalletStatus = {}));
|
|
9
|
+
const initialWalletState = {
|
|
10
|
+
// Initialize all chain types to an empty wallet object
|
|
11
|
+
connectedWalletsByChainType: Object.values(ChainType).reduce((acc, chainType) => ({
|
|
12
|
+
...acc,
|
|
13
|
+
[chainType]: {},
|
|
14
|
+
}), {}),
|
|
15
|
+
connectingWalletState: {
|
|
16
|
+
wallet: undefined,
|
|
17
|
+
status: ConnectingWalletStatus.IDLE,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export const useWalletStore = create((set) => ({
|
|
21
|
+
...initialWalletState,
|
|
22
|
+
setConnectedWallet: (chainType, connectedWalletState) => set((state) => {
|
|
23
|
+
return {
|
|
24
|
+
connectedWalletsByChainType: {
|
|
25
|
+
...state.connectedWalletsByChainType,
|
|
26
|
+
[chainType]: connectedWalletState,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}),
|
|
30
|
+
setConnectingWallet: (state) => set({ connectingWalletState: state }),
|
|
31
|
+
disconnectWallet: (chainType) => set((state) => {
|
|
32
|
+
if (!state.connectedWalletsByChainType[chainType])
|
|
33
|
+
return state;
|
|
34
|
+
return {
|
|
35
|
+
connectedWalletsByChainType: {
|
|
36
|
+
...state.connectedWalletsByChainType,
|
|
37
|
+
[chainType]: {},
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}),
|
|
41
|
+
}));
|
|
42
|
+
//# sourceMappingURL=useWalletStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWalletStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useWalletStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,MAAM,CAAN,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,mEAAI,CAAA;IACJ,+EAAU,CAAA;IACV,2EAAQ,CAAA;AACV,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAcD,MAAM,kBAAkB,GAAgB;IACtC,uDAAuD;IACvD,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,GAAG;QACN,CAAC,SAAS,CAAC,EAAE,EAAE;KAChB,CAAC,EACF,EAAgD,CACjD;IACD,qBAAqB,EAAE;QACrB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,sBAAsB,CAAC,IAAI;KACpC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CASlC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACV,GAAG,kBAAkB;IACrB,kBAAkB,EAAE,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,CACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,OAAO;YACL,2BAA2B,EAAE;gBAC3B,GAAG,KAAK,CAAC,2BAA2B;gBACpC,CAAC,SAAS,CAAC,EAAE,oBAAoB;aAClC;SACF,CAAC;IACJ,CAAC,CAAC;IACJ,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;IACrE,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhE,OAAO;YACL,2BAA2B,EAAE;gBAC3B,GAAG,KAAK,CAAC,2BAA2B;gBACpC,CAAC,SAAS,CAAC,EAAE,EAAE;aAChB;SACF,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { useWalletStore } from "../store/useWalletStore";
|
|
5
|
+
import { useSuiWallets } from "./useSuiWallets";
|
|
6
|
+
export function useSui() {
|
|
7
|
+
const { wallets } = useSuiWallets();
|
|
8
|
+
const connectedSuiWallet = useWalletStore((store) => store.connectedWalletsByChainType[ChainType.SUI]);
|
|
9
|
+
const connectSui = useMutation(async ({ wallet, }) => {
|
|
10
|
+
const { account } = await wallet.connector().connect();
|
|
11
|
+
return {
|
|
12
|
+
wallet,
|
|
13
|
+
address: account.address,
|
|
14
|
+
account,
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
const disconnectSui = useCallback(async () => {
|
|
18
|
+
await connectedSuiWallet.wallet?.connector().disconnect();
|
|
19
|
+
}, [connectedSuiWallet.wallet]);
|
|
20
|
+
return {
|
|
21
|
+
connectSui,
|
|
22
|
+
disconnectSui,
|
|
23
|
+
isConnected: !!connectedSuiWallet.wallet,
|
|
24
|
+
signer: connectedSuiWallet.wallet?.connector(),
|
|
25
|
+
wallets,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useSui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSui.js","sourceRoot":"","sources":["../../../src/hooks/sui/useSui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,MAAM;IACpB,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,kBAAkB,GAAG,cAAc,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAC5D,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,EACL,MAAM,GAGP,EAA+C,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvD,OAAO;YACL,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;SACR,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;IAC5D,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhC,OAAO;QACL,UAAU;QACV,aAAa;QACb,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM;QACxC,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE;QAC9C,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
export function useSuiClient({ chain }) {
|
|
5
|
+
const client = useMemo(() => {
|
|
6
|
+
if (!chain?.rpc || chain.chainType !== ChainType.SUI) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const suiClient = new SuiClient({
|
|
10
|
+
url: chain.rpc,
|
|
11
|
+
});
|
|
12
|
+
return suiClient;
|
|
13
|
+
}, [chain?.chainType, chain?.rpc]);
|
|
14
|
+
return { client };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=useSuiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSuiClient.js","sourceRoot":"","sources":["../../../src/hooks/sui/useSuiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAMhC,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAU;IAG5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;QAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SlushWallet } from "@mysten/slush-wallet";
|
|
2
|
+
import { getWallets as getWalletsApi, } from "@mysten/wallet-standard";
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
+
import { filterSuiWallets, slushWebWalletData, } from "../../services/internal/suiService";
|
|
5
|
+
/**
|
|
6
|
+
* Returns the list of registered Sui wallets
|
|
7
|
+
*/
|
|
8
|
+
export function useSuiWallets() {
|
|
9
|
+
const isInitializedRef = useRef(false);
|
|
10
|
+
const [wallets, setWallets] = useState([]);
|
|
11
|
+
const setRegisteredWallets = useCallback((standardWallets) => {
|
|
12
|
+
setWallets(filterSuiWallets(standardWallets));
|
|
13
|
+
}, []);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const walletsApi = getWalletsApi();
|
|
16
|
+
const removeOnRegisterListener = walletsApi.on("register", (wallet) => {
|
|
17
|
+
setRegisteredWallets([wallet]);
|
|
18
|
+
});
|
|
19
|
+
if (!isInitializedRef.current) {
|
|
20
|
+
const slushWebWallet = new SlushWallet({
|
|
21
|
+
name: "Squid",
|
|
22
|
+
chain: "sui:mainnet",
|
|
23
|
+
metadata: {
|
|
24
|
+
enabled: true,
|
|
25
|
+
icon: slushWebWalletData.icon,
|
|
26
|
+
id: slushWebWalletData.id,
|
|
27
|
+
walletName: slushWebWalletData.name,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
walletsApi.register(slushWebWallet);
|
|
31
|
+
setRegisteredWallets(walletsApi.get());
|
|
32
|
+
isInitializedRef.current = true;
|
|
33
|
+
}
|
|
34
|
+
return () => {
|
|
35
|
+
removeOnRegisterListener();
|
|
36
|
+
};
|
|
37
|
+
}, [setRegisteredWallets]);
|
|
38
|
+
return {
|
|
39
|
+
wallets,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=useSuiWallets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSuiWallets.js","sourceRoot":"","sources":["../../../src/hooks/sui/useSuiWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,UAAU,IAAI,aAAa,GAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,aAAa;IAG3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAExD,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,eAA0C,EAAE,EAAE;QAC7C,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,MAAM,wBAAwB,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACpE,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7B,MAAM,cAAc,GAAG,IAAI,WAAW,CAAC;gBACrC,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,kBAAkB,CAAC,IAAI;oBAC7B,EAAE,EAAE,kBAAkB,CAAC,EAAE;oBACzB,UAAU,EAAE,kBAAkB,CAAC,IAAI;iBACpC;aACF,CAAC,CAAC;YAEH,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACpC,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;SACjC;QAED,OAAO,GAAG,EAAE;YACV,wBAAwB,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { SquidDataType, } from "@0xsquid/squid-types";
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
import { useCallback, useMemo } from "react";
|
|
4
|
+
import { CHAIN_IDS } from "../../core";
|
|
5
|
+
import { useDepositAddressStore } from "../store/useDepositAddressStore";
|
|
6
|
+
import { useSquidStore } from "../store/useSquidStore";
|
|
7
|
+
import { useSwap } from "./useSwap";
|
|
8
|
+
export function useDepositAddress(squidRoute) {
|
|
9
|
+
const { isEnabled, depositAddress } = useDepositAddressStore((state) => ({
|
|
10
|
+
isEnabled: state.isEnabled,
|
|
11
|
+
depositAddress: state.deposit?.depositAddress,
|
|
12
|
+
}));
|
|
13
|
+
const { setDeposit, toggleDepositFlow, deposit } = useDepositAddressStore();
|
|
14
|
+
const { squid } = useSquidStore();
|
|
15
|
+
const { fromChain } = useSwap();
|
|
16
|
+
const isAvailableAsPaymentMethod = useMemo(() => {
|
|
17
|
+
if (!fromChain?.chainId)
|
|
18
|
+
return false;
|
|
19
|
+
const chainsSupportingDepositAddress = [
|
|
20
|
+
CHAIN_IDS.BITCOIN,
|
|
21
|
+
CHAIN_IDS.SOLANA,
|
|
22
|
+
];
|
|
23
|
+
return chainsSupportingDepositAddress.includes(fromChain.chainId);
|
|
24
|
+
}, [fromChain?.chainId]);
|
|
25
|
+
const swapWillGenerateDepositAddress = useMemo(() => {
|
|
26
|
+
return (squidRoute?.transactionRequest?.type ===
|
|
27
|
+
SquidDataType.ChainflipDepositAddress);
|
|
28
|
+
}, [squidRoute?.transactionRequest?.type]);
|
|
29
|
+
const enable = useCallback(() => {
|
|
30
|
+
toggleDepositFlow(true);
|
|
31
|
+
}, [toggleDepositFlow]);
|
|
32
|
+
const disable = useCallback(() => {
|
|
33
|
+
toggleDepositFlow(false);
|
|
34
|
+
}, [toggleDepositFlow]);
|
|
35
|
+
const closeDepositChannel = useCallback(() => {
|
|
36
|
+
toggleDepositFlow(false);
|
|
37
|
+
setDeposit(null);
|
|
38
|
+
}, [toggleDepositFlow, setDeposit]);
|
|
39
|
+
const getRouteWithDeposit = useMutation(async ({ route }) => {
|
|
40
|
+
if (!squid)
|
|
41
|
+
throw new Error("Squid SDK not initialized");
|
|
42
|
+
const depositAddressResponse = (await squid.executeRoute({
|
|
43
|
+
signer: {},
|
|
44
|
+
route,
|
|
45
|
+
}));
|
|
46
|
+
setDeposit(depositAddressResponse);
|
|
47
|
+
return {
|
|
48
|
+
depositAddress: depositAddressResponse,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
isEnabled,
|
|
53
|
+
isAvailableAsPaymentMethod,
|
|
54
|
+
swapWillGenerateDepositAddress,
|
|
55
|
+
enable,
|
|
56
|
+
disable,
|
|
57
|
+
getRouteWithDeposit,
|
|
58
|
+
depositAddress,
|
|
59
|
+
closeDepositChannel,
|
|
60
|
+
depositData: deposit,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=useDepositAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDepositAddress.js","sourceRoot":"","sources":["../../../src/hooks/swap/useDepositAddress.ts"],"names":[],"mappings":"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"}
|