@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,259 @@
1
+ /**
2
+ * N1 Wallet Store
3
+ *
4
+ * Main store that combines all slices using Zustand.
5
+ */
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ import { create } from 'zustand';
18
+ import { devtools, subscribeWithSelector } from 'zustand/middleware';
19
+ import { initialSigningSlice, initialSessionSlice, initialWalletSlice, initialUISlice, initialConfigSlice, initialBootstrapSlice, } from './slices';
20
+ /**
21
+ * Create the wallet store with all slices combined.
22
+ *
23
+ * Middleware:
24
+ * - devtools: Redux DevTools integration
25
+ * - subscribeWithSelector: Enables selective subscriptions
26
+ */
27
+ export var useWalletStore = create()(subscribeWithSelector(devtools(function (set) { return ({
28
+ // Initial state
29
+ signing: __assign({}, initialSigningSlice),
30
+ session: __assign({}, initialSessionSlice),
31
+ wallet: __assign({}, initialWalletSlice),
32
+ ui: __assign({}, initialUISlice),
33
+ config: __assign({}, initialConfigSlice),
34
+ bootstrap: __assign({}, initialBootstrapSlice),
35
+ // Actions
36
+ actions: {
37
+ signing: {
38
+ setSignMessageWithSessionKey: function (fn) {
39
+ return set(function (state) { return ({
40
+ signing: __assign(__assign({}, state.signing), { signMessageWithSessionKey: fn }),
41
+ }); });
42
+ },
43
+ setSignMessageWithWalletKey: function (fn) {
44
+ return set(function (state) { return ({
45
+ signing: __assign(__assign({}, state.signing), { signMessageWithWalletKey: fn }),
46
+ }); });
47
+ },
48
+ setSignTransactionWithWalletKey: function (fn) {
49
+ return set(function (state) { return ({
50
+ signing: __assign(__assign({}, state.signing), { signTransactionWithWalletKey: fn }),
51
+ }); });
52
+ },
53
+ },
54
+ session: {
55
+ setIsConnected: function (connected) {
56
+ return set(function (state) { return ({
57
+ session: __assign(__assign({}, state.session), { isConnected: connected }),
58
+ }); });
59
+ },
60
+ setSessionPubKey: function (key) {
61
+ return set(function (state) { return ({
62
+ session: __assign(__assign({}, state.session), { sessionPubKey: key }),
63
+ }); });
64
+ },
65
+ setWalletPubKey: function (key) {
66
+ return set(function (state) { return ({
67
+ session: __assign(__assign({}, state.session), { walletPubKey: key }),
68
+ }); });
69
+ },
70
+ setNordUser: function (user) {
71
+ return set(function (state) { return ({
72
+ session: __assign(__assign({}, state.session), { nordUser: user }),
73
+ }); });
74
+ },
75
+ setLoading: function (loading) {
76
+ return set(function (state) { return ({
77
+ session: __assign(__assign({}, state.session), { loading: loading }),
78
+ }); });
79
+ },
80
+ setDynamicSdkLoaded: function (loaded) {
81
+ return set(function (state) { return ({
82
+ session: __assign(__assign({}, state.session), { dynamicSdkLoaded: loaded }),
83
+ }); });
84
+ },
85
+ },
86
+ wallet: {
87
+ setSolanaWallet: function (wallet) {
88
+ return set(function (state) { return ({
89
+ wallet: __assign(__assign({}, state.wallet), { solanaWallet: wallet }),
90
+ }); });
91
+ },
92
+ setEvmWallet: function (wallet) {
93
+ return set(function (state) { return ({
94
+ wallet: __assign(__assign({}, state.wallet), { evmWallet: wallet }),
95
+ }); });
96
+ },
97
+ setSolanaAddress: function (address) {
98
+ return set(function (state) { return ({
99
+ wallet: __assign(__assign({}, state.wallet), { solanaAddress: address }),
100
+ }); });
101
+ },
102
+ setEvmAddress: function (address) {
103
+ return set(function (state) { return ({
104
+ wallet: __assign(__assign({}, state.wallet), { evmAddress: address }),
105
+ }); });
106
+ },
107
+ setEvmChain: function (chain) {
108
+ return set(function (state) { return ({
109
+ wallet: __assign(__assign({}, state.wallet), { evmChain: chain }),
110
+ }); });
111
+ },
112
+ setNetwork: function (network) {
113
+ return set(function (state) { return ({
114
+ wallet: __assign(__assign({}, state.wallet), { network: network }),
115
+ }); });
116
+ },
117
+ setPreferredNetwork: function (network) {
118
+ return set(function (state) { return ({
119
+ wallet: __assign(__assign({}, state.wallet), { preferredNetwork: network }),
120
+ }); });
121
+ },
122
+ setSolanaAdapter: function (adapter) {
123
+ return set(function (state) { return ({
124
+ wallet: __assign(__assign({}, state.wallet), { solanaAdapter: adapter }),
125
+ }); });
126
+ },
127
+ setEvmAdapter: function (adapter) {
128
+ return set(function (state) { return ({
129
+ wallet: __assign(__assign({}, state.wallet), { evmAdapter: adapter }),
130
+ }); });
131
+ },
132
+ setBalances: function (balances) {
133
+ return set(function (state) { return ({
134
+ wallet: __assign(__assign({}, state.wallet), { balances: balances }),
135
+ }); });
136
+ },
137
+ },
138
+ ui: {
139
+ setModalState: function (modalState) {
140
+ return set(function (state) { return ({
141
+ ui: __assign(__assign({}, state.ui), { modalState: modalState }),
142
+ }); });
143
+ },
144
+ setViewMode: function (mode) {
145
+ return set(function (state) { return ({
146
+ ui: __assign(__assign({}, state.ui), { viewMode: mode }),
147
+ }); });
148
+ },
149
+ setDepositFlowRequestId: function (id) {
150
+ return set(function (state) { return ({
151
+ ui: __assign(__assign({}, state.ui), { depositFlowRequestId: id }),
152
+ }); });
153
+ },
154
+ setModalCooldownUntil: function (timestamp) {
155
+ return set(function (state) { return ({
156
+ ui: __assign(__assign({}, state.ui), { modalCooldownUntil: timestamp }),
157
+ }); });
158
+ },
159
+ setShowDynamicWidget: function (fn) {
160
+ return set(function (state) { return ({
161
+ ui: __assign(__assign({}, state.ui), { showDynamicWidget: fn }),
162
+ }); });
163
+ },
164
+ setDynamicHandleLogOut: function (fn) {
165
+ return set(function (state) { return ({
166
+ ui: __assign(__assign({}, state.ui), { dynamicHandleLogOut: fn }),
167
+ }); });
168
+ },
169
+ setDisconnectWalletHandler: function (fn) {
170
+ return set(function (state) { return ({
171
+ ui: __assign(__assign({}, state.ui), { disconnectWalletHandler: fn }),
172
+ }); });
173
+ },
174
+ setWalletConnectCancelledHandler: function (fn) {
175
+ return set(function (state) { return ({
176
+ ui: __assign(__assign({}, state.ui), { walletConnectCancelledHandler: fn }),
177
+ }); });
178
+ },
179
+ },
180
+ config: {
181
+ setInjectedCss: function (css) {
182
+ return set(function (state) { return ({
183
+ config: __assign(__assign({}, state.config), { injectedCss: css }),
184
+ }); });
185
+ },
186
+ setColorOverrides: function (overrides) {
187
+ return set(function (state) { return ({
188
+ config: __assign(__assign({}, state.config), { colorOverrides: overrides }),
189
+ }); });
190
+ },
191
+ setTurnkeyEnabled: function (enabled) {
192
+ return set(function (state) { return ({
193
+ config: __assign(__assign({}, state.config), { turnkeyEnabled: enabled }),
194
+ }); });
195
+ },
196
+ },
197
+ bootstrap: {
198
+ setDynamicSdkStatus: function (status) {
199
+ return set(function (state) { return ({
200
+ bootstrap: __assign(__assign({}, state.bootstrap), { dynamicSdkStatus: status }),
201
+ }); });
202
+ },
203
+ setDynamicSdkError: function (error) {
204
+ return set(function (state) { return ({
205
+ bootstrap: __assign(__assign({}, state.bootstrap), { dynamicSdkError: error }),
206
+ }); });
207
+ },
208
+ setTurnkeyStatus: function (status) {
209
+ return set(function (state) { return ({
210
+ bootstrap: __assign(__assign({}, state.bootstrap), { turnkeyStatus: status }),
211
+ }); });
212
+ },
213
+ setTurnkeyError: function (error) {
214
+ return set(function (state) { return ({
215
+ bootstrap: __assign(__assign({}, state.bootstrap), { turnkeyError: error }),
216
+ }); });
217
+ },
218
+ setSessionStatus: function (status) {
219
+ return set(function (state) { return ({
220
+ bootstrap: __assign(__assign({}, state.bootstrap), { sessionStatus: status }),
221
+ }); });
222
+ },
223
+ setSessionError: function (error) {
224
+ return set(function (state) { return ({
225
+ bootstrap: __assign(__assign({}, state.bootstrap), { sessionError: error }),
226
+ }); });
227
+ },
228
+ setDepositRecoveryStatus: function (status) {
229
+ return set(function (state) { return ({
230
+ bootstrap: __assign(__assign({}, state.bootstrap), { depositRecoveryStatus: status }),
231
+ }); });
232
+ },
233
+ markBootstrapStarted: function () {
234
+ return set(function (state) { return ({
235
+ bootstrap: __assign(__assign({}, state.bootstrap), { bootstrapStartedAt: Date.now() }),
236
+ }); });
237
+ },
238
+ markBootstrapCompleted: function () {
239
+ return set(function (state) { return ({
240
+ bootstrap: __assign(__assign({}, state.bootstrap), { bootstrapCompletedAt: Date.now() }),
241
+ }); });
242
+ },
243
+ resetBootstrap: function () {
244
+ return set(function (state) { return ({
245
+ bootstrap: __assign(__assign({}, state.bootstrap), { dynamicSdkStatus: 'idle', dynamicSdkError: null, turnkeyStatus: 'idle', turnkeyError: null, sessionStatus: 'idle', sessionError: null, depositRecoveryStatus: 'idle', bootstrapStartedAt: null, bootstrapCompletedAt: null }),
246
+ }); });
247
+ },
248
+ },
249
+ },
250
+ }); }, {
251
+ name: 'N1WalletStore',
252
+ enabled: process.env.NODE_ENV === 'development',
253
+ })));
254
+ /**
255
+ * Get actions without causing re-renders.
256
+ * Actions are stable references that never change.
257
+ */
258
+ export var getWalletActions = function () { return useWalletStore.getState().actions; };
259
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/store/store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * N1 Wallet Store\n *\n * Main store that combines all slices using Zustand.\n */\n\nimport { create } from 'zustand';\nimport { devtools, subscribeWithSelector } from 'zustand/middleware';\nimport type { WalletStore } from './types';\nimport {\n initialSigningSlice,\n initialSessionSlice,\n initialWalletSlice,\n initialUISlice,\n initialConfigSlice,\n initialBootstrapSlice,\n} from './slices';\n\n/**\n * Create the wallet store with all slices combined.\n *\n * Middleware:\n * - devtools: Redux DevTools integration\n * - subscribeWithSelector: Enables selective subscriptions\n */\nexport const useWalletStore = create<WalletStore>()(\n subscribeWithSelector(\n devtools(\n (set) => ({\n // Initial state\n signing: { ...initialSigningSlice },\n session: { ...initialSessionSlice },\n wallet: { ...initialWalletSlice },\n ui: { ...initialUISlice },\n config: { ...initialConfigSlice },\n bootstrap: { ...initialBootstrapSlice },\n\n // Actions\n actions: {\n signing: {\n setSignMessageWithSessionKey: (fn) =>\n set((state) => ({\n signing: { ...state.signing, signMessageWithSessionKey: fn },\n })),\n setSignMessageWithWalletKey: (fn) =>\n set((state) => ({\n signing: { ...state.signing, signMessageWithWalletKey: fn },\n })),\n setSignTransactionWithWalletKey: (fn) =>\n set((state) => ({\n signing: { ...state.signing, signTransactionWithWalletKey: fn },\n })),\n },\n session: {\n setIsConnected: (connected) =>\n set((state) => ({\n session: { ...state.session, isConnected: connected },\n })),\n setSessionPubKey: (key) =>\n set((state) => ({\n session: { ...state.session, sessionPubKey: key },\n })),\n setWalletPubKey: (key) =>\n set((state) => ({\n session: { ...state.session, walletPubKey: key },\n })),\n setNordUser: (user) =>\n set((state) => ({\n session: { ...state.session, nordUser: user },\n })),\n setLoading: (loading) =>\n set((state) => ({\n session: { ...state.session, loading: loading },\n })),\n setDynamicSdkLoaded: (loaded) =>\n set((state) => ({\n session: { ...state.session, dynamicSdkLoaded: loaded },\n })),\n },\n wallet: {\n setSolanaWallet: (wallet) =>\n set((state) => ({\n wallet: { ...state.wallet, solanaWallet: wallet },\n })),\n setEvmWallet: (wallet) =>\n set((state) => ({\n wallet: { ...state.wallet, evmWallet: wallet },\n })),\n setSolanaAddress: (address) =>\n set((state) => ({\n wallet: { ...state.wallet, solanaAddress: address },\n })),\n setEvmAddress: (address) =>\n set((state) => ({\n wallet: { ...state.wallet, evmAddress: address },\n })),\n setEvmChain: (chain) =>\n set((state) => ({\n wallet: { ...state.wallet, evmChain: chain },\n })),\n setNetwork: (network) =>\n set((state) => ({\n wallet: { ...state.wallet, network: network },\n })),\n setPreferredNetwork: (network) =>\n set((state) => ({\n wallet: { ...state.wallet, preferredNetwork: network },\n })),\n setSolanaAdapter: (adapter) =>\n set((state) => ({\n wallet: { ...state.wallet, solanaAdapter: adapter },\n })),\n setEvmAdapter: (adapter) =>\n set((state) => ({\n wallet: { ...state.wallet, evmAdapter: adapter },\n })),\n setBalances: (balances) =>\n set((state) => ({\n wallet: { ...state.wallet, balances },\n })),\n },\n ui: {\n setModalState: (modalState) =>\n set((state) => ({\n ui: { ...state.ui, modalState },\n })),\n setViewMode: (mode) =>\n set((state) => ({\n ui: { ...state.ui, viewMode: mode },\n })),\n setDepositFlowRequestId: (id) =>\n set((state) => ({\n ui: { ...state.ui, depositFlowRequestId: id },\n })),\n setModalCooldownUntil: (timestamp) =>\n set((state) => ({\n ui: { ...state.ui, modalCooldownUntil: timestamp },\n })),\n setShowDynamicWidget: (fn) =>\n set((state) => ({\n ui: { ...state.ui, showDynamicWidget: fn },\n })),\n setDynamicHandleLogOut: (fn) =>\n set((state) => ({\n ui: { ...state.ui, dynamicHandleLogOut: fn },\n })),\n setDisconnectWalletHandler: (fn) =>\n set((state) => ({\n ui: { ...state.ui, disconnectWalletHandler: fn },\n })),\n setWalletConnectCancelledHandler: (fn) =>\n set((state) => ({\n ui: { ...state.ui, walletConnectCancelledHandler: fn },\n })),\n },\n config: {\n setInjectedCss: (css) =>\n set((state) => ({\n config: { ...state.config, injectedCss: css },\n })),\n setColorOverrides: (overrides) =>\n set((state) => ({\n config: { ...state.config, colorOverrides: overrides },\n })),\n setTurnkeyEnabled: (enabled) =>\n set((state) => ({\n config: { ...state.config, turnkeyEnabled: enabled },\n })),\n },\n bootstrap: {\n setDynamicSdkStatus: (status) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, dynamicSdkStatus: status },\n })),\n setDynamicSdkError: (error) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, dynamicSdkError: error },\n })),\n setTurnkeyStatus: (status) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, turnkeyStatus: status },\n })),\n setTurnkeyError: (error) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, turnkeyError: error },\n })),\n setSessionStatus: (status) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, sessionStatus: status },\n })),\n setSessionError: (error) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, sessionError: error },\n })),\n setDepositRecoveryStatus: (status) =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, depositRecoveryStatus: status },\n })),\n markBootstrapStarted: () =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, bootstrapStartedAt: Date.now() },\n })),\n markBootstrapCompleted: () =>\n set((state) => ({\n bootstrap: { ...state.bootstrap, bootstrapCompletedAt: Date.now() },\n })),\n resetBootstrap: () =>\n set((state) => ({\n bootstrap: {\n ...state.bootstrap,\n dynamicSdkStatus: 'idle',\n dynamicSdkError: null,\n turnkeyStatus: 'idle',\n turnkeyError: null,\n sessionStatus: 'idle',\n sessionError: null,\n depositRecoveryStatus: 'idle',\n bootstrapStartedAt: null,\n bootstrapCompletedAt: null,\n },\n })),\n },\n },\n }),\n {\n name: 'N1WalletStore',\n enabled: process.env.NODE_ENV === 'development',\n }\n )\n )\n);\n\n/**\n * Get actions without causing re-renders.\n * Actions are stable references that never change.\n */\nexport const getWalletActions = () => useWalletStore.getState().actions;\n"]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Deposit Persistence Subscription
3
+ *
4
+ * Watches for deposit-related state changes in the store and
5
+ * persists them to localStorage via StorageService.
6
+ *
7
+ * NOTE: This subscription is PREPARED for future use.
8
+ * Currently, deposit state lives in DepositFlowProvider's local state,
9
+ * not in the Zustand store. Once we migrate deposit state to the store,
10
+ * this subscription will automatically handle persistence.
11
+ */
12
+ import type { StoreApi } from 'zustand';
13
+ import type { WalletStore } from '../types';
14
+ /**
15
+ * Subscribe to deposit-related state changes.
16
+ *
17
+ * When deposit state is added to the store, this will watch for changes
18
+ * and persist them to localStorage.
19
+ *
20
+ * @param store - The Zustand store instance
21
+ * @returns Unsubscribe function
22
+ */
23
+ export declare function subscribeToDepositPersistence(store: StoreApi<WalletStore>): () => void;
24
+ /**
25
+ * Hydrate deposit state from localStorage into the store.
26
+ *
27
+ * Call this once at app startup to restore any pending deposits.
28
+ * This ensures the store has the latest persisted state.
29
+ *
30
+ * @param store - The Zustand store instance
31
+ */
32
+ export declare function hydrateDepositState(store: StoreApi<WalletStore>): void;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Deposit Persistence Subscription
3
+ *
4
+ * Watches for deposit-related state changes in the store and
5
+ * persists them to localStorage via StorageService.
6
+ *
7
+ * NOTE: This subscription is PREPARED for future use.
8
+ * Currently, deposit state lives in DepositFlowProvider's local state,
9
+ * not in the Zustand store. Once we migrate deposit state to the store,
10
+ * this subscription will automatically handle persistence.
11
+ */
12
+ var __assign = (this && this.__assign) || function () {
13
+ __assign = Object.assign || function(t) {
14
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
15
+ s = arguments[i];
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17
+ t[p] = s[p];
18
+ }
19
+ return t;
20
+ };
21
+ return __assign.apply(this, arguments);
22
+ };
23
+ import { StorageService } from '../../services/storage';
24
+ import { logger } from '../../utils/logger';
25
+ /**
26
+ * Subscribe to deposit-related state changes.
27
+ *
28
+ * When deposit state is added to the store, this will watch for changes
29
+ * and persist them to localStorage.
30
+ *
31
+ * @param store - The Zustand store instance
32
+ * @returns Unsubscribe function
33
+ */
34
+ export function subscribeToDepositPersistence(store) {
35
+ // Currently, the store doesn't have deposit state.
36
+ // This is a placeholder that will be activated when we add deposit state.
37
+ //
38
+ // Future implementation will look like:
39
+ //
40
+ // return store.subscribe(
41
+ // (state) => state.deposit?.pending,
42
+ // (pending, previousPending) => {
43
+ // if (!pending && previousPending) {
44
+ // // Deposit was cleared
45
+ // StorageService.clearPendingDeposit();
46
+ // logger.debug('[DepositPersistence] Cleared pending deposit');
47
+ // } else if (pending) {
48
+ // // Deposit was created or updated
49
+ // StorageService.writePendingDeposit(pending);
50
+ // logger.debug('[DepositPersistence] Persisted deposit', {
51
+ // depositId: pending.depositId,
52
+ // stage: pending.stage,
53
+ // });
54
+ // }
55
+ // },
56
+ // { equalityFn: (a, b) => a?.depositId === b?.depositId && a?.stage === b?.stage }
57
+ // );
58
+ // For now, subscribe to bootstrap status changes related to deposits
59
+ // This demonstrates the subscription pattern without affecting existing code
60
+ //
61
+ // subscribeWithSelector middleware allows us to pass a selector as first arg
62
+ // and a listener as second arg. The listener receives (current, previous).
63
+ var unsubscribe = store.subscribe(function (state) { return state.bootstrap.depositRecoveryStatus; }, function (status, previousStatus) {
64
+ if (status !== previousStatus) {
65
+ logger.debug('[DepositPersistence] Recovery status changed', {
66
+ from: previousStatus,
67
+ to: status,
68
+ });
69
+ }
70
+ });
71
+ logger.debug('[DepositPersistence] Subscription initialized');
72
+ return unsubscribe;
73
+ }
74
+ /**
75
+ * Hydrate deposit state from localStorage into the store.
76
+ *
77
+ * Call this once at app startup to restore any pending deposits.
78
+ * This ensures the store has the latest persisted state.
79
+ *
80
+ * @param store - The Zustand store instance
81
+ */
82
+ export function hydrateDepositState(store) {
83
+ var pending = StorageService.readPendingDeposit();
84
+ if (pending) {
85
+ logger.debug('[DepositPersistence] Hydrated pending deposit from storage', {
86
+ depositId: pending.depositId,
87
+ stage: pending.stage,
88
+ wallet: pending.wallet.substring(0, 10) + '...',
89
+ });
90
+ // When deposit slice is added to store, hydrate it:
91
+ // store.setState((state) => ({
92
+ // deposit: { ...state.deposit, pending },
93
+ // }));
94
+ // For now, just update bootstrap status to indicate we checked
95
+ store.setState(function (state) { return ({
96
+ bootstrap: __assign(__assign({}, state.bootstrap), { depositRecoveryStatus: pending ? 'recovering' : 'ready' }),
97
+ }); });
98
+ }
99
+ else {
100
+ logger.debug('[DepositPersistence] No pending deposit in storage');
101
+ store.setState(function (state) { return ({
102
+ bootstrap: __assign(__assign({}, state.bootstrap), { depositRecoveryStatus: 'ready' }),
103
+ }); });
104
+ }
105
+ }
106
+ //# sourceMappingURL=depositPersistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositPersistence.js","sourceRoot":"","sources":["../../../../src/store/subscriptions/depositPersistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAA4B;IAE5B,mDAAmD;IACnD,0EAA0E;IAC1E,EAAE;IACF,wCAAwC;IACxC,EAAE;IACF,0BAA0B;IAC1B,uCAAuC;IACvC,oCAAoC;IACpC,yCAAyC;IACzC,+BAA+B;IAC/B,8CAA8C;IAC9C,sEAAsE;IACtE,4BAA4B;IAC5B,0CAA0C;IAC1C,qDAAqD;IACrD,iEAAiE;IACjE,wCAAwC;IACxC,gCAAgC;IAChC,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,qFAAqF;IACrF,KAAK;IAEL,qEAAqE;IACrE,6EAA6E;IAC7E,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAM,WAAW,GAAI,KAAK,CAAC,SAAiB,CAC1C,UAAC,KAAkB,IAAK,OAAA,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAArC,CAAqC,EAC7D,UAAC,MAAc,EAAE,cAAsB;QACrC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE;gBAC3D,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,MAAM;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC9D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA4B;IAC9D,IAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;IAEpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CAAC,4DAA4D,EAAE;YACzE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;SAChD,CAAC,CAAC;QAEH,oDAAoD;QACpD,+BAA+B;QAC/B,4CAA4C;QAC5C,OAAO;QAEP,+DAA+D;QAC/D,KAAK,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;YACzB,SAAS,wBACJ,KAAK,CAAC,SAAS,KAClB,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,GACxD;SACF,CAAC,EALwB,CAKxB,CAAC,CAAC;IACN,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;YACzB,SAAS,wBACJ,KAAK,CAAC,SAAS,KAClB,qBAAqB,EAAE,OAAO,GAC/B;SACF,CAAC,EALwB,CAKxB,CAAC,CAAC;IACN,CAAC;AACH,CAAC","sourcesContent":["/**\n * Deposit Persistence Subscription\n *\n * Watches for deposit-related state changes in the store and\n * persists them to localStorage via StorageService.\n *\n * NOTE: This subscription is PREPARED for future use.\n * Currently, deposit state lives in DepositFlowProvider's local state,\n * not in the Zustand store. Once we migrate deposit state to the store,\n * this subscription will automatically handle persistence.\n */\n\nimport type { StoreApi } from 'zustand';\nimport type { WalletStore } from '../types';\nimport { StorageService } from '../../services/storage';\nimport { logger } from '../../utils/logger';\n\n/**\n * Subscribe to deposit-related state changes.\n *\n * When deposit state is added to the store, this will watch for changes\n * and persist them to localStorage.\n *\n * @param store - The Zustand store instance\n * @returns Unsubscribe function\n */\nexport function subscribeToDepositPersistence(\n store: StoreApi<WalletStore>\n): () => void {\n // Currently, the store doesn't have deposit state.\n // This is a placeholder that will be activated when we add deposit state.\n //\n // Future implementation will look like:\n //\n // return store.subscribe(\n // (state) => state.deposit?.pending,\n // (pending, previousPending) => {\n // if (!pending && previousPending) {\n // // Deposit was cleared\n // StorageService.clearPendingDeposit();\n // logger.debug('[DepositPersistence] Cleared pending deposit');\n // } else if (pending) {\n // // Deposit was created or updated\n // StorageService.writePendingDeposit(pending);\n // logger.debug('[DepositPersistence] Persisted deposit', {\n // depositId: pending.depositId,\n // stage: pending.stage,\n // });\n // }\n // },\n // { equalityFn: (a, b) => a?.depositId === b?.depositId && a?.stage === b?.stage }\n // );\n\n // For now, subscribe to bootstrap status changes related to deposits\n // This demonstrates the subscription pattern without affecting existing code\n //\n // subscribeWithSelector middleware allows us to pass a selector as first arg\n // and a listener as second arg. The listener receives (current, previous).\n const unsubscribe = (store.subscribe as any)(\n (state: WalletStore) => state.bootstrap.depositRecoveryStatus,\n (status: string, previousStatus: string) => {\n if (status !== previousStatus) {\n logger.debug('[DepositPersistence] Recovery status changed', {\n from: previousStatus,\n to: status,\n });\n }\n }\n );\n\n logger.debug('[DepositPersistence] Subscription initialized');\n return unsubscribe;\n}\n\n/**\n * Hydrate deposit state from localStorage into the store.\n *\n * Call this once at app startup to restore any pending deposits.\n * This ensures the store has the latest persisted state.\n *\n * @param store - The Zustand store instance\n */\nexport function hydrateDepositState(store: StoreApi<WalletStore>): void {\n const pending = StorageService.readPendingDeposit();\n\n if (pending) {\n logger.debug('[DepositPersistence] Hydrated pending deposit from storage', {\n depositId: pending.depositId,\n stage: pending.stage,\n wallet: pending.wallet.substring(0, 10) + '...',\n });\n\n // When deposit slice is added to store, hydrate it:\n // store.setState((state) => ({\n // deposit: { ...state.deposit, pending },\n // }));\n\n // For now, just update bootstrap status to indicate we checked\n store.setState((state) => ({\n bootstrap: {\n ...state.bootstrap,\n depositRecoveryStatus: pending ? 'recovering' : 'ready',\n },\n }));\n } else {\n logger.debug('[DepositPersistence] No pending deposit in storage');\n store.setState((state) => ({\n bootstrap: {\n ...state.bootstrap,\n depositRecoveryStatus: 'ready',\n },\n }));\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Store Subscriptions
3
+ *
4
+ * Subscriptions react to store state changes and trigger side effects
5
+ * (like persisting to localStorage). This keeps side effects out of
6
+ * React components and in a centralized, predictable location.
7
+ *
8
+ * Pattern:
9
+ * - Store is the source of truth
10
+ * - Subscriptions watch for changes and persist
11
+ * - On app load, we hydrate store FROM localStorage
12
+ * - After that, store changes flow TO localStorage
13
+ *
14
+ * Usage:
15
+ * import { initializeSubscriptions } from './subscriptions';
16
+ * initializeSubscriptions(); // Call once at app startup
17
+ */
18
+ /**
19
+ * Initialize all store subscriptions.
20
+ * Should be called once at app startup.
21
+ * Safe to call multiple times (will no-op if already initialized).
22
+ */
23
+ export declare function initializeSubscriptions(): void;
24
+ /**
25
+ * Cleanup all subscriptions.
26
+ * Useful for testing or hot module replacement.
27
+ */
28
+ export declare function cleanupSubscriptions(): void;
29
+ /**
30
+ * Check if subscriptions are initialized.
31
+ */
32
+ export declare function areSubscriptionsInitialized(): boolean;
33
+ export { subscribeToDepositPersistence } from './depositPersistence';
34
+ export { subscribeToTurnkeyPersistence } from './turnkeyPersistence';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Store Subscriptions
3
+ *
4
+ * Subscriptions react to store state changes and trigger side effects
5
+ * (like persisting to localStorage). This keeps side effects out of
6
+ * React components and in a centralized, predictable location.
7
+ *
8
+ * Pattern:
9
+ * - Store is the source of truth
10
+ * - Subscriptions watch for changes and persist
11
+ * - On app load, we hydrate store FROM localStorage
12
+ * - After that, store changes flow TO localStorage
13
+ *
14
+ * Usage:
15
+ * import { initializeSubscriptions } from './subscriptions';
16
+ * initializeSubscriptions(); // Call once at app startup
17
+ */
18
+ import { useWalletStore } from '../store';
19
+ import { subscribeToDepositPersistence } from './depositPersistence';
20
+ import { subscribeToTurnkeyPersistence } from './turnkeyPersistence';
21
+ import { logger } from '../../utils/logger';
22
+ /** Track if subscriptions have been initialized */
23
+ var isInitialized = false;
24
+ /** Store unsubscribe functions for cleanup */
25
+ var unsubscribers = [];
26
+ /**
27
+ * Initialize all store subscriptions.
28
+ * Should be called once at app startup.
29
+ * Safe to call multiple times (will no-op if already initialized).
30
+ */
31
+ export function initializeSubscriptions() {
32
+ if (isInitialized) {
33
+ logger.debug('[Subscriptions] Already initialized, skipping');
34
+ return;
35
+ }
36
+ logger.debug('[Subscriptions] Initializing store subscriptions');
37
+ // Subscribe to deposit state changes
38
+ var unsubDeposit = subscribeToDepositPersistence(useWalletStore);
39
+ unsubscribers.push(unsubDeposit);
40
+ // Subscribe to turnkey session changes
41
+ var unsubTurnkey = subscribeToTurnkeyPersistence(useWalletStore);
42
+ unsubscribers.push(unsubTurnkey);
43
+ isInitialized = true;
44
+ logger.debug('[Subscriptions] Subscriptions initialized', {
45
+ count: unsubscribers.length,
46
+ });
47
+ }
48
+ /**
49
+ * Cleanup all subscriptions.
50
+ * Useful for testing or hot module replacement.
51
+ */
52
+ export function cleanupSubscriptions() {
53
+ if (!isInitialized) {
54
+ return;
55
+ }
56
+ logger.debug('[Subscriptions] Cleaning up subscriptions');
57
+ for (var _i = 0, unsubscribers_1 = unsubscribers; _i < unsubscribers_1.length; _i++) {
58
+ var unsub = unsubscribers_1[_i];
59
+ unsub();
60
+ }
61
+ unsubscribers.length = 0;
62
+ isInitialized = false;
63
+ }
64
+ /**
65
+ * Check if subscriptions are initialized.
66
+ */
67
+ export function areSubscriptionsInitialized() {
68
+ return isInitialized;
69
+ }
70
+ // Re-export individual subscription setup functions for testing
71
+ export { subscribeToDepositPersistence } from './depositPersistence';
72
+ export { subscribeToTurnkeyPersistence } from './turnkeyPersistence';
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/store/subscriptions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,mDAAmD;AACnD,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,8CAA8C;AAC9C,IAAM,aAAa,GAAsB,EAAE,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAEjE,qCAAqC;IACrC,IAAM,YAAY,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACnE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEjC,uCAAuC;IACvC,IAAM,YAAY,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACnE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEjC,aAAa,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;QACxD,KAAK,EAAE,aAAa,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAE1D,KAAoB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE,CAAC;QAA/B,IAAM,KAAK,sBAAA;QACd,KAAK,EAAE,CAAC;IACV,CAAC;IACD,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,gEAAgE;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["/**\n * Store Subscriptions\n *\n * Subscriptions react to store state changes and trigger side effects\n * (like persisting to localStorage). This keeps side effects out of\n * React components and in a centralized, predictable location.\n *\n * Pattern:\n * - Store is the source of truth\n * - Subscriptions watch for changes and persist\n * - On app load, we hydrate store FROM localStorage\n * - After that, store changes flow TO localStorage\n *\n * Usage:\n * import { initializeSubscriptions } from './subscriptions';\n * initializeSubscriptions(); // Call once at app startup\n */\n\nimport { useWalletStore } from '../store';\nimport { subscribeToDepositPersistence } from './depositPersistence';\nimport { subscribeToTurnkeyPersistence } from './turnkeyPersistence';\nimport { logger } from '../../utils/logger';\n\n/** Track if subscriptions have been initialized */\nlet isInitialized = false;\n\n/** Store unsubscribe functions for cleanup */\nconst unsubscribers: Array<() => void> = [];\n\n/**\n * Initialize all store subscriptions.\n * Should be called once at app startup.\n * Safe to call multiple times (will no-op if already initialized).\n */\nexport function initializeSubscriptions(): void {\n if (isInitialized) {\n logger.debug('[Subscriptions] Already initialized, skipping');\n return;\n }\n\n logger.debug('[Subscriptions] Initializing store subscriptions');\n\n // Subscribe to deposit state changes\n const unsubDeposit = subscribeToDepositPersistence(useWalletStore);\n unsubscribers.push(unsubDeposit);\n\n // Subscribe to turnkey session changes\n const unsubTurnkey = subscribeToTurnkeyPersistence(useWalletStore);\n unsubscribers.push(unsubTurnkey);\n\n isInitialized = true;\n logger.debug('[Subscriptions] Subscriptions initialized', {\n count: unsubscribers.length,\n });\n}\n\n/**\n * Cleanup all subscriptions.\n * Useful for testing or hot module replacement.\n */\nexport function cleanupSubscriptions(): void {\n if (!isInitialized) {\n return;\n }\n\n logger.debug('[Subscriptions] Cleaning up subscriptions');\n\n for (const unsub of unsubscribers) {\n unsub();\n }\n unsubscribers.length = 0;\n isInitialized = false;\n}\n\n/**\n * Check if subscriptions are initialized.\n */\nexport function areSubscriptionsInitialized(): boolean {\n return isInitialized;\n}\n\n// Re-export individual subscription setup functions for testing\nexport { subscribeToDepositPersistence } from './depositPersistence';\nexport { subscribeToTurnkeyPersistence } from './turnkeyPersistence';\n"]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Turnkey Session Persistence Subscription
3
+ *
4
+ * Watches for Turnkey-related state changes in the store and
5
+ * persists them to localStorage via StorageService.
6
+ *
7
+ * NOTE: This subscription is PREPARED for future use.
8
+ * Currently, Turnkey session state lives in TurnkeyProvider's local state,
9
+ * not in the Zustand store. Once we migrate Turnkey state to the store,
10
+ * this subscription will automatically handle persistence.
11
+ */
12
+ import type { StoreApi } from 'zustand';
13
+ import type { WalletStore } from '../types';
14
+ /**
15
+ * Subscribe to Turnkey-related state changes.
16
+ *
17
+ * When Turnkey session state is added to the store, this will watch for changes
18
+ * and persist them to localStorage.
19
+ *
20
+ * @param store - The Zustand store instance
21
+ * @returns Unsubscribe function
22
+ */
23
+ export declare function subscribeToTurnkeyPersistence(store: StoreApi<WalletStore>): () => void;
24
+ /**
25
+ * Hydrate Turnkey session state from localStorage into the store.
26
+ *
27
+ * Call this once at app startup to check for existing sessions.
28
+ * This ensures the store has awareness of persisted sessions.
29
+ *
30
+ * @param store - The Zustand store instance
31
+ * @param evmAddress - Optional EVM address to validate session against
32
+ */
33
+ export declare function hydrateTurnkeyState(store: StoreApi<WalletStore>, evmAddress?: string | null): void;
34
+ /**
35
+ * Clear Turnkey session from both store and localStorage.
36
+ *
37
+ * Call this on logout to ensure clean state.
38
+ *
39
+ * @param store - The Zustand store instance
40
+ * @param evmAddress - Optional EVM address to clear specific session
41
+ */
42
+ export declare function clearTurnkeyState(store: StoreApi<WalletStore>, evmAddress?: string | null): void;