@n1xyz/wallet-widget 0.0.7 → 0.0.9
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/Logic/getPseudoName.js +1 -0
- package/dist/Logic/getPseudoName.js.map +1 -0
- package/dist/Logic/sessionManager.js +1 -0
- package/dist/Logic/sessionManager.js.map +1 -0
- package/dist/Logic/transactionManager.js +1 -0
- package/dist/Logic/transactionManager.js.map +1 -0
- package/dist/Logic/utils.js +1 -0
- package/dist/Logic/utils.js.map +1 -0
- package/dist/Logic/words.js +1 -0
- package/dist/Logic/words.js.map +1 -0
- package/dist/Modal/LoadingFallback.js +1 -0
- package/dist/Modal/LoadingFallback.js.map +1 -0
- package/dist/Modal/N1WalletModal.js +5 -5
- package/dist/Modal/N1WalletModal.js.map +1 -0
- package/dist/Modal/NTSFlow/LoadingFallback.js +1 -0
- package/dist/Modal/NTSFlow/LoadingFallback.js.map +1 -0
- package/dist/Modal/NTSFlow/NTSFlow.js +1 -0
- package/dist/Modal/NTSFlow/NTSFlow.js.map +1 -0
- package/dist/Modal/NTSFlow/components/BackButton.js +1 -0
- package/dist/Modal/NTSFlow/components/BackButton.js.map +1 -0
- package/dist/Modal/NTSFlow/components/ModalHeader.js +1 -0
- package/dist/Modal/NTSFlow/components/ModalHeader.js.map +1 -0
- package/dist/Modal/NTSFlow/index.js +1 -0
- package/dist/Modal/NTSFlow/index.js.map +1 -0
- package/dist/Modal/NTSFlow/views/ConnectView.js +1 -0
- package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/CreateSessionView.js +1 -0
- package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/CreateUserView.js +1 -0
- package/dist/Modal/NTSFlow/views/CreateUserView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js +1 -0
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/SigningView.js +1 -0
- package/dist/Modal/NTSFlow/views/SigningView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/SuccessView.js +1 -0
- package/dist/Modal/NTSFlow/views/SuccessView.js.map +1 -0
- package/dist/Modal/NordFlow/NordFlow.js +7 -11
- package/dist/Modal/NordFlow/NordFlow.js.map +1 -0
- package/dist/Modal/NordFlow/components/ChainButton.js +1 -0
- package/dist/Modal/NordFlow/components/ChainButton.js.map +1 -0
- package/dist/Modal/NordFlow/components/EVMChainsButton.js +1 -0
- package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +1 -0
- package/dist/Modal/NordFlow/components/ImageWithFallback.js +1 -0
- package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +1 -0
- package/dist/Modal/NordFlow/components/LoadingSquares.js +1 -0
- package/dist/Modal/NordFlow/components/LoadingSquares.js.map +1 -0
- package/dist/Modal/NordFlow/components/MoreButton.js +1 -0
- package/dist/Modal/NordFlow/components/MoreButton.js.map +1 -0
- package/dist/Modal/NordFlow/components/TransactionTable.js +1 -0
- package/dist/Modal/NordFlow/components/TransactionTable.js.map +1 -0
- package/dist/Modal/NordFlow/components/WaitingMessage.js +1 -0
- package/dist/Modal/NordFlow/components/WaitingMessage.js.map +1 -0
- package/dist/Modal/NordFlow/components/index.js +1 -0
- package/dist/Modal/NordFlow/components/index.js.map +1 -0
- package/dist/Modal/NordFlow/constants.js +6 -0
- package/dist/Modal/NordFlow/constants.js.map +1 -0
- package/dist/Modal/NordFlow/hoc/index.js +1 -0
- package/dist/Modal/NordFlow/hoc/index.js.map +1 -0
- package/dist/Modal/NordFlow/hoc/withImageFallback.js +1 -0
- package/dist/Modal/NordFlow/hoc/withImageFallback.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/index.js +1 -0
- package/dist/Modal/NordFlow/hooks/index.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/useDepositFlow.js +39 -32
- package/dist/Modal/NordFlow/hooks/useDepositFlow.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/useFlowState.js +44 -22
- package/dist/Modal/NordFlow/hooks/useFlowState.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +19 -16
- package/dist/Modal/NordFlow/hooks/useInterruptHandler.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +0 -4
- package/dist/Modal/NordFlow/hooks/useNordInstance.js +65 -25
- package/dist/Modal/NordFlow/hooks/useNordInstance.js.map +1 -0
- package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +73 -52
- package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js.map +1 -0
- package/dist/Modal/NordFlow/index.js +1 -0
- package/dist/Modal/NordFlow/index.js.map +1 -0
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +2 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +5 -3
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +2 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +1 -0
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +1 -0
- package/dist/Modal/NordFlow/screens/index.js +1 -0
- package/dist/Modal/NordFlow/screens/index.js.map +1 -0
- package/dist/Modal/NordFlow/types.d.ts +1 -0
- package/dist/Modal/NordFlow/types.js +2 -0
- package/dist/Modal/NordFlow/types.js.map +1 -0
- package/dist/Modal/NordFlow/utils/imageUtils.js +1 -0
- package/dist/Modal/NordFlow/utils/imageUtils.js.map +1 -0
- package/dist/Modal/NordFlow/utils/index.js +1 -0
- package/dist/Modal/NordFlow/utils/index.js.map +1 -0
- package/dist/Modal/NordFlow/utils/nordUtils.js +1 -0
- package/dist/Modal/NordFlow/utils/nordUtils.js.map +1 -0
- package/dist/Modal/NordFlow/utils/persistence.js +1 -0
- package/dist/Modal/NordFlow/utils/persistence.js.map +1 -0
- package/dist/Modal/Sidebar/N1Sidebar.js +2 -0
- package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +1 -0
- package/dist/Provider/LazyWalletProvider.js +2 -1
- package/dist/Provider/LazyWalletProvider.js.map +1 -0
- package/dist/Provider/N1WalletProvider.js +3 -12
- package/dist/Provider/N1WalletProvider.js.map +1 -0
- package/dist/Provider/context.js +1 -0
- package/dist/Provider/context.js.map +1 -0
- package/dist/Provider/hooks.js +1 -0
- package/dist/Provider/hooks.js.map +1 -0
- package/dist/Provider/icons/CoinbaseWalletIcon.js +1 -0
- package/dist/Provider/icons/CoinbaseWalletIcon.js.map +1 -0
- package/dist/Provider/icons/ConnectionDotsSVG.js +1 -0
- package/dist/Provider/icons/ConnectionDotsSVG.js.map +1 -0
- package/dist/Provider/icons/MetamaskIcon.js +1 -0
- package/dist/Provider/icons/MetamaskIcon.js.map +1 -0
- package/dist/Provider/icons/PhantomIcon.js +1 -0
- package/dist/Provider/icons/PhantomIcon.js.map +1 -0
- package/dist/Provider/icons/UserIcon.js +1 -0
- package/dist/Provider/icons/UserIcon.js.map +1 -0
- package/dist/Provider/icons/WalletConnectIcon.js +1 -0
- package/dist/Provider/icons/WalletConnectIcon.js.map +1 -0
- package/dist/Provider/index.js +1 -0
- package/dist/Provider/index.js.map +1 -0
- package/dist/Provider/types.js +1 -0
- package/dist/Provider/types.js.map +1 -0
- package/dist/WidgetButton/N1ConnectButton.js +1 -0
- package/dist/WidgetButton/N1ConnectButton.js.map +1 -0
- package/dist/components/Logo.js +1 -0
- package/dist/components/Logo.js.map +1 -0
- package/dist/components/QRCodeLoader.js +1 -0
- package/dist/components/QRCodeLoader.js.map +1 -0
- package/dist/components/logos/ArbitrumLogo.js +1 -0
- package/dist/components/logos/ArbitrumLogo.js.map +1 -0
- package/dist/components/logos/BaseLogo.js +1 -0
- package/dist/components/logos/BaseLogo.js.map +1 -0
- package/dist/components/logos/BeraLogo.js +1 -0
- package/dist/components/logos/BeraLogo.js.map +1 -0
- package/dist/components/logos/BitcoinLogo.js +1 -0
- package/dist/components/logos/BitcoinLogo.js.map +1 -0
- package/dist/components/logos/EVMChainsGroup.js +1 -0
- package/dist/components/logos/EVMChainsGroup.js.map +1 -0
- package/dist/components/logos/EthereumLogo.js +1 -0
- package/dist/components/logos/EthereumLogo.js.map +1 -0
- package/dist/components/logos/HyperliquidLogo.js +1 -0
- package/dist/components/logos/HyperliquidLogo.js.map +1 -0
- package/dist/components/logos/MoreChainsGroup.js +1 -0
- package/dist/components/logos/MoreChainsGroup.js.map +1 -0
- package/dist/components/logos/OptimismLogo.js +1 -0
- package/dist/components/logos/OptimismLogo.js.map +1 -0
- package/dist/components/logos/SolanaLogo.js +1 -0
- package/dist/components/logos/SolanaLogo.js.map +1 -0
- package/dist/components/logos/index.js +1 -0
- package/dist/components/logos/index.js.map +1 -0
- package/dist/config/solana.js +1 -0
- package/dist/config/solana.js.map +1 -0
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -0
- package/dist/errors/types.js +1 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/main.css +1 -1
- package/dist/utils/dynamicImports.js +1 -0
- package/dist/utils/dynamicImports.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.js +26 -2
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/shortenString.js +1 -0
- package/dist/utils/shortenString.js.map +1 -0
- package/package.json +2 -2
- package/dist/Modal/BackButton.d.ts +0 -3
- package/dist/Modal/BackButton.js +0 -26
- package/dist/Modal/ConnectView.d.ts +0 -1
- package/dist/Modal/ConnectView.js +0 -68
- package/dist/Modal/CreateSessionView.d.ts +0 -1
- package/dist/Modal/CreateSessionView.js +0 -248
- package/dist/Modal/CreateUserView.d.ts +0 -1
- package/dist/Modal/CreateUserView.js +0 -160
- package/dist/Modal/ModalHeader.d.ts +0 -1
- package/dist/Modal/ModalHeader.js +0 -20
- package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +0 -9
- package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +0 -145
- package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +0 -14
- package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +0 -75
- package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +0 -5
- package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +0 -1
- package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +0 -5
- package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +0 -13
- package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +0 -58
- package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +0 -6
- package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +0 -6
- package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +0 -5
- package/dist/Modal/NTSFlow/NordFlow/components/index.js +0 -5
- package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +0 -37
- package/dist/Modal/NTSFlow/NordFlow/constants.js +0 -223
- package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +0 -8
- package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +0 -8
- package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +0 -43
- package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +0 -38
- package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +0 -166
- package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +0 -32
- package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +0 -163
- package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +0 -27
- package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +0 -101
- package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +0 -32
- package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +0 -193
- package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +0 -2
- package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +0 -69
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +0 -6
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +0 -89
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +0 -30
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +0 -132
- package/dist/Modal/NTSFlow/NordFlow/index.d.ts +0 -3
- package/dist/Modal/NTSFlow/NordFlow/index.js +0 -3
- package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +0 -6
- package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +0 -17
- package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -6
- package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -47
- package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +0 -7
- package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +0 -8
- package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +0 -20
- package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +0 -6
- package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -8
- package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +0 -99
- package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +0 -14
- package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +0 -6
- package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +0 -20
- package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +0 -5
- package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +0 -18
- package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +0 -7
- package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +0 -13
- package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +0 -10
- package/dist/Modal/NTSFlow/NordFlow/screens/index.js +0 -10
- package/dist/Modal/NTSFlow/NordFlow/types.d.ts +0 -105
- package/dist/Modal/NTSFlow/NordFlow/types.js +0 -34
- package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +0 -24
- package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +0 -83
- package/dist/Modal/NoWhitelistView.d.ts +0 -1
- package/dist/Modal/NoWhitelistView.js +0 -42
- package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +0 -11
- package/dist/Modal/NordFlow/NordFlowWrapper.js +0 -11
- package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +0 -9
- package/dist/Modal/NordFlow/WalletConnectionFlow.js +0 -145
- package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +0 -14
- package/dist/Modal/NordFlow/components/AnimatedButton.js +0 -75
- package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +0 -7
- package/dist/Modal/NordFlow/hooks/useButtonTyping.js +0 -43
- package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +0 -32
- package/dist/Modal/NordFlow/hooks/useNordSession.js +0 -391
- package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +0 -2
- package/dist/Modal/NordFlow/hooks/useTableValues.js +0 -69
- package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +0 -6
- package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +0 -89
- package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +0 -14
- package/dist/Modal/NordFlow/hooks/useWalletConnect.js +0 -221
- package/dist/Modal/NordFlow/index copy.d.ts +0 -1
- package/dist/Modal/NordFlow/index copy.js +0 -1
- package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +0 -5
- package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +0 -17
- package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +0 -6
- package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +0 -153
- package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +0 -5
- package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +0 -47
- package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +0 -7
- package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +0 -62
- package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +0 -1
- package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +0 -116
- package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +0 -5
- package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +0 -138
- package/dist/Modal/SigningView.d.ts +0 -1
- package/dist/Modal/SigningView.js +0 -5
- package/dist/Modal/SuccessView.d.ts +0 -1
- package/dist/Modal/SuccessView.js +0 -10
- package/dist/NordFlow/WalletConnectionFlow.d.ts +0 -9
- package/dist/NordFlow/WalletConnectionFlow.js +0 -145
- package/dist/NordFlow/components/AnimatedButton.d.ts +0 -14
- package/dist/NordFlow/components/AnimatedButton.js +0 -75
- package/dist/NordFlow/components/ChainButton.d.ts +0 -7
- package/dist/NordFlow/components/ChainButton.js +0 -5
- package/dist/NordFlow/components/LoadingSquares.d.ts +0 -1
- package/dist/NordFlow/components/LoadingSquares.js +0 -5
- package/dist/NordFlow/components/TransactionTable.d.ts +0 -13
- package/dist/NordFlow/components/TransactionTable.js +0 -58
- package/dist/NordFlow/components/WaitingMessage.d.ts +0 -6
- package/dist/NordFlow/components/WaitingMessage.js +0 -6
- package/dist/NordFlow/components/index.d.ts +0 -5
- package/dist/NordFlow/components/index.js +0 -5
- package/dist/NordFlow/constants.d.ts +0 -37
- package/dist/NordFlow/constants.js +0 -223
- package/dist/NordFlow/hooks/index.d.ts +0 -8
- package/dist/NordFlow/hooks/index.js +0 -8
- package/dist/NordFlow/hooks/useButtonTyping.d.ts +0 -7
- package/dist/NordFlow/hooks/useButtonTyping.js +0 -43
- package/dist/NordFlow/hooks/useDepositFlow.d.ts +0 -38
- package/dist/NordFlow/hooks/useDepositFlow.js +0 -166
- package/dist/NordFlow/hooks/useFlowState.d.ts +0 -32
- package/dist/NordFlow/hooks/useFlowState.js +0 -163
- package/dist/NordFlow/hooks/useInterruptHandler.d.ts +0 -27
- package/dist/NordFlow/hooks/useInterruptHandler.js +0 -101
- package/dist/NordFlow/hooks/useNordSession.d.ts +0 -32
- package/dist/NordFlow/hooks/useNordSession.js +0 -193
- package/dist/NordFlow/hooks/useTableValues.d.ts +0 -2
- package/dist/NordFlow/hooks/useTableValues.js +0 -69
- package/dist/NordFlow/hooks/useWaitingMessage.d.ts +0 -6
- package/dist/NordFlow/hooks/useWaitingMessage.js +0 -89
- package/dist/NordFlow/hooks/useWalletConnect.d.ts +0 -30
- package/dist/NordFlow/hooks/useWalletConnect.js +0 -132
- package/dist/NordFlow/index.d.ts +0 -3
- package/dist/NordFlow/index.js +0 -3
- package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +0 -6
- package/dist/NordFlow/screens/01-ConnectWalletScreen.js +0 -17
- package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -6
- package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -47
- package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -7
- package/dist/NordFlow/screens/03-ChainSelectionScreen.js +0 -7
- package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +0 -8
- package/dist/NordFlow/screens/04-AmountInputScreen.js +0 -20
- package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -7
- package/dist/NordFlow/screens/05-DepositProgressScreen.js +0 -6
- package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -8
- package/dist/NordFlow/screens/06-DepositSuccessScreen.js +0 -99
- package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +0 -7
- package/dist/NordFlow/screens/07-NordAuthScreen.js +0 -14
- package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +0 -6
- package/dist/NordFlow/screens/08-AuthLoadingScreen.js +0 -20
- package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +0 -5
- package/dist/NordFlow/screens/09-FinalSuccessScreen.js +0 -18
- package/dist/NordFlow/screens/10-ErrorScreen.d.ts +0 -7
- package/dist/NordFlow/screens/10-ErrorScreen.js +0 -13
- package/dist/NordFlow/screens/index.d.ts +0 -10
- package/dist/NordFlow/screens/index.js +0 -10
- package/dist/NordFlow/types.d.ts +0 -105
- package/dist/NordFlow/types.js +0 -34
- package/dist/NordFlow/utils/persistence.d.ts +0 -24
- package/dist/NordFlow/utils/persistence.js +0 -83
- package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +0 -9
- package/dist/WalletConnectionFlow/WalletConnectionFlow.js +0 -145
- package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +0 -14
- package/dist/WalletConnectionFlow/components/AnimatedButton.js +0 -75
- package/dist/WalletConnectionFlow/components/ChainButton.d.ts +0 -7
- package/dist/WalletConnectionFlow/components/ChainButton.js +0 -5
- package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +0 -1
- package/dist/WalletConnectionFlow/components/LoadingSquares.js +0 -5
- package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +0 -13
- package/dist/WalletConnectionFlow/components/TransactionTable.js +0 -58
- package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +0 -6
- package/dist/WalletConnectionFlow/components/WaitingMessage.js +0 -6
- package/dist/WalletConnectionFlow/components/index.d.ts +0 -5
- package/dist/WalletConnectionFlow/components/index.js +0 -5
- package/dist/WalletConnectionFlow/constants.d.ts +0 -37
- package/dist/WalletConnectionFlow/constants.js +0 -223
- package/dist/WalletConnectionFlow/hooks/index.d.ts +0 -8
- package/dist/WalletConnectionFlow/hooks/index.js +0 -8
- package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +0 -7
- package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +0 -43
- package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +0 -38
- package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +0 -166
- package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +0 -32
- package/dist/WalletConnectionFlow/hooks/useFlowState.js +0 -163
- package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +0 -27
- package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +0 -101
- package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +0 -32
- package/dist/WalletConnectionFlow/hooks/useNordSession.js +0 -193
- package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +0 -2
- package/dist/WalletConnectionFlow/hooks/useTableValues.js +0 -69
- package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +0 -6
- package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +0 -89
- package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +0 -30
- package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +0 -132
- package/dist/WalletConnectionFlow/index.d.ts +0 -3
- package/dist/WalletConnectionFlow/index.js +0 -3
- package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +0 -17
- package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +0 -47
- package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +0 -7
- package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +0 -8
- package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +0 -20
- package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +0 -6
- package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +0 -8
- package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +0 -99
- package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +0 -14
- package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +0 -20
- package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +0 -5
- package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +0 -18
- package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +0 -13
- package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +0 -8
- package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +0 -20
- package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +0 -8
- package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +0 -28
- package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +0 -20
- package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +0 -7
- package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +0 -17
- package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +0 -6
- package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +0 -8
- package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +0 -99
- package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/ErrorScreen.js +0 -13
- package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +0 -47
- package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +0 -47
- package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +0 -5
- package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +0 -18
- package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +0 -7
- package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +0 -14
- package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +0 -6
- package/dist/WalletConnectionFlow/screens/SigningScreen.js +0 -6
- package/dist/WalletConnectionFlow/screens/index.d.ts +0 -10
- package/dist/WalletConnectionFlow/screens/index.js +0 -10
- package/dist/WalletConnectionFlow/types.d.ts +0 -105
- package/dist/WalletConnectionFlow/types.js +0 -34
- package/dist/WalletConnectionFlow/utils/persistence.d.ts +0 -24
- package/dist/WalletConnectionFlow/utils/persistence.js +0 -83
- package/dist/components/LazyLoadWrapper.d.ts +0 -8
- package/dist/components/LazyLoadWrapper.js +0 -17
- package/dist/components/WalletDeposit/AnimatedButton.d.ts +0 -17
- package/dist/components/WalletDeposit/AnimatedButton.js +0 -29
- package/dist/components/WalletDeposit/components/ChainButton.d.ts +0 -7
- package/dist/components/WalletDeposit/components/ChainButton.js +0 -5
- package/dist/components/WalletDeposit/components/LoadingSquares.d.ts +0 -1
- package/dist/components/WalletDeposit/components/LoadingSquares.js +0 -5
- package/dist/components/WalletDeposit/components/TransactionTable.d.ts +0 -13
- package/dist/components/WalletDeposit/components/TransactionTable.js +0 -58
- package/dist/components/WalletDeposit/components/WaitingMessage.d.ts +0 -6
- package/dist/components/WalletDeposit/components/WaitingMessage.js +0 -6
- package/dist/components/WalletDeposit/constants.d.ts +0 -15
- package/dist/components/WalletDeposit/constants.js +0 -32
- package/dist/components/WalletDeposit/hooks.d.ts +0 -9
- package/dist/components/WalletDeposit/hooks.js +0 -185
- package/dist/components/WalletDeposit/index.d.ts +0 -1
- package/dist/components/WalletDeposit/index.js +0 -136
- package/dist/components/WalletDeposit/screens/AmountInputScreen.d.ts +0 -12
- package/dist/components/WalletDeposit/screens/AmountInputScreen.js +0 -18
- package/dist/components/WalletDeposit/screens/AppsTableScreen.d.ts +0 -8
- package/dist/components/WalletDeposit/screens/AppsTableScreen.js +0 -28
- package/dist/components/WalletDeposit/screens/ChainSelectionScreen.d.ts +0 -5
- package/dist/components/WalletDeposit/screens/ChainSelectionScreen.js +0 -8
- package/dist/components/WalletDeposit/screens/InitialScreen.d.ts +0 -9
- package/dist/components/WalletDeposit/screens/InitialScreen.js +0 -18
- package/dist/components/WalletDeposit/screens/SigningScreen.d.ts +0 -6
- package/dist/components/WalletDeposit/screens/SigningScreen.js +0 -6
- package/dist/components/WalletDeposit/screens/SuccessScreen.d.ts +0 -12
- package/dist/components/WalletDeposit/screens/SuccessScreen.js +0 -7
- package/dist/components/WalletDeposit/types.d.ts +0 -48
- package/dist/components/WalletDeposit/types.js +0 -1
- package/dist/config/dynamic.d.ts +0 -20
- package/dist/config/dynamic.js +0 -47
- package/dist/hooks/useSolanaSession.d.ts +0 -17
- package/dist/hooks/useSolanaSession.js +0 -180
- package/dist/utils/lazyLoad.d.ts +0 -3
- package/dist/utils/lazyLoad.js +0 -9
- package/dist/utils/react-shim.d.ts +0 -2
- package/dist/utils/react-shim.js +0 -6
- package/dist/utils/solana-session.d.ts +0 -84
- package/dist/utils/solana-session.js +0 -230
|
@@ -36,28 +36,23 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
};
|
|
37
37
|
import { NordUser } from '@n1xyz/nord-ts';
|
|
38
38
|
import { generateSessionKeyPair, signEd25519 } from '@n1xyz/nts-sdk';
|
|
39
|
-
import { PublicKey } from '@solana/web3.js';
|
|
40
|
-
import { useEffect } from 'react';
|
|
39
|
+
import { PublicKey, Transaction } from '@solana/web3.js';
|
|
40
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
41
41
|
import { WalletError, WalletErrorCode } from '../../../errors/types';
|
|
42
42
|
import { getSessionKeysFromLocalStorage, storeSessionKeysInLocalStorage, } from '../../../Logic/utils';
|
|
43
43
|
import { useN1WalletContext, useN1WalletInternalContext, } from '../../../Provider/hooks';
|
|
44
44
|
import { logger } from '../../../utils/logger';
|
|
45
|
-
// Utility function to convert Uint8Array to base64 string
|
|
46
|
-
function arrayBufferToBase64(buffer) {
|
|
47
|
-
var binary = '';
|
|
48
|
-
for (var i = 0; i < buffer.length; i++) {
|
|
49
|
-
binary += String.fromCharCode(buffer[i]);
|
|
50
|
-
}
|
|
51
|
-
return btoa(binary);
|
|
52
|
-
}
|
|
53
45
|
/**
|
|
54
46
|
* Hook to access the Nord instance and create a NordUser if needed
|
|
55
47
|
*/
|
|
56
48
|
export var useNordInstance = function () {
|
|
57
49
|
var _a = useN1WalletContext(), nord = _a.nord, address = _a.address, signMessageWithWalletKey = _a.signMessageWithWalletKey, signMessageWithSessionKey = _a.signMessageWithSessionKey, signTransactionWithWalletKey = _a.signTransactionWithWalletKey, nordUser = _a.nordUser, sessionPubKey = _a.sessionPubKey;
|
|
58
50
|
var _b = useN1WalletInternalContext(), setSessionPubKey = _b.setSessionPubKey, setSignMessageWithSessionKey = _b.setSignMessageWithSessionKey, setSignMessageWithWalletKey = _b.setSignMessageWithWalletKey, setSignTransactionWithWalletKey = _b.setSignTransactionWithWalletKey, dynamicWallet = _b.dynamicWallet, setNordUser = _b.setNordUser;
|
|
51
|
+
// Use refs to track previous values to prevent unnecessary re-renders
|
|
52
|
+
var prevDynamicWalletRef = useRef(dynamicWallet);
|
|
53
|
+
var prevAddressRef = useRef(address);
|
|
59
54
|
// Create a wallet signing function if needed
|
|
60
|
-
var createWalletSignFunction = function () {
|
|
55
|
+
var createWalletSignFunction = useCallback(function () {
|
|
61
56
|
if (!dynamicWallet) {
|
|
62
57
|
return null;
|
|
63
58
|
}
|
|
@@ -88,11 +83,14 @@ export var useNordInstance = function () {
|
|
|
88
83
|
// Set the wallet sign function in context
|
|
89
84
|
setSignMessageWithWalletKey(function () { return signWithWallet; });
|
|
90
85
|
return signWithWallet;
|
|
91
|
-
};
|
|
86
|
+
}, [dynamicWallet, setSignMessageWithWalletKey]);
|
|
92
87
|
// Create a wallet transaction signing function
|
|
93
|
-
var createTransactionSignFunction = function () {
|
|
88
|
+
var createTransactionSignFunction = useCallback(function () {
|
|
89
|
+
if (!dynamicWallet) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
94
92
|
var signTransactionWithWallet = function (transaction) { return __awaiter(void 0, void 0, void 0, function () {
|
|
95
|
-
var signedTransaction, error_2;
|
|
93
|
+
var signedTransaction, serializedTx, error_2;
|
|
96
94
|
return __generator(this, function (_a) {
|
|
97
95
|
switch (_a.label) {
|
|
98
96
|
case 0:
|
|
@@ -103,7 +101,10 @@ export var useNordInstance = function () {
|
|
|
103
101
|
case 2:
|
|
104
102
|
signedTransaction = _a.sent();
|
|
105
103
|
logger.debug('Solana transaction signature received');
|
|
106
|
-
|
|
104
|
+
serializedTx = signedTransaction.serialize();
|
|
105
|
+
// Create a new transaction from the serialized data
|
|
106
|
+
// This will have a proper signature property that can be accessed
|
|
107
|
+
return [2 /*return*/, Transaction.from(serializedTx)];
|
|
107
108
|
case 3: throw new WalletError(WalletErrorCode.USER_REJECTED, 'Unsupported chain', { originalError: new Error('Unsupported chain') });
|
|
108
109
|
case 4:
|
|
109
110
|
error_2 = _a.sent();
|
|
@@ -116,9 +117,9 @@ export var useNordInstance = function () {
|
|
|
116
117
|
// Set the transaction sign function in context
|
|
117
118
|
setSignTransactionWithWalletKey(function () { return signTransactionWithWallet; });
|
|
118
119
|
return signTransactionWithWallet;
|
|
119
|
-
};
|
|
120
|
+
}, [dynamicWallet, setSignTransactionWithWalletKey]);
|
|
120
121
|
// Create a session if we have the necessary dependencies but no session sign function
|
|
121
|
-
var createSession = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
122
|
+
var createSession = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
122
123
|
var sessionKeyPair_1, storedKeys, tempKeyPair, error_3, signFn_1, error_4;
|
|
123
124
|
return __generator(this, function (_a) {
|
|
124
125
|
switch (_a.label) {
|
|
@@ -186,9 +187,9 @@ export var useNordInstance = function () {
|
|
|
186
187
|
case 8: return [2 /*return*/];
|
|
187
188
|
}
|
|
188
189
|
});
|
|
189
|
-
}); };
|
|
190
|
+
}); }, [address, dynamicWallet, setSessionPubKey, setSignMessageWithSessionKey]);
|
|
190
191
|
// Create a NordUser instance if needed
|
|
191
|
-
var createNordUser = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
192
|
+
var createNordUser = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
192
193
|
var walletSignFn, sessionSignFn, createdSignFn, sessionId, sessionKeyData, sessionIdKey, storedSessionId, user, _1, error_6;
|
|
193
194
|
return __generator(this, function (_a) {
|
|
194
195
|
switch (_a.label) {
|
|
@@ -242,6 +243,9 @@ export var useNordInstance = function () {
|
|
|
242
243
|
console.error('Error retrieving sessionId from localStorage:', error);
|
|
243
244
|
}
|
|
244
245
|
}
|
|
246
|
+
if (!nord || !address || !sessionPubKey) {
|
|
247
|
+
return [2 /*return*/, null];
|
|
248
|
+
}
|
|
245
249
|
user = new NordUser({
|
|
246
250
|
nord: nord,
|
|
247
251
|
address: address,
|
|
@@ -274,17 +278,53 @@ export var useNordInstance = function () {
|
|
|
274
278
|
case 8: return [2 /*return*/];
|
|
275
279
|
}
|
|
276
280
|
});
|
|
277
|
-
}); }
|
|
281
|
+
}); }, [
|
|
282
|
+
nord,
|
|
283
|
+
address,
|
|
284
|
+
dynamicWallet,
|
|
285
|
+
signMessageWithWalletKey,
|
|
286
|
+
signMessageWithSessionKey,
|
|
287
|
+
signTransactionWithWalletKey,
|
|
288
|
+
sessionPubKey,
|
|
289
|
+
createWalletSignFunction,
|
|
290
|
+
createTransactionSignFunction,
|
|
291
|
+
createSession,
|
|
292
|
+
setNordUser
|
|
293
|
+
]);
|
|
294
|
+
// Initialize wallet and session functions only when dependencies change
|
|
278
295
|
useEffect(function () {
|
|
279
|
-
|
|
296
|
+
var currentDynamicWallet = dynamicWallet;
|
|
297
|
+
var currentAddress = address;
|
|
298
|
+
var prevDynamicWallet = prevDynamicWalletRef.current;
|
|
299
|
+
var prevAddress = prevAddressRef.current;
|
|
300
|
+
// Only run if dynamicWallet or address has actually changed
|
|
301
|
+
if ((currentDynamicWallet !== prevDynamicWallet ||
|
|
302
|
+
currentAddress !== prevAddress) &&
|
|
303
|
+
currentDynamicWallet &&
|
|
304
|
+
nord &&
|
|
305
|
+
currentAddress) {
|
|
306
|
+
logger.debug('Wallet or address changed, initializing functions');
|
|
280
307
|
if (signMessageWithSessionKey == null)
|
|
281
308
|
createSession();
|
|
282
309
|
if (signMessageWithWalletKey == null)
|
|
283
310
|
createWalletSignFunction();
|
|
284
311
|
if (signTransactionWithWalletKey == null)
|
|
285
312
|
createTransactionSignFunction();
|
|
313
|
+
// Update refs
|
|
314
|
+
prevDynamicWalletRef.current = currentDynamicWallet;
|
|
315
|
+
prevAddressRef.current = currentAddress;
|
|
286
316
|
}
|
|
287
|
-
}, [
|
|
317
|
+
}, [
|
|
318
|
+
dynamicWallet,
|
|
319
|
+
address,
|
|
320
|
+
nord,
|
|
321
|
+
signMessageWithSessionKey,
|
|
322
|
+
signMessageWithWalletKey,
|
|
323
|
+
signTransactionWithWalletKey,
|
|
324
|
+
createSession,
|
|
325
|
+
createWalletSignFunction,
|
|
326
|
+
createTransactionSignFunction
|
|
327
|
+
]);
|
|
288
328
|
// Initialize NordUser when dependencies change, but only if we don't already have one
|
|
289
329
|
useEffect(function () {
|
|
290
330
|
var initNordUser = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -309,11 +349,11 @@ export var useNordInstance = function () {
|
|
|
309
349
|
signMessageWithWalletKey,
|
|
310
350
|
signMessageWithSessionKey,
|
|
311
351
|
signTransactionWithWalletKey,
|
|
352
|
+
nordUser,
|
|
353
|
+
createNordUser
|
|
312
354
|
]);
|
|
313
355
|
return {
|
|
314
|
-
nord: nord,
|
|
315
|
-
createNordUser: createNordUser,
|
|
316
356
|
nordUser: nordUser,
|
|
317
|
-
createTransactionSignFunction: createTransactionSignFunction,
|
|
318
357
|
};
|
|
319
358
|
};
|
|
359
|
+
//# sourceMappingURL=useNordInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNordInstance.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/hooks/useNordInstance.ts"],"names":[],"mappings":"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","sourcesContent":["import { NordUser } from '@n1xyz/nord-ts';\nimport { generateSessionKeyPair, signEd25519 } from '@n1xyz/nts-sdk';\nimport { PublicKey, Transaction } from '@solana/web3.js';\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { WalletError, WalletErrorCode } from '../../../errors/types';\nimport {\n getSessionKeysFromLocalStorage,\n storeSessionKeysInLocalStorage,\n} from '../../../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { logger } from '../../../utils/logger';\nimport { sign } from 'crypto';\n\n\n/**\n * Hook to access the Nord instance and create a NordUser if needed\n */\nexport const useNordInstance = () => {\n const {\n nord,\n address,\n signMessageWithWalletKey,\n signMessageWithSessionKey,\n signTransactionWithWalletKey,\n nordUser,\n sessionPubKey,\n } = useN1WalletContext();\n const {\n setSessionPubKey,\n setSignMessageWithSessionKey,\n setSignMessageWithWalletKey,\n setSignTransactionWithWalletKey,\n dynamicWallet,\n setNordUser,\n } = useN1WalletInternalContext();\n\n // Use refs to track previous values to prevent unnecessary re-renders\n const prevDynamicWalletRef = useRef(dynamicWallet);\n const prevAddressRef = useRef(address);\n\n // Create a wallet signing function if needed\n const createWalletSignFunction = useCallback(() => {\n if (!dynamicWallet) {\n return null;\n }\n\n const signWithWallet = async (msg: Uint8Array): Promise<Uint8Array> => {\n try {\n const hexMsg = Buffer.from(msg).toString('hex');\n const signature = await dynamicWallet.signMessage(hexMsg);\n const binaryString = atob(signature);\n const signatureUint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n signatureUint8Array[i] = binaryString.charCodeAt(i);\n }\n return signatureUint8Array;\n } catch (error) {\n console.error('Error signing with wallet:', error);\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign message with wallet',\n { originalError: error }\n );\n }\n };\n\n // Set the wallet sign function in context\n setSignMessageWithWalletKey(() => signWithWallet);\n return signWithWallet;\n }, [dynamicWallet, setSignMessageWithWalletKey]);\n\n // Create a wallet transaction signing function\n const createTransactionSignFunction = useCallback(() => {\n if (!dynamicWallet) {\n return null;\n }\n \n const signTransactionWithWallet = async (\n transaction: any\n ): Promise<any> => {\n try {\n if (dynamicWallet.chain === 'SOL') {\n const signedTransaction = await (\n await dynamicWallet.getSigner()\n ).signTransaction(transaction);\n logger.debug('Solana transaction signature received');\n \n // Serialize the transaction and create a new one from the serialized data\n // This avoids the need to modify the signature property directly\n const serializedTx = signedTransaction.serialize();\n \n // Create a new transaction from the serialized data\n // This will have a proper signature property that can be accessed\n return Transaction.from(serializedTx);\n }\n\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Unsupported chain',\n { originalError: new Error('Unsupported chain') }\n );\n } catch (error) {\n console.error('Error signing transaction with wallet:', error);\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign transaction with wallet',\n { originalError: error }\n );\n }\n };\n\n // Set the transaction sign function in context\n setSignTransactionWithWalletKey(() => signTransactionWithWallet);\n return signTransactionWithWallet;\n }, [dynamicWallet, setSignTransactionWithWalletKey]);\n\n // Create a session if we have the necessary dependencies but no session sign function\n const createSession = useCallback(async () => {\n try {\n // Try to load existing session keys from localStorage\n let sessionKeyPair = null;\n if (address) {\n const storedKeys = getSessionKeysFromLocalStorage(address);\n if (storedKeys) {\n // Reconstruct the key pair from the stored private key\n // We need to derive the public key from the private key\n try {\n // Generate a new key pair to get the proper structure\n const tempKeyPair = await generateSessionKeyPair();\n // Replace the private key with our stored one\n sessionKeyPair = {\n privateKey: storedKeys.ed25519PrivateKey,\n // For Ed25519, the public key is the second half of the private key\n publicKey: tempKeyPair.publicKey,\n };\n } catch (error) {\n console.error(\n 'Error reconstructing key pair from stored keys:',\n error\n );\n sessionKeyPair = null;\n }\n }\n }\n\n // If we couldn't load keys from localStorage, generate new ones\n if (!sessionKeyPair) {\n sessionKeyPair = await generateSessionKeyPair();\n }\n\n // Create session signing function\n const signFn = async (message: any): Promise<any> => {\n try {\n return await signEd25519(message, sessionKeyPair.privateKey);\n } catch (error) {\n console.error('Error signing with session key:', error);\n throw error;\n }\n };\n\n // Store session keys\n storeSessionKeysInLocalStorage({\n privKey: sessionKeyPair.privateKey,\n walletPublicKey: address,\n chainName: dynamicWallet?.chain || 'ETH', // Default to ETH if we don't have chain info\n });\n\n // Set session public key and sign function in context\n setSessionPubKey(sessionKeyPair.publicKey);\n setSignMessageWithSessionKey(() => signFn);\n return signFn;\n } catch (error) {\n console.error('Error creating session:', error);\n return null;\n }\n }, [address, dynamicWallet, setSessionPubKey, setSignMessageWithSessionKey]);\n\n // Create a NordUser instance if needed\n const createNordUser = useCallback(async () => {\n try {\n // If we don't have a wallet sign function, create one\n let walletSignFn = signMessageWithWalletKey;\n if (!walletSignFn && dynamicWallet) {\n walletSignFn = createWalletSignFunction();\n\n if (!walletSignFn) {\n console.error('Failed to create wallet sign function');\n return null;\n }\n }\n\n if (!walletSignFn) {\n console.error(\n 'Cannot create NordUser, no wallet sign function available'\n );\n return null;\n }\n\n // If we don't have a transaction sign function, create one\n if (!signTransactionWithWalletKey && dynamicWallet) {\n createTransactionSignFunction();\n }\n\n // If we don't have a session sign function, create one\n let sessionSignFn = signMessageWithSessionKey;\n if (!sessionSignFn) {\n const createdSignFn = await createSession();\n\n if (!createdSignFn) {\n console.error('Failed to create session sign function');\n return null;\n }\n\n sessionSignFn = createdSignFn;\n }\n\n // Check if there's a sessionId stored for the session public key\n let sessionId = undefined;\n if (address) {\n try {\n // Get the session key from localStorage\n const sessionKeyData = getSessionKeysFromLocalStorage(address);\n if (sessionKeyData) {\n // Check if there's a sessionId stored in localStorage\n const sessionIdKey = `n1_sessionId_${address}`;\n const storedSessionId = localStorage.getItem(sessionIdKey);\n if (storedSessionId !== null) {\n // Convert the stored sessionId to BigInt\n sessionId = BigInt(storedSessionId);\n logger.debug('Found existing sessionId in localStorage', {\n sessionId: storedSessionId,\n });\n }\n }\n } catch (error) {\n console.error('Error retrieving sessionId from localStorage:', error);\n }\n }\n\n if (!nord || !address || !sessionPubKey) {\n return null;\n }\n\n const user = new NordUser({\n nord: nord,\n address,\n walletSignFn,\n sessionSignFn,\n transactionSignFn: signTransactionWithWalletKey!,\n sessionId, // Pass the sessionId if it exists\n sessionPubKey: sessionPubKey!,\n publicKey: new PublicKey(address),\n });\n\n try {\n await user.updateAccountId();\n } catch (_) {\n // Ignore errors during account ID update\n }\n\n // Update the nordUser in the context\n setNordUser(user);\n return user;\n } catch (error) {\n console.error('Error creating NordUser:', error);\n setNordUser(null);\n return null;\n }\n }, [\n nord,\n address,\n dynamicWallet,\n signMessageWithWalletKey,\n signMessageWithSessionKey,\n signTransactionWithWalletKey,\n sessionPubKey,\n createWalletSignFunction,\n createTransactionSignFunction,\n createSession,\n setNordUser\n ]);\n\n // Initialize wallet and session functions only when dependencies change\n useEffect(() => {\n const currentDynamicWallet = dynamicWallet;\n const currentAddress = address;\n const prevDynamicWallet = prevDynamicWalletRef.current;\n const prevAddress = prevAddressRef.current;\n\n // Only run if dynamicWallet or address has actually changed\n if (\n (currentDynamicWallet !== prevDynamicWallet || \n currentAddress !== prevAddress) && \n currentDynamicWallet && \n nord && \n currentAddress\n ) {\n logger.debug('Wallet or address changed, initializing functions');\n \n if (signMessageWithSessionKey == null) createSession();\n if (signMessageWithWalletKey == null) createWalletSignFunction();\n if (signTransactionWithWalletKey == null) createTransactionSignFunction();\n \n // Update refs\n prevDynamicWalletRef.current = currentDynamicWallet;\n prevAddressRef.current = currentAddress;\n }\n }, [\n dynamicWallet, \n address, \n nord, \n signMessageWithSessionKey,\n signMessageWithWalletKey,\n signTransactionWithWalletKey,\n createSession,\n createWalletSignFunction,\n createTransactionSignFunction\n ]);\n\n // Initialize NordUser when dependencies change, but only if we don't already have one\n useEffect(() => {\n const initNordUser = async () => {\n if (\n signMessageWithWalletKey &&\n signMessageWithSessionKey &&\n signTransactionWithWalletKey &&\n nordUser == null\n ) {\n logger.debug('Dependencies available, initializing NordUser');\n await createNordUser();\n }\n };\n\n initNordUser();\n }, [\n signMessageWithWalletKey,\n signMessageWithSessionKey,\n signTransactionWithWalletKey,\n nordUser,\n createNordUser\n ]);\n\n return {\n nordUser,\n };\n};\n"]}
|
|
@@ -51,8 +51,11 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
51
51
|
var _c = useState(false), isConnecting = _c[0], setIsConnecting = _c[1];
|
|
52
52
|
var _d = useState(context.walletType), walletType = _d[0], setWalletType = _d[1];
|
|
53
53
|
var _e = useState(false), hasProcessedWallet = _e[0], setHasProcessedWallet = _e[1];
|
|
54
|
-
// Use
|
|
54
|
+
// Use refs to track previous values
|
|
55
55
|
var processedWalletAddressRef = useRef(null);
|
|
56
|
+
var prevNordUserRef = useRef(nordUser);
|
|
57
|
+
var prevDynamicWalletRef = useRef(dynamicWallet);
|
|
58
|
+
var prevStateRef = useRef(state);
|
|
56
59
|
/**
|
|
57
60
|
* Determine wallet type from Dynamic wallet
|
|
58
61
|
*/
|
|
@@ -85,21 +88,24 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
85
88
|
logger.debug('Starting wallet connection process');
|
|
86
89
|
_a.label = 1;
|
|
87
90
|
case 1:
|
|
88
|
-
_a.trys.push([1,
|
|
91
|
+
_a.trys.push([1, 4, , 5]);
|
|
89
92
|
// Show Dynamic widget to connect wallet
|
|
90
|
-
return [4 /*yield*/,
|
|
93
|
+
return [4 /*yield*/, disconnectWallet()];
|
|
91
94
|
case 2:
|
|
92
95
|
// Show Dynamic widget to connect wallet
|
|
93
96
|
_a.sent();
|
|
94
|
-
|
|
95
|
-
return [3 /*break*/, 4];
|
|
97
|
+
return [4 /*yield*/, showDynamicWidget(true)];
|
|
96
98
|
case 3:
|
|
99
|
+
_a.sent();
|
|
100
|
+
logger.debug('Dynamic widget shown');
|
|
101
|
+
return [3 /*break*/, 5];
|
|
102
|
+
case 4:
|
|
97
103
|
error_1 = _a.sent();
|
|
98
104
|
setIsConnecting(false);
|
|
99
105
|
updateContext({ walletType: null });
|
|
100
106
|
logger.error('Error showing Dynamic widget:', error_1);
|
|
101
|
-
return [3 /*break*/,
|
|
102
|
-
case
|
|
107
|
+
return [3 /*break*/, 5];
|
|
108
|
+
case 5: return [2 /*return*/];
|
|
103
109
|
}
|
|
104
110
|
});
|
|
105
111
|
}); }, [isConnecting, showDynamicWidget, updateContext]);
|
|
@@ -110,47 +116,48 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
110
116
|
logger.debug('Disconnecting wallet');
|
|
111
117
|
setWalletType(null);
|
|
112
118
|
setHasProcessedWallet(false);
|
|
119
|
+
processedWalletAddressRef.current = null;
|
|
113
120
|
updateContext({ walletType: null });
|
|
114
121
|
}, [updateContext]);
|
|
122
|
+
// Process nordUser changes
|
|
115
123
|
useEffect(function () {
|
|
116
|
-
|
|
124
|
+
var currentNordUser = nordUser;
|
|
125
|
+
var prevNordUser = prevNordUserRef.current;
|
|
126
|
+
// Only run if nordUser has changed and we have processed a wallet
|
|
127
|
+
if (hasProcessedWallet && currentNordUser && currentNordUser !== prevNordUser) {
|
|
128
|
+
logger.debug('NordUser changed, checking account status');
|
|
117
129
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
118
|
-
var
|
|
130
|
+
var hasNordAccount_1, sessionId, hasActiveSession_1, transitionDestination_1, error_2;
|
|
119
131
|
return __generator(this, function (_a) {
|
|
120
132
|
switch (_a.label) {
|
|
121
|
-
case 0:
|
|
133
|
+
case 0:
|
|
134
|
+
_a.trys.push([0, 2, , 3]);
|
|
135
|
+
if (!dynamicWallet || !nord)
|
|
136
|
+
return [2 /*return*/];
|
|
137
|
+
return [4 /*yield*/, nord.accountExists(dynamicWallet.address)];
|
|
122
138
|
case 1:
|
|
123
|
-
|
|
124
|
-
sessionId =
|
|
125
|
-
|
|
126
|
-
updateContext({ hasNordAccount:
|
|
127
|
-
|
|
139
|
+
hasNordAccount_1 = _a.sent();
|
|
140
|
+
sessionId = currentNordUser.sessionId;
|
|
141
|
+
hasActiveSession_1 = sessionId != null;
|
|
142
|
+
updateContext({ hasNordAccount: hasNordAccount_1, hasActiveSession: hasActiveSession_1 });
|
|
143
|
+
transitionDestination_1 = hasNordAccount_1
|
|
128
144
|
? sessionId != null
|
|
129
145
|
? FlowState.FINAL_SUCCESS
|
|
130
146
|
: FlowState.AUTH_LOADING
|
|
131
147
|
: FlowState.CHAIN_SELECTION;
|
|
132
|
-
if (
|
|
148
|
+
if (hasNordAccount_1 && sessionId != null) {
|
|
133
149
|
setIsConnected(true);
|
|
134
150
|
}
|
|
135
151
|
// Force a small delay to ensure UI updates properly
|
|
136
152
|
setTimeout(function () {
|
|
137
153
|
try {
|
|
138
|
-
logger.debug('Attempting transition to ' +
|
|
139
|
-
transition(
|
|
154
|
+
logger.debug('Attempting transition to ' + transitionDestination_1);
|
|
155
|
+
transition(transitionDestination_1, {
|
|
140
156
|
walletType: 'solana',
|
|
141
|
-
hasNordAccount:
|
|
142
|
-
hasActiveSession:
|
|
157
|
+
hasNordAccount: hasNordAccount_1,
|
|
158
|
+
hasActiveSession: hasActiveSession_1,
|
|
143
159
|
});
|
|
144
|
-
logger.debug('Transition to ' +
|
|
145
|
-
// Try again with a longer delay as a fallback
|
|
146
|
-
setTimeout(function () {
|
|
147
|
-
logger.debug('Trying fallback transition after delay');
|
|
148
|
-
transition(transitionDestination, {
|
|
149
|
-
walletType: 'solana',
|
|
150
|
-
hasNordAccount: hasNordAccount,
|
|
151
|
-
hasActiveSession: hasActiveSession,
|
|
152
|
-
});
|
|
153
|
-
}, 500);
|
|
160
|
+
logger.debug('Transition to ' + transitionDestination_1 + ' completed');
|
|
154
161
|
}
|
|
155
162
|
catch (error) {
|
|
156
163
|
logger.error('Error during transition:', error);
|
|
@@ -159,24 +166,38 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
159
166
|
setIsConnecting(false);
|
|
160
167
|
}
|
|
161
168
|
}, 100);
|
|
162
|
-
return [
|
|
169
|
+
return [3 /*break*/, 3];
|
|
170
|
+
case 2:
|
|
171
|
+
error_2 = _a.sent();
|
|
172
|
+
logger.error('Error checking account status:', error_2);
|
|
173
|
+
setIsConnecting(false);
|
|
174
|
+
return [3 /*break*/, 3];
|
|
175
|
+
case 3: return [2 /*return*/];
|
|
163
176
|
}
|
|
164
177
|
});
|
|
165
178
|
}); })();
|
|
166
179
|
}
|
|
167
|
-
|
|
180
|
+
// Update ref
|
|
181
|
+
prevNordUserRef.current = currentNordUser;
|
|
182
|
+
}, [nordUser, hasProcessedWallet, dynamicWallet, nord, updateContext, transition, setIsConnected]);
|
|
168
183
|
/**
|
|
169
184
|
* Effect to handle wallet connection state changes
|
|
170
185
|
*/
|
|
171
186
|
useEffect(function () {
|
|
172
187
|
var isNordMode = sessionMode === N1SessionMode.Nord;
|
|
188
|
+
var currentDynamicWallet = dynamicWallet;
|
|
189
|
+
var prevDynamicWallet = prevDynamicWalletRef.current;
|
|
173
190
|
// If we don't have a wallet, nothing to process
|
|
174
|
-
if (!
|
|
191
|
+
if (!currentDynamicWallet) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
// If the wallet hasn't changed, don't reprocess
|
|
195
|
+
if (currentDynamicWallet === prevDynamicWallet) {
|
|
175
196
|
return;
|
|
176
197
|
}
|
|
177
198
|
// If we've already processed this specific wallet address, don't process again
|
|
178
199
|
if (hasProcessedWallet &&
|
|
179
|
-
processedWalletAddressRef.current ===
|
|
200
|
+
processedWalletAddressRef.current === currentDynamicWallet.address) {
|
|
180
201
|
logger.debug('Skipping wallet processing - already processed this address');
|
|
181
202
|
return;
|
|
182
203
|
}
|
|
@@ -191,24 +212,22 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
191
212
|
return [2 /*return*/];
|
|
192
213
|
}
|
|
193
214
|
logger.debug('Processing wallet connection:', {
|
|
194
|
-
wallet: (_a =
|
|
195
|
-
address: (_b =
|
|
215
|
+
wallet: (_a = currentDynamicWallet.connector) === null || _a === void 0 ? void 0 : _a.name,
|
|
216
|
+
address: (_b = currentDynamicWallet.address) === null || _b === void 0 ? void 0 : _b.slice(0, 8),
|
|
196
217
|
state: state,
|
|
197
218
|
isNordMode: isNordMode,
|
|
198
219
|
});
|
|
199
220
|
// Set processed flag first to prevent re-entry
|
|
200
221
|
setHasProcessedWallet(true);
|
|
201
|
-
processedWalletAddressRef.current =
|
|
222
|
+
processedWalletAddressRef.current = currentDynamicWallet.address;
|
|
202
223
|
type = determineWalletType();
|
|
203
224
|
setWalletType(type);
|
|
204
225
|
return [2 /*return*/];
|
|
205
226
|
});
|
|
206
227
|
}); })();
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
};
|
|
211
|
-
}, [dynamicWallet, determineWalletType]);
|
|
228
|
+
// Update ref
|
|
229
|
+
prevDynamicWalletRef.current = currentDynamicWallet;
|
|
230
|
+
}, [dynamicWallet, determineWalletType, hasProcessedWallet, sessionMode, state]);
|
|
212
231
|
// Handle wallet disconnection in a separate effect
|
|
213
232
|
useEffect(function () {
|
|
214
233
|
if (!dynamicWallet && hasProcessedWallet) {
|
|
@@ -219,17 +238,18 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
219
238
|
}, [dynamicWallet, hasProcessedWallet]);
|
|
220
239
|
// Handle connecting state changes in a separate effect
|
|
221
240
|
useEffect(function () {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
241
|
+
var currentState = state;
|
|
242
|
+
var prevState = prevStateRef.current;
|
|
243
|
+
// Only run if state has changed
|
|
244
|
+
if (currentState !== prevState) {
|
|
245
|
+
if (currentState !== FlowState.CONNECTING_WALLET && isConnecting) {
|
|
246
|
+
// If we're no longer in the connecting state, reset the connecting flag
|
|
247
|
+
setIsConnecting(false);
|
|
248
|
+
}
|
|
249
|
+
// Update ref
|
|
250
|
+
prevStateRef.current = currentState;
|
|
231
251
|
}
|
|
232
|
-
}, [state,
|
|
252
|
+
}, [state, isConnecting]);
|
|
233
253
|
return {
|
|
234
254
|
isConnecting: isConnecting,
|
|
235
255
|
walletType: walletType,
|
|
@@ -237,3 +257,4 @@ export var useNordWalletConnect = function (state, transition, context, updateCo
|
|
|
237
257
|
disconnectWallet: disconnectWallet,
|
|
238
258
|
};
|
|
239
259
|
};
|
|
260
|
+
//# sourceMappingURL=useNordWalletConnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNordWalletConnect.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/hooks/useNordWalletConnect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,KAAgB,EAChB,UAAwE,EACxE,OAAY,EACZ,aAA8C,EAC9C,WAA2B;IAErB,IAAA,KAAqB,kBAAkB,EAAE,EAAvC,IAAI,UAAA,EAAE,QAAQ,cAAyB,CAAC;IAC1C,IAAA,KACJ,0BAA0B,EAAE,EADtB,iBAAiB,uBAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBAC1B,CAAC;IAEzB,IAAA,KAAkC,QAAQ,CAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAClD,IAAA,KAA8B,QAAQ,CAC1C,OAAO,CAAC,UAAU,CACnB,EAFM,UAAU,QAAA,EAAE,aAAa,QAE/B,CAAC;IACI,IAAA,KAA8C,QAAQ,CAAC,KAAK,CAAC,EAA5D,kBAAkB,QAAA,EAAE,qBAAqB,QAAmB,CAAC;IAEpE,oCAAoC;IACpC,IAAM,yBAAyB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAM,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACnD,IAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC;;OAEG;IACH,IAAM,mBAAmB,GAAG,WAAW,CAAC;;QACtC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,oEAAoE;QACpE,IAAM,WAAW,GAAG,CAAA,MAAA,MAAA,aAAa,CAAC,SAAS,0CAAE,IAAI,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;QACvE,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB;;OAEG;IACH,IAAM,aAAa,GAAG,WAAW,CAAC;;;;;oBAChC,IAAI,YAAY,IAAI,CAAC,iBAAiB;wBAAE,sBAAO;oBAE/C,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;;;;oBAGjD,wCAAwC;oBACxC,qBAAM,gBAAgB,EAAE,EAAA;;oBADxB,wCAAwC;oBACxC,SAAwB,CAAA;oBACxB,qBAAM,iBAAiB,CAAC,IAAI,CAAC,EAAA;;oBAA7B,SAA6B,CAAC;oBAC9B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;;;;oBAErC,eAAe,CAAC,KAAK,CAAC,CAAC;oBACvB,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAK,CAAC,CAAC;;;;;SAExD,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IAErD;;OAEG;IACH,IAAM,gBAAgB,GAAG,WAAW,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,yBAAyB,CAAC,OAAO,GAAG,IAAI,CAAC;QAEzC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,2BAA2B;IAC3B,SAAS,CAAC;QACR,IAAM,eAAe,GAAG,QAAQ,CAAC;QACjC,IAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;QAE7C,kEAAkE;QAClE,IAAI,kBAAkB,IAAI,eAAe,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YAC9E,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAE1D,CAAC;;;;;;4BAEG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI;gCAAE,sBAAO;4BAEb,qBAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,EAAA;;4BAAhE,mBAAiB,SAA+C;4BAChE,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;4BACtC,qBAAmB,SAAS,IAAI,IAAI,CAAC;4BAE3C,aAAa,CAAC,EAAE,cAAc,kBAAA,EAAE,gBAAgB,oBAAA,EAAE,CAAC,CAAC;4BAE9C,0BAAwB,gBAAc;gCAC1C,CAAC,CAAC,SAAS,IAAI,IAAI;oCACjB,CAAC,CAAC,SAAS,CAAC,aAAa;oCACzB,CAAC,CAAC,SAAS,CAAC,YAAY;gCAC1B,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;4BAE9B,IAAI,gBAAc,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gCACxC,cAAc,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;4BAED,oDAAoD;4BACpD,UAAU,CAAC;gCACT,IAAI,CAAC;oCACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,uBAAqB,CAAC,CAAC;oCAClE,UAAU,CAAC,uBAAqB,EAAE;wCAChC,UAAU,EAAE,QAAQ;wCACpB,cAAc,kBAAA;wCACd,gBAAgB,oBAAA;qCACjB,CAAC,CAAC;oCACH,MAAM,CAAC,KAAK,CACV,gBAAgB,GAAG,uBAAqB,GAAG,YAAY,CACxD,CAAC;gCACJ,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gCAClD,CAAC;wCAAS,CAAC;oCACT,eAAe,CAAC,KAAK,CAAC,CAAC;gCACzB,CAAC;4BACH,CAAC,EAAE,GAAG,CAAC,CAAC;;;;4BAER,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAK,CAAC,CAAC;4BACtD,eAAe,CAAC,KAAK,CAAC,CAAC;;;;;iBAE1B,CAAC,EAAE,CAAC;QACP,CAAC;QAED,aAAa;QACb,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC;IAC5C,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnG;;OAEG;IACH,SAAS,CAAC;QACR,IAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC,IAAI,CAAC;QACtD,IAAM,oBAAoB,GAAG,aAAa,CAAC;QAC3C,IAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC;QAEvD,gDAAgD;QAChD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,IAAI,oBAAoB,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,+EAA+E;QAC/E,IACE,kBAAkB;YAClB,yBAAyB,CAAC,OAAO,KAAK,oBAAoB,CAAC,OAAO,EAClE,CAAC;YACD,MAAM,CAAC,KAAK,CACV,6DAA6D,CAC9D,CAAC;YACF,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,CAAC;;;;gBACC,4CAA4C;gBAC5C,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;oBACxE,sBAAO;gBACT,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBAC5C,MAAM,EAAE,MAAA,oBAAoB,CAAC,SAAS,0CAAE,IAAI;oBAC5C,OAAO,EAAE,MAAA,oBAAoB,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClD,KAAK,OAAA;oBACL,UAAU,YAAA;iBACX,CAAC,CAAC;gBAEH,+CAA+C;gBAC/C,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC5B,yBAAyB,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;gBAE3D,IAAI,GAAG,mBAAmB,EAAE,CAAC;gBACnC,aAAa,CAAC,IAAI,CAAC,CAAC;;;aACrB,CAAC,EAAE,CAAC;QAEL,aAAa;QACb,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACtD,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjF,mDAAmD;IACnD,SAAS,CAAC;QACR,IAAI,CAAC,aAAa,IAAI,kBAAkB,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC9D,yBAAyB,CAAC,OAAO,GAAG,IAAI,CAAC;YACzC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAExC,uDAAuD;IACvD,SAAS,CAAC;QACR,IAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,IAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QAEvC,gCAAgC;QAChC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,YAAY,KAAK,SAAS,CAAC,iBAAiB,IAAI,YAAY,EAAE,CAAC;gBACjE,wEAAwE;gBACxE,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAED,aAAa;YACb,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1B,OAAO;QACL,YAAY,cAAA;QACZ,UAAU,YAAA;QACV,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACjB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useCallback, useEffect, useState, useRef } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { logger } from '../../../utils/logger';\nimport { FlowState } from '../types';\n\n/**\n * Hook for handling wallet connection\n *\n * @param options Configuration options\n * @returns Wallet connection methods and state\n */\nexport const useNordWalletConnect = (\n state: FlowState,\n transition: (newState: FlowState, contextUpdates?: Partial<any>) => void,\n context: any,\n updateContext: (updates: Partial<any>) => void,\n sessionMode?: N1SessionMode\n) => {\n const { nord, nordUser } = useN1WalletContext();\n const { showDynamicWidget, dynamicWallet, setIsConnected } =\n useN1WalletInternalContext();\n\n const [isConnecting, setIsConnecting] = useState(false);\n const [walletType, setWalletType] = useState<'solana' | 'ethereum' | null>(\n context.walletType\n );\n const [hasProcessedWallet, setHasProcessedWallet] = useState(false);\n\n // Use refs to track previous values\n const processedWalletAddressRef = useRef<string | null>(null);\n const prevNordUserRef = useRef(nordUser);\n const prevDynamicWalletRef = useRef(dynamicWallet);\n const prevStateRef = useRef(state);\n\n /**\n * Determine wallet type from Dynamic wallet\n */\n const determineWalletType = useCallback((): 'solana' | 'ethereum' | null => {\n if (!dynamicWallet) return null;\n\n // Check wallet connector id to determine if it's ethereum or solana\n const connectorId = dynamicWallet.connector?.name?.toLowerCase() || '';\n if (connectorId.includes('solana') || connectorId.includes('phantom')) {\n return 'solana';\n } else {\n // Default to ethereum for most other wallets\n return 'ethereum';\n }\n }, [dynamicWallet]);\n\n /**\n * Connect wallet using Dynamic widget\n */\n const connectWallet = useCallback(async () => {\n if (isConnecting || !showDynamicWidget) return;\n\n setIsConnecting(true);\n setHasProcessedWallet(false);\n logger.debug('Starting wallet connection process');\n\n try {\n // Show Dynamic widget to connect wallet\n await disconnectWallet()\n await showDynamicWidget(true);\n logger.debug('Dynamic widget shown');\n } catch (error) {\n setIsConnecting(false);\n updateContext({ walletType: null });\n logger.error('Error showing Dynamic widget:', error);\n }\n }, [isConnecting, showDynamicWidget, updateContext]);\n\n /**\n * Disconnect wallet\n */\n const disconnectWallet = useCallback(() => {\n logger.debug('Disconnecting wallet');\n setWalletType(null);\n setHasProcessedWallet(false);\n processedWalletAddressRef.current = null;\n\n updateContext({ walletType: null });\n }, [updateContext]);\n\n // Process nordUser changes\n useEffect(() => {\n const currentNordUser = nordUser;\n const prevNordUser = prevNordUserRef.current;\n \n // Only run if nordUser has changed and we have processed a wallet\n if (hasProcessedWallet && currentNordUser && currentNordUser !== prevNordUser) {\n logger.debug('NordUser changed, checking account status');\n \n (async () => {\n try {\n if (!dynamicWallet || !nord) return;\n \n const hasNordAccount = await nord.accountExists(dynamicWallet.address);\n const sessionId = currentNordUser.sessionId;\n const hasActiveSession = sessionId != null;\n \n updateContext({ hasNordAccount, hasActiveSession });\n \n const transitionDestination = hasNordAccount\n ? sessionId != null\n ? FlowState.FINAL_SUCCESS\n : FlowState.AUTH_LOADING\n : FlowState.CHAIN_SELECTION;\n\n if (hasNordAccount && sessionId != null) {\n setIsConnected(true);\n }\n\n // Force a small delay to ensure UI updates properly\n setTimeout(() => {\n try {\n logger.debug('Attempting transition to ' + transitionDestination);\n transition(transitionDestination, {\n walletType: 'solana',\n hasNordAccount,\n hasActiveSession,\n });\n logger.debug(\n 'Transition to ' + transitionDestination + ' completed'\n );\n } catch (error) {\n logger.error('Error during transition:', error);\n } finally {\n setIsConnecting(false);\n }\n }, 100);\n } catch (error) {\n logger.error('Error checking account status:', error);\n setIsConnecting(false);\n }\n })();\n }\n \n // Update ref\n prevNordUserRef.current = currentNordUser;\n }, [nordUser, hasProcessedWallet, dynamicWallet, nord, updateContext, transition, setIsConnected]);\n\n /**\n * Effect to handle wallet connection state changes\n */\n useEffect(() => {\n const isNordMode = sessionMode === N1SessionMode.Nord;\n const currentDynamicWallet = dynamicWallet;\n const prevDynamicWallet = prevDynamicWalletRef.current;\n\n // If we don't have a wallet, nothing to process\n if (!currentDynamicWallet) {\n return;\n }\n\n // If the wallet hasn't changed, don't reprocess\n if (currentDynamicWallet === prevDynamicWallet) {\n return;\n }\n\n // If we've already processed this specific wallet address, don't process again\n if (\n hasProcessedWallet &&\n processedWalletAddressRef.current === currentDynamicWallet.address\n ) {\n logger.debug(\n 'Skipping wallet processing - already processed this address'\n );\n return;\n }\n\n // Use an IIFE to handle the async processing\n (async () => {\n // Prevent processing if already in progress\n if (hasProcessedWallet) {\n logger.debug('Skipping wallet processing - hasProcessedWallet is true');\n return;\n }\n\n logger.debug('Processing wallet connection:', {\n wallet: currentDynamicWallet.connector?.name,\n address: currentDynamicWallet.address?.slice(0, 8),\n state,\n isNordMode,\n });\n\n // Set processed flag first to prevent re-entry\n setHasProcessedWallet(true);\n processedWalletAddressRef.current = currentDynamicWallet.address;\n\n const type = determineWalletType();\n setWalletType(type);\n })();\n\n // Update ref\n prevDynamicWalletRef.current = currentDynamicWallet;\n }, [dynamicWallet, determineWalletType, hasProcessedWallet, sessionMode, state]);\n\n // Handle wallet disconnection in a separate effect\n useEffect(() => {\n if (!dynamicWallet && hasProcessedWallet) {\n logger.debug('Wallet disconnected, resetting processed flag');\n processedWalletAddressRef.current = null;\n setHasProcessedWallet(false);\n }\n }, [dynamicWallet, hasProcessedWallet]);\n\n // Handle connecting state changes in a separate effect\n useEffect(() => {\n const currentState = state;\n const prevState = prevStateRef.current;\n \n // Only run if state has changed\n if (currentState !== prevState) {\n if (currentState !== FlowState.CONNECTING_WALLET && isConnecting) {\n // If we're no longer in the connecting state, reset the connecting flag\n setIsConnecting(false);\n }\n \n // Update ref\n prevStateRef.current = currentState;\n }\n }, [state, isConnecting]);\n\n return {\n isConnecting,\n walletType,\n connectWallet,\n disconnectWallet,\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Modal/NordFlow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { NordFlow } from './NordFlow';\n"]}
|
|
@@ -15,3 +15,4 @@ export function ConnectWalletScreen(_a) {
|
|
|
15
15
|
transform: isHovered === 'wallet' ? 'scale(0.99)' : 'scale(1)',
|
|
16
16
|
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsxs("div", { className: "flex items-center", children: [_jsx(IoMdWallet, { className: "w-5 h-5 text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white transition-colors duration-300" }), _jsx("span", { className: "\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Continue with Wallet" })] }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('google'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400", children: "Continue with Google (soon)" }) }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('email'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400", children: "Continue with Email (soon)" }) }) }) })] }) }));
|
|
17
17
|
}
|
|
18
|
+
//# sourceMappingURL=01-ConnectWalletScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"01-ConnectWalletScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/01-ConnectWalletScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,MAAM,UAAU,mBAAmB,CAAC,EAGT;QAFzB,eAAe,qBAAA,EACf,YAAY,kBAAA;IAEN,IAAA,KAA4B,QAAQ,CAExC,IAAI,CAAC,EAFA,SAAS,QAAA,EAAE,YAAY,QAEvB,CAAC;IAER,oCAAoC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,eAAK,SAAS,EAAC,2DAA2D,aACxE,KAAC,cAAc,KAAG,EAClB,eAAK,SAAS,EAAC,iCAAiC,aAC9C,aAAI,SAAS,EAAC,qDAAqD,kCAE9D,EACL,YAAG,SAAS,EAAC,6CAA6C,qEAEtD,IACA,IACF,CACP,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,OAAO,CACL,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,WAAW,aACxB,iBACE,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EAC1C,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,4KAEqB,cAAc,mIAE7C,EACD,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;qBAC/D,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,UAAU,IAAC,SAAS,EAAC,kIAAkI,GAAG,EAC3J,eACE,SAAS,EAAE,oGAC+D,cAAc,gIAEzF,qCAGM,IACH,GACF,GACC,EAET,iBACE,QAAQ,QACR,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EAC1C,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,4KAEqB,cAAc,iGAE7C,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,yEAAyE,4CAElF,GACH,GACF,GACC,EAET,iBACE,QAAQ,QACR,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,EAArB,CAAqB,EACzC,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,4KAEqB,cAAc,iGAE7C,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,yEAAyE,2CAElF,GACH,GACF,GACC,IACL,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useState } from 'react';\nimport { IoMdWallet } from 'react-icons/io';\nimport { LoadingSquares } from '../components/LoadingSquares';\nimport { ANIMATION_EASE } from '../constants';\n\ninterface ConnectWalletScreenProps {\n onConnectWallet: () => void;\n isConnecting: boolean;\n}\n\nexport function ConnectWalletScreen({\n onConnectWallet,\n isConnecting,\n}: ConnectWalletScreenProps) {\n const [isHovered, setIsHovered] = useState<\n 'wallet' | 'google' | 'email' | null\n >(null);\n\n // If connecting, show loading state\n if (isConnecting) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n <LoadingSquares />\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-gray-800 dark:text-white font-semibold\">\n Connecting Wallet\n </h3>\n <p className=\"text-sm text-gray-600 dark:text-neutral-400\">\n Please approve the connection request in your wallet\n </p>\n </div>\n </div>\n );\n }\n\n // If not connecting, show connect options (exactly like NTS flow)\n return (\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-4\">\n <button\n onClick={onConnectWallet}\n onMouseEnter={() => setIsHovered('wallet')}\n onMouseLeave={() => setIsHovered(null)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered === 'wallet' ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <IoMdWallet className=\"w-5 h-5 text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white transition-colors duration-300\" />\n <span\n className={`\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white\n `}\n >\n Continue with Wallet\n </span>\n </div>\n </div>\n </button>\n\n <button\n disabled\n onMouseEnter={() => setIsHovered('google')}\n onMouseLeave={() => setIsHovered(null)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n `}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <span className=\"text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400\">\n Continue with Google (soon)\n </span>\n </div>\n </div>\n </button>\n\n <button\n disabled\n onMouseEnter={() => setIsHovered('email')}\n onMouseLeave={() => setIsHovered(null)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-not-allowed border-gray-200 dark:border-gray-800 opacity-50\n `}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <span className=\"text-base font-medium tracking-wide text-gray-500 dark:text-neutral-400\">\n Continue with Email (soon)\n </span>\n </div>\n </div>\n </button>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"02-EvmWalletAuthScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/02-EvmWalletAuthScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { LoadingSquares } from '../components/LoadingSquares';\nimport { ANIMATION_EASE } from '../constants';\n\ninterface EvmWalletAuthScreenProps {\n onAuth: () => void;\n isAuthenticating?: boolean; // Optional for backward compatibility\n}\n\nenum AuthState {\n INITIAL = 'initial',\n WAITING_FOR_SIGNATURE = 'waiting_for_signature',\n SUCCESS = 'success',\n}\n\nexport function EvmWalletAuthScreen({\n onAuth,\n isAuthenticating = false,\n}: EvmWalletAuthScreenProps) {\n const [isHovered, setIsHovered] = useState(false);\n const [authState, setAuthState] = useState<AuthState>(\n isAuthenticating ? AuthState.WAITING_FOR_SIGNATURE : AuthState.INITIAL\n );\n\n // Handle signature request\n const handleSignatureRequest = () => {\n setAuthState(AuthState.WAITING_FOR_SIGNATURE);\n\n // Simulate signature process - in a real implementation,\n // this would be replaced with actual wallet signature logic\n setTimeout(() => {\n setAuthState(AuthState.SUCCESS);\n }, 2000);\n };\n\n // When signature is successful, trigger onAuth after a brief success message\n useEffect(() => {\n if (authState === AuthState.SUCCESS) {\n const timer = setTimeout(() => {\n onAuth();\n }, 1000);\n\n return () => clearTimeout(timer);\n }\n }, [authState, onAuth]);\n\n // Render waiting for signature screen\n if (authState === AuthState.WAITING_FOR_SIGNATURE) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n <LoadingSquares />\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-gray-800 dark:text-white font-semibold\">\n Waiting for Signature\n </h3>\n <p className=\"text-sm text-gray-600 dark:text-neutral-400\">\n Please sign the message in your Ethereum wallet to authenticate with\n Solana\n </p>\n </div>\n </div>\n );\n }\n\n // Render success screen\n if (authState === AuthState.SUCCESS) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n <div className=\"w-16 h-16 rounded-full bg-green-100 dark:bg-green-900 flex items-center justify-center\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-8 w-8 text-green-600 dark:text-green-400\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </div>\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-gray-800 dark:text-white font-semibold\">\n Signature Verified\n </h3>\n <p className=\"text-sm text-gray-600 dark:text-neutral-400\">\n Your Ethereum wallet has been authenticated successfully\n </p>\n </div>\n </div>\n );\n }\n\n // Render initial screen\n return (\n <div className=\"overflow-hidden relative\">\n <div className=\"space-y-6\">\n <h2 className=\"text-xl text-gray-800 dark:text-white font-semibold mb-2 text-center\">\n EVM Wallet Authentication\n </h2>\n <p className=\"text-sm text-gray-600 dark:text-neutral-400 text-center mb-4\">\n You need to sign a message to authenticate your Ethereum wallet with\n Solana\n </p>\n\n <button\n onClick={handleSignatureRequest}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n `}\n >\n Sign Authentication Message\n </span>\n </button>\n </div>\n </div>\n );\n}\n\n// For backward compatibility\nexport { EvmWalletAuthScreen as EthToSolAuthScreen };\n"]}
|
|
@@ -61,3 +61,4 @@ export function ChainSelectionScreen(_a) {
|
|
|
61
61
|
];
|
|
62
62
|
return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Select Origin Network" }), isLoading ? (_jsx("div", { className: "flex justify-center items-center py-8", children: _jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-main" }) })) : (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(ChainButton, { chain: chainsWithNetworkInfo[0], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[0].id); }, disabled: chainsWithNetworkInfo[0].disabled }, chainsWithNetworkInfo[0].id), _jsx(ChainButton, { chain: chainsWithNetworkInfo[1], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[1].id); }, disabled: chainsWithNetworkInfo[1].disabled }, chainsWithNetworkInfo[1].id)] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(EVMChainsButton, { chain: chainsWithNetworkInfo[2], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[2].id); }, disabled: chainsWithNetworkInfo[2].disabled }, chainsWithNetworkInfo[2].id), _jsx(MoreButton, { chain: chainsWithNetworkInfo[3], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[3].id); }, disabled: chainsWithNetworkInfo[3].disabled }, chainsWithNetworkInfo[3].id)] })] }))] }));
|
|
63
63
|
}
|
|
64
|
+
//# sourceMappingURL=03-ChainSelectionScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"03-ChainSelectionScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/03-ChainSelectionScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAO/C,+DAA+D;AAC/D,IAAM,MAAM,GAAG,UAAC,EAAa;QAAX,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA;IAAO,OAAA,CAChC,cAAK,SAAS,EAAC,qHAAqH,YAClI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GAChB,CACP;AAJiC,CAIjC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,EAET;QAD1B,aAAa,mBAAA;IAEP,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAElD,2CAA2C;IAC3C,IAAM,iBAAiB,GAAG,UAAC,OAAe;QACxC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAEjE,mCAAmC;QACnC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,aAAa,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC5C,qCAAqC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,oCAAoC;IACpC,IAAM,qBAAqB,GAAG;QAC5B;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CACJ,cACE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAEhC,KAAC,MAAM,KAAG,GACN,CACP;YACD,OAAO,EAAE,aAAa,CAAC,MAAM;YAC7B,QAAQ,EAAE,KAAK,EAAE,2BAA2B;SAC7C;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CACJ,cACE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAEhC,KAAC,UAAU,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACjC,CACP;YACD,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,EAAE,EAAE,4CAA4C;YACtD,OAAO,EAAE,EAAE,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE,EAAE,uCAAuC;YACjD,OAAO,EAAE,EAAE,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf;KACF,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,0BAA0B,aACvC,aAAI,SAAS,EAAC,sEAAsE,sCAE/E,EAEJ,SAAS,CAAC,CAAC,CAAC,CACX,cAAK,SAAS,EAAC,uCAAuC,YACpD,cAAK,SAAS,EAAC,0DAA0D,GAAO,GAC5E,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,WAAW,IAEV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA9C,CAA8C,EAC7D,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAHtC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAIhC,EACF,KAAC,WAAW,IAEV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA9C,CAA8C,EAC7D,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAHtC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAIhC,IACE,EAGN,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,eAAe,IAEd,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA9C,CAA8C,EAC7D,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAHtC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAIhC,EACF,KAAC,UAAU,IAET,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA9C,CAA8C,EAC7D,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAHtC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAIhC,IACE,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useState } from 'react';\nimport { SolanaNetwork } from '../../../config/solana';\nimport { ChainButton } from '../components/ChainButton';\nimport { EVMChainsButton } from '../components/EVMChainsButton';\nimport { MoreButton } from '../components/MoreButton';\nimport { Chain } from '../types';\nimport { SolanaLogo } from '../../../components/logos';\nimport Logo from '../../../components/Logo';\nimport { logger } from '../../../utils/logger';\n\ninterface ChainSelectionScreenProps {\n chains: Chain[];\n onChainSelect: (chainId: string) => void;\n}\n\n// Custom N1Logo wrapper that responds to the group hover state\nconst N1Logo = ({ size = 38 }) => (\n <div className=\"text-gray-800 dark:text-white group-hover:text-red-500 dark:group-hover:text-red-500 transition-colors duration-200\">\n <Logo size={size} />\n </div>\n);\n\nexport function ChainSelectionScreen({\n onChainSelect,\n}: ChainSelectionScreenProps) {\n const [isLoading, setIsLoading] = useState(false);\n\n // Only allow devnet, gray out other chains\n const handleChainSelect = (chainId: string) => {\n logger.debug('Chain selected in ChainSelectionScreen:', chainId);\n\n // Only allow devnet to be selected\n if (chainId === 'devnet') {\n setIsLoading(true);\n onChainSelect(chainId);\n } else {\n logger.debug('Chain not allowed:', chainId);\n // Could show a toast or message here\n }\n };\n\n // Define the 4 options as requested\n const chainsWithNetworkInfo = [\n {\n id: 'devnet',\n name: 'Devnet',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <N1Logo />\n </div>\n ),\n network: SolanaNetwork.DEVNET,\n disabled: false, // Only devnet is clickable\n },\n {\n id: 'solana',\n name: 'Solana',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <SolanaLogo width={36} height={36} />\n </div>\n ),\n network: SolanaNetwork.MAINNET,\n disabled: true,\n },\n {\n id: 'evm-chains',\n name: 'EVM Chains',\n logo: '', // Not needed as we're using EVMChainsButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n {\n id: 'more',\n name: 'More',\n logo: '', // Not needed as we're using MoreButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n ];\n\n return (\n <div className=\"overflow-hidden relative\">\n <h2 className=\"text-xl text-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Select Origin Network\n </h2>\n\n {isLoading ? (\n <div className=\"flex justify-center items-center py-8\">\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-main\"></div>\n </div>\n ) : (\n <div className=\"space-y-8\">\n {/* First row: Devnet, Solana */}\n <div className=\"grid grid-cols-2 gap-4\">\n <ChainButton\n key={chainsWithNetworkInfo[0].id}\n chain={chainsWithNetworkInfo[0]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[0].id)}\n disabled={chainsWithNetworkInfo[0].disabled}\n />\n <ChainButton\n key={chainsWithNetworkInfo[1].id}\n chain={chainsWithNetworkInfo[1]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[1].id)}\n disabled={chainsWithNetworkInfo[1].disabled}\n />\n </div>\n\n {/* Second row: EVM Chains, More */}\n <div className=\"grid grid-cols-2 gap-4\">\n <EVMChainsButton\n key={chainsWithNetworkInfo[2].id}\n chain={chainsWithNetworkInfo[2]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[2].id)}\n disabled={chainsWithNetworkInfo[2].disabled}\n />\n <MoreButton\n key={chainsWithNetworkInfo[3].id}\n chain={chainsWithNetworkInfo[3]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[3].id)}\n disabled={chainsWithNetworkInfo[3].disabled}\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -5,8 +5,9 @@ interface AmountInputScreenProps {
|
|
|
5
5
|
balance: number;
|
|
6
6
|
faucetUrl?: string;
|
|
7
7
|
refreshBalance?: () => Promise<void>;
|
|
8
|
+
depositError?: string;
|
|
8
9
|
}
|
|
9
10
|
export declare function AmountInputScreen({ amount: _amount, // Renamed to _amount since we're not using the prop
|
|
10
11
|
onAmountChange, onContinue, balance: _balance, // Renamed to _balance since we're overriding it
|
|
11
|
-
faucetUrl: propFaucetUrl, refreshBalance, }: AmountInputScreenProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
faucetUrl: propFaucetUrl, refreshBalance, depositError, }: AmountInputScreenProps): import("react/jsx-runtime").JSX.Element;
|
|
12
13
|
export {};
|