@n1xyz/wallet-widget 0.0.33-alpha.3 → 0.0.34

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 (216) hide show
  1. package/dist/animations/N1Loader.js +8 -14
  2. package/dist/animations/N1Loader.js.map +1 -1
  3. package/dist/animations/Processing.js +8 -14
  4. package/dist/animations/Processing.js.map +1 -1
  5. package/dist/components/LoadingFallback.js +2 -6
  6. package/dist/components/LoadingFallback.js.map +1 -1
  7. package/dist/components/Logo.js +22 -25
  8. package/dist/components/Logo.js.map +1 -1
  9. package/dist/components/N1ConnectButton.js +12 -18
  10. package/dist/components/N1ConnectButton.js.map +1 -1
  11. package/dist/components/logos/ArbitrumLogo.js +3 -7
  12. package/dist/components/logos/ArbitrumLogo.js.map +1 -1
  13. package/dist/components/logos/BaseLogo.js +3 -7
  14. package/dist/components/logos/BaseLogo.js.map +1 -1
  15. package/dist/components/logos/BeraLogo.js +3 -7
  16. package/dist/components/logos/BeraLogo.js.map +1 -1
  17. package/dist/components/logos/BitcoinLogo.js +3 -7
  18. package/dist/components/logos/BitcoinLogo.js.map +1 -1
  19. package/dist/components/logos/EthereumLogo.js +3 -7
  20. package/dist/components/logos/EthereumLogo.js.map +1 -1
  21. package/dist/components/logos/HyperliquidLogo.js +3 -7
  22. package/dist/components/logos/HyperliquidLogo.js.map +1 -1
  23. package/dist/components/logos/OptimismLogo.js +3 -7
  24. package/dist/components/logos/OptimismLogo.js.map +1 -1
  25. package/dist/components/logos/SolanaLogo.js +3 -7
  26. package/dist/components/logos/SolanaLogo.js.map +1 -1
  27. package/dist/components/logos/ZeroOneLogo.js +3 -7
  28. package/dist/components/logos/ZeroOneLogo.js.map +1 -1
  29. package/dist/components/logos/index.js +9 -25
  30. package/dist/components/logos/index.js.map +1 -1
  31. package/dist/config/dynamic.d.ts +1 -0
  32. package/dist/config/dynamic.js +13 -0
  33. package/dist/config/dynamic.js.map +1 -0
  34. package/dist/config/solana.js +3 -7
  35. package/dist/config/solana.js.map +1 -1
  36. package/dist/config/turnkey.d.ts +2 -0
  37. package/dist/config/turnkey.js +35 -0
  38. package/dist/config/turnkey.js.map +1 -0
  39. package/dist/config.js +2 -5
  40. package/dist/config.js.map +1 -1
  41. package/dist/context/n1-wallet-context.js +4 -8
  42. package/dist/context/n1-wallet-context.js.map +1 -1
  43. package/dist/errors/types.js +3 -6
  44. package/dist/errors/types.js.map +1 -1
  45. package/dist/features/onboarding-flow/N1WalletModal.js +23 -59
  46. package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -1
  47. package/dist/features/onboarding-flow/OnboardingFlow.js +46 -50
  48. package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -1
  49. package/dist/features/onboarding-flow/components/ChainButton.js +4 -7
  50. package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -1
  51. package/dist/features/onboarding-flow/components/Header.js +11 -15
  52. package/dist/features/onboarding-flow/components/Header.js.map +1 -1
  53. package/dist/features/onboarding-flow/components/ImageWithFallback.js +6 -10
  54. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -1
  55. package/dist/features/onboarding-flow/components/TransactionTable.js +10 -13
  56. package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -1
  57. package/dist/features/onboarding-flow/components/WaitingMessage.js +8 -14
  58. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -1
  59. package/dist/features/onboarding-flow/components/index.js +5 -21
  60. package/dist/features/onboarding-flow/components/index.js.map +1 -1
  61. package/dist/features/onboarding-flow/index.js +1 -5
  62. package/dist/features/onboarding-flow/index.js.map +1 -1
  63. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +55 -60
  64. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -1
  65. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +43 -48
  66. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -1
  67. package/dist/features/onboarding-flow/providers/StateProvider.js +7 -11
  68. package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -1
  69. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +69 -74
  70. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -1
  71. package/dist/features/onboarding-flow/providers/debug.js +18 -21
  72. package/dist/features/onboarding-flow/providers/debug.js.map +1 -1
  73. package/dist/features/onboarding-flow/providers/index.js +5 -16
  74. package/dist/features/onboarding-flow/providers/index.js.map +1 -1
  75. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +15 -20
  76. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -1
  77. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js +8 -11
  78. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -1
  79. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +34 -38
  80. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -1
  81. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +1 -0
  82. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js +18 -0
  83. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
  84. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +47 -51
  85. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -1
  86. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +1 -0
  87. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +18 -0
  88. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
  89. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.d.ts +31 -0
  90. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js +100 -0
  91. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +1 -0
  92. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +8 -12
  93. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -1
  94. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +6 -0
  95. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js +360 -0
  96. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js.map +1 -0
  97. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +25 -28
  98. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -1
  99. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +10 -13
  100. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -1
  101. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.d.ts +3 -0
  102. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js +31 -0
  103. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +1 -0
  104. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +1 -0
  105. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js +136 -0
  106. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +1 -0
  107. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +7 -10
  108. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -1
  109. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +1 -0
  110. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js +31 -0
  111. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +1 -0
  112. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.d.ts +1 -0
  113. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js +18 -0
  114. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js.map +1 -0
  115. package/dist/features/onboarding-flow/screens/09-ErrorScreen.d.ts +1 -0
  116. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js +14 -0
  117. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js.map +1 -0
  118. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.d.ts +1 -0
  119. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js +18 -0
  120. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js.map +1 -0
  121. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.d.ts +1 -0
  122. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js +18 -0
  123. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js.map +1 -0
  124. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.d.ts +1 -0
  125. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js +18 -0
  126. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js.map +1 -0
  127. package/dist/features/onboarding-flow/screens/index.js +7 -23
  128. package/dist/features/onboarding-flow/screens/index.js.map +1 -1
  129. package/dist/features/onboarding-flow/types.js +3 -6
  130. package/dist/features/onboarding-flow/types.js.map +1 -1
  131. package/dist/features/onboarding-flow/utils/depositStorage.js +3 -8
  132. package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -1
  133. package/dist/features/onboarding-flow/utils/imageUtils.js +3 -9
  134. package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -1
  135. package/dist/features/onboarding-flow/utils/nordUser.js +2 -38
  136. package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -1
  137. package/dist/features/onboarding-flow/utils/nordUtils.js +5 -12
  138. package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -1
  139. package/dist/features/onboarding-flow/utils/session.js +14 -17
  140. package/dist/features/onboarding-flow/utils/session.js.map +1 -1
  141. package/dist/features/onboarding-flow/utils/transaction.js +1 -4
  142. package/dist/features/onboarding-flow/utils/transaction.js.map +1 -1
  143. package/dist/features/onboarding-flow/utils/utils.js +8 -16
  144. package/dist/features/onboarding-flow/utils/utils.js.map +1 -1
  145. package/dist/features/onboarding-flow/utils/withImageFallback.js +9 -15
  146. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -1
  147. package/dist/features/turnkey/createTurnkeyWallet.d.ts +25 -0
  148. package/dist/features/turnkey/createTurnkeyWallet.js +119 -0
  149. package/dist/features/turnkey/createTurnkeyWallet.js.map +1 -0
  150. package/dist/hooks/index.js +2 -18
  151. package/dist/hooks/index.js.map +1 -1
  152. package/dist/hooks/useN1Wallet.js +6 -10
  153. package/dist/hooks/useN1Wallet.js.map +1 -1
  154. package/dist/hooks/useNordUserInitialization.js +31 -34
  155. package/dist/hooks/useNordUserInitialization.js.map +1 -1
  156. package/dist/index.js +7 -21
  157. package/dist/index.js.map +1 -1
  158. package/dist/{styles/main.css → main.css} +2 -2
  159. package/dist/polyfills/windowEthereumGuard.js +1 -2
  160. package/dist/polyfills/windowEthereumGuard.js.map +1 -1
  161. package/dist/providers/LazyWalletProvider.js +38 -74
  162. package/dist/providers/LazyWalletProvider.js.map +1 -1
  163. package/dist/providers/N1WalletProvider.js +70 -109
  164. package/dist/providers/N1WalletProvider.js.map +1 -1
  165. package/dist/providers/ShadowRootWrapper.js +4 -10
  166. package/dist/providers/ShadowRootWrapper.js.map +1 -1
  167. package/dist/providers/TurnkeyProviderBridge.d.ts +7 -0
  168. package/dist/providers/TurnkeyProviderBridge.js +20 -0
  169. package/dist/providers/TurnkeyProviderBridge.js.map +1 -0
  170. package/dist/providers/WalletErrorBoundary.js +6 -11
  171. package/dist/providers/WalletErrorBoundary.js.map +1 -1
  172. package/dist/styles/embedded-main-css.d.ts +1 -1
  173. package/dist/styles/embedded-main-css.js +1 -3
  174. package/dist/styles/embedded-main-css.js.map +1 -1
  175. package/dist/turnkey/TurnkeyProvider.d.ts +9 -0
  176. package/dist/turnkey/TurnkeyProvider.js +378 -0
  177. package/dist/turnkey/TurnkeyProvider.js.map +1 -0
  178. package/dist/turnkey/createWalletProvider.d.ts +3 -0
  179. package/dist/turnkey/createWalletProvider.js +180 -0
  180. package/dist/turnkey/createWalletProvider.js.map +1 -0
  181. package/dist/turnkey/index.d.ts +3 -0
  182. package/dist/turnkey/index.js +3 -0
  183. package/dist/turnkey/index.js.map +1 -0
  184. package/dist/turnkey/types.d.ts +48 -0
  185. package/dist/turnkey/types.js +8 -0
  186. package/dist/turnkey/types.js.map +1 -0
  187. package/dist/types/wallet.js +4 -7
  188. package/dist/types/wallet.js.map +1 -1
  189. package/dist/utils/ed25519.js +14 -20
  190. package/dist/utils/ed25519.js.map +1 -1
  191. package/dist/utils/getPseudoName.js +7 -10
  192. package/dist/utils/getPseudoName.js.map +1 -1
  193. package/dist/utils/logger.js +3 -5
  194. package/dist/utils/logger.js.map +1 -1
  195. package/dist/utils/shortenString.js +2 -6
  196. package/dist/utils/shortenString.js.map +1 -1
  197. package/dist/utils/turnkeySessionStorage.d.ts +3 -0
  198. package/dist/utils/turnkeySessionStorage.js +33 -0
  199. package/dist/utils/turnkeySessionStorage.js.map +1 -0
  200. package/dist/utils/words.js +1 -4
  201. package/dist/utils/words.js.map +1 -1
  202. package/package.json +3 -3
  203. package/dist/assets/fonts/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
  204. package/dist/assets/fonts/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
  205. package/dist/assets/fonts/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
  206. package/dist/assets/fonts/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
  207. package/dist/assets/fonts/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
  208. package/dist/assets/fonts/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
  209. package/dist/assets/fonts/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
  210. package/dist/assets/fonts/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
  211. package/dist/assets/fonts/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
  212. package/dist/assets/fonts/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
  213. package/dist/assets/fonts/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
  214. package/dist/assets/fonts/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
  215. package/dist/assets/fonts/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
  216. package/dist/assets/fonts/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __assign = (this && this.__assign) || function () {
3
2
  __assign = Object.assign || function(t) {
4
3
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -55,55 +54,52 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
54
  }
56
55
  return to.concat(ar || Array.prototype.slice.call(from));
57
56
  };
58
- Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.BALANCE_REFRESH_MS = exports.DEFAULT_MIN_DEPOSIT = void 0;
60
- exports.AmountInputScreen = AmountInputScreen;
61
- var jsx_runtime_1 = require("react/jsx-runtime");
62
- var web3_js_1 = require("@solana/web3.js");
63
- var react_1 = require("react");
64
- var logos_1 = require("../../../components/logos");
65
- var hooks_1 = require("../../../hooks");
66
- var logger_1 = require("../../../utils/logger");
67
- var providers_1 = require("../providers");
68
- var nordUtils_1 = require("../utils/nordUtils");
69
- var solana_1 = require("../../../config/solana");
70
- exports.DEFAULT_MIN_DEPOSIT = 5;
71
- exports.BALANCE_REFRESH_MS = 20000;
72
- function AmountInputScreen(_a) {
57
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
58
+ import { Connection, LAMPORTS_PER_SOL, PublicKey } from "@solana/web3.js";
59
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
60
+ import { SolanaLogo } from "../../../components/logos";
61
+ import { useN1WalletContext } from "../../../hooks";
62
+ import { logger } from "../../../utils/logger";
63
+ import { useDepositFlow, useOnboardingState } from "../providers";
64
+ import { formatAmount, isNordConfigured } from "../utils/nordUtils";
65
+ import { getSolanaRpcUrl } from "../../../config/solana";
66
+ export var DEFAULT_MIN_DEPOSIT = 5;
67
+ export var BALANCE_REFRESH_MS = 20000;
68
+ export function AmountInputScreen(_a) {
73
69
  var _this = this;
74
- var context = (0, providers_1.useOnboardingState)().context;
75
- var _b = (0, providers_1.useDepositFlow)(), amount = _b.amount, updateAmount = _b.updateAmount, startDeposit = _b.startDeposit;
76
- var _c = (0, hooks_1.useN1WalletContext)(), nord = _c.nord, address = _c.address;
77
- var _d = (0, react_1.useState)(null), tokenSymbol = _d[0], setTokenSymbol = _d[1];
78
- var _e = (0, react_1.useState)(null), tokenDecimals = _e[0], setTokenDecimals = _e[1];
79
- var _f = (0, react_1.useState)(null), nordTokens = _f[0], setNordTokens = _f[1];
80
- var _g = (0, react_1.useState)({
70
+ var context = useOnboardingState().context;
71
+ var _b = useDepositFlow(), amount = _b.amount, updateAmount = _b.updateAmount, startDeposit = _b.startDeposit;
72
+ var _c = useN1WalletContext(), nord = _c.nord, address = _c.address;
73
+ var _d = useState(null), tokenSymbol = _d[0], setTokenSymbol = _d[1];
74
+ var _e = useState(null), tokenDecimals = _e[0], setTokenDecimals = _e[1];
75
+ var _f = useState(null), nordTokens = _f[0], setNordTokens = _f[1];
76
+ var _g = useState({
81
77
  usdc: null,
82
78
  sol: null,
83
79
  loading: false,
84
80
  error: null,
85
81
  }), walletBalances = _g[0], setWalletBalances = _g[1];
86
- var isMountedRef = (0, react_1.useRef)(true);
87
- (0, react_1.useEffect)(function () {
82
+ var isMountedRef = useRef(true);
83
+ useEffect(function () {
88
84
  return function () {
89
85
  isMountedRef.current = false;
90
86
  };
91
87
  }, []);
92
- (0, react_1.useEffect)(function () {
88
+ useEffect(function () {
93
89
  if (!amount) {
94
90
  updateAmount("100");
95
91
  }
96
92
  }, [amount, updateAmount]);
97
93
  var selectedChainName = context.selectedChain || "Solana";
98
- var _h = (0, react_1.useState)(null), tokenMintAddress = _h[0], setTokenMintAddress = _h[1];
99
- (0, react_1.useEffect)(function () {
94
+ var _h = useState(null), tokenMintAddress = _h[0], setTokenMintAddress = _h[1];
95
+ useEffect(function () {
100
96
  var isCancelled = false;
101
97
  var loadNordTokens = function () { return __awaiter(_this, void 0, void 0, function () {
102
98
  var error_1;
103
99
  return __generator(this, function (_a) {
104
100
  switch (_a.label) {
105
101
  case 0:
106
- if (!nord || !(0, nordUtils_1.isNordConfigured)(nord)) {
102
+ if (!nord || !isNordConfigured(nord)) {
107
103
  if (!isCancelled) {
108
104
  setNordTokens(null);
109
105
  }
@@ -134,7 +130,7 @@ function AmountInputScreen(_a) {
134
130
  case 3:
135
131
  error_1 = _a.sent();
136
132
  if (!isCancelled) {
137
- logger_1.logger.warn("Unable to fetch Nord info:", error_1);
133
+ logger.warn("Unable to fetch Nord info:", error_1);
138
134
  setNordTokens(null);
139
135
  }
140
136
  return [3 /*break*/, 4];
@@ -147,8 +143,8 @@ function AmountInputScreen(_a) {
147
143
  isCancelled = true;
148
144
  };
149
145
  }, [nord]);
150
- (0, react_1.useEffect)(function () {
151
- if (nord && (0, nordUtils_1.isNordConfigured)(nord)) {
146
+ useEffect(function () {
147
+ if (nord && isNordConfigured(nord)) {
152
148
  try {
153
149
  if (!nordTokens || nordTokens.length === 0) {
154
150
  return;
@@ -171,17 +167,17 @@ function AmountInputScreen(_a) {
171
167
  }
172
168
  }
173
169
  catch (error) {
174
- logger_1.logger.warn("Error getting token information from Nord:", error);
170
+ logger.warn("Error getting token information from Nord:", error);
175
171
  }
176
172
  }
177
173
  }, [nord, nordTokens]);
178
- var minDeposit = (0, react_1.useMemo)(function () {
174
+ var minDeposit = useMemo(function () {
179
175
  var _a, _b;
180
176
  if (!nord ||
181
- !(0, nordUtils_1.isNordConfigured)(nord) ||
177
+ !isNordConfigured(nord) ||
182
178
  !tokenMintAddress ||
183
179
  tokenDecimals == null) {
184
- return exports.DEFAULT_MIN_DEPOSIT;
180
+ return DEFAULT_MIN_DEPOSIT;
185
181
  }
186
182
  try {
187
183
  // @ts-ignore
@@ -195,11 +191,11 @@ function AmountInputScreen(_a) {
195
191
  }
196
192
  }
197
193
  catch (error) {
198
- logger_1.logger.warn("Unable to derive min deposit from Nord config", error);
194
+ logger.warn("Unable to derive min deposit from Nord config", error);
199
195
  }
200
- return exports.DEFAULT_MIN_DEPOSIT;
196
+ return DEFAULT_MIN_DEPOSIT;
201
197
  }, [nord, tokenMintAddress, tokenDecimals]);
202
- var fetchBalances = (0, react_1.useCallback)(function () {
198
+ var fetchBalances = useCallback(function () {
203
199
  var args_1 = [];
204
200
  for (var _i = 0; _i < arguments.length; _i++) {
205
201
  args_1[_i] = arguments[_i];
@@ -227,13 +223,13 @@ function AmountInputScreen(_a) {
227
223
  _b.label = 1;
228
224
  case 1:
229
225
  _b.trys.push([1, 3, , 4]);
230
- rpcEndpoint = (0, solana_1.getSolanaRpcUrl)();
231
- connection = new web3_js_1.Connection(rpcEndpoint, "confirmed");
232
- ownerKey = new web3_js_1.PublicKey(address);
226
+ rpcEndpoint = getSolanaRpcUrl();
227
+ connection = new Connection(rpcEndpoint, "confirmed");
228
+ ownerKey = new PublicKey(address);
233
229
  return [4 /*yield*/, Promise.all([
234
230
  connection.getBalance(ownerKey),
235
231
  connection.getParsedTokenAccountsByOwner(ownerKey, {
236
- mint: new web3_js_1.PublicKey(tokenMintAddress),
232
+ mint: new PublicKey(tokenMintAddress),
237
233
  }),
238
234
  ])];
239
235
  case 2:
@@ -256,14 +252,14 @@ function AmountInputScreen(_a) {
256
252
  }
257
253
  setWalletBalances({
258
254
  usdc: usdcTotal,
259
- sol: solLamports / web3_js_1.LAMPORTS_PER_SOL,
255
+ sol: solLamports / LAMPORTS_PER_SOL,
260
256
  loading: false,
261
257
  error: null,
262
258
  });
263
259
  return [3 /*break*/, 4];
264
260
  case 3:
265
261
  error_2 = _b.sent();
266
- logger_1.logger.warn("Failed to load wallet balances", error_2);
262
+ logger.warn("Failed to load wallet balances", error_2);
267
263
  if (!isMountedRef.current) {
268
264
  return [2 /*return*/];
269
265
  }
@@ -274,14 +270,14 @@ function AmountInputScreen(_a) {
274
270
  });
275
271
  });
276
272
  }, [address, tokenMintAddress]);
277
- (0, react_1.useEffect)(function () {
273
+ useEffect(function () {
278
274
  if (!tokenMintAddress) {
279
275
  return;
280
276
  }
281
277
  fetchBalances();
282
278
  var interval = setInterval(function () {
283
279
  fetchBalances(false);
284
- }, exports.BALANCE_REFRESH_MS);
280
+ }, BALANCE_REFRESH_MS);
285
281
  return function () { return clearInterval(interval); };
286
282
  }, [fetchBalances, tokenMintAddress]);
287
283
  var isSolana = selectedChainName.toLowerCase().includes("solana");
@@ -293,7 +289,7 @@ function AmountInputScreen(_a) {
293
289
  ? walletBalances.loading
294
290
  ? "Loading..."
295
291
  : "—"
296
- : (0, nordUtils_1.formatAmount)(walletBalances.usdc, tokenDecimals);
292
+ : formatAmount(walletBalances.usdc, tokenDecimals);
297
293
  var formattedSolBalance = walletBalances.sol == null
298
294
  ? walletBalances.loading
299
295
  ? "Loading..."
@@ -306,7 +302,7 @@ function AmountInputScreen(_a) {
306
302
  var hasSufficientSol = walletBalances.sol == null
307
303
  ? false
308
304
  : walletBalances.sol >= requiredSolForFees;
309
- var validationError = (0, react_1.useMemo)(function () {
305
+ var validationError = useMemo(function () {
310
306
  if (!address) {
311
307
  return "Connect a wallet to continue.";
312
308
  }
@@ -357,8 +353,8 @@ function AmountInputScreen(_a) {
357
353
  }
358
354
  updateAmount(walletBalances.usdc.toFixed(tokenDecimals));
359
355
  };
360
- return ((0, jsx_runtime_1.jsxs)("div", { className: "overflow-hidden relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mb-4", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-sm text-white font-medium", children: "Deposit From" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1", children: [isSolana ? ((0, jsx_runtime_1.jsx)("div", { className: "rounded-full flex items-center justify-center bg-black h-3 w-3", children: (0, jsx_runtime_1.jsx)(logos_1.SolanaLogo, { width: 6, height: 6 }) })) : ((0, jsx_runtime_1.jsx)("div", { className: "w-4 h-4 rounded-full bg-n1-ww-gray-600" })), (0, jsx_runtime_1.jsx)("span", { className: "text-white text-xs font-medium", children: selectedChainName })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-3 mb-4 text-white text-xs font-light", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Available Balance:" }), (0, jsx_runtime_1.jsxs)("span", { children: [formattedBalance, " ", tokenSymbolDisplay] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "SOL Balance:" }), (0, jsx_runtime_1.jsxs)("span", { children: [formattedSolBalance, " SOL"] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Minimum Deposit:" }), (0, jsx_runtime_1.jsxs)("span", { children: [minDepositDisplay, " ", tokenSymbolDisplay] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Gas Fee:" }), (0, jsx_runtime_1.jsx)("span", { children: gasFeeDisplay })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "h-px bg-n1-ww-border mb-4" }), (0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex justify-between w-full", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-center gap-3", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-white text-sm font-medium", children: "Amount" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "number", step: "0.000001", value: amount, onChange: function (e) { return updateAmount(e.target.value); }, className: "text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1" }), (0, jsx_runtime_1.jsx)("button", { className: "border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors", children: tokenSymbolDisplay })] })] }) }), (0, jsx_runtime_1.jsx)("button", { className: "border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]", onClick: handleUseMax, type: "button", children: "Max" })] }), validationError && ((0, jsx_runtime_1.jsx)("p", { className: "mb-2 text-xs text-red-400", children: validationError })), (0, jsx_runtime_1.jsx)("button", { onClick: startDeposit, disabled: !isValidAmount, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isValidAmount
356
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h2", { className: "text-sm text-white font-medium", children: "Deposit From" }), _jsxs("div", { className: "flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1", children: [isSolana ? (_jsx("div", { className: "rounded-full flex items-center justify-center bg-black h-3 w-3", children: _jsx(SolanaLogo, { width: 6, height: 6 }) })) : (_jsx("div", { className: "w-4 h-4 rounded-full bg-n1-ww-gray-600" })), _jsx("span", { className: "text-white text-xs font-medium", children: selectedChainName })] })] }), _jsxs("div", { className: "space-y-3 mb-4 text-white text-xs font-light", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Available Balance:" }), _jsxs("span", { children: [formattedBalance, " ", tokenSymbolDisplay] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "SOL Balance:" }), _jsxs("span", { children: [formattedSolBalance, " SOL"] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Minimum Deposit:" }), _jsxs("span", { children: [minDepositDisplay, " ", tokenSymbolDisplay] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Gas Fee:" }), _jsx("span", { children: gasFeeDisplay })] })] }), _jsx("div", { className: "h-px bg-n1-ww-border mb-4" }), _jsxs("div", { className: "mb-4 flex justify-between w-full", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsxs("div", { className: "flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2", children: [_jsx("span", { className: "text-white text-sm font-medium", children: "Amount" }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx("input", { type: "number", step: "0.000001", value: amount, onChange: function (e) { return updateAmount(e.target.value); }, className: "text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1" }), _jsx("button", { className: "border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors", children: tokenSymbolDisplay })] })] }) }), _jsx("button", { className: "border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]", onClick: handleUseMax, type: "button", children: "Max" })] }), validationError && (_jsx("p", { className: "mb-2 text-xs text-red-400", children: validationError })), _jsx("button", { onClick: startDeposit, disabled: !isValidAmount, className: "\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ".concat(isValidAmount
361
357
  ? "border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer"
362
- : "border-n1-ww-border opacity-50 cursor-not-allowed", "\n "), children: (0, jsx_runtime_1.jsx)("span", { className: "\n font-medium text-sm opacity-90\n ".concat(isValidAmount ? "text-n1-ww-main" : "text-n1-ww-gray-600", "\n "), children: "Deposit" }) })] }));
358
+ : "border-n1-ww-border opacity-50 cursor-not-allowed", "\n "), children: _jsx("span", { className: "\n font-medium text-sm opacity-90\n ".concat(isValidAmount ? "text-n1-ww-main" : "text-n1-ww-gray-600", "\n "), children: "Deposit" }) })] }));
363
359
  }
364
360
  //# sourceMappingURL=03-AmountInputScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"03-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/03-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Connection, LAMPORTS_PER_SOL, PublicKey } from \"@solana/web3.js\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { SolanaLogo } from \"../../../components/logos\";\nimport { useN1WalletContext } from \"../../../hooks\";\nimport { logger } from \"../../../utils/logger\";\nimport { useDepositFlow, useOnboardingState } from \"../providers\";\nimport { WalletBalanceState } from \"../types\";\nimport { formatAmount, isNordConfigured } from \"../utils/nordUtils\";\nimport { getSolanaRpcUrl } from \"../../../config/solana\";\n\nexport const DEFAULT_MIN_DEPOSIT = 5;\n\nexport const BALANCE_REFRESH_MS = 20_000;\n\ninterface AmountInputScreenProps {}\n\nexport function AmountInputScreen({}: AmountInputScreenProps) {\n const { context } = useOnboardingState();\n const { amount, updateAmount, startDeposit } = useDepositFlow();\n const { nord, address } = useN1WalletContext();\n\n const [tokenSymbol, setTokenSymbol] = useState<string | null>(null);\n const [tokenDecimals, setTokenDecimals] = useState<number | null>(null);\n const [nordTokens, setNordTokens] = useState<any[] | null>(null);\n const [walletBalances, setWalletBalances] = useState<WalletBalanceState>({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n const isMountedRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n useEffect(() => {\n if (!amount) {\n updateAmount(\"100\");\n }\n }, [amount, updateAmount]);\n\n const selectedChainName = context.selectedChain || \"Solana\";\n const [tokenMintAddress, setTokenMintAddress] = useState<string | null>(null);\n\n useEffect(() => {\n let isCancelled = false;\n\n const loadNordTokens = async () => {\n if (!nord || !isNordConfigured(nord)) {\n if (!isCancelled) {\n setNordTokens(null);\n }\n return;\n }\n\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n if (!isCancelled) {\n setNordTokens(nord.tokens);\n }\n return;\n }\n\n if (typeof nord.fetchNordInfo !== \"function\") {\n return;\n }\n\n try {\n await nord.fetchNordInfo();\n if (isCancelled) {\n return;\n }\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n setNordTokens(nord.tokens);\n }\n } catch (error) {\n if (!isCancelled) {\n logger.warn(\"Unable to fetch Nord info:\", error);\n setNordTokens(null);\n }\n }\n };\n\n loadNordTokens();\n\n return () => {\n isCancelled = true;\n };\n }, [nord]);\n\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n if (!nordTokens || nordTokens.length === 0) {\n return;\n }\n console.log(\"nordTokens\", nordTokens);\n const usdcToken =\n nordTokens.find((t: any) => t.symbol === \"USDC\") || nordTokens[0];\n if (usdcToken) {\n if (!usdcToken.symbol) {\n throw new Error(\"Nord token configuration missing symbol\");\n }\n if (!Number.isFinite(usdcToken.decimals)) {\n throw new Error(\"Nord token configuration missing decimals\");\n }\n if (!usdcToken.mintAddr) {\n throw new Error(\"Nord token configuration missing mint address\");\n }\n setTokenSymbol(usdcToken.symbol);\n setTokenDecimals(usdcToken.decimals);\n setTokenMintAddress(usdcToken.mintAddr);\n }\n } catch (error) {\n logger.warn(\"Error getting token information from Nord:\", error);\n }\n }\n }, [nord, nordTokens]);\n\n const minDeposit = useMemo(() => {\n if (\n !nord ||\n !isNordConfigured(nord) ||\n !tokenMintAddress ||\n tokenDecimals == null\n ) {\n return DEFAULT_MIN_DEPOSIT;\n }\n try {\n // @ts-ignore\n const mintInfo = nord.protonClient?.mintInfo?.get(tokenMintAddress);\n if (mintInfo?.minDeposit) {\n const minDepositUnits = Number(mintInfo.minDeposit);\n const divisor = 10 ** tokenDecimals;\n if (Number.isFinite(minDepositUnits) && divisor > 0) {\n return minDepositUnits / divisor;\n }\n }\n } catch (error) {\n logger.warn(\"Unable to derive min deposit from Nord config\", error);\n }\n return DEFAULT_MIN_DEPOSIT;\n }, [nord, tokenMintAddress, tokenDecimals]);\n\n const fetchBalances = useCallback(\n async (showSpinner: boolean = true) => {\n if (!address || !tokenMintAddress) {\n if (isMountedRef.current) {\n setWalletBalances({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n }\n return;\n }\n\n if (showSpinner) {\n setWalletBalances((prev) => ({\n ...prev,\n loading: true,\n error: null,\n }));\n }\n\n try {\n const rpcEndpoint = getSolanaRpcUrl();\n const connection = new Connection(rpcEndpoint, \"confirmed\");\n const ownerKey = new PublicKey(address);\n\n const [solLamports, tokenAccounts] = await Promise.all([\n connection.getBalance(ownerKey),\n connection.getParsedTokenAccountsByOwner(ownerKey, {\n mint: new PublicKey(tokenMintAddress),\n }),\n ]);\n\n const usdcTotal = tokenAccounts.value.reduce((total, { account }) => {\n const info = account.data.parsed?.info;\n const tokenAmount = info?.tokenAmount;\n if (!tokenAmount) {\n return total;\n }\n const uiAmount =\n typeof tokenAmount.uiAmount === \"number\"\n ? tokenAmount.uiAmount\n : parseFloat(tokenAmount.uiAmountString ?? \"0\");\n return total + (Number.isFinite(uiAmount) ? uiAmount : 0);\n }, 0);\n\n if (!isMountedRef.current) {\n return;\n }\n\n setWalletBalances({\n usdc: usdcTotal,\n sol: solLamports / LAMPORTS_PER_SOL,\n loading: false,\n error: null,\n });\n } catch (error) {\n logger.warn(\"Failed to load wallet balances\", error);\n if (!isMountedRef.current) {\n return;\n }\n setWalletBalances((prev) => ({\n ...prev,\n loading: false,\n error: \"Unable to fetch wallet balances. Please try again.\",\n }));\n }\n },\n [address, tokenMintAddress]\n );\n\n useEffect(() => {\n if (!tokenMintAddress) {\n return;\n }\n fetchBalances();\n const interval = setInterval(() => {\n fetchBalances(false);\n }, BALANCE_REFRESH_MS);\n\n return () => clearInterval(interval);\n }, [fetchBalances, tokenMintAddress]);\n\n const isSolana = selectedChainName.toLowerCase().includes(\"solana\");\n const requiredSolForFees = 0.002; // ensure wallet has at least 0.002 SOL for fees\n const gasFeeDisplay = \"~$0.30\";\n const minDepositDisplay = minDeposit.toString();\n const tokenSymbolDisplay = tokenSymbol ?? \"—\";\n\n const formattedBalance =\n walletBalances.usdc == null || tokenDecimals == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : formatAmount(walletBalances.usdc, tokenDecimals);\n\n const formattedSolBalance =\n walletBalances.sol == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : walletBalances.sol.toFixed(4);\n\n const numericAmount = Number(amount || 0);\n const hasEnteredAmount = Number.isFinite(numericAmount) && numericAmount > 0;\n const meetsMinDeposit = numericAmount >= minDeposit;\n const hasSufficientUsdc =\n walletBalances.usdc == null ? false : numericAmount <= walletBalances.usdc;\n const hasSufficientSol =\n walletBalances.sol == null\n ? false\n : walletBalances.sol >= requiredSolForFees;\n\n const validationError = useMemo(() => {\n if (!address) {\n return \"Connect a wallet to continue.\";\n }\n\n if (walletBalances.error) {\n return walletBalances.error;\n }\n\n if (!tokenSymbol || tokenDecimals == null) {\n return \"Token information unavailable. Please try again later.\";\n }\n\n if (!hasEnteredAmount) {\n return \"Enter an amount to continue.\";\n }\n\n if (\n walletBalances.loading ||\n walletBalances.usdc == null ||\n walletBalances.sol == null\n ) {\n return null;\n }\n\n if (!meetsMinDeposit) {\n return `Minimum deposit is ${minDeposit} ${tokenSymbol}.`;\n }\n\n if (!hasSufficientUsdc) {\n return `Insufficient ${tokenSymbol} balance for this deposit.`;\n }\n\n if (!hasSufficientSol) {\n return \"Not enough SOL to cover network fees.\";\n }\n\n return null;\n }, [\n address,\n walletBalances.error,\n walletBalances.loading,\n walletBalances.usdc,\n walletBalances.sol,\n hasEnteredAmount,\n hasSufficientSol,\n hasSufficientUsdc,\n meetsMinDeposit,\n tokenSymbol,\n tokenDecimals,\n minDeposit,\n ]);\n\n const isValidAmount = !walletBalances.loading && validationError === null;\n\n const handleUseMax = () => {\n if (\n walletBalances.usdc == null ||\n walletBalances.usdc <= 0 ||\n tokenDecimals == null\n ) {\n return;\n }\n updateAmount(walletBalances.usdc.toFixed(tokenDecimals));\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Header Section */}\n <div className=\"flex items-center justify-between mb-4\">\n <h2 className=\"text-sm text-white font-medium\">Deposit From</h2>\n <div className=\"flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1\">\n {isSolana ? (\n <div className=\"rounded-full flex items-center justify-center bg-black h-3 w-3\">\n <SolanaLogo width={6} height={6} />\n </div>\n ) : (\n <div className=\"w-4 h-4 rounded-full bg-n1-ww-gray-600\"></div>\n )}\n <span className=\"text-white text-xs font-medium\">\n {selectedChainName}\n </span>\n </div>\n </div>\n\n {/* Deposit Information Section */}\n <div className=\"space-y-3 mb-4 text-white text-xs font-light\">\n <div className=\"flex items-center justify-between\">\n <span>Available Balance:</span>\n <span>\n {formattedBalance} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>SOL Balance:</span>\n <span>{formattedSolBalance} SOL</span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Minimum Deposit:</span>\n <span>\n {minDepositDisplay} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Gas Fee:</span>\n <span>{gasFeeDisplay}</span>\n </div>\n </div>\n\n <div className=\"h-px bg-n1-ww-border mb-4\"></div>\n\n {/* Amount Input Section */}\n <div className=\"mb-4 flex justify-between w-full\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2\">\n <span className=\"text-white text-sm font-medium\">Amount</span>\n <div className=\"flex items-center space-x-2\">\n <input\n type=\"number\"\n step=\"0.000001\"\n value={amount}\n onChange={(e) => updateAmount(e.target.value)}\n className=\"text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1\"\n />\n <button className=\"border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors\">\n {tokenSymbolDisplay}\n </button>\n </div>\n </div>\n </div>\n <button\n className=\"border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]\"\n onClick={handleUseMax}\n type=\"button\"\n >\n Max\n </button>\n </div>\n\n {validationError && (\n <p className=\"mb-2 text-xs text-red-400\">{validationError}</p>\n )}\n\n {/* Deposit Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n className={`\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ${\n isValidAmount\n ? \"border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer\"\n : \"border-n1-ww-border opacity-50 cursor-not-allowed\"\n }\n `}\n >\n <span\n className={`\n font-medium text-sm opacity-90\n ${isValidAmount ? \"text-n1-ww-main\" : \"text-n1-ww-gray-600\"}\n `}\n >\n Deposit\n </span>\n </button>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"03-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/03-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Connection, LAMPORTS_PER_SOL, PublicKey } from \"@solana/web3.js\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { SolanaLogo } from \"../../../components/logos\";\nimport { useN1WalletContext } from \"../../../hooks\";\nimport { logger } from \"../../../utils/logger\";\nimport { useDepositFlow, useOnboardingState } from \"../providers\";\nimport { WalletBalanceState } from \"../types\";\nimport { formatAmount, isNordConfigured } from \"../utils/nordUtils\";\nimport { getSolanaRpcUrl } from \"../../../config/solana\";\n\nexport const DEFAULT_MIN_DEPOSIT = 5;\n\nexport const BALANCE_REFRESH_MS = 20_000;\n\ninterface AmountInputScreenProps {}\n\nexport function AmountInputScreen({}: AmountInputScreenProps) {\n const { context } = useOnboardingState();\n const { amount, updateAmount, startDeposit } = useDepositFlow();\n const { nord, address } = useN1WalletContext();\n\n const [tokenSymbol, setTokenSymbol] = useState<string | null>(null);\n const [tokenDecimals, setTokenDecimals] = useState<number | null>(null);\n const [nordTokens, setNordTokens] = useState<any[] | null>(null);\n const [walletBalances, setWalletBalances] = useState<WalletBalanceState>({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n const isMountedRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n useEffect(() => {\n if (!amount) {\n updateAmount(\"100\");\n }\n }, [amount, updateAmount]);\n\n const selectedChainName = context.selectedChain || \"Solana\";\n const [tokenMintAddress, setTokenMintAddress] = useState<string | null>(null);\n\n useEffect(() => {\n let isCancelled = false;\n\n const loadNordTokens = async () => {\n if (!nord || !isNordConfigured(nord)) {\n if (!isCancelled) {\n setNordTokens(null);\n }\n return;\n }\n\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n if (!isCancelled) {\n setNordTokens(nord.tokens);\n }\n return;\n }\n\n if (typeof nord.fetchNordInfo !== \"function\") {\n return;\n }\n\n try {\n await nord.fetchNordInfo();\n if (isCancelled) {\n return;\n }\n if (Array.isArray(nord.tokens) && nord.tokens.length > 0) {\n setNordTokens(nord.tokens);\n }\n } catch (error) {\n if (!isCancelled) {\n logger.warn(\"Unable to fetch Nord info:\", error);\n setNordTokens(null);\n }\n }\n };\n\n loadNordTokens();\n\n return () => {\n isCancelled = true;\n };\n }, [nord]);\n\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n if (!nordTokens || nordTokens.length === 0) {\n return;\n }\n console.log(\"nordTokens\", nordTokens);\n const usdcToken =\n nordTokens.find((t: any) => t.symbol === \"USDC\") || nordTokens[0];\n if (usdcToken) {\n if (!usdcToken.symbol) {\n throw new Error(\"Nord token configuration missing symbol\");\n }\n if (!Number.isFinite(usdcToken.decimals)) {\n throw new Error(\"Nord token configuration missing decimals\");\n }\n if (!usdcToken.mintAddr) {\n throw new Error(\"Nord token configuration missing mint address\");\n }\n setTokenSymbol(usdcToken.symbol);\n setTokenDecimals(usdcToken.decimals);\n setTokenMintAddress(usdcToken.mintAddr);\n }\n } catch (error) {\n logger.warn(\"Error getting token information from Nord:\", error);\n }\n }\n }, [nord, nordTokens]);\n\n const minDeposit = useMemo(() => {\n if (\n !nord ||\n !isNordConfigured(nord) ||\n !tokenMintAddress ||\n tokenDecimals == null\n ) {\n return DEFAULT_MIN_DEPOSIT;\n }\n try {\n // @ts-ignore\n const mintInfo = nord.protonClient?.mintInfo?.get(tokenMintAddress);\n if (mintInfo?.minDeposit) {\n const minDepositUnits = Number(mintInfo.minDeposit);\n const divisor = 10 ** tokenDecimals;\n if (Number.isFinite(minDepositUnits) && divisor > 0) {\n return minDepositUnits / divisor;\n }\n }\n } catch (error) {\n logger.warn(\"Unable to derive min deposit from Nord config\", error);\n }\n return DEFAULT_MIN_DEPOSIT;\n }, [nord, tokenMintAddress, tokenDecimals]);\n\n const fetchBalances = useCallback(\n async (showSpinner: boolean = true) => {\n if (!address || !tokenMintAddress) {\n if (isMountedRef.current) {\n setWalletBalances({\n usdc: null,\n sol: null,\n loading: false,\n error: null,\n });\n }\n return;\n }\n\n if (showSpinner) {\n setWalletBalances((prev) => ({\n ...prev,\n loading: true,\n error: null,\n }));\n }\n\n try {\n const rpcEndpoint = getSolanaRpcUrl();\n const connection = new Connection(rpcEndpoint, \"confirmed\");\n const ownerKey = new PublicKey(address);\n\n const [solLamports, tokenAccounts] = await Promise.all([\n connection.getBalance(ownerKey),\n connection.getParsedTokenAccountsByOwner(ownerKey, {\n mint: new PublicKey(tokenMintAddress),\n }),\n ]);\n\n const usdcTotal = tokenAccounts.value.reduce((total, { account }) => {\n const info = account.data.parsed?.info;\n const tokenAmount = info?.tokenAmount;\n if (!tokenAmount) {\n return total;\n }\n const uiAmount =\n typeof tokenAmount.uiAmount === \"number\"\n ? tokenAmount.uiAmount\n : parseFloat(tokenAmount.uiAmountString ?? \"0\");\n return total + (Number.isFinite(uiAmount) ? uiAmount : 0);\n }, 0);\n\n if (!isMountedRef.current) {\n return;\n }\n\n setWalletBalances({\n usdc: usdcTotal,\n sol: solLamports / LAMPORTS_PER_SOL,\n loading: false,\n error: null,\n });\n } catch (error) {\n logger.warn(\"Failed to load wallet balances\", error);\n if (!isMountedRef.current) {\n return;\n }\n setWalletBalances((prev) => ({\n ...prev,\n loading: false,\n error: \"Unable to fetch wallet balances. Please try again.\",\n }));\n }\n },\n [address, tokenMintAddress]\n );\n\n useEffect(() => {\n if (!tokenMintAddress) {\n return;\n }\n fetchBalances();\n const interval = setInterval(() => {\n fetchBalances(false);\n }, BALANCE_REFRESH_MS);\n\n return () => clearInterval(interval);\n }, [fetchBalances, tokenMintAddress]);\n\n const isSolana = selectedChainName.toLowerCase().includes(\"solana\");\n const requiredSolForFees = 0.002; // ensure wallet has at least 0.002 SOL for fees\n const gasFeeDisplay = \"~$0.30\";\n const minDepositDisplay = minDeposit.toString();\n const tokenSymbolDisplay = tokenSymbol ?? \"—\";\n\n const formattedBalance =\n walletBalances.usdc == null || tokenDecimals == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : formatAmount(walletBalances.usdc, tokenDecimals);\n\n const formattedSolBalance =\n walletBalances.sol == null\n ? walletBalances.loading\n ? \"Loading...\"\n : \"—\"\n : walletBalances.sol.toFixed(4);\n\n const numericAmount = Number(amount || 0);\n const hasEnteredAmount = Number.isFinite(numericAmount) && numericAmount > 0;\n const meetsMinDeposit = numericAmount >= minDeposit;\n const hasSufficientUsdc =\n walletBalances.usdc == null ? false : numericAmount <= walletBalances.usdc;\n const hasSufficientSol =\n walletBalances.sol == null\n ? false\n : walletBalances.sol >= requiredSolForFees;\n\n const validationError = useMemo(() => {\n if (!address) {\n return \"Connect a wallet to continue.\";\n }\n\n if (walletBalances.error) {\n return walletBalances.error;\n }\n\n if (!tokenSymbol || tokenDecimals == null) {\n return \"Token information unavailable. Please try again later.\";\n }\n\n if (!hasEnteredAmount) {\n return \"Enter an amount to continue.\";\n }\n\n if (\n walletBalances.loading ||\n walletBalances.usdc == null ||\n walletBalances.sol == null\n ) {\n return null;\n }\n\n if (!meetsMinDeposit) {\n return `Minimum deposit is ${minDeposit} ${tokenSymbol}.`;\n }\n\n if (!hasSufficientUsdc) {\n return `Insufficient ${tokenSymbol} balance for this deposit.`;\n }\n\n if (!hasSufficientSol) {\n return \"Not enough SOL to cover network fees.\";\n }\n\n return null;\n }, [\n address,\n walletBalances.error,\n walletBalances.loading,\n walletBalances.usdc,\n walletBalances.sol,\n hasEnteredAmount,\n hasSufficientSol,\n hasSufficientUsdc,\n meetsMinDeposit,\n tokenSymbol,\n tokenDecimals,\n minDeposit,\n ]);\n\n const isValidAmount = !walletBalances.loading && validationError === null;\n\n const handleUseMax = () => {\n if (\n walletBalances.usdc == null ||\n walletBalances.usdc <= 0 ||\n tokenDecimals == null\n ) {\n return;\n }\n updateAmount(walletBalances.usdc.toFixed(tokenDecimals));\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Header Section */}\n <div className=\"flex items-center justify-between mb-4\">\n <h2 className=\"text-sm text-white font-medium\">Deposit From</h2>\n <div className=\"flex items-center space-x-2 rounded-md bg-n1-ww-border h-5 justify-center p-1\">\n {isSolana ? (\n <div className=\"rounded-full flex items-center justify-center bg-black h-3 w-3\">\n <SolanaLogo width={6} height={6} />\n </div>\n ) : (\n <div className=\"w-4 h-4 rounded-full bg-n1-ww-gray-600\"></div>\n )}\n <span className=\"text-white text-xs font-medium\">\n {selectedChainName}\n </span>\n </div>\n </div>\n\n {/* Deposit Information Section */}\n <div className=\"space-y-3 mb-4 text-white text-xs font-light\">\n <div className=\"flex items-center justify-between\">\n <span>Available Balance:</span>\n <span>\n {formattedBalance} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>SOL Balance:</span>\n <span>{formattedSolBalance} SOL</span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Minimum Deposit:</span>\n <span>\n {minDepositDisplay} {tokenSymbolDisplay}\n </span>\n </div>\n <div className=\"flex items-center justify-between\">\n <span>Gas Fee:</span>\n <span>{gasFeeDisplay}</span>\n </div>\n </div>\n\n <div className=\"h-px bg-n1-ww-border mb-4\"></div>\n\n {/* Amount Input Section */}\n <div className=\"mb-4 flex justify-between w-full\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex items-center justify-between border border-n1-ww-gray-400 bg-n1-ww-gray-600 flex-1 w-[292px] rounded h-8 px-2\">\n <span className=\"text-white text-sm font-medium\">Amount</span>\n <div className=\"flex items-center space-x-2\">\n <input\n type=\"number\"\n step=\"0.000001\"\n value={amount}\n onChange={(e) => updateAmount(e.target.value)}\n className=\"text-white font-light text-xs text-right bg-transparent border-none outline-none focus:ring-2 focus:ring-n1-ww-main focus:ring-offset-0 rounded px-1\"\n />\n <button className=\"border border-n1-ww-gray-400 h-5 text-white text-xs font-light flex items-center justify-center px-1 rounded transition-colors\">\n {tokenSymbolDisplay}\n </button>\n </div>\n </div>\n </div>\n <button\n className=\"border border-n1-ww-gray-400 bg-n1-ww-gray-600 rounded text-white text-sm font-medium px-2 h-8 hover:bg-n1-ww-gray-800 transition-colors w-[68px]\"\n onClick={handleUseMax}\n type=\"button\"\n >\n Max\n </button>\n </div>\n\n {validationError && (\n <p className=\"mb-2 text-xs text-red-400\">{validationError}</p>\n )}\n\n {/* Deposit Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n className={`\n w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center\n transition-all duration-200 transform\n ${\n isValidAmount\n ? \"border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer\"\n : \"border-n1-ww-border opacity-50 cursor-not-allowed\"\n }\n `}\n >\n <span\n className={`\n font-medium text-sm opacity-90\n ${isValidAmount ? \"text-n1-ww-main\" : \"text-n1-ww-gray-600\"}\n `}\n >\n Deposit\n </span>\n </button>\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function TurnkeyPreparingScreen(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { WaitingMessage } from '../components/WaitingMessage';
4
+ import { useWalletConnection } from '../providers';
5
+ var TURNKEY_ERROR_FALLBACK = 'Turnkey could not prepare your Solana wallet. Retry or disconnect to start over.';
6
+ export function TurnkeyPreparingScreen() {
7
+ var _a = useWalletConnection(), turnkeyStatus = _a.turnkeyStatus, turnkeyError = _a.turnkeyError, retryTurnkeyBootstrap = _a.retryTurnkeyBootstrap, disconnectWallet = _a.disconnectWallet;
8
+ if (turnkeyStatus === 'error') {
9
+ return (_jsxs("div", { className: "flex flex-col gap-4 text-center", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-base font-semibold text-white", children: "We couldn't prepare your Solana wallet" }), _jsx("p", { className: "text-sm text-neutral-400 mt-1", children: turnkeyError || TURNKEY_ERROR_FALLBACK })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", className: "flex-1 h-9 rounded border border-n1-ww-main text-n1-ww-main text-sm font-medium", onClick: retryTurnkeyBootstrap, children: "Retry" }), _jsx("button", { type: "button", className: "flex-1 h-9 rounded border border-n1-ww-border text-white text-sm font-medium", onClick: disconnectWallet, children: "Disconnect" })] })] }));
10
+ }
11
+ return (_jsx(WaitingMessage, { loaderSize: 52, message: {
12
+ visible: true,
13
+ title: 'Preparing Solana wallet…',
14
+ subtitle: 'Provisioning a Nord-ready signer via Turnkey',
15
+ isTyping: false,
16
+ } }));
17
+ }
18
+ //# sourceMappingURL=03-TurnkeyPreparingScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"03-TurnkeyPreparingScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,IAAM,sBAAsB,GAC1B,kFAAkF,CAAC;AAErF,MAAM,UAAU,sBAAsB;IAC9B,IAAA,KAKF,mBAAmB,EAAE,EAJvB,aAAa,mBAAA,EACb,YAAY,kBAAA,EACZ,qBAAqB,2BAAA,EACrB,gBAAgB,sBACO,CAAC;IAE1B,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,aAC9C,0BACE,aAAI,SAAS,EAAC,oCAAoC,uDAE7C,EACL,YAAG,SAAS,EAAC,+BAA+B,YACzC,YAAY,IAAI,sBAAsB,GACrC,IACA,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,qBAAqB,sBAGvB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8EAA8E,EACxF,OAAO,EAAE,gBAAgB,2BAGlB,IACL,IACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,cAAc,IACb,UAAU,EAAE,EAAE,EACd,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,0BAA0B;YACjC,QAAQ,EAAE,8CAA8C;YACxD,QAAQ,EAAE,KAAK;SAChB,GACD,CACH,CAAC;AACJ,CAAC","sourcesContent":["\"use client\";\n\nimport { WaitingMessage } from '../components/WaitingMessage';\nimport { useWalletConnection } from '../providers';\n\nconst TURNKEY_ERROR_FALLBACK =\n 'Turnkey could not prepare your Solana wallet. Retry or disconnect to start over.';\n\nexport function TurnkeyPreparingScreen() {\n const {\n turnkeyStatus,\n turnkeyError,\n retryTurnkeyBootstrap,\n disconnectWallet,\n } = useWalletConnection();\n\n if (turnkeyStatus === 'error') {\n return (\n <div className=\"flex flex-col gap-4 text-center\">\n <div>\n <h3 className=\"text-base font-semibold text-white\">\n We couldn&apos;t prepare your Solana wallet\n </h3>\n <p className=\"text-sm text-neutral-400 mt-1\">\n {turnkeyError || TURNKEY_ERROR_FALLBACK}\n </p>\n </div>\n <div className=\"flex gap-2\">\n <button\n type=\"button\"\n className=\"flex-1 h-9 rounded border border-n1-ww-main text-n1-ww-main text-sm font-medium\"\n onClick={retryTurnkeyBootstrap}\n >\n Retry\n </button>\n <button\n type=\"button\"\n className=\"flex-1 h-9 rounded border border-n1-ww-border text-white text-sm font-medium\"\n onClick={disconnectWallet}\n >\n Disconnect\n </button>\n </div>\n </div>\n );\n }\n\n return (\n <WaitingMessage\n loaderSize={52}\n message={{\n visible: true,\n title: 'Preparing Solana wallet…',\n subtitle: 'Provisioning a Nord-ready signer via Turnkey',\n isTyping: false,\n }}\n />\n );\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import { SolanaNetwork } from "../../../config/solana";
2
+ export declare const CHAINS_WITH_NETWORK_INFO: readonly [{
3
+ readonly id: "solana";
4
+ readonly name: "Solana";
5
+ readonly subtitle: "~1 minute deposit time";
6
+ readonly logo: import("react/jsx-runtime").JSX.Element;
7
+ readonly network: SolanaNetwork.MAINNET;
8
+ readonly soon: false;
9
+ }, {
10
+ readonly id: "hyperliquid";
11
+ readonly name: "Hyperliquid";
12
+ readonly subtitle: undefined;
13
+ readonly logo: import("react/jsx-runtime").JSX.Element;
14
+ readonly network: "";
15
+ readonly soon: true;
16
+ }, {
17
+ readonly id: "arbitrum";
18
+ readonly name: "Arbitrum";
19
+ readonly subtitle: undefined;
20
+ readonly logo: import("react/jsx-runtime").JSX.Element;
21
+ readonly network: "";
22
+ readonly soon: true;
23
+ }, {
24
+ readonly id: "ethereum";
25
+ readonly name: "Ethereum";
26
+ readonly subtitle: undefined;
27
+ readonly logo: import("react/jsx-runtime").JSX.Element;
28
+ readonly network: "";
29
+ readonly soon: true;
30
+ }];
31
+ export declare function ChainSelectionScreen(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,100 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useMemo, useState } from "react";
3
+ import { logger } from "../../../utils/logger";
4
+ import { ChainButton } from "../components/ChainButton";
5
+ import { useWalletConnection, useOnboardingState } from "../providers";
6
+ import { SolanaLogo, HyperliquidLogo, ArbitrumLogo, EthereumLogo, } from "../../../components/logos";
7
+ import { SolanaNetwork } from "../../../config/solana";
8
+ var sharedLogoWrapperStyle = { width: 16, height: 16 };
9
+ export var CHAINS_WITH_NETWORK_INFO = [
10
+ {
11
+ id: "solana",
12
+ name: "Solana",
13
+ subtitle: "~1 minute deposit time",
14
+ logo: (_jsx("div", { className: "flex items-center justify-center", style: sharedLogoWrapperStyle, children: _jsx(SolanaLogo, { width: 16, height: 16 }) })),
15
+ network: SolanaNetwork.MAINNET,
16
+ soon: false,
17
+ },
18
+ {
19
+ id: "hyperliquid",
20
+ name: "Hyperliquid",
21
+ subtitle: undefined,
22
+ logo: (_jsx("div", { className: "flex items-center justify-center", style: sharedLogoWrapperStyle, children: _jsx(HyperliquidLogo, { width: 16, height: 16 }) })),
23
+ network: "",
24
+ soon: true,
25
+ },
26
+ {
27
+ id: "arbitrum",
28
+ name: "Arbitrum",
29
+ subtitle: undefined,
30
+ logo: (_jsx("div", { className: "flex items-center justify-center", style: sharedLogoWrapperStyle, children: _jsx(ArbitrumLogo, { width: 16, height: 16 }) })),
31
+ network: "",
32
+ soon: true,
33
+ },
34
+ {
35
+ id: "ethereum",
36
+ name: "Ethereum",
37
+ subtitle: undefined,
38
+ logo: (_jsx("div", { className: "flex items-center justify-center", style: sharedLogoWrapperStyle, children: _jsx(EthereumLogo, { width: 16, height: 16 }) })),
39
+ network: "",
40
+ soon: true,
41
+ },
42
+ ];
43
+ export function ChainSelectionScreen() {
44
+ var disconnectWallet = useWalletConnection().disconnectWallet;
45
+ var _a = useOnboardingState(), actions = _a.actions, context = _a.context;
46
+ var initialSelectedChainId = useMemo(function () {
47
+ var _a;
48
+ if (context.selectedChainId) {
49
+ var chainFromId = CHAINS_WITH_NETWORK_INFO.find(function (chain) { return chain.id === context.selectedChainId; });
50
+ if (chainFromId) {
51
+ return chainFromId.id;
52
+ }
53
+ }
54
+ if (context.selectedChain) {
55
+ var normalizedContextValue_1 = context.selectedChain.toLowerCase();
56
+ var chainFromContext = CHAINS_WITH_NETWORK_INFO.find(function (chain) {
57
+ return chain.name.toLowerCase() === normalizedContextValue_1 ||
58
+ chain.id.toLowerCase() === normalizedContextValue_1;
59
+ });
60
+ if (chainFromContext) {
61
+ return chainFromContext.id;
62
+ }
63
+ }
64
+ return ((_a = CHAINS_WITH_NETWORK_INFO.find(function (c) { return !c.soon; })) === null || _a === void 0 ? void 0 : _a.id) || null;
65
+ }, [context.selectedChain, context.selectedChainId]);
66
+ var _b = useState(initialSelectedChainId), selectedChainId = _b[0], setSelectedChainId = _b[1];
67
+ var handleChainSelect = useCallback(function (chainId) {
68
+ logger.debug("Chain selected in ChainSelectionScreen:", chainId);
69
+ var chain = CHAINS_WITH_NETWORK_INFO.find(function (c) { return c.id === chainId; });
70
+ if (chain && !chain.soon) {
71
+ setSelectedChainId(chainId);
72
+ }
73
+ else {
74
+ logger.debug("Chain not selectable:", chainId);
75
+ }
76
+ }, [logger]);
77
+ var selectedChain = useMemo(function () { return CHAINS_WITH_NETWORK_INFO.find(function (chain) { return chain.id === selectedChainId; }); }, [selectedChainId]);
78
+ var handleContinue = useCallback(function () {
79
+ var _a;
80
+ if (!selectedChain || selectedChain.soon) {
81
+ logger.debug("Continue button clicked without selectable chain");
82
+ return;
83
+ }
84
+ actions.selectChain({
85
+ id: selectedChain.id,
86
+ name: selectedChain.name,
87
+ network: (_a = selectedChain.network) !== null && _a !== void 0 ? _a : null,
88
+ });
89
+ logger.debug("Transitioned to amount input from chain selection");
90
+ }, [selectedChain, actions]);
91
+ var handleDisconnect = useCallback(function () {
92
+ logger.debug("Disconnect button clicked");
93
+ disconnectWallet();
94
+ }, [disconnectWallet]);
95
+ var isContinueDisabled = !selectedChain || selectedChain.soon;
96
+ return (_jsx("div", { className: "overflow-visible relative", children: _jsxs("div", { className: "flex flex-col space-y-3", children: [CHAINS_WITH_NETWORK_INFO.map(function (chain) { return (_jsx(ChainButton, { chain: chain, onClick: function () { return handleChainSelect(chain.id); }, selected: selectedChainId === chain.id && !chain.soon, soon: chain.soon, subtitle: chain.subtitle }, chain.id)); }), _jsxs("div", { className: "flex flex-col space-y-2", children: [_jsx("button", { type: "button", onClick: handleContinue, disabled: isContinueDisabled, className: "w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center transition-all duration-200 transform ".concat(isContinueDisabled
97
+ ? "border-n1-ww-border opacity-50 cursor-not-allowed"
98
+ : "border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer"), children: _jsx("span", { className: "font-medium text-sm opacity-90 ".concat(isContinueDisabled ? "text-n1-ww-gray-500" : "text-n1-ww-main"), children: "Continue" }) }), _jsx("button", { type: "button", onClick: handleDisconnect, className: "w-full h-8 rounded border border-n1-ww-border bg-transparent flex font-medium items-center justify-center transition-all duration-200 transform hover:bg-n1-ww-gray-900 cursor-pointer", children: _jsx("span", { className: "text-white font-medium text-sm opacity-90", children: "Disconnect" }) })] })] }) }));
99
+ }
100
+ //# sourceMappingURL=04-ChainSelectionScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"04-ChainSelectionScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/04-ChainSelectionScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,IAAM,sBAAsB,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAEzD,MAAM,CAAC,IAAM,wBAAwB,GAAG;IACtC;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,wBAAwB;QAClC,IAAI,EAAE,CACJ,cAAK,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAE,sBAAsB,YAC7E,KAAC,UAAU,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACjC,CACP;QACD,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,IAAI,EAAE,KAAK;KACZ;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CACJ,cAAK,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAE,sBAAsB,YAC7E,KAAC,eAAe,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACtC,CACP;QACD,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,IAAI;KACX;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CACJ,cAAK,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAE,sBAAsB,YAC7E,KAAC,YAAY,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACnC,CACP;QACD,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,IAAI;KACX;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CACJ,cAAK,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAE,sBAAsB,YAC7E,KAAC,YAAY,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACnC,CACP;QACD,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,IAAI;KACX;CACO,CAAC;AAIX,MAAM,UAAU,oBAAoB;IAC1B,IAAA,gBAAgB,GAAK,mBAAmB,EAAE,iBAA1B,CAA2B;IAC7C,IAAA,KAAuB,kBAAkB,EAAE,EAAzC,OAAO,aAAA,EAAE,OAAO,aAAyB,CAAC;IAElD,IAAM,sBAAsB,GAAG,OAAO,CAAC;;QACrC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAC/C,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,eAAe,EAApC,CAAoC,CAChD,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAM,wBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACnE,IAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CACpD,UAAC,KAAK;gBACJ,OAAA,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,wBAAsB;oBACnD,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,wBAAsB;YADjD,CACiD,CACpD,CAAC;YACF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,gBAAgB,CAAC,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,CAAA,MAAA,wBAAwB,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,IAAI,EAAP,CAAO,CAAC,0CAAE,EAAE,KAAI,IAAI,CAAC;IACnE,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/C,IAAA,KAAwC,QAAQ,CACpD,sBAAsB,CACvB,EAFM,eAAe,QAAA,EAAE,kBAAkB,QAEzC,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CAAC,UAAC,OAAe;QACpD,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAEjE,IAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,OAAO,EAAhB,CAAgB,CAAC,CAAC;QAErE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,aAAa,GAAG,OAAO,CAC3B,cAAM,OAAA,wBAAwB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,KAAK,eAAe,EAA5B,CAA4B,CAAC,EAAtE,CAAsE,EAC5E,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,IAAM,cAAc,GAAG,WAAW,CAAC;;QACjC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,WAAW,CAAC;YAClB,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,OAAO,EAAE,MAAA,aAAa,CAAC,OAAO,mCAAI,IAAI;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7B,IAAM,gBAAgB,GAAG,WAAW,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,gBAAgB,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,IAAM,kBAAkB,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC;IAEhE,OAAO,CACL,cAAK,SAAS,EAAC,2BAA2B,YACxC,eAAK,SAAS,EAAC,yBAAyB,aACrC,wBAAwB,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CACvC,KAAC,WAAW,IAEV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,EAA3B,CAA2B,EAC1C,QAAQ,EAAE,eAAe,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IALnB,KAAK,CAAC,EAAE,CAMb,CACH,EATwC,CASxC,CAAC,EACF,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,sIACT,kBAAkB;gCAChB,CAAC,CAAC,mDAAmD;gCACrD,CAAC,CAAC,0DAA0D,CAC9D,YAEF,eACE,SAAS,EAAE,yCACT,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAC9D,yBAGG,GACA,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAC,wLAAwL,YAElM,eAAM,SAAS,EAAC,2CAA2C,2BAEpD,GACA,IACL,IACF,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { logger } from \"../../../utils/logger\";\nimport { ChainButton } from \"../components/ChainButton\";\nimport { useWalletConnection, useOnboardingState } from \"../providers\";\nimport { \n SolanaLogo,\n HyperliquidLogo,\n ArbitrumLogo,\n EthereumLogo,\n} from \"../../../components/logos\";\nimport { SolanaNetwork } from \"../../../config/solana\";\n\n\n\nconst sharedLogoWrapperStyle = { width: 16, height: 16 };\n\nexport const CHAINS_WITH_NETWORK_INFO = [\n {\n id: \"solana\",\n name: \"Solana\",\n subtitle: \"~1 minute deposit time\",\n logo: (\n <div className=\"flex items-center justify-center\" style={sharedLogoWrapperStyle}>\n <SolanaLogo width={16} height={16} />\n </div>\n ),\n network: SolanaNetwork.MAINNET,\n soon: false,\n },\n {\n id: \"hyperliquid\",\n name: \"Hyperliquid\",\n subtitle: undefined,\n logo: (\n <div className=\"flex items-center justify-center\" style={sharedLogoWrapperStyle}>\n <HyperliquidLogo width={16} height={16} />\n </div>\n ),\n network: \"\",\n soon: true,\n },\n {\n id: \"arbitrum\",\n name: \"Arbitrum\",\n subtitle: undefined,\n logo: (\n <div className=\"flex items-center justify-center\" style={sharedLogoWrapperStyle}>\n <ArbitrumLogo width={16} height={16} />\n </div>\n ),\n network: \"\",\n soon: true,\n },\n {\n id: \"ethereum\",\n name: \"Ethereum\",\n subtitle: undefined,\n logo: (\n <div className=\"flex items-center justify-center\" style={sharedLogoWrapperStyle}>\n <EthereumLogo width={16} height={16} />\n </div>\n ),\n network: \"\",\n soon: true,\n },\n] as const;\n\n\n\nexport function ChainSelectionScreen() {\n const { disconnectWallet } = useWalletConnection();\n const { actions, context } = useOnboardingState();\n\n const initialSelectedChainId = useMemo(() => {\n if (context.selectedChainId) {\n const chainFromId = CHAINS_WITH_NETWORK_INFO.find(\n (chain) => chain.id === context.selectedChainId\n );\n if (chainFromId) {\n return chainFromId.id;\n }\n }\n\n if (context.selectedChain) {\n const normalizedContextValue = context.selectedChain.toLowerCase();\n const chainFromContext = CHAINS_WITH_NETWORK_INFO.find(\n (chain) =>\n chain.name.toLowerCase() === normalizedContextValue ||\n chain.id.toLowerCase() === normalizedContextValue\n );\n if (chainFromContext) {\n return chainFromContext.id;\n }\n }\n\n return CHAINS_WITH_NETWORK_INFO.find((c) => !c.soon)?.id || null;\n }, [context.selectedChain, context.selectedChainId]);\n\n const [selectedChainId, setSelectedChainId] = useState<string | null>(\n initialSelectedChainId\n );\n\n const handleChainSelect = useCallback((chainId: string) => {\n logger.debug(\"Chain selected in ChainSelectionScreen:\", chainId);\n \n const chain = CHAINS_WITH_NETWORK_INFO.find((c) => c.id === chainId);\n \n if (chain && !chain.soon) {\n setSelectedChainId(chainId);\n } else {\n logger.debug(\"Chain not selectable:\", chainId);\n }\n }, [logger]);\n\n const selectedChain = useMemo(\n () => CHAINS_WITH_NETWORK_INFO.find((chain) => chain.id === selectedChainId),\n [selectedChainId]\n );\n\n const handleContinue = useCallback(() => {\n if (!selectedChain || selectedChain.soon) {\n logger.debug(\"Continue button clicked without selectable chain\");\n return;\n }\n\n actions.selectChain({\n id: selectedChain.id,\n name: selectedChain.name,\n network: selectedChain.network ?? null,\n });\n logger.debug(\"Transitioned to amount input from chain selection\");\n }, [selectedChain, actions]);\n\n const handleDisconnect = useCallback(() => {\n logger.debug(\"Disconnect button clicked\");\n disconnectWallet();\n }, [disconnectWallet]);\n\n const isContinueDisabled = !selectedChain || selectedChain.soon;\n\n return (\n <div className=\"overflow-visible relative\">\n <div className=\"flex flex-col space-y-3\">\n {CHAINS_WITH_NETWORK_INFO.map((chain) => (\n <ChainButton\n key={chain.id}\n chain={chain}\n onClick={() => handleChainSelect(chain.id)}\n selected={selectedChainId === chain.id && !chain.soon}\n soon={chain.soon}\n subtitle={chain.subtitle}\n />\n ))}\n <div className=\"flex flex-col space-y-2\">\n <button\n type=\"button\"\n onClick={handleContinue}\n disabled={isContinueDisabled}\n className={`w-full h-8 rounded border bg-transparent flex font-medium items-center justify-center transition-all duration-200 transform ${\n isContinueDisabled\n ? \"border-n1-ww-border opacity-50 cursor-not-allowed\"\n : \"border-n1-ww-main hover:bg-n1-ww-gray-900 cursor-pointer\"\n }`}\n >\n <span\n className={`font-medium text-sm opacity-90 ${\n isContinueDisabled ? \"text-n1-ww-gray-500\" : \"text-n1-ww-main\"\n }`}\n >\n Continue\n </span>\n </button>\n <button\n type=\"button\"\n onClick={handleDisconnect}\n className=\"w-full h-8 rounded border border-n1-ww-border bg-transparent flex font-medium items-center justify-center transition-all duration-200 transform hover:bg-n1-ww-gray-900 cursor-pointer\"\n >\n <span className=\"text-white font-medium text-sm opacity-90\">\n Disconnect\n </span>\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __assign = (this && this.__assign) || function () {
3
2
  __assign = Object.assign || function(t) {
4
3
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -10,13 +9,10 @@ var __assign = (this && this.__assign) || function () {
10
9
  };
11
10
  return __assign.apply(this, arguments);
12
11
  };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.DEPOSIT_PROGRESS_MESSAGE = void 0;
15
- exports.DepositProgressScreen = DepositProgressScreen;
16
- var jsx_runtime_1 = require("react/jsx-runtime");
17
- var WaitingMessage_1 = require("../components/WaitingMessage");
18
- var providers_1 = require("../providers");
19
- exports.DEPOSIT_PROGRESS_MESSAGE = {
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { WaitingMessage } from "../components/WaitingMessage";
14
+ import { useDepositFlow } from "../providers";
15
+ export var DEPOSIT_PROGRESS_MESSAGE = {
20
16
  visible: true,
21
17
  title: "Processing Deposit",
22
18
  subtitle: "Please wait while we process your deposit",
@@ -26,10 +22,10 @@ var SUBTITLES = {
26
22
  solana: 'Please sign the transaction in your wallet to continue',
27
23
  nord: 'Waiting for N1 to process the deposit...',
28
24
  };
29
- function DepositProgressScreen() {
25
+ export function DepositProgressScreen() {
30
26
  var _a;
31
- var depositProgressPhase = (0, providers_1.useDepositFlow)().depositProgressPhase;
32
- var message = __assign(__assign({}, exports.DEPOSIT_PROGRESS_MESSAGE), { subtitle: (_a = SUBTITLES[depositProgressPhase]) !== null && _a !== void 0 ? _a : SUBTITLES.solana });
33
- return ((0, jsx_runtime_1.jsx)("div", { className: "overflow-hidden relative", children: (0, jsx_runtime_1.jsx)(WaitingMessage_1.WaitingMessage, { message: message, animation: "transfer" }) }));
27
+ var depositProgressPhase = useDepositFlow().depositProgressPhase;
28
+ var message = __assign(__assign({}, DEPOSIT_PROGRESS_MESSAGE), { subtitle: (_a = SUBTITLES[depositProgressPhase]) !== null && _a !== void 0 ? _a : SUBTITLES.solana });
29
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsx(WaitingMessage, { message: message, animation: "transfer" }) }));
34
30
  }
35
31
  //# sourceMappingURL=04-DepositProgressScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"04-DepositProgressScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/04-DepositProgressScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,sDAYC;;AA7BD,+DAA8D;AAC9D,0CAA8C;AAIjC,QAAA,wBAAwB,GAAwB;IAC3D,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,IAAM,SAAS,GAAsC;IACnD,MAAM,EAAE,wDAAwD;IAChE,IAAI,EAAE,0CAA0C;CACjD,CAAC;AAEF,SAAgB,qBAAqB;;IAC3B,IAAA,oBAAoB,GAAK,IAAA,0BAAc,GAAE,qBAArB,CAAsB;IAClD,IAAM,OAAO,yBACR,gCAAwB,KAC3B,QAAQ,EAAE,MAAA,SAAS,CAAC,oBAAoB,CAAC,mCAAI,SAAS,CAAC,MAAM,GAC9D,CAAC;IAEF,OAAO,CACL,gCAAK,SAAS,EAAC,0BAA0B,YACvC,uBAAC,+BAAc,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,UAAU,GAAG,GACrD,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { WaitingMessage } from \"../components/WaitingMessage\";\nimport { useDepositFlow } from \"../providers\";\nimport { WaitingMessageState } from \"../types\";\n\n\nexport const DEPOSIT_PROGRESS_MESSAGE: WaitingMessageState = {\n visible: true,\n title: \"Processing Deposit\",\n subtitle: \"Please wait while we process your deposit\",\n isTyping: false,\n};\n\nconst SUBTITLES: Record<'solana' | 'nord', string> = {\n solana: 'Please sign the transaction in your wallet to continue',\n nord: 'Waiting for N1 to process the deposit...',\n};\n\nexport function DepositProgressScreen() {\n const { depositProgressPhase } = useDepositFlow();\n const message = {\n ...DEPOSIT_PROGRESS_MESSAGE,\n subtitle: SUBTITLES[depositProgressPhase] ?? SUBTITLES.solana,\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <WaitingMessage message={message} animation=\"transfer\" />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"04-DepositProgressScreen.js","sourceRoot":"","sources":["../../../../src/features/onboarding-flow/screens/04-DepositProgressScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,CAAC,IAAM,wBAAwB,GAAwB;IAC3D,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,IAAM,SAAS,GAAsC;IACnD,MAAM,EAAE,wDAAwD;IAChE,IAAI,EAAE,0CAA0C;CACjD,CAAC;AAEF,MAAM,UAAU,qBAAqB;;IAC3B,IAAA,oBAAoB,GAAK,cAAc,EAAE,qBAArB,CAAsB;IAClD,IAAM,OAAO,yBACR,wBAAwB,KAC3B,QAAQ,EAAE,MAAA,SAAS,CAAC,oBAAoB,CAAC,mCAAI,SAAS,CAAC,MAAM,GAC9D,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,0BAA0B,YACvC,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,UAAU,GAAG,GACrD,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { WaitingMessage } from \"../components/WaitingMessage\";\nimport { useDepositFlow } from \"../providers\";\nimport { WaitingMessageState } from \"../types\";\n\n\nexport const DEPOSIT_PROGRESS_MESSAGE: WaitingMessageState = {\n visible: true,\n title: \"Processing Deposit\",\n subtitle: \"Please wait while we process your deposit\",\n isTyping: false,\n};\n\nconst SUBTITLES: Record<'solana' | 'nord', string> = {\n solana: 'Please sign the transaction in your wallet to continue',\n nord: 'Waiting for N1 to process the deposit...',\n};\n\nexport function DepositProgressScreen() {\n const { depositProgressPhase } = useDepositFlow();\n const message = {\n ...DEPOSIT_PROGRESS_MESSAGE,\n subtitle: SUBTITLES[depositProgressPhase] ?? SUBTITLES.solana,\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <WaitingMessage message={message} animation=\"transfer\" />\n </div>\n );\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_MIN_DEPOSIT = 5;
2
+ export declare const BALANCE_REFRESH_MS = 20000;
3
+ interface AmountInputScreenProps {
4
+ }
5
+ export declare function AmountInputScreen({}: AmountInputScreenProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};