@n1xyz/wallet-widget 0.0.35-alpha.0 → 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.d.ts +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/src/config/turnkey.js +32 -0
- 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/{features → src/features}/onboarding-flow/components/ImageWithFallback.d.ts +2 -5
- package/dist/src/features/onboarding-flow/components/ImageWithFallback.js +33 -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/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +1 -0
- package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js +25 -0
- package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
- package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +1 -0
- package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +25 -0
- package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
- package/dist/{features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts → src/features/onboarding-flow/screens/04-ChainSelectionScreen.d.ts} +11 -11
- package/dist/{features/onboarding-flow/screens/02-ChainSelectionScreen.js → src/features/onboarding-flow/screens/04-ChainSelectionScreen.js} +60 -30
- 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/onboarding-flow/screens/04-DepositProgressScreen.d.ts → 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/onboarding-flow/screens/05-DepositSuccessScreen.js → src/features/onboarding-flow/screens/07-DepositSuccessScreen.js} +12 -6
- 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/onboarding-flow/screens/06-AuthLoadingScreen.js → src/features/onboarding-flow/screens/08-AuthLoadingScreen.js} +6 -2
- 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 -5
- 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/{styles → src/styles}/cdn-fonts.js +20 -2
- 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/src/turnkey/types.d.ts +61 -0
- 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 +5 -20
- 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 +45 -29
- 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/solana.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 +0 -63
- 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.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/04-DepositProgressScreen.js +0 -31
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.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.map +0 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.d.ts +0 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.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/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/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 -271
- package/dist/providers/N1WalletProvider.js.map +0 -1
- package/dist/providers/ShadowRootWrapper.js.map +0 -1
- package/dist/providers/WalletErrorBoundary.js.map +0 -1
- package/dist/styles/cdn-fonts.d.ts +0 -1
- package/dist/styles/cdn-fonts.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/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/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}/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/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/{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
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useEffect, useRef } from 'react';
|
|
4
4
|
import { Header } from './components';
|
|
5
5
|
import { useOnboardingState } from './providers';
|
|
6
|
-
import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, } from './screens';
|
|
6
|
+
import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EntrySelectionScreen, TurnkeyAuthScreen, TurnkeyPreparingScreen, } from './screens';
|
|
7
7
|
import { OnboardingStep } from './types';
|
|
8
8
|
import { withImageFallback } from './utils/withImageFallback';
|
|
9
9
|
// Apply the withImageFallback HOC to all screen components
|
|
@@ -14,9 +14,21 @@ var EnhancedDepositProgressScreen = withImageFallback(DepositProgressScreen);
|
|
|
14
14
|
var EnhancedDepositSuccessScreen = withImageFallback(DepositSuccessScreen);
|
|
15
15
|
var EnhancedAuthLoadingScreen = withImageFallback(AuthLoadingScreen);
|
|
16
16
|
var EnhancedErrorScreen = withImageFallback(ErrorScreen);
|
|
17
|
+
var EnhancedTurnkeyAuthScreen = withImageFallback(TurnkeyAuthScreen);
|
|
18
|
+
var EnhancedTurnkeyPreparingScreen = withImageFallback(TurnkeyPreparingScreen);
|
|
19
|
+
var EnhancedEntrySelectionScreen = withImageFallback(EntrySelectionScreen);
|
|
17
20
|
var DEFAULT_HEADER_CONFIG = { title: 'Bridge' };
|
|
18
21
|
var HEADER_CONFIG = (_a = {},
|
|
19
|
-
_a[OnboardingStep.
|
|
22
|
+
_a[OnboardingStep.ENTRY_SELECTION] = { title: 'Choose a wallet path' },
|
|
23
|
+
_a[OnboardingStep.CONNECTING_WALLET] = {
|
|
24
|
+
title: 'Connect Wallet',
|
|
25
|
+
backTarget: {
|
|
26
|
+
state: OnboardingStep.ENTRY_SELECTION,
|
|
27
|
+
contextUpdates: { entryNetwork: null, selectedChain: null, selectedChainId: null, selectedChainNetwork: null },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
_a[OnboardingStep.TURNKEY_AUTH] = { title: 'Secure Turnkey Login' },
|
|
31
|
+
_a[OnboardingStep.TURNKEY_PREPARING] = { title: 'Preparing Solana Wallet' },
|
|
20
32
|
_a[OnboardingStep.CHAIN_SELECTION] = { title: 'Select Network' },
|
|
21
33
|
_a[OnboardingStep.AMOUNT_INPUT] = {
|
|
22
34
|
title: 'Enter Amount',
|
|
@@ -29,10 +41,22 @@ var HEADER_CONFIG = (_a = {},
|
|
|
29
41
|
_a[OnboardingStep.DEPOSIT_SUCCESS] = { title: 'Deposit Complete' },
|
|
30
42
|
_a[OnboardingStep.AUTH_LOADING] = { title: 'Authenticating' },
|
|
31
43
|
_a[OnboardingStep.FINAL_SUCCESS] = { title: 'All Set' },
|
|
32
|
-
_a[OnboardingStep.ERROR] = {
|
|
44
|
+
_a[OnboardingStep.ERROR] = {
|
|
45
|
+
title: 'Something Went Wrong',
|
|
46
|
+
backTarget: {
|
|
47
|
+
state: OnboardingStep.ENTRY_SELECTION,
|
|
48
|
+
contextUpdates: {
|
|
49
|
+
entryNetwork: null,
|
|
50
|
+
selectedChain: null,
|
|
51
|
+
selectedChainId: null,
|
|
52
|
+
selectedChainNetwork: null,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
33
56
|
_a);
|
|
34
57
|
/**
|
|
35
|
-
* Main component
|
|
58
|
+
* Main component that renders the appropriate screen based on onboarding state.
|
|
59
|
+
* Handles screen transitions, header configuration, and auto-closes on completion.
|
|
36
60
|
*/
|
|
37
61
|
export var OnboardingFlow = function (_a) {
|
|
38
62
|
var onClose = _a.onClose;
|
|
@@ -53,18 +77,36 @@ export var OnboardingFlow = function (_a) {
|
|
|
53
77
|
var backTarget = headerConfig.backTarget;
|
|
54
78
|
var handleBack = backTarget
|
|
55
79
|
? function () {
|
|
56
|
-
if (backTarget.
|
|
57
|
-
actions.
|
|
80
|
+
if (backTarget.contextUpdates) {
|
|
81
|
+
actions.updateContext(backTarget.contextUpdates);
|
|
82
|
+
}
|
|
83
|
+
switch (backTarget.state) {
|
|
84
|
+
case OnboardingStep.CHAIN_SELECTION:
|
|
85
|
+
actions.goToChainSelection({ resetSelection: true });
|
|
86
|
+
break;
|
|
87
|
+
case OnboardingStep.ENTRY_SELECTION:
|
|
88
|
+
actions.resetFlow();
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
break;
|
|
58
92
|
}
|
|
59
93
|
}
|
|
60
94
|
: undefined;
|
|
61
95
|
return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era", children: _jsxs("div", { className: "bg-n1-ww-gray-700 relative border border-n1-ww-border rounded-[6px] transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] m-4 origin-center will-change-[max-width,transform,opacity]", style: { width: 400 }, children: [_jsx(Header, { onClose: onClose, title: headerConfig.title, onBack: handleBack }), _jsx("div", { className: "wallet-connection-flow-content p-4 overflow-visible", children: _jsx(OnboardingFlowScreenRenderer, { state: state, isClosing: isClosing }) })] }) }));
|
|
62
96
|
};
|
|
63
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Maps onboarding state to the corresponding screen component.
|
|
99
|
+
*/
|
|
64
100
|
var renderScreenForState = function (state) {
|
|
65
101
|
switch (state) {
|
|
102
|
+
case OnboardingStep.ENTRY_SELECTION:
|
|
103
|
+
return _jsx(EnhancedEntrySelectionScreen, {});
|
|
66
104
|
case OnboardingStep.CONNECTING_WALLET:
|
|
67
105
|
return _jsx(EnhancedConnectWalletScreen, {});
|
|
106
|
+
case OnboardingStep.TURNKEY_AUTH:
|
|
107
|
+
return _jsx(EnhancedTurnkeyAuthScreen, {});
|
|
108
|
+
case OnboardingStep.TURNKEY_PREPARING:
|
|
109
|
+
return _jsx(EnhancedTurnkeyPreparingScreen, {});
|
|
68
110
|
case OnboardingStep.CHAIN_SELECTION:
|
|
69
111
|
return _jsx(EnhancedChainSelectionScreen, {});
|
|
70
112
|
case OnboardingStep.AMOUNT_INPUT:
|
|
@@ -78,9 +120,13 @@ var renderScreenForState = function (state) {
|
|
|
78
120
|
case OnboardingStep.ERROR:
|
|
79
121
|
return _jsx(EnhancedErrorScreen, {});
|
|
80
122
|
default:
|
|
81
|
-
return _jsx(
|
|
123
|
+
return _jsx(EnhancedEntrySelectionScreen, {});
|
|
82
124
|
}
|
|
83
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* Renders the active screen with fade animations.
|
|
128
|
+
* Caches screen elements to prevent unnecessary re-renders during transitions.
|
|
129
|
+
*/
|
|
84
130
|
var OnboardingFlowScreenRenderer = function (_a) {
|
|
85
131
|
var state = _a.state, isClosing = _a.isClosing;
|
|
86
132
|
var cachedScreenRef = useRef({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingFlow.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/OnboardingFlow.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Header } from './components';\nimport { useOnboardingState } from './providers';\nimport {\n AmountInputScreen,\n AuthLoadingScreen,\n ChainSelectionScreen,\n ConnectWalletScreen,\n DepositProgressScreen,\n DepositSuccessScreen,\n ErrorScreen,\n EntrySelectionScreen,\n TurnkeyAuthScreen,\n TurnkeyPreparingScreen,\n} from './screens';\nimport { OnboardingContext, OnboardingStep } from './types';\nimport { withImageFallback } from './utils/withImageFallback';\n\ninterface OnboardingFlowProps {\n onClose?: () => void;\n}\n\n// Apply the withImageFallback HOC to all screen components\nconst EnhancedConnectWalletScreen = withImageFallback(ConnectWalletScreen);\nconst EnhancedChainSelectionScreen = withImageFallback(ChainSelectionScreen);\nconst EnhancedAmountInputScreen = withImageFallback(AmountInputScreen);\nconst EnhancedDepositProgressScreen = withImageFallback(DepositProgressScreen);\nconst EnhancedDepositSuccessScreen = withImageFallback(DepositSuccessScreen);\nconst EnhancedAuthLoadingScreen = withImageFallback(AuthLoadingScreen);\nconst EnhancedErrorScreen = withImageFallback(ErrorScreen);\nconst EnhancedTurnkeyAuthScreen = withImageFallback(TurnkeyAuthScreen);\nconst EnhancedTurnkeyPreparingScreen = withImageFallback(TurnkeyPreparingScreen);\nconst EnhancedEntrySelectionScreen = withImageFallback(EntrySelectionScreen);\n\ninterface HeaderDisplayConfig {\n title: string;\n backTarget?: {\n state: OnboardingStep;\n contextUpdates?: Partial<OnboardingContext>;\n };\n}\n\nconst DEFAULT_HEADER_CONFIG: HeaderDisplayConfig = { title: 'Bridge' };\n\nconst HEADER_CONFIG: Record<OnboardingStep, HeaderDisplayConfig> = {\n [OnboardingStep.ENTRY_SELECTION]: { title: 'Choose a wallet path' },\n [OnboardingStep.CONNECTING_WALLET]: {\n title: 'Connect Wallet',\n backTarget: {\n state: OnboardingStep.ENTRY_SELECTION,\n contextUpdates: { entryNetwork: null, selectedChain: null, selectedChainId: null, selectedChainNetwork: null },\n },\n },\n [OnboardingStep.TURNKEY_AUTH]: { title: 'Secure Turnkey Login' },\n [OnboardingStep.TURNKEY_PREPARING]: { title: 'Preparing Solana Wallet' },\n [OnboardingStep.CHAIN_SELECTION]: { title: 'Select Network' },\n [OnboardingStep.AMOUNT_INPUT]: {\n title: 'Enter Amount',\n backTarget: {\n state: OnboardingStep.CHAIN_SELECTION,\n contextUpdates: { selectedChain: null, amount: '' },\n },\n },\n [OnboardingStep.DEPOSIT_PROGRESS]: { title: 'Processing Deposit' },\n [OnboardingStep.DEPOSIT_SUCCESS]: { title: 'Deposit Complete' },\n [OnboardingStep.AUTH_LOADING]: { title: 'Authenticating' },\n [OnboardingStep.FINAL_SUCCESS]: { title: 'All Set' },\n [OnboardingStep.ERROR]: {\n title: 'Something Went Wrong',\n backTarget: {\n state: OnboardingStep.ENTRY_SELECTION,\n contextUpdates: {\n entryNetwork: null,\n selectedChain: null,\n selectedChainId: null,\n selectedChainNetwork: null,\n },\n },\n },\n};\n\n/**\n * Main component that renders the appropriate screen based on onboarding state.\n * Handles screen transitions, header configuration, and auto-closes on completion.\n */\nexport const OnboardingFlow: React.FC<OnboardingFlowProps> = ({ onClose }) => {\n const { state, actions, isClosing } = useOnboardingState();\n const shouldAutoClose = state === OnboardingStep.FINAL_SUCCESS;\n\n useEffect(() => {\n if (!shouldAutoClose) {\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }, [shouldAutoClose, onClose]);\n\n if (shouldAutoClose) {\n return null;\n }\n\n const headerConfig = HEADER_CONFIG[state] || DEFAULT_HEADER_CONFIG;\n const backTarget = headerConfig.backTarget;\n const handleBack = backTarget\n ? () => {\n if (backTarget.contextUpdates) {\n actions.updateContext(backTarget.contextUpdates);\n }\n switch (backTarget.state) {\n case OnboardingStep.CHAIN_SELECTION:\n actions.goToChainSelection({ resetSelection: true });\n break;\n case OnboardingStep.ENTRY_SELECTION:\n actions.resetFlow();\n break;\n default:\n break;\n }\n }\n : undefined;\n\n return (\n <div\n className={`z-50 flex items-center justify-center overflow-auto font-era`}\n >\n <div\n className=\"bg-n1-ww-gray-700 relative border border-n1-ww-border rounded-[6px] transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] m-4 origin-center will-change-[max-width,transform,opacity]\"\n style={{ width: 400 }}\n >\n {/* Header */}\n <Header\n onClose={onClose}\n title={headerConfig.title}\n onBack={handleBack}\n />\n\n {/* Content */}\n <div className=\"wallet-connection-flow-content p-4 overflow-visible\">\n <OnboardingFlowScreenRenderer\n state={state}\n isClosing={isClosing}\n />\n </div>\n </div>\n </div>\n );\n};\n\n/**\n * Maps onboarding state to the corresponding screen component.\n */\nconst renderScreenForState = (state: OnboardingStep) => {\n switch (state) {\n case OnboardingStep.ENTRY_SELECTION:\n return <EnhancedEntrySelectionScreen />;\n case OnboardingStep.CONNECTING_WALLET:\n return <EnhancedConnectWalletScreen />;\n case OnboardingStep.TURNKEY_AUTH:\n return <EnhancedTurnkeyAuthScreen />;\n case OnboardingStep.TURNKEY_PREPARING:\n return <EnhancedTurnkeyPreparingScreen />;\n case OnboardingStep.CHAIN_SELECTION:\n return <EnhancedChainSelectionScreen />;\n case OnboardingStep.AMOUNT_INPUT:\n return <EnhancedAmountInputScreen />;\n case OnboardingStep.DEPOSIT_PROGRESS:\n return <EnhancedDepositProgressScreen />;\n case OnboardingStep.DEPOSIT_SUCCESS:\n return <EnhancedDepositSuccessScreen />;\n case OnboardingStep.AUTH_LOADING:\n return <EnhancedAuthLoadingScreen />;\n case OnboardingStep.ERROR:\n return <EnhancedErrorScreen />;\n default:\n return <EnhancedEntrySelectionScreen />;\n }\n};\n\n/**\n * Renders the active screen with fade animations.\n * Caches screen elements to prevent unnecessary re-renders during transitions.\n */\nconst OnboardingFlowScreenRenderer: React.FC<{\n state: OnboardingStep;\n isClosing: boolean;\n}> = ({ state, isClosing }) => {\n const cachedScreenRef = useRef<{\n state: OnboardingStep;\n element: React.ReactNode;\n }>({\n state,\n element: renderScreenForState(state),\n });\n\n if (cachedScreenRef.current.state !== state) {\n cachedScreenRef.current = {\n state,\n element: renderScreenForState(state),\n };\n }\n\n return (\n <div className={isClosing ? 'n1-ww-animate-fade-out' : 'n1-ww-animate-fade-in'}>\n {cachedScreenRef.current.element}\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PendingDepositStage } from '../utils/deposit/storage';
|
|
2
|
+
export interface BridgeAssistStatus {
|
|
3
|
+
stage: PendingDepositStage;
|
|
4
|
+
tx?: string | null;
|
|
5
|
+
reason?: string | null;
|
|
6
|
+
bridgeTx?: string | null;
|
|
7
|
+
solanaTx?: string | null;
|
|
8
|
+
mintTx?: string | null;
|
|
9
|
+
attestationId?: string | null;
|
|
10
|
+
depositId?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare const createBridgeDeposit: (params: {
|
|
13
|
+
wallet: string;
|
|
14
|
+
chain: string;
|
|
15
|
+
solanaAddress: string;
|
|
16
|
+
amount: string;
|
|
17
|
+
bridgeTx: string;
|
|
18
|
+
depositId?: string;
|
|
19
|
+
attestationId?: string | null;
|
|
20
|
+
}) => Promise<BridgeAssistStatus | null>;
|
|
21
|
+
export declare const fetchBridgeStatus: (depositId: string) => Promise<BridgeAssistStatus | null>;
|
|
22
|
+
export declare const submitBridgeClaim: (depositId: string, params: {
|
|
23
|
+
solanaTx?: string;
|
|
24
|
+
message?: string;
|
|
25
|
+
attestation?: string;
|
|
26
|
+
sourceChain?: string;
|
|
27
|
+
destinationAddress?: string;
|
|
28
|
+
blockhash?: string;
|
|
29
|
+
lastValidBlockHeight?: number;
|
|
30
|
+
lookupTableAddress?: string;
|
|
31
|
+
userSignature?: string;
|
|
32
|
+
txHash?: string;
|
|
33
|
+
}) => Promise<{
|
|
34
|
+
tx?: string;
|
|
35
|
+
requiresUserSignature?: boolean;
|
|
36
|
+
stage?: string;
|
|
37
|
+
blockhash?: string;
|
|
38
|
+
lastValidBlockHeight?: number;
|
|
39
|
+
lookupTableAddress?: string;
|
|
40
|
+
signedTx?: string;
|
|
41
|
+
} | null>;
|
|
42
|
+
export declare const fetchServerFeePayer: () => Promise<string | null>;
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { BridgeAssistError } from './types';
|
|
38
|
+
import { getBridgeAssistConfig } from './config';
|
|
39
|
+
import { logger } from '../../../utils/logger';
|
|
40
|
+
import { createDepositError } from '../../../utils/errors';
|
|
41
|
+
var mapStage = function (stage) {
|
|
42
|
+
var s = (stage !== null && stage !== void 0 ? stage : '').toLowerCase();
|
|
43
|
+
if (s === 'failed' || s === 'error')
|
|
44
|
+
return 'failed';
|
|
45
|
+
if (s === 'confirmed' || s === 'complete' || s === 'completed')
|
|
46
|
+
return 'solana_confirmed';
|
|
47
|
+
if (s === 'submitted' || s === 'processing' || s === 'pending')
|
|
48
|
+
return 'solana_submitted';
|
|
49
|
+
// Fallback to initiated if unknown
|
|
50
|
+
return 'initiated';
|
|
51
|
+
};
|
|
52
|
+
var handleResponse = function (response) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var errorMessage, retryAfter, retryHeader, errorBody, _a;
|
|
54
|
+
return __generator(this, function (_b) {
|
|
55
|
+
switch (_b.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
if (!!response.ok) return [3 /*break*/, 5];
|
|
58
|
+
errorMessage = response.statusText;
|
|
59
|
+
retryAfter = void 0;
|
|
60
|
+
retryHeader = response.headers.get('Retry-After');
|
|
61
|
+
if (retryHeader) {
|
|
62
|
+
retryAfter = parseInt(retryHeader, 10);
|
|
63
|
+
}
|
|
64
|
+
_b.label = 1;
|
|
65
|
+
case 1:
|
|
66
|
+
_b.trys.push([1, 3, , 4]);
|
|
67
|
+
return [4 /*yield*/, response.json()];
|
|
68
|
+
case 2:
|
|
69
|
+
errorBody = _b.sent();
|
|
70
|
+
if (errorBody.message) {
|
|
71
|
+
errorMessage = errorBody.message;
|
|
72
|
+
}
|
|
73
|
+
else if (errorBody.error) {
|
|
74
|
+
errorMessage = errorBody.error;
|
|
75
|
+
}
|
|
76
|
+
else if (Array.isArray(errorBody.errors) && errorBody.errors.length) {
|
|
77
|
+
errorMessage = errorBody.errors.join(', ');
|
|
78
|
+
}
|
|
79
|
+
return [3 /*break*/, 4];
|
|
80
|
+
case 3:
|
|
81
|
+
_a = _b.sent();
|
|
82
|
+
return [3 /*break*/, 4];
|
|
83
|
+
case 4: throw new BridgeAssistError(errorMessage, response.status, retryAfter);
|
|
84
|
+
case 5: return [2 /*return*/, response.json()];
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}); };
|
|
88
|
+
export var createBridgeDeposit = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
89
|
+
var config, response, body, stage, error_1;
|
|
90
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
91
|
+
return __generator(this, function (_m) {
|
|
92
|
+
switch (_m.label) {
|
|
93
|
+
case 0:
|
|
94
|
+
config = getBridgeAssistConfig();
|
|
95
|
+
if (!config)
|
|
96
|
+
return [2 /*return*/, null];
|
|
97
|
+
_m.label = 1;
|
|
98
|
+
case 1:
|
|
99
|
+
_m.trys.push([1, 4, , 5]);
|
|
100
|
+
return [4 /*yield*/, fetch("".concat(config.baseUrl, "/deposits"), {
|
|
101
|
+
method: 'POST',
|
|
102
|
+
headers: {
|
|
103
|
+
'Content-Type': 'application/json',
|
|
104
|
+
'x-api-key': config.apiKey || '',
|
|
105
|
+
},
|
|
106
|
+
body: JSON.stringify(params)
|
|
107
|
+
})];
|
|
108
|
+
case 2:
|
|
109
|
+
response = _m.sent();
|
|
110
|
+
return [4 /*yield*/, handleResponse(response)];
|
|
111
|
+
case 3:
|
|
112
|
+
body = _m.sent();
|
|
113
|
+
stage = mapStage(body === null || body === void 0 ? void 0 : body.stage);
|
|
114
|
+
return [2 /*return*/, {
|
|
115
|
+
stage: stage,
|
|
116
|
+
tx: (_b = (_a = body === null || body === void 0 ? void 0 : body.tx) !== null && _a !== void 0 ? _a : body === null || body === void 0 ? void 0 : body.solanaTx) !== null && _b !== void 0 ? _b : null,
|
|
117
|
+
bridgeTx: (_d = (_c = body === null || body === void 0 ? void 0 : body.bridgeTx) !== null && _c !== void 0 ? _c : params.bridgeTx) !== null && _d !== void 0 ? _d : null,
|
|
118
|
+
solanaTx: (_f = (_e = body === null || body === void 0 ? void 0 : body.solanaTx) !== null && _e !== void 0 ? _e : body === null || body === void 0 ? void 0 : body.tx) !== null && _f !== void 0 ? _f : null,
|
|
119
|
+
attestationId: (_h = (_g = body === null || body === void 0 ? void 0 : body.attestationId) !== null && _g !== void 0 ? _g : params.attestationId) !== null && _h !== void 0 ? _h : null,
|
|
120
|
+
depositId: (_k = (_j = body === null || body === void 0 ? void 0 : body.depositId) !== null && _j !== void 0 ? _j : params.depositId) !== null && _k !== void 0 ? _k : null,
|
|
121
|
+
reason: (_l = body === null || body === void 0 ? void 0 : body.reason) !== null && _l !== void 0 ? _l : null,
|
|
122
|
+
}];
|
|
123
|
+
case 4:
|
|
124
|
+
error_1 = _m.sent();
|
|
125
|
+
logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to create bridge deposit', {
|
|
126
|
+
cause: error_1 instanceof Error ? error_1 : undefined,
|
|
127
|
+
}));
|
|
128
|
+
throw error_1;
|
|
129
|
+
case 5: return [2 /*return*/];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}); };
|
|
133
|
+
export var fetchBridgeStatus = function (depositId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
134
|
+
var config, response, body, stage, error_2;
|
|
135
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
136
|
+
return __generator(this, function (_j) {
|
|
137
|
+
switch (_j.label) {
|
|
138
|
+
case 0:
|
|
139
|
+
config = getBridgeAssistConfig();
|
|
140
|
+
if (!config)
|
|
141
|
+
return [2 /*return*/, null];
|
|
142
|
+
if (!depositId)
|
|
143
|
+
return [2 /*return*/, null];
|
|
144
|
+
_j.label = 1;
|
|
145
|
+
case 1:
|
|
146
|
+
_j.trys.push([1, 4, , 5]);
|
|
147
|
+
return [4 /*yield*/, fetch("".concat(config.baseUrl, "/deposits/").concat(depositId), {
|
|
148
|
+
method: 'GET',
|
|
149
|
+
headers: {
|
|
150
|
+
'x-api-key': config.apiKey || '',
|
|
151
|
+
},
|
|
152
|
+
})];
|
|
153
|
+
case 2:
|
|
154
|
+
response = _j.sent();
|
|
155
|
+
if (response.status === 404) {
|
|
156
|
+
return [2 /*return*/, null];
|
|
157
|
+
}
|
|
158
|
+
return [4 /*yield*/, handleResponse(response)];
|
|
159
|
+
case 3:
|
|
160
|
+
body = _j.sent();
|
|
161
|
+
stage = mapStage(body === null || body === void 0 ? void 0 : body.stage);
|
|
162
|
+
return [2 /*return*/, {
|
|
163
|
+
stage: stage,
|
|
164
|
+
tx: (_b = (_a = body === null || body === void 0 ? void 0 : body.solanaTx) !== null && _a !== void 0 ? _a : body === null || body === void 0 ? void 0 : body.tx) !== null && _b !== void 0 ? _b : null,
|
|
165
|
+
bridgeTx: (_c = body === null || body === void 0 ? void 0 : body.bridgeTx) !== null && _c !== void 0 ? _c : null,
|
|
166
|
+
solanaTx: (_d = body === null || body === void 0 ? void 0 : body.solanaTx) !== null && _d !== void 0 ? _d : null,
|
|
167
|
+
mintTx: (_e = body === null || body === void 0 ? void 0 : body.mintTx) !== null && _e !== void 0 ? _e : null,
|
|
168
|
+
attestationId: (_f = body === null || body === void 0 ? void 0 : body.attestationId) !== null && _f !== void 0 ? _f : null,
|
|
169
|
+
depositId: (_g = body === null || body === void 0 ? void 0 : body.depositId) !== null && _g !== void 0 ? _g : depositId,
|
|
170
|
+
reason: (_h = body === null || body === void 0 ? void 0 : body.reason) !== null && _h !== void 0 ? _h : null,
|
|
171
|
+
}];
|
|
172
|
+
case 4:
|
|
173
|
+
error_2 = _j.sent();
|
|
174
|
+
logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to fetch bridge status', {
|
|
175
|
+
cause: error_2 instanceof Error ? error_2 : undefined,
|
|
176
|
+
context: { depositId: depositId },
|
|
177
|
+
}));
|
|
178
|
+
throw error_2;
|
|
179
|
+
case 5: return [2 /*return*/];
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}); };
|
|
183
|
+
export var submitBridgeClaim = function (depositId, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
184
|
+
var config, payload, url, response, error_3;
|
|
185
|
+
return __generator(this, function (_a) {
|
|
186
|
+
switch (_a.label) {
|
|
187
|
+
case 0:
|
|
188
|
+
config = getBridgeAssistConfig();
|
|
189
|
+
if (!config)
|
|
190
|
+
return [2 /*return*/, null];
|
|
191
|
+
if (!depositId)
|
|
192
|
+
throw new Error('Missing depositId for submitBridgeClaim');
|
|
193
|
+
if (!params.message)
|
|
194
|
+
throw new Error('Missing message for submitBridgeClaim');
|
|
195
|
+
if (!params.attestation)
|
|
196
|
+
throw new Error('Missing attestation for submitBridgeClaim');
|
|
197
|
+
if (!params.sourceChain)
|
|
198
|
+
throw new Error('Missing sourceChain for submitBridgeClaim');
|
|
199
|
+
if (!params.destinationAddress)
|
|
200
|
+
throw new Error('Missing destinationAddress for submitBridgeClaim');
|
|
201
|
+
if (!params.userSignature)
|
|
202
|
+
throw new Error('Missing userSignature for submitBridgeClaim');
|
|
203
|
+
if (!params.txHash)
|
|
204
|
+
throw new Error('Missing txHash (hash of signed tx) for submitBridgeClaim');
|
|
205
|
+
_a.label = 1;
|
|
206
|
+
case 1:
|
|
207
|
+
_a.trys.push([1, 3, , 4]);
|
|
208
|
+
payload = params;
|
|
209
|
+
url = "".concat(config.baseUrl, "/deposits/").concat(depositId, "/claim");
|
|
210
|
+
logger.info('[BridgeAssist] Submitting claim', { url: url, depositId: depositId, payloadKeys: Object.keys(payload) });
|
|
211
|
+
return [4 /*yield*/, fetch(url, {
|
|
212
|
+
method: 'POST',
|
|
213
|
+
headers: {
|
|
214
|
+
'Content-Type': 'application/json',
|
|
215
|
+
'x-api-key': config.apiKey || '',
|
|
216
|
+
},
|
|
217
|
+
body: JSON.stringify(payload)
|
|
218
|
+
})];
|
|
219
|
+
case 2:
|
|
220
|
+
response = _a.sent();
|
|
221
|
+
return [2 /*return*/, handleResponse(response)];
|
|
222
|
+
case 3:
|
|
223
|
+
error_3 = _a.sent();
|
|
224
|
+
logger.logError(createDepositError('CLAIM_FAILED', 'Failed to submit bridge claim', {
|
|
225
|
+
cause: error_3 instanceof Error ? error_3 : undefined,
|
|
226
|
+
context: { depositId: depositId },
|
|
227
|
+
}));
|
|
228
|
+
throw error_3;
|
|
229
|
+
case 4: return [2 /*return*/];
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}); };
|
|
233
|
+
export var fetchServerFeePayer = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
234
|
+
var config, response, data, error_4;
|
|
235
|
+
return __generator(this, function (_a) {
|
|
236
|
+
switch (_a.label) {
|
|
237
|
+
case 0:
|
|
238
|
+
config = getBridgeAssistConfig();
|
|
239
|
+
if (!config)
|
|
240
|
+
return [2 /*return*/, null];
|
|
241
|
+
_a.label = 1;
|
|
242
|
+
case 1:
|
|
243
|
+
_a.trys.push([1, 4, , 5]);
|
|
244
|
+
return [4 /*yield*/, fetch("".concat(config.baseUrl, "/health"), {
|
|
245
|
+
method: 'GET',
|
|
246
|
+
headers: {
|
|
247
|
+
'x-api-key': config.apiKey || '',
|
|
248
|
+
}
|
|
249
|
+
})];
|
|
250
|
+
case 2:
|
|
251
|
+
response = _a.sent();
|
|
252
|
+
return [4 /*yield*/, handleResponse(response)];
|
|
253
|
+
case 3:
|
|
254
|
+
data = _a.sent();
|
|
255
|
+
return [2 /*return*/, data.feePayer || null];
|
|
256
|
+
case 4:
|
|
257
|
+
error_4 = _a.sent();
|
|
258
|
+
logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to fetch server fee payer', {
|
|
259
|
+
cause: error_4 instanceof Error ? error_4 : undefined,
|
|
260
|
+
}));
|
|
261
|
+
// Surface a clear, typed error for callers so UI can show "server not available" and retry.
|
|
262
|
+
// Network/CORS failures typically land here with no HTTP status.
|
|
263
|
+
throw new BridgeAssistError('Bridge Assist server is not available', undefined);
|
|
264
|
+
case 5: return [2 /*return*/];
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
}); };
|
|
268
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/features/onboarding-flow/bridge-assist/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { BridgeAssistError } from './types';\nimport { getBridgeAssistConfig } from './config';\nimport { logger } from '../../../utils/logger';\nimport { createDepositError } from '../../../utils/errors';\nimport type { PendingDepositStage } from '../utils/deposit/storage';\n\nexport interface BridgeAssistStatus {\n stage: PendingDepositStage;\n tx?: string | null;\n reason?: string | null;\n bridgeTx?: string | null;\n solanaTx?: string | null;\n mintTx?: string | null;\n attestationId?: string | null;\n depositId?: string | null;\n}\n\nconst mapStage = (stage: string | null | undefined): PendingDepositStage => {\n const s = (stage ?? '').toLowerCase();\n if (s === 'failed' || s === 'error') return 'failed';\n if (s === 'confirmed' || s === 'complete' || s === 'completed') return 'solana_confirmed';\n if (s === 'submitted' || s === 'processing' || s === 'pending') return 'solana_submitted';\n // Fallback to initiated if unknown\n return 'initiated';\n};\n\nconst handleResponse = async (response: Response): Promise<any> => {\n if (!response.ok) {\n let errorMessage = response.statusText;\n let retryAfter: number | undefined;\n\n const retryHeader = response.headers.get('Retry-After');\n if (retryHeader) {\n retryAfter = parseInt(retryHeader, 10);\n }\n\n try {\n const errorBody = await response.json();\n if (errorBody.message) {\n errorMessage = errorBody.message;\n } else if (errorBody.error) {\n errorMessage = errorBody.error;\n } else if (Array.isArray(errorBody.errors) && errorBody.errors.length) {\n errorMessage = errorBody.errors.join(', ');\n }\n } catch {\n // ignore json parse error\n }\n throw new BridgeAssistError(errorMessage, response.status, retryAfter);\n }\n return response.json();\n};\n\nexport const createBridgeDeposit = async (\n params: {\n wallet: string;\n chain: string;\n solanaAddress: string;\n amount: string;\n bridgeTx: string;\n depositId?: string;\n attestationId?: string | null;\n }\n): Promise<BridgeAssistStatus | null> => {\n const config = getBridgeAssistConfig();\n if (!config) return null;\n try {\n const response = await fetch(`${config.baseUrl}/deposits`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': config.apiKey || '',\n },\n body: JSON.stringify(params)\n });\n const body = await handleResponse(response);\n const stage = mapStage(body?.stage);\n return {\n stage,\n tx: body?.tx ?? body?.solanaTx ?? null,\n bridgeTx: body?.bridgeTx ?? params.bridgeTx ?? null,\n solanaTx: body?.solanaTx ?? body?.tx ?? null,\n attestationId: body?.attestationId ?? params.attestationId ?? null,\n depositId: body?.depositId ?? params.depositId ?? null,\n reason: body?.reason ?? null,\n };\n } catch (error) {\n logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to create bridge deposit', {\n cause: error instanceof Error ? error : undefined,\n }));\n throw error;\n }\n}\n\nexport const fetchBridgeStatus = async (depositId: string): Promise<BridgeAssistStatus | null> => {\n const config = getBridgeAssistConfig();\n if (!config) return null;\n if (!depositId) return null;\n try {\n const response = await fetch(`${config.baseUrl}/deposits/${depositId}`, {\n method: 'GET',\n headers: {\n 'x-api-key': config.apiKey || '',\n },\n });\n if (response.status === 404) {\n return null;\n }\n const body = await handleResponse(response);\n const stage = mapStage(body?.stage);\n return {\n stage,\n tx: body?.solanaTx ?? body?.tx ?? null,\n bridgeTx: body?.bridgeTx ?? null,\n solanaTx: body?.solanaTx ?? null,\n mintTx: body?.mintTx ?? null,\n attestationId: body?.attestationId ?? null,\n depositId: body?.depositId ?? depositId,\n reason: body?.reason ?? null,\n };\n } catch (error) {\n logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to fetch bridge status', {\n cause: error instanceof Error ? error : undefined,\n context: { depositId },\n }));\n throw error;\n }\n};\n\nexport const submitBridgeClaim = async (\n depositId: string,\n params: {\n solanaTx?: string;\n message?: string;\n attestation?: string;\n sourceChain?: string;\n destinationAddress?: string;\n blockhash?: string;\n lastValidBlockHeight?: number;\n lookupTableAddress?: string;\n userSignature?: string;\n txHash?: string;\n }\n): Promise<{\n tx?: string;\n requiresUserSignature?: boolean;\n stage?: string;\n blockhash?: string;\n lastValidBlockHeight?: number;\n lookupTableAddress?: string;\n signedTx?: string;\n} | null> => {\n const config = getBridgeAssistConfig();\n if (!config) return null;\n\n if (!depositId) throw new Error('Missing depositId for submitBridgeClaim');\n if (!params.message) throw new Error('Missing message for submitBridgeClaim');\n if (!params.attestation) throw new Error('Missing attestation for submitBridgeClaim');\n if (!params.sourceChain) throw new Error('Missing sourceChain for submitBridgeClaim');\n if (!params.destinationAddress) throw new Error('Missing destinationAddress for submitBridgeClaim');\n if (!params.userSignature) throw new Error('Missing userSignature for submitBridgeClaim');\n if (!params.txHash) throw new Error('Missing txHash (hash of signed tx) for submitBridgeClaim');\n\n try {\n // Single-request flow: always send full payload\n const payload = params;\n const url = `${config.baseUrl}/deposits/${depositId}/claim`;\n\n logger.info('[BridgeAssist] Submitting claim', { url, depositId, payloadKeys: Object.keys(payload) });\n\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': config.apiKey || '',\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(response);\n } catch (error) {\n logger.logError(createDepositError('CLAIM_FAILED', 'Failed to submit bridge claim', {\n cause: error instanceof Error ? error : undefined,\n context: { depositId },\n }));\n throw error;\n }\n}\n\nexport const fetchServerFeePayer = async (): Promise<string | null> => {\n const config = getBridgeAssistConfig();\n if (!config) return null;\n try {\n const response = await fetch(`${config.baseUrl}/health`, {\n method: 'GET',\n headers: {\n 'x-api-key': config.apiKey || '',\n }\n });\n const data = await handleResponse(response);\n return data.feePayer || null;\n } catch (error) {\n logger.logError(createDepositError('BRIDGE_FAILED', 'Failed to fetch server fee payer', {\n cause: error instanceof Error ? error : undefined,\n }));\n // Surface a clear, typed error for callers so UI can show \"server not available\" and retry.\n // Network/CORS failures typically land here with no HTTP status.\n throw new BridgeAssistError('Bridge Assist server is not available', undefined);\n }\n}\n\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var getBridgeAssistConfig = function () {
|
|
2
|
+
// Support both server-side and client-side env vars
|
|
3
|
+
var baseUrl = process.env.NEXT_PUBLIC_BRIDGE_ASSIST_URL || process.env.BRIDGE_ASSIST_URL;
|
|
4
|
+
if (!baseUrl)
|
|
5
|
+
return null;
|
|
6
|
+
return {
|
|
7
|
+
baseUrl: baseUrl.replace(/\/$/, ''),
|
|
8
|
+
apiKey: process.env.NEXT_PUBLIC_BRIDGE_ASSIST_API_KEY || process.env.BRIDGE_ASSIST_API_KEY,
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/features/onboarding-flow/bridge-assist/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,oDAAoD;IACpD,IAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3F,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB;KAC3F,CAAC;AACJ,CAAC,CAAC","sourcesContent":["export const getBridgeAssistConfig = (): { baseUrl: string; apiKey?: string } | null => {\n // Support both server-side and client-side env vars\n const baseUrl = process.env.NEXT_PUBLIC_BRIDGE_ASSIST_URL || process.env.BRIDGE_ASSIST_URL;\n if (!baseUrl) return null;\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n apiKey: process.env.NEXT_PUBLIC_BRIDGE_ASSIST_API_KEY || process.env.BRIDGE_ASSIST_API_KEY,\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { submitBridgeClaim, fetchServerFeePayer, createBridgeDeposit, fetchBridgeStatus } from './client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/features/onboarding-flow/bridge-assist/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC","sourcesContent":["export { submitBridgeClaim, fetchServerFeePayer, createBridgeDeposit, fetchBridgeStatus } from './client';\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
var BridgeAssistError = /** @class */ (function (_super) {
|
|
17
|
+
__extends(BridgeAssistError, _super);
|
|
18
|
+
function BridgeAssistError(message, status, retryAfter) {
|
|
19
|
+
var _this = _super.call(this, message) || this;
|
|
20
|
+
_this.status = status;
|
|
21
|
+
_this.retryAfter = retryAfter;
|
|
22
|
+
_this.name = 'BridgeAssistError';
|
|
23
|
+
return _this;
|
|
24
|
+
}
|
|
25
|
+
return BridgeAssistError;
|
|
26
|
+
}(Error));
|
|
27
|
+
export { BridgeAssistError };
|
|
28
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/features/onboarding-flow/bridge-assist/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;IAAuC,qCAAK;IAC1C,2BACE,OAAe,EACR,MAAe,EACf,UAAmB;QAE1B,YAAA,MAAK,YAAC,OAAO,CAAC,SAAC;QAHR,YAAM,GAAN,MAAM,CAAS;QACf,gBAAU,GAAV,UAAU,CAAS;QAG1B,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;;IAClC,CAAC;IACH,wBAAC;AAAD,CAAC,AATD,CAAuC,KAAK,GAS3C","sourcesContent":["export class BridgeAssistError extends Error {\n constructor(\n message: string,\n public status?: number,\n public retryAfter?: number\n ) {\n super(message);\n this.name = 'BridgeAssistError';\n }\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CctpBridgeParams, CctpBridgeResult, CctpClient, CctpConfirmationResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Maps normalized chain names to BridgeKit's chain definition objects.
|
|
4
|
+
*/
|
|
5
|
+
export declare const mapChainToBridgeKit: (chain: string) => any;
|
|
6
|
+
export declare const getDomain: (chain: any) => number | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Bridge Kit client wrapper. Keeps network interactions isolated for auditability.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BridgeKitClient implements CctpClient {
|
|
11
|
+
/**
|
|
12
|
+
* Parses Bridge Kit response to extract transaction hashes and attestation ID.
|
|
13
|
+
* Handles variations in step naming and falls back to timestamp-based deposit ID if needed.
|
|
14
|
+
*/
|
|
15
|
+
private parseSubmitResponse;
|
|
16
|
+
submitBridge(params: CctpBridgeParams): Promise<CctpBridgeResult>;
|
|
17
|
+
waitForConfirmation(bridgeTxId: string, attestationId?: string | null): Promise<CctpConfirmationResult>;
|
|
18
|
+
getAttestation(txHash: string, fromChain: string): Promise<{
|
|
19
|
+
attestation: string;
|
|
20
|
+
message: string;
|
|
21
|
+
decodedMessage?: {
|
|
22
|
+
sourceDomain: string;
|
|
23
|
+
destinationDomain: string;
|
|
24
|
+
nonce: string;
|
|
25
|
+
sender: string;
|
|
26
|
+
recipient: string;
|
|
27
|
+
decodedMessageBody?: {
|
|
28
|
+
mintRecipient?: string;
|
|
29
|
+
amount?: string;
|
|
30
|
+
burnToken?: string;
|
|
31
|
+
messageSender?: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
} | null>;
|
|
35
|
+
}
|