@n1xyz/wallet-widget 0.0.30 → 0.0.33-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -208
- package/dist/components/LoadingFallback.js.map +1 -0
- package/dist/{WidgetButton → components}/N1ConnectButton.js +3 -3
- package/dist/components/N1ConnectButton.js.map +1 -0
- package/dist/components/logos/ZeroOneLogo.d.ts +8 -0
- package/dist/components/logos/ZeroOneLogo.js +6 -0
- package/dist/components/logos/ZeroOneLogo.js.map +1 -0
- package/dist/components/logos/index.d.ts +1 -0
- package/dist/components/logos/index.js +1 -0
- package/dist/components/logos/index.js.map +1 -1
- package/dist/config/chains.js +2 -0
- package/dist/config/chains.js.map +1 -0
- package/dist/config/solana.js +1 -1
- package/dist/config/solana.js.map +1 -1
- package/dist/{Provider/context.d.ts → context/n1-wallet-context.d.ts} +2 -2
- package/dist/{Provider/context.js → context/n1-wallet-context.js} +1 -1
- package/dist/context/n1-wallet-context.js.map +1 -0
- package/dist/{Modal → features/onboarding-flow}/N1WalletModal.d.ts +1 -1
- package/dist/{Modal → features/onboarding-flow}/N1WalletModal.js +18 -15
- package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -0
- package/dist/features/onboarding-flow/OnboardingFlow.d.ts +9 -0
- package/dist/features/onboarding-flow/OnboardingFlow.js +98 -0
- package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ChainButton.d.ts +1 -2
- package/dist/features/onboarding-flow/components/ChainButton.js +21 -0
- package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.js +1 -1
- package/dist/features/onboarding-flow/components/Header.js.map +1 -0
- package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.js +1 -1
- package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -0
- package/dist/features/onboarding-flow/components/WaitingMessage.js +17 -0
- package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
- package/dist/features/onboarding-flow/components/index.js.map +1 -0
- package/dist/features/onboarding-flow/index.d.ts +1 -0
- package/dist/features/onboarding-flow/index.js +2 -0
- package/dist/features/onboarding-flow/index.js.map +1 -0
- package/dist/{Modal/NordFlow/context/DepositContext.d.ts → features/onboarding-flow/providers/DepositFlowProvider.d.ts} +9 -7
- package/dist/{Modal/NordFlow/context/DepositContext.js → features/onboarding-flow/providers/DepositFlowProvider.js} +228 -78
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.d.ts +48 -0
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +185 -0
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
- package/dist/features/onboarding-flow/providers/StateProvider.d.ts +10 -0
- package/dist/features/onboarding-flow/providers/StateProvider.js +14 -0
- package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -0
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.d.ts +21 -0
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +394 -0
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
- package/dist/features/onboarding-flow/providers/debug.d.ts +6 -0
- package/dist/features/onboarding-flow/providers/debug.js +63 -0
- package/dist/features/onboarding-flow/providers/debug.js.map +1 -0
- package/dist/features/onboarding-flow/providers/index.d.ts +5 -0
- package/dist/features/onboarding-flow/providers/index.js +8 -0
- package/dist/features/onboarding-flow/providers/index.js.map +1 -0
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.d.ts +48 -0
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +83 -0
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.js +2 -2
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +31 -0
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +100 -0
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.d.ts +2 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.js +123 -61
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -0
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +3 -0
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +31 -0
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.js +31 -26
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -0
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +31 -0
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -0
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +14 -0
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.d.ts +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.js +1 -0
- package/dist/features/onboarding-flow/screens/index.js.map +1 -0
- package/dist/{Modal/NordFlow → features/onboarding-flow}/types.d.ts +13 -16
- package/dist/features/onboarding-flow/types.js +34 -0
- package/dist/features/onboarding-flow/types.js.map +1 -0
- package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -0
- package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -0
- package/dist/{utils/dynamicNord.d.ts → features/onboarding-flow/utils/nordUser.d.ts} +0 -1
- package/dist/{utils/dynamicNord.js → features/onboarding-flow/utils/nordUser.js} +2 -13
- package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -0
- package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -0
- package/dist/{Logic/sessionManager.d.ts → features/onboarding-flow/utils/session.d.ts} +2 -2
- package/dist/{Logic/sessionManager.js → features/onboarding-flow/utils/session.js} +36 -5
- package/dist/features/onboarding-flow/utils/session.js.map +1 -0
- package/dist/{Logic/transactionManager.js → features/onboarding-flow/utils/transaction.js} +1 -1
- package/dist/features/onboarding-flow/utils/transaction.js.map +1 -0
- package/dist/{Logic → features/onboarding-flow/utils}/utils.d.ts +1 -1
- package/dist/{Logic → features/onboarding-flow/utils}/utils.js +1 -1
- package/dist/features/onboarding-flow/utils/utils.js.map +1 -0
- package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useN1Wallet.d.ts +2 -0
- package/dist/{Provider/hooks.js → hooks/useN1Wallet.js} +2 -2
- package/dist/hooks/useN1Wallet.js.map +1 -0
- package/dist/{Provider/hooks → hooks}/useNordUserInitialization.js +7 -7
- package/dist/hooks/useNordUserInitialization.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/{Provider → providers}/LazyWalletProvider.js +34 -8
- package/dist/providers/LazyWalletProvider.js.map +1 -0
- package/dist/providers/N1WalletProvider.d.ts +3 -0
- package/dist/{Provider → providers}/N1WalletProvider.js +51 -22
- package/dist/providers/N1WalletProvider.js.map +1 -0
- package/dist/providers/ShadowRootWrapper.js.map +1 -0
- package/dist/providers/WalletErrorBoundary.js.map +1 -0
- package/dist/styles/embedded-main-css.d.ts +2 -0
- package/dist/styles/embedded-main-css.js +3 -0
- package/dist/styles/embedded-main-css.js.map +1 -0
- package/dist/styles/main.css +2 -0
- package/dist/{Provider/types.d.ts → types/wallet.d.ts} +7 -8
- package/dist/{Provider/types.js → types/wallet.js} +1 -1
- package/dist/types/wallet.js.map +1 -0
- package/dist/{Logic → utils}/getPseudoName.js.map +1 -1
- package/dist/{Logic → utils}/words.js.map +1 -1
- package/package.json +25 -21
- package/dist/Logic/sessionManager.js.map +0 -1
- package/dist/Logic/transactionManager.js.map +0 -1
- package/dist/Logic/utils.js.map +0 -1
- package/dist/Modal/LoadingFallback.js.map +0 -1
- package/dist/Modal/N1WalletModal.js.map +0 -1
- package/dist/Modal/NTSFlow/LoadingFallback.d.ts +0 -2
- package/dist/Modal/NTSFlow/LoadingFallback.js +0 -3
- package/dist/Modal/NTSFlow/LoadingFallback.js.map +0 -1
- package/dist/Modal/NTSFlow/NTSFlow.d.ts +0 -4
- package/dist/Modal/NTSFlow/NTSFlow.js +0 -35
- package/dist/Modal/NTSFlow/NTSFlow.js.map +0 -1
- package/dist/Modal/NTSFlow/components/BackButton.d.ts +0 -3
- package/dist/Modal/NTSFlow/components/BackButton.js +0 -26
- package/dist/Modal/NTSFlow/components/BackButton.js.map +0 -1
- package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +0 -1
- package/dist/Modal/NTSFlow/components/ModalHeader.js +0 -21
- package/dist/Modal/NTSFlow/components/ModalHeader.js.map +0 -1
- package/dist/Modal/NTSFlow/index.d.ts +0 -1
- package/dist/Modal/NTSFlow/index.js +0 -2
- package/dist/Modal/NTSFlow/index.js.map +0 -1
- package/dist/Modal/NTSFlow/views/ConnectView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/ConnectView.js +0 -68
- package/dist/Modal/NTSFlow/views/ConnectView.js.map +0 -1
- package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/CreateSessionView.js +0 -246
- package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +0 -1
- package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/CreateUserView.js +0 -106
- package/dist/Modal/NTSFlow/views/CreateUserView.js.map +0 -1
- package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js +0 -43
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +0 -1
- package/dist/Modal/NTSFlow/views/SigningView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/SigningView.js +0 -6
- package/dist/Modal/NTSFlow/views/SigningView.js.map +0 -1
- package/dist/Modal/NTSFlow/views/SuccessView.d.ts +0 -1
- package/dist/Modal/NTSFlow/views/SuccessView.js +0 -11
- package/dist/Modal/NTSFlow/views/SuccessView.js.map +0 -1
- package/dist/Modal/NordFlow/NordFlow.d.ts +0 -9
- package/dist/Modal/NordFlow/NordFlow.js +0 -84
- package/dist/Modal/NordFlow/NordFlow.js.map +0 -1
- package/dist/Modal/NordFlow/components/ChainButton.js +0 -25
- package/dist/Modal/NordFlow/components/ChainButton.js.map +0 -1
- package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +0 -9
- package/dist/Modal/NordFlow/components/EVMChainsButton.js +0 -21
- package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +0 -1
- package/dist/Modal/NordFlow/components/Header.js.map +0 -1
- package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +0 -1
- package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +0 -1
- package/dist/Modal/NordFlow/components/LoadingSquares.js +0 -6
- package/dist/Modal/NordFlow/components/LoadingSquares.js.map +0 -1
- package/dist/Modal/NordFlow/components/MoreButton.d.ts +0 -8
- package/dist/Modal/NordFlow/components/MoreButton.js +0 -19
- package/dist/Modal/NordFlow/components/MoreButton.js.map +0 -1
- package/dist/Modal/NordFlow/components/TransactionTable.js.map +0 -1
- package/dist/Modal/NordFlow/components/WaitingMessage.js +0 -18
- package/dist/Modal/NordFlow/components/WaitingMessage.js.map +0 -1
- package/dist/Modal/NordFlow/components/index.js.map +0 -1
- package/dist/Modal/NordFlow/constants.d.ts +0 -37
- package/dist/Modal/NordFlow/constants.js +0 -183
- package/dist/Modal/NordFlow/constants.js.map +0 -1
- package/dist/Modal/NordFlow/context/DepositContext.js.map +0 -1
- package/dist/Modal/NordFlow/context/FlowContext.d.ts +0 -24
- package/dist/Modal/NordFlow/context/FlowContext.js +0 -218
- package/dist/Modal/NordFlow/context/FlowContext.js.map +0 -1
- package/dist/Modal/NordFlow/context/NordProvider.d.ts +0 -10
- package/dist/Modal/NordFlow/context/NordProvider.js +0 -14
- package/dist/Modal/NordFlow/context/NordProvider.js.map +0 -1
- package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +0 -20
- package/dist/Modal/NordFlow/context/WalletConnectContext.js +0 -269
- package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +0 -1
- package/dist/Modal/NordFlow/context/index.d.ts +0 -5
- package/dist/Modal/NordFlow/context/index.js +0 -8
- package/dist/Modal/NordFlow/context/index.js.map +0 -1
- package/dist/Modal/NordFlow/hoc/index.d.ts +0 -1
- package/dist/Modal/NordFlow/hoc/index.js +0 -2
- package/dist/Modal/NordFlow/hoc/index.js.map +0 -1
- package/dist/Modal/NordFlow/hoc/withImageFallback.js.map +0 -1
- package/dist/Modal/NordFlow/hooks/useTestnetFaucet.d.ts +0 -18
- package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js +0 -181
- package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js.map +0 -1
- package/dist/Modal/NordFlow/index.d.ts +0 -1
- package/dist/Modal/NordFlow/index.js +0 -2
- package/dist/Modal/NordFlow/index.js.map +0 -1
- package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +0 -6
- package/dist/Modal/NordFlow/screens/00-IdleScreen.js +0 -9
- package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js +0 -115
- package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -2
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -45
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/03-AmountInputScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +0 -66
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +0 -204
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js +0 -29
- package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +0 -51
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/05-DepositSuccessScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js +0 -37
- package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +0 -132
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +0 -30
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.d.ts +0 -5
- package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js +0 -39
- package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/08-ErrorScreen.js +0 -68
- package/dist/Modal/NordFlow/screens/08-ErrorScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +0 -5
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +0 -52
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +0 -1
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +0 -68
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +0 -1
- package/dist/Modal/NordFlow/screens/index.js.map +0 -1
- package/dist/Modal/NordFlow/types.js +0 -34
- package/dist/Modal/NordFlow/types.js.map +0 -1
- package/dist/Modal/NordFlow/utils/depositStorage.js.map +0 -1
- package/dist/Modal/NordFlow/utils/imageUtils.js.map +0 -1
- package/dist/Modal/NordFlow/utils/index.d.ts +0 -2
- package/dist/Modal/NordFlow/utils/index.js +0 -3
- package/dist/Modal/NordFlow/utils/index.js.map +0 -1
- package/dist/Modal/NordFlow/utils/nordUtils.js.map +0 -1
- package/dist/Modal/Sidebar/N1Sidebar.d.ts +0 -1
- package/dist/Modal/Sidebar/N1Sidebar.js +0 -203
- package/dist/Modal/Sidebar/N1Sidebar.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +0 -12
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +0 -90
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +0 -6
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +0 -43
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +0 -11
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +0 -20
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +0 -1
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +0 -143
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +0 -248
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +0 -10
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +0 -62
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +0 -30
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +0 -11
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +0 -22
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +0 -20
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +0 -24
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +0 -80
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +0 -9
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +0 -110
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +0 -30
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +0 -9
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +0 -40
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +0 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +0 -10
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +0 -13
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +0 -264
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +0 -5
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +0 -113
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +0 -1
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +0 -183
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +0 -1
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +0 -0
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +0 -278
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +0 -1
- package/dist/Provider/LazyWalletProvider.js.map +0 -1
- package/dist/Provider/N1WalletProvider.d.ts +0 -3
- package/dist/Provider/N1WalletProvider.js.map +0 -1
- package/dist/Provider/ShadowRootWrapper.js.map +0 -1
- package/dist/Provider/WalletErrorBoundary.js.map +0 -1
- package/dist/Provider/context.js.map +0 -1
- package/dist/Provider/hooks/useNordUserInitialization.js.map +0 -1
- package/dist/Provider/hooks.d.ts +0 -2
- package/dist/Provider/hooks.js.map +0 -1
- package/dist/Provider/icons/CoinbaseWalletIcon.d.ts +0 -1
- package/dist/Provider/icons/CoinbaseWalletIcon.js +0 -5
- package/dist/Provider/icons/CoinbaseWalletIcon.js.map +0 -1
- package/dist/Provider/icons/ConnectionDotsSVG.d.ts +0 -1
- package/dist/Provider/icons/ConnectionDotsSVG.js +0 -5
- package/dist/Provider/icons/ConnectionDotsSVG.js.map +0 -1
- package/dist/Provider/icons/MetamaskIcon.d.ts +0 -1
- package/dist/Provider/icons/MetamaskIcon.js +0 -5
- package/dist/Provider/icons/MetamaskIcon.js.map +0 -1
- package/dist/Provider/icons/PhantomIcon.d.ts +0 -1
- package/dist/Provider/icons/PhantomIcon.js +0 -5
- package/dist/Provider/icons/PhantomIcon.js.map +0 -1
- package/dist/Provider/icons/UserIcon.d.ts +0 -1
- package/dist/Provider/icons/UserIcon.js +0 -5
- package/dist/Provider/icons/UserIcon.js.map +0 -1
- package/dist/Provider/icons/WalletConnectIcon.d.ts +0 -1
- package/dist/Provider/icons/WalletConnectIcon.js +0 -5
- package/dist/Provider/icons/WalletConnectIcon.js.map +0 -1
- package/dist/Provider/index.d.ts +0 -3
- package/dist/Provider/index.js +0 -4
- package/dist/Provider/index.js.map +0 -1
- package/dist/Provider/types.js.map +0 -1
- package/dist/WidgetButton/N1ConnectButton.js.map +0 -1
- package/dist/components/QRCodeLoader.d.ts +0 -4
- package/dist/components/QRCodeLoader.js +0 -9
- package/dist/components/QRCodeLoader.js.map +0 -1
- package/dist/components/logos/EVMChainsGroup.d.ts +0 -7
- package/dist/components/logos/EVMChainsGroup.js +0 -19
- package/dist/components/logos/EVMChainsGroup.js.map +0 -1
- package/dist/components/logos/MoreChainsGroup.d.ts +0 -7
- package/dist/components/logos/MoreChainsGroup.js +0 -19
- package/dist/components/logos/MoreChainsGroup.js.map +0 -1
- package/dist/embedded-main-css.d.ts +0 -2
- package/dist/embedded-main-css.js +0 -3
- package/dist/embedded-main-css.js.map +0 -1
- package/dist/main.css +0 -2
- package/dist/utils/dynamicImports.js +0 -42
- package/dist/utils/dynamicImports.js.map +0 -1
- package/dist/utils/dynamicNord.js.map +0 -1
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
- /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
- /package/dist/{Modal → components}/LoadingFallback.d.ts +0 -0
- /package/dist/{Modal → components}/LoadingFallback.js +0 -0
- /package/dist/{WidgetButton → components}/N1ConnectButton.d.ts +0 -0
- /package/dist/{Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts → config/chains.d.ts} +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.js +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/WaitingMessage.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.js +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/06-AuthLoadingScreen.d.ts +0 -0
- /package/dist/{Modal/NordFlow/screens/08-ErrorScreen.d.ts → features/onboarding-flow/screens/07-ErrorScreen.d.ts} +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.js +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.js +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.d.ts +0 -0
- /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.js +0 -0
- /package/dist/{Logic/transactionManager.d.ts → features/onboarding-flow/utils/transaction.d.ts} +0 -0
- /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.d.ts +0 -0
- /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.js +0 -0
- /package/dist/{Provider/hooks → hooks}/useNordUserInitialization.d.ts +0 -0
- /package/dist/{Provider → providers}/LazyWalletProvider.d.ts +0 -0
- /package/dist/{Provider → providers}/ShadowRootWrapper.d.ts +0 -0
- /package/dist/{Provider → providers}/ShadowRootWrapper.js +0 -0
- /package/dist/{Provider → providers}/WalletErrorBoundary.d.ts +0 -0
- /package/dist/{Provider → providers}/WalletErrorBoundary.js +0 -0
- /package/dist/{Logic → utils}/getPseudoName.d.ts +0 -0
- /package/dist/{Logic → utils}/getPseudoName.js +0 -0
- /package/dist/{Logic → utils}/words.d.ts +0 -0
- /package/dist/{Logic → utils}/words.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DepositContext.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/context/DepositContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport {\n getExplorerUrl,\n TransactionResult,\n} from '../../../Logic/transactionManager';\nimport { useN1WalletContext } from '../../../Provider/hooks';\nimport { logger } from '../../../utils/logger';\nimport { AVAILABLE_CHAINS } from '../constants';\nimport { FlowState } from '../types';\nimport { useFlowStateContext } from './FlowContext';\nimport { clearLastDepositRecord, saveLastDepositRecord } from '../utils/depositStorage';\n\n// Define the shape of the deposit context value\nexport interface DepositContextValue {\n amount: string;\n isDepositing: boolean;\n transactionId: string | null;\n transactionResult: TransactionResult | null;\n authStatus: 'loading' | 'success' | 'error';\n authErrorMessage: string | null;\n authStatusMessage: string | null;\n updateAmount: (newAmount: string) => void;\n startDeposit: () => Promise<void>;\n completeDeposit: () => void;\n performAuth: () => Promise<void>;\n}\n\n// Create the context with a default value\nconst DepositContext = createContext<DepositContextValue | undefined>(undefined);\n\n// Props for the provider component\ninterface DepositProviderProps {\n children: React.ReactNode;\n}\n\n/**\n * Provider component for the deposit context\n */\nexport const DepositProvider: React.FC<DepositProviderProps> = ({\n children,\n}) => {\n // Get flow state context\n const {\n state,\n context,\n transition,\n updateContext,\n isDebugOverride,\n } = useFlowStateContext();\n\n // Get wallet context\n const {\n address,\n nord,\n nordUser,\n } = useN1WalletContext();\n\n // chain\n const [selectedChain, setSelectedChain] = useState<string | null>(\n context.selectedChain\n );\n\n // transaction & deposit\n const [amount, setAmount] = useState(context.amount);\n const [isDepositing, setIsDepositing] = useState(false);\n const [transactionId, setTransactionId] = useState<string | null>(context.transactionId);\n const [transactionResult, setTransactionResult] = useState<TransactionResult | null>(null);\n\n\n // auth\n const [authStatus, setAuthStatus] = useState<'loading' | 'success' | 'error'>('loading');\n const [authErrorMessage, setAuthErrorMessage] = useState<string | null>(null);\n const [authStatusMessage, setAuthStatusMessage] = useState<string | null>(null);\n\n // Use refs to track previous values\n const prevContextRef = useRef(context);\n\n\n /**\n * Handle an error by transitioning to error state\n */\n const handleError = useCallback(\n (error: Error) => {\n logger.error('Flow error:', error);\n transition(FlowState.ERROR, { error });\n },\n [transition]\n );\n\n const authInFlightRef = useRef(false);\n const waitingForNordUserRef = useRef(false);\n\n /**\n * Authenticate session\n */\n const performAuth = useCallback(async () => {\n if (authInFlightRef.current) {\n return;\n }\n\n authInFlightRef.current = true;\n try {\n // Step 1: Tell user to sign transaction\n setAuthStatusMessage(\n 'Please sign the transaction to authenticate your session'\n );\n\n if (!nordUser) {\n waitingForNordUserRef.current = true;\n setAuthStatus('loading');\n setAuthStatusMessage('Preparing your Nord session…');\n return;\n }\n\n waitingForNordUserRef.current = false;\n\n // Step 2: Call nordUser.refreshSession and get sessionId\n setAuthStatusMessage('Session is being authenticated...');\n\n // Get the session public key from the nordUser\n const sessionPubKey = nordUser.sessionPubKey;\n if (!sessionPubKey) {\n throw new Error('Session public key is not available');\n }\n\n // Refresh the session\n await nordUser.refreshSession();\n await nordUser.updateAccountId();\n\n console.log('nordUser', nordUser);\n\n // Get the sessionId after refresh\n const sessionId = nordUser.sessionId;\n if (!sessionId) {\n throw new Error('Failed to get session ID after refresh');\n }\n\n logger.debug('Session refreshed successfully', {\n sessionId: sessionId.toString(),\n });\n\n // Step 3: Store sessionId in localStorage\n if (address) {\n const sessionIdKey = `n1_sessionId_${address}`;\n localStorage.setItem(sessionIdKey, sessionId.toString());\n logger.debug('Stored sessionId in localStorage', { key: sessionIdKey });\n }\n\n // Step 4: Update status to success\n setAuthStatus('success');\n\n // updateContext({ hasActiveSession: true });\n setTimeout(() => {\n transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true, hasNordAccount: true });\n }, 100);\n\n } catch (error) {\n console.error('Authentication error:', error);\n setAuthStatus('error');\n setAuthErrorMessage(\n error instanceof Error ? error.message : 'Unknown error occurred'\n );\n } finally {\n authInFlightRef.current = false;\n }\n }, [\n updateContext,\n transition,\n address,\n nordUser,\n setAuthStatus,\n setAuthStatusMessage,\n setAuthErrorMessage,\n ]);\n\n useEffect(() => {\n if (waitingForNordUserRef.current && nordUser) {\n performAuth();\n }\n }, [nordUser, performAuth]);\n\n /**\n * Update amount for deposit\n */\n const updateAmount = useCallback(\n (newAmount: string) => {\n setAmount(newAmount);\n if (state === FlowState.AMOUNT_INPUT) {\n updateContext({ amount: newAmount });\n } else {\n transition(state, { amount: newAmount });\n }\n },\n [state, transition, updateContext]\n );\n\n /**\n * Start deposit process\n */\n const startDeposit = useCallback(async () => {\n if (isDepositing) return;\n\n logger.debug('Starting deposit process');\n\n if (!amount || parseFloat(amount) <= 0) {\n handleError(new Error('Invalid amount'));\n return;\n }\n\n setIsDepositing(true);\n transition(FlowState.DEPOSIT_PROGRESS);\n\n try {\n const usdcToken = nord!.tokens.find((t: any) => t.symbol === 'USDC');\n\n const txId = await nordUser.depositSpl(\n parseFloat(amount),\n usdcToken!.tokenId\n );\n\n let accountInitialized = false;\n for (let i = 0; i < 70; i++) {\n const exists = await nord?.getUser({ pubkey: address });\n if (exists) {\n accountInitialized = true;\n break;\n }\n await new Promise((resolve) => setTimeout(resolve, 5000));\n }\n\n if (!accountInitialized) {\n throw new Error('Account failed to intialize on N1.');\n }\n\n logger.debug('Deposit successful using Nord-TS', txId);\n\n // Create transaction result object immediately after successful deposit\n const result: TransactionResult = {\n success: true,\n transactionId: txId,\n amount,\n tokenSymbol: 'USDC',\n fromAddress: address || 'Your Wallet',\n toAddress: 'Exchange Account',\n networkName: selectedChain!,\n status: 'Completed',\n explorerUrl: getExplorerUrl(txId),\n };\n\n const depositRecord = {\n transactionId: txId,\n amount,\n tokenSymbol: 'USDC',\n chainId: context.selectedChainId ?? (selectedChain ?? 'solana'),\n chainName: context.selectedChain ?? (selectedChain ?? 'Solana'),\n chainNetwork: context.selectedChainNetwork ?? null,\n timestamp: Date.now(),\n };\n\n saveLastDepositRecord(address, depositRecord);\n\n // Update state with transaction result\n setTransactionId(txId);\n setTransactionResult(result);\n logger.debug('Transaction completed successfully');\n transition(FlowState.DEPOSIT_SUCCESS, {\n transactionId: txId,\n hasNordAccount: true,\n lastDeposit: depositRecord,\n });\n } catch (depositError) {\n logger.warn('Error using depositSpl, falling back to mock implementation:', depositError);\n setIsDepositing(false);\n const errorMessage = depositError instanceof Error\n ? depositError.message\n : 'Failed to process deposit';\n\n transition(FlowState.AMOUNT_INPUT, {\n depositError: errorMessage\n });\n return; // Exit early\n }\n }, [\n isDepositing,\n selectedChain,\n amount,\n address,\n transition,\n handleError,\n nord,\n nordUser,\n context.selectedChain,\n context.selectedChainId,\n context.selectedChainNetwork,\n ]);\n\n /**\n * Complete the deposit process and move to the next screen\n */\n const completeDeposit = useCallback(() => {\n clearLastDepositRecord(address);\n updateContext({ lastDeposit: null });\n\n if (context.isDepositOnlyFlow) {\n transition(FlowState.FINAL_SUCCESS, {\n hasNordAccount: true,\n hasActiveSession: true,\n isDepositOnlyFlow: false,\n });\n return;\n }\n\n // Check if user has an active session to determine the next state\n if (context.hasActiveSession) {\n // If user has an active session, go directly to FINAL_SUCCESS\n transition(FlowState.FINAL_SUCCESS, {\n hasNordAccount: true,\n hasActiveSession: true,\n isDepositOnlyFlow: false,\n });\n } else {\n // If user doesn't have an active session, go to authentication flow\n transition(FlowState.AUTH_LOADING, { hasNordAccount: true });\n }\n }, [context.hasActiveSession, context.isDepositOnlyFlow, transition, address, updateContext]);\n\n\n\n\n\n // Create the context value\n const contextValue: DepositContextValue = {\n amount,\n isDepositing,\n transactionId,\n transactionResult,\n authStatus,\n authErrorMessage,\n authStatusMessage,\n updateAmount,\n startDeposit,\n completeDeposit,\n performAuth,\n };\n\n\n /**\n * Update state based on context changes\n */\n useEffect(() => {\n const prevContext = prevContextRef.current;\n\n // Only update state if the relevant context values have actually changed\n if (context.selectedChain !== prevContext.selectedChain) {\n setSelectedChain(context.selectedChain);\n }\n\n if (context.amount !== prevContext.amount) {\n setAmount(context.amount);\n }\n\n if (context.transactionId !== prevContext.transactionId) {\n setTransactionId(context.transactionId);\n }\n\n // Update the ref to the current context\n prevContextRef.current = context;\n }, [context]);\n\n useEffect(() => {\n if (!isDebugOverride || state !== FlowState.DEPOSIT_SUCCESS || transactionResult) {\n return;\n }\n\n const mockTransactionId = context.transactionId ?? 'debug-tx-12345';\n const fallbackChain = context.selectedChain ?? AVAILABLE_CHAINS[0]?.name ?? 'Solana';\n setTransactionId(mockTransactionId);\n setTransactionResult({\n success: true,\n transactionId: mockTransactionId,\n amount: context.amount || '1,250',\n tokenSymbol: 'USDC',\n fromAddress: address || 'Debug Wallet',\n toAddress: 'Nord Account',\n networkName: fallbackChain,\n status: 'Completed',\n explorerUrl: getExplorerUrl(mockTransactionId),\n });\n }, [isDebugOverride, state, transactionResult, context, address]);\n\n\n\n return (\n <DepositContext.Provider value={contextValue}>\n {children}\n </DepositContext.Provider>\n );\n};\n\n/**\n * Hook to use the deposit context\n */\nexport const useDepositContext = (): DepositContextValue => {\n const context = useContext(DepositContext);\n if (context === undefined) {\n throw new Error('useDepositContext must be used within a DepositProvider');\n }\n return context;\n}; \n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { FlowContext as FlowContextType, FlowState } from '../types';
|
|
3
|
-
export interface FlowStateContextValue {
|
|
4
|
-
state: FlowState;
|
|
5
|
-
context: FlowContextType;
|
|
6
|
-
isClosing: boolean;
|
|
7
|
-
isDebugOverride: boolean;
|
|
8
|
-
transition: (targetState: FlowState, contextUpdates?: Partial<FlowContextType>) => boolean;
|
|
9
|
-
updateContext: (updates: Partial<FlowContextType>) => void;
|
|
10
|
-
}
|
|
11
|
-
interface FlowStateProviderProps {
|
|
12
|
-
children: React.ReactNode;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Provider component for the flow state context
|
|
16
|
-
*/
|
|
17
|
-
export declare const FlowStateProvider: React.FC<FlowStateProviderProps>;
|
|
18
|
-
/**
|
|
19
|
-
* Custom hook to use the flow state context
|
|
20
|
-
* @returns The flow state context value
|
|
21
|
-
* @throws Error if used outside of a FlowStateProvider
|
|
22
|
-
*/
|
|
23
|
-
export declare const useFlowStateContext: () => FlowStateContextValue;
|
|
24
|
-
export {};
|
|
@@ -1,218 +0,0 @@
|
|
|
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
|
-
var _a;
|
|
13
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
15
|
-
import { FlowState, initialFlowContext } from '../types';
|
|
16
|
-
import { STATE_TRANSITIONS } from '../constants';
|
|
17
|
-
import { logger } from '../../../utils/logger';
|
|
18
|
-
import { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider';
|
|
19
|
-
import { N1ModalViewMode } from '../../../Provider/types';
|
|
20
|
-
import { SolanaNetwork } from '../../../config/solana';
|
|
21
|
-
var buildDebugContext = function (overrides) {
|
|
22
|
-
if (overrides === void 0) { overrides = {}; }
|
|
23
|
-
return (__assign(__assign({}, initialFlowContext), overrides));
|
|
24
|
-
};
|
|
25
|
-
var DEBUG_VIEW_TO_FLOW = (_a = {},
|
|
26
|
-
_a[N1ModalViewMode.Connect] = {
|
|
27
|
-
state: FlowState.CONNECTING_WALLET,
|
|
28
|
-
context: buildDebugContext(),
|
|
29
|
-
},
|
|
30
|
-
_a[N1ModalViewMode.ChainSelection] = {
|
|
31
|
-
state: FlowState.CHAIN_SELECTION,
|
|
32
|
-
context: buildDebugContext({ selectedChain: null }),
|
|
33
|
-
},
|
|
34
|
-
_a[N1ModalViewMode.CreateSession] = {
|
|
35
|
-
state: FlowState.AUTH_LOADING,
|
|
36
|
-
context: buildDebugContext({ hasNordAccount: true, hasActiveSession: false }),
|
|
37
|
-
},
|
|
38
|
-
_a[N1ModalViewMode.Signing] = {
|
|
39
|
-
state: FlowState.DEPOSIT_PROGRESS,
|
|
40
|
-
context: buildDebugContext({ hasNordAccount: false, hasActiveSession: false }),
|
|
41
|
-
},
|
|
42
|
-
_a[N1ModalViewMode.CreatingUser] = {
|
|
43
|
-
state: FlowState.AMOUNT_INPUT,
|
|
44
|
-
context: buildDebugContext({ hasNordAccount: false, hasActiveSession: false }),
|
|
45
|
-
},
|
|
46
|
-
_a[N1ModalViewMode.DepositSuccess] = {
|
|
47
|
-
state: FlowState.DEPOSIT_SUCCESS,
|
|
48
|
-
context: buildDebugContext({
|
|
49
|
-
hasNordAccount: true,
|
|
50
|
-
hasActiveSession: true,
|
|
51
|
-
selectedChain: 'solana-mainnet',
|
|
52
|
-
selectedChainId: 'solana',
|
|
53
|
-
selectedChainNetwork: SolanaNetwork.MAINNET,
|
|
54
|
-
amount: '1,250',
|
|
55
|
-
transactionId: 'debug-tx-12345',
|
|
56
|
-
}),
|
|
57
|
-
},
|
|
58
|
-
_a);
|
|
59
|
-
// Create the context with a default value
|
|
60
|
-
var FlowStateContext = createContext(undefined);
|
|
61
|
-
/**
|
|
62
|
-
* Provider component for the flow state context
|
|
63
|
-
*/
|
|
64
|
-
export var FlowStateProvider = function (_a) {
|
|
65
|
-
var children = _a.children;
|
|
66
|
-
// Flow state
|
|
67
|
-
var _b = useState(FlowState.CONNECTING_WALLET), state = _b[0], setState = _b[1];
|
|
68
|
-
var _c = useState(initialFlowContext), context = _c[0], setContext = _c[1];
|
|
69
|
-
var _d = useState(false), isClosing = _d[0], setIsClosing = _d[1];
|
|
70
|
-
var _e = useState(false), isDebugOverride = _e[0], setIsDebugOverride = _e[1];
|
|
71
|
-
var _f = useN1WalletContext(), nordUser = _f.nordUser, viewMode = _f.viewMode;
|
|
72
|
-
var _g = useN1WalletInternalContext(), dynamicSdkHasLoaded = _g.dynamicSdkHasLoaded, depositFlowRequestId = _g.depositFlowRequestId;
|
|
73
|
-
var prevContextRef = useRef(initialFlowContext);
|
|
74
|
-
var debugOverrideRef = useRef(false);
|
|
75
|
-
var lastDepositRequestRef = useRef(0);
|
|
76
|
-
// Default handlers
|
|
77
|
-
var handleStateChange = useCallback(function (newState, currState) {
|
|
78
|
-
logger.debug("State changed from ".concat(currState, " to ").concat(newState));
|
|
79
|
-
}, []);
|
|
80
|
-
/**
|
|
81
|
-
* Check if a transition is allowed based on current state and context
|
|
82
|
-
*/
|
|
83
|
-
var canTransition = useCallback(function (targetState, contextData) {
|
|
84
|
-
if (isDebugOverride) {
|
|
85
|
-
logger.debug("Debug override active; blocking transition to ".concat(targetState));
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
if (dynamicSdkHasLoaded)
|
|
89
|
-
return STATE_TRANSITIONS.some(function (transition) {
|
|
90
|
-
var fromMatches = Array.isArray(transition.from)
|
|
91
|
-
? transition.from.includes(state)
|
|
92
|
-
: transition.from === state;
|
|
93
|
-
if (!fromMatches || transition.to !== targetState) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
if (transition.condition) {
|
|
97
|
-
return transition.condition(contextData);
|
|
98
|
-
}
|
|
99
|
-
return true;
|
|
100
|
-
});
|
|
101
|
-
return false;
|
|
102
|
-
}, [state, nordUser, dynamicSdkHasLoaded, isDebugOverride]);
|
|
103
|
-
/**
|
|
104
|
-
* Transition to a new state if allowed
|
|
105
|
-
*/
|
|
106
|
-
var transition = useCallback(function (targetState, contextUpdates) {
|
|
107
|
-
if (contextUpdates === void 0) { contextUpdates = {}; }
|
|
108
|
-
// Skip if we're already in the target state and no context updates
|
|
109
|
-
if (targetState === state && Object.keys(contextUpdates).length === 0) {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
if (isDebugOverride) {
|
|
113
|
-
logger.debug("Transition suppressed (debug override \u2192 ".concat(N1ModalViewMode[viewMode], ")"));
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
if (!canTransition(targetState, __assign(__assign({}, context), contextUpdates))) {
|
|
117
|
-
logger.warn("Transition from ".concat(state, " to ").concat(targetState, " is not allowed"));
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
// Update context first
|
|
121
|
-
setContext(function (prevContext) {
|
|
122
|
-
return __assign(__assign({}, prevContext), contextUpdates);
|
|
123
|
-
});
|
|
124
|
-
logger.debug("Transitioning from ".concat(state, " to ").concat(targetState));
|
|
125
|
-
setState(targetState);
|
|
126
|
-
handleStateChange(targetState, state);
|
|
127
|
-
return true;
|
|
128
|
-
}, [canTransition, state, context, handleStateChange, isDebugOverride, viewMode]);
|
|
129
|
-
/**
|
|
130
|
-
* Update context without state transition
|
|
131
|
-
*/
|
|
132
|
-
var updateContext = useCallback(function (updates) {
|
|
133
|
-
// Skip if no actual updates
|
|
134
|
-
if (Object.keys(updates).length === 0) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
setContext(function (prevContext) {
|
|
138
|
-
// Check if any values are actually changing
|
|
139
|
-
var hasChanges = false;
|
|
140
|
-
// Type-safe way to check for changes
|
|
141
|
-
Object.keys(updates).forEach(function (key) {
|
|
142
|
-
if (updates[key] !== prevContext[key]) {
|
|
143
|
-
hasChanges = true;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
// If nothing is changing, return the previous context
|
|
147
|
-
if (!hasChanges) {
|
|
148
|
-
return prevContext;
|
|
149
|
-
}
|
|
150
|
-
var newContext = __assign(__assign({}, prevContext), updates);
|
|
151
|
-
prevContextRef.current = newContext;
|
|
152
|
-
return newContext;
|
|
153
|
-
});
|
|
154
|
-
}, [state]);
|
|
155
|
-
useEffect(function () {
|
|
156
|
-
if (!depositFlowRequestId ||
|
|
157
|
-
depositFlowRequestId === lastDepositRequestRef.current) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
lastDepositRequestRef.current = depositFlowRequestId;
|
|
161
|
-
if (!nordUser || !nordUser.sessionId) {
|
|
162
|
-
logger.warn('Ignoring deposit flow request without an active Nord session');
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
var nextContext = __assign(__assign({}, initialFlowContext), { hasNordAccount: true, hasActiveSession: true, isDepositOnlyFlow: true });
|
|
166
|
-
prevContextRef.current = nextContext;
|
|
167
|
-
setIsDebugOverride(false);
|
|
168
|
-
setContext(nextContext);
|
|
169
|
-
setState(FlowState.CHAIN_SELECTION);
|
|
170
|
-
setIsClosing(false);
|
|
171
|
-
logger.debug('Deposit-only flow activated');
|
|
172
|
-
}, [depositFlowRequestId, nordUser]);
|
|
173
|
-
// Debug-only: allow external callers (e.g. UI playground) to jump to a specific view
|
|
174
|
-
useEffect(function () {
|
|
175
|
-
var debugTarget = viewMode === N1ModalViewMode.Automatic ? undefined : DEBUG_VIEW_TO_FLOW[viewMode];
|
|
176
|
-
if (debugTarget) {
|
|
177
|
-
debugOverrideRef.current = true;
|
|
178
|
-
setIsDebugOverride(true);
|
|
179
|
-
var nextContext = debugTarget.context;
|
|
180
|
-
prevContextRef.current = nextContext;
|
|
181
|
-
setContext(nextContext);
|
|
182
|
-
setState(debugTarget.state);
|
|
183
|
-
logger.debug("Debug view override: ".concat(N1ModalViewMode[viewMode], " \u2192 ").concat(debugTarget.state));
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
if (debugOverrideRef.current) {
|
|
187
|
-
debugOverrideRef.current = false;
|
|
188
|
-
setIsDebugOverride(false);
|
|
189
|
-
setContext(initialFlowContext);
|
|
190
|
-
prevContextRef.current = initialFlowContext;
|
|
191
|
-
setState(FlowState.CONNECTING_WALLET);
|
|
192
|
-
logger.debug('Debug view override cleared; returning to state machine');
|
|
193
|
-
}
|
|
194
|
-
}, [viewMode]);
|
|
195
|
-
// Create the context value
|
|
196
|
-
var contextValue = {
|
|
197
|
-
state: state,
|
|
198
|
-
context: context,
|
|
199
|
-
isClosing: isClosing,
|
|
200
|
-
isDebugOverride: isDebugOverride,
|
|
201
|
-
transition: transition,
|
|
202
|
-
updateContext: updateContext,
|
|
203
|
-
};
|
|
204
|
-
return (_jsx(FlowStateContext.Provider, { value: contextValue, children: children }));
|
|
205
|
-
};
|
|
206
|
-
/**
|
|
207
|
-
* Custom hook to use the flow state context
|
|
208
|
-
* @returns The flow state context value
|
|
209
|
-
* @throws Error if used outside of a FlowStateProvider
|
|
210
|
-
*/
|
|
211
|
-
export var useFlowStateContext = function () {
|
|
212
|
-
var context = useContext(FlowStateContext);
|
|
213
|
-
if (context === undefined) {
|
|
214
|
-
throw new Error('useFlowStateContext must be used within a FlowStateProvider');
|
|
215
|
-
}
|
|
216
|
-
return context;
|
|
217
|
-
};
|
|
218
|
-
//# sourceMappingURL=FlowContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContext.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/context/FlowContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAc,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EAAkC,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,IAAM,iBAAiB,GAAG,UAAC,SAAwC;IAAxC,0BAAA,EAAA,cAAwC;IAAK,OAAA,uBACnE,kBAAkB,GAClB,SAAS,EACZ;AAHsE,CAGtE,CAAC;AAEH,IAAM,kBAAkB;IAGtB,GAAC,eAAe,CAAC,OAAO,IAAG;QACzB,KAAK,EAAE,SAAS,CAAC,iBAAiB;QAClC,OAAO,EAAE,iBAAiB,EAAE;KAC7B;IACD,GAAC,eAAe,CAAC,cAAc,IAAG;QAChC,KAAK,EAAE,SAAS,CAAC,eAAe;QAChC,OAAO,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;KACpD;IACD,GAAC,eAAe,CAAC,aAAa,IAAG;QAC/B,KAAK,EAAE,SAAS,CAAC,YAAY;QAC7B,OAAO,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;KAC9E;IACD,GAAC,eAAe,CAAC,OAAO,IAAG;QACzB,KAAK,EAAE,SAAS,CAAC,gBAAgB;QACjC,OAAO,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;KAC/E;IACD,GAAC,eAAe,CAAC,YAAY,IAAG;QAC9B,KAAK,EAAE,SAAS,CAAC,YAAY;QAC7B,OAAO,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;KAC/E;IACD,GAAC,eAAe,CAAC,cAAc,IAAG;QAChC,KAAK,EAAE,SAAS,CAAC,eAAe;QAChC,OAAO,EAAE,iBAAiB,CAAC;YACzB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,gBAAgB;YAC9B,eAAe,EAAE,QAAQ;YACzB,oBAAoB,EAAE,aAAa,CAAC,OAAO;YAC5C,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,gBAAgB;SAChC,CAAC;KACH;OACF,CAAC;AAYF,0CAA0C;AAC1C,IAAM,gBAAgB,GAAG,aAAa,CAAoC,SAAS,CAAC,CAAC;AAOrF;;GAEG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAqC,UAAC,EAEnE;QADC,QAAQ,cAAA;IAER,aAAa;IACP,IAAA,KAAoB,QAAQ,CAAY,SAAS,CAAC,iBAAiB,CAAC,EAAnE,KAAK,QAAA,EAAE,QAAQ,QAAoD,CAAC;IACrE,IAAA,KAAwB,QAAQ,CAAkB,kBAAkB,CAAC,EAApE,OAAO,QAAA,EAAE,UAAU,QAAiD,CAAC;IACtE,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAAwC,QAAQ,CAAC,KAAK,CAAC,EAAtD,eAAe,QAAA,EAAE,kBAAkB,QAAmB,CAAC;IAExD,IAAA,KAAyB,kBAAkB,EAAE,EAA3C,QAAQ,cAAA,EAAE,QAAQ,cAAyB,CAAC;IAC9C,IAAA,KAAgD,0BAA0B,EAAE,EAA1E,mBAAmB,yBAAA,EAAE,oBAAoB,0BAAiC,CAAC;IACnF,IAAM,cAAc,GAAG,MAAM,CAAkB,kBAAkB,CAAC,CAAC;IACnE,IAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAM,qBAAqB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAGxC,mBAAmB;IACnB,IAAM,iBAAiB,GAAG,WAAW,CAAC,UAAC,QAAmB,EAAE,SAA2B;QACrF,MAAM,CAAC,KAAK,CAAC,6BAAsB,SAAS,iBAAO,QAAQ,CAAE,CAAC,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP;;OAEG;IACH,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,WAAsB,EAAE,WAA4B;QACnD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CACV,wDAAiD,WAAW,CAAE,CAC/D,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,mBAAmB;YACrB,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAC,UAAU;gBACvC,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oBAChD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC;gBAE9B,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;oBACzB,OAAO,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,CAAC,CACxD,CAAC;IAEF;;OAEG;IACH,IAAM,UAAU,GAAG,WAAW,CAC5B,UACE,WAAsB,EACtB,cAA6C;QAA7C,+BAAA,EAAA,mBAA6C;QAE7C,mEAAmE;QACnE,IAAI,WAAW,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CACV,uDAA2C,eAAe,CAAC,QAAQ,CAAC,MAAG,CACxE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,wBAAO,OAAO,GAAK,cAAc,EAAG,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CACT,0BAAmB,KAAK,iBAAO,WAAW,oBAAiB,CAC5D,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,uBAAuB;QACvB,UAAU,CAAC,UAAC,WAAW;YACrB,6BAAY,WAAW,GAAK,cAAc,EAAG;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,6BAAsB,KAAK,iBAAO,WAAW,CAAE,CAAC,CAAC;QAC9D,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtB,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAC9E,CAAC;IAIF;;OAEG;IACH,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,OAAiC;QAChC,4BAA4B;QAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,UAAU,CAAC,UAAC,WAAW;YACrB,4CAA4C;YAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,qCAAqC;YACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAA2C,CAAC,OAAO,CAAC,UAAA,GAAG;gBACzE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,IAAM,UAAU,yBAAQ,WAAW,GAAK,OAAO,CAAE,CAAC;YAClD,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,SAAS,CAAC;QACR,IACE,CAAC,oBAAoB;YACrB,oBAAoB,KAAK,qBAAqB,CAAC,OAAO,EACtD,CAAC;YACD,OAAO;QACT,CAAC;QAED,qBAAqB,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAErD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,IAAM,WAAW,yBACZ,kBAAkB,KACrB,cAAc,EAAE,IAAI,EACpB,gBAAgB,EAAE,IAAI,EACtB,iBAAiB,EAAE,IAAI,GACxB,CAAC;QAEF,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;QACrC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACpC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,qFAAqF;IACrF,SAAS,CAAC;QACR,IAAM,WAAW,GACf,QAAQ,KAAK,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEpF,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,IAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;YACxC,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;YACrC,UAAU,CAAC,WAAW,CAAC,CAAC;YACxB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CACV,+BAAwB,eAAe,CAAC,QAAQ,CAAC,qBAAM,WAAW,CAAC,KAAK,CAAE,CAC3E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;YACjC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC/B,cAAc,CAAC,OAAO,GAAG,kBAAkB,CAAC;YAC5C,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAGf,2BAA2B;IAC3B,IAAM,YAAY,GAA0B;QAC1C,KAAK,OAAA;QACL,OAAO,SAAA;QACP,SAAS,WAAA;QACT,eAAe,iBAAA;QACf,UAAU,YAAA;QACV,aAAa,eAAA;KACd,CAAC;IAIF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC3C,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG;IACjC,IAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { FlowContext as FlowContextType, FlowState, initialFlowContext } from '../types';\nimport { STATE_TRANSITIONS } from '../constants';\nimport { logger } from '../../../utils/logger';\nimport { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { SolanaNetwork } from '../../../config/solana';\n\nconst buildDebugContext = (overrides: Partial<FlowContextType> = {}) => ({\n ...initialFlowContext,\n ...overrides,\n});\n\nconst DEBUG_VIEW_TO_FLOW: Partial<\n Record<N1ModalViewMode, { state: FlowState; context: FlowContextType }>\n> = {\n [N1ModalViewMode.Connect]: {\n state: FlowState.CONNECTING_WALLET,\n context: buildDebugContext(),\n },\n [N1ModalViewMode.ChainSelection]: {\n state: FlowState.CHAIN_SELECTION,\n context: buildDebugContext({ selectedChain: null }),\n },\n [N1ModalViewMode.CreateSession]: {\n state: FlowState.AUTH_LOADING,\n context: buildDebugContext({ hasNordAccount: true, hasActiveSession: false }),\n },\n [N1ModalViewMode.Signing]: {\n state: FlowState.DEPOSIT_PROGRESS,\n context: buildDebugContext({ hasNordAccount: false, hasActiveSession: false }),\n },\n [N1ModalViewMode.CreatingUser]: {\n state: FlowState.AMOUNT_INPUT,\n context: buildDebugContext({ hasNordAccount: false, hasActiveSession: false }),\n },\n [N1ModalViewMode.DepositSuccess]: {\n state: FlowState.DEPOSIT_SUCCESS,\n context: buildDebugContext({\n hasNordAccount: true,\n hasActiveSession: true,\n selectedChain: 'solana-mainnet',\n selectedChainId: 'solana',\n selectedChainNetwork: SolanaNetwork.MAINNET,\n amount: '1,250',\n transactionId: 'debug-tx-12345',\n }),\n },\n};\n\n// Define the shape of the context value\nexport interface FlowStateContextValue {\n state: FlowState;\n context: FlowContextType;\n isClosing: boolean;\n isDebugOverride: boolean;\n transition: (targetState: FlowState, contextUpdates?: Partial<FlowContextType>) => boolean;\n updateContext: (updates: Partial<FlowContextType>) => void;\n}\n\n// Create the context with a default value\nconst FlowStateContext = createContext<FlowStateContextValue | undefined>(undefined);\n\n// Props for the provider component\ninterface FlowStateProviderProps {\n children: React.ReactNode;\n}\n\n/**\n * Provider component for the flow state context\n */\nexport const FlowStateProvider: React.FC<FlowStateProviderProps> = ({\n children,\n}) => {\n // Flow state\n const [state, setState] = useState<FlowState>(FlowState.CONNECTING_WALLET);\n const [context, setContext] = useState<FlowContextType>(initialFlowContext);\n const [isClosing, setIsClosing] = useState(false);\n const [isDebugOverride, setIsDebugOverride] = useState(false);\n\n const { nordUser, viewMode } = useN1WalletContext();\n const { dynamicSdkHasLoaded, depositFlowRequestId } = useN1WalletInternalContext();\n const prevContextRef = useRef<FlowContextType>(initialFlowContext);\n const debugOverrideRef = useRef(false);\n const lastDepositRequestRef = useRef(0);\n\n\n // Default handlers\n const handleStateChange = useCallback((newState: FlowState, currState: FlowState | null) => {\n logger.debug(`State changed from ${currState} to ${newState}`);\n }, []);\n /**\n * Check if a transition is allowed based on current state and context\n */\n const canTransition = useCallback(\n (targetState: FlowState, contextData: FlowContextType): boolean => {\n if (isDebugOverride) {\n logger.debug(\n `Debug override active; blocking transition to ${targetState}`\n );\n return false;\n }\n\n if (dynamicSdkHasLoaded)\n return STATE_TRANSITIONS.some((transition) => {\n const fromMatches = Array.isArray(transition.from)\n ? transition.from.includes(state)\n : transition.from === state;\n\n if (!fromMatches || transition.to !== targetState) {\n return false;\n }\n\n if (transition.condition) {\n return transition.condition(contextData);\n }\n\n return true;\n });\n return false;\n },\n [state, nordUser, dynamicSdkHasLoaded, isDebugOverride]\n );\n\n /**\n * Transition to a new state if allowed\n */\n const transition = useCallback(\n (\n targetState: FlowState,\n contextUpdates: Partial<FlowContextType> = {}\n ): boolean => {\n // Skip if we're already in the target state and no context updates\n if (targetState === state && Object.keys(contextUpdates).length === 0) {\n return true;\n }\n\n if (isDebugOverride) {\n logger.debug(\n `Transition suppressed (debug override → ${N1ModalViewMode[viewMode]})`\n );\n return false;\n }\n\n if (!canTransition(targetState, { ...context, ...contextUpdates })) {\n logger.warn(\n `Transition from ${state} to ${targetState} is not allowed`\n );\n return false;\n }\n\n\n // Update context first\n setContext((prevContext) => {\n return { ...prevContext, ...contextUpdates };\n });\n\n logger.debug(`Transitioning from ${state} to ${targetState}`);\n setState(targetState);\n\n handleStateChange(targetState, state);\n return true;\n },\n [canTransition, state, context, handleStateChange, isDebugOverride, viewMode]\n );\n\n\n\n /**\n * Update context without state transition\n */\n const updateContext = useCallback(\n (updates: Partial<FlowContextType>) => {\n // Skip if no actual updates\n if (Object.keys(updates).length === 0) {\n return;\n }\n\n setContext((prevContext) => {\n // Check if any values are actually changing\n let hasChanges = false;\n\n // Type-safe way to check for changes\n (Object.keys(updates) as Array<keyof Partial<FlowContextType>>).forEach(key => {\n if (updates[key] !== prevContext[key]) {\n hasChanges = true;\n }\n });\n\n // If nothing is changing, return the previous context\n if (!hasChanges) {\n return prevContext;\n }\n\n const newContext = { ...prevContext, ...updates };\n prevContextRef.current = newContext;\n return newContext;\n });\n },\n [state]\n );\n\n useEffect(() => {\n if (\n !depositFlowRequestId ||\n depositFlowRequestId === lastDepositRequestRef.current\n ) {\n return;\n }\n\n lastDepositRequestRef.current = depositFlowRequestId;\n\n if (!nordUser || !nordUser.sessionId) {\n logger.warn('Ignoring deposit flow request without an active Nord session');\n return;\n }\n\n const nextContext: FlowContextType = {\n ...initialFlowContext,\n hasNordAccount: true,\n hasActiveSession: true,\n isDepositOnlyFlow: true,\n };\n\n prevContextRef.current = nextContext;\n setIsDebugOverride(false);\n setContext(nextContext);\n setState(FlowState.CHAIN_SELECTION);\n setIsClosing(false);\n logger.debug('Deposit-only flow activated');\n }, [depositFlowRequestId, nordUser]);\n\n // Debug-only: allow external callers (e.g. UI playground) to jump to a specific view\n useEffect(() => {\n const debugTarget =\n viewMode === N1ModalViewMode.Automatic ? undefined : DEBUG_VIEW_TO_FLOW[viewMode];\n\n if (debugTarget) {\n debugOverrideRef.current = true;\n setIsDebugOverride(true);\n const nextContext = debugTarget.context;\n prevContextRef.current = nextContext;\n setContext(nextContext);\n setState(debugTarget.state);\n logger.debug(\n `Debug view override: ${N1ModalViewMode[viewMode]} → ${debugTarget.state}`\n );\n return;\n }\n\n if (debugOverrideRef.current) {\n debugOverrideRef.current = false;\n setIsDebugOverride(false);\n setContext(initialFlowContext);\n prevContextRef.current = initialFlowContext;\n setState(FlowState.CONNECTING_WALLET);\n logger.debug('Debug view override cleared; returning to state machine');\n }\n }, [viewMode]);\n\n\n // Create the context value\n const contextValue: FlowStateContextValue = {\n state,\n context,\n isClosing,\n isDebugOverride,\n transition,\n updateContext,\n };\n\n\n\n return (\n <FlowStateContext.Provider value={contextValue}>\n {children}\n </FlowStateContext.Provider>\n );\n};\n\n/**\n * Custom hook to use the flow state context\n * @returns The flow state context value\n * @throws Error if used outside of a FlowStateProvider\n */\nexport const useFlowStateContext = (): FlowStateContextValue => {\n const context = useContext(FlowStateContext);\n\n if (context === undefined) {\n throw new Error('useFlowStateContext must be used within a FlowStateProvider');\n }\n\n return context;\n};\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface NordProviderProps {
|
|
3
|
-
children: React.ReactNode;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* A provider component that combines FlowStateProvider, WalletConnectProvider, and DepositProvider
|
|
7
|
-
* into a single wrapper component for easier implementation.
|
|
8
|
-
*/
|
|
9
|
-
export declare const NordProvider: React.FC<NordProviderProps>;
|
|
10
|
-
export default NordProvider;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { FlowStateProvider } from './FlowContext';
|
|
3
|
-
import { WalletConnectProvider } from './WalletConnectContext';
|
|
4
|
-
import { DepositProvider } from './DepositContext';
|
|
5
|
-
/**
|
|
6
|
-
* A provider component that combines FlowStateProvider, WalletConnectProvider, and DepositProvider
|
|
7
|
-
* into a single wrapper component for easier implementation.
|
|
8
|
-
*/
|
|
9
|
-
export var NordProvider = function (_a) {
|
|
10
|
-
var children = _a.children;
|
|
11
|
-
return (_jsx(FlowStateProvider, { children: _jsx(WalletConnectProvider, { children: _jsx(DepositProvider, { children: children }) }) }));
|
|
12
|
-
};
|
|
13
|
-
export default NordProvider;
|
|
14
|
-
//# sourceMappingURL=NordProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NordProvider.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/context/NordProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;;GAGG;AACH,MAAM,CAAC,IAAM,YAAY,GAAgC,UAAC,EAAY;QAAV,QAAQ,cAAA;IAClE,OAAO,CACL,KAAC,iBAAiB,cAChB,KAAC,qBAAqB,cACpB,KAAC,eAAe,cACb,QAAQ,GACO,GACI,GACN,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import React from 'react';\nimport { FlowStateProvider } from './FlowContext';\nimport { WalletConnectProvider } from './WalletConnectContext';\nimport { DepositProvider } from './DepositContext';\n\ninterface NordProviderProps {\n children: React.ReactNode;\n}\n\n/**\n * A provider component that combines FlowStateProvider, WalletConnectProvider, and DepositProvider\n * into a single wrapper component for easier implementation.\n */\nexport const NordProvider: React.FC<NordProviderProps> = ({ children }) => {\n return (\n <FlowStateProvider>\n <WalletConnectProvider>\n <DepositProvider>\n {children}\n </DepositProvider>\n </WalletConnectProvider>\n </FlowStateProvider>\n );\n};\n\nexport default NordProvider; "]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface WalletConnectContextValue {
|
|
3
|
-
isConnecting: boolean;
|
|
4
|
-
connectWallet: () => Promise<void>;
|
|
5
|
-
disconnectWallet: () => void;
|
|
6
|
-
}
|
|
7
|
-
interface WalletConnectProviderProps {
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Provider component for the wallet connect context
|
|
12
|
-
*/
|
|
13
|
-
export declare const WalletConnectProvider: React.FC<WalletConnectProviderProps>;
|
|
14
|
-
/**
|
|
15
|
-
* Custom hook to use the wallet connect context
|
|
16
|
-
* @returns The wallet connect context value
|
|
17
|
-
* @throws Error if used outside of a WalletConnectProvider
|
|
18
|
-
*/
|
|
19
|
-
export declare const useWalletConnectContext: () => WalletConnectContextValue;
|
|
20
|
-
export {};
|
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
38
|
-
import { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
39
|
-
import { useN1WalletContext, useN1WalletInternalContext } from '../../../Provider/hooks';
|
|
40
|
-
import { logger } from '../../../utils/logger';
|
|
41
|
-
import { removeKeysFromLocalStorage } from '../../../Logic/utils';
|
|
42
|
-
import { FLOW_STATE_STORAGE_KEY } from '../constants';
|
|
43
|
-
import { FlowState, initialFlowContext } from '../types';
|
|
44
|
-
import { useFlowStateContext } from './FlowContext';
|
|
45
|
-
import { readLastDepositRecord } from '../utils/depositStorage';
|
|
46
|
-
// Create the context with a default value
|
|
47
|
-
var WalletConnectContext = createContext(undefined);
|
|
48
|
-
/**
|
|
49
|
-
* Provider component for the wallet connect context
|
|
50
|
-
*/
|
|
51
|
-
export var WalletConnectProvider = function (_a) {
|
|
52
|
-
var children = _a.children;
|
|
53
|
-
var _b = useN1WalletContext(), nord = _b.nord, nordUser = _b.nordUser, address = _b.address;
|
|
54
|
-
var _c = useN1WalletInternalContext(), showDynamicWidget = _c.showDynamicWidget, dynamicWallet = _c.dynamicWallet, setIsConnected = _c.setIsConnected, dynamicSdkHasLoaded = _c.dynamicSdkHasLoaded;
|
|
55
|
-
var dynamicHandleLogOut = useN1WalletInternalContext().dynamicHandleLogOut;
|
|
56
|
-
// Get flow context
|
|
57
|
-
var _d = useFlowStateContext(), state = _d.state, context = _d.context, transition = _d.transition, updateContext = _d.updateContext;
|
|
58
|
-
var _e = useState(false), isConnecting = _e[0], setIsConnecting = _e[1];
|
|
59
|
-
// Use refs to track previous values
|
|
60
|
-
var processedWalletAddressRef = useRef(null);
|
|
61
|
-
var prevNordUserRef = useRef(nordUser);
|
|
62
|
-
var prevStateRef = useRef(state);
|
|
63
|
-
var clearWalletCache = useCallback(function () {
|
|
64
|
-
if (typeof window === 'undefined') {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
try {
|
|
68
|
-
if (address) {
|
|
69
|
-
var sessionIdKey = "n1_sessionId_".concat(address);
|
|
70
|
-
window.localStorage.removeItem(sessionIdKey);
|
|
71
|
-
removeKeysFromLocalStorage(address);
|
|
72
|
-
}
|
|
73
|
-
window.localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
|
|
74
|
-
updateContext(initialFlowContext);
|
|
75
|
-
logger.debug('Cleared wallet cache for address', { address: address });
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
logger.warn('Failed to clear wallet cache', error);
|
|
79
|
-
}
|
|
80
|
-
}, [address, updateContext]);
|
|
81
|
-
/**
|
|
82
|
-
* Disconnect wallet
|
|
83
|
-
*/
|
|
84
|
-
var disconnectWallet = useCallback(function () {
|
|
85
|
-
logger.debug('Disconnecting wallet');
|
|
86
|
-
try {
|
|
87
|
-
clearWalletCache();
|
|
88
|
-
dynamicHandleLogOut === null || dynamicHandleLogOut === void 0 ? void 0 : dynamicHandleLogOut();
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
logger.warn('Error during wallet disconnect', error);
|
|
92
|
-
}
|
|
93
|
-
processedWalletAddressRef.current = null;
|
|
94
|
-
window.location.reload();
|
|
95
|
-
}, [clearWalletCache, dynamicHandleLogOut]);
|
|
96
|
-
/**
|
|
97
|
-
* Connect wallet using Dynamic widget
|
|
98
|
-
*/
|
|
99
|
-
var connectWallet = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
100
|
-
var error_1;
|
|
101
|
-
return __generator(this, function (_a) {
|
|
102
|
-
switch (_a.label) {
|
|
103
|
-
case 0:
|
|
104
|
-
if (isConnecting || !showDynamicWidget || !dynamicSdkHasLoaded)
|
|
105
|
-
return [2 /*return*/];
|
|
106
|
-
setIsConnecting(true);
|
|
107
|
-
logger.debug('Starting wallet connection process');
|
|
108
|
-
_a.label = 1;
|
|
109
|
-
case 1:
|
|
110
|
-
_a.trys.push([1, 3, , 4]);
|
|
111
|
-
return [4 /*yield*/, showDynamicWidget(true)];
|
|
112
|
-
case 2:
|
|
113
|
-
_a.sent();
|
|
114
|
-
logger.debug('Dynamic widget shown');
|
|
115
|
-
return [3 /*break*/, 4];
|
|
116
|
-
case 3:
|
|
117
|
-
error_1 = _a.sent();
|
|
118
|
-
setIsConnecting(false);
|
|
119
|
-
logger.error('Error showing Dynamic widget:', error_1);
|
|
120
|
-
return [3 /*break*/, 4];
|
|
121
|
-
case 4: return [2 /*return*/];
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}); }, [isConnecting, showDynamicWidget, dynamicSdkHasLoaded]);
|
|
125
|
-
// Process nordUser changes
|
|
126
|
-
useEffect(function () {
|
|
127
|
-
if (!dynamicSdkHasLoaded)
|
|
128
|
-
return;
|
|
129
|
-
// If the wallet is connected but NordUser hasn't been created yet,
|
|
130
|
-
// move the flow forward so the user can continue with onboarding.
|
|
131
|
-
if (dynamicWallet && !nordUser) {
|
|
132
|
-
logger.debug('Dynamic wallet detected but NordUser not ready yet, moving to chain selection flow');
|
|
133
|
-
updateContext({
|
|
134
|
-
hasNordAccount: false,
|
|
135
|
-
hasActiveSession: false,
|
|
136
|
-
});
|
|
137
|
-
if (state === FlowState.CONNECTING_WALLET) {
|
|
138
|
-
// Only force the transition while we are still on the initial connect screen
|
|
139
|
-
try {
|
|
140
|
-
var lastDepositRecord = context.isDepositOnlyFlow
|
|
141
|
-
? null
|
|
142
|
-
: readLastDepositRecord(dynamicWallet.address);
|
|
143
|
-
if (lastDepositRecord) {
|
|
144
|
-
transition(FlowState.DEPOSIT_SUCCESS, {
|
|
145
|
-
hasNordAccount: true,
|
|
146
|
-
hasActiveSession: false,
|
|
147
|
-
selectedChain: lastDepositRecord.chainName,
|
|
148
|
-
selectedChainId: lastDepositRecord.chainId,
|
|
149
|
-
selectedChainNetwork: lastDepositRecord.chainNetwork,
|
|
150
|
-
transactionId: lastDepositRecord.transactionId,
|
|
151
|
-
amount: lastDepositRecord.amount,
|
|
152
|
-
lastDeposit: lastDepositRecord,
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
transition(FlowState.CHAIN_SELECTION, {
|
|
157
|
-
hasNordAccount: false,
|
|
158
|
-
hasActiveSession: false,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
logger.error('Error transitioning while waiting for NordUser:', error);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
setIsConnecting(false);
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
var currentNordUser = nordUser;
|
|
170
|
-
var prevNordUser = prevNordUserRef.current;
|
|
171
|
-
// Only run if nordUser has changed and we have processed a wallet
|
|
172
|
-
if (currentNordUser && currentNordUser !== prevNordUser && dynamicWallet) {
|
|
173
|
-
logger.debug('NordUser changed, checking account status');
|
|
174
|
-
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
175
|
-
var nordAccount, hasNordAccount_1, sessionId, hasActiveSession_1, transitionDestination_1, error_2;
|
|
176
|
-
return __generator(this, function (_a) {
|
|
177
|
-
switch (_a.label) {
|
|
178
|
-
case 0:
|
|
179
|
-
_a.trys.push([0, 2, , 3]);
|
|
180
|
-
return [4 /*yield*/, nord.getUser({ pubkey: dynamicWallet.address })];
|
|
181
|
-
case 1:
|
|
182
|
-
nordAccount = _a.sent();
|
|
183
|
-
hasNordAccount_1 = nordAccount != null;
|
|
184
|
-
sessionId = currentNordUser.sessionId;
|
|
185
|
-
hasActiveSession_1 = sessionId != null;
|
|
186
|
-
updateContext({ hasNordAccount: hasNordAccount_1, hasActiveSession: hasActiveSession_1 });
|
|
187
|
-
transitionDestination_1 = hasNordAccount_1
|
|
188
|
-
? sessionId != null
|
|
189
|
-
? FlowState.FINAL_SUCCESS
|
|
190
|
-
: FlowState.AUTH_LOADING
|
|
191
|
-
: FlowState.CHAIN_SELECTION;
|
|
192
|
-
if (hasNordAccount_1 && sessionId != null) {
|
|
193
|
-
setIsConnected(true);
|
|
194
|
-
}
|
|
195
|
-
// Force a small delay to ensure UI updates properly
|
|
196
|
-
setTimeout(function () {
|
|
197
|
-
try {
|
|
198
|
-
logger.debug('Attempting transition to ' + transitionDestination_1);
|
|
199
|
-
transition(transitionDestination_1, {
|
|
200
|
-
hasNordAccount: hasNordAccount_1,
|
|
201
|
-
hasActiveSession: hasActiveSession_1,
|
|
202
|
-
});
|
|
203
|
-
logger.debug('Transition to ' + transitionDestination_1 + ' completed');
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
logger.error('Error during transition:', error);
|
|
207
|
-
}
|
|
208
|
-
finally {
|
|
209
|
-
setIsConnecting(false);
|
|
210
|
-
}
|
|
211
|
-
}, 100);
|
|
212
|
-
return [3 /*break*/, 3];
|
|
213
|
-
case 2:
|
|
214
|
-
error_2 = _a.sent();
|
|
215
|
-
logger.error('Error checking account status:', error_2);
|
|
216
|
-
setIsConnecting(false);
|
|
217
|
-
return [3 /*break*/, 3];
|
|
218
|
-
case 3: return [2 /*return*/];
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}); })();
|
|
222
|
-
}
|
|
223
|
-
// Update ref so we don't re-run unless nordUser changes again
|
|
224
|
-
prevNordUserRef.current = currentNordUser;
|
|
225
|
-
}, [
|
|
226
|
-
nordUser,
|
|
227
|
-
dynamicWallet,
|
|
228
|
-
updateContext,
|
|
229
|
-
transition,
|
|
230
|
-
setIsConnected,
|
|
231
|
-
state,
|
|
232
|
-
dynamicSdkHasLoaded,
|
|
233
|
-
context.isDepositOnlyFlow,
|
|
234
|
-
]);
|
|
235
|
-
// Handle connecting state changes in a separate effect
|
|
236
|
-
useEffect(function () {
|
|
237
|
-
var currentState = state;
|
|
238
|
-
var prevState = prevStateRef.current;
|
|
239
|
-
// Only run if state has changed
|
|
240
|
-
if (currentState !== prevState) {
|
|
241
|
-
if (currentState !== FlowState.CONNECTING_WALLET && isConnecting) {
|
|
242
|
-
// If we're no longer in the connecting state, reset the connecting flag
|
|
243
|
-
setIsConnecting(false);
|
|
244
|
-
}
|
|
245
|
-
// Update ref
|
|
246
|
-
prevStateRef.current = currentState;
|
|
247
|
-
}
|
|
248
|
-
}, [state, isConnecting]);
|
|
249
|
-
// Create the context value
|
|
250
|
-
var contextValue = {
|
|
251
|
-
isConnecting: isConnecting,
|
|
252
|
-
connectWallet: connectWallet,
|
|
253
|
-
disconnectWallet: disconnectWallet,
|
|
254
|
-
};
|
|
255
|
-
return (_jsx(WalletConnectContext.Provider, { value: contextValue, children: children }));
|
|
256
|
-
};
|
|
257
|
-
/**
|
|
258
|
-
* Custom hook to use the wallet connect context
|
|
259
|
-
* @returns The wallet connect context value
|
|
260
|
-
* @throws Error if used outside of a WalletConnectProvider
|
|
261
|
-
*/
|
|
262
|
-
export var useWalletConnectContext = function () {
|
|
263
|
-
var context = useContext(WalletConnectContext);
|
|
264
|
-
if (context === undefined) {
|
|
265
|
-
throw new Error('useWalletConnectContext must be used within a WalletConnectProvider');
|
|
266
|
-
}
|
|
267
|
-
return context;
|
|
268
|
-
};
|
|
269
|
-
//# sourceMappingURL=WalletConnectContext.js.map
|