@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
package/README.md
CHANGED
|
@@ -1,288 +1,197 @@
|
|
|
1
1
|
# N1 Wallet Widget
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`@n1xyz/wallet-widget` is the Nord-only wallet modal, deposit flow, and React context that powers N1 applications. Drop the provider at the root of your app and you get connection UX, session management, deposit orchestration, and signing utilities with no extra wiring.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Highlights
|
|
6
|
+
- Full Nord onboarding flow (connect wallet → choose chain → fund → authenticate) with automatic error handling
|
|
7
|
+
- `N1ConnectButton`, hooks, and context helpers for driving the modal or building custom UI
|
|
8
|
+
- Shadow DOM + embedded Tailwind CSS keep widget styles isolated while still allowing brand overrides
|
|
9
|
+
- Ships with a Next.js playground for iterating locally before consuming the published package
|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
- Session management (Nord mode)
|
|
9
|
-
- Transaction signing
|
|
10
|
-
- Message signing
|
|
11
|
-
- Balance display
|
|
12
|
-
- Error handling
|
|
13
|
-
- Dark/light mode support
|
|
14
|
-
- Customizable UI
|
|
15
|
-
|
|
16
|
-
> **Note:** As of this release the NTS flow and related SDK have been removed. The widget now targets the Nord experience exclusively.
|
|
17
|
-
|
|
18
|
-
## Installation
|
|
11
|
+
## Install
|
|
19
12
|
|
|
20
13
|
```bash
|
|
21
|
-
|
|
14
|
+
pnpm add @n1xyz/wallet-widget @n1xyz/nord-ts @solana/web3.js
|
|
22
15
|
# or
|
|
23
|
-
|
|
16
|
+
npm install @n1xyz/wallet-widget @n1xyz/nord-ts @solana/web3.js
|
|
24
17
|
```
|
|
25
18
|
|
|
26
|
-
##
|
|
19
|
+
## Configure Nord
|
|
20
|
+
|
|
21
|
+
- Create a `Nord` client with the same RPC + web server URLs you use in production.
|
|
22
|
+
- Common environment variables:
|
|
23
|
+
- `NEXT_PUBLIC_NORD_SOLANA_URL`
|
|
24
|
+
- `NEXT_PUBLIC_NORD_WEB_SERVER_URL`
|
|
25
|
+
- `NEXT_PUBLIC_NORD_BRIDGE_VK`
|
|
26
|
+
- The widget currently exposes `N1SessionMode.Nord` only. Other modes are ignored.
|
|
27
|
+
|
|
28
|
+
## Quick start
|
|
27
29
|
|
|
28
|
-
```
|
|
30
|
+
```tsx
|
|
29
31
|
import { useEffect, useState } from 'react';
|
|
30
32
|
import { Connection } from '@solana/web3.js';
|
|
31
|
-
import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
|
|
32
33
|
import { Nord } from '@n1xyz/nord-ts';
|
|
34
|
+
import {
|
|
35
|
+
N1ConnectButton,
|
|
36
|
+
N1WalletProvider,
|
|
37
|
+
N1SessionMode,
|
|
38
|
+
} from '@n1xyz/wallet-widget';
|
|
33
39
|
|
|
34
|
-
function
|
|
35
|
-
const [nord, setNord] = useState(null);
|
|
40
|
+
export function AppShell({ children }: { children: React.ReactNode }) {
|
|
41
|
+
const [nord, setNord] = useState<Nord | null>(null);
|
|
36
42
|
|
|
37
43
|
useEffect(() => {
|
|
38
44
|
let cancelled = false;
|
|
39
|
-
|
|
40
|
-
async function initNord() {
|
|
45
|
+
(async () => {
|
|
41
46
|
const client = await Nord.new({
|
|
42
|
-
webServerUrl:
|
|
43
|
-
solanaConnection: new Connection(
|
|
44
|
-
app:
|
|
47
|
+
webServerUrl: process.env.NEXT_PUBLIC_NORD_WEB_SERVER_URL!,
|
|
48
|
+
solanaConnection: new Connection(process.env.NEXT_PUBLIC_NORD_SOLANA_URL!),
|
|
49
|
+
app: process.env.NEXT_PUBLIC_NORD_BRIDGE_VK!,
|
|
45
50
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
setNord(client);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
initNord();
|
|
51
|
+
if (!cancelled) setNord(client);
|
|
52
|
+
})();
|
|
53
53
|
return () => {
|
|
54
54
|
cancelled = true;
|
|
55
55
|
};
|
|
56
56
|
}, []);
|
|
57
57
|
|
|
58
|
-
if (!nord)
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
58
|
+
if (!nord) return null;
|
|
61
59
|
|
|
62
60
|
return (
|
|
63
|
-
<N1WalletProvider
|
|
64
|
-
providedSessionMode={N1SessionMode.Nord}
|
|
65
|
-
appId="your-app-id"
|
|
61
|
+
<N1WalletProvider
|
|
62
|
+
providedSessionMode={N1SessionMode.Nord}
|
|
66
63
|
nord={nord}
|
|
64
|
+
onError={(error) => console.error('[wallet]', error)}
|
|
67
65
|
>
|
|
68
|
-
|
|
66
|
+
<N1ConnectButton label="Launch Nord Wallet" />
|
|
67
|
+
{children}
|
|
69
68
|
</N1WalletProvider>
|
|
70
69
|
);
|
|
71
70
|
}
|
|
72
71
|
```
|
|
73
72
|
|
|
74
|
-
##
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
73
|
+
## Provider props
|
|
74
|
+
|
|
75
|
+
| Prop | Type | Required | Description |
|
|
76
|
+
|------|------|----------|-------------|
|
|
77
|
+
| `children` | `React.ReactNode` | ✅ | Your application tree. |
|
|
78
|
+
| `providedSessionMode` | `N1SessionMode` | ✅ | Pass `N1SessionMode.Nord`; any other value is ignored. |
|
|
79
|
+
| `nord` | `Nord \| null` | ✅ | Initialized Nord client instance. |
|
|
80
|
+
| `onError` | `(error: WalletError) => void` | – | Surface widget errors to your own logger or telemetry. |
|
|
81
|
+
| `colorOverrides` | `{ color: string; replacement: string; }[]` | – | Replace CSS colors without ejecting styles. The comparison is case-insensitive. |
|
|
82
|
+
| `skipFinalScreen` | `boolean` | – | When `true`, the modal closes immediately after the success step so you can show your own confirmation UI. |
|
|
83
|
+
|
|
84
|
+
## Accessing wallet state
|
|
85
|
+
|
|
86
|
+
`useN1WalletContext()` exposes the most relevant data and helpers:
|
|
87
|
+
|
|
88
|
+
| Field | Type | Notes |
|
|
89
|
+
|-------|------|-------|
|
|
90
|
+
| `address`, `chain`, `username` | `string` | Empty when the user is not connected. |
|
|
91
|
+
| `balances` | `Balance[]` | `balance` is a `bigint`. Convert to string before serialising. |
|
|
92
|
+
| `isConnected`, `showLogin`, `viewMode` | `boolean \| N1ModalViewMode` | Track UI state. |
|
|
93
|
+
| `nordUser` | `NordUser \| null` | Use for authenticated Nord calls (trading, withdrawals, etc.). |
|
|
94
|
+
| `setShowLogin()` | `(show: boolean) => void` | Opens or closes the modal. |
|
|
95
|
+
| `startDepositFlow()` | `() => boolean` | Jumps straight into chain selection + deposit for authenticated users. |
|
|
96
|
+
| `setViewMode()` | `(mode: N1ModalViewMode) => void` | Force the modal to render a specific screen (useful for QA). |
|
|
97
|
+
| `signMessageWithSessionKey`, `signMessageWithWalletKey`, `signTransactionWithWalletKey` | functions \| `null` | Populated after the user connects. |
|
|
98
|
+
| `disconnectWallet()` | `() => void` | Logs the user out of the Dynamic session and clears state. |
|
|
87
99
|
|
|
88
|
-
```
|
|
100
|
+
```tsx
|
|
89
101
|
import { useN1WalletContext } from '@n1xyz/wallet-widget';
|
|
90
102
|
|
|
91
|
-
function
|
|
92
|
-
const {
|
|
93
|
-
address,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
export function AccountBadge() {
|
|
104
|
+
const {
|
|
105
|
+
address,
|
|
106
|
+
balances,
|
|
107
|
+
isConnected,
|
|
108
|
+
setShowLogin,
|
|
109
|
+
disconnectWallet,
|
|
98
110
|
} = useN1WalletContext();
|
|
99
111
|
|
|
112
|
+
if (!isConnected) {
|
|
113
|
+
return <button onClick={() => setShowLogin(true)}>Connect</button>;
|
|
114
|
+
}
|
|
115
|
+
|
|
100
116
|
return (
|
|
101
117
|
<div>
|
|
102
|
-
{
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<p>Address: {address}</p>
|
|
106
|
-
<p>Balances: {balances.map(b => `${b.balance} ${b.appType}`).join(', ')}</p>
|
|
107
|
-
</>
|
|
108
|
-
) : (
|
|
109
|
-
<button onClick={() => setShowLogin(true)}>Connect Wallet</button>
|
|
110
|
-
)}
|
|
118
|
+
<span>{address}</span>
|
|
119
|
+
<span>{Number(balances[0]?.balance ?? 0n)} {balances[0]?.appType}</span>
|
|
120
|
+
<button onClick={disconnectWallet}>Sign out</button>
|
|
111
121
|
</div>
|
|
112
122
|
);
|
|
113
123
|
}
|
|
114
124
|
```
|
|
115
125
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
```jsx
|
|
119
|
-
import { useN1WalletContext } from '@n1xyz/wallet-widget';
|
|
120
|
-
|
|
121
|
-
function SigningExample() {
|
|
122
|
-
const {
|
|
123
|
-
signMessageWithSessionKey,
|
|
124
|
-
signMessageWithWalletKey,
|
|
125
|
-
signTransactionWithWalletKey
|
|
126
|
-
} = useN1WalletContext();
|
|
127
|
-
|
|
128
|
-
const handleSignMessage = async () => {
|
|
129
|
-
if (signMessageWithSessionKey) {
|
|
130
|
-
const message = { content: "Hello, world!" };
|
|
131
|
-
const signature = await signMessageWithSessionKey(message);
|
|
132
|
-
console.log("Signature:", signature);
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
return (
|
|
137
|
-
<button onClick={handleSignMessage}>Sign Message</button>
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
```
|
|
126
|
+
## Modal controls & deposit flow
|
|
141
127
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
When a user already has an authenticated Nord session you can bypass the connection/auth screens and jump straight into the deposit experience (chain selection → amount → progress → success) by calling `startDepositFlow()`:
|
|
128
|
+
You can script the modal without touching internals:
|
|
145
129
|
|
|
146
130
|
```tsx
|
|
147
|
-
import { useN1WalletContext } from '@n1xyz/wallet-widget';
|
|
131
|
+
import { N1ModalViewMode, useN1WalletContext } from '@n1xyz/wallet-widget';
|
|
148
132
|
|
|
149
|
-
function
|
|
150
|
-
const { startDepositFlow } =
|
|
133
|
+
function DepositCTA() {
|
|
134
|
+
const { isConnected, startDepositFlow, setShowLogin, setViewMode } =
|
|
135
|
+
useN1WalletContext();
|
|
136
|
+
|
|
137
|
+
const open = () => {
|
|
138
|
+
setViewMode(N1ModalViewMode.Automatic);
|
|
139
|
+
setShowLogin(true);
|
|
140
|
+
};
|
|
151
141
|
|
|
152
|
-
const
|
|
142
|
+
const deposit = () => {
|
|
153
143
|
const started = startDepositFlow();
|
|
154
|
-
if (!started)
|
|
155
|
-
console.warn('Unable to start deposit flow until the user is authenticated.');
|
|
156
|
-
}
|
|
144
|
+
if (!started) open();
|
|
157
145
|
};
|
|
158
146
|
|
|
159
147
|
return (
|
|
160
|
-
<button onClick={
|
|
148
|
+
<button onClick={isConnected ? deposit : open}>
|
|
149
|
+
{isConnected ? 'Deposit' : 'Connect'}
|
|
150
|
+
</button>
|
|
161
151
|
);
|
|
162
152
|
}
|
|
163
153
|
```
|
|
164
154
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
## API Reference
|
|
168
|
-
|
|
169
|
-
### N1WalletProvider Props
|
|
170
|
-
|
|
171
|
-
| Prop | Type | Required | Default | Description |
|
|
172
|
-
|---------------------|------------------------------|----------|---------|----------------------------------------|
|
|
173
|
-
| children | React.ReactNode | Yes | - | Child components |
|
|
174
|
-
| providedSessionMode | N1SessionMode | Yes | - | Session mode (Nord only) |
|
|
175
|
-
| appId | string | Yes | - | Your application ID |
|
|
176
|
-
| darkMode | boolean | No | true | Enable dark mode UI |
|
|
177
|
-
| onError | (error: WalletError) => void | No | - | Error handler callback |
|
|
178
|
-
| faucetUrl | string | No | - | URL for faucet service |
|
|
179
|
-
| isTestnet | boolean | No | false | Enable testnet UX (faucet, warnings) |
|
|
180
|
-
| nord | Nord | No | - | Nord instance (required for Nord mode) |
|
|
155
|
+
`N1ModalViewMode` options: `Automatic`, `Connect`, `ChainSelection`, `AmountInput`, `DepositProgress`, `DepositSuccess`, `AuthLoading`, and `Error`. Stick to `Automatic` in production and reserve direct view overrides for testing or debugging.
|
|
181
156
|
|
|
182
|
-
|
|
157
|
+
## Styling & branding
|
|
183
158
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Nord,
|
|
187
|
-
}
|
|
188
|
-
```
|
|
159
|
+
- All widget UI is rendered inside a Shadow DOM root with pre-bundled Tailwind CSS (`src/styles/embedded-main-css.ts`). Your app styles will not leak in.
|
|
160
|
+
- Use `colorOverrides` to patch specific hex/rgb values:
|
|
189
161
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
The context provides the following values:
|
|
193
|
-
|
|
194
|
-
| Property | Type | Description |
|
|
195
|
-
|------------------------------|------------------------------------|----------------------------------|
|
|
196
|
-
| address | string | User's wallet address |
|
|
197
|
-
| appId | string | Application ID |
|
|
198
|
-
| balances | Balance[] | User's token balances |
|
|
199
|
-
| chain | string | Current blockchain |
|
|
200
|
-
| isConnected | boolean | Connection status |
|
|
201
|
-
| sessionMode | N1SessionMode | Current session mode |
|
|
202
|
-
| sessionPubKey | Uint8Array | Session public key |
|
|
203
|
-
| setShowLogin | (show: boolean) => void | Show/hide login modal |
|
|
204
|
-
| startDepositFlow | () => boolean | Start deposit-only flow once authenticated |
|
|
205
|
-
| showLogin | boolean | Login modal visibility state |
|
|
206
|
-
| signMessageWithSessionKey | (message: any) => Promise<any> | Sign message with session key |
|
|
207
|
-
| signMessageWithWalletKey | (message: any) => Promise<any> | Sign message with wallet key |
|
|
208
|
-
| signTransactionWithWalletKey | (transaction: any) => Promise<any> | Sign transaction with wallet key |
|
|
209
|
-
| username | string | User's username |
|
|
210
|
-
| walletPubKey | Uint8Array | Wallet public key |
|
|
211
|
-
| isTestnet | boolean | Indicates if widget runs on testnet |
|
|
212
|
-
|
|
213
|
-
## Error Handling
|
|
214
|
-
|
|
215
|
-
The wallet widget includes a built-in error boundary that catches and processes wallet-related errors. You can provide a custom error handler through the `onError` prop:
|
|
216
|
-
|
|
217
|
-
```jsx
|
|
162
|
+
```tsx
|
|
218
163
|
<N1WalletProvider
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}}
|
|
164
|
+
colorOverrides={[
|
|
165
|
+
{ color: '#ffffff', replacement: '#0c0c0c' },
|
|
166
|
+
{ color: '#ffb347', replacement: '#0a84ff' },
|
|
167
|
+
]}
|
|
168
|
+
{...otherProps}
|
|
225
169
|
>
|
|
226
|
-
|
|
170
|
+
…
|
|
227
171
|
</N1WalletProvider>
|
|
228
172
|
```
|
|
229
173
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
174
|
+
- Additional exports:
|
|
175
|
+
- `N1ConnectButton` – drop-in CTA that follows widget styles and defers modal open until Dynamic loads.
|
|
176
|
+
- `Logo`, `N1LoaderAnimation`, and `ProcessingAnimation` – useful for composing branded fallback UI.
|
|
233
177
|
|
|
234
|
-
|
|
178
|
+
## Example app
|
|
235
179
|
|
|
236
|
-
-
|
|
237
|
-
- inspect live wallet context state across routes;
|
|
238
|
-
- tweak the widget source in `src/` and watch the app hot-reload.
|
|
180
|
+
A ready-to-run Next.js sandbox lives in `examples/nextjs-wallet`.
|
|
239
181
|
|
|
240
182
|
```bash
|
|
241
183
|
pnpm install
|
|
242
184
|
cp examples/nextjs-wallet/.env.local.example examples/nextjs-wallet/.env.local
|
|
243
|
-
pnpm dev
|
|
185
|
+
pnpm --filter wallet-widget-next-example dev
|
|
244
186
|
# open http://localhost:4000
|
|
245
187
|
```
|
|
246
188
|
|
|
247
|
-
|
|
189
|
+
The UI Playground page lets you jump to any modal screen (including deposit success) without wiring backend services.
|
|
248
190
|
|
|
249
|
-
|
|
250
|
-
import { useEffect, useState } from 'react';
|
|
251
|
-
import { Connection } from '@solana/web3.js';
|
|
252
|
-
import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
|
|
253
|
-
import { Nord } from '@n1xyz/nord-ts';
|
|
191
|
+
## Security
|
|
254
192
|
|
|
255
|
-
|
|
256
|
-
const [nord, setNord] = useState(null);
|
|
257
|
-
|
|
258
|
-
useEffect(() => {
|
|
259
|
-
async function initNord() {
|
|
260
|
-
const nordClient = await Nord.new({
|
|
261
|
-
webServerUrl: 'https://your-nord-web-server',
|
|
262
|
-
solanaConnection: new Connection('https://your-solana-rpc'),
|
|
263
|
-
app: 'bridge-verification-key',
|
|
264
|
-
});
|
|
265
|
-
setNord(nordClient);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
initNord();
|
|
269
|
-
}, []);
|
|
270
|
-
|
|
271
|
-
if (!nord) return <div>Loading...</div>;
|
|
272
|
-
|
|
273
|
-
return (
|
|
274
|
-
<N1WalletProvider
|
|
275
|
-
providedSessionMode={N1SessionMode.Nord}
|
|
276
|
-
appId="your-app-id"
|
|
277
|
-
faucetUrl="https://your-faucet-url.com/api/faucet"
|
|
278
|
-
nord={nord}
|
|
279
|
-
>
|
|
280
|
-
<YourApplication />
|
|
281
|
-
</N1WalletProvider>
|
|
282
|
-
);
|
|
283
|
-
}
|
|
284
|
-
```
|
|
193
|
+
All dependencies are pinned. Run `pnpm run security:deps` to verify specifiers and `pnpm run security:audit` for the registry audit before publishing. `pnpm run setup:hooks` installs a pre-commit hook that runs both checks (set `SKIP_SECURITY_AUDIT=1` when you are offline).
|
|
285
194
|
|
|
286
195
|
## License
|
|
287
196
|
|
|
288
|
-
[
|
|
197
|
+
Use of the widget is governed by the proprietary N1 Labs license found in [`LICENSE`](LICENSE). Reach out to `legal@n1.xyz` for questions about redistribution.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../src/components/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,6EAA6E,GAAO,GAC/F,CACP,EAJ8C,CAI9C,CAAC","sourcesContent":["import React from 'react';\n\nexport const LoadingFallback: React.FC = () => (\n <div className=\"flex items-center justify-center w-full h-full\">\n <div className=\"n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-border\"></div>\n </div>\n);\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import BlockiesSvg from 'blockies-react-svg';
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
|
-
import { useN1WalletContext, useN1WalletInternalContext, } from '../
|
|
5
|
-
import { ShadowRootWrapper } from '../
|
|
6
|
-
import mainCss from '../embedded-main-css';
|
|
4
|
+
import { useN1WalletContext, useN1WalletInternalContext, } from '../hooks';
|
|
5
|
+
import { ShadowRootWrapper } from '../providers/ShadowRootWrapper';
|
|
6
|
+
import mainCss from '../styles/embedded-main-css';
|
|
7
7
|
export function N1ConnectButton(_props) {
|
|
8
8
|
var _a = useN1WalletContext(), isConnected = _a.isConnected, setShowLogin = _a.setShowLogin, address = _a.address;
|
|
9
9
|
var _b = useState(false), toOpen = _b[0], setToOpen = _b[1];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"N1ConnectButton.js","sourceRoot":"","sources":["../../src/components/N1ConnectButton.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,MAG/B;IACO,IAAA,KAAyC,kBAAkB,EAAE,EAA3D,WAAW,iBAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAyB,CAAC;IAC9D,IAAA,KAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IACtC,IAAA,KAAiC,0BAA0B,EAAE,EAA3D,OAAO,aAAA,EAAE,iBAAiB,uBAAiC,CAAC;IACpE,IAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,UAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,IAAM,WAAW,GAAG;QAClB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAM,WAAW,GACf,0ZAA0Z,CAAC;IAE7Z,IAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,IAAM,WAAW,GAAG;QAClB,IAAI,OAAO,IAAI,CAAC,WAAW;YAAE,OAAO,eAAe,CAAC;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QACnD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,WAAW;YAAE,OAAO;QAExB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,IAAC,WAAW,EAAE,OAAO,GAAG,WAAW,YACnD,cAAK,SAAS,EAAC,uBAAuB,YACpC,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,eACT,OAAO,IAAI,CAAC,WAAW,aAEjC,WAAW,IAAI,CACd,eAAM,SAAS,EAAC,gEAAgE,YAC9E,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,sBAAsB,GAChC,GACG,CACR,EACD,yBAAO,WAAW,EAAE,GAAQ,IACrB,GACL,GACY,CACrB,CAAC;AACJ,CAAC","sourcesContent":["import BlockiesSvg from 'blockies-react-svg';\nimport React, { useEffect, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../hooks';\nimport { ShadowRootWrapper } from '../providers/ShadowRootWrapper';\nimport mainCss from '../styles/embedded-main-css';\n\nexport function N1ConnectButton(_props: {\n label: string;\n children?: React.ReactNode;\n}) {\n const { isConnected, setShowLogin, address } = useN1WalletContext();\n const [toOpen, setToOpen] = useState(false);\n const { loading, startClosingLogin } = useN1WalletInternalContext();\n const addressText = isConnected\n ? `${address.substring(0, 6)}...${address.slice(-4)}`\n : '';\n\n const showLoginFn = () => {\n setShowLogin(true);\n };\n\n useEffect(() => {\n if (!loading && toOpen) {\n showLoginFn();\n setToOpen(false);\n }\n }, [loading]);\n\n const buttonClass =\n 'inline-flex w-full items-center justify-center gap-2 rounded-full border border-n1-ww-border bg-black px-4 py-2 text-xs font-semibold uppercase tracking-wide text-white transition-colors duration-200 hover:bg-white hover:text-black focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-black disabled:pointer-events-none disabled:opacity-60 min-w-[7rem] sm:w-auto';\n\n const injectedCss = '';\n\n const renderLabel = () => {\n if (loading && !isConnected) return 'Connecting...';\n if (!isConnected) return _props.label || 'Connect';\n return addressText;\n };\n\n const handleClick = () => {\n if (startClosingLogin) {\n console.debug('[N1ConnectButton] click ignored; modal closing');\n return;\n }\n\n if (loading && !isConnected) {\n setToOpen(true);\n console.debug('[N1ConnectButton] deferring open until loading completes');\n return;\n }\n\n if (isConnected) return;\n\n console.debug('[N1ConnectButton] opening modal via connect button');\n showLoginFn();\n };\n\n return (\n <ShadowRootWrapper injectedCss={mainCss + injectedCss}>\n <div className=\"n1-wallet-widget dark\">\n <button\n type=\"button\"\n className={buttonClass}\n onClick={handleClick}\n aria-busy={loading && !isConnected}\n >\n {isConnected && (\n <span className=\"flex h-5 w-5 items-center justify-center rounded-full bg-white\">\n <BlockiesSvg\n address={address}\n className=\"h-4 w-4 rounded-full\"\n />\n </span>\n )}\n <span>{renderLabel()}</span>\n </button>\n </div>\n </ShadowRootWrapper>\n );\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export var ZeroOneLogo = function (_a) {
|
|
3
|
+
var _b = _a.width, width = _b === void 0 ? 43 : _b, _c = _a.height, height = _c === void 0 ? 34 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
|
|
4
|
+
return (_jsx("svg", { width: width, height: height, viewBox: "0 0 43 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: _jsx("path", { d: "M21.3299 20.7674C21.3299 22.8824 21.0824 24.7499 20.5874 26.3699C20.1074 27.9749 19.4099 29.3174 18.4949 30.3974C17.5799 31.4924 16.4624 32.3174 15.1424 32.8724C13.8224 33.4274 12.3374 33.7049 10.6874 33.7049C9.05244 33.7049 7.57494 33.4274 6.25494 32.8724C4.93494 32.3174 3.81744 31.4924 2.90244 30.3974C1.97244 29.3174 1.25244 27.9749 0.742442 26.3699C0.247442 24.7499 -0.0000579674 22.8824 -0.0000579674 20.7674V12.9374C-0.0000579674 10.8224 0.247442 8.96242 0.742442 7.35742C1.23744 5.73742 1.94994 4.37992 2.87994 3.28492C3.79494 2.20492 4.90494 1.38742 6.20994 0.832423C7.52994 0.277423 9.00744 -0.0000766945 10.6424 -0.0000766945C12.2924 -0.0000766945 13.7774 0.277423 15.0974 0.832423C16.4174 1.38742 17.5424 2.20492 18.4724 3.28492C19.3874 4.37992 20.0924 5.73742 20.5874 7.35742C21.0824 8.96242 21.3299 10.8224 21.3299 12.9374V20.7674ZM6.29994 18.0674L15.0299 11.5649C14.9999 10.3349 14.8649 9.28492 14.6249 8.41492C14.3999 7.52992 14.0624 6.82492 13.6124 6.29992C13.2674 5.87992 12.8399 5.57242 12.3299 5.37742C11.8349 5.16742 11.2724 5.06242 10.6424 5.06242C9.93744 5.06242 9.31494 5.19742 8.77494 5.46742C8.24994 5.72242 7.80744 6.11242 7.44744 6.63742C7.05744 7.19242 6.76494 7.91242 6.56994 8.79742C6.38994 9.68242 6.29994 10.7324 6.29994 11.9474V15.5699C6.29994 16.2899 6.29994 16.7699 6.29994 17.0099C6.29994 17.2499 6.29994 17.6024 6.29994 18.0674ZM15.0299 21.7124V17.9099C15.0299 17.4149 15.0299 17.0549 15.0299 16.8299C15.0299 16.5899 15.0299 16.2524 15.0299 15.8174L6.29994 22.2974C6.32994 23.2874 6.42744 24.1649 6.59244 24.9299C6.77244 25.6949 7.01994 26.3324 7.33494 26.8424C7.69494 27.4574 8.15244 27.9149 8.70744 28.2149C9.26244 28.5149 9.92244 28.6649 10.6874 28.6649C11.3924 28.6649 12.0149 28.5374 12.5549 28.2824C13.0949 28.0124 13.5449 27.6074 13.9049 27.0674C14.2799 26.4974 14.5574 25.7699 14.7374 24.8849C14.9324 23.9849 15.0299 22.9274 15.0299 21.7124ZM42.9974 33.2324H36.6749V8.09992L28.3949 11.0699V5.62492L42.6599 0.472423H42.9974V33.2324Z", fill: "white" }) }));
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=ZeroOneLogo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZeroOneLogo.js","sourceRoot":"","sources":["../../../src/components/logos/ZeroOneLogo.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAIvD;QAHC,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EACX,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IACV,OAAA,CACJ,cACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,SAAS,YAEpB,eACE,CAAC,EAAC,27DAA27D,EAC77D,IAAI,EAAC,OAAO,GACZ,GACE,CACP;AAdK,CAcL,CAAC","sourcesContent":["import React from 'react';\n\ninterface ZeroOneLogoProps {\n width?: number;\n height?: number;\n className?: string;\n}\n\nexport const ZeroOneLogo: React.FC<ZeroOneLogoProps> = ({\n width = 43,\n height = 34,\n className = '',\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 43 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M21.3299 20.7674C21.3299 22.8824 21.0824 24.7499 20.5874 26.3699C20.1074 27.9749 19.4099 29.3174 18.4949 30.3974C17.5799 31.4924 16.4624 32.3174 15.1424 32.8724C13.8224 33.4274 12.3374 33.7049 10.6874 33.7049C9.05244 33.7049 7.57494 33.4274 6.25494 32.8724C4.93494 32.3174 3.81744 31.4924 2.90244 30.3974C1.97244 29.3174 1.25244 27.9749 0.742442 26.3699C0.247442 24.7499 -0.0000579674 22.8824 -0.0000579674 20.7674V12.9374C-0.0000579674 10.8224 0.247442 8.96242 0.742442 7.35742C1.23744 5.73742 1.94994 4.37992 2.87994 3.28492C3.79494 2.20492 4.90494 1.38742 6.20994 0.832423C7.52994 0.277423 9.00744 -0.0000766945 10.6424 -0.0000766945C12.2924 -0.0000766945 13.7774 0.277423 15.0974 0.832423C16.4174 1.38742 17.5424 2.20492 18.4724 3.28492C19.3874 4.37992 20.0924 5.73742 20.5874 7.35742C21.0824 8.96242 21.3299 10.8224 21.3299 12.9374V20.7674ZM6.29994 18.0674L15.0299 11.5649C14.9999 10.3349 14.8649 9.28492 14.6249 8.41492C14.3999 7.52992 14.0624 6.82492 13.6124 6.29992C13.2674 5.87992 12.8399 5.57242 12.3299 5.37742C11.8349 5.16742 11.2724 5.06242 10.6424 5.06242C9.93744 5.06242 9.31494 5.19742 8.77494 5.46742C8.24994 5.72242 7.80744 6.11242 7.44744 6.63742C7.05744 7.19242 6.76494 7.91242 6.56994 8.79742C6.38994 9.68242 6.29994 10.7324 6.29994 11.9474V15.5699C6.29994 16.2899 6.29994 16.7699 6.29994 17.0099C6.29994 17.2499 6.29994 17.6024 6.29994 18.0674ZM15.0299 21.7124V17.9099C15.0299 17.4149 15.0299 17.0549 15.0299 16.8299C15.0299 16.5899 15.0299 16.2524 15.0299 15.8174L6.29994 22.2974C6.32994 23.2874 6.42744 24.1649 6.59244 24.9299C6.77244 25.6949 7.01994 26.3324 7.33494 26.8424C7.69494 27.4574 8.15244 27.9149 8.70744 28.2149C9.26244 28.5149 9.92244 28.6649 10.6874 28.6649C11.3924 28.6649 12.0149 28.5374 12.5549 28.2824C13.0949 28.0124 13.5449 27.6074 13.9049 27.0674C14.2799 26.4974 14.5574 25.7699 14.7374 24.8849C14.9324 23.9849 15.0299 22.9274 15.0299 21.7124ZM42.9974 33.2324H36.6749V8.09992L28.3949 11.0699V5.62492L42.6599 0.472423H42.9974V33.2324Z\"\n fill=\"white\"\n />\n </svg>\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/logos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC","sourcesContent":["export * from './SolanaLogo';\nexport * from './EthereumLogo';\nexport * from './OptimismLogo';\nexport * from './ArbitrumLogo';\nexport * from './BitcoinLogo';\nexport * from './HyperliquidLogo';\nexport * from './BaseLogo';\nexport * from './BeraLogo';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/logos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC","sourcesContent":["export * from './SolanaLogo';\nexport * from './EthereumLogo';\nexport * from './OptimismLogo';\nexport * from './ArbitrumLogo';\nexport * from './BitcoinLogo';\nexport * from './HyperliquidLogo';\nexport * from './BaseLogo';\nexport * from './BeraLogo';\nexport * from './ZeroOneLogo';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.tsx"],"names":[],"mappings":"","sourcesContent":[""]}
|
package/dist/config/solana.js
CHANGED
|
@@ -14,6 +14,6 @@ var DEFAULT_SOLANA_RPC_URL = 'https://api.mainnet-beta.solana.com';
|
|
|
14
14
|
*/
|
|
15
15
|
export function getSolanaRpcUrl() {
|
|
16
16
|
var _a;
|
|
17
|
-
return ((_a = process.env.
|
|
17
|
+
return ((_a = process.env.NEXT_PUBLIC_NORD_SOLANA_URL) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_SOLANA_RPC_URL;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=solana.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/config/solana.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,yCAAwB,CAAA;IACxB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,IAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,eAAe;;IAC7B,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/config/solana.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,yCAAwB,CAAA;IACxB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,IAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,eAAe;;IAC7B,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,0CAAE,IAAI,EAAE,KAAI,sBAAsB,CAAC;AACnF,CAAC","sourcesContent":["/**\n * Solana network configuration\n */\n\nexport enum SolanaNetwork {\n MAINNET = 'mainnet-beta',\n TESTNET = 'testnet',\n DEVNET = 'devnet',\n}\n\nconst DEFAULT_SOLANA_RPC_URL = 'https://api.mainnet-beta.solana.com';\n\n/**\n * Resolve the Solana RPC URL from environment variables.\n * Falls back to mainnet RPC if none provided.\n */\nexport function getSolanaRpcUrl(): string {\n return process.env.NEXT_PUBLIC_NORD_SOLANA_URL?.trim() || DEFAULT_SOLANA_RPC_URL;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N1WalletState } from '
|
|
2
|
-
import { N1InternalWalletState } from '
|
|
1
|
+
import { N1WalletState } from '../types/wallet';
|
|
2
|
+
import { N1InternalWalletState } from '../types/wallet';
|
|
3
3
|
declare const N1WalletContext: import("react").Context<N1WalletState>;
|
|
4
4
|
declare const N1InternalWalletContext: import("react").Context<N1InternalWalletState>;
|
|
5
5
|
export { N1WalletContext, N1InternalWalletContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n1-wallet-context.js","sourceRoot":"","sources":["../../src/context/n1-wallet-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,eAAe,GAAG,aAAa,CAAgB,EAAmB,CAAC,CAAC;AAC1E,IAAM,uBAAuB,GAAG,aAAa,CAC3C,EAA2B,CAC5B,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import { N1WalletState } from '../types/wallet';\n\nimport { createContext } from 'react';\nimport { N1InternalWalletState } from '../types/wallet';\n\nconst N1WalletContext = createContext<N1WalletState>({} as N1WalletState);\nconst N1InternalWalletContext = createContext<N1InternalWalletState>(\n {} as N1InternalWalletState\n);\n\nexport { N1WalletContext, N1InternalWalletContext };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import '../../styles/main.css';
|
|
2
2
|
export declare function N1WalletModal(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import '
|
|
2
|
+
import '../../styles/main.css';
|
|
3
3
|
import { lazy, Suspense, useEffect, useState, useCallback } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
default: mod.NordFlow,
|
|
4
|
+
import { useN1WalletContext, useN1WalletInternalContext, } from '../../hooks';
|
|
5
|
+
import { LoadingFallback } from '../../components/LoadingFallback';
|
|
6
|
+
import { logger } from '../../utils/logger';
|
|
7
|
+
// Lazy load the onboarding flow component
|
|
8
|
+
var OnboardingFlow = lazy(function () {
|
|
9
|
+
return import('./OnboardingFlow').then(function (mod) { return ({
|
|
10
|
+
default: mod.OnboardingFlow,
|
|
12
11
|
}); });
|
|
13
12
|
});
|
|
13
|
+
var lastLoggedShowLogin = null;
|
|
14
14
|
export function N1WalletModal() {
|
|
15
15
|
var _a = useN1WalletContext(), showLogin = _a.showLogin, setShowLogin = _a.setShowLogin;
|
|
16
16
|
var _b = useN1WalletInternalContext(), setStartClosingLogin = _b.setStartClosingLogin, startClosingLogin = _b.startClosingLogin, setLoading = _b.setLoading, dynamicWallet = _b.dynamicWallet, dynamicSdkHasLoaded = _b.dynamicSdkHasLoaded, blockModalReopen = _b.blockModalReopen;
|
|
@@ -50,7 +50,10 @@ export function N1WalletModal() {
|
|
|
50
50
|
}, [dynamicSdkHasLoaded, dynamicWallet, setLoading]);
|
|
51
51
|
// Handle modal visibility
|
|
52
52
|
useEffect(function () {
|
|
53
|
-
|
|
53
|
+
if (lastLoggedShowLogin !== showLogin) {
|
|
54
|
+
logger.debug('N1WalletModal: showLogin state changed', { showLogin: showLogin });
|
|
55
|
+
lastLoggedShowLogin = showLogin;
|
|
56
|
+
}
|
|
54
57
|
if (showLogin) {
|
|
55
58
|
setStartClosingLogin(false);
|
|
56
59
|
setShowLoginAnimation(true);
|
|
@@ -67,9 +70,9 @@ export function N1WalletModal() {
|
|
|
67
70
|
return function () { return clearTimeout(timeout_1); };
|
|
68
71
|
}
|
|
69
72
|
}, [startClosingLogin, setStartClosingLogin]);
|
|
70
|
-
// Handle modal close for
|
|
71
|
-
var
|
|
72
|
-
logger.debug('N1WalletModal:
|
|
73
|
+
// Handle modal close for onboarding mode
|
|
74
|
+
var handleOnboardingFlowClose = function () {
|
|
75
|
+
logger.debug('N1WalletModal: handleOnboardingFlowClose invoked');
|
|
73
76
|
suppressDocumentClick();
|
|
74
77
|
blockModalReopen(1200);
|
|
75
78
|
setShowLogin(false);
|
|
@@ -77,13 +80,13 @@ export function N1WalletModal() {
|
|
|
77
80
|
};
|
|
78
81
|
if (!showLogin && !startClosingLogin)
|
|
79
82
|
return null;
|
|
80
|
-
return (_jsx("div", { className: "n1-wallet-widget dark ", children: showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/40 backdrop-blur-sm\n transition-all duration-500
|
|
83
|
+
return (_jsx("div", { className: "n1-wallet-widget dark ", children: showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/40 backdrop-blur-sm\n transition-all duration-500 cubic-bezier(0.16, 1, 0.3, 1)\n ".concat(showLoginAnimation ? 'opacity-100' : 'opacity-0', "\n "), onClick: function (event) {
|
|
81
84
|
logger.debug('N1WalletModal: backdrop clicked, closing modal');
|
|
82
85
|
blockEventPropagation(event);
|
|
83
86
|
suppressDocumentClick();
|
|
84
87
|
blockModalReopen(1200);
|
|
85
88
|
setShowLogin(false);
|
|
86
89
|
setStartClosingLogin(true);
|
|
87
|
-
}, onMouseDown: blockEventPropagation, onMouseUp: blockEventPropagation, onPointerDown: blockEventPropagation, onPointerUp: blockEventPropagation, onTouchStart: blockEventPropagation, onTouchEnd: blockEventPropagation }), _jsx("div", { className: "\n scale-100 relative z-50 transition-all duration-500
|
|
90
|
+
}, onMouseDown: blockEventPropagation, onMouseUp: blockEventPropagation, onPointerDown: blockEventPropagation, onPointerUp: blockEventPropagation, onTouchStart: blockEventPropagation, onTouchEnd: blockEventPropagation }), _jsx("div", { className: "\n scale-100 relative z-50 transition-all duration-500 cubic-bezier(0.16, 1, 0.3, 1)\n ".concat(showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95', "\n "), children: _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(OnboardingFlow, { onClose: handleOnboardingFlowClose }) }) })] })) }));
|
|
88
91
|
}
|
|
89
92
|
//# sourceMappingURL=N1WalletModal.js.map
|