@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,82 @@
1
+ /**
2
+ * Wallet adapter factory.
3
+ * Creates the appropriate adapter based on network type.
4
+ */
5
+ import { SolanaAdapter } from './solana';
6
+ import { EVMAdapter } from './evm';
7
+ // ---------------------------------------------------------------------------
8
+ // Factory Function
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Creates a wallet adapter for the given network and wallet.
12
+ *
13
+ * @param options - Options including network type and raw wallet object
14
+ * @returns The appropriate wallet adapter
15
+ * @throws Error if network type is unsupported
16
+ */
17
+ export function createAdapter(options) {
18
+ var network = options.network, wallet = options.wallet;
19
+ switch (network) {
20
+ case 'solana':
21
+ return new SolanaAdapter(wallet);
22
+ case 'evm':
23
+ return new EVMAdapter(wallet);
24
+ default:
25
+ throw new Error("Unsupported network type: ".concat(network));
26
+ }
27
+ }
28
+ /**
29
+ * Creates a Solana wallet adapter.
30
+ *
31
+ * @param wallet - The raw wallet object from Dynamic SDK
32
+ * @returns Solana wallet adapter
33
+ */
34
+ export function createSolanaAdapter(wallet) {
35
+ return new SolanaAdapter(wallet);
36
+ }
37
+ /**
38
+ * Creates an EVM wallet adapter.
39
+ *
40
+ * @param wallet - The raw wallet object from Dynamic SDK
41
+ * @returns EVM wallet adapter
42
+ */
43
+ export function createEVMAdapter(wallet) {
44
+ return new EVMAdapter(wallet);
45
+ }
46
+ // ---------------------------------------------------------------------------
47
+ // Auto-Detection Factory
48
+ // ---------------------------------------------------------------------------
49
+ /**
50
+ * Attempts to detect the network type from a wallet object and create the appropriate adapter.
51
+ * Falls back to the provided default network if detection fails.
52
+ *
53
+ * @param wallet - The raw wallet object
54
+ * @param defaultNetwork - Network to use if detection fails (defaults to 'evm')
55
+ * @returns The appropriate wallet adapter
56
+ */
57
+ export function createAdapterFromWallet(wallet, defaultNetwork) {
58
+ var _a, _b, _c, _d, _e;
59
+ if (defaultNetwork === void 0) { defaultNetwork = 'evm'; }
60
+ if (!wallet || typeof wallet !== 'object') {
61
+ throw new Error('Invalid wallet object');
62
+ }
63
+ var walletObj = wallet;
64
+ // Check for Solana-specific indicators
65
+ if (walletObj.chain === 'SOL' ||
66
+ (typeof walletObj.getSigner === 'function' && !((_a = walletObj.connector) === null || _a === void 0 ? void 0 : _a.getProvider))) {
67
+ return new SolanaAdapter(wallet);
68
+ }
69
+ // Check for EVM-specific indicators
70
+ if (((_b = walletObj.connector) === null || _b === void 0 ? void 0 : _b.getProvider) ||
71
+ ((_c = walletObj.chain) === null || _c === void 0 ? void 0 : _c.startsWith('ETH')) ||
72
+ ((_d = walletObj.chain) === null || _d === void 0 ? void 0 : _d.startsWith('ARB')) ||
73
+ ((_e = walletObj.chain) === null || _e === void 0 ? void 0 : _e.startsWith('BASE'))) {
74
+ return new EVMAdapter(wallet);
75
+ }
76
+ // Use default
77
+ if (defaultNetwork === 'solana') {
78
+ return new SolanaAdapter(wallet);
79
+ }
80
+ return new EVMAdapter(wallet);
81
+ }
82
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/adapters/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACjD,IAAA,OAAO,GAAa,OAAO,QAApB,EAAE,MAAM,GAAK,OAAO,OAAZ,CAAa;IAEpC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAEnC,KAAK,KAAK;YACR,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAEhC;YACE,MAAM,IAAI,KAAK,CAAC,oCAA6B,OAAO,CAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAe,EACf,cAAmC;;IAAnC,+BAAA,EAAA,sBAAmC;IAEnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,IAAM,SAAS,GAAG,MAKjB,CAAC;IAEF,uCAAuC;IACvC,IACE,SAAS,CAAC,KAAK,KAAK,KAAK;QACzB,CAAC,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,WAAW,CAAA,CAAC,EAChF,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,oCAAoC;IACpC,IACE,CAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,WAAW;SAChC,MAAA,SAAS,CAAC,KAAK,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAA;SAClC,MAAA,SAAS,CAAC,KAAK,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAA;SAClC,MAAA,SAAS,CAAC,KAAK,0CAAE,UAAU,CAAC,MAAM,CAAC,CAAA,EACnC,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,cAAc;IACd,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC","sourcesContent":["/**\n * Wallet adapter factory.\n * Creates the appropriate adapter based on network type.\n */\n\nimport type { WalletAdapter, SolanaWalletAdapter, EVMWalletAdapter, CreateAdapterOptions } from './types';\nimport type { NetworkType } from '../utils/chain';\nimport { SolanaAdapter } from './solana';\nimport { EVMAdapter } from './evm';\n\n// ---------------------------------------------------------------------------\n// Factory Function\n// ---------------------------------------------------------------------------\n\n/**\n * Creates a wallet adapter for the given network and wallet.\n *\n * @param options - Options including network type and raw wallet object\n * @returns The appropriate wallet adapter\n * @throws Error if network type is unsupported\n */\nexport function createAdapter(options: CreateAdapterOptions): WalletAdapter {\n const { network, wallet } = options;\n\n switch (network) {\n case 'solana':\n return new SolanaAdapter(wallet);\n\n case 'evm':\n return new EVMAdapter(wallet);\n\n default:\n throw new Error(`Unsupported network type: ${network}`);\n }\n}\n\n/**\n * Creates a Solana wallet adapter.\n *\n * @param wallet - The raw wallet object from Dynamic SDK\n * @returns Solana wallet adapter\n */\nexport function createSolanaAdapter(wallet: unknown): SolanaWalletAdapter {\n return new SolanaAdapter(wallet);\n}\n\n/**\n * Creates an EVM wallet adapter.\n *\n * @param wallet - The raw wallet object from Dynamic SDK\n * @returns EVM wallet adapter\n */\nexport function createEVMAdapter(wallet: unknown): EVMWalletAdapter {\n return new EVMAdapter(wallet);\n}\n\n// ---------------------------------------------------------------------------\n// Auto-Detection Factory\n// ---------------------------------------------------------------------------\n\n/**\n * Attempts to detect the network type from a wallet object and create the appropriate adapter.\n * Falls back to the provided default network if detection fails.\n *\n * @param wallet - The raw wallet object\n * @param defaultNetwork - Network to use if detection fails (defaults to 'evm')\n * @returns The appropriate wallet adapter\n */\nexport function createAdapterFromWallet(\n wallet: unknown,\n defaultNetwork: NetworkType = 'evm'\n): WalletAdapter {\n if (!wallet || typeof wallet !== 'object') {\n throw new Error('Invalid wallet object');\n }\n\n const walletObj = wallet as {\n chain?: string;\n getSigner?: unknown;\n signMessage?: unknown;\n connector?: { getProvider?: unknown };\n };\n\n // Check for Solana-specific indicators\n if (\n walletObj.chain === 'SOL' ||\n (typeof walletObj.getSigner === 'function' && !walletObj.connector?.getProvider)\n ) {\n return new SolanaAdapter(wallet);\n }\n\n // Check for EVM-specific indicators\n if (\n walletObj.connector?.getProvider ||\n walletObj.chain?.startsWith('ETH') ||\n walletObj.chain?.startsWith('ARB') ||\n walletObj.chain?.startsWith('BASE')\n ) {\n return new EVMAdapter(wallet);\n }\n\n // Use default\n if (defaultNetwork === 'solana') {\n return new SolanaAdapter(wallet);\n }\n\n return new EVMAdapter(wallet);\n}\n"]}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Unified wallet adapter exports.
3
+ *
4
+ * Provides a consistent interface across Solana and EVM wallets.
5
+ *
6
+ * Usage:
7
+ * ```typescript
8
+ * import { createAdapter, isSolanaAdapter, isEVMAdapter } from './adapters';
9
+ *
10
+ * // Create an adapter
11
+ * const adapter = createAdapter({ network: 'solana', wallet: dynamicSolanaWallet });
12
+ *
13
+ * // Use common interface
14
+ * const address = adapter.address;
15
+ * const signature = await adapter.signMessage('Hello');
16
+ *
17
+ * // Type-specific operations
18
+ * if (isSolanaAdapter(adapter)) {
19
+ * const pubkey = adapter.getPublicKey();
20
+ * const isLedger = await adapter.isLedger();
21
+ * }
22
+ *
23
+ * if (isEVMAdapter(adapter)) {
24
+ * const provider = await adapter.getProvider();
25
+ * await adapter.switchChain(1);
26
+ * }
27
+ * ```
28
+ */
29
+ export type { WalletAdapter, SolanaWalletAdapter, EVMWalletAdapter, EIP1193Provider, WalletAdapterState, WalletAdapterError, CreateAdapterOptions, WalletAdapterFactory, } from './types';
30
+ export { isSolanaAdapter, isEVMAdapter } from './types';
31
+ export { createAdapter, createSolanaAdapter, createEVMAdapter, createAdapterFromWallet, } from './factory';
32
+ export { SolanaAdapter } from './solana';
33
+ export { EVMAdapter } from './evm';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Unified wallet adapter exports.
3
+ *
4
+ * Provides a consistent interface across Solana and EVM wallets.
5
+ *
6
+ * Usage:
7
+ * ```typescript
8
+ * import { createAdapter, isSolanaAdapter, isEVMAdapter } from './adapters';
9
+ *
10
+ * // Create an adapter
11
+ * const adapter = createAdapter({ network: 'solana', wallet: dynamicSolanaWallet });
12
+ *
13
+ * // Use common interface
14
+ * const address = adapter.address;
15
+ * const signature = await adapter.signMessage('Hello');
16
+ *
17
+ * // Type-specific operations
18
+ * if (isSolanaAdapter(adapter)) {
19
+ * const pubkey = adapter.getPublicKey();
20
+ * const isLedger = await adapter.isLedger();
21
+ * }
22
+ *
23
+ * if (isEVMAdapter(adapter)) {
24
+ * const provider = await adapter.getProvider();
25
+ * await adapter.switchChain(1);
26
+ * }
27
+ * ```
28
+ */
29
+ // Type guards
30
+ export { isSolanaAdapter, isEVMAdapter } from './types';
31
+ // Factory functions
32
+ export { createAdapter, createSolanaAdapter, createEVMAdapter, createAdapterFromWallet, } from './factory';
33
+ // Adapter classes (for instanceof checks or extension)
34
+ export { SolanaAdapter } from './solana';
35
+ export { EVMAdapter } from './evm';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAcH,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC","sourcesContent":["/**\n * Unified wallet adapter exports.\n *\n * Provides a consistent interface across Solana and EVM wallets.\n *\n * Usage:\n * ```typescript\n * import { createAdapter, isSolanaAdapter, isEVMAdapter } from './adapters';\n *\n * // Create an adapter\n * const adapter = createAdapter({ network: 'solana', wallet: dynamicSolanaWallet });\n *\n * // Use common interface\n * const address = adapter.address;\n * const signature = await adapter.signMessage('Hello');\n *\n * // Type-specific operations\n * if (isSolanaAdapter(adapter)) {\n * const pubkey = adapter.getPublicKey();\n * const isLedger = await adapter.isLedger();\n * }\n *\n * if (isEVMAdapter(adapter)) {\n * const provider = await adapter.getProvider();\n * await adapter.switchChain(1);\n * }\n * ```\n */\n\n// Types\nexport type {\n WalletAdapter,\n SolanaWalletAdapter,\n EVMWalletAdapter,\n EIP1193Provider,\n WalletAdapterState,\n WalletAdapterError,\n CreateAdapterOptions,\n WalletAdapterFactory,\n} from './types';\n\n// Type guards\nexport { isSolanaAdapter, isEVMAdapter } from './types';\n\n// Factory functions\nexport {\n createAdapter,\n createSolanaAdapter,\n createEVMAdapter,\n createAdapterFromWallet,\n} from './factory';\n\n// Adapter classes (for instanceof checks or extension)\nexport { SolanaAdapter } from './solana';\nexport { EVMAdapter } from './evm';\n"]}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Solana wallet adapter implementation.
3
+ * Wraps Dynamic SDK Solana wallets in a unified interface.
4
+ */
5
+ import { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';
6
+ import type { SolanaWalletAdapter, WalletAdapterState } from './types';
7
+ import type { ChainInfo } from '../utils/chain';
8
+ export declare class SolanaAdapter implements SolanaWalletAdapter {
9
+ readonly network: "solana";
10
+ private _wallet;
11
+ private _signer;
12
+ private _isLedger;
13
+ constructor(wallet: unknown);
14
+ get address(): string | null;
15
+ get isConnected(): boolean;
16
+ get state(): WalletAdapterState;
17
+ get chain(): ChainInfo | null;
18
+ get walletName(): string | null;
19
+ private ensureSigner;
20
+ getPublicKey(): PublicKey | null;
21
+ signMessage(message: string | Uint8Array): Promise<Uint8Array>;
22
+ signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T>;
23
+ signAllTransactions<T extends Transaction | VersionedTransaction>(transactions: T[]): Promise<T[]>;
24
+ isLedger(): Promise<boolean>;
25
+ getSigner(): Promise<{
26
+ publicKey: PublicKey;
27
+ signTransaction: <T extends Transaction | VersionedTransaction>(tx: T) => Promise<T>;
28
+ signAllTransactions: <T extends Transaction | VersionedTransaction>(txs: T[]) => Promise<T[]>;
29
+ signMessage: (message: Uint8Array) => Promise<Uint8Array>;
30
+ }>;
31
+ disconnect(): Promise<void>;
32
+ getRawWallet(): unknown;
33
+ }
34
+ /**
35
+ * Creates a Solana wallet adapter from a Dynamic SDK wallet.
36
+ */
37
+ export declare function createSolanaAdapter(wallet: unknown): SolanaWalletAdapter;
@@ -0,0 +1,359 @@
1
+ /**
2
+ * Solana wallet adapter implementation.
3
+ * Wraps Dynamic SDK Solana wallets in a unified interface.
4
+ */
5
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
12
+ });
13
+ };
14
+ var __generator = (this && this.__generator) || function (thisArg, body) {
15
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
16
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
+ function verb(n) { return function (v) { return step([n, v]); }; }
18
+ function step(op) {
19
+ if (f) throw new TypeError("Generator is already executing.");
20
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
21
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22
+ if (y = 0, t) op = [op[0] & 2, t.value];
23
+ switch (op[0]) {
24
+ case 0: case 1: t = op; break;
25
+ case 4: _.label++; return { value: op[1], done: false };
26
+ case 5: _.label++; y = op[1]; op = [0]; continue;
27
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
+ default:
29
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
+ if (t[2]) _.ops.pop();
34
+ _.trys.pop(); continue;
35
+ }
36
+ op = body.call(thisArg, _);
37
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
+ }
40
+ };
41
+ import { PublicKey } from '@solana/web3.js';
42
+ import { isValidSolanaAddress } from '../utils/address';
43
+ import { logger } from '../utils/logger';
44
+ // ---------------------------------------------------------------------------
45
+ // Helper Functions
46
+ // ---------------------------------------------------------------------------
47
+ /**
48
+ * Detects if a wallet is likely backed by a Ledger hardware wallet.
49
+ * Probes signMessage: failure with non-rejection error indicates Ledger.
50
+ */
51
+ function detectLedger(signer) {
52
+ return __awaiter(this, void 0, void 0, function () {
53
+ var msg, error_1, anyErr, message, cancelled;
54
+ var _a;
55
+ return __generator(this, function (_b) {
56
+ switch (_b.label) {
57
+ case 0:
58
+ _b.trys.push([0, 2, , 3]);
59
+ msg = new TextEncoder().encode('n1-ledger-probe');
60
+ return [4 /*yield*/, signer.signMessage(msg)];
61
+ case 1:
62
+ _b.sent();
63
+ return [2 /*return*/, false];
64
+ case 2:
65
+ error_1 = _b.sent();
66
+ anyErr = error_1;
67
+ if ((anyErr === null || anyErr === void 0 ? void 0 : anyErr.code) === 4001)
68
+ return [2 /*return*/, false]; // User rejection, not Ledger
69
+ message = ((_a = anyErr === null || anyErr === void 0 ? void 0 : anyErr.message) !== null && _a !== void 0 ? _a : '').toLowerCase();
70
+ if (message.includes('reject') || message.includes('denied') || message.includes('cancel')) {
71
+ cancelled = new Error('Signature request was cancelled');
72
+ cancelled.code = 'N1_SIGNATURE_CANCELLED';
73
+ throw cancelled;
74
+ }
75
+ // Other failure - likely Ledger
76
+ logger.debug('[SolanaAdapter] signMessage probe failed, treating as Ledger', {
77
+ error: message,
78
+ });
79
+ return [2 /*return*/, true];
80
+ case 3: return [2 /*return*/];
81
+ }
82
+ });
83
+ });
84
+ }
85
+ // ---------------------------------------------------------------------------
86
+ // Solana Wallet Adapter Implementation
87
+ // ---------------------------------------------------------------------------
88
+ var SolanaAdapter = /** @class */ (function () {
89
+ function SolanaAdapter(wallet) {
90
+ this.network = 'solana';
91
+ this._signer = null;
92
+ this._isLedger = null;
93
+ this._wallet = wallet;
94
+ }
95
+ Object.defineProperty(SolanaAdapter.prototype, "address", {
96
+ // ---------------------------------------------------------------------------
97
+ // State Properties
98
+ // ---------------------------------------------------------------------------
99
+ get: function () {
100
+ var addr = this._wallet.address;
101
+ return addr && isValidSolanaAddress(addr) ? addr : null;
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ Object.defineProperty(SolanaAdapter.prototype, "isConnected", {
107
+ get: function () {
108
+ var _a;
109
+ return Boolean((_a = this._wallet.connected) !== null && _a !== void 0 ? _a : this.address);
110
+ },
111
+ enumerable: false,
112
+ configurable: true
113
+ });
114
+ Object.defineProperty(SolanaAdapter.prototype, "state", {
115
+ get: function () {
116
+ if (this.isConnected)
117
+ return 'connected';
118
+ return 'disconnected';
119
+ },
120
+ enumerable: false,
121
+ configurable: true
122
+ });
123
+ Object.defineProperty(SolanaAdapter.prototype, "chain", {
124
+ get: function () {
125
+ if (!this.isConnected)
126
+ return null;
127
+ return {
128
+ id: 'solana',
129
+ name: 'Solana',
130
+ network: 'solana',
131
+ };
132
+ },
133
+ enumerable: false,
134
+ configurable: true
135
+ });
136
+ Object.defineProperty(SolanaAdapter.prototype, "walletName", {
137
+ get: function () {
138
+ var _a, _b;
139
+ return (_b = (_a = this._wallet.connector) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null;
140
+ },
141
+ enumerable: false,
142
+ configurable: true
143
+ });
144
+ // ---------------------------------------------------------------------------
145
+ // Signer Access
146
+ // ---------------------------------------------------------------------------
147
+ SolanaAdapter.prototype.ensureSigner = function () {
148
+ return __awaiter(this, void 0, void 0, function () {
149
+ var _a, _b;
150
+ return __generator(this, function (_c) {
151
+ switch (_c.label) {
152
+ case 0:
153
+ if (this._signer)
154
+ return [2 /*return*/, this._signer];
155
+ if (!(typeof this._wallet.getSigner === 'function')) return [3 /*break*/, 2];
156
+ _a = this;
157
+ return [4 /*yield*/, this._wallet.getSigner()];
158
+ case 1:
159
+ _a._signer = _c.sent();
160
+ return [3 /*break*/, 5];
161
+ case 2:
162
+ if (!(this._wallet.connector && typeof this._wallet.connector.getSigner === 'function')) return [3 /*break*/, 4];
163
+ _b = this;
164
+ return [4 /*yield*/, this._wallet.connector.getSigner()];
165
+ case 3:
166
+ _b._signer = _c.sent();
167
+ return [3 /*break*/, 5];
168
+ case 4: throw new Error('Wallet does not support getSigner');
169
+ case 5: return [2 /*return*/, this._signer];
170
+ }
171
+ });
172
+ });
173
+ };
174
+ // ---------------------------------------------------------------------------
175
+ // SolanaWalletAdapter Methods
176
+ // ---------------------------------------------------------------------------
177
+ SolanaAdapter.prototype.getPublicKey = function () {
178
+ var addr = this.address;
179
+ if (!addr)
180
+ return null;
181
+ try {
182
+ return new PublicKey(addr);
183
+ }
184
+ catch (_a) {
185
+ return null;
186
+ }
187
+ };
188
+ SolanaAdapter.prototype.signMessage = function (message) {
189
+ return __awaiter(this, void 0, void 0, function () {
190
+ var signer, messageBytes;
191
+ return __generator(this, function (_a) {
192
+ switch (_a.label) {
193
+ case 0: return [4 /*yield*/, this.ensureSigner()];
194
+ case 1:
195
+ signer = _a.sent();
196
+ if (typeof message === 'string') {
197
+ messageBytes = new TextEncoder().encode(message);
198
+ }
199
+ else {
200
+ messageBytes = message;
201
+ }
202
+ return [2 /*return*/, signer.signMessage(messageBytes)];
203
+ }
204
+ });
205
+ });
206
+ };
207
+ SolanaAdapter.prototype.signTransaction = function (transaction) {
208
+ return __awaiter(this, void 0, void 0, function () {
209
+ var signer;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0: return [4 /*yield*/, this.ensureSigner()];
213
+ case 1:
214
+ signer = _a.sent();
215
+ return [2 /*return*/, signer.signTransaction(transaction)];
216
+ }
217
+ });
218
+ });
219
+ };
220
+ SolanaAdapter.prototype.signAllTransactions = function (transactions) {
221
+ return __awaiter(this, void 0, void 0, function () {
222
+ var signer, signed, _i, transactions_1, tx, _a, _b;
223
+ return __generator(this, function (_c) {
224
+ switch (_c.label) {
225
+ case 0: return [4 /*yield*/, this.ensureSigner()];
226
+ case 1:
227
+ signer = _c.sent();
228
+ if (typeof signer.signAllTransactions === 'function') {
229
+ return [2 /*return*/, signer.signAllTransactions(transactions)];
230
+ }
231
+ signed = [];
232
+ _i = 0, transactions_1 = transactions;
233
+ _c.label = 2;
234
+ case 2:
235
+ if (!(_i < transactions_1.length)) return [3 /*break*/, 5];
236
+ tx = transactions_1[_i];
237
+ _b = (_a = signed).push;
238
+ return [4 /*yield*/, signer.signTransaction(tx)];
239
+ case 3:
240
+ _b.apply(_a, [_c.sent()]);
241
+ _c.label = 4;
242
+ case 4:
243
+ _i++;
244
+ return [3 /*break*/, 2];
245
+ case 5: return [2 /*return*/, signed];
246
+ }
247
+ });
248
+ });
249
+ };
250
+ SolanaAdapter.prototype.isLedger = function () {
251
+ return __awaiter(this, void 0, void 0, function () {
252
+ var signer, _a, error_2;
253
+ return __generator(this, function (_b) {
254
+ switch (_b.label) {
255
+ case 0:
256
+ if (this._isLedger !== null)
257
+ return [2 /*return*/, this._isLedger];
258
+ _b.label = 1;
259
+ case 1:
260
+ _b.trys.push([1, 4, , 5]);
261
+ return [4 /*yield*/, this.ensureSigner()];
262
+ case 2:
263
+ signer = _b.sent();
264
+ _a = this;
265
+ return [4 /*yield*/, detectLedger(signer)];
266
+ case 3:
267
+ _a._isLedger = _b.sent();
268
+ return [2 /*return*/, this._isLedger];
269
+ case 4:
270
+ error_2 = _b.sent();
271
+ // Propagate user cancellation
272
+ if ((error_2 === null || error_2 === void 0 ? void 0 : error_2.code) === 'N1_SIGNATURE_CANCELLED') {
273
+ throw error_2;
274
+ }
275
+ // Default to false on other errors
276
+ return [2 /*return*/, false];
277
+ case 5: return [2 /*return*/];
278
+ }
279
+ });
280
+ });
281
+ };
282
+ SolanaAdapter.prototype.getSigner = function () {
283
+ return __awaiter(this, void 0, void 0, function () {
284
+ var signer;
285
+ var _this = this;
286
+ return __generator(this, function (_a) {
287
+ switch (_a.label) {
288
+ case 0: return [4 /*yield*/, this.ensureSigner()];
289
+ case 1:
290
+ signer = _a.sent();
291
+ return [2 /*return*/, {
292
+ publicKey: signer.publicKey,
293
+ signTransaction: function (tx) { return signer.signTransaction(tx); },
294
+ signAllTransactions: function (txs) { return __awaiter(_this, void 0, void 0, function () {
295
+ var signed, _i, txs_1, tx, _a, _b;
296
+ return __generator(this, function (_c) {
297
+ switch (_c.label) {
298
+ case 0:
299
+ if (typeof signer.signAllTransactions === 'function') {
300
+ return [2 /*return*/, signer.signAllTransactions(txs)];
301
+ }
302
+ signed = [];
303
+ _i = 0, txs_1 = txs;
304
+ _c.label = 1;
305
+ case 1:
306
+ if (!(_i < txs_1.length)) return [3 /*break*/, 4];
307
+ tx = txs_1[_i];
308
+ _b = (_a = signed).push;
309
+ return [4 /*yield*/, signer.signTransaction(tx)];
310
+ case 2:
311
+ _b.apply(_a, [_c.sent()]);
312
+ _c.label = 3;
313
+ case 3:
314
+ _i++;
315
+ return [3 /*break*/, 1];
316
+ case 4: return [2 /*return*/, signed];
317
+ }
318
+ });
319
+ }); },
320
+ signMessage: function (msg) { return signer.signMessage(msg); },
321
+ }];
322
+ }
323
+ });
324
+ });
325
+ };
326
+ SolanaAdapter.prototype.disconnect = function () {
327
+ return __awaiter(this, void 0, void 0, function () {
328
+ return __generator(this, function (_a) {
329
+ switch (_a.label) {
330
+ case 0:
331
+ if (!(typeof this._wallet.disconnect === 'function')) return [3 /*break*/, 2];
332
+ return [4 /*yield*/, this._wallet.disconnect()];
333
+ case 1:
334
+ _a.sent();
335
+ _a.label = 2;
336
+ case 2:
337
+ this._signer = null;
338
+ this._isLedger = null;
339
+ return [2 /*return*/];
340
+ }
341
+ });
342
+ });
343
+ };
344
+ SolanaAdapter.prototype.getRawWallet = function () {
345
+ return this._wallet;
346
+ };
347
+ return SolanaAdapter;
348
+ }());
349
+ export { SolanaAdapter };
350
+ // ---------------------------------------------------------------------------
351
+ // Factory Function
352
+ // ---------------------------------------------------------------------------
353
+ /**
354
+ * Creates a Solana wallet adapter from a Dynamic SDK wallet.
355
+ */
356
+ export function createSolanaAdapter(wallet) {
357
+ return new SolanaAdapter(wallet);
358
+ }
359
+ //# sourceMappingURL=solana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../src/adapters/solana.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Solana wallet adapter implementation.\n * Wraps Dynamic SDK Solana wallets in a unified interface.\n */\n\nimport { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';\nimport type { SolanaWalletAdapter, WalletAdapterState } from './types';\nimport type { ChainInfo } from '../utils/chain';\nimport { isValidSolanaAddress } from '../utils/address';\nimport { logger } from '../utils/logger';\n\n// ---------------------------------------------------------------------------\n// Types for Dynamic SDK Solana Wallet\n// ---------------------------------------------------------------------------\n\n/**\n * Dynamic SDK Solana wallet signer interface.\n */\ninterface DynamicSolanaSigner {\n publicKey: PublicKey;\n signTransaction: <T extends Transaction | VersionedTransaction>(tx: T) => Promise<T>;\n signAllTransactions?: <T extends Transaction | VersionedTransaction>(txs: T[]) => Promise<T[]>;\n signMessage: (message: Uint8Array) => Promise<Uint8Array>;\n}\n\n/**\n * Dynamic SDK Solana wallet interface (type-safe subset).\n */\ninterface DynamicSolanaWallet {\n address?: string | null;\n chain?: string | null;\n connected?: boolean;\n getSigner: () => Promise<DynamicSolanaSigner>;\n disconnect?: () => Promise<void>;\n connector?: {\n name?: string;\n getSigner?: () => Promise<DynamicSolanaSigner>;\n };\n}\n\n// ---------------------------------------------------------------------------\n// Helper Functions\n// ---------------------------------------------------------------------------\n\n/**\n * Detects if a wallet is likely backed by a Ledger hardware wallet.\n * Probes signMessage: failure with non-rejection error indicates Ledger.\n */\nasync function detectLedger(signer: DynamicSolanaSigner): Promise<boolean> {\n try {\n // Probe with a minimal message\n const msg = new TextEncoder().encode('n1-ledger-probe');\n await signer.signMessage(msg);\n return false;\n } catch (error) {\n // Check if user rejected\n const anyErr = error as { code?: number | string; message?: string };\n if (anyErr?.code === 4001) return false; // User rejection, not Ledger\n\n const message = (anyErr?.message ?? '').toLowerCase();\n if (message.includes('reject') || message.includes('denied') || message.includes('cancel')) {\n // User rejection\n const cancelled = new Error('Signature request was cancelled');\n (cancelled as { code?: string }).code = 'N1_SIGNATURE_CANCELLED';\n throw cancelled;\n }\n\n // Other failure - likely Ledger\n logger.debug('[SolanaAdapter] signMessage probe failed, treating as Ledger', {\n error: message,\n });\n return true;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Solana Wallet Adapter Implementation\n// ---------------------------------------------------------------------------\n\nexport class SolanaAdapter implements SolanaWalletAdapter {\n readonly network = 'solana' as const;\n\n private _wallet: DynamicSolanaWallet;\n private _signer: DynamicSolanaSigner | null = null;\n private _isLedger: boolean | null = null;\n\n constructor(wallet: unknown) {\n this._wallet = wallet as DynamicSolanaWallet;\n }\n\n // ---------------------------------------------------------------------------\n // State Properties\n // ---------------------------------------------------------------------------\n\n get address(): string | null {\n const addr = this._wallet.address;\n return addr && isValidSolanaAddress(addr) ? addr : null;\n }\n\n get isConnected(): boolean {\n return Boolean(this._wallet.connected ?? this.address);\n }\n\n get state(): WalletAdapterState {\n if (this.isConnected) return 'connected';\n return 'disconnected';\n }\n\n get chain(): ChainInfo | null {\n if (!this.isConnected) return null;\n return {\n id: 'solana',\n name: 'Solana',\n network: 'solana',\n };\n }\n\n get walletName(): string | null {\n return this._wallet.connector?.name ?? null;\n }\n\n // ---------------------------------------------------------------------------\n // Signer Access\n // ---------------------------------------------------------------------------\n\n private async ensureSigner(): Promise<DynamicSolanaSigner> {\n if (this._signer) return this._signer;\n\n // Try wallet.getSigner first, then connector.getSigner\n if (typeof this._wallet.getSigner === 'function') {\n this._signer = await this._wallet.getSigner();\n } else if (this._wallet.connector && typeof this._wallet.connector.getSigner === 'function') {\n this._signer = await this._wallet.connector.getSigner();\n } else {\n throw new Error('Wallet does not support getSigner');\n }\n\n return this._signer;\n }\n\n // ---------------------------------------------------------------------------\n // SolanaWalletAdapter Methods\n // ---------------------------------------------------------------------------\n\n getPublicKey(): PublicKey | null {\n const addr = this.address;\n if (!addr) return null;\n try {\n return new PublicKey(addr);\n } catch {\n return null;\n }\n }\n\n async signMessage(message: string | Uint8Array): Promise<Uint8Array> {\n const signer = await this.ensureSigner();\n\n let messageBytes: Uint8Array;\n if (typeof message === 'string') {\n messageBytes = new TextEncoder().encode(message);\n } else {\n messageBytes = message;\n }\n\n return signer.signMessage(messageBytes);\n }\n\n async signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T> {\n const signer = await this.ensureSigner();\n return signer.signTransaction(transaction);\n }\n\n async signAllTransactions<T extends Transaction | VersionedTransaction>(transactions: T[]): Promise<T[]> {\n const signer = await this.ensureSigner();\n\n if (typeof signer.signAllTransactions === 'function') {\n return signer.signAllTransactions(transactions);\n }\n\n // Fallback: sign one at a time\n const signed: T[] = [];\n for (const tx of transactions) {\n signed.push(await signer.signTransaction(tx));\n }\n return signed;\n }\n\n async isLedger(): Promise<boolean> {\n if (this._isLedger !== null) return this._isLedger;\n\n try {\n const signer = await this.ensureSigner();\n this._isLedger = await detectLedger(signer);\n return this._isLedger;\n } catch (error) {\n // Propagate user cancellation\n if ((error as { code?: string })?.code === 'N1_SIGNATURE_CANCELLED') {\n throw error;\n }\n // Default to false on other errors\n return false;\n }\n }\n\n async getSigner(): Promise<{\n publicKey: PublicKey;\n signTransaction: <T extends Transaction | VersionedTransaction>(tx: T) => Promise<T>;\n signAllTransactions: <T extends Transaction | VersionedTransaction>(txs: T[]) => Promise<T[]>;\n signMessage: (message: Uint8Array) => Promise<Uint8Array>;\n }> {\n const signer = await this.ensureSigner();\n\n return {\n publicKey: signer.publicKey,\n signTransaction: (tx) => signer.signTransaction(tx),\n signAllTransactions: async <T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]> => {\n if (typeof signer.signAllTransactions === 'function') {\n return signer.signAllTransactions(txs);\n }\n const signed: T[] = [];\n for (const tx of txs) {\n signed.push(await signer.signTransaction(tx));\n }\n return signed;\n },\n signMessage: (msg) => signer.signMessage(msg),\n };\n }\n\n async disconnect(): Promise<void> {\n if (typeof this._wallet.disconnect === 'function') {\n await this._wallet.disconnect();\n }\n this._signer = null;\n this._isLedger = null;\n }\n\n getRawWallet(): unknown {\n return this._wallet;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Factory Function\n// ---------------------------------------------------------------------------\n\n/**\n * Creates a Solana wallet adapter from a Dynamic SDK wallet.\n */\nexport function createSolanaAdapter(wallet: unknown): SolanaWalletAdapter {\n return new SolanaAdapter(wallet);\n}\n"]}