@n1xyz/wallet-widget 0.0.1 → 0.0.5
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/LICENSE +44 -0
- package/README.md +210 -0
- package/dist/Logic/sessionManager.d.ts +53 -0
- package/dist/Logic/sessionManager.js +178 -0
- package/dist/Logic/transactionManager.d.ts +41 -0
- package/dist/Logic/transactionManager.js +192 -0
- package/dist/Logic/utils.d.ts +1 -0
- package/dist/Logic/utils.js +47 -9
- package/dist/Modal/BackButton.js +14 -1
- package/dist/Modal/ConnectView.js +20 -23
- package/dist/Modal/CreateSessionView.js +23 -11
- package/dist/Modal/CreateUserView.js +1 -1
- package/dist/Modal/LoadingFallback.d.ts +2 -0
- package/dist/Modal/LoadingFallback.js +2 -0
- package/dist/Modal/ModalHeader.js +14 -3
- package/dist/Modal/N1WalletModal.js +91 -79
- 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 +30 -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 +26 -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 +14 -1
- package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
- package/dist/Modal/NordFlow/NordFlow.js +262 -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/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/TransactionTable.d.ts +13 -0
- package/dist/Modal/NordFlow/components/TransactionTable.js +83 -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 +365 -0
- package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
- package/dist/Modal/NordFlow/hooks/useFlowState.js +166 -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 +310 -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 +231 -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 +47 -0
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +10 -0
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +165 -0
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +44 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +119 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +126 -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 +62 -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 +108 -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 +61 -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 +167 -14
- 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 +38 -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 +197 -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 +28 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +22 -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 +76 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +103 -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 +7 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +249 -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 +177 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +188 -0
- package/dist/Modal/SigningView.js +1 -1
- 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 +75 -38
- package/dist/Provider/N1WalletProvider.d.ts +1 -1
- package/dist/Provider/N1WalletProvider.js +63 -42
- package/dist/Provider/types.d.ts +69 -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/Logo.d.ts +7 -0
- package/dist/components/Logo.js +118 -0
- package/dist/components/QRCodeLoader.d.ts +4 -0
- package/dist/components/QRCodeLoader.js +8 -0
- package/dist/components/WalletDeposit/AnimatedButton.d.ts +17 -0
- package/dist/components/WalletDeposit/AnimatedButton.js +29 -0
- package/dist/components/WalletDeposit/components/ChainButton.d.ts +7 -0
- package/dist/components/WalletDeposit/components/ChainButton.js +5 -0
- package/dist/components/WalletDeposit/components/LoadingSquares.d.ts +1 -0
- package/dist/components/WalletDeposit/components/LoadingSquares.js +5 -0
- package/dist/components/WalletDeposit/components/TransactionTable.d.ts +13 -0
- package/dist/components/WalletDeposit/components/TransactionTable.js +58 -0
- package/dist/components/WalletDeposit/components/WaitingMessage.d.ts +6 -0
- package/dist/components/WalletDeposit/components/WaitingMessage.js +6 -0
- package/dist/components/WalletDeposit/constants.d.ts +15 -0
- package/dist/components/WalletDeposit/constants.js +32 -0
- package/dist/components/WalletDeposit/hooks.d.ts +9 -0
- package/dist/components/WalletDeposit/hooks.js +185 -0
- package/dist/components/WalletDeposit/index.d.ts +1 -0
- package/dist/components/WalletDeposit/index.js +136 -0
- package/dist/components/WalletDeposit/screens/AmountInputScreen.d.ts +12 -0
- package/dist/components/WalletDeposit/screens/AmountInputScreen.js +18 -0
- package/dist/components/WalletDeposit/screens/AppsTableScreen.d.ts +8 -0
- package/dist/components/WalletDeposit/screens/AppsTableScreen.js +28 -0
- package/dist/components/WalletDeposit/screens/ChainSelectionScreen.d.ts +5 -0
- package/dist/components/WalletDeposit/screens/ChainSelectionScreen.js +8 -0
- package/dist/components/WalletDeposit/screens/InitialScreen.d.ts +9 -0
- package/dist/components/WalletDeposit/screens/InitialScreen.js +18 -0
- package/dist/components/WalletDeposit/screens/SigningScreen.d.ts +6 -0
- package/dist/components/WalletDeposit/screens/SigningScreen.js +6 -0
- package/dist/components/WalletDeposit/screens/SuccessScreen.d.ts +12 -0
- package/dist/components/WalletDeposit/screens/SuccessScreen.js +7 -0
- package/dist/components/WalletDeposit/types.d.ts +48 -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 +2 -1
- package/dist/index.js +2 -1
- package/dist/main.css +1 -1
- package/dist/utils/dynamicImports.d.ts +24 -0
- package/dist/utils/dynamicImports.js +41 -0
- package/dist/utils/shortenString.d.ts +2 -0
- package/dist/utils/shortenString.js +8 -0
- package/dist/utils/solana-session.d.ts +84 -0
- package/dist/utils/solana-session.js +230 -0
- package/package.json +24 -17
- package/.eslintrc.js +0 -29
- package/dist/Common/NIcon.js +0 -7
- package/dist/components/AnimatedButton.d.ts +0 -9
- package/dist/components/AnimatedButton.js +0 -5
- package/postcss.config.js +0 -6
- package/src/Logic/getPseudoName.ts +0 -5832
- package/src/Logic/utils.ts +0 -162
- package/src/Logic/words.ts +0 -93571
- package/src/Modal/BackButton.tsx +0 -23
- package/src/Modal/ConnectView.tsx +0 -88
- package/src/Modal/CreateSessionView.tsx +0 -242
- package/src/Modal/CreateUserView.tsx +0 -195
- package/src/Modal/ModalHeader.tsx +0 -64
- package/src/Modal/N1WalletModal.tsx +0 -275
- package/src/Modal/NoWhitelistView.tsx +0 -61
- package/src/Modal/Sidebar/N1Sidebar.tsx +0 -172
- package/src/Modal/SigningView.tsx +0 -18
- package/src/Modal/SuccessView.tsx +0 -36
- package/src/Provider/LazyWalletProvider.tsx +0 -136
- package/src/Provider/N1WalletProvider.tsx +0 -208
- package/src/Provider/context.ts +0 -11
- package/src/Provider/hooks.ts +0 -22
- package/src/Provider/icons/CoinbaseWalletIcon.tsx +0 -27
- package/src/Provider/icons/ConnectionDotsSVG.tsx +0 -19
- package/src/Provider/icons/MetamaskIcon.tsx +0 -58
- package/src/Provider/icons/PhantomIcon.tsx +0 -26
- package/src/Provider/icons/UserIcon.tsx +0 -15
- package/src/Provider/icons/WalletConnectIcon.tsx +0 -15
- package/src/Provider/index.ts +0 -3
- package/src/Provider/types.ts +0 -77
- package/src/WidgetButton/N1ConnectButton.tsx +0 -72
- package/src/components/LazyLoadWrapper.tsx +0 -19
- package/src/config.ts +0 -2
- package/src/errors/types.ts +0 -49
- package/src/index.ts +0 -5
- package/src/main.css +0 -3
- package/src/styles/main.css +0 -3
- package/src/utils/lazyLoad.ts +0 -12
- package/src/utils/logger.ts +0 -98
- package/src/utils/react-shim.js +0 -8
- package/tailwind.config.js +0 -44
- package/tsconfig.json +0 -21
- /package/dist/{Common/NIcon.d.ts → components/WalletDeposit/types.js} +0 -0
|
@@ -46,82 +46,111 @@ 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 {
|
|
52
|
-
var getSettings = function (darkMode) { return ({
|
|
53
|
-
initialAuthenticationMode: 'connect-only',
|
|
54
|
-
environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
|
|
55
|
-
theme: {
|
|
56
|
-
mode: darkMode ? 'dark' : 'light',
|
|
57
|
-
},
|
|
58
|
-
events: {
|
|
59
|
-
onAuthSuccess: function (args) {
|
|
60
|
-
console.log('onAuthSuccess was called', args);
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
}); };
|
|
51
|
+
import { N1SessionMode } from './types';
|
|
64
52
|
function DynamicContextConsumer(_a) {
|
|
65
53
|
var children = _a.children;
|
|
66
|
-
var _b =
|
|
67
|
-
var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
|
|
54
|
+
var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
|
|
68
55
|
var showAuthFlowRef = useRef(null);
|
|
56
|
+
// Use refs to track previous values and prevent unnecessary updates
|
|
57
|
+
var prevPrimaryWalletRef = useRef(null);
|
|
58
|
+
var prevHandleLogOutRef = useRef(null);
|
|
59
|
+
var prevSdkHasLoadedRef = useRef(null);
|
|
60
|
+
var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget;
|
|
61
|
+
// Load the Dynamic context only once
|
|
69
62
|
useEffect(function () {
|
|
63
|
+
var isMounted = true;
|
|
70
64
|
import('@dynamic-labs/sdk-react-core').then(function (_a) {
|
|
71
65
|
var useDynamicContext = _a.useDynamicContext;
|
|
72
|
-
|
|
66
|
+
if (isMounted) {
|
|
67
|
+
setDynamicContext(function () { return useDynamicContext; });
|
|
68
|
+
}
|
|
73
69
|
});
|
|
70
|
+
return function () { isMounted = false; };
|
|
74
71
|
}, []);
|
|
75
|
-
// Set up a stable widget function that uses the ref
|
|
72
|
+
// Set up a stable widget function that uses the ref - only once
|
|
76
73
|
useEffect(function () {
|
|
77
|
-
|
|
74
|
+
var stableShowWidget = function (show) {
|
|
78
75
|
if (showAuthFlowRef.current) {
|
|
79
76
|
showAuthFlowRef.current(show);
|
|
80
77
|
}
|
|
81
|
-
};
|
|
78
|
+
};
|
|
79
|
+
setShowDynamicWidget(function () { return stableShowWidget; });
|
|
82
80
|
}, [setShowDynamicWidget]);
|
|
83
81
|
if (!DynamicContext) {
|
|
84
82
|
return _jsx(_Fragment, { children: children });
|
|
85
83
|
}
|
|
86
84
|
var DynamicComponent = function () {
|
|
87
85
|
var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
|
|
88
|
-
// Store setShowAuthFlow in ref to avoid re-renders
|
|
86
|
+
// Store setShowAuthFlow in ref to avoid re-renders - only when it changes
|
|
89
87
|
useEffect(function () {
|
|
90
|
-
showAuthFlowRef.current
|
|
88
|
+
if (setShowAuthFlow !== showAuthFlowRef.current) {
|
|
89
|
+
showAuthFlowRef.current = setShowAuthFlow;
|
|
90
|
+
}
|
|
91
91
|
}, [setShowAuthFlow]);
|
|
92
|
+
// Set the dynamic wallet and address when the primary wallet changes
|
|
93
|
+
// Use deep comparison to prevent unnecessary updates
|
|
92
94
|
useEffect(function () {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
// Skip if the wallet hasn't actually changed
|
|
96
|
+
if (primaryWallet === prevPrimaryWalletRef.current) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
prevPrimaryWalletRef.current = primaryWallet;
|
|
100
|
+
if (primaryWallet) {
|
|
95
101
|
setDynamicWallet(primaryWallet);
|
|
96
102
|
setAddress(primaryWallet.address);
|
|
97
103
|
}
|
|
98
104
|
else {
|
|
99
|
-
logger.debug('No primary wallet found');
|
|
100
105
|
setDynamicWallet(null);
|
|
101
106
|
setAddress('');
|
|
102
107
|
}
|
|
103
|
-
}, [primaryWallet]);
|
|
108
|
+
}, [primaryWallet, setDynamicWallet, setAddress]);
|
|
109
|
+
// Set the logout handler when it changes - only when it actually changes
|
|
104
110
|
useEffect(function () {
|
|
105
|
-
if (
|
|
106
|
-
|
|
111
|
+
if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
|
|
112
|
+
prevHandleLogOutRef.current = handleLogOut;
|
|
113
|
+
setDynamicHandleLogOut(function () { return handleLogOut; });
|
|
107
114
|
}
|
|
108
|
-
}, [
|
|
109
|
-
// Set the
|
|
115
|
+
}, [handleLogOut, setDynamicHandleLogOut]);
|
|
116
|
+
// Set the SDK loaded flag when it changes - only when it actually changes
|
|
110
117
|
useEffect(function () {
|
|
111
|
-
if (
|
|
112
|
-
|
|
118
|
+
if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
|
|
119
|
+
prevSdkHasLoadedRef.current = sdkHasLoaded;
|
|
120
|
+
setDynamicSdkHasLoaded(sdkHasLoaded);
|
|
113
121
|
}
|
|
114
|
-
}, [
|
|
122
|
+
}, [sdkHasLoaded, setDynamicSdkHasLoaded]);
|
|
115
123
|
return _jsx(_Fragment, { children: children });
|
|
116
124
|
};
|
|
117
125
|
return _jsx(DynamicComponent, {});
|
|
118
126
|
}
|
|
127
|
+
var getSettings = function (darkMode) { return ({
|
|
128
|
+
initialAuthenticationMode: 'connect-only',
|
|
129
|
+
environmentId: '9a47561c-6a0b-4a5b-ace1-12621c11cebd',
|
|
130
|
+
silentAuthentication: true,
|
|
131
|
+
silentAuth: true,
|
|
132
|
+
theme: {
|
|
133
|
+
mode: darkMode ? 'dark' : 'light',
|
|
134
|
+
},
|
|
135
|
+
events: {
|
|
136
|
+
onAuthSuccess: function (args) {
|
|
137
|
+
console.log('onAuthSuccess was called', args);
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
}); };
|
|
119
141
|
function LazyInternal(props) {
|
|
120
142
|
var _this = this;
|
|
121
143
|
var _a = useState(null), Provider = _a[0], setProvider = _a[1];
|
|
122
144
|
var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
|
|
123
|
-
var
|
|
145
|
+
var _c = useN1WalletInternalContext(), darkMode = _c.darkMode, sessionMode = _c.sessionMode;
|
|
146
|
+
// Use a ref to track the previous session mode
|
|
147
|
+
var prevSessionModeRef = useRef(null);
|
|
124
148
|
useEffect(function () {
|
|
149
|
+
// Skip if the session mode hasn't changed
|
|
150
|
+
if (sessionMode === prevSessionModeRef.current) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
prevSessionModeRef.current = sessionMode;
|
|
125
154
|
var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
126
155
|
var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
|
|
127
156
|
return __generator(this, function (_b) {
|
|
@@ -136,7 +165,14 @@ function LazyInternal(props) {
|
|
|
136
165
|
case 1:
|
|
137
166
|
_a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
|
|
138
167
|
setProvider(function () { return DynamicContextProvider_1; });
|
|
139
|
-
|
|
168
|
+
if (sessionMode === N1SessionMode.Nord) {
|
|
169
|
+
// Only use Solana wallet connectors for Nord mode
|
|
170
|
+
setWalletConnectors([SolanaWalletConnectors]);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
// Use all wallet connectors for NTS mode
|
|
174
|
+
setWalletConnectors([EthereumWalletConnectors, SolanaWalletConnectors]);
|
|
175
|
+
}
|
|
140
176
|
return [3 /*break*/, 3];
|
|
141
177
|
case 2:
|
|
142
178
|
error_1 = _b.sent();
|
|
@@ -147,12 +183,13 @@ function LazyInternal(props) {
|
|
|
147
183
|
});
|
|
148
184
|
}); };
|
|
149
185
|
loadDynamicDeps();
|
|
150
|
-
}, []);
|
|
186
|
+
}, [sessionMode]);
|
|
187
|
+
// Memoize the dynamic settings to prevent unnecessary re-renders
|
|
188
|
+
var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings(darkMode)), { walletConnectors: walletConnectors })); }, [darkMode, walletConnectors]);
|
|
151
189
|
if (!Provider || walletConnectors.length === 0) {
|
|
152
190
|
return null;
|
|
153
191
|
}
|
|
154
|
-
|
|
155
|
-
return (_jsx(Provider, { settings: dynamicSettings, children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
192
|
+
return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
156
193
|
}
|
|
157
194
|
export function LazyWalletProvider(_a) {
|
|
158
195
|
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;
|
|
@@ -55,7 +55,10 @@ import React, { Suspense, useCallback, useEffect, useState } from 'react';
|
|
|
55
55
|
import { N1WalletModal } from '../Modal/N1WalletModal';
|
|
56
56
|
import { WalletError, WalletErrorCode } from '../errors/types';
|
|
57
57
|
import { N1InternalWalletContext, N1WalletContext } from './context';
|
|
58
|
-
import { N1ModalViewMode, N1SessionMode } from './types';
|
|
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';
|
|
59
62
|
var LazyWalletProvider = React.lazy(function () {
|
|
60
63
|
return import('./LazyWalletProvider').then(function (mod) { return ({
|
|
61
64
|
default: mod.LazyWalletProvider,
|
|
@@ -83,7 +86,7 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
|
|
|
83
86
|
}(React.Component));
|
|
84
87
|
export function N1WalletProvider(_a) {
|
|
85
88
|
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;
|
|
89
|
+
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
90
|
var _c = useState(false), isConnected = _c[0], setIsConnected = _c[1];
|
|
88
91
|
var _d = useState(null), ntsInterface = _d[0], setNtsInterface = _d[1];
|
|
89
92
|
var _e = useState(false), showLogin = _e[0], setShowLogin = _e[1];
|
|
@@ -93,27 +96,35 @@ export function N1WalletProvider(_a) {
|
|
|
93
96
|
var _j = useState(''), username = _j[0], setUsername = _j[1];
|
|
94
97
|
var _k = useState(null), signMessageWithSessionKey = _k[0], setSignMessageWithSessionKey = _k[1];
|
|
95
98
|
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
|
-
}, []);
|
|
99
|
+
var _m = useState(null), signTransactionWithWalletKey = _m[0], setSignTransactionWithWalletKey = _m[1];
|
|
100
|
+
var _o = useState(false), showSidebar = _o[0], setShowSidebar = _o[1];
|
|
101
|
+
var _p = useState(false), startClosingLogin = _p[0], setStartClosingLogin = _p[1];
|
|
102
|
+
var _q = useState(false), loading = _q[0], setLoading = _q[1];
|
|
103
|
+
var _r = useState(N1ModalViewMode.Connect), viewMode = _r[0], setViewMode = _r[1];
|
|
104
|
+
var _s = useState(null), nordUser = _s[0], setNordUser = _s[1];
|
|
105
105
|
// dynamic
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var
|
|
112
|
-
var
|
|
106
|
+
var _t = useState(''), address = _t[0], setAddress = _t[1];
|
|
107
|
+
var _u = useState([]), balances = _u[0], setBalances = _u[1];
|
|
108
|
+
var _v = useState(''), chain = _v[0], setChain = _v[1];
|
|
109
|
+
var _w = useState(null), dynamicSdkHasLoaded = _w[0], setDynamicSdkHasLoaded = _w[1];
|
|
110
|
+
var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
|
|
111
|
+
var _y = useState(null), sessionMode = _y[0], setSessionMode = _y[1];
|
|
112
|
+
var _z = useState(null), dynamicWallet = _z[0], setDynamicWallet = _z[1];
|
|
113
|
+
var _0 = useState(null), showDynamicWidget = _0[0], setShowDynamicWidget = _0[1];
|
|
114
|
+
// Create a separate component for Nord hooks to avoid conditional hook calls
|
|
115
|
+
var NordHooks = function () {
|
|
116
|
+
useNordInstance();
|
|
117
|
+
useNordWalletConnect(FlowState.IDLE, function (newState) { return console.log('State transition:', newState); }, {}, // context
|
|
118
|
+
function (updates) { return console.log('Context updates:', updates); }, providedSessionMode);
|
|
119
|
+
return null;
|
|
120
|
+
};
|
|
113
121
|
// Combine SDK loading and initialization into a single effect
|
|
114
122
|
useEffect(function () {
|
|
115
123
|
var mounted = true;
|
|
116
|
-
|
|
124
|
+
// Set the session mode from props
|
|
125
|
+
setSessionMode(providedSessionMode);
|
|
126
|
+
// Load the appropriate SDK
|
|
127
|
+
var loadSDK = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
117
128
|
var NTSInterface, error_1;
|
|
118
129
|
return __generator(this, function (_a) {
|
|
119
130
|
switch (_a.label) {
|
|
@@ -121,8 +132,6 @@ export function N1WalletProvider(_a) {
|
|
|
121
132
|
// eslint-disable-next-line no-console
|
|
122
133
|
console.log('Loading NTS SDK');
|
|
123
134
|
if (providedSessionMode === N1SessionMode.Nord) {
|
|
124
|
-
// eslint-disable-next-line no-console
|
|
125
|
-
console.log('Nord mode, skipping NTS SDK load');
|
|
126
135
|
return [2 /*return*/];
|
|
127
136
|
}
|
|
128
137
|
_a.label = 1;
|
|
@@ -148,11 +157,11 @@ export function N1WalletProvider(_a) {
|
|
|
148
157
|
}
|
|
149
158
|
});
|
|
150
159
|
}); };
|
|
151
|
-
|
|
160
|
+
loadSDK();
|
|
152
161
|
return function () {
|
|
153
162
|
mounted = false;
|
|
154
163
|
};
|
|
155
|
-
}, [providedSessionMode]);
|
|
164
|
+
}, [providedSessionMode, onError]);
|
|
156
165
|
// Separate effect to handle loading state based on both SDKs
|
|
157
166
|
useEffect(function () {
|
|
158
167
|
var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
|
|
@@ -169,24 +178,31 @@ export function N1WalletProvider(_a) {
|
|
|
169
178
|
return [2 /*return*/];
|
|
170
179
|
});
|
|
171
180
|
}); };
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
181
|
+
// Create the wallet context value
|
|
182
|
+
var walletContextValue = {
|
|
183
|
+
address: address,
|
|
184
|
+
appId: appId,
|
|
185
|
+
balances: balances,
|
|
186
|
+
chain: chain,
|
|
187
|
+
isConnected: isConnected,
|
|
188
|
+
ntsInterface: ntsInterface,
|
|
189
|
+
sessionMode: sessionMode,
|
|
190
|
+
sessionPubKey: sessionPubKey,
|
|
191
|
+
setShowLogin: setShowLogin,
|
|
192
|
+
showLogin: showLogin,
|
|
193
|
+
signMessageWithSessionKey: signMessageWithSessionKey,
|
|
194
|
+
signMessageWithWalletKey: signMessageWithWalletKey,
|
|
195
|
+
signTransactionWithWalletKey: signTransactionWithWalletKey,
|
|
196
|
+
userChain: userChain,
|
|
197
|
+
username: username,
|
|
198
|
+
viewMode: viewMode,
|
|
199
|
+
walletPubKey: walletPubKey,
|
|
200
|
+
throwTestError: throwTestError,
|
|
201
|
+
faucetUrl: faucetUrl,
|
|
202
|
+
nord: nord,
|
|
203
|
+
nordUser: nordUser,
|
|
204
|
+
};
|
|
205
|
+
return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsxs(N1InternalWalletContext.Provider, { value: {
|
|
190
206
|
dynamicHandleLogOut: dynamicHandleLogOut,
|
|
191
207
|
dynamicWallet: dynamicWallet,
|
|
192
208
|
loading: loading,
|
|
@@ -194,6 +210,7 @@ export function N1WalletProvider(_a) {
|
|
|
194
210
|
handleError: handleError,
|
|
195
211
|
setDynamicSdkHasLoaded: setDynamicSdkHasLoaded,
|
|
196
212
|
setAddress: setAddress,
|
|
213
|
+
setBalances: setBalances,
|
|
197
214
|
setChain: setChain,
|
|
198
215
|
setDynamicHandleLogOut: setDynamicHandleLogOut,
|
|
199
216
|
setDynamicWallet: setDynamicWallet,
|
|
@@ -205,6 +222,7 @@ export function N1WalletProvider(_a) {
|
|
|
205
222
|
setShowSidebar: setShowSidebar,
|
|
206
223
|
setSignMessageWithSessionKey: setSignMessageWithSessionKey,
|
|
207
224
|
setSignMessageWithWalletKey: setSignMessageWithWalletKey,
|
|
225
|
+
setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
|
|
208
226
|
setStartClosingLogin: setStartClosingLogin,
|
|
209
227
|
setUsername: setUsername,
|
|
210
228
|
setUserChain: setUserChain,
|
|
@@ -215,5 +233,8 @@ export function N1WalletProvider(_a) {
|
|
|
215
233
|
showDynamicWidget: showDynamicWidget,
|
|
216
234
|
setShowDynamicWidget: setShowDynamicWidget,
|
|
217
235
|
darkMode: darkMode,
|
|
218
|
-
|
|
236
|
+
sessionMode: sessionMode,
|
|
237
|
+
faucetUrl: faucetUrl,
|
|
238
|
+
setNordUser: setNordUser,
|
|
239
|
+
}, children: [children, providedSessionMode === N1SessionMode.Nord && _jsx(NordHooks, {}), _jsx(N1WalletModal, {}), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, {}) })] }) }) }));
|
|
219
240
|
}
|
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,10 +18,69 @@ export interface N1WalletProviderProps {
|
|
|
17
18
|
appId: string;
|
|
18
19
|
darkMode?: boolean;
|
|
19
20
|
onError?: (error: WalletError) => void;
|
|
21
|
+
faucetUrl?: string;
|
|
22
|
+
nord?: Nord;
|
|
23
|
+
}
|
|
24
|
+
export interface Balance {
|
|
25
|
+
mint: string;
|
|
26
|
+
balance: bigint;
|
|
27
|
+
appId: string;
|
|
28
|
+
appType: string;
|
|
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>;
|
|
20
79
|
}
|
|
21
80
|
export interface N1WalletState {
|
|
22
81
|
address: string;
|
|
23
82
|
appId: string | null;
|
|
83
|
+
balances: Balance[];
|
|
24
84
|
chain: string;
|
|
25
85
|
isConnected: boolean;
|
|
26
86
|
ntsInterface: any;
|
|
@@ -30,11 +90,15 @@ export interface N1WalletState {
|
|
|
30
90
|
showLogin: boolean;
|
|
31
91
|
signMessageWithSessionKey: ((message: any) => Promise<any>) | null;
|
|
32
92
|
signMessageWithWalletKey: ((message: any) => Promise<any>) | null;
|
|
93
|
+
signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;
|
|
33
94
|
userChain: string | null;
|
|
34
95
|
username: string;
|
|
35
96
|
viewMode: N1ModalViewMode;
|
|
36
97
|
walletPubKey: Uint8Array | null;
|
|
37
98
|
throwTestError: () => Promise<void>;
|
|
99
|
+
nord?: Nord;
|
|
100
|
+
faucetUrl?: string;
|
|
101
|
+
nordUser?: any;
|
|
38
102
|
}
|
|
39
103
|
export interface N1InternalWalletState {
|
|
40
104
|
dynamicHandleLogOut: any;
|
|
@@ -44,6 +108,7 @@ export interface N1InternalWalletState {
|
|
|
44
108
|
handleError: (error: WalletError) => void;
|
|
45
109
|
setDynamicSdkHasLoaded: (loaded: any) => void;
|
|
46
110
|
setAddress: (address: string) => void;
|
|
111
|
+
setBalances: (balances: Balance[]) => void;
|
|
47
112
|
setChain: (chain: string) => void;
|
|
48
113
|
setDynamicHandleLogOut: (handler: any) => void;
|
|
49
114
|
setDynamicWallet: (wallet: any) => void;
|
|
@@ -55,14 +120,18 @@ export interface N1InternalWalletState {
|
|
|
55
120
|
setShowSidebar: (show: boolean) => void;
|
|
56
121
|
setSignMessageWithSessionKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
|
|
57
122
|
setSignMessageWithWalletKey: React.Dispatch<React.SetStateAction<((message: any) => Promise<any>) | null>>;
|
|
123
|
+
setSignTransactionWithWalletKey: React.Dispatch<React.SetStateAction<((transaction: any) => Promise<any>) | null>>;
|
|
58
124
|
setStartClosingLogin: (closing: boolean) => void;
|
|
59
125
|
setUsername: (username: string) => void;
|
|
60
126
|
setUserChain: (chain: string) => void;
|
|
61
127
|
setViewMode: (mode: N1ModalViewMode) => void;
|
|
62
128
|
setWalletPubKey: (key: Uint8Array) => void;
|
|
129
|
+
setNordUser: (user: any) => void;
|
|
63
130
|
showSidebar: boolean;
|
|
64
131
|
startClosingLogin: boolean;
|
|
65
132
|
showDynamicWidget: any;
|
|
66
133
|
setShowDynamicWidget: (show: any) => void;
|
|
67
134
|
darkMode: boolean;
|
|
135
|
+
sessionMode: N1SessionMode | null;
|
|
136
|
+
faucetUrl?: string;
|
|
68
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
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ButtonKey, ButtonStates } from '../types';
|
|
2
|
+
interface AnimatedButtonProps {
|
|
3
|
+
onClick: () => void;
|
|
4
|
+
text: string;
|
|
5
|
+
isTyping: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
onMouseEnter?: () => void;
|
|
8
|
+
onMouseLeave?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const AnimatedButton: ({ onClick, text, isTyping, disabled, onMouseEnter, onMouseLeave, }: AnimatedButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const useButtonTyping: (buttonStates: ButtonStates, setButtonStates: React.Dispatch<React.SetStateAction<ButtonStates>>, buttonConfigs: Record<ButtonKey, {
|
|
12
|
+
text: string;
|
|
13
|
+
}>) => void;
|
|
14
|
+
export {};
|