@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.
Files changed (627) hide show
  1. package/dist/bridge-assist/cctp-solana.d.ts +33 -0
  2. package/dist/bridge-assist/cctp-solana.js +392 -0
  3. package/dist/bridge-assist/cctp-solana.js.map +1 -0
  4. package/dist/main.css +1 -2
  5. package/dist/src/adapters/evm.d.ts +39 -0
  6. package/dist/src/adapters/evm.js +338 -0
  7. package/dist/src/adapters/evm.js.map +1 -0
  8. package/dist/src/adapters/factory.d.ts +37 -0
  9. package/dist/src/adapters/factory.js +82 -0
  10. package/dist/src/adapters/factory.js.map +1 -0
  11. package/dist/src/adapters/index.d.ts +33 -0
  12. package/dist/src/adapters/index.js +36 -0
  13. package/dist/src/adapters/index.js.map +1 -0
  14. package/dist/src/adapters/solana.d.ts +37 -0
  15. package/dist/src/adapters/solana.js +359 -0
  16. package/dist/src/adapters/solana.js.map +1 -0
  17. package/dist/src/adapters/types.d.ts +160 -0
  18. package/dist/src/adapters/types.js +20 -0
  19. package/dist/src/adapters/types.js.map +1 -0
  20. package/dist/src/animations/N1Loader.js.map +1 -0
  21. package/dist/src/animations/N1Loader.json +1 -0
  22. package/dist/src/animations/Processing.js.map +1 -0
  23. package/dist/src/animations/Processing.json +1 -0
  24. package/dist/{components → src/components}/LoadingFallback.d.ts +3 -0
  25. package/dist/{components → src/components}/LoadingFallback.js +3 -0
  26. package/dist/src/components/LoadingFallback.js.map +1 -0
  27. package/dist/{components → src/components}/Logo.d.ts +4 -0
  28. package/dist/{components → src/components}/Logo.js +4 -0
  29. package/dist/src/components/Logo.js.map +1 -0
  30. package/dist/src/components/N1ConnectButton.d.ts +13 -0
  31. package/dist/src/components/N1ConnectButton.js +66 -0
  32. package/dist/src/components/N1ConnectButton.js.map +1 -0
  33. package/dist/src/components/logos/ArbitrumLogo.js.map +1 -0
  34. package/dist/src/components/logos/BaseLogo.js +6 -0
  35. package/dist/src/components/logos/BaseLogo.js.map +1 -0
  36. package/dist/src/components/logos/BeraLogo.js.map +1 -0
  37. package/dist/src/components/logos/BitcoinLogo.js.map +1 -0
  38. package/dist/src/components/logos/EthereumLogo.js.map +1 -0
  39. package/dist/{components → src/components}/logos/HyperliquidLogo.js +1 -1
  40. package/dist/src/components/logos/HyperliquidLogo.js.map +1 -0
  41. package/dist/src/components/logos/OptimismLogo.js.map +1 -0
  42. package/dist/src/components/logos/SolanaLogo.js.map +1 -0
  43. package/dist/src/components/logos/ZeroOneLogo.js.map +1 -0
  44. package/dist/src/components/logos/index.js.map +1 -0
  45. package/dist/src/config/chains.d.ts +18 -0
  46. package/dist/src/config/chains.js +58 -0
  47. package/dist/src/config/chains.js.map +1 -0
  48. package/dist/src/config/dynamic.js +18 -0
  49. package/dist/src/config/dynamic.js.map +1 -0
  50. package/dist/src/config/solana.js.map +1 -0
  51. package/dist/src/config/turnkey.d.ts +2 -0
  52. package/dist/{config → src/config}/turnkey.js +9 -12
  53. package/dist/src/config/turnkey.js.map +1 -0
  54. package/dist/src/context/n1-wallet-context.js.map +1 -0
  55. package/dist/src/errors/types.d.ts +72 -0
  56. package/dist/src/errors/types.js +140 -0
  57. package/dist/src/errors/types.js.map +1 -0
  58. package/dist/{features → src/features}/onboarding-flow/N1WalletModal.js +44 -29
  59. package/dist/src/features/onboarding-flow/N1WalletModal.js.map +1 -0
  60. package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.d.ts +2 -1
  61. package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.js +54 -8
  62. package/dist/src/features/onboarding-flow/OnboardingFlow.js.map +1 -0
  63. package/dist/src/features/onboarding-flow/bridge-assist/client.d.ts +42 -0
  64. package/dist/src/features/onboarding-flow/bridge-assist/client.js +268 -0
  65. package/dist/src/features/onboarding-flow/bridge-assist/client.js.map +1 -0
  66. package/dist/src/features/onboarding-flow/bridge-assist/config.d.ts +4 -0
  67. package/dist/src/features/onboarding-flow/bridge-assist/config.js +11 -0
  68. package/dist/src/features/onboarding-flow/bridge-assist/config.js.map +1 -0
  69. package/dist/src/features/onboarding-flow/bridge-assist/index.d.ts +1 -0
  70. package/dist/src/features/onboarding-flow/bridge-assist/index.js +2 -0
  71. package/dist/src/features/onboarding-flow/bridge-assist/index.js.map +1 -0
  72. package/dist/src/features/onboarding-flow/bridge-assist/types.d.ts +5 -0
  73. package/dist/src/features/onboarding-flow/bridge-assist/types.js +28 -0
  74. package/dist/src/features/onboarding-flow/bridge-assist/types.js.map +1 -0
  75. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.d.ts +35 -0
  76. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js +391 -0
  77. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js.map +1 -0
  78. package/dist/src/features/onboarding-flow/cctp/clientFactory.d.ts +6 -0
  79. package/dist/src/features/onboarding-flow/cctp/clientFactory.js +9 -0
  80. package/dist/src/features/onboarding-flow/cctp/clientFactory.js.map +1 -0
  81. package/dist/src/features/onboarding-flow/cctp/config.d.ts +16 -0
  82. package/dist/src/features/onboarding-flow/cctp/config.js +55 -0
  83. package/dist/src/features/onboarding-flow/cctp/config.js.map +1 -0
  84. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.d.ts +11 -0
  85. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js +85 -0
  86. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js.map +1 -0
  87. package/dist/src/features/onboarding-flow/cctp/solanaClaim.d.ts +1 -0
  88. package/dist/src/features/onboarding-flow/cctp/solanaClaim.js +2 -0
  89. package/dist/src/features/onboarding-flow/cctp/solanaClaim.js.map +1 -0
  90. package/dist/src/features/onboarding-flow/cctp/types.d.ts +50 -0
  91. package/dist/src/features/onboarding-flow/cctp/types.js +2 -0
  92. package/dist/src/features/onboarding-flow/cctp/types.js.map +1 -0
  93. package/dist/{features → src/features}/onboarding-flow/components/ChainButton.d.ts +5 -2
  94. package/dist/src/features/onboarding-flow/components/ChainButton.js +14 -0
  95. package/dist/src/features/onboarding-flow/components/ChainButton.js.map +1 -0
  96. package/dist/{features → src/features}/onboarding-flow/components/Header.d.ts +2 -2
  97. package/dist/src/features/onboarding-flow/components/Header.js +69 -0
  98. package/dist/src/features/onboarding-flow/components/Header.js.map +1 -0
  99. package/dist/src/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
  100. package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.d.ts +5 -0
  101. package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.js +8 -3
  102. package/dist/src/features/onboarding-flow/components/TransactionTable.js.map +1 -0
  103. package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.d.ts +4 -0
  104. package/dist/src/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
  105. package/dist/src/features/onboarding-flow/components/index.js.map +1 -0
  106. package/dist/src/features/onboarding-flow/errors/depositError.d.ts +36 -0
  107. package/dist/src/features/onboarding-flow/errors/depositError.js +134 -0
  108. package/dist/src/features/onboarding-flow/errors/depositError.js.map +1 -0
  109. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.d.ts +35 -0
  110. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js +585 -0
  111. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js.map +1 -0
  112. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.d.ts +6 -0
  113. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js +141 -0
  114. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js.map +1 -0
  115. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.d.ts +15 -0
  116. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js +83 -0
  117. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js.map +1 -0
  118. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.d.ts +6 -0
  119. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js +45 -0
  120. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js.map +1 -0
  121. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.d.ts +13 -0
  122. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js +161 -0
  123. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js.map +1 -0
  124. package/dist/src/features/onboarding-flow/index.js.map +1 -0
  125. package/dist/{features → src/features}/onboarding-flow/providers/DepositFlowProvider.d.ts +10 -3
  126. package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js +762 -0
  127. package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
  128. package/dist/{features → src/features}/onboarding-flow/providers/OnboardingStateProvider.d.ts +5 -0
  129. package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js +399 -0
  130. package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
  131. package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.d.ts +2 -2
  132. package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.js +2 -2
  133. package/dist/src/features/onboarding-flow/providers/StateProvider.js.map +1 -0
  134. package/dist/{features → src/features}/onboarding-flow/providers/WalletConnectionProvider.d.ts +8 -0
  135. package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js +938 -0
  136. package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
  137. package/dist/{features → src/features}/onboarding-flow/providers/debug.js +5 -1
  138. package/dist/src/features/onboarding-flow/providers/debug.js.map +1 -0
  139. package/dist/src/features/onboarding-flow/providers/index.js.map +1 -0
  140. package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.d.ts +28 -1
  141. package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.js +38 -4
  142. package/dist/src/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
  143. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.d.ts +4 -0
  144. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js +32 -0
  145. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js.map +1 -0
  146. package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +5 -0
  147. package/dist/{features → src/features}/onboarding-flow/screens/01-ConnectWalletScreen.js +5 -0
  148. package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
  149. package/dist/{features → src/features}/onboarding-flow/screens/02-TurnkeyAuthScreen.js +8 -1
  150. package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
  151. package/dist/{features → src/features}/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +8 -1
  152. package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
  153. package/dist/{features → src/features}/onboarding-flow/screens/04-ChainSelectionScreen.d.ts +11 -11
  154. package/dist/{features → src/features}/onboarding-flow/screens/04-ChainSelectionScreen.js +59 -29
  155. package/dist/src/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +1 -0
  156. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +11 -0
  157. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js +585 -0
  158. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js.map +1 -0
  159. package/dist/{features → src/features}/onboarding-flow/screens/06-DepositProgressScreen.d.ts +5 -0
  160. package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js +367 -0
  161. package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +1 -0
  162. package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +6 -0
  163. package/dist/{features → src/features}/onboarding-flow/screens/07-DepositSuccessScreen.js +11 -5
  164. package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +1 -0
  165. package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +5 -0
  166. package/dist/{features → src/features}/onboarding-flow/screens/08-AuthLoadingScreen.js +5 -1
  167. package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +1 -0
  168. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.d.ts +5 -0
  169. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js +43 -0
  170. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js.map +1 -0
  171. package/dist/src/features/onboarding-flow/screens/index.d.ts +10 -0
  172. package/dist/src/features/onboarding-flow/screens/index.js +11 -0
  173. package/dist/src/features/onboarding-flow/screens/index.js.map +1 -0
  174. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.d.ts +1 -0
  175. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js +2 -0
  176. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js.map +1 -0
  177. package/dist/{features → src/features}/onboarding-flow/types.d.ts +38 -11
  178. package/dist/{features → src/features}/onboarding-flow/types.js +5 -0
  179. package/dist/src/features/onboarding-flow/types.js.map +1 -0
  180. package/dist/src/features/onboarding-flow/utils/bridgeUtils.d.ts +6 -0
  181. package/dist/src/features/onboarding-flow/utils/bridgeUtils.js +34 -0
  182. package/dist/src/features/onboarding-flow/utils/bridgeUtils.js.map +1 -0
  183. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.d.ts +29 -0
  184. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js +82 -0
  185. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js.map +1 -0
  186. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.d.ts +5 -0
  187. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js +10 -0
  188. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js.map +1 -0
  189. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.d.ts +14 -0
  190. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js +94 -0
  191. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js.map +1 -0
  192. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.d.ts +25 -0
  193. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js +212 -0
  194. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js.map +1 -0
  195. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.d.ts +37 -0
  196. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js +199 -0
  197. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js.map +1 -0
  198. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.d.ts +27 -0
  199. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js +149 -0
  200. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js.map +1 -0
  201. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.d.ts +5 -0
  202. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js +121 -0
  203. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js.map +1 -0
  204. package/dist/{features/onboarding-flow/utils/transaction.d.ts → src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.d.ts} +3 -3
  205. package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js +8 -0
  206. package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js.map +1 -0
  207. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.d.ts +12 -0
  208. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js +150 -0
  209. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js.map +1 -0
  210. package/dist/src/features/onboarding-flow/utils/deposit/storage.d.ts +52 -0
  211. package/dist/src/features/onboarding-flow/utils/deposit/storage.js +243 -0
  212. package/dist/src/features/onboarding-flow/utils/deposit/storage.js.map +1 -0
  213. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.d.ts +36 -0
  214. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js +304 -0
  215. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js.map +1 -0
  216. package/dist/src/features/onboarding-flow/utils/depositPolling.d.ts +1 -0
  217. package/dist/src/features/onboarding-flow/utils/depositPolling.js +3 -0
  218. package/dist/src/features/onboarding-flow/utils/depositPolling.js.map +1 -0
  219. package/dist/src/features/onboarding-flow/utils/explorerUrl.d.ts +14 -0
  220. package/dist/src/features/onboarding-flow/utils/explorerUrl.js +44 -0
  221. package/dist/src/features/onboarding-flow/utils/explorerUrl.js.map +1 -0
  222. package/dist/src/features/onboarding-flow/utils/nordUtils.d.ts +8 -0
  223. package/dist/{features/onboarding-flow/utils/nordUser.js → src/features/onboarding-flow/utils/nordUtils.js} +14 -1
  224. package/dist/src/features/onboarding-flow/utils/nordUtils.js.map +1 -0
  225. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.d.ts +13 -0
  226. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js +15 -0
  227. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js.map +1 -0
  228. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.d.ts +15 -0
  229. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js +94 -0
  230. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js.map +1 -0
  231. package/dist/{features → src/features}/onboarding-flow/utils/utils.d.ts +9 -2
  232. package/dist/{features → src/features}/onboarding-flow/utils/utils.js +9 -4
  233. package/dist/src/features/onboarding-flow/utils/utils.js.map +1 -0
  234. package/dist/src/features/onboarding-flow/utils/withImageFallback.d.ts +6 -0
  235. package/dist/{features → src/features}/onboarding-flow/utils/withImageFallback.js +2 -3
  236. package/dist/src/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
  237. package/dist/src/hooks/index.js.map +1 -0
  238. package/dist/src/hooks/useN1Wallet.d.ts +12 -0
  239. package/dist/{hooks → src/hooks}/useN1Wallet.js +10 -0
  240. package/dist/src/hooks/useN1Wallet.js.map +1 -0
  241. package/dist/src/hooks/useNordUserInitialization.d.ts +12 -0
  242. package/dist/{hooks → src/hooks}/useNordUserInitialization.js +74 -33
  243. package/dist/src/hooks/useNordUserInitialization.js.map +1 -0
  244. package/dist/src/index.d.ts +9 -0
  245. package/dist/src/index.js +16 -0
  246. package/dist/src/index.js.map +1 -0
  247. package/dist/src/providers/LazyWalletProvider.d.ts +4 -0
  248. package/dist/src/providers/LazyWalletProvider.js +404 -0
  249. package/dist/src/providers/LazyWalletProvider.js.map +1 -0
  250. package/dist/src/providers/N1WalletProvider/ContextBridge.d.ts +28 -0
  251. package/dist/src/providers/N1WalletProvider/ContextBridge.js +273 -0
  252. package/dist/src/providers/N1WalletProvider/ContextBridge.js.map +1 -0
  253. package/dist/src/providers/N1WalletProvider/ModalProvider.d.ts +113 -0
  254. package/dist/src/providers/N1WalletProvider/ModalProvider.js +319 -0
  255. package/dist/src/providers/N1WalletProvider/ModalProvider.js.map +1 -0
  256. package/dist/src/providers/N1WalletProvider/NetworkProvider.d.ts +88 -0
  257. package/dist/src/providers/N1WalletProvider/NetworkProvider.js +252 -0
  258. package/dist/src/providers/N1WalletProvider/NetworkProvider.js.map +1 -0
  259. package/dist/src/providers/N1WalletProvider/SessionProvider.d.ts +71 -0
  260. package/dist/src/providers/N1WalletProvider/SessionProvider.js +187 -0
  261. package/dist/src/providers/N1WalletProvider/SessionProvider.js.map +1 -0
  262. package/dist/src/providers/N1WalletProvider/SigningProvider.d.ts +58 -0
  263. package/dist/src/providers/N1WalletProvider/SigningProvider.js +134 -0
  264. package/dist/src/providers/N1WalletProvider/SigningProvider.js.map +1 -0
  265. package/dist/src/providers/N1WalletProvider/ThemingProvider.d.ts +50 -0
  266. package/dist/src/providers/N1WalletProvider/ThemingProvider.js +102 -0
  267. package/dist/src/providers/N1WalletProvider/ThemingProvider.js.map +1 -0
  268. package/dist/src/providers/N1WalletProvider/index.d.ts +21 -0
  269. package/dist/src/providers/N1WalletProvider/index.js +27 -0
  270. package/dist/src/providers/N1WalletProvider/index.js.map +1 -0
  271. package/dist/src/providers/N1WalletProvider.d.ts +17 -0
  272. package/dist/src/providers/N1WalletProvider.js +102 -0
  273. package/dist/src/providers/N1WalletProvider.js.map +1 -0
  274. package/dist/{providers → src/providers}/ShadowRootWrapper.d.ts +4 -0
  275. package/dist/{providers → src/providers}/ShadowRootWrapper.js +4 -0
  276. package/dist/src/providers/ShadowRootWrapper.js.map +1 -0
  277. package/dist/{providers → src/providers}/WalletErrorBoundary.d.ts +7 -2
  278. package/dist/{providers → src/providers}/WalletErrorBoundary.js +5 -1
  279. package/dist/src/providers/WalletErrorBoundary.js.map +1 -0
  280. package/dist/src/services/bootstrap/DepositRecoveryService.d.ts +64 -0
  281. package/dist/src/services/bootstrap/DepositRecoveryService.js +245 -0
  282. package/dist/src/services/bootstrap/DepositRecoveryService.js.map +1 -0
  283. package/dist/src/services/bootstrap/DynamicSdkService.d.ts +62 -0
  284. package/dist/src/services/bootstrap/DynamicSdkService.js +335 -0
  285. package/dist/src/services/bootstrap/DynamicSdkService.js.map +1 -0
  286. package/dist/src/services/bootstrap/SessionBootstrapService.d.ts +78 -0
  287. package/dist/src/services/bootstrap/SessionBootstrapService.js +280 -0
  288. package/dist/src/services/bootstrap/SessionBootstrapService.js.map +1 -0
  289. package/dist/src/services/bootstrap/TurnkeyBootstrapService.d.ts +92 -0
  290. package/dist/src/services/bootstrap/TurnkeyBootstrapService.js +253 -0
  291. package/dist/src/services/bootstrap/TurnkeyBootstrapService.js.map +1 -0
  292. package/dist/src/services/bootstrap/index.d.ts +13 -0
  293. package/dist/src/services/bootstrap/index.js +16 -0
  294. package/dist/src/services/bootstrap/index.js.map +1 -0
  295. package/dist/src/services/bootstrap/types.d.ts +92 -0
  296. package/dist/src/services/bootstrap/types.js +7 -0
  297. package/dist/src/services/bootstrap/types.js.map +1 -0
  298. package/dist/src/services/storage/StorageService.d.ts +98 -0
  299. package/dist/src/services/storage/StorageService.js +360 -0
  300. package/dist/src/services/storage/StorageService.js.map +1 -0
  301. package/dist/src/services/storage/index.d.ts +9 -0
  302. package/dist/src/services/storage/index.js +10 -0
  303. package/dist/src/services/storage/index.js.map +1 -0
  304. package/dist/src/services/storage/keys.d.ts +28 -0
  305. package/dist/src/services/storage/keys.js +45 -0
  306. package/dist/src/services/storage/keys.js.map +1 -0
  307. package/dist/src/services/storage/types.d.ts +73 -0
  308. package/dist/src/services/storage/types.js +23 -0
  309. package/dist/src/services/storage/types.js.map +1 -0
  310. package/dist/src/store/index.d.ts +8 -0
  311. package/dist/src/store/index.js +24 -0
  312. package/dist/src/store/index.js.map +1 -0
  313. package/dist/src/store/selectors.d.ts +105 -0
  314. package/dist/src/store/selectors.js +183 -0
  315. package/dist/src/store/selectors.js.map +1 -0
  316. package/dist/src/store/slices/bootstrapSlice.d.ts +64 -0
  317. package/dist/src/store/slices/bootstrapSlice.js +78 -0
  318. package/dist/src/store/slices/bootstrapSlice.js.map +1 -0
  319. package/dist/src/store/slices/configSlice.d.ts +7 -0
  320. package/dist/src/store/slices/configSlice.js +14 -0
  321. package/dist/src/store/slices/configSlice.js.map +1 -0
  322. package/dist/src/store/slices/index.d.ts +10 -0
  323. package/dist/src/store/slices/index.js +10 -0
  324. package/dist/src/store/slices/index.js.map +1 -0
  325. package/dist/src/store/slices/sessionSlice.d.ts +7 -0
  326. package/dist/src/store/slices/sessionSlice.js +17 -0
  327. package/dist/src/store/slices/sessionSlice.js.map +1 -0
  328. package/dist/src/store/slices/signingSlice.d.ts +7 -0
  329. package/dist/src/store/slices/signingSlice.js +14 -0
  330. package/dist/src/store/slices/signingSlice.js.map +1 -0
  331. package/dist/src/store/slices/uiSlice.d.ts +9 -0
  332. package/dist/src/store/slices/uiSlice.js +25 -0
  333. package/dist/src/store/slices/uiSlice.js.map +1 -0
  334. package/dist/src/store/slices/walletSlice.d.ts +7 -0
  335. package/dist/src/store/slices/walletSlice.js +21 -0
  336. package/dist/src/store/slices/walletSlice.js.map +1 -0
  337. package/dist/src/store/store.d.ts +50 -0
  338. package/dist/src/store/store.js +259 -0
  339. package/dist/src/store/store.js.map +1 -0
  340. package/dist/src/store/subscriptions/depositPersistence.d.ts +32 -0
  341. package/dist/src/store/subscriptions/depositPersistence.js +106 -0
  342. package/dist/src/store/subscriptions/depositPersistence.js.map +1 -0
  343. package/dist/src/store/subscriptions/index.d.ts +34 -0
  344. package/dist/src/store/subscriptions/index.js +73 -0
  345. package/dist/src/store/subscriptions/index.js.map +1 -0
  346. package/dist/src/store/subscriptions/turnkeyPersistence.d.ts +42 -0
  347. package/dist/src/store/subscriptions/turnkeyPersistence.js +127 -0
  348. package/dist/src/store/subscriptions/turnkeyPersistence.js.map +1 -0
  349. package/dist/src/store/types.d.ts +166 -0
  350. package/dist/src/store/types.js +7 -0
  351. package/dist/src/store/types.js.map +1 -0
  352. package/dist/src/styles/cdn-fonts.d.ts +12 -0
  353. package/dist/src/styles/cdn-fonts.js +63 -0
  354. package/dist/src/styles/cdn-fonts.js.map +1 -0
  355. package/dist/src/styles/embedded-main-css.d.ts +2 -0
  356. package/dist/src/styles/embedded-main-css.js +3 -0
  357. package/dist/src/styles/embedded-main-css.js.map +1 -0
  358. package/dist/src/turnkey/TurnkeyProvider.d.ts +21 -0
  359. package/dist/src/turnkey/TurnkeyProvider.js +695 -0
  360. package/dist/src/turnkey/TurnkeyProvider.js.map +1 -0
  361. package/dist/src/turnkey/createTurnkeyWallet.d.ts +39 -0
  362. package/dist/src/turnkey/createTurnkeyWallet.js +319 -0
  363. package/dist/src/turnkey/createTurnkeyWallet.js.map +1 -0
  364. package/dist/src/turnkey/createWalletProvider.d.ts +8 -0
  365. package/dist/src/turnkey/createWalletProvider.js +286 -0
  366. package/dist/src/turnkey/createWalletProvider.js.map +1 -0
  367. package/dist/src/turnkey/index.d.ts +3 -0
  368. package/dist/src/turnkey/index.js +3 -0
  369. package/dist/src/turnkey/index.js.map +1 -0
  370. package/dist/src/turnkey/turnkeySessionMachine.d.ts +39 -0
  371. package/dist/src/turnkey/turnkeySessionMachine.js +77 -0
  372. package/dist/src/turnkey/turnkeySessionMachine.js.map +1 -0
  373. package/dist/src/turnkey/turnkeySessionStorage.d.ts +48 -0
  374. package/dist/src/turnkey/turnkeySessionStorage.js +183 -0
  375. package/dist/src/turnkey/turnkeySessionStorage.js.map +1 -0
  376. package/dist/{turnkey → src/turnkey}/types.d.ts +21 -8
  377. package/dist/src/turnkey/types.js +12 -0
  378. package/dist/src/turnkey/types.js.map +1 -0
  379. package/dist/{types → src/types}/wallet.d.ts +39 -13
  380. package/dist/src/types/wallet.js.map +1 -0
  381. package/dist/src/utils/address.d.ts +130 -0
  382. package/dist/src/utils/address.js +274 -0
  383. package/dist/src/utils/address.js.map +1 -0
  384. package/dist/src/utils/chain.d.ts +89 -0
  385. package/dist/src/utils/chain.js +282 -0
  386. package/dist/src/utils/chain.js.map +1 -0
  387. package/dist/{utils → src/utils}/ed25519.d.ts +0 -2
  388. package/dist/{utils → src/utils}/ed25519.js +4 -19
  389. package/dist/src/utils/ed25519.js.map +1 -0
  390. package/dist/src/utils/errors.d.ts +68 -0
  391. package/dist/src/utils/errors.js +190 -0
  392. package/dist/src/utils/errors.js.map +1 -0
  393. package/dist/src/utils/events.d.ts +124 -0
  394. package/dist/src/utils/events.js +155 -0
  395. package/dist/src/utils/events.js.map +1 -0
  396. package/dist/src/utils/formatAmount.d.ts +4 -0
  397. package/dist/src/utils/formatAmount.js +9 -0
  398. package/dist/src/utils/formatAmount.js.map +1 -0
  399. package/dist/src/utils/logger.d.ts +45 -0
  400. package/dist/{utils → src/utils}/logger.js +68 -2
  401. package/dist/src/utils/logger.js.map +1 -0
  402. package/dist/src/utils/shortenString.d.ts +5 -0
  403. package/dist/src/utils/shortenString.js +16 -0
  404. package/dist/src/utils/shortenString.js.map +1 -0
  405. package/package.json +37 -15
  406. package/dist/animations/N1Loader.js.map +0 -1
  407. package/dist/animations/Processing.js.map +0 -1
  408. package/dist/components/LoadingFallback.js.map +0 -1
  409. package/dist/components/Logo.js.map +0 -1
  410. package/dist/components/N1ConnectButton.d.ts +0 -5
  411. package/dist/components/N1ConnectButton.js +0 -49
  412. package/dist/components/N1ConnectButton.js.map +0 -1
  413. package/dist/components/logos/ArbitrumLogo.js.map +0 -1
  414. package/dist/components/logos/BaseLogo.js +0 -6
  415. package/dist/components/logos/BaseLogo.js.map +0 -1
  416. package/dist/components/logos/BeraLogo.js.map +0 -1
  417. package/dist/components/logos/BitcoinLogo.js.map +0 -1
  418. package/dist/components/logos/EthereumLogo.js.map +0 -1
  419. package/dist/components/logos/HyperliquidLogo.js.map +0 -1
  420. package/dist/components/logos/OptimismLogo.js.map +0 -1
  421. package/dist/components/logos/SolanaLogo.js.map +0 -1
  422. package/dist/components/logos/ZeroOneLogo.js.map +0 -1
  423. package/dist/components/logos/index.js.map +0 -1
  424. package/dist/config/chains.d.ts +0 -0
  425. package/dist/config/chains.js +0 -2
  426. package/dist/config/chains.js.map +0 -1
  427. package/dist/config/dynamic.js +0 -13
  428. package/dist/config/dynamic.js.map +0 -1
  429. package/dist/config/solana.js.map +0 -1
  430. package/dist/config/turnkey.d.ts +0 -2
  431. package/dist/config/turnkey.js.map +0 -1
  432. package/dist/config.d.ts +0 -2
  433. package/dist/config.js +0 -3
  434. package/dist/config.js.map +0 -1
  435. package/dist/context/n1-wallet-context.js.map +0 -1
  436. package/dist/errors/types.d.ts +0 -25
  437. package/dist/errors/types.js +0 -77
  438. package/dist/errors/types.js.map +0 -1
  439. package/dist/features/onboarding-flow/N1WalletModal.js.map +0 -1
  440. package/dist/features/onboarding-flow/OnboardingFlow.js.map +0 -1
  441. package/dist/features/onboarding-flow/components/ChainButton.js +0 -21
  442. package/dist/features/onboarding-flow/components/ChainButton.js.map +0 -1
  443. package/dist/features/onboarding-flow/components/Header.js +0 -45
  444. package/dist/features/onboarding-flow/components/Header.js.map +0 -1
  445. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +0 -1
  446. package/dist/features/onboarding-flow/components/TransactionTable.js.map +0 -1
  447. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +0 -1
  448. package/dist/features/onboarding-flow/components/index.js.map +0 -1
  449. package/dist/features/onboarding-flow/index.js.map +0 -1
  450. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +0 -525
  451. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +0 -1
  452. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +0 -185
  453. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +0 -1
  454. package/dist/features/onboarding-flow/providers/StateProvider.js.map +0 -1
  455. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +0 -394
  456. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +0 -1
  457. package/dist/features/onboarding-flow/providers/debug.js.map +0 -1
  458. package/dist/features/onboarding-flow/providers/index.js.map +0 -1
  459. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +0 -1
  460. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +0 -1
  461. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +0 -1
  462. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +0 -31
  463. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +0 -100
  464. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +0 -1
  465. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +0 -1
  466. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.d.ts +0 -6
  467. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +0 -360
  468. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +0 -1
  469. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +0 -1
  470. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +0 -1
  471. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +0 -3
  472. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +0 -31
  473. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +0 -1
  474. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +0 -6
  475. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js +0 -360
  476. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js.map +0 -1
  477. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.d.ts +0 -1
  478. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +0 -136
  479. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +0 -1
  480. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.d.ts +0 -1
  481. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +0 -31
  482. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +0 -1
  483. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js +0 -31
  484. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +0 -1
  485. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +0 -1
  486. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +0 -1
  487. package/dist/features/onboarding-flow/screens/07-ErrorScreen.d.ts +0 -1
  488. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +0 -14
  489. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +0 -1
  490. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +0 -1
  491. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +0 -1
  492. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.d.ts +0 -1
  493. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js +0 -18
  494. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js.map +0 -1
  495. package/dist/features/onboarding-flow/screens/09-ErrorScreen.d.ts +0 -1
  496. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js +0 -14
  497. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js.map +0 -1
  498. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.d.ts +0 -1
  499. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js +0 -18
  500. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js.map +0 -1
  501. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.d.ts +0 -1
  502. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js +0 -18
  503. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js.map +0 -1
  504. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.d.ts +0 -1
  505. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js +0 -18
  506. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js.map +0 -1
  507. package/dist/features/onboarding-flow/screens/index.d.ts +0 -7
  508. package/dist/features/onboarding-flow/screens/index.js +0 -8
  509. package/dist/features/onboarding-flow/screens/index.js.map +0 -1
  510. package/dist/features/onboarding-flow/types.js.map +0 -1
  511. package/dist/features/onboarding-flow/utils/depositStorage.d.ts +0 -4
  512. package/dist/features/onboarding-flow/utils/depositStorage.js +0 -48
  513. package/dist/features/onboarding-flow/utils/depositStorage.js.map +0 -1
  514. package/dist/features/onboarding-flow/utils/imageUtils.d.ts +0 -21
  515. package/dist/features/onboarding-flow/utils/imageUtils.js +0 -110
  516. package/dist/features/onboarding-flow/utils/imageUtils.js.map +0 -1
  517. package/dist/features/onboarding-flow/utils/nordUser.d.ts +0 -1
  518. package/dist/features/onboarding-flow/utils/nordUser.js.map +0 -1
  519. package/dist/features/onboarding-flow/utils/nordUtils.d.ts +0 -40
  520. package/dist/features/onboarding-flow/utils/nordUtils.js +0 -64
  521. package/dist/features/onboarding-flow/utils/nordUtils.js.map +0 -1
  522. package/dist/features/onboarding-flow/utils/session.d.ts +0 -17
  523. package/dist/features/onboarding-flow/utils/session.js +0 -69
  524. package/dist/features/onboarding-flow/utils/session.js.map +0 -1
  525. package/dist/features/onboarding-flow/utils/transaction.js +0 -8
  526. package/dist/features/onboarding-flow/utils/transaction.js.map +0 -1
  527. package/dist/features/onboarding-flow/utils/utils.js.map +0 -1
  528. package/dist/features/onboarding-flow/utils/withImageFallback.d.ts +0 -7
  529. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +0 -1
  530. package/dist/features/turnkey/createTurnkeyWallet.d.ts +0 -25
  531. package/dist/features/turnkey/createTurnkeyWallet.js +0 -119
  532. package/dist/features/turnkey/createTurnkeyWallet.js.map +0 -1
  533. package/dist/hooks/index.js.map +0 -1
  534. package/dist/hooks/useN1Wallet.d.ts +0 -2
  535. package/dist/hooks/useN1Wallet.js.map +0 -1
  536. package/dist/hooks/useNordUserInitialization.d.ts +0 -1
  537. package/dist/hooks/useNordUserInitialization.js.map +0 -1
  538. package/dist/index.d.ts +0 -7
  539. package/dist/index.js +0 -8
  540. package/dist/index.js.map +0 -1
  541. package/dist/polyfills/windowEthereumGuard.d.ts +0 -6
  542. package/dist/polyfills/windowEthereumGuard.js +0 -28
  543. package/dist/polyfills/windowEthereumGuard.js.map +0 -1
  544. package/dist/providers/LazyWalletProvider.d.ts +0 -1
  545. package/dist/providers/LazyWalletProvider.js +0 -230
  546. package/dist/providers/LazyWalletProvider.js.map +0 -1
  547. package/dist/providers/N1WalletProvider.d.ts +0 -3
  548. package/dist/providers/N1WalletProvider.js +0 -267
  549. package/dist/providers/N1WalletProvider.js.map +0 -1
  550. package/dist/providers/ShadowRootWrapper.js.map +0 -1
  551. package/dist/providers/TurnkeyProviderBridge.d.ts +0 -7
  552. package/dist/providers/TurnkeyProviderBridge.js +0 -20
  553. package/dist/providers/TurnkeyProviderBridge.js.map +0 -1
  554. package/dist/providers/WalletErrorBoundary.js.map +0 -1
  555. package/dist/styles/embedded-main-css.d.ts +0 -2
  556. package/dist/styles/embedded-main-css.js +0 -3
  557. package/dist/styles/embedded-main-css.js.map +0 -1
  558. package/dist/turnkey/TurnkeyProvider.d.ts +0 -9
  559. package/dist/turnkey/TurnkeyProvider.js +0 -378
  560. package/dist/turnkey/TurnkeyProvider.js.map +0 -1
  561. package/dist/turnkey/createWalletProvider.d.ts +0 -3
  562. package/dist/turnkey/createWalletProvider.js +0 -180
  563. package/dist/turnkey/createWalletProvider.js.map +0 -1
  564. package/dist/turnkey/index.d.ts +0 -3
  565. package/dist/turnkey/index.js +0 -3
  566. package/dist/turnkey/index.js.map +0 -1
  567. package/dist/turnkey/types.js +0 -8
  568. package/dist/turnkey/types.js.map +0 -1
  569. package/dist/types/wallet.js.map +0 -1
  570. package/dist/utils/ed25519.js.map +0 -1
  571. package/dist/utils/getPseudoName.d.ts +0 -1
  572. package/dist/utils/getPseudoName.js +0 -5826
  573. package/dist/utils/getPseudoName.js.map +0 -1
  574. package/dist/utils/logger.d.ts +0 -21
  575. package/dist/utils/logger.js.map +0 -1
  576. package/dist/utils/shortenString.d.ts +0 -2
  577. package/dist/utils/shortenString.js +0 -9
  578. package/dist/utils/shortenString.js.map +0 -1
  579. package/dist/utils/turnkeySessionStorage.d.ts +0 -3
  580. package/dist/utils/turnkeySessionStorage.js +0 -33
  581. package/dist/utils/turnkeySessionStorage.js.map +0 -1
  582. package/dist/utils/words.d.ts +0 -9
  583. package/dist/utils/words.js +0 -93572
  584. package/dist/utils/words.js.map +0 -1
  585. /package/dist/{animations → src/animations}/N1Loader.d.ts +0 -0
  586. /package/dist/{animations → src/animations}/N1Loader.js +0 -0
  587. /package/dist/{animations → src/animations}/Processing.d.ts +0 -0
  588. /package/dist/{animations → src/animations}/Processing.js +0 -0
  589. /package/dist/{components → src/components}/logos/ArbitrumLogo.d.ts +0 -0
  590. /package/dist/{components → src/components}/logos/ArbitrumLogo.js +0 -0
  591. /package/dist/{components → src/components}/logos/BaseLogo.d.ts +0 -0
  592. /package/dist/{components → src/components}/logos/BeraLogo.d.ts +0 -0
  593. /package/dist/{components → src/components}/logos/BeraLogo.js +0 -0
  594. /package/dist/{components → src/components}/logos/BitcoinLogo.d.ts +0 -0
  595. /package/dist/{components → src/components}/logos/BitcoinLogo.js +0 -0
  596. /package/dist/{components → src/components}/logos/EthereumLogo.d.ts +0 -0
  597. /package/dist/{components → src/components}/logos/EthereumLogo.js +0 -0
  598. /package/dist/{components → src/components}/logos/HyperliquidLogo.d.ts +0 -0
  599. /package/dist/{components → src/components}/logos/OptimismLogo.d.ts +0 -0
  600. /package/dist/{components → src/components}/logos/OptimismLogo.js +0 -0
  601. /package/dist/{components → src/components}/logos/SolanaLogo.d.ts +0 -0
  602. /package/dist/{components → src/components}/logos/SolanaLogo.js +0 -0
  603. /package/dist/{components → src/components}/logos/ZeroOneLogo.d.ts +0 -0
  604. /package/dist/{components → src/components}/logos/ZeroOneLogo.js +0 -0
  605. /package/dist/{components → src/components}/logos/index.d.ts +0 -0
  606. /package/dist/{components → src/components}/logos/index.js +0 -0
  607. /package/dist/{config → src/config}/dynamic.d.ts +0 -0
  608. /package/dist/{config → src/config}/solana.d.ts +0 -0
  609. /package/dist/{config → src/config}/solana.js +0 -0
  610. /package/dist/{context → src/context}/n1-wallet-context.d.ts +0 -0
  611. /package/dist/{context → src/context}/n1-wallet-context.js +0 -0
  612. /package/dist/{features → src/features}/onboarding-flow/N1WalletModal.d.ts +0 -0
  613. /package/dist/{features → src/features}/onboarding-flow/components/ImageWithFallback.d.ts +0 -0
  614. /package/dist/{features → src/features}/onboarding-flow/components/ImageWithFallback.js +0 -0
  615. /package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.js +0 -0
  616. /package/dist/{features → src/features}/onboarding-flow/components/index.d.ts +0 -0
  617. /package/dist/{features → src/features}/onboarding-flow/components/index.js +0 -0
  618. /package/dist/{features → src/features}/onboarding-flow/index.d.ts +0 -0
  619. /package/dist/{features → src/features}/onboarding-flow/index.js +0 -0
  620. /package/dist/{features → src/features}/onboarding-flow/providers/debug.d.ts +0 -0
  621. /package/dist/{features → src/features}/onboarding-flow/providers/index.d.ts +0 -0
  622. /package/dist/{features → src/features}/onboarding-flow/providers/index.js +0 -0
  623. /package/dist/{features → src/features}/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +0 -0
  624. /package/dist/{features → src/features}/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +0 -0
  625. /package/dist/{hooks → src/hooks}/index.d.ts +0 -0
  626. /package/dist/{hooks → src/hooks}/index.js +0 -0
  627. /package/dist/{types → src/types}/wallet.js +0 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Deposit Recovery Service
3
+ *
4
+ * Handles detection and recovery of pending deposits.
5
+ * Extracted from WalletConnectionProvider to enable:
6
+ * - Testable pure functions
7
+ * - Clear separation from React lifecycle
8
+ * - Reusable deposit recovery logic
9
+ */
10
+ import type { PendingDepositState, PendingDepositStage } from '../storage';
11
+ import type { RecoverableDeposit, DepositRecoveryResult } from './types';
12
+ /**
13
+ * Check if there's a recoverable pending deposit.
14
+ */
15
+ export declare function checkForRecoverableDeposit(): DepositRecoveryResult;
16
+ /**
17
+ * Check if a pending deposit belongs to the given wallet address.
18
+ */
19
+ export declare function isDepositForWallet(walletAddress: string): boolean;
20
+ /**
21
+ * Get the current pending deposit if any.
22
+ */
23
+ export declare function getPendingDeposit(): PendingDepositState | null;
24
+ /**
25
+ * Map storage stage to UI phase for display.
26
+ */
27
+ export declare function mapStageToPhase(stage: PendingDepositStage): string;
28
+ /**
29
+ * Determine recovery action based on deposit state.
30
+ */
31
+ export declare function determineRecoveryAction(deposit: RecoverableDeposit): 'resume_bridge' | 'wait_attestation' | 'resume_claim' | 'wait_solana' | 'complete' | 'none';
32
+ /**
33
+ * Clear pending deposit from storage.
34
+ */
35
+ export declare function clearPendingDeposit(): void;
36
+ /**
37
+ * Clear last deposit record for a wallet.
38
+ */
39
+ export declare function clearLastDeposit(walletAddress: string): void;
40
+ /**
41
+ * Clear all deposit data for a wallet.
42
+ */
43
+ export declare function clearAllDepositData(walletAddress: string): void;
44
+ /**
45
+ * Validate that a pending deposit is still valid for recovery.
46
+ */
47
+ export declare function validateDepositForRecovery(deposit: RecoverableDeposit, currentWallet: string): {
48
+ valid: boolean;
49
+ reason?: string;
50
+ };
51
+ /**
52
+ * Prepare deposit for recovery by validating and returning recovery info.
53
+ */
54
+ export declare function prepareDepositRecovery(currentWallet: string): {
55
+ shouldRecover: boolean;
56
+ deposit: RecoverableDeposit | null;
57
+ action: ReturnType<typeof determineRecoveryAction>;
58
+ error?: string;
59
+ };
60
+ /**
61
+ * Migrate legacy pending deposits to new format.
62
+ * Call this once at startup to clean up old data.
63
+ */
64
+ export declare function migrateLegacyDeposits(): void;
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Deposit Recovery Service
3
+ *
4
+ * Handles detection and recovery of pending deposits.
5
+ * Extracted from WalletConnectionProvider to enable:
6
+ * - Testable pure functions
7
+ * - Clear separation from React lifecycle
8
+ * - Reusable deposit recovery logic
9
+ */
10
+ import { logger } from '../../utils/logger';
11
+ import { StorageService } from '../storage';
12
+ // ============================================
13
+ // DEPOSIT DETECTION
14
+ // ============================================
15
+ /**
16
+ * Check if there's a recoverable pending deposit.
17
+ */
18
+ export function checkForRecoverableDeposit() {
19
+ var pending = StorageService.readPendingDeposit();
20
+ if (!pending) {
21
+ return { hasRecoverable: false, deposit: null };
22
+ }
23
+ // Check if deposit is in a recoverable state
24
+ var recoverableStages = [
25
+ 'initiated',
26
+ 'bridge_submitted',
27
+ 'bridge_confirmed',
28
+ 'solana_submitted',
29
+ ];
30
+ if (!recoverableStages.includes(pending.stage)) {
31
+ logger.debug('[DepositRecoveryService] Deposit not in recoverable state', {
32
+ stage: pending.stage,
33
+ });
34
+ return { hasRecoverable: false, deposit: null };
35
+ }
36
+ var deposit = {
37
+ depositId: pending.depositId,
38
+ wallet: pending.wallet,
39
+ chain: pending.chain,
40
+ amount: pending.amount,
41
+ stage: pending.stage,
42
+ tx: pending.tx,
43
+ attestationId: pending.attestationId,
44
+ };
45
+ logger.debug('[DepositRecoveryService] Found recoverable deposit', {
46
+ depositId: deposit.depositId,
47
+ stage: deposit.stage,
48
+ });
49
+ return { hasRecoverable: true, deposit: deposit };
50
+ }
51
+ /**
52
+ * Check if a pending deposit belongs to the given wallet address.
53
+ */
54
+ export function isDepositForWallet(walletAddress) {
55
+ var pending = StorageService.readPendingDeposit();
56
+ if (!pending)
57
+ return false;
58
+ return pending.wallet.toLowerCase() === walletAddress.toLowerCase();
59
+ }
60
+ /**
61
+ * Get the current pending deposit if any.
62
+ */
63
+ export function getPendingDeposit() {
64
+ return StorageService.readPendingDeposit();
65
+ }
66
+ // ============================================
67
+ // DEPOSIT STATE MAPPING
68
+ // ============================================
69
+ /**
70
+ * Map storage stage to UI phase for display.
71
+ */
72
+ export function mapStageToPhase(stage) {
73
+ switch (stage) {
74
+ case 'initiated':
75
+ return 'initiating';
76
+ case 'bridge_submitted':
77
+ return 'bridge';
78
+ case 'bridge_confirmed':
79
+ return 'claim';
80
+ case 'solana_submitted':
81
+ return 'solana';
82
+ case 'solana_confirmed':
83
+ return 'complete';
84
+ case 'failed':
85
+ return 'failed';
86
+ default:
87
+ return 'unknown';
88
+ }
89
+ }
90
+ /**
91
+ * Determine recovery action based on deposit state.
92
+ */
93
+ export function determineRecoveryAction(deposit) {
94
+ switch (deposit.stage) {
95
+ case 'initiated':
96
+ // Bridge not submitted yet - need to restart
97
+ return 'resume_bridge';
98
+ case 'bridge_submitted':
99
+ // Bridge TX submitted, waiting for confirmation/attestation
100
+ if (deposit.attestationId) {
101
+ return 'resume_claim';
102
+ }
103
+ return 'wait_attestation';
104
+ case 'bridge_confirmed':
105
+ // Bridge confirmed, need to claim on Solana
106
+ return 'resume_claim';
107
+ case 'solana_submitted':
108
+ // Solana TX submitted, waiting for confirmation
109
+ return 'wait_solana';
110
+ default:
111
+ return 'none';
112
+ }
113
+ }
114
+ // ============================================
115
+ // DEPOSIT CLEANUP
116
+ // ============================================
117
+ /**
118
+ * Clear pending deposit from storage.
119
+ */
120
+ export function clearPendingDeposit() {
121
+ StorageService.clearPendingDeposit();
122
+ logger.debug('[DepositRecoveryService] Pending deposit cleared');
123
+ }
124
+ /**
125
+ * Clear last deposit record for a wallet.
126
+ */
127
+ export function clearLastDeposit(walletAddress) {
128
+ StorageService.clearLastDeposit(walletAddress);
129
+ logger.debug('[DepositRecoveryService] Last deposit record cleared');
130
+ }
131
+ /**
132
+ * Clear all deposit data for a wallet.
133
+ */
134
+ export function clearAllDepositData(walletAddress) {
135
+ clearPendingDeposit();
136
+ clearLastDeposit(walletAddress);
137
+ logger.debug('[DepositRecoveryService] All deposit data cleared');
138
+ }
139
+ // ============================================
140
+ // DEPOSIT VALIDATION
141
+ // ============================================
142
+ /**
143
+ * Validate that a pending deposit is still valid for recovery.
144
+ */
145
+ export function validateDepositForRecovery(deposit, currentWallet) {
146
+ // Check wallet match
147
+ if (deposit.wallet.toLowerCase() !== currentWallet.toLowerCase()) {
148
+ return {
149
+ valid: false,
150
+ reason: 'Deposit belongs to a different wallet',
151
+ };
152
+ }
153
+ // Check for required data based on stage
154
+ if (deposit.stage === 'bridge_submitted' && !deposit.tx) {
155
+ return {
156
+ valid: false,
157
+ reason: 'Missing bridge transaction hash',
158
+ };
159
+ }
160
+ if (deposit.stage === 'bridge_confirmed' && !deposit.attestationId) {
161
+ return {
162
+ valid: false,
163
+ reason: 'Missing attestation ID for claim',
164
+ };
165
+ }
166
+ return { valid: true };
167
+ }
168
+ // ============================================
169
+ // RECOVERY ORCHESTRATION
170
+ // ============================================
171
+ /**
172
+ * Prepare deposit for recovery by validating and returning recovery info.
173
+ */
174
+ export function prepareDepositRecovery(currentWallet) {
175
+ var _a = checkForRecoverableDeposit(), hasRecoverable = _a.hasRecoverable, deposit = _a.deposit;
176
+ if (!hasRecoverable || !deposit) {
177
+ return {
178
+ shouldRecover: false,
179
+ deposit: null,
180
+ action: 'none',
181
+ };
182
+ }
183
+ var validation = validateDepositForRecovery(deposit, currentWallet);
184
+ if (!validation.valid) {
185
+ return {
186
+ shouldRecover: false,
187
+ deposit: null,
188
+ action: 'none',
189
+ error: validation.reason,
190
+ };
191
+ }
192
+ var action = determineRecoveryAction(deposit);
193
+ return {
194
+ shouldRecover: true,
195
+ deposit: deposit,
196
+ action: action,
197
+ };
198
+ }
199
+ // ============================================
200
+ // LEGACY MIGRATION
201
+ // ============================================
202
+ /**
203
+ * Migrate legacy pending deposits to new format.
204
+ * Call this once at startup to clean up old data.
205
+ */
206
+ export function migrateLegacyDeposits() {
207
+ var _a;
208
+ var legacy = StorageService.readLegacyPendingDeposits();
209
+ if (legacy.length === 0) {
210
+ return;
211
+ }
212
+ logger.debug('[DepositRecoveryService] Found legacy deposits to migrate', {
213
+ count: legacy.length,
214
+ });
215
+ // Take the most recent one
216
+ var mostRecent = legacy.reduce(function (latest, current) {
217
+ var _a;
218
+ return current.timestamp > ((_a = latest === null || latest === void 0 ? void 0 : latest.timestamp) !== null && _a !== void 0 ? _a : 0) ? current : latest;
219
+ }, legacy[0]);
220
+ if (mostRecent && mostRecent.status === 'pending') {
221
+ // Map legacy status to new stage
222
+ var stage = mostRecent.attestationId
223
+ ? 'bridge_confirmed'
224
+ : 'bridge_submitted';
225
+ StorageService.writePendingDeposit({
226
+ depositId: mostRecent.depositId,
227
+ wallet: '', // Legacy format didn't always have wallet
228
+ chain: (_a = mostRecent.sourceChain) !== null && _a !== void 0 ? _a : '',
229
+ amount: mostRecent.amount,
230
+ stage: stage,
231
+ tx: mostRecent.bridgeTx,
232
+ attestationId: mostRecent.attestationId,
233
+ mintTx: null,
234
+ explorerUrl: null,
235
+ reason: null,
236
+ updatedAt: mostRecent.timestamp,
237
+ });
238
+ logger.debug('[DepositRecoveryService] Migrated legacy deposit', {
239
+ depositId: mostRecent.depositId,
240
+ });
241
+ }
242
+ // Clear legacy storage
243
+ StorageService.clearLegacyPendingDeposits();
244
+ }
245
+ //# sourceMappingURL=DepositRecoveryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepositRecoveryService.js","sourceRoot":"","sources":["../../../../src/services/bootstrap/DepositRecoveryService.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Deposit Recovery Service\n *\n * Handles detection and recovery of pending deposits.\n * Extracted from WalletConnectionProvider to enable:\n * - Testable pure functions\n * - Clear separation from React lifecycle\n * - Reusable deposit recovery logic\n */\n\nimport { logger } from '../../utils/logger';\nimport { StorageService } from '../storage';\nimport type { PendingDepositState, PendingDepositStage } from '../storage';\nimport type { RecoverableDeposit, DepositRecoveryResult } from './types';\n\n// ============================================\n// DEPOSIT DETECTION\n// ============================================\n\n/**\n * Check if there's a recoverable pending deposit.\n */\nexport function checkForRecoverableDeposit(): DepositRecoveryResult {\n const pending = StorageService.readPendingDeposit();\n\n if (!pending) {\n return { hasRecoverable: false, deposit: null };\n }\n\n // Check if deposit is in a recoverable state\n const recoverableStages: PendingDepositStage[] = [\n 'initiated',\n 'bridge_submitted',\n 'bridge_confirmed',\n 'solana_submitted',\n ];\n\n if (!recoverableStages.includes(pending.stage)) {\n logger.debug('[DepositRecoveryService] Deposit not in recoverable state', {\n stage: pending.stage,\n });\n return { hasRecoverable: false, deposit: null };\n }\n\n const deposit: RecoverableDeposit = {\n depositId: pending.depositId,\n wallet: pending.wallet,\n chain: pending.chain,\n amount: pending.amount,\n stage: pending.stage,\n tx: pending.tx,\n attestationId: pending.attestationId,\n };\n\n logger.debug('[DepositRecoveryService] Found recoverable deposit', {\n depositId: deposit.depositId,\n stage: deposit.stage,\n });\n\n return { hasRecoverable: true, deposit };\n}\n\n/**\n * Check if a pending deposit belongs to the given wallet address.\n */\nexport function isDepositForWallet(walletAddress: string): boolean {\n const pending = StorageService.readPendingDeposit();\n if (!pending) return false;\n\n return pending.wallet.toLowerCase() === walletAddress.toLowerCase();\n}\n\n/**\n * Get the current pending deposit if any.\n */\nexport function getPendingDeposit(): PendingDepositState | null {\n return StorageService.readPendingDeposit();\n}\n\n// ============================================\n// DEPOSIT STATE MAPPING\n// ============================================\n\n/**\n * Map storage stage to UI phase for display.\n */\nexport function mapStageToPhase(stage: PendingDepositStage): string {\n switch (stage) {\n case 'initiated':\n return 'initiating';\n case 'bridge_submitted':\n return 'bridge';\n case 'bridge_confirmed':\n return 'claim';\n case 'solana_submitted':\n return 'solana';\n case 'solana_confirmed':\n return 'complete';\n case 'failed':\n return 'failed';\n default:\n return 'unknown';\n }\n}\n\n/**\n * Determine recovery action based on deposit state.\n */\nexport function determineRecoveryAction(deposit: RecoverableDeposit):\n | 'resume_bridge'\n | 'wait_attestation'\n | 'resume_claim'\n | 'wait_solana'\n | 'complete'\n | 'none' {\n\n switch (deposit.stage) {\n case 'initiated':\n // Bridge not submitted yet - need to restart\n return 'resume_bridge';\n\n case 'bridge_submitted':\n // Bridge TX submitted, waiting for confirmation/attestation\n if (deposit.attestationId) {\n return 'resume_claim';\n }\n return 'wait_attestation';\n\n case 'bridge_confirmed':\n // Bridge confirmed, need to claim on Solana\n return 'resume_claim';\n\n case 'solana_submitted':\n // Solana TX submitted, waiting for confirmation\n return 'wait_solana';\n\n default:\n return 'none';\n }\n}\n\n// ============================================\n// DEPOSIT CLEANUP\n// ============================================\n\n/**\n * Clear pending deposit from storage.\n */\nexport function clearPendingDeposit(): void {\n StorageService.clearPendingDeposit();\n logger.debug('[DepositRecoveryService] Pending deposit cleared');\n}\n\n/**\n * Clear last deposit record for a wallet.\n */\nexport function clearLastDeposit(walletAddress: string): void {\n StorageService.clearLastDeposit(walletAddress);\n logger.debug('[DepositRecoveryService] Last deposit record cleared');\n}\n\n/**\n * Clear all deposit data for a wallet.\n */\nexport function clearAllDepositData(walletAddress: string): void {\n clearPendingDeposit();\n clearLastDeposit(walletAddress);\n logger.debug('[DepositRecoveryService] All deposit data cleared');\n}\n\n// ============================================\n// DEPOSIT VALIDATION\n// ============================================\n\n/**\n * Validate that a pending deposit is still valid for recovery.\n */\nexport function validateDepositForRecovery(\n deposit: RecoverableDeposit,\n currentWallet: string\n): { valid: boolean; reason?: string } {\n // Check wallet match\n if (deposit.wallet.toLowerCase() !== currentWallet.toLowerCase()) {\n return {\n valid: false,\n reason: 'Deposit belongs to a different wallet',\n };\n }\n\n // Check for required data based on stage\n if (deposit.stage === 'bridge_submitted' && !deposit.tx) {\n return {\n valid: false,\n reason: 'Missing bridge transaction hash',\n };\n }\n\n if (deposit.stage === 'bridge_confirmed' && !deposit.attestationId) {\n return {\n valid: false,\n reason: 'Missing attestation ID for claim',\n };\n }\n\n return { valid: true };\n}\n\n// ============================================\n// RECOVERY ORCHESTRATION\n// ============================================\n\n/**\n * Prepare deposit for recovery by validating and returning recovery info.\n */\nexport function prepareDepositRecovery(currentWallet: string): {\n shouldRecover: boolean;\n deposit: RecoverableDeposit | null;\n action: ReturnType<typeof determineRecoveryAction>;\n error?: string;\n} {\n const { hasRecoverable, deposit } = checkForRecoverableDeposit();\n\n if (!hasRecoverable || !deposit) {\n return {\n shouldRecover: false,\n deposit: null,\n action: 'none',\n };\n }\n\n const validation = validateDepositForRecovery(deposit, currentWallet);\n if (!validation.valid) {\n return {\n shouldRecover: false,\n deposit: null,\n action: 'none',\n error: validation.reason,\n };\n }\n\n const action = determineRecoveryAction(deposit);\n\n return {\n shouldRecover: true,\n deposit,\n action,\n };\n}\n\n// ============================================\n// LEGACY MIGRATION\n// ============================================\n\n/**\n * Migrate legacy pending deposits to new format.\n * Call this once at startup to clean up old data.\n */\nexport function migrateLegacyDeposits(): void {\n const legacy = StorageService.readLegacyPendingDeposits();\n\n if (legacy.length === 0) {\n return;\n }\n\n logger.debug('[DepositRecoveryService] Found legacy deposits to migrate', {\n count: legacy.length,\n });\n\n // Take the most recent one\n const mostRecent = legacy.reduce((latest, current) => {\n return current.timestamp > (latest?.timestamp ?? 0) ? current : latest;\n }, legacy[0]);\n\n if (mostRecent && mostRecent.status === 'pending') {\n // Map legacy status to new stage\n const stage: PendingDepositStage = mostRecent.attestationId\n ? 'bridge_confirmed'\n : 'bridge_submitted';\n\n StorageService.writePendingDeposit({\n depositId: mostRecent.depositId,\n wallet: '', // Legacy format didn't always have wallet\n chain: mostRecent.sourceChain ?? '',\n amount: mostRecent.amount,\n stage,\n tx: mostRecent.bridgeTx,\n attestationId: mostRecent.attestationId,\n mintTx: null,\n explorerUrl: null,\n reason: null,\n updatedAt: mostRecent.timestamp,\n });\n\n logger.debug('[DepositRecoveryService] Migrated legacy deposit', {\n depositId: mostRecent.depositId,\n });\n }\n\n // Clear legacy storage\n StorageService.clearLegacyPendingDeposits();\n}\n"]}
@@ -0,0 +1,62 @@
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
+ import type { DynamicSdkConfig, DynamicSdkLoadResult, ProxyConfig } from './types';
11
+ /**
12
+ * Check if we're running on localhost (development).
13
+ */
14
+ export declare function isLocalhost(): boolean;
15
+ /**
16
+ * Patch fetch and XMLHttpRequest to proxy Dynamic Auth requests.
17
+ * Only applies on localhost for development.
18
+ *
19
+ * This is idempotent - safe to call multiple times.
20
+ */
21
+ export declare function patchFetchForProxy(config?: ProxyConfig): boolean;
22
+ /**
23
+ * Load Dynamic SDK dependencies.
24
+ *
25
+ * This is memoized - subsequent calls return the cached result.
26
+ */
27
+ export declare function loadDynamicSdk(): Promise<DynamicSdkLoadResult>;
28
+ /**
29
+ * Check if SDK is already loaded.
30
+ */
31
+ export declare function isSdkLoaded(): boolean;
32
+ /**
33
+ * Get cached SDK result (or null if not loaded).
34
+ */
35
+ export declare function getCachedSdk(): DynamicSdkLoadResult | null;
36
+ /**
37
+ * Build Dynamic SDK settings object.
38
+ */
39
+ export declare function buildSdkSettings(config: DynamicSdkConfig, evmNetworksFn?: (networks?: any[]) => any[]): Record<string, any>;
40
+ /**
41
+ * Build Solana network configuration for Dynamic SDK.
42
+ */
43
+ export declare function buildSolanaNetworks(rpcUrl: string): any[];
44
+ /**
45
+ * Create wallet connectors array based on preferred network.
46
+ */
47
+ export declare function buildWalletConnectors(sdk: DynamicSdkLoadResult, preferredNetwork: 'solana' | 'evm' | null, solanaNetworks: any[]): any[];
48
+ /**
49
+ * Determine if a wallet is a Solana wallet based on chain.
50
+ */
51
+ export declare function isSolanaWallet(wallet: {
52
+ chain?: string;
53
+ } | null): boolean;
54
+ /**
55
+ * Check if wallet address changed since last session.
56
+ * Returns true if address changed (requires logout).
57
+ */
58
+ export declare function hasWalletAddressChanged(currentAddress: string): boolean;
59
+ /**
60
+ * Store the current wallet address for session continuity check.
61
+ */
62
+ export declare function storeWalletAddress(address: string): void;