@n1xyz/wallet-widget 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +184 -19
- package/dist/Logic/sessionManager.d.ts +53 -0
- package/dist/Logic/sessionManager.js +182 -0
- package/dist/Logic/transactionManager.d.ts +41 -0
- package/dist/Logic/transactionManager.js +196 -0
- package/dist/Logic/utils.js +9 -12
- package/dist/Modal/BackButton.js +1 -1
- package/dist/Modal/ConnectView.js +1 -1
- package/dist/Modal/CreateSessionView.js +1 -1
- package/dist/Modal/LoadingFallback.d.ts +2 -0
- package/dist/Modal/LoadingFallback.js +2 -0
- package/dist/Modal/ModalHeader.js +1 -1
- package/dist/Modal/N1WalletModal.js +88 -82
- package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
- package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
- package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
- package/dist/Modal/NTSFlow/NTSFlow.js +34 -0
- package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
- package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
- package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
- package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
- package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
- package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
- package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
- package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
- package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
- package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
- package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
- package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
- package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
- package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
- package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
- package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
- package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
- package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
- package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
- package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
- package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
- package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
- package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
- package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
- package/dist/Modal/NTSFlow/components/BackButton.js +25 -0
- package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
- package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
- package/dist/Modal/NTSFlow/index.d.ts +1 -0
- package/dist/Modal/NTSFlow/index.js +1 -0
- package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
- package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
- package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
- package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
- package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
- package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
- package/dist/Modal/NoWhitelistView.js +1 -1
- package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
- package/dist/Modal/NordFlow/NordFlow.js +267 -0
- package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
- package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
- package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
- package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
- package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
- package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
- package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
- package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
- package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
- package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
- package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
- package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
- package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
- package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
- package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
- package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
- package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
- package/dist/Modal/NordFlow/components/TransactionTable.js +85 -0
- package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
- package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
- package/dist/Modal/NordFlow/components/index.d.ts +5 -0
- package/dist/Modal/NordFlow/components/index.js +5 -0
- package/dist/Modal/NordFlow/constants.d.ts +37 -0
- package/dist/Modal/NordFlow/constants.js +192 -0
- package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
- package/dist/Modal/NordFlow/hoc/index.js +1 -0
- package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
- package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
- package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
- package/dist/Modal/NordFlow/hooks/index.js +5 -0
- package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
- package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
- package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
- package/dist/Modal/NordFlow/hooks/useDepositFlow.js +380 -0
- package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
- package/dist/Modal/NordFlow/hooks/useFlowState.js +167 -0
- package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
- package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
- package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
- package/dist/Modal/NordFlow/hooks/useNordInstance.js +319 -0
- package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
- package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
- package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
- package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +239 -0
- package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
- package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
- package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
- package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
- package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
- package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
- package/dist/Modal/NordFlow/index copy.d.ts +1 -0
- package/dist/Modal/NordFlow/index copy.js +1 -0
- package/dist/Modal/NordFlow/index.d.ts +1 -0
- package/dist/Modal/NordFlow/index.js +1 -0
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +63 -0
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +12 -0
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +186 -0
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +45 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +121 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +135 -0
- package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
- package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
- package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +67 -0
- package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
- package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
- package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
- package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
- package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
- package/dist/Modal/NordFlow/screens/index.js +9 -0
- package/dist/Modal/NordFlow/types.d.ts +110 -0
- package/dist/Modal/NordFlow/types.js +32 -0
- package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
- package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
- package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
- package/dist/Modal/NordFlow/utils/index.js +3 -0
- package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
- package/dist/Modal/NordFlow/utils/nordUtils.js +63 -0
- package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
- package/dist/Modal/NordFlow/utils/persistence.js +83 -0
- package/dist/Modal/Sidebar/N1Sidebar.js +38 -18
- package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +42 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +208 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +29 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +21 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +79 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +109 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +9 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +259 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +182 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +195 -0
- package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
- package/dist/NordFlow/WalletConnectionFlow.js +145 -0
- package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
- package/dist/NordFlow/components/AnimatedButton.js +75 -0
- package/dist/NordFlow/components/ChainButton.d.ts +7 -0
- package/dist/NordFlow/components/ChainButton.js +5 -0
- package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
- package/dist/NordFlow/components/LoadingSquares.js +5 -0
- package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
- package/dist/NordFlow/components/TransactionTable.js +58 -0
- package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
- package/dist/NordFlow/components/WaitingMessage.js +6 -0
- package/dist/NordFlow/components/index.d.ts +5 -0
- package/dist/NordFlow/components/index.js +5 -0
- package/dist/NordFlow/constants.d.ts +37 -0
- package/dist/NordFlow/constants.js +223 -0
- package/dist/NordFlow/hooks/index.d.ts +8 -0
- package/dist/NordFlow/hooks/index.js +8 -0
- package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
- package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
- package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
- package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
- package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
- package/dist/NordFlow/hooks/useFlowState.js +163 -0
- package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
- package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
- package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
- package/dist/NordFlow/hooks/useNordSession.js +193 -0
- package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
- package/dist/NordFlow/hooks/useTableValues.js +69 -0
- package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
- package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
- package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
- package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
- package/dist/NordFlow/index.d.ts +3 -0
- package/dist/NordFlow/index.js +3 -0
- package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
- package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
- package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
- package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
- package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
- package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
- package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
- package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
- package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
- package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
- package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
- package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
- package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
- package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
- package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
- package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
- package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
- package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
- package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
- package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
- package/dist/NordFlow/screens/index.d.ts +10 -0
- package/dist/NordFlow/screens/index.js +10 -0
- package/dist/NordFlow/types.d.ts +105 -0
- package/dist/NordFlow/types.js +34 -0
- package/dist/NordFlow/utils/persistence.d.ts +24 -0
- package/dist/NordFlow/utils/persistence.js +83 -0
- package/dist/Provider/LazyWalletProvider.js +81 -42
- package/dist/Provider/N1WalletProvider.d.ts +1 -1
- package/dist/Provider/N1WalletProvider.js +65 -46
- package/dist/Provider/types.d.ts +61 -0
- package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
- package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
- package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
- package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
- package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
- package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
- package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
- package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
- package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
- package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
- package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
- package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
- package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
- package/dist/WalletConnectionFlow/components/index.js +5 -0
- package/dist/WalletConnectionFlow/constants.d.ts +37 -0
- package/dist/WalletConnectionFlow/constants.js +223 -0
- package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
- package/dist/WalletConnectionFlow/hooks/index.js +8 -0
- package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
- package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
- package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
- package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
- package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
- package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
- package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
- package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
- package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
- package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
- package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
- package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
- package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
- package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
- package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
- package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
- package/dist/WalletConnectionFlow/index.d.ts +3 -0
- package/dist/WalletConnectionFlow/index.js +3 -0
- package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
- package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
- package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
- package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
- package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
- package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
- package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
- package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
- package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
- package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
- package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
- package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
- package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
- package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
- package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
- package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
- package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
- package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
- package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
- package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
- package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
- package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
- package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
- package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
- package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
- package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
- package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
- package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
- package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
- package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
- package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
- package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
- package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
- package/dist/WalletConnectionFlow/screens/index.js +10 -0
- package/dist/WalletConnectionFlow/types.d.ts +105 -0
- package/dist/WalletConnectionFlow/types.js +34 -0
- package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
- package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
- package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
- package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
- package/dist/components/WalletDeposit/types.d.ts +5 -0
- package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
- package/dist/components/logos/ArbitrumLogo.js +5 -0
- package/dist/components/logos/BaseLogo.d.ts +8 -0
- package/dist/components/logos/BaseLogo.js +5 -0
- package/dist/components/logos/BeraLogo.d.ts +8 -0
- package/dist/components/logos/BeraLogo.js +5 -0
- package/dist/components/logos/BitcoinLogo.d.ts +8 -0
- package/dist/components/logos/BitcoinLogo.js +5 -0
- package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
- package/dist/components/logos/EVMChainsGroup.js +18 -0
- package/dist/components/logos/EthereumLogo.d.ts +8 -0
- package/dist/components/logos/EthereumLogo.js +5 -0
- package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
- package/dist/components/logos/HyperliquidLogo.js +5 -0
- package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
- package/dist/components/logos/MoreChainsGroup.js +18 -0
- package/dist/components/logos/OptimismLogo.d.ts +8 -0
- package/dist/components/logos/OptimismLogo.js +5 -0
- package/dist/components/logos/SolanaLogo.d.ts +8 -0
- package/dist/components/logos/SolanaLogo.js +5 -0
- package/dist/components/logos/index.d.ts +10 -0
- package/dist/components/logos/index.js +10 -0
- package/dist/config/dynamic.d.ts +20 -0
- package/dist/config/dynamic.js +47 -0
- package/dist/config/solana.d.ts +25 -0
- package/dist/config/solana.js +41 -0
- package/dist/errors/types.d.ts +5 -1
- package/dist/errors/types.js +12 -0
- package/dist/hooks/useSolanaSession.d.ts +17 -0
- package/dist/hooks/useSolanaSession.js +180 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/main.css +1 -1
- package/dist/utils/solana-session.d.ts +84 -0
- package/dist/utils/solana-session.js +230 -0
- package/package.json +14 -11
|
@@ -46,86 +46,114 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
49
|
-
import {
|
|
49
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
50
50
|
import { useN1WalletInternalContext } from './hooks';
|
|
51
|
+
import { N1SessionMode } from './types';
|
|
51
52
|
import { logger } from '../utils/logger';
|
|
52
|
-
import { N1ModalViewMode } from './types';
|
|
53
|
-
var getSettings = function (darkMode) { return ({
|
|
54
|
-
initialAuthenticationMode: 'connect-only',
|
|
55
|
-
environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
|
|
56
|
-
theme: {
|
|
57
|
-
mode: darkMode ? 'dark' : 'light',
|
|
58
|
-
},
|
|
59
|
-
events: {
|
|
60
|
-
onAuthSuccess: function (args) {
|
|
61
|
-
console.log('onAuthSuccess was called', args);
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
}); };
|
|
65
53
|
function DynamicContextConsumer(_a) {
|
|
66
54
|
var children = _a.children;
|
|
67
|
-
var _b =
|
|
68
|
-
var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
|
|
55
|
+
var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
|
|
69
56
|
var showAuthFlowRef = useRef(null);
|
|
57
|
+
// Use refs to track previous values and prevent unnecessary updates
|
|
58
|
+
var prevPrimaryWalletRef = useRef(null);
|
|
59
|
+
var prevHandleLogOutRef = useRef(null);
|
|
60
|
+
var prevSdkHasLoadedRef = useRef(null);
|
|
61
|
+
var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget;
|
|
62
|
+
// Load the Dynamic context only once
|
|
70
63
|
useEffect(function () {
|
|
64
|
+
var isMounted = true;
|
|
71
65
|
import('@dynamic-labs/sdk-react-core').then(function (_a) {
|
|
72
66
|
var useDynamicContext = _a.useDynamicContext;
|
|
73
|
-
|
|
67
|
+
if (isMounted) {
|
|
68
|
+
setDynamicContext(function () { return useDynamicContext; });
|
|
69
|
+
}
|
|
74
70
|
});
|
|
71
|
+
return function () {
|
|
72
|
+
isMounted = false;
|
|
73
|
+
};
|
|
75
74
|
}, []);
|
|
76
|
-
// Set up a stable widget function that uses the ref
|
|
75
|
+
// Set up a stable widget function that uses the ref - only once
|
|
77
76
|
useEffect(function () {
|
|
78
|
-
|
|
79
|
-
console.log('yeeyyeye', showAuthFlowRef);
|
|
80
|
-
console.log('yeeyyeye', showAuthFlowRef.current, show);
|
|
77
|
+
var stableShowWidget = function (show) {
|
|
81
78
|
if (showAuthFlowRef.current) {
|
|
82
79
|
showAuthFlowRef.current(show);
|
|
83
80
|
}
|
|
84
|
-
};
|
|
81
|
+
};
|
|
82
|
+
setShowDynamicWidget(function () { return stableShowWidget; });
|
|
85
83
|
}, [setShowDynamicWidget]);
|
|
86
84
|
if (!DynamicContext) {
|
|
87
85
|
return _jsx(_Fragment, { children: children });
|
|
88
86
|
}
|
|
89
87
|
var DynamicComponent = function () {
|
|
90
88
|
var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
|
|
91
|
-
// Store setShowAuthFlow in ref to avoid re-renders
|
|
89
|
+
// Store setShowAuthFlow in ref to avoid re-renders - only when it changes
|
|
92
90
|
useEffect(function () {
|
|
93
|
-
showAuthFlowRef.current
|
|
91
|
+
if (setShowAuthFlow !== showAuthFlowRef.current) {
|
|
92
|
+
showAuthFlowRef.current = setShowAuthFlow;
|
|
93
|
+
}
|
|
94
94
|
}, [setShowAuthFlow]);
|
|
95
|
+
// Set the dynamic wallet and address when the primary wallet changes
|
|
96
|
+
// Use deep comparison to prevent unnecessary updates
|
|
95
97
|
useEffect(function () {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
// Skip if the wallet hasn't actually changed
|
|
99
|
+
if (primaryWallet === prevPrimaryWalletRef.current) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
prevPrimaryWalletRef.current = primaryWallet;
|
|
103
|
+
if (primaryWallet) {
|
|
98
104
|
setDynamicWallet(primaryWallet);
|
|
99
105
|
setAddress(primaryWallet.address);
|
|
100
106
|
}
|
|
101
107
|
else {
|
|
102
|
-
logger.debug('No primary wallet found');
|
|
103
108
|
setDynamicWallet(null);
|
|
104
109
|
setAddress('');
|
|
105
|
-
setViewMode(N1ModalViewMode.Connect);
|
|
106
110
|
}
|
|
107
|
-
}, [primaryWallet]);
|
|
111
|
+
}, [primaryWallet, setDynamicWallet, setAddress]);
|
|
112
|
+
// Set the logout handler when it changes - only when it actually changes
|
|
108
113
|
useEffect(function () {
|
|
109
|
-
if (
|
|
110
|
-
|
|
114
|
+
if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
|
|
115
|
+
prevHandleLogOutRef.current = handleLogOut;
|
|
116
|
+
setDynamicHandleLogOut(function () { return handleLogOut; });
|
|
111
117
|
}
|
|
112
|
-
}, [
|
|
113
|
-
// Set the
|
|
118
|
+
}, [handleLogOut, setDynamicHandleLogOut]);
|
|
119
|
+
// Set the SDK loaded flag when it changes - only when it actually changes
|
|
114
120
|
useEffect(function () {
|
|
115
|
-
if (
|
|
116
|
-
|
|
121
|
+
if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
|
|
122
|
+
prevSdkHasLoadedRef.current = sdkHasLoaded;
|
|
123
|
+
setDynamicSdkHasLoaded(sdkHasLoaded);
|
|
117
124
|
}
|
|
118
|
-
}, [
|
|
125
|
+
}, [sdkHasLoaded, setDynamicSdkHasLoaded]);
|
|
119
126
|
return _jsx(_Fragment, { children: children });
|
|
120
127
|
};
|
|
121
128
|
return _jsx(DynamicComponent, {});
|
|
122
129
|
}
|
|
130
|
+
var getSettings = function (darkMode) { return ({
|
|
131
|
+
initialAuthenticationMode: 'connect-only',
|
|
132
|
+
environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
|
|
133
|
+
silentAuthentication: true,
|
|
134
|
+
silentAuth: true,
|
|
135
|
+
theme: {
|
|
136
|
+
mode: darkMode ? 'dark' : 'light',
|
|
137
|
+
},
|
|
138
|
+
events: {
|
|
139
|
+
onAuthSuccess: function (args) {
|
|
140
|
+
logger.debug('onAuthSuccess was called', args);
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
}); };
|
|
123
144
|
function LazyInternal(props) {
|
|
124
145
|
var _this = this;
|
|
125
146
|
var _a = useState(null), Provider = _a[0], setProvider = _a[1];
|
|
126
147
|
var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
|
|
127
|
-
var
|
|
148
|
+
var _c = useN1WalletInternalContext(), darkMode = _c.darkMode, sessionMode = _c.sessionMode;
|
|
149
|
+
// Use a ref to track the previous session mode
|
|
150
|
+
var prevSessionModeRef = useRef(null);
|
|
128
151
|
useEffect(function () {
|
|
152
|
+
// Skip if the session mode hasn't changed
|
|
153
|
+
if (sessionMode === prevSessionModeRef.current) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
prevSessionModeRef.current = sessionMode;
|
|
129
157
|
var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
130
158
|
var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
|
|
131
159
|
return __generator(this, function (_b) {
|
|
@@ -140,23 +168,34 @@ function LazyInternal(props) {
|
|
|
140
168
|
case 1:
|
|
141
169
|
_a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
|
|
142
170
|
setProvider(function () { return DynamicContextProvider_1; });
|
|
143
|
-
|
|
171
|
+
if (sessionMode === N1SessionMode.Nord) {
|
|
172
|
+
// Only use Solana wallet connectors for Nord mode
|
|
173
|
+
setWalletConnectors([SolanaWalletConnectors]);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
// Use all wallet connectors for NTS mode
|
|
177
|
+
setWalletConnectors([
|
|
178
|
+
EthereumWalletConnectors,
|
|
179
|
+
SolanaWalletConnectors,
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
144
182
|
return [3 /*break*/, 3];
|
|
145
183
|
case 2:
|
|
146
184
|
error_1 = _b.sent();
|
|
147
|
-
|
|
185
|
+
logger.error('Failed to load Dynamic dependencies:', error_1);
|
|
148
186
|
return [3 /*break*/, 3];
|
|
149
187
|
case 3: return [2 /*return*/];
|
|
150
188
|
}
|
|
151
189
|
});
|
|
152
190
|
}); };
|
|
153
191
|
loadDynamicDeps();
|
|
154
|
-
}, []);
|
|
192
|
+
}, [sessionMode]);
|
|
193
|
+
// Memoize the dynamic settings to prevent unnecessary re-renders
|
|
194
|
+
var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors })); }, [darkMode, walletConnectors]);
|
|
155
195
|
if (!Provider || walletConnectors.length === 0) {
|
|
156
196
|
return null;
|
|
157
197
|
}
|
|
158
|
-
|
|
159
|
-
return (_jsx(Provider, { settings: dynamicSettings, theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
198
|
+
return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
160
199
|
}
|
|
161
200
|
export function LazyWalletProvider(_a) {
|
|
162
201
|
var children = _a.children;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { N1WalletProviderProps } from './types';
|
|
2
|
-
export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function N1WalletProvider({ children, providedSessionMode, appId, darkMode, onError, faucetUrl, nord, }: N1WalletProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -56,6 +56,10 @@ import { N1WalletModal } from '../Modal/N1WalletModal';
|
|
|
56
56
|
import { WalletError, WalletErrorCode } from '../errors/types';
|
|
57
57
|
import { N1InternalWalletContext, N1WalletContext } from './context';
|
|
58
58
|
import { N1ModalViewMode, N1SessionMode, } from './types';
|
|
59
|
+
import { useNordWalletConnect } from '../Modal/NordFlow/hooks/useNordWalletConnect';
|
|
60
|
+
import { useNordInstance } from '../Modal/NordFlow/hooks/useNordInstance';
|
|
61
|
+
import { FlowState } from '../Modal/NordFlow/types';
|
|
62
|
+
import { logger } from '../utils/logger';
|
|
59
63
|
var LazyWalletProvider = React.lazy(function () {
|
|
60
64
|
return import('./LazyWalletProvider').then(function (mod) { return ({
|
|
61
65
|
default: mod.LazyWalletProvider,
|
|
@@ -83,7 +87,7 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
|
|
|
83
87
|
}(React.Component));
|
|
84
88
|
export function N1WalletProvider(_a) {
|
|
85
89
|
var _this = this;
|
|
86
|
-
var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError;
|
|
90
|
+
var children = _a.children, providedSessionMode = _a.providedSessionMode, appId = _a.appId, _b = _a.darkMode, darkMode = _b === void 0 ? true : _b, onError = _a.onError, faucetUrl = _a.faucetUrl, nord = _a.nord;
|
|
87
91
|
var _c = useState(false), isConnected = _c[0], setIsConnected = _c[1];
|
|
88
92
|
var _d = useState(null), ntsInterface = _d[0], setNtsInterface = _d[1];
|
|
89
93
|
var _e = useState(false), showLogin = _e[0], setShowLogin = _e[1];
|
|
@@ -93,37 +97,42 @@ export function N1WalletProvider(_a) {
|
|
|
93
97
|
var _j = useState(''), username = _j[0], setUsername = _j[1];
|
|
94
98
|
var _k = useState(null), signMessageWithSessionKey = _k[0], setSignMessageWithSessionKey = _k[1];
|
|
95
99
|
var _l = useState(null), signMessageWithWalletKey = _l[0], setSignMessageWithWalletKey = _l[1];
|
|
96
|
-
var _m = useState(
|
|
97
|
-
var _o = useState(false),
|
|
98
|
-
var _p = useState(false),
|
|
99
|
-
var _q = useState(
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// eslint-disable-next-line no-console
|
|
103
|
-
console.log('N1WalletProvider initializing');
|
|
104
|
-
}, []);
|
|
100
|
+
var _m = useState(null), signTransactionWithWalletKey = _m[0], setSignTransactionWithWalletKey = _m[1];
|
|
101
|
+
var _o = useState(false), showSidebar = _o[0], setShowSidebar = _o[1];
|
|
102
|
+
var _p = useState(false), startClosingLogin = _p[0], setStartClosingLogin = _p[1];
|
|
103
|
+
var _q = useState(false), loading = _q[0], setLoading = _q[1];
|
|
104
|
+
var _r = useState(N1ModalViewMode.Connect), viewMode = _r[0], setViewMode = _r[1];
|
|
105
|
+
var _s = useState(null), nordUser = _s[0], setNordUser = _s[1];
|
|
105
106
|
// dynamic
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var
|
|
112
|
-
var
|
|
113
|
-
var
|
|
107
|
+
var _t = useState(''), address = _t[0], setAddress = _t[1];
|
|
108
|
+
var _u = useState([]), balances = _u[0], setBalances = _u[1];
|
|
109
|
+
var _v = useState(''), chain = _v[0], setChain = _v[1];
|
|
110
|
+
var _w = useState(null), dynamicSdkHasLoaded = _w[0], setDynamicSdkHasLoaded = _w[1];
|
|
111
|
+
var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
|
|
112
|
+
var _y = useState(null), sessionMode = _y[0], setSessionMode = _y[1];
|
|
113
|
+
var _z = useState(null), dynamicWallet = _z[0], setDynamicWallet = _z[1];
|
|
114
|
+
var _0 = useState(null), showDynamicWidget = _0[0], setShowDynamicWidget = _0[1];
|
|
115
|
+
// Create a separate component for Nord hooks to avoid conditional hook calls
|
|
116
|
+
var NordHooks = function () {
|
|
117
|
+
useNordInstance();
|
|
118
|
+
useNordWalletConnect(FlowState.IDLE, function (newState) { return logger.debug('State transition:', newState); }, {}, // context
|
|
119
|
+
function (updates) { return logger.debug('Context updates:', updates); }, providedSessionMode);
|
|
120
|
+
return null;
|
|
121
|
+
};
|
|
114
122
|
// Combine SDK loading and initialization into a single effect
|
|
115
123
|
useEffect(function () {
|
|
116
124
|
var mounted = true;
|
|
117
|
-
|
|
125
|
+
// Set the session mode from props
|
|
126
|
+
setSessionMode(providedSessionMode);
|
|
127
|
+
// Load the appropriate SDK
|
|
128
|
+
var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
118
129
|
var NTSInterface, error_1;
|
|
119
130
|
return __generator(this, function (_a) {
|
|
120
131
|
switch (_a.label) {
|
|
121
132
|
case 0:
|
|
122
133
|
// eslint-disable-next-line no-console
|
|
123
|
-
|
|
134
|
+
logger.debug('Loading NTS SDK');
|
|
124
135
|
if (providedSessionMode === N1SessionMode.Nord) {
|
|
125
|
-
// eslint-disable-next-line no-console
|
|
126
|
-
console.log('Nord mode, skipping NTS SDK load');
|
|
127
136
|
return [2 /*return*/];
|
|
128
137
|
}
|
|
129
138
|
_a.label = 1;
|
|
@@ -134,7 +143,7 @@ export function N1WalletProvider(_a) {
|
|
|
134
143
|
NTSInterface = (_a.sent()).NTSInterface;
|
|
135
144
|
if (mounted) {
|
|
136
145
|
// eslint-disable-next-line no-console
|
|
137
|
-
|
|
146
|
+
logger.debug('NTS SDK loaded successfully');
|
|
138
147
|
setNtsInterface(new NTSInterface(process.env.NTS_URL));
|
|
139
148
|
}
|
|
140
149
|
return [3 /*break*/, 4];
|
|
@@ -142,18 +151,18 @@ export function N1WalletProvider(_a) {
|
|
|
142
151
|
error_1 = _a.sent();
|
|
143
152
|
if (mounted) {
|
|
144
153
|
// eslint-disable-next-line no-console
|
|
145
|
-
|
|
154
|
+
logger.error('Error loading NTS SDK:', error_1);
|
|
146
155
|
}
|
|
147
156
|
return [3 /*break*/, 4];
|
|
148
157
|
case 4: return [2 /*return*/];
|
|
149
158
|
}
|
|
150
159
|
});
|
|
151
160
|
}); };
|
|
152
|
-
|
|
161
|
+
loadSDK();
|
|
153
162
|
return function () {
|
|
154
163
|
mounted = false;
|
|
155
164
|
};
|
|
156
|
-
}, [providedSessionMode]);
|
|
165
|
+
}, [providedSessionMode, onError]);
|
|
157
166
|
// Separate effect to handle loading state based on both SDKs
|
|
158
167
|
useEffect(function () {
|
|
159
168
|
var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
|
|
@@ -170,25 +179,31 @@ export function N1WalletProvider(_a) {
|
|
|
170
179
|
return [2 /*return*/];
|
|
171
180
|
});
|
|
172
181
|
}); };
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
182
|
+
// Create the wallet context value
|
|
183
|
+
var walletContextValue = {
|
|
184
|
+
address: address,
|
|
185
|
+
appId: appId,
|
|
186
|
+
balances: balances,
|
|
187
|
+
chain: chain,
|
|
188
|
+
isConnected: isConnected,
|
|
189
|
+
ntsInterface: ntsInterface,
|
|
190
|
+
sessionMode: sessionMode,
|
|
191
|
+
sessionPubKey: sessionPubKey,
|
|
192
|
+
setShowLogin: setShowLogin,
|
|
193
|
+
showLogin: showLogin,
|
|
194
|
+
signMessageWithSessionKey: signMessageWithSessionKey,
|
|
195
|
+
signMessageWithWalletKey: signMessageWithWalletKey,
|
|
196
|
+
signTransactionWithWalletKey: signTransactionWithWalletKey,
|
|
197
|
+
userChain: userChain,
|
|
198
|
+
username: username,
|
|
199
|
+
viewMode: viewMode,
|
|
200
|
+
walletPubKey: walletPubKey,
|
|
201
|
+
throwTestError: throwTestError,
|
|
202
|
+
faucetUrl: faucetUrl,
|
|
203
|
+
nord: nord,
|
|
204
|
+
nordUser: nordUser,
|
|
205
|
+
};
|
|
206
|
+
return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsxs(N1InternalWalletContext.Provider, { value: {
|
|
192
207
|
dynamicHandleLogOut: dynamicHandleLogOut,
|
|
193
208
|
dynamicWallet: dynamicWallet,
|
|
194
209
|
loading: loading,
|
|
@@ -208,6 +223,7 @@ export function N1WalletProvider(_a) {
|
|
|
208
223
|
setShowSidebar: setShowSidebar,
|
|
209
224
|
setSignMessageWithSessionKey: setSignMessageWithSessionKey,
|
|
210
225
|
setSignMessageWithWalletKey: setSignMessageWithWalletKey,
|
|
226
|
+
setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
|
|
211
227
|
setStartClosingLogin: setStartClosingLogin,
|
|
212
228
|
setUsername: setUsername,
|
|
213
229
|
setUserChain: setUserChain,
|
|
@@ -218,5 +234,8 @@ export function N1WalletProvider(_a) {
|
|
|
218
234
|
showDynamicWidget: showDynamicWidget,
|
|
219
235
|
setShowDynamicWidget: setShowDynamicWidget,
|
|
220
236
|
darkMode: darkMode,
|
|
221
|
-
|
|
237
|
+
sessionMode: sessionMode,
|
|
238
|
+
faucetUrl: faucetUrl,
|
|
239
|
+
setNordUser: setNordUser,
|
|
240
|
+
}, children: [children, providedSessionMode === N1SessionMode.Nord && _jsx(NordHooks, {}), _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
|
|
222
241
|
}
|
package/dist/Provider/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { WalletError } from '../errors/types';
|
|
2
|
+
import { Nord } from '@n1xyz/nord-ts';
|
|
2
3
|
export declare enum N1ModalViewMode {
|
|
3
4
|
Connect = 0,
|
|
4
5
|
CreateSession = 1,
|
|
@@ -17,6 +18,8 @@ export interface N1WalletProviderProps {
|
|
|
17
18
|
appId: string;
|
|
18
19
|
darkMode?: boolean;
|
|
19
20
|
onError?: (error: WalletError) => void;
|
|
21
|
+
faucetUrl?: string;
|
|
22
|
+
nord?: Nord;
|
|
20
23
|
}
|
|
21
24
|
export interface Balance {
|
|
22
25
|
mint: string;
|
|
@@ -24,6 +27,56 @@ export interface Balance {
|
|
|
24
27
|
appId: string;
|
|
25
28
|
appType: string;
|
|
26
29
|
}
|
|
30
|
+
export interface N1NordFunctions {
|
|
31
|
+
getMarkets: () => Promise<any[]>;
|
|
32
|
+
getOrderbook: (symbol: string) => Promise<any>;
|
|
33
|
+
getTrades: (params: any) => Promise<any>;
|
|
34
|
+
getMarketsStats: () => Promise<any>;
|
|
35
|
+
placeOrder: (params: {
|
|
36
|
+
sessionId: bigint | string;
|
|
37
|
+
marketId: number;
|
|
38
|
+
side: 'BUY' | 'SELL';
|
|
39
|
+
fillMode: 'GTC' | 'IOC' | 'FOK' | 'POST_ONLY';
|
|
40
|
+
isReduceOnly: boolean;
|
|
41
|
+
size?: number | string;
|
|
42
|
+
price?: number | string;
|
|
43
|
+
quoteSize?: number | string;
|
|
44
|
+
clientOrderId?: bigint | string;
|
|
45
|
+
}) => Promise<bigint | undefined>;
|
|
46
|
+
cancelOrder: (params: {
|
|
47
|
+
sessionId: bigint | string;
|
|
48
|
+
orderId: bigint | string;
|
|
49
|
+
}) => Promise<bigint>;
|
|
50
|
+
createSession: (params: {
|
|
51
|
+
userPubkey: Uint8Array;
|
|
52
|
+
sessionPubkey: Uint8Array;
|
|
53
|
+
expiryTimestamp?: bigint;
|
|
54
|
+
}) => Promise<bigint>;
|
|
55
|
+
revokeSession: (params: {
|
|
56
|
+
sessionId: bigint | string;
|
|
57
|
+
}) => Promise<void>;
|
|
58
|
+
withdraw: (params: {
|
|
59
|
+
sessionId: bigint | string;
|
|
60
|
+
tokenId: number;
|
|
61
|
+
amount: number;
|
|
62
|
+
}) => Promise<void>;
|
|
63
|
+
transfer: (params: {
|
|
64
|
+
sessionId: bigint | string;
|
|
65
|
+
fromAccountId: number;
|
|
66
|
+
toAccountId?: number;
|
|
67
|
+
tokenId: number;
|
|
68
|
+
tokenDecimals: number;
|
|
69
|
+
amount: number | string;
|
|
70
|
+
}) => Promise<number | undefined>;
|
|
71
|
+
getTimestamp: () => Promise<bigint>;
|
|
72
|
+
getActionNonce: () => Promise<number>;
|
|
73
|
+
queryBlock: (query: any) => Promise<any>;
|
|
74
|
+
queryLastNBlocks: () => Promise<any>;
|
|
75
|
+
queryRecentBlocks: (last_n: number) => Promise<any>;
|
|
76
|
+
queryAction: (query: any) => Promise<any>;
|
|
77
|
+
queryRecentActions: (last_n: number) => Promise<any>;
|
|
78
|
+
getActions: (fromActionId: number, toActionId: number) => Promise<any>;
|
|
79
|
+
}
|
|
27
80
|
export interface N1WalletState {
|
|
28
81
|
address: string;
|
|
29
82
|
appId: string | null;
|
|
@@ -37,11 +90,15 @@ export interface N1WalletState {
|
|
|
37
90
|
showLogin: boolean;
|
|
38
91
|
signMessageWithSessionKey: ((message: any) => Promise<any>) | null;
|
|
39
92
|
signMessageWithWalletKey: ((message: any) => Promise<any>) | null;
|
|
93
|
+
signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;
|
|
40
94
|
userChain: string | null;
|
|
41
95
|
username: string;
|
|
42
96
|
viewMode: N1ModalViewMode;
|
|
43
97
|
walletPubKey: Uint8Array | null;
|
|
44
98
|
throwTestError: () => Promise<void>;
|
|
99
|
+
nord?: Nord;
|
|
100
|
+
faucetUrl?: string;
|
|
101
|
+
nordUser?: any;
|
|
45
102
|
}
|
|
46
103
|
export interface N1InternalWalletState {
|
|
47
104
|
dynamicHandleLogOut: any;
|
|
@@ -63,14 +120,18 @@ export interface N1InternalWalletState {
|
|
|
63
120
|
setShowSidebar: (show: boolean) => void;
|
|
64
121
|
setSignMessageWithSessionKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
|
|
65
122
|
setSignMessageWithWalletKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
|
|
123
|
+
setSignTransactionWithWalletKey: React.Dispatch<React.SetStateAction<((transaction: any) => Promise<any>) | null>>;
|
|
66
124
|
setStartClosingLogin: (closing: boolean) => void;
|
|
67
125
|
setUsername: (username: string) => void;
|
|
68
126
|
setUserChain: (chain: string) => void;
|
|
69
127
|
setViewMode: (mode: N1ModalViewMode) => void;
|
|
70
128
|
setWalletPubKey: (key: Uint8Array) => void;
|
|
129
|
+
setNordUser: (user: any) => void;
|
|
71
130
|
showSidebar: boolean;
|
|
72
131
|
startClosingLogin: boolean;
|
|
73
132
|
showDynamicWidget: any;
|
|
74
133
|
setShowDynamicWidget: (show: any) => void;
|
|
75
134
|
darkMode: boolean;
|
|
135
|
+
sessionMode: N1SessionMode | null;
|
|
136
|
+
faucetUrl?: string;
|
|
76
137
|
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useCallback, useState } from 'react';
|
|
3
|
+
import Logo from '../components/Logo';
|
|
4
|
+
import { CHAINS } from './constants';
|
|
5
|
+
import { useDepositFlow, useFlowState, useInterruptHandler, useNordSession, useWalletConnect } from './hooks';
|
|
6
|
+
import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EvmWalletAuthScreen, FinalSuccessScreen, NordAuthScreen } from './screens';
|
|
7
|
+
import { FlowState } from './types';
|
|
8
|
+
var ConfirmationDialog = function (_a) {
|
|
9
|
+
var onConfirm = _a.onConfirm, onCancel = _a.onCancel;
|
|
10
|
+
return (_jsx("div", { className: "fixed inset-0 bg-gray-50 dark:bg-gray-950 flex items-center justify-center z-50 font-era overflow-auto", children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity] animate-fade-in", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800", children: _jsx("div", { className: "flex items-center justify-between", children: _jsx("div", { className: "flex items-center gap-3", children: _jsx("h2", { className: "text-xl text-gray-700 dark:text-gray-300", children: "Confirm Close" }) }) }) }), _jsxs("div", { className: "p-6 overflow-hidden relative", children: [_jsx("p", { className: "text-gray-700 dark:text-gray-300 text-center mb-6", children: "Are you sure you want to close? This operation is in progress." }), _jsxs("div", { className: "flex flex-col space-y-3", children: [_jsx("button", { onClick: onConfirm, className: "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 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "Yes, close" }), _jsx("button", { onClick: onCancel, className: "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 ease-[cubic-bezier(0.16,1,0.3,1)]\n cursor-pointer border-gray-200 dark:border-neutral-800 hover:border-gray-400 dark:hover:border-white/60\n text-gray-800 dark:text-gray-200", children: "No, continue" })] })] })] }) }));
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Main component for the wallet connection flow
|
|
14
|
+
*/
|
|
15
|
+
export var WalletConnectionFlow = function (_a) {
|
|
16
|
+
var onClose = _a.onClose;
|
|
17
|
+
// Handle state changes
|
|
18
|
+
var handleStateChange = useCallback(function (newState, prevState) {
|
|
19
|
+
console.log("State changed from ".concat(prevState, " to ").concat(newState));
|
|
20
|
+
}, []);
|
|
21
|
+
// Handle errors
|
|
22
|
+
var handleError = useCallback(function (error) {
|
|
23
|
+
console.error('Flow error:', error);
|
|
24
|
+
}, []);
|
|
25
|
+
// Initialize flow state
|
|
26
|
+
var _b = useFlowState({
|
|
27
|
+
autoRecover: false, // We'll handle recovery with a prompt
|
|
28
|
+
onStateChange: handleStateChange,
|
|
29
|
+
onError: handleError,
|
|
30
|
+
}), state = _b.state, context = _b.context, transition = _b.transition, updateContext = _b.updateContext, recover = _b.recover, recordInterruption = _b.recordInterruption, handleFlowError = _b.handleError, isRecoveryAvailable = _b.isRecoveryAvailable;
|
|
31
|
+
// Initialize wallet connection
|
|
32
|
+
var _c = useWalletConnect({
|
|
33
|
+
state: state,
|
|
34
|
+
context: context,
|
|
35
|
+
transition: transition,
|
|
36
|
+
handleError: handleFlowError,
|
|
37
|
+
}), isConnecting = _c.isConnecting, connectWallet = _c.connectWallet;
|
|
38
|
+
// Initialize Nord session
|
|
39
|
+
var hasNordAccount = useNordSession({
|
|
40
|
+
state: state,
|
|
41
|
+
context: context,
|
|
42
|
+
transition: transition,
|
|
43
|
+
handleError: handleFlowError,
|
|
44
|
+
}).hasNordAccount;
|
|
45
|
+
// Initialize deposit flow
|
|
46
|
+
var _d = useDepositFlow({
|
|
47
|
+
state: state,
|
|
48
|
+
context: context,
|
|
49
|
+
transition: transition,
|
|
50
|
+
handleError: handleFlowError,
|
|
51
|
+
updateContext: updateContext,
|
|
52
|
+
}), selectedChain = _d.selectedChain, amount = _d.amount, isDepositing = _d.isDepositing, transactionId = _d.transactionId, selectChain = _d.selectChain, updateAmount = _d.updateAmount, startDeposit = _d.startDeposit, goBackToChainSelection = _d.goBackToChainSelection;
|
|
53
|
+
// Initialize interrupt handler
|
|
54
|
+
var _e = useInterruptHandler({
|
|
55
|
+
state: state,
|
|
56
|
+
recordInterruption: recordInterruption,
|
|
57
|
+
onClose: onClose,
|
|
58
|
+
}), isClosing = _e.isClosing, showConfirmation = _e.showConfirmation, handleCloseRequest = _e.handleCloseRequest, confirmClose = _e.confirmClose, cancelClose = _e.cancelClose;
|
|
59
|
+
// Check for recovery on mount
|
|
60
|
+
var _f = useState(false), hasAttemptedRecovery = _f[0], setHasAttemptedRecovery = _f[1];
|
|
61
|
+
React.useEffect(function () {
|
|
62
|
+
if (!hasAttemptedRecovery) {
|
|
63
|
+
if (isRecoveryAvailable) {
|
|
64
|
+
// Automatically recover without showing a prompt
|
|
65
|
+
recover();
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// Start at CONNECTING_WALLET so we show the wallet selection screen
|
|
69
|
+
// The actual connection will only happen when the user clicks the button
|
|
70
|
+
transition(FlowState.CONNECTING_WALLET);
|
|
71
|
+
}
|
|
72
|
+
setHasAttemptedRecovery(true);
|
|
73
|
+
}
|
|
74
|
+
}, [hasAttemptedRecovery, isRecoveryAvailable, transition, recover]);
|
|
75
|
+
// For deposit progress message
|
|
76
|
+
var _g = useState({
|
|
77
|
+
visible: true,
|
|
78
|
+
title: 'Processing Deposit',
|
|
79
|
+
subtitle: 'Please wait while we process your deposit',
|
|
80
|
+
isTyping: false
|
|
81
|
+
}), depositMessage = _g[0], setDepositMessage = _g[1];
|
|
82
|
+
// Mock table values for success screen
|
|
83
|
+
var tableValues = {
|
|
84
|
+
tx: { text: transactionId || '0x123...456', visible: true, typing: false },
|
|
85
|
+
from: { text: 'Your Wallet', visible: true, typing: false },
|
|
86
|
+
to: { text: 'Nord Account', visible: true, typing: false },
|
|
87
|
+
network: { text: 'Ethereum', visible: true, typing: false },
|
|
88
|
+
status: { text: 'Completed', visible: true, typing: false }
|
|
89
|
+
};
|
|
90
|
+
var handleFinish = function () {
|
|
91
|
+
if (onClose) {
|
|
92
|
+
onClose();
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
// Render confirmation dialog if needed
|
|
96
|
+
var renderConfirmationDialog = function () {
|
|
97
|
+
if (!showConfirmation)
|
|
98
|
+
return null;
|
|
99
|
+
return (_jsx(ConfirmationDialog, { onConfirm: confirmClose, onCancel: cancelClose }));
|
|
100
|
+
};
|
|
101
|
+
// Render current screen based on state
|
|
102
|
+
var renderScreen = function () {
|
|
103
|
+
switch (state) {
|
|
104
|
+
case FlowState.IDLE:
|
|
105
|
+
case FlowState.CONNECTING_WALLET:
|
|
106
|
+
return (_jsx(ConnectWalletScreen, { onConnectWallet: connectWallet, isConnecting: isConnecting }));
|
|
107
|
+
case FlowState.ETH_TO_SOL_AUTH:
|
|
108
|
+
return (_jsx(EvmWalletAuthScreen, { onAuth: function () { return transition(FlowState.CHAIN_SELECTION); } }));
|
|
109
|
+
case FlowState.CHAIN_SELECTION:
|
|
110
|
+
return (_jsx(ChainSelectionScreen, { chains: CHAINS, onChainSelect: selectChain }));
|
|
111
|
+
case FlowState.AMOUNT_INPUT:
|
|
112
|
+
return (_jsx(AmountInputScreen, { amount: amount, onAmountChange: updateAmount, onContinue: startDeposit, balance: 100 }));
|
|
113
|
+
case FlowState.DEPOSIT_PROGRESS:
|
|
114
|
+
return (_jsx(DepositProgressScreen, { message: depositMessage, percentComplete: 75 }));
|
|
115
|
+
case FlowState.DEPOSIT_SUCCESS:
|
|
116
|
+
return (_jsx(DepositSuccessScreen, { amount: amount, tableValues: tableValues, onContinue: function () { return transition(FlowState.NORD_AUTH); } }));
|
|
117
|
+
case FlowState.NORD_AUTH:
|
|
118
|
+
return (_jsx(NordAuthScreen, { hasNordAccount: hasNordAccount, onCreateAccount: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: false }); }, onLogin: function () { return transition(FlowState.AUTH_LOADING, { hasNordAccount: true }); } }));
|
|
119
|
+
case FlowState.AUTH_LOADING:
|
|
120
|
+
return (_jsx(AuthLoadingScreen, { isCreatingAccount: !hasNordAccount, onAuthComplete: function (success) {
|
|
121
|
+
if (success) {
|
|
122
|
+
console.log('Auth complete callback in WalletConnectionFlow, transitioning to FINAL_SUCCESS');
|
|
123
|
+
// Update the context first
|
|
124
|
+
updateContext({ hasActiveSession: true });
|
|
125
|
+
// Then transition to success
|
|
126
|
+
transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// Handle auth failure
|
|
130
|
+
handleFlowError(new Error('Authentication failed'));
|
|
131
|
+
}
|
|
132
|
+
} }));
|
|
133
|
+
case FlowState.FINAL_SUCCESS:
|
|
134
|
+
return (_jsx(FinalSuccessScreen, { onDone: handleFinish }));
|
|
135
|
+
case FlowState.ERROR:
|
|
136
|
+
return (_jsx(ErrorScreen, { error: context.error, onRetry: function () {
|
|
137
|
+
// Logic to go back to appropriate state based on error
|
|
138
|
+
transition(FlowState.CONNECTING_WALLET);
|
|
139
|
+
}, onCancel: handleFinish }));
|
|
140
|
+
default:
|
|
141
|
+
return _jsx("div", { children: "Loading..." });
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era ".concat(isClosing ? 'animate-fade-out' : 'animate-fade-in'), children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800 w-full max-w-2xl mx-auto", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsx("div", { className: "w-6 h-6 text-gray-50", children: _jsx(Logo, { size: 24 }) }) }), _jsx("button", { onClick: handleCloseRequest, className: "\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800\n flex items-center justify-center\n ", children: _jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) }) })] }) }), _jsxs("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: [renderConfirmationDialog(), renderScreen()] })] }) }));
|
|
145
|
+
};
|