@n1xyz/wallet-widget 0.0.34 → 0.0.35-alpha.1
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/dist/bridge-assist/cctp-solana.d.ts +33 -0
- package/dist/bridge-assist/cctp-solana.js +392 -0
- package/dist/bridge-assist/cctp-solana.js.map +1 -0
- package/dist/main.css +1 -2
- package/dist/src/adapters/evm.d.ts +39 -0
- package/dist/src/adapters/evm.js +338 -0
- package/dist/src/adapters/evm.js.map +1 -0
- package/dist/src/adapters/factory.d.ts +37 -0
- package/dist/src/adapters/factory.js +82 -0
- package/dist/src/adapters/factory.js.map +1 -0
- package/dist/src/adapters/index.d.ts +33 -0
- package/dist/src/adapters/index.js +36 -0
- package/dist/src/adapters/index.js.map +1 -0
- package/dist/src/adapters/solana.d.ts +37 -0
- package/dist/src/adapters/solana.js +359 -0
- package/dist/src/adapters/solana.js.map +1 -0
- package/dist/src/adapters/types.d.ts +160 -0
- package/dist/src/adapters/types.js +20 -0
- package/dist/src/adapters/types.js.map +1 -0
- package/dist/src/animations/N1Loader.js.map +1 -0
- package/dist/src/animations/N1Loader.json +1 -0
- package/dist/src/animations/Processing.js.map +1 -0
- package/dist/src/animations/Processing.json +1 -0
- package/dist/{components → src/components}/LoadingFallback.d.ts +3 -0
- package/dist/{components → src/components}/LoadingFallback.js +3 -0
- package/dist/src/components/LoadingFallback.js.map +1 -0
- package/dist/{components → src/components}/Logo.d.ts +4 -0
- package/dist/{components → src/components}/Logo.js +4 -0
- package/dist/src/components/Logo.js.map +1 -0
- package/dist/src/components/N1ConnectButton.d.ts +13 -0
- package/dist/src/components/N1ConnectButton.js +66 -0
- package/dist/src/components/N1ConnectButton.js.map +1 -0
- package/dist/src/components/logos/ArbitrumLogo.js.map +1 -0
- package/dist/src/components/logos/BaseLogo.js +6 -0
- package/dist/src/components/logos/BaseLogo.js.map +1 -0
- package/dist/src/components/logos/BeraLogo.js.map +1 -0
- package/dist/src/components/logos/BitcoinLogo.js.map +1 -0
- package/dist/src/components/logos/EthereumLogo.js.map +1 -0
- package/dist/{components → src/components}/logos/HyperliquidLogo.js +1 -1
- package/dist/src/components/logos/HyperliquidLogo.js.map +1 -0
- package/dist/src/components/logos/OptimismLogo.js.map +1 -0
- package/dist/src/components/logos/SolanaLogo.js.map +1 -0
- package/dist/src/components/logos/ZeroOneLogo.js.map +1 -0
- package/dist/src/components/logos/index.js.map +1 -0
- package/dist/src/config/chains.d.ts +18 -0
- package/dist/src/config/chains.js +58 -0
- package/dist/src/config/chains.js.map +1 -0
- package/dist/src/config/dynamic.js +18 -0
- package/dist/src/config/dynamic.js.map +1 -0
- package/dist/src/config/solana.js.map +1 -0
- package/dist/src/config/turnkey.d.ts +2 -0
- package/dist/{config → src/config}/turnkey.js +9 -12
- package/dist/src/config/turnkey.js.map +1 -0
- package/dist/src/context/n1-wallet-context.js.map +1 -0
- package/dist/src/errors/types.d.ts +72 -0
- package/dist/src/errors/types.js +140 -0
- package/dist/src/errors/types.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/N1WalletModal.js +44 -29
- package/dist/src/features/onboarding-flow/N1WalletModal.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.d.ts +2 -1
- package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.js +54 -8
- package/dist/src/features/onboarding-flow/OnboardingFlow.js.map +1 -0
- package/dist/src/features/onboarding-flow/bridge-assist/client.d.ts +42 -0
- package/dist/src/features/onboarding-flow/bridge-assist/client.js +268 -0
- package/dist/src/features/onboarding-flow/bridge-assist/client.js.map +1 -0
- package/dist/src/features/onboarding-flow/bridge-assist/config.d.ts +4 -0
- package/dist/src/features/onboarding-flow/bridge-assist/config.js +11 -0
- package/dist/src/features/onboarding-flow/bridge-assist/config.js.map +1 -0
- package/dist/src/features/onboarding-flow/bridge-assist/index.d.ts +1 -0
- package/dist/src/features/onboarding-flow/bridge-assist/index.js +2 -0
- package/dist/src/features/onboarding-flow/bridge-assist/index.js.map +1 -0
- package/dist/src/features/onboarding-flow/bridge-assist/types.d.ts +5 -0
- package/dist/src/features/onboarding-flow/bridge-assist/types.js +28 -0
- package/dist/src/features/onboarding-flow/bridge-assist/types.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.d.ts +35 -0
- package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js +391 -0
- package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/clientFactory.d.ts +6 -0
- package/dist/src/features/onboarding-flow/cctp/clientFactory.js +9 -0
- package/dist/src/features/onboarding-flow/cctp/clientFactory.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/config.d.ts +16 -0
- package/dist/src/features/onboarding-flow/cctp/config.js +55 -0
- package/dist/src/features/onboarding-flow/cctp/config.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/mockCctpClient.d.ts +11 -0
- package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js +85 -0
- package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/solanaClaim.d.ts +1 -0
- package/dist/src/features/onboarding-flow/cctp/solanaClaim.js +2 -0
- package/dist/src/features/onboarding-flow/cctp/solanaClaim.js.map +1 -0
- package/dist/src/features/onboarding-flow/cctp/types.d.ts +50 -0
- package/dist/src/features/onboarding-flow/cctp/types.js +2 -0
- package/dist/src/features/onboarding-flow/cctp/types.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/components/ChainButton.d.ts +5 -2
- package/dist/src/features/onboarding-flow/components/ChainButton.js +14 -0
- package/dist/src/features/onboarding-flow/components/ChainButton.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/components/Header.d.ts +2 -2
- package/dist/src/features/onboarding-flow/components/Header.js +69 -0
- package/dist/src/features/onboarding-flow/components/Header.js.map +1 -0
- package/dist/src/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.d.ts +5 -0
- package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.js +8 -3
- package/dist/src/features/onboarding-flow/components/TransactionTable.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.d.ts +4 -0
- package/dist/src/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
- package/dist/src/features/onboarding-flow/components/index.js.map +1 -0
- package/dist/src/features/onboarding-flow/errors/depositError.d.ts +36 -0
- package/dist/src/features/onboarding-flow/errors/depositError.js +134 -0
- package/dist/src/features/onboarding-flow/errors/depositError.js.map +1 -0
- package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.d.ts +35 -0
- package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js +585 -0
- package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js.map +1 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositAuth.d.ts +6 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js +141 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js.map +1 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositHydration.d.ts +15 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js +83 -0
- package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js.map +1 -0
- package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.d.ts +6 -0
- package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js +45 -0
- package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js.map +1 -0
- package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.d.ts +13 -0
- package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js +161 -0
- package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js.map +1 -0
- package/dist/src/features/onboarding-flow/index.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/DepositFlowProvider.d.ts +10 -3
- package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js +762 -0
- package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/OnboardingStateProvider.d.ts +5 -0
- package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js +399 -0
- package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.d.ts +2 -2
- package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.js +2 -2
- package/dist/src/features/onboarding-flow/providers/StateProvider.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/WalletConnectionProvider.d.ts +8 -0
- package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js +938 -0
- package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/debug.js +5 -1
- package/dist/src/features/onboarding-flow/providers/debug.js.map +1 -0
- package/dist/src/features/onboarding-flow/providers/index.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.d.ts +28 -1
- package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.js +38 -4
- package/dist/src/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.d.ts +4 -0
- package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js +32 -0
- package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +5 -0
- package/dist/{features → src/features}/onboarding-flow/screens/01-ConnectWalletScreen.js +5 -0
- package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/screens/02-TurnkeyAuthScreen.js +8 -1
- package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +8 -1
- package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/screens/04-ChainSelectionScreen.d.ts +11 -11
- package/dist/{features → src/features}/onboarding-flow/screens/04-ChainSelectionScreen.js +59 -29
- package/dist/src/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +11 -0
- package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js +585 -0
- package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/screens/06-DepositProgressScreen.d.ts +5 -0
- package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js +367 -0
- package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +6 -0
- package/dist/{features → src/features}/onboarding-flow/screens/07-DepositSuccessScreen.js +11 -5
- package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +5 -0
- package/dist/{features → src/features}/onboarding-flow/screens/08-AuthLoadingScreen.js +5 -1
- package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.d.ts +5 -0
- package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js +43 -0
- package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/index.d.ts +10 -0
- package/dist/src/features/onboarding-flow/screens/index.js +11 -0
- package/dist/src/features/onboarding-flow/screens/index.js.map +1 -0
- package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.d.ts +1 -0
- package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js +2 -0
- package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/types.d.ts +38 -11
- package/dist/{features → src/features}/onboarding-flow/types.js +5 -0
- package/dist/src/features/onboarding-flow/types.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/bridgeUtils.d.ts +6 -0
- package/dist/src/features/onboarding-flow/utils/bridgeUtils.js +34 -0
- package/dist/src/features/onboarding-flow/utils/bridgeUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.d.ts +29 -0
- package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js +82 -0
- package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.d.ts +5 -0
- package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js +10 -0
- package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.d.ts +14 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js +94 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.d.ts +25 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js +212 -0
- package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.d.ts +37 -0
- package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js +199 -0
- package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.d.ts +27 -0
- package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js +149 -0
- package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.d.ts +5 -0
- package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js +121 -0
- package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js.map +1 -0
- package/dist/{features/onboarding-flow/utils/transaction.d.ts → src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.d.ts} +3 -3
- package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js +8 -0
- package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.d.ts +12 -0
- package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js +150 -0
- package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/storage.d.ts +52 -0
- package/dist/src/features/onboarding-flow/utils/deposit/storage.js +243 -0
- package/dist/src/features/onboarding-flow/utils/deposit/storage.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.d.ts +36 -0
- package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js +304 -0
- package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/depositPolling.d.ts +1 -0
- package/dist/src/features/onboarding-flow/utils/depositPolling.js +3 -0
- package/dist/src/features/onboarding-flow/utils/depositPolling.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/explorerUrl.d.ts +14 -0
- package/dist/src/features/onboarding-flow/utils/explorerUrl.js +44 -0
- package/dist/src/features/onboarding-flow/utils/explorerUrl.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/nordUtils.d.ts +8 -0
- package/dist/{features/onboarding-flow/utils/nordUser.js → src/features/onboarding-flow/utils/nordUtils.js} +14 -1
- package/dist/src/features/onboarding-flow/utils/nordUtils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.d.ts +13 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js +15 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.d.ts +15 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js +94 -0
- package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js.map +1 -0
- package/dist/{features → src/features}/onboarding-flow/utils/utils.d.ts +9 -2
- package/dist/{features → src/features}/onboarding-flow/utils/utils.js +9 -4
- package/dist/src/features/onboarding-flow/utils/utils.js.map +1 -0
- package/dist/src/features/onboarding-flow/utils/withImageFallback.d.ts +6 -0
- package/dist/{features → src/features}/onboarding-flow/utils/withImageFallback.js +2 -3
- package/dist/src/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/useN1Wallet.d.ts +12 -0
- package/dist/{hooks → src/hooks}/useN1Wallet.js +10 -0
- package/dist/src/hooks/useN1Wallet.js.map +1 -0
- package/dist/src/hooks/useNordUserInitialization.d.ts +12 -0
- package/dist/{hooks → src/hooks}/useNordUserInitialization.js +74 -33
- package/dist/src/hooks/useNordUserInitialization.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.js +16 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/providers/LazyWalletProvider.d.ts +4 -0
- package/dist/src/providers/LazyWalletProvider.js +404 -0
- package/dist/src/providers/LazyWalletProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/ContextBridge.d.ts +28 -0
- package/dist/src/providers/N1WalletProvider/ContextBridge.js +273 -0
- package/dist/src/providers/N1WalletProvider/ContextBridge.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/ModalProvider.d.ts +113 -0
- package/dist/src/providers/N1WalletProvider/ModalProvider.js +319 -0
- package/dist/src/providers/N1WalletProvider/ModalProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/NetworkProvider.d.ts +88 -0
- package/dist/src/providers/N1WalletProvider/NetworkProvider.js +252 -0
- package/dist/src/providers/N1WalletProvider/NetworkProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/SessionProvider.d.ts +71 -0
- package/dist/src/providers/N1WalletProvider/SessionProvider.js +187 -0
- package/dist/src/providers/N1WalletProvider/SessionProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/SigningProvider.d.ts +58 -0
- package/dist/src/providers/N1WalletProvider/SigningProvider.js +134 -0
- package/dist/src/providers/N1WalletProvider/SigningProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/ThemingProvider.d.ts +50 -0
- package/dist/src/providers/N1WalletProvider/ThemingProvider.js +102 -0
- package/dist/src/providers/N1WalletProvider/ThemingProvider.js.map +1 -0
- package/dist/src/providers/N1WalletProvider/index.d.ts +21 -0
- package/dist/src/providers/N1WalletProvider/index.js +27 -0
- package/dist/src/providers/N1WalletProvider/index.js.map +1 -0
- package/dist/src/providers/N1WalletProvider.d.ts +17 -0
- package/dist/src/providers/N1WalletProvider.js +102 -0
- package/dist/src/providers/N1WalletProvider.js.map +1 -0
- package/dist/{providers → src/providers}/ShadowRootWrapper.d.ts +4 -0
- package/dist/{providers → src/providers}/ShadowRootWrapper.js +4 -0
- package/dist/src/providers/ShadowRootWrapper.js.map +1 -0
- package/dist/{providers → src/providers}/WalletErrorBoundary.d.ts +7 -2
- package/dist/{providers → src/providers}/WalletErrorBoundary.js +5 -1
- package/dist/src/providers/WalletErrorBoundary.js.map +1 -0
- package/dist/src/services/bootstrap/DepositRecoveryService.d.ts +64 -0
- package/dist/src/services/bootstrap/DepositRecoveryService.js +245 -0
- package/dist/src/services/bootstrap/DepositRecoveryService.js.map +1 -0
- package/dist/src/services/bootstrap/DynamicSdkService.d.ts +62 -0
- package/dist/src/services/bootstrap/DynamicSdkService.js +335 -0
- package/dist/src/services/bootstrap/DynamicSdkService.js.map +1 -0
- package/dist/src/services/bootstrap/SessionBootstrapService.d.ts +78 -0
- package/dist/src/services/bootstrap/SessionBootstrapService.js +280 -0
- package/dist/src/services/bootstrap/SessionBootstrapService.js.map +1 -0
- package/dist/src/services/bootstrap/TurnkeyBootstrapService.d.ts +92 -0
- package/dist/src/services/bootstrap/TurnkeyBootstrapService.js +253 -0
- package/dist/src/services/bootstrap/TurnkeyBootstrapService.js.map +1 -0
- package/dist/src/services/bootstrap/index.d.ts +13 -0
- package/dist/src/services/bootstrap/index.js +16 -0
- package/dist/src/services/bootstrap/index.js.map +1 -0
- package/dist/src/services/bootstrap/types.d.ts +92 -0
- package/dist/src/services/bootstrap/types.js +7 -0
- package/dist/src/services/bootstrap/types.js.map +1 -0
- package/dist/src/services/storage/StorageService.d.ts +98 -0
- package/dist/src/services/storage/StorageService.js +360 -0
- package/dist/src/services/storage/StorageService.js.map +1 -0
- package/dist/src/services/storage/index.d.ts +9 -0
- package/dist/src/services/storage/index.js +10 -0
- package/dist/src/services/storage/index.js.map +1 -0
- package/dist/src/services/storage/keys.d.ts +28 -0
- package/dist/src/services/storage/keys.js +45 -0
- package/dist/src/services/storage/keys.js.map +1 -0
- package/dist/src/services/storage/types.d.ts +73 -0
- package/dist/src/services/storage/types.js +23 -0
- package/dist/src/services/storage/types.js.map +1 -0
- package/dist/src/store/index.d.ts +8 -0
- package/dist/src/store/index.js +24 -0
- package/dist/src/store/index.js.map +1 -0
- package/dist/src/store/selectors.d.ts +105 -0
- package/dist/src/store/selectors.js +183 -0
- package/dist/src/store/selectors.js.map +1 -0
- package/dist/src/store/slices/bootstrapSlice.d.ts +64 -0
- package/dist/src/store/slices/bootstrapSlice.js +78 -0
- package/dist/src/store/slices/bootstrapSlice.js.map +1 -0
- package/dist/src/store/slices/configSlice.d.ts +7 -0
- package/dist/src/store/slices/configSlice.js +14 -0
- package/dist/src/store/slices/configSlice.js.map +1 -0
- package/dist/src/store/slices/index.d.ts +10 -0
- package/dist/src/store/slices/index.js +10 -0
- package/dist/src/store/slices/index.js.map +1 -0
- package/dist/src/store/slices/sessionSlice.d.ts +7 -0
- package/dist/src/store/slices/sessionSlice.js +17 -0
- package/dist/src/store/slices/sessionSlice.js.map +1 -0
- package/dist/src/store/slices/signingSlice.d.ts +7 -0
- package/dist/src/store/slices/signingSlice.js +14 -0
- package/dist/src/store/slices/signingSlice.js.map +1 -0
- package/dist/src/store/slices/uiSlice.d.ts +9 -0
- package/dist/src/store/slices/uiSlice.js +25 -0
- package/dist/src/store/slices/uiSlice.js.map +1 -0
- package/dist/src/store/slices/walletSlice.d.ts +7 -0
- package/dist/src/store/slices/walletSlice.js +21 -0
- package/dist/src/store/slices/walletSlice.js.map +1 -0
- package/dist/src/store/store.d.ts +50 -0
- package/dist/src/store/store.js +259 -0
- package/dist/src/store/store.js.map +1 -0
- package/dist/src/store/subscriptions/depositPersistence.d.ts +32 -0
- package/dist/src/store/subscriptions/depositPersistence.js +106 -0
- package/dist/src/store/subscriptions/depositPersistence.js.map +1 -0
- package/dist/src/store/subscriptions/index.d.ts +34 -0
- package/dist/src/store/subscriptions/index.js +73 -0
- package/dist/src/store/subscriptions/index.js.map +1 -0
- package/dist/src/store/subscriptions/turnkeyPersistence.d.ts +42 -0
- package/dist/src/store/subscriptions/turnkeyPersistence.js +127 -0
- package/dist/src/store/subscriptions/turnkeyPersistence.js.map +1 -0
- package/dist/src/store/types.d.ts +166 -0
- package/dist/src/store/types.js +7 -0
- package/dist/src/store/types.js.map +1 -0
- package/dist/src/styles/cdn-fonts.d.ts +12 -0
- package/dist/src/styles/cdn-fonts.js +63 -0
- package/dist/src/styles/cdn-fonts.js.map +1 -0
- package/dist/src/styles/embedded-main-css.d.ts +2 -0
- package/dist/src/styles/embedded-main-css.js +3 -0
- package/dist/src/styles/embedded-main-css.js.map +1 -0
- package/dist/src/turnkey/TurnkeyProvider.d.ts +21 -0
- package/dist/src/turnkey/TurnkeyProvider.js +695 -0
- package/dist/src/turnkey/TurnkeyProvider.js.map +1 -0
- package/dist/src/turnkey/createTurnkeyWallet.d.ts +39 -0
- package/dist/src/turnkey/createTurnkeyWallet.js +319 -0
- package/dist/src/turnkey/createTurnkeyWallet.js.map +1 -0
- package/dist/src/turnkey/createWalletProvider.d.ts +8 -0
- package/dist/src/turnkey/createWalletProvider.js +286 -0
- package/dist/src/turnkey/createWalletProvider.js.map +1 -0
- package/dist/src/turnkey/index.d.ts +3 -0
- package/dist/src/turnkey/index.js +3 -0
- package/dist/src/turnkey/index.js.map +1 -0
- package/dist/src/turnkey/turnkeySessionMachine.d.ts +39 -0
- package/dist/src/turnkey/turnkeySessionMachine.js +77 -0
- package/dist/src/turnkey/turnkeySessionMachine.js.map +1 -0
- package/dist/src/turnkey/turnkeySessionStorage.d.ts +48 -0
- package/dist/src/turnkey/turnkeySessionStorage.js +183 -0
- package/dist/src/turnkey/turnkeySessionStorage.js.map +1 -0
- package/dist/{turnkey → src/turnkey}/types.d.ts +21 -8
- package/dist/src/turnkey/types.js +12 -0
- package/dist/src/turnkey/types.js.map +1 -0
- package/dist/{types → src/types}/wallet.d.ts +39 -13
- package/dist/src/types/wallet.js.map +1 -0
- package/dist/src/utils/address.d.ts +130 -0
- package/dist/src/utils/address.js +274 -0
- package/dist/src/utils/address.js.map +1 -0
- package/dist/src/utils/chain.d.ts +89 -0
- package/dist/src/utils/chain.js +282 -0
- package/dist/src/utils/chain.js.map +1 -0
- package/dist/{utils → src/utils}/ed25519.d.ts +0 -2
- package/dist/{utils → src/utils}/ed25519.js +4 -19
- package/dist/src/utils/ed25519.js.map +1 -0
- package/dist/src/utils/errors.d.ts +68 -0
- package/dist/src/utils/errors.js +190 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/events.d.ts +124 -0
- package/dist/src/utils/events.js +155 -0
- package/dist/src/utils/events.js.map +1 -0
- package/dist/src/utils/formatAmount.d.ts +4 -0
- package/dist/src/utils/formatAmount.js +9 -0
- package/dist/src/utils/formatAmount.js.map +1 -0
- package/dist/src/utils/logger.d.ts +45 -0
- package/dist/{utils → src/utils}/logger.js +68 -2
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/shortenString.d.ts +5 -0
- package/dist/src/utils/shortenString.js +16 -0
- package/dist/src/utils/shortenString.js.map +1 -0
- package/package.json +37 -15
- package/dist/animations/N1Loader.js.map +0 -1
- package/dist/animations/Processing.js.map +0 -1
- package/dist/components/LoadingFallback.js.map +0 -1
- package/dist/components/Logo.js.map +0 -1
- package/dist/components/N1ConnectButton.d.ts +0 -5
- package/dist/components/N1ConnectButton.js +0 -49
- package/dist/components/N1ConnectButton.js.map +0 -1
- package/dist/components/logos/ArbitrumLogo.js.map +0 -1
- package/dist/components/logos/BaseLogo.js +0 -6
- package/dist/components/logos/BaseLogo.js.map +0 -1
- package/dist/components/logos/BeraLogo.js.map +0 -1
- package/dist/components/logos/BitcoinLogo.js.map +0 -1
- package/dist/components/logos/EthereumLogo.js.map +0 -1
- package/dist/components/logos/HyperliquidLogo.js.map +0 -1
- package/dist/components/logos/OptimismLogo.js.map +0 -1
- package/dist/components/logos/SolanaLogo.js.map +0 -1
- package/dist/components/logos/ZeroOneLogo.js.map +0 -1
- package/dist/components/logos/index.js.map +0 -1
- package/dist/config/chains.d.ts +0 -0
- package/dist/config/chains.js +0 -2
- package/dist/config/chains.js.map +0 -1
- package/dist/config/dynamic.js +0 -13
- package/dist/config/dynamic.js.map +0 -1
- package/dist/config/solana.js.map +0 -1
- package/dist/config/turnkey.d.ts +0 -2
- package/dist/config/turnkey.js.map +0 -1
- package/dist/config.d.ts +0 -2
- package/dist/config.js +0 -3
- package/dist/config.js.map +0 -1
- package/dist/context/n1-wallet-context.js.map +0 -1
- package/dist/errors/types.d.ts +0 -25
- package/dist/errors/types.js +0 -77
- package/dist/errors/types.js.map +0 -1
- package/dist/features/onboarding-flow/N1WalletModal.js.map +0 -1
- package/dist/features/onboarding-flow/OnboardingFlow.js.map +0 -1
- package/dist/features/onboarding-flow/components/ChainButton.js +0 -21
- package/dist/features/onboarding-flow/components/ChainButton.js.map +0 -1
- package/dist/features/onboarding-flow/components/Header.js +0 -45
- package/dist/features/onboarding-flow/components/Header.js.map +0 -1
- package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +0 -1
- package/dist/features/onboarding-flow/components/TransactionTable.js.map +0 -1
- package/dist/features/onboarding-flow/components/WaitingMessage.js.map +0 -1
- package/dist/features/onboarding-flow/components/index.js.map +0 -1
- package/dist/features/onboarding-flow/index.js.map +0 -1
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +0 -525
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +0 -1
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +0 -185
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +0 -1
- package/dist/features/onboarding-flow/providers/StateProvider.js.map +0 -1
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +0 -394
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +0 -1
- package/dist/features/onboarding-flow/providers/debug.js.map +0 -1
- package/dist/features/onboarding-flow/providers/index.js.map +0 -1
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +0 -1
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +0 -31
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +0 -100
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.d.ts +0 -6
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +0 -360
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +0 -3
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +0 -31
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +0 -6
- package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js +0 -360
- package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +0 -136
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +0 -31
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js +0 -31
- package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +0 -14
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js +0 -18
- package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/09-ErrorScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/09-ErrorScreen.js +0 -14
- package/dist/features/onboarding-flow/screens/09-ErrorScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js +0 -18
- package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js +0 -18
- package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js +0 -18
- package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js.map +0 -1
- package/dist/features/onboarding-flow/screens/index.d.ts +0 -7
- package/dist/features/onboarding-flow/screens/index.js +0 -8
- package/dist/features/onboarding-flow/screens/index.js.map +0 -1
- package/dist/features/onboarding-flow/types.js.map +0 -1
- package/dist/features/onboarding-flow/utils/depositStorage.d.ts +0 -4
- package/dist/features/onboarding-flow/utils/depositStorage.js +0 -48
- package/dist/features/onboarding-flow/utils/depositStorage.js.map +0 -1
- package/dist/features/onboarding-flow/utils/imageUtils.d.ts +0 -21
- package/dist/features/onboarding-flow/utils/imageUtils.js +0 -110
- package/dist/features/onboarding-flow/utils/imageUtils.js.map +0 -1
- package/dist/features/onboarding-flow/utils/nordUser.d.ts +0 -1
- package/dist/features/onboarding-flow/utils/nordUser.js.map +0 -1
- package/dist/features/onboarding-flow/utils/nordUtils.d.ts +0 -40
- package/dist/features/onboarding-flow/utils/nordUtils.js +0 -64
- package/dist/features/onboarding-flow/utils/nordUtils.js.map +0 -1
- package/dist/features/onboarding-flow/utils/session.d.ts +0 -17
- package/dist/features/onboarding-flow/utils/session.js +0 -69
- package/dist/features/onboarding-flow/utils/session.js.map +0 -1
- package/dist/features/onboarding-flow/utils/transaction.js +0 -8
- package/dist/features/onboarding-flow/utils/transaction.js.map +0 -1
- package/dist/features/onboarding-flow/utils/utils.js.map +0 -1
- package/dist/features/onboarding-flow/utils/withImageFallback.d.ts +0 -7
- package/dist/features/onboarding-flow/utils/withImageFallback.js.map +0 -1
- package/dist/features/turnkey/createTurnkeyWallet.d.ts +0 -25
- package/dist/features/turnkey/createTurnkeyWallet.js +0 -119
- package/dist/features/turnkey/createTurnkeyWallet.js.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useN1Wallet.d.ts +0 -2
- package/dist/hooks/useN1Wallet.js.map +0 -1
- package/dist/hooks/useNordUserInitialization.d.ts +0 -1
- package/dist/hooks/useNordUserInitialization.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/dist/polyfills/windowEthereumGuard.d.ts +0 -6
- package/dist/polyfills/windowEthereumGuard.js +0 -28
- package/dist/polyfills/windowEthereumGuard.js.map +0 -1
- package/dist/providers/LazyWalletProvider.d.ts +0 -1
- package/dist/providers/LazyWalletProvider.js +0 -230
- package/dist/providers/LazyWalletProvider.js.map +0 -1
- package/dist/providers/N1WalletProvider.d.ts +0 -3
- package/dist/providers/N1WalletProvider.js +0 -267
- package/dist/providers/N1WalletProvider.js.map +0 -1
- package/dist/providers/ShadowRootWrapper.js.map +0 -1
- package/dist/providers/TurnkeyProviderBridge.d.ts +0 -7
- package/dist/providers/TurnkeyProviderBridge.js +0 -20
- package/dist/providers/TurnkeyProviderBridge.js.map +0 -1
- package/dist/providers/WalletErrorBoundary.js.map +0 -1
- package/dist/styles/embedded-main-css.d.ts +0 -2
- package/dist/styles/embedded-main-css.js +0 -3
- package/dist/styles/embedded-main-css.js.map +0 -1
- package/dist/turnkey/TurnkeyProvider.d.ts +0 -9
- package/dist/turnkey/TurnkeyProvider.js +0 -378
- package/dist/turnkey/TurnkeyProvider.js.map +0 -1
- package/dist/turnkey/createWalletProvider.d.ts +0 -3
- package/dist/turnkey/createWalletProvider.js +0 -180
- package/dist/turnkey/createWalletProvider.js.map +0 -1
- package/dist/turnkey/index.d.ts +0 -3
- package/dist/turnkey/index.js +0 -3
- package/dist/turnkey/index.js.map +0 -1
- package/dist/turnkey/types.js +0 -8
- package/dist/turnkey/types.js.map +0 -1
- package/dist/types/wallet.js.map +0 -1
- package/dist/utils/ed25519.js.map +0 -1
- package/dist/utils/getPseudoName.d.ts +0 -1
- package/dist/utils/getPseudoName.js +0 -5826
- package/dist/utils/getPseudoName.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -21
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/shortenString.d.ts +0 -2
- package/dist/utils/shortenString.js +0 -9
- package/dist/utils/shortenString.js.map +0 -1
- package/dist/utils/turnkeySessionStorage.d.ts +0 -3
- package/dist/utils/turnkeySessionStorage.js +0 -33
- package/dist/utils/turnkeySessionStorage.js.map +0 -1
- package/dist/utils/words.d.ts +0 -9
- package/dist/utils/words.js +0 -93572
- package/dist/utils/words.js.map +0 -1
- /package/dist/{animations → src/animations}/N1Loader.d.ts +0 -0
- /package/dist/{animations → src/animations}/N1Loader.js +0 -0
- /package/dist/{animations → src/animations}/Processing.d.ts +0 -0
- /package/dist/{animations → src/animations}/Processing.js +0 -0
- /package/dist/{components → src/components}/logos/ArbitrumLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/ArbitrumLogo.js +0 -0
- /package/dist/{components → src/components}/logos/BaseLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/BeraLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/BeraLogo.js +0 -0
- /package/dist/{components → src/components}/logos/BitcoinLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/BitcoinLogo.js +0 -0
- /package/dist/{components → src/components}/logos/EthereumLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/EthereumLogo.js +0 -0
- /package/dist/{components → src/components}/logos/HyperliquidLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/OptimismLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/OptimismLogo.js +0 -0
- /package/dist/{components → src/components}/logos/SolanaLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/SolanaLogo.js +0 -0
- /package/dist/{components → src/components}/logos/ZeroOneLogo.d.ts +0 -0
- /package/dist/{components → src/components}/logos/ZeroOneLogo.js +0 -0
- /package/dist/{components → src/components}/logos/index.d.ts +0 -0
- /package/dist/{components → src/components}/logos/index.js +0 -0
- /package/dist/{config → src/config}/dynamic.d.ts +0 -0
- /package/dist/{config → src/config}/solana.d.ts +0 -0
- /package/dist/{config → src/config}/solana.js +0 -0
- /package/dist/{context → src/context}/n1-wallet-context.d.ts +0 -0
- /package/dist/{context → src/context}/n1-wallet-context.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/N1WalletModal.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/components/ImageWithFallback.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/components/ImageWithFallback.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/components/index.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/components/index.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/index.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/index.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/providers/debug.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/providers/index.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/providers/index.js +0 -0
- /package/dist/{features → src/features}/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +0 -0
- /package/dist/{features → src/features}/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/index.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/index.js +0 -0
- /package/dist/{types → src/types}/wallet.js +0 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic SDK Service
|
|
3
|
+
*
|
|
4
|
+
* Handles loading and configuration of the Dynamic Labs SDK.
|
|
5
|
+
* Extracted from LazyWalletProvider to enable:
|
|
6
|
+
* - Testable pure functions
|
|
7
|
+
* - Centralized proxy configuration
|
|
8
|
+
* - Clear separation from React lifecycle
|
|
9
|
+
*/
|
|
10
|
+
var __assign = (this && this.__assign) || function () {
|
|
11
|
+
__assign = Object.assign || function(t) {
|
|
12
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
13
|
+
s = arguments[i];
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
}
|
|
17
|
+
return t;
|
|
18
|
+
};
|
|
19
|
+
return __assign.apply(this, arguments);
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
+
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);
|
|
32
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
+
function step(op) {
|
|
35
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
37
|
+
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;
|
|
38
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
+
switch (op[0]) {
|
|
40
|
+
case 0: case 1: t = op; break;
|
|
41
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
+
default:
|
|
45
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
+
if (t[2]) _.ops.pop();
|
|
50
|
+
_.trys.pop(); continue;
|
|
51
|
+
}
|
|
52
|
+
op = body.call(thisArg, _);
|
|
53
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
58
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
59
|
+
if (ar || !(i in from)) {
|
|
60
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
61
|
+
ar[i] = from[i];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
65
|
+
};
|
|
66
|
+
import { logger } from '../../utils/logger';
|
|
67
|
+
// ============================================
|
|
68
|
+
// CONSTANTS
|
|
69
|
+
// ============================================
|
|
70
|
+
var DEFAULT_PROXY_CONFIG = {
|
|
71
|
+
proxyBase: '/api/dynamic',
|
|
72
|
+
targetDomains: ['app.dynamicauth.com', 'logs.dynamicauth.com'],
|
|
73
|
+
};
|
|
74
|
+
// ============================================
|
|
75
|
+
// PROXY PATCHING
|
|
76
|
+
// ============================================
|
|
77
|
+
/** Track if proxy has been applied */
|
|
78
|
+
var isProxyPatched = false;
|
|
79
|
+
/**
|
|
80
|
+
* Check if we're running on localhost (development).
|
|
81
|
+
*/
|
|
82
|
+
export function isLocalhost() {
|
|
83
|
+
if (typeof window === 'undefined')
|
|
84
|
+
return false;
|
|
85
|
+
var hostname = window.location.hostname;
|
|
86
|
+
return hostname === 'localhost' || hostname === '127.0.0.1';
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Patch fetch and XMLHttpRequest to proxy Dynamic Auth requests.
|
|
90
|
+
* Only applies on localhost for development.
|
|
91
|
+
*
|
|
92
|
+
* This is idempotent - safe to call multiple times.
|
|
93
|
+
*/
|
|
94
|
+
export function patchFetchForProxy(config) {
|
|
95
|
+
var _this = this;
|
|
96
|
+
if (config === void 0) { config = DEFAULT_PROXY_CONFIG; }
|
|
97
|
+
if (typeof window === 'undefined')
|
|
98
|
+
return false;
|
|
99
|
+
if (!isLocalhost())
|
|
100
|
+
return false;
|
|
101
|
+
if (isProxyPatched)
|
|
102
|
+
return true;
|
|
103
|
+
var proxyBase = config.proxyBase, targetDomains = config.targetDomains;
|
|
104
|
+
// Helper to rewrite URL
|
|
105
|
+
var rewriteUrl = function (originalUrl) {
|
|
106
|
+
if (!targetDomains.some(function (domain) { return originalUrl.includes(domain); })) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
var urlObj = new URL(originalUrl);
|
|
111
|
+
var path = urlObj.pathname;
|
|
112
|
+
var search = urlObj.search;
|
|
113
|
+
// Remove /api/ prefix if present, then prepend with proxy base
|
|
114
|
+
var cleanPath = path.startsWith('/api/')
|
|
115
|
+
? path.slice(4)
|
|
116
|
+
: path.startsWith('/')
|
|
117
|
+
? path.slice(1)
|
|
118
|
+
: path;
|
|
119
|
+
return "".concat(proxyBase, "/").concat(cleanPath).concat(search);
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
logger.warn('[DynamicSdkService] Failed to rewrite URL', { originalUrl: originalUrl, error: e });
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
// Patch fetch
|
|
127
|
+
var originalFetch = window.fetch;
|
|
128
|
+
window.fetch = function (input, init) { return __awaiter(_this, void 0, void 0, function () {
|
|
129
|
+
var url, proxyUrl;
|
|
130
|
+
return __generator(this, function (_a) {
|
|
131
|
+
if (typeof input === 'string') {
|
|
132
|
+
url = input;
|
|
133
|
+
}
|
|
134
|
+
else if (input instanceof URL) {
|
|
135
|
+
url = input.href;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
url = input.url;
|
|
139
|
+
}
|
|
140
|
+
proxyUrl = rewriteUrl(url);
|
|
141
|
+
if (proxyUrl) {
|
|
142
|
+
logger.debug('[DynamicSdkService] Proxying fetch', { from: url, to: proxyUrl });
|
|
143
|
+
return [2 /*return*/, originalFetch(proxyUrl, init)];
|
|
144
|
+
}
|
|
145
|
+
return [2 /*return*/, originalFetch(input, init)];
|
|
146
|
+
});
|
|
147
|
+
}); };
|
|
148
|
+
// Patch XMLHttpRequest
|
|
149
|
+
var originalOpen = XMLHttpRequest.prototype.open;
|
|
150
|
+
XMLHttpRequest.prototype.open = function (method, url) {
|
|
151
|
+
var args = [];
|
|
152
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
153
|
+
args[_i - 2] = arguments[_i];
|
|
154
|
+
}
|
|
155
|
+
var urlStr = url.toString();
|
|
156
|
+
var proxyUrl = rewriteUrl(urlStr);
|
|
157
|
+
if (proxyUrl) {
|
|
158
|
+
logger.debug('[DynamicSdkService] Proxying XHR', { from: urlStr, to: proxyUrl });
|
|
159
|
+
return originalOpen.call.apply(originalOpen, __spreadArray([this,
|
|
160
|
+
method,
|
|
161
|
+
proxyUrl], args, false));
|
|
162
|
+
}
|
|
163
|
+
return originalOpen.call.apply(originalOpen, __spreadArray([this,
|
|
164
|
+
method,
|
|
165
|
+
urlStr], args, false));
|
|
166
|
+
};
|
|
167
|
+
isProxyPatched = true;
|
|
168
|
+
logger.debug('[DynamicSdkService] Proxy patching complete');
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
// ============================================
|
|
172
|
+
// SDK LOADING
|
|
173
|
+
// ============================================
|
|
174
|
+
/** Cache loaded SDK components */
|
|
175
|
+
var cachedSdkResult = null;
|
|
176
|
+
var loadPromise = null;
|
|
177
|
+
/**
|
|
178
|
+
* Load Dynamic SDK dependencies.
|
|
179
|
+
*
|
|
180
|
+
* This is memoized - subsequent calls return the cached result.
|
|
181
|
+
*/
|
|
182
|
+
export function loadDynamicSdk() {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
184
|
+
var _this = this;
|
|
185
|
+
return __generator(this, function (_a) {
|
|
186
|
+
// Return cached if available
|
|
187
|
+
if (cachedSdkResult) {
|
|
188
|
+
return [2 /*return*/, cachedSdkResult];
|
|
189
|
+
}
|
|
190
|
+
// Return in-flight promise if loading
|
|
191
|
+
if (loadPromise) {
|
|
192
|
+
return [2 /*return*/, loadPromise];
|
|
193
|
+
}
|
|
194
|
+
loadPromise = (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
195
|
+
var _a, _b, DynamicContextProvider, DynamicWidget, SolanaWalletConnectors, EthereumWalletConnectors, result, error_1;
|
|
196
|
+
return __generator(this, function (_c) {
|
|
197
|
+
switch (_c.label) {
|
|
198
|
+
case 0:
|
|
199
|
+
logger.debug('[DynamicSdkService] Loading SDK dependencies');
|
|
200
|
+
_c.label = 1;
|
|
201
|
+
case 1:
|
|
202
|
+
_c.trys.push([1, 3, , 4]);
|
|
203
|
+
return [4 /*yield*/, Promise.all([
|
|
204
|
+
import('@dynamic-labs/sdk-react-core'),
|
|
205
|
+
import('@dynamic-labs/solana'),
|
|
206
|
+
import('@dynamic-labs/ethereum'),
|
|
207
|
+
])];
|
|
208
|
+
case 2:
|
|
209
|
+
_a = _c.sent(), _b = _a[0], DynamicContextProvider = _b.DynamicContextProvider, DynamicWidget = _b.DynamicWidget, SolanaWalletConnectors = _a[1].SolanaWalletConnectors, EthereumWalletConnectors = _a[2].EthereumWalletConnectors;
|
|
210
|
+
result = {
|
|
211
|
+
provider: DynamicContextProvider,
|
|
212
|
+
widget: DynamicWidget,
|
|
213
|
+
solanaConnector: SolanaWalletConnectors,
|
|
214
|
+
evmConnector: EthereumWalletConnectors,
|
|
215
|
+
};
|
|
216
|
+
cachedSdkResult = result;
|
|
217
|
+
logger.debug('[DynamicSdkService] SDK loaded successfully');
|
|
218
|
+
return [2 /*return*/, result];
|
|
219
|
+
case 3:
|
|
220
|
+
error_1 = _c.sent();
|
|
221
|
+
loadPromise = null; // Allow retry on failure
|
|
222
|
+
logger.error('[DynamicSdkService] Failed to load SDK', { error: error_1 });
|
|
223
|
+
throw error_1;
|
|
224
|
+
case 4: return [2 /*return*/];
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}); })();
|
|
228
|
+
return [2 /*return*/, loadPromise];
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Check if SDK is already loaded.
|
|
234
|
+
*/
|
|
235
|
+
export function isSdkLoaded() {
|
|
236
|
+
return cachedSdkResult !== null;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get cached SDK result (or null if not loaded).
|
|
240
|
+
*/
|
|
241
|
+
export function getCachedSdk() {
|
|
242
|
+
return cachedSdkResult;
|
|
243
|
+
}
|
|
244
|
+
// ============================================
|
|
245
|
+
// SDK CONFIGURATION
|
|
246
|
+
// ============================================
|
|
247
|
+
/**
|
|
248
|
+
* Build Dynamic SDK settings object.
|
|
249
|
+
*/
|
|
250
|
+
export function buildSdkSettings(config, evmNetworksFn) {
|
|
251
|
+
return {
|
|
252
|
+
initialAuthenticationMode: 'connect-only',
|
|
253
|
+
environmentId: config.environmentId,
|
|
254
|
+
silentAuthentication: true,
|
|
255
|
+
silentAuth: true,
|
|
256
|
+
theme: {
|
|
257
|
+
mode: 'dark',
|
|
258
|
+
},
|
|
259
|
+
overrides: evmNetworksFn
|
|
260
|
+
? {
|
|
261
|
+
evmNetworks: evmNetworksFn,
|
|
262
|
+
}
|
|
263
|
+
: undefined,
|
|
264
|
+
events: {
|
|
265
|
+
onAuthSuccess: function (args) {
|
|
266
|
+
logger.debug('[DynamicSdkService] onAuthSuccess', args);
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Build Solana network configuration for Dynamic SDK.
|
|
273
|
+
*/
|
|
274
|
+
export function buildSolanaNetworks(rpcUrl) {
|
|
275
|
+
return [
|
|
276
|
+
{
|
|
277
|
+
chainId: 101, // Solana mainnet
|
|
278
|
+
networkId: 101,
|
|
279
|
+
name: 'Solana',
|
|
280
|
+
vanityName: 'Solana Mainnet',
|
|
281
|
+
rpcUrls: [rpcUrl],
|
|
282
|
+
privateCustomerRpcUrls: [],
|
|
283
|
+
blockExplorerUrls: ['https://explorer.solana.com'],
|
|
284
|
+
},
|
|
285
|
+
];
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Create wallet connectors array based on preferred network.
|
|
289
|
+
*/
|
|
290
|
+
export function buildWalletConnectors(sdk, preferredNetwork, solanaNetworks) {
|
|
291
|
+
// Wrap Solana connector with network config
|
|
292
|
+
var solanaConnector = function (opts) {
|
|
293
|
+
return sdk.solanaConnector(__assign(__assign({}, opts), { solNetworks: solanaNetworks }));
|
|
294
|
+
};
|
|
295
|
+
if (preferredNetwork === 'solana') {
|
|
296
|
+
return [solanaConnector];
|
|
297
|
+
}
|
|
298
|
+
if (preferredNetwork === 'evm') {
|
|
299
|
+
return [sdk.evmConnector];
|
|
300
|
+
}
|
|
301
|
+
// Both connectors
|
|
302
|
+
return [solanaConnector, sdk.evmConnector];
|
|
303
|
+
}
|
|
304
|
+
// ============================================
|
|
305
|
+
// WALLET STATE HELPERS
|
|
306
|
+
// ============================================
|
|
307
|
+
/**
|
|
308
|
+
* Determine if a wallet is a Solana wallet based on chain.
|
|
309
|
+
*/
|
|
310
|
+
export function isSolanaWallet(wallet) {
|
|
311
|
+
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.chain))
|
|
312
|
+
return false;
|
|
313
|
+
return String(wallet.chain).toUpperCase().startsWith('SOL');
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Check if wallet address changed since last session.
|
|
317
|
+
* Returns true if address changed (requires logout).
|
|
318
|
+
*/
|
|
319
|
+
export function hasWalletAddressChanged(currentAddress) {
|
|
320
|
+
if (typeof window === 'undefined')
|
|
321
|
+
return false;
|
|
322
|
+
var lastConnectedAddress = window.localStorage.getItem('n1_last_connected_address');
|
|
323
|
+
if (!lastConnectedAddress)
|
|
324
|
+
return false;
|
|
325
|
+
return lastConnectedAddress.toLowerCase() !== currentAddress.toLowerCase();
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Store the current wallet address for session continuity check.
|
|
329
|
+
*/
|
|
330
|
+
export function storeWalletAddress(address) {
|
|
331
|
+
if (typeof window === 'undefined')
|
|
332
|
+
return;
|
|
333
|
+
window.localStorage.setItem('n1_last_connected_address', address);
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=DynamicSdkService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicSdkService.js","sourceRoot":"","sources":["../../../../src/services/bootstrap/DynamicSdkService.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Dynamic SDK Service\n *\n * Handles loading and configuration of the Dynamic Labs SDK.\n * Extracted from LazyWalletProvider to enable:\n * - Testable pure functions\n * - Centralized proxy configuration\n * - Clear separation from React lifecycle\n */\n\nimport { logger } from '../../utils/logger';\nimport type { DynamicSdkConfig, DynamicSdkLoadResult, ProxyConfig } from './types';\n\n// ============================================\n// CONSTANTS\n// ============================================\n\nconst DEFAULT_PROXY_CONFIG: ProxyConfig = {\n proxyBase: '/api/dynamic',\n targetDomains: ['app.dynamicauth.com', 'logs.dynamicauth.com'],\n};\n\n// ============================================\n// PROXY PATCHING\n// ============================================\n\n/** Track if proxy has been applied */\nlet isProxyPatched = false;\n\n/**\n * Check if we're running on localhost (development).\n */\nexport function isLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return hostname === 'localhost' || hostname === '127.0.0.1';\n}\n\n/**\n * Patch fetch and XMLHttpRequest to proxy Dynamic Auth requests.\n * Only applies on localhost for development.\n *\n * This is idempotent - safe to call multiple times.\n */\nexport function patchFetchForProxy(config: ProxyConfig = DEFAULT_PROXY_CONFIG): boolean {\n if (typeof window === 'undefined') return false;\n if (!isLocalhost()) return false;\n if (isProxyPatched) return true;\n\n const { proxyBase, targetDomains } = config;\n\n // Helper to rewrite URL\n const rewriteUrl = (originalUrl: string): string | null => {\n if (!targetDomains.some((domain) => originalUrl.includes(domain))) {\n return null;\n }\n\n try {\n const urlObj = new URL(originalUrl);\n const path = urlObj.pathname;\n const search = urlObj.search;\n\n // Remove /api/ prefix if present, then prepend with proxy base\n const cleanPath = path.startsWith('/api/')\n ? path.slice(4)\n : path.startsWith('/')\n ? path.slice(1)\n : path;\n\n return `${proxyBase}/${cleanPath}${search}`;\n } catch (e) {\n logger.warn('[DynamicSdkService] Failed to rewrite URL', { originalUrl, error: e });\n return null;\n }\n };\n\n // Patch fetch\n const originalFetch = window.fetch;\n window.fetch = async (input: RequestInfo | URL, init?: RequestInit) => {\n let url: string;\n if (typeof input === 'string') {\n url = input;\n } else if (input instanceof URL) {\n url = input.href;\n } else {\n url = input.url;\n }\n\n const proxyUrl = rewriteUrl(url);\n if (proxyUrl) {\n logger.debug('[DynamicSdkService] Proxying fetch', { from: url, to: proxyUrl });\n return originalFetch(proxyUrl, init);\n }\n\n return originalFetch(input, init);\n };\n\n // Patch XMLHttpRequest\n const originalOpen = XMLHttpRequest.prototype.open;\n XMLHttpRequest.prototype.open = function (\n method: string,\n url: string | URL,\n ...args: any[]\n ) {\n const urlStr = url.toString();\n const proxyUrl = rewriteUrl(urlStr);\n\n if (proxyUrl) {\n logger.debug('[DynamicSdkService] Proxying XHR', { from: urlStr, to: proxyUrl });\n return originalOpen.call(\n this,\n method,\n proxyUrl,\n ...(args as [boolean, string | null | undefined, string | null | undefined])\n );\n }\n\n return originalOpen.call(\n this,\n method,\n urlStr,\n ...(args as [boolean, string | null | undefined, string | null | undefined])\n );\n };\n\n isProxyPatched = true;\n logger.debug('[DynamicSdkService] Proxy patching complete');\n return true;\n}\n\n// ============================================\n// SDK LOADING\n// ============================================\n\n/** Cache loaded SDK components */\nlet cachedSdkResult: DynamicSdkLoadResult | null = null;\nlet loadPromise: Promise<DynamicSdkLoadResult> | null = null;\n\n/**\n * Load Dynamic SDK dependencies.\n *\n * This is memoized - subsequent calls return the cached result.\n */\nexport async function loadDynamicSdk(): Promise<DynamicSdkLoadResult> {\n // Return cached if available\n if (cachedSdkResult) {\n return cachedSdkResult;\n }\n\n // Return in-flight promise if loading\n if (loadPromise) {\n return loadPromise;\n }\n\n loadPromise = (async () => {\n logger.debug('[DynamicSdkService] Loading SDK dependencies');\n\n try {\n const [\n { DynamicContextProvider, DynamicWidget },\n { SolanaWalletConnectors },\n { EthereumWalletConnectors },\n ] = await Promise.all([\n import('@dynamic-labs/sdk-react-core'),\n import('@dynamic-labs/solana'),\n import('@dynamic-labs/ethereum'),\n ]);\n\n const result: DynamicSdkLoadResult = {\n provider: DynamicContextProvider,\n widget: DynamicWidget,\n solanaConnector: SolanaWalletConnectors,\n evmConnector: EthereumWalletConnectors,\n };\n\n cachedSdkResult = result;\n logger.debug('[DynamicSdkService] SDK loaded successfully');\n return result;\n } catch (error) {\n loadPromise = null; // Allow retry on failure\n logger.error('[DynamicSdkService] Failed to load SDK', { error });\n throw error;\n }\n })();\n\n return loadPromise;\n}\n\n/**\n * Check if SDK is already loaded.\n */\nexport function isSdkLoaded(): boolean {\n return cachedSdkResult !== null;\n}\n\n/**\n * Get cached SDK result (or null if not loaded).\n */\nexport function getCachedSdk(): DynamicSdkLoadResult | null {\n return cachedSdkResult;\n}\n\n// ============================================\n// SDK CONFIGURATION\n// ============================================\n\n/**\n * Build Dynamic SDK settings object.\n */\nexport function buildSdkSettings(\n config: DynamicSdkConfig,\n evmNetworksFn?: (networks?: any[]) => any[]\n): Record<string, any> {\n return {\n initialAuthenticationMode: 'connect-only',\n environmentId: config.environmentId,\n silentAuthentication: true,\n silentAuth: true,\n theme: {\n mode: 'dark',\n },\n overrides: evmNetworksFn\n ? {\n evmNetworks: evmNetworksFn,\n }\n : undefined,\n events: {\n onAuthSuccess: (args: any) => {\n logger.debug('[DynamicSdkService] onAuthSuccess', args);\n },\n },\n };\n}\n\n/**\n * Build Solana network configuration for Dynamic SDK.\n */\nexport function buildSolanaNetworks(rpcUrl: string): any[] {\n\n return [\n {\n chainId: 101, // Solana mainnet\n networkId: 101,\n name: 'Solana',\n vanityName: 'Solana Mainnet',\n rpcUrls: [rpcUrl],\n privateCustomerRpcUrls: [],\n blockExplorerUrls: ['https://explorer.solana.com'],\n },\n ];\n}\n\n/**\n * Create wallet connectors array based on preferred network.\n */\nexport function buildWalletConnectors(\n sdk: DynamicSdkLoadResult,\n preferredNetwork: 'solana' | 'evm' | null,\n solanaNetworks: any[]\n): any[] {\n // Wrap Solana connector with network config\n const solanaConnector = (opts: any) =>\n sdk.solanaConnector({\n ...opts,\n solNetworks: solanaNetworks,\n });\n\n if (preferredNetwork === 'solana') {\n return [solanaConnector];\n }\n\n if (preferredNetwork === 'evm') {\n return [sdk.evmConnector];\n }\n\n // Both connectors\n return [solanaConnector, sdk.evmConnector];\n}\n\n// ============================================\n// WALLET STATE HELPERS\n// ============================================\n\n/**\n * Determine if a wallet is a Solana wallet based on chain.\n */\nexport function isSolanaWallet(wallet: { chain?: string } | null): boolean {\n if (!wallet?.chain) return false;\n return String(wallet.chain).toUpperCase().startsWith('SOL');\n}\n\n/**\n * Check if wallet address changed since last session.\n * Returns true if address changed (requires logout).\n */\nexport function hasWalletAddressChanged(currentAddress: string): boolean {\n if (typeof window === 'undefined') return false;\n\n const lastConnectedAddress = window.localStorage.getItem('n1_last_connected_address');\n if (!lastConnectedAddress) return false;\n\n return lastConnectedAddress.toLowerCase() !== currentAddress.toLowerCase();\n}\n\n/**\n * Store the current wallet address for session continuity check.\n */\nexport function storeWalletAddress(address: string): void {\n if (typeof window === 'undefined') return;\n window.localStorage.setItem('n1_last_connected_address', address);\n}\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Bootstrap Service
|
|
3
|
+
*
|
|
4
|
+
* Handles session key generation, storage, and signing function creation.
|
|
5
|
+
* Extracted from useNordUserInitialization to enable:
|
|
6
|
+
* - Testable pure functions
|
|
7
|
+
* - Clear separation from React lifecycle
|
|
8
|
+
* - Reusable session logic
|
|
9
|
+
*/
|
|
10
|
+
export interface StoredSessionKeys {
|
|
11
|
+
ed25519PrivateKey: Uint8Array;
|
|
12
|
+
ed25519PublicKey: Uint8Array;
|
|
13
|
+
walletPublicKey: string;
|
|
14
|
+
chainName: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SessionKeyPair {
|
|
17
|
+
privateKey: Uint8Array;
|
|
18
|
+
publicKey: Uint8Array;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if session keys exist for an address.
|
|
22
|
+
*/
|
|
23
|
+
export declare function hasStoredSessionKeys(address: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Read stored session keys for an address.
|
|
26
|
+
*/
|
|
27
|
+
export declare function readSessionKeys(address: string): StoredSessionKeys | null;
|
|
28
|
+
/**
|
|
29
|
+
* Store session keys for an address.
|
|
30
|
+
*/
|
|
31
|
+
export declare function storeSessionKeys(params: {
|
|
32
|
+
address: string;
|
|
33
|
+
privateKey: Uint8Array;
|
|
34
|
+
publicKey: Uint8Array;
|
|
35
|
+
chainName?: string;
|
|
36
|
+
}): void;
|
|
37
|
+
/**
|
|
38
|
+
* Clear session keys for an address.
|
|
39
|
+
*/
|
|
40
|
+
export declare function clearSessionKeys(address: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Read stored session ID for an address.
|
|
43
|
+
*/
|
|
44
|
+
export declare function readSessionId(address: string): bigint | null;
|
|
45
|
+
/**
|
|
46
|
+
* Store session ID for an address.
|
|
47
|
+
*/
|
|
48
|
+
export declare function storeSessionId(address: string, sessionId: bigint): void;
|
|
49
|
+
/**
|
|
50
|
+
* Clear session ID for an address.
|
|
51
|
+
*/
|
|
52
|
+
export declare function clearSessionId(address: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get or create session key pair for an address.
|
|
55
|
+
*
|
|
56
|
+
* This function:
|
|
57
|
+
* 1. Checks for existing stored keys
|
|
58
|
+
* 2. If found, returns them
|
|
59
|
+
* 3. If not found, generates new keys (caller must provide generator)
|
|
60
|
+
*/
|
|
61
|
+
export declare function getOrCreateSessionKeyPair(address: string, generateKeyPair: () => Promise<SessionKeyPair>): Promise<SessionKeyPair>;
|
|
62
|
+
/**
|
|
63
|
+
* Check if a session is fully initialized.
|
|
64
|
+
*/
|
|
65
|
+
export declare function isSessionReady(params: {
|
|
66
|
+
sessionPubKey: Uint8Array | null;
|
|
67
|
+
signMessageWithSessionKey: unknown;
|
|
68
|
+
signMessageWithWalletKey: unknown;
|
|
69
|
+
signTransactionWithWalletKey: unknown;
|
|
70
|
+
}): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Clear all session data for an address.
|
|
73
|
+
*/
|
|
74
|
+
export declare function clearAllSessionData(address: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Validate session keys are usable.
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateSessionKeys(keys: StoredSessionKeys): boolean;
|