@n1xyz/wallet-widget 0.0.4 → 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/README.md +184 -19
- 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/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 -81
- 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 +1 -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 +32 -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 +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/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 -42
- package/dist/Provider/N1WalletProvider.d.ts +1 -1
- package/dist/Provider/N1WalletProvider.js +61 -43
- 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/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
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the wallet connection flow state machine
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing all possible states in the wallet connection flow
|
|
6
|
+
*/
|
|
7
|
+
export declare enum FlowState {
|
|
8
|
+
IDLE = "IDLE",
|
|
9
|
+
CONNECTING_WALLET = "CONNECTING_WALLET",
|
|
10
|
+
WALLET_CONNECTED = "WALLET_CONNECTED",
|
|
11
|
+
ETH_TO_SOL_AUTH = "ETH_TO_SOL_AUTH",
|
|
12
|
+
CHAIN_SELECTION = "CHAIN_SELECTION",
|
|
13
|
+
AMOUNT_INPUT = "AMOUNT_INPUT",
|
|
14
|
+
DEPOSIT_PROGRESS = "DEPOSIT_PROGRESS",
|
|
15
|
+
DEPOSIT_SUCCESS = "DEPOSIT_SUCCESS",
|
|
16
|
+
NORD_AUTH = "NORD_AUTH",
|
|
17
|
+
AUTH_LOADING = "AUTH_LOADING",
|
|
18
|
+
FINAL_SUCCESS = "FINAL_SUCCESS",
|
|
19
|
+
ERROR = "ERROR"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Interface representing the flow context, containing all data necessary
|
|
23
|
+
* for the wallet connection flow
|
|
24
|
+
*/
|
|
25
|
+
export interface FlowContext {
|
|
26
|
+
walletType: 'solana' | 'ethereum' | null;
|
|
27
|
+
hasNordAccount: boolean;
|
|
28
|
+
hasActiveSession: boolean;
|
|
29
|
+
selectedChain: string | null;
|
|
30
|
+
amount: string;
|
|
31
|
+
transactionId: string | null;
|
|
32
|
+
error: Error | null;
|
|
33
|
+
lastInterruption: {
|
|
34
|
+
timestamp: number;
|
|
35
|
+
state: FlowState;
|
|
36
|
+
context: Partial<FlowContext>;
|
|
37
|
+
} | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Interface for state transitions in the flow
|
|
41
|
+
*/
|
|
42
|
+
export interface StateTransition {
|
|
43
|
+
from: FlowState | FlowState[];
|
|
44
|
+
to: FlowState;
|
|
45
|
+
condition?: (context: FlowContext) => boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Initial flow context with default values
|
|
49
|
+
*/
|
|
50
|
+
export declare const initialFlowContext: FlowContext;
|
|
51
|
+
export interface TableValues {
|
|
52
|
+
amount?: {
|
|
53
|
+
text: string;
|
|
54
|
+
visible: boolean;
|
|
55
|
+
typing: boolean;
|
|
56
|
+
};
|
|
57
|
+
tx: {
|
|
58
|
+
text: string;
|
|
59
|
+
visible: boolean;
|
|
60
|
+
typing: boolean;
|
|
61
|
+
};
|
|
62
|
+
from: {
|
|
63
|
+
text: string;
|
|
64
|
+
visible: boolean;
|
|
65
|
+
typing: boolean;
|
|
66
|
+
};
|
|
67
|
+
to: {
|
|
68
|
+
text: string;
|
|
69
|
+
visible: boolean;
|
|
70
|
+
typing: boolean;
|
|
71
|
+
};
|
|
72
|
+
network: {
|
|
73
|
+
text: string;
|
|
74
|
+
visible: boolean;
|
|
75
|
+
typing: boolean;
|
|
76
|
+
};
|
|
77
|
+
status: {
|
|
78
|
+
text: string;
|
|
79
|
+
visible: boolean;
|
|
80
|
+
typing: boolean;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export interface WaitingMessageState {
|
|
84
|
+
title: string;
|
|
85
|
+
subtitle: string;
|
|
86
|
+
visible: boolean;
|
|
87
|
+
isTyping: boolean;
|
|
88
|
+
}
|
|
89
|
+
export interface Chain {
|
|
90
|
+
id: string;
|
|
91
|
+
name: string;
|
|
92
|
+
logo: string;
|
|
93
|
+
}
|
|
94
|
+
export interface App {
|
|
95
|
+
name: string;
|
|
96
|
+
color: string;
|
|
97
|
+
progress: number;
|
|
98
|
+
}
|
|
99
|
+
export type ButtonKey = 'deposit' | 'continue' | 'openApp';
|
|
100
|
+
export interface ButtonState {
|
|
101
|
+
text: string;
|
|
102
|
+
isTyping: boolean;
|
|
103
|
+
showCursor: boolean;
|
|
104
|
+
}
|
|
105
|
+
export type ButtonStates = Record<ButtonKey, ButtonState>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the wallet connection flow state machine
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing all possible states in the wallet connection flow
|
|
6
|
+
*/
|
|
7
|
+
export var FlowState;
|
|
8
|
+
(function (FlowState) {
|
|
9
|
+
FlowState["IDLE"] = "IDLE";
|
|
10
|
+
FlowState["CONNECTING_WALLET"] = "CONNECTING_WALLET";
|
|
11
|
+
FlowState["WALLET_CONNECTED"] = "WALLET_CONNECTED";
|
|
12
|
+
FlowState["ETH_TO_SOL_AUTH"] = "ETH_TO_SOL_AUTH";
|
|
13
|
+
FlowState["CHAIN_SELECTION"] = "CHAIN_SELECTION";
|
|
14
|
+
FlowState["AMOUNT_INPUT"] = "AMOUNT_INPUT";
|
|
15
|
+
FlowState["DEPOSIT_PROGRESS"] = "DEPOSIT_PROGRESS";
|
|
16
|
+
FlowState["DEPOSIT_SUCCESS"] = "DEPOSIT_SUCCESS";
|
|
17
|
+
FlowState["NORD_AUTH"] = "NORD_AUTH";
|
|
18
|
+
FlowState["AUTH_LOADING"] = "AUTH_LOADING";
|
|
19
|
+
FlowState["FINAL_SUCCESS"] = "FINAL_SUCCESS";
|
|
20
|
+
FlowState["ERROR"] = "ERROR";
|
|
21
|
+
})(FlowState || (FlowState = {}));
|
|
22
|
+
/**
|
|
23
|
+
* Initial flow context with default values
|
|
24
|
+
*/
|
|
25
|
+
export var initialFlowContext = {
|
|
26
|
+
walletType: null,
|
|
27
|
+
hasNordAccount: false,
|
|
28
|
+
hasActiveSession: false,
|
|
29
|
+
selectedChain: null,
|
|
30
|
+
amount: '',
|
|
31
|
+
transactionId: null,
|
|
32
|
+
error: null,
|
|
33
|
+
lastInterruption: null,
|
|
34
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FlowContext, FlowState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Saves the current flow state and context to localStorage
|
|
4
|
+
* @param state Current flow state
|
|
5
|
+
* @param context Current flow context
|
|
6
|
+
*/
|
|
7
|
+
export declare const saveStateToLocalStorage: (state: FlowState, context: FlowContext) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Loads the flow state and context from localStorage if available and not expired
|
|
10
|
+
* @returns The loaded state and context, or null if not available or expired
|
|
11
|
+
*/
|
|
12
|
+
export declare const loadStateFromLocalStorage: () => {
|
|
13
|
+
state: FlowState;
|
|
14
|
+
context: FlowContext;
|
|
15
|
+
} | null;
|
|
16
|
+
/**
|
|
17
|
+
* Clears the stored flow state from localStorage
|
|
18
|
+
*/
|
|
19
|
+
export declare const clearStoredState: () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if there is a stored state that can be recovered
|
|
22
|
+
* @returns True if there is a recoverable state, false otherwise
|
|
23
|
+
*/
|
|
24
|
+
export declare const hasRecoverableState: () => boolean;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { initialFlowContext } from '../types';
|
|
13
|
+
import { FLOW_STATE_STORAGE_KEY, STATE_EXPIRY_TIME } from '../constants';
|
|
14
|
+
/**
|
|
15
|
+
* Saves the current flow state and context to localStorage
|
|
16
|
+
* @param state Current flow state
|
|
17
|
+
* @param context Current flow context
|
|
18
|
+
*/
|
|
19
|
+
export var saveStateToLocalStorage = function (state, context) {
|
|
20
|
+
try {
|
|
21
|
+
var persistedData = {
|
|
22
|
+
state: state,
|
|
23
|
+
context: __assign(__assign({}, context), {
|
|
24
|
+
// Filter out any sensitive data or error objects that shouldn't be persisted
|
|
25
|
+
error: context.error
|
|
26
|
+
? {
|
|
27
|
+
message: context.error.message,
|
|
28
|
+
name: context.error.name,
|
|
29
|
+
}
|
|
30
|
+
: null }),
|
|
31
|
+
timestamp: Date.now(),
|
|
32
|
+
};
|
|
33
|
+
localStorage.setItem(FLOW_STATE_STORAGE_KEY, JSON.stringify(persistedData));
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error('Failed to save flow state:', error);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Loads the flow state and context from localStorage if available and not expired
|
|
41
|
+
* @returns The loaded state and context, or null if not available or expired
|
|
42
|
+
*/
|
|
43
|
+
export var loadStateFromLocalStorage = function () {
|
|
44
|
+
try {
|
|
45
|
+
var storedData = localStorage.getItem(FLOW_STATE_STORAGE_KEY);
|
|
46
|
+
if (!storedData) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
var parsedData = JSON.parse(storedData);
|
|
50
|
+
var state = parsedData.state, context = parsedData.context, timestamp = parsedData.timestamp;
|
|
51
|
+
// Check if data is expired
|
|
52
|
+
if (Date.now() - timestamp > STATE_EXPIRY_TIME) {
|
|
53
|
+
localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
state: state,
|
|
58
|
+
context: __assign(__assign({}, initialFlowContext), context),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
console.error('Failed to load flow state:', error);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Clears the stored flow state from localStorage
|
|
68
|
+
*/
|
|
69
|
+
export var clearStoredState = function () {
|
|
70
|
+
try {
|
|
71
|
+
localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.error('Failed to clear flow state:', error);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Checks if there is a stored state that can be recovered
|
|
79
|
+
* @returns True if there is a recoverable state, false otherwise
|
|
80
|
+
*/
|
|
81
|
+
export var hasRecoverableState = function () {
|
|
82
|
+
return loadStateFromLocalStorage() !== null;
|
|
83
|
+
};
|
|
@@ -46,86 +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
|
-
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
|
-
}); };
|
|
51
|
+
import { N1SessionMode } from './types';
|
|
65
52
|
function DynamicContextConsumer(_a) {
|
|
66
53
|
var children = _a.children;
|
|
67
|
-
var _b =
|
|
68
|
-
var _c = useState(null), DynamicContext = _c[0], setDynamicContext = _c[1];
|
|
54
|
+
var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
|
|
69
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
|
|
70
62
|
useEffect(function () {
|
|
63
|
+
var isMounted = true;
|
|
71
64
|
import('@dynamic-labs/sdk-react-core').then(function (_a) {
|
|
72
65
|
var useDynamicContext = _a.useDynamicContext;
|
|
73
|
-
|
|
66
|
+
if (isMounted) {
|
|
67
|
+
setDynamicContext(function () { return useDynamicContext; });
|
|
68
|
+
}
|
|
74
69
|
});
|
|
70
|
+
return function () { isMounted = false; };
|
|
75
71
|
}, []);
|
|
76
|
-
// Set up a stable widget function that uses the ref
|
|
72
|
+
// Set up a stable widget function that uses the ref - only once
|
|
77
73
|
useEffect(function () {
|
|
78
|
-
|
|
79
|
-
console.log('yeeyyeye', showAuthFlowRef);
|
|
80
|
-
console.log('yeeyyeye', showAuthFlowRef.current, show);
|
|
74
|
+
var stableShowWidget = function (show) {
|
|
81
75
|
if (showAuthFlowRef.current) {
|
|
82
76
|
showAuthFlowRef.current(show);
|
|
83
77
|
}
|
|
84
|
-
};
|
|
78
|
+
};
|
|
79
|
+
setShowDynamicWidget(function () { return stableShowWidget; });
|
|
85
80
|
}, [setShowDynamicWidget]);
|
|
86
81
|
if (!DynamicContext) {
|
|
87
82
|
return _jsx(_Fragment, { children: children });
|
|
88
83
|
}
|
|
89
84
|
var DynamicComponent = function () {
|
|
90
85
|
var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut;
|
|
91
|
-
// Store setShowAuthFlow in ref to avoid re-renders
|
|
86
|
+
// Store setShowAuthFlow in ref to avoid re-renders - only when it changes
|
|
92
87
|
useEffect(function () {
|
|
93
|
-
showAuthFlowRef.current
|
|
88
|
+
if (setShowAuthFlow !== showAuthFlowRef.current) {
|
|
89
|
+
showAuthFlowRef.current = setShowAuthFlow;
|
|
90
|
+
}
|
|
94
91
|
}, [setShowAuthFlow]);
|
|
92
|
+
// Set the dynamic wallet and address when the primary wallet changes
|
|
93
|
+
// Use deep comparison to prevent unnecessary updates
|
|
95
94
|
useEffect(function () {
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
// Skip if the wallet hasn't actually changed
|
|
96
|
+
if (primaryWallet === prevPrimaryWalletRef.current) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
prevPrimaryWalletRef.current = primaryWallet;
|
|
100
|
+
if (primaryWallet) {
|
|
98
101
|
setDynamicWallet(primaryWallet);
|
|
99
102
|
setAddress(primaryWallet.address);
|
|
100
103
|
}
|
|
101
104
|
else {
|
|
102
|
-
logger.debug('No primary wallet found');
|
|
103
105
|
setDynamicWallet(null);
|
|
104
106
|
setAddress('');
|
|
105
|
-
setViewMode(N1ModalViewMode.Connect);
|
|
106
107
|
}
|
|
107
|
-
}, [primaryWallet]);
|
|
108
|
+
}, [primaryWallet, setDynamicWallet, setAddress]);
|
|
109
|
+
// Set the logout handler when it changes - only when it actually changes
|
|
108
110
|
useEffect(function () {
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
+
if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
|
|
112
|
+
prevHandleLogOutRef.current = handleLogOut;
|
|
113
|
+
setDynamicHandleLogOut(function () { return handleLogOut; });
|
|
111
114
|
}
|
|
112
|
-
}, [
|
|
113
|
-
// Set the
|
|
115
|
+
}, [handleLogOut, setDynamicHandleLogOut]);
|
|
116
|
+
// Set the SDK loaded flag when it changes - only when it actually changes
|
|
114
117
|
useEffect(function () {
|
|
115
|
-
if (
|
|
116
|
-
|
|
118
|
+
if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
|
|
119
|
+
prevSdkHasLoadedRef.current = sdkHasLoaded;
|
|
120
|
+
setDynamicSdkHasLoaded(sdkHasLoaded);
|
|
117
121
|
}
|
|
118
|
-
}, [
|
|
122
|
+
}, [sdkHasLoaded, setDynamicSdkHasLoaded]);
|
|
119
123
|
return _jsx(_Fragment, { children: children });
|
|
120
124
|
};
|
|
121
125
|
return _jsx(DynamicComponent, {});
|
|
122
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
|
+
}); };
|
|
123
141
|
function LazyInternal(props) {
|
|
124
142
|
var _this = this;
|
|
125
143
|
var _a = useState(null), Provider = _a[0], setProvider = _a[1];
|
|
126
144
|
var _b = useState([]), walletConnectors = _b[0], setWalletConnectors = _b[1];
|
|
127
|
-
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);
|
|
128
148
|
useEffect(function () {
|
|
149
|
+
// Skip if the session mode hasn't changed
|
|
150
|
+
if (sessionMode === prevSessionModeRef.current) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
prevSessionModeRef.current = sessionMode;
|
|
129
154
|
var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
130
155
|
var _a, DynamicContextProvider_1, EthereumWalletConnectors, SolanaWalletConnectors, error_1;
|
|
131
156
|
return __generator(this, function (_b) {
|
|
@@ -140,7 +165,14 @@ function LazyInternal(props) {
|
|
|
140
165
|
case 1:
|
|
141
166
|
_a = _b.sent(), DynamicContextProvider_1 = _a[0].DynamicContextProvider, EthereumWalletConnectors = _a[1].EthereumWalletConnectors, SolanaWalletConnectors = _a[2].SolanaWalletConnectors;
|
|
142
167
|
setProvider(function () { return DynamicContextProvider_1; });
|
|
143
|
-
|
|
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
|
+
}
|
|
144
176
|
return [3 /*break*/, 3];
|
|
145
177
|
case 2:
|
|
146
178
|
error_1 = _b.sent();
|
|
@@ -151,12 +183,13 @@ function LazyInternal(props) {
|
|
|
151
183
|
});
|
|
152
184
|
}); };
|
|
153
185
|
loadDynamicDeps();
|
|
154
|
-
}, []);
|
|
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]);
|
|
155
189
|
if (!Provider || walletConnectors.length === 0) {
|
|
156
190
|
return null;
|
|
157
191
|
}
|
|
158
|
-
|
|
159
|
-
return (_jsx(Provider, { settings: dynamicSettings, theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
192
|
+
return (_jsx(Provider, { settings: dynamicSettings(), theme: darkMode ? 'dark' : 'light', children: _jsx(DynamicContextConsumer, { children: props.children }) }));
|
|
160
193
|
}
|
|
161
194
|
export function LazyWalletProvider(_a) {
|
|
162
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;
|
|
@@ -56,6 +56,9 @@ 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';
|
|
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,28 +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
|
|
113
|
-
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
|
+
};
|
|
114
121
|
// Combine SDK loading and initialization into a single effect
|
|
115
122
|
useEffect(function () {
|
|
116
123
|
var mounted = true;
|
|
117
|
-
|
|
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 () {
|
|
118
128
|
var NTSInterface, error_1;
|
|
119
129
|
return __generator(this, function (_a) {
|
|
120
130
|
switch (_a.label) {
|
|
@@ -122,8 +132,6 @@ export function N1WalletProvider(_a) {
|
|
|
122
132
|
// eslint-disable-next-line no-console
|
|
123
133
|
console.log('Loading NTS SDK');
|
|
124
134
|
if (providedSessionMode === N1SessionMode.Nord) {
|
|
125
|
-
// eslint-disable-next-line no-console
|
|
126
|
-
console.log('Nord mode, skipping NTS SDK load');
|
|
127
135
|
return [2 /*return*/];
|
|
128
136
|
}
|
|
129
137
|
_a.label = 1;
|
|
@@ -149,11 +157,11 @@ export function N1WalletProvider(_a) {
|
|
|
149
157
|
}
|
|
150
158
|
});
|
|
151
159
|
}); };
|
|
152
|
-
|
|
160
|
+
loadSDK();
|
|
153
161
|
return function () {
|
|
154
162
|
mounted = false;
|
|
155
163
|
};
|
|
156
|
-
}, [providedSessionMode]);
|
|
164
|
+
}, [providedSessionMode, onError]);
|
|
157
165
|
// Separate effect to handle loading state based on both SDKs
|
|
158
166
|
useEffect(function () {
|
|
159
167
|
var isDynamicReady = dynamicSdkHasLoaded || providedSessionMode === N1SessionMode.Nord;
|
|
@@ -170,25 +178,31 @@ export function N1WalletProvider(_a) {
|
|
|
170
178
|
return [2 /*return*/];
|
|
171
179
|
});
|
|
172
180
|
}); };
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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: {
|
|
192
206
|
dynamicHandleLogOut: dynamicHandleLogOut,
|
|
193
207
|
dynamicWallet: dynamicWallet,
|
|
194
208
|
loading: loading,
|
|
@@ -208,6 +222,7 @@ export function N1WalletProvider(_a) {
|
|
|
208
222
|
setShowSidebar: setShowSidebar,
|
|
209
223
|
setSignMessageWithSessionKey: setSignMessageWithSessionKey,
|
|
210
224
|
setSignMessageWithWalletKey: setSignMessageWithWalletKey,
|
|
225
|
+
setSignTransactionWithWalletKey: setSignTransactionWithWalletKey,
|
|
211
226
|
setStartClosingLogin: setStartClosingLogin,
|
|
212
227
|
setUsername: setUsername,
|
|
213
228
|
setUserChain: setUserChain,
|
|
@@ -218,5 +233,8 @@ export function N1WalletProvider(_a) {
|
|
|
218
233
|
showDynamicWidget: showDynamicWidget,
|
|
219
234
|
setShowDynamicWidget: setShowDynamicWidget,
|
|
220
235
|
darkMode: darkMode,
|
|
221
|
-
|
|
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, {}) })] }) }) }));
|
|
222
240
|
}
|