@oasisprotocol/privana-sdk 0.5.11 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk4RHSKIPZ_cjs = require('./chunk-4RHSKIPZ.cjs');
4
+ var chunkVNECVPMU_cjs = require('./chunk-VNECVPMU.cjs');
5
5
  var react = require('react');
6
6
  var reactQuery = require('@tanstack/react-query');
7
7
  var wagmi = require('wagmi');
@@ -35,18 +35,18 @@ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive)
35
35
 
36
36
  // src/sdk/hooks/use-privana-client.ts
37
37
  function usePrivanaClient() {
38
- const { client } = chunk4RHSKIPZ_cjs.usePrivanaContext();
38
+ const { client } = chunkVNECVPMU_cjs.usePrivanaContext();
39
39
  return client;
40
40
  }
41
41
  var hostedAuthExchangeInflight = /* @__PURE__ */ new Map();
42
42
  function normalizeHostedAuthError(error) {
43
- if (error instanceof chunk4RHSKIPZ_cjs.AccountingApiError && error.detail) {
44
- return new chunk4RHSKIPZ_cjs.HostedAuthError(error.detail);
43
+ if (error instanceof chunkVNECVPMU_cjs.AccountingApiError && error.detail) {
44
+ return new chunkVNECVPMU_cjs.HostedAuthError(error.detail);
45
45
  }
46
46
  if (error instanceof Error) {
47
47
  return error;
48
48
  }
49
- return new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted authentication failed.");
49
+ return new chunkVNECVPMU_cjs.HostedAuthError("Hosted authentication failed.");
50
50
  }
51
51
  function useHostedRedirectAuth() {
52
52
  const {
@@ -57,30 +57,30 @@ function useHostedRedirectAuth() {
57
57
  setHostedAuthSession,
58
58
  clearHostedAuthSession,
59
59
  refreshHostedAuthSession
60
- } = chunk4RHSKIPZ_cjs.usePrivanaContext();
60
+ } = chunkVNECVPMU_cjs.usePrivanaContext();
61
61
  const [error, setError] = react.useState(null);
62
62
  const [isLoading, setIsLoading] = react.useState(false);
63
63
  const loginInflight = react.useRef(null);
64
64
  const completionInflight = react.useRef(null);
65
65
  const pendingStorageKey = react.useMemo(
66
- () => hostedAuthConfig ? chunk4RHSKIPZ_cjs.createHostedAuthPendingStorageKey(client.getBaseUrl(), hostedAuthConfig) : null,
66
+ () => hostedAuthConfig ? chunkVNECVPMU_cjs.createHostedAuthPendingStorageKey(client.getBaseUrl(), hostedAuthConfig) : null,
67
67
  [client, hostedAuthConfig]
68
68
  );
69
69
  const clearPendingLogin = react.useCallback(() => {
70
70
  if (!pendingStorageKey || typeof window === "undefined") return;
71
- chunk4RHSKIPZ_cjs.clearHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
71
+ chunkVNECVPMU_cjs.clearHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
72
72
  }, [pendingStorageKey]);
73
73
  const login = react.useCallback(async () => {
74
74
  if (!hostedAuthConfig) {
75
- throw new chunk4RHSKIPZ_cjs.HostedAuthRequiredError(
75
+ throw new chunkVNECVPMU_cjs.HostedAuthRequiredError(
76
76
  "Hosted redirect authentication is not configured for this provider."
77
77
  );
78
78
  }
79
79
  if (typeof window === "undefined") {
80
- throw new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
80
+ throw new chunkVNECVPMU_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
81
81
  }
82
82
  if (!pendingStorageKey) {
83
- throw new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
83
+ throw new chunkVNECVPMU_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
84
84
  }
85
85
  if (loginInflight.current) {
86
86
  return loginInflight.current;
@@ -89,10 +89,10 @@ function useHostedRedirectAuth() {
89
89
  setIsLoading(true);
90
90
  setError(null);
91
91
  try {
92
- const verifier = chunk4RHSKIPZ_cjs.createPkceVerifier();
93
- const codeChallenge = await chunk4RHSKIPZ_cjs.createPkceChallenge(verifier);
94
- const state = chunk4RHSKIPZ_cjs.createHostedAuthState();
95
- chunk4RHSKIPZ_cjs.persistHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey, {
92
+ const verifier = chunkVNECVPMU_cjs.createPkceVerifier();
93
+ const codeChallenge = await chunkVNECVPMU_cjs.createPkceChallenge(verifier);
94
+ const state = chunkVNECVPMU_cjs.createHostedAuthState();
95
+ chunkVNECVPMU_cjs.persistHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey, {
96
96
  codeVerifier: verifier,
97
97
  state
98
98
  });
@@ -121,15 +121,15 @@ function useHostedRedirectAuth() {
121
121
  }, [clearPendingLogin, client, hostedAuthConfig, networkConfig.chainId, pendingStorageKey]);
122
122
  const completeLogin = react.useCallback(async () => {
123
123
  if (!hostedAuthConfig) {
124
- throw new chunk4RHSKIPZ_cjs.HostedAuthRequiredError(
124
+ throw new chunkVNECVPMU_cjs.HostedAuthRequiredError(
125
125
  "Hosted redirect authentication is not configured for this provider."
126
126
  );
127
127
  }
128
128
  if (typeof window === "undefined") {
129
- throw new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
129
+ throw new chunkVNECVPMU_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
130
130
  }
131
131
  if (!pendingStorageKey) {
132
- throw new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
132
+ throw new chunkVNECVPMU_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
133
133
  }
134
134
  if (completionInflight.current) {
135
135
  return completionInflight.current;
@@ -139,30 +139,30 @@ function useHostedRedirectAuth() {
139
139
  setError(null);
140
140
  const callbackUrl = new URL(window.location.href);
141
141
  const cleanupCallbackUrl = () => {
142
- window.history.replaceState(null, "", chunk4RHSKIPZ_cjs.stripHostedAuthCallbackParams(callbackUrl));
142
+ window.history.replaceState(null, "", chunkVNECVPMU_cjs.stripHostedAuthCallbackParams(callbackUrl));
143
143
  };
144
144
  try {
145
- const callback = chunk4RHSKIPZ_cjs.parseHostedAuthCallback(callbackUrl, hostedAuthConfig.redirectUri);
145
+ const callback = chunkVNECVPMU_cjs.parseHostedAuthCallback(callbackUrl, hostedAuthConfig.redirectUri);
146
146
  if (!callback) {
147
147
  return null;
148
148
  }
149
- const pending = chunk4RHSKIPZ_cjs.readHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
149
+ const pending = chunkVNECVPMU_cjs.readHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
150
150
  if (!pending) {
151
151
  clearPendingLogin();
152
152
  cleanupCallbackUrl();
153
- throw new chunk4RHSKIPZ_cjs.HostedAuthError(
153
+ throw new chunkVNECVPMU_cjs.HostedAuthError(
154
154
  "Hosted authentication response could not be matched to a pending login request."
155
155
  );
156
156
  }
157
157
  if (!callback.state || callback.state !== pending.state) {
158
158
  clearPendingLogin();
159
159
  cleanupCallbackUrl();
160
- throw new chunk4RHSKIPZ_cjs.HostedAuthStateMismatchError();
160
+ throw new chunkVNECVPMU_cjs.HostedAuthStateMismatchError();
161
161
  }
162
162
  if ("error" in callback) {
163
163
  clearPendingLogin();
164
164
  cleanupCallbackUrl();
165
- throw new chunk4RHSKIPZ_cjs.HostedAuthError(
165
+ throw new chunkVNECVPMU_cjs.HostedAuthError(
166
166
  callback.errorDescription || callback.error || "Hosted authentication failed."
167
167
  );
168
168
  }
@@ -177,7 +177,7 @@ function useHostedRedirectAuth() {
177
177
  client_id: hostedAuthConfig.clientId,
178
178
  redirect_uri: hostedAuthConfig.redirectUri
179
179
  });
180
- const session = chunk4RHSKIPZ_cjs.buildHostedAuthSession(response, hostedAuthConfig);
180
+ const session = chunkVNECVPMU_cjs.buildHostedAuthSession(response, hostedAuthConfig);
181
181
  setHostedAuthSession(session);
182
182
  clearPendingLogin();
183
183
  cleanupCallbackUrl();
@@ -222,7 +222,7 @@ function useHostedRedirectAuth() {
222
222
  try {
223
223
  return await refreshHostedAuthSession();
224
224
  } catch (refreshError) {
225
- const normalizedError = refreshError instanceof Error ? refreshError : new chunk4RHSKIPZ_cjs.HostedAuthError("Hosted authentication refresh failed.");
225
+ const normalizedError = refreshError instanceof Error ? refreshError : new chunkVNECVPMU_cjs.HostedAuthError("Hosted authentication refresh failed.");
226
226
  setError(normalizedError);
227
227
  throw normalizedError;
228
228
  } finally {
@@ -242,12 +242,12 @@ function useHostedRedirectAuth() {
242
242
  }
243
243
  function useBalance(options = {}) {
244
244
  const queryClient = react.useContext(reactQuery.QueryClientContext);
245
- const accountingContext = chunk4RHSKIPZ_cjs.useSafePrivanaContext();
245
+ const accountingContext = chunkVNECVPMU_cjs.useSafePrivanaContext();
246
246
  const hasProviders = !!queryClient && !!accountingContext;
247
247
  const client = accountingContext?.client;
248
248
  const defaultToken = accountingContext?.defaultToken;
249
249
  const pollingInterval = accountingContext?.pollingInterval ?? 1e4;
250
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
250
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
251
251
  const tokenId = options.tokenId ?? defaultToken?.id;
252
252
  const query = reactQuery.useQuery({
253
253
  queryKey: ["accounting-balance", ...privateReadQueryScope, tokenId],
@@ -264,7 +264,7 @@ function useBalance(options = {}) {
264
264
  return {
265
265
  balance: balanceWei,
266
266
  balanceWei,
267
- balanceFormatted: chunk4RHSKIPZ_cjs.formatTokenAmount(balanceWei),
267
+ balanceFormatted: chunkVNECVPMU_cjs.formatTokenAmount(balanceWei),
268
268
  tokenSymbol: query.data?.token_symbol ?? "",
269
269
  chainId: query.data?.chain_id ?? "",
270
270
  isLoading: query.isPending || query.isLoading,
@@ -274,8 +274,8 @@ function useBalance(options = {}) {
274
274
  };
275
275
  }
276
276
  function useBatchBalances(options) {
277
- const { client, pollingInterval } = chunk4RHSKIPZ_cjs.usePrivanaContext();
278
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
277
+ const { client, pollingInterval } = chunkVNECVPMU_cjs.usePrivanaContext();
278
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
279
279
  const query = reactQuery.useQuery({
280
280
  queryKey: ["accounting-batch-balances", ...privateReadQueryScope, options.tokenIds],
281
281
  queryFn: async () => {
@@ -321,17 +321,17 @@ function storageKey(address) {
321
321
  return `privana:pending-deposit:${address.toLowerCase()}`;
322
322
  }
323
323
  function savePendingDeposit(address, data) {
324
- const stored = chunk4RHSKIPZ_cjs.setBrowserStorageItem(storageKey(address), JSON.stringify(data));
324
+ const stored = chunkVNECVPMU_cjs.setBrowserStorageItem(storageKey(address), JSON.stringify(data));
325
325
  if (!stored && data.signedLock) {
326
326
  throw new Error("Unable to persist pending locked deposit for recovery");
327
327
  }
328
328
  }
329
329
  function loadPendingDeposit(address) {
330
330
  try {
331
- const raw = chunk4RHSKIPZ_cjs.getBrowserStorageItem(storageKey(address));
331
+ const raw = chunkVNECVPMU_cjs.getBrowserStorageItem(storageKey(address));
332
332
  if (!raw) return null;
333
333
  const data = JSON.parse(raw);
334
- if (Date.now() - data.savedAt > STALE_MS && !(data.signedLock && chunk4RHSKIPZ_cjs.isSignedLockUsable(data.signedLock))) {
334
+ if (Date.now() - data.savedAt > STALE_MS && !(data.signedLock && chunkVNECVPMU_cjs.isSignedLockUsable(data.signedLock))) {
335
335
  clearPendingDeposit(address);
336
336
  return null;
337
337
  }
@@ -343,21 +343,21 @@ function loadPendingDeposit(address) {
343
343
  function clearPendingDeposit(address, onlyForTxHash) {
344
344
  if (onlyForTxHash) {
345
345
  try {
346
- const raw = chunk4RHSKIPZ_cjs.getBrowserStorageItem(storageKey(address));
346
+ const raw = chunkVNECVPMU_cjs.getBrowserStorageItem(storageKey(address));
347
347
  const recordTxHash = raw ? JSON.parse(raw).txHash : void 0;
348
348
  if (recordTxHash && recordTxHash !== onlyForTxHash) return;
349
349
  } catch {
350
350
  }
351
351
  }
352
- chunk4RHSKIPZ_cjs.removeBrowserStorageItem(storageKey(address));
352
+ chunkVNECVPMU_cjs.removeBrowserStorageItem(storageKey(address));
353
353
  }
354
354
  function useDeposit(options = {}) {
355
355
  const { address } = wagmi.useAccount();
356
- const { client, enabledTokens, getChainById: getChainById2, networkConfig, serviceAddress } = chunk4RHSKIPZ_cjs.usePrivanaContext();
356
+ const { client, enabledTokens, getChainById: getChainById2, networkConfig, serviceAddress } = chunkVNECVPMU_cjs.usePrivanaContext();
357
357
  const { data: walletClient } = wagmi.useWalletClient();
358
358
  const queryClient = reactQuery.useQueryClient();
359
359
  const config = wagmi.useConfig();
360
- const { executePrivateRead, privateReadAddress } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
360
+ const { executePrivateRead, privateReadAddress } = chunkVNECVPMU_cjs.usePrivateReadRequest();
361
361
  const privateReadAddressRef = react.useRef(privateReadAddress);
362
362
  privateReadAddressRef.current = privateReadAddress;
363
363
  const [depositAddress, setDepositAddress] = react.useState(null);
@@ -396,7 +396,7 @@ function useDeposit(options = {}) {
396
396
  const submitPendingLockAfterCredit = react.useCallback(
397
397
  async (signedLock, creditedAmount) => {
398
398
  try {
399
- const result = await chunk4RHSKIPZ_cjs.submitPendingLock({
399
+ const result = await chunkVNECVPMU_cjs.submitPendingLock({
400
400
  client,
401
401
  payload: signedLock,
402
402
  creditedAmount
@@ -407,7 +407,7 @@ function useDeposit(options = {}) {
407
407
  queryClient.invalidateQueries({ queryKey: ["accounting-history"] });
408
408
  onLockSubmittedRef.current?.(result);
409
409
  } catch (err) {
410
- const error2 = err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError ? err : new chunk4RHSKIPZ_cjs.PostDepositLockError(
410
+ const error2 = err instanceof chunkVNECVPMU_cjs.PostDepositLockError ? err : new chunkVNECVPMU_cjs.PostDepositLockError(
411
411
  err instanceof Error ? err.message : "Lock submission failed",
412
412
  "submission-failed",
413
413
  BigInt(signedLock.amount),
@@ -426,7 +426,7 @@ function useDeposit(options = {}) {
426
426
  error: verificationError,
427
427
  verify,
428
428
  reset: resetVerification
429
- } = chunk4RHSKIPZ_cjs.useDepositVerification({
429
+ } = chunkVNECVPMU_cjs.useDepositVerification({
430
430
  pollInterval: options.pollInterval,
431
431
  pollTimeout: options.pollTimeout,
432
432
  onCredited: (hash, response, creditedAmount) => {
@@ -476,7 +476,7 @@ function useDeposit(options = {}) {
476
476
  } = wagmi.useSendTransaction();
477
477
  const isSendingTx = isWritingContract || isSendingNative;
478
478
  const sendError = writeError ?? sendNativeError;
479
- const { ensureCorrectChain } = chunk4RHSKIPZ_cjs.useEnsureCorrectChain();
479
+ const { ensureCorrectChain } = chunkVNECVPMU_cjs.useEnsureCorrectChain();
480
480
  const invalidateGeneration = react.useCallback(() => {
481
481
  generationRef.current++;
482
482
  }, []);
@@ -525,16 +525,16 @@ function useDeposit(options = {}) {
525
525
  const confirmations = resolveConfirmations(persisted.depositAddress, persisted.chainId);
526
526
  let confirmed = false;
527
527
  try {
528
- const receipt = await chunk4RHSKIPZ_cjs.getTransactionReceipt(config, {
528
+ const receipt = await chunkVNECVPMU_cjs.getTransactionReceipt(config, {
529
529
  hash,
530
530
  chainId: persisted.chainId
531
531
  });
532
- const blockNumber = await chunk4RHSKIPZ_cjs.getBlockNumber(config, { chainId: persisted.chainId });
532
+ const blockNumber = await chunkVNECVPMU_cjs.getBlockNumber(config, { chainId: persisted.chainId });
533
533
  confirmed = blockNumber - receipt.blockNumber + 1n >= BigInt(confirmations);
534
534
  } catch {
535
535
  }
536
536
  if (!confirmed) {
537
- await chunk4RHSKIPZ_cjs.waitForTransactionReceipt(config, {
537
+ await chunkVNECVPMU_cjs.waitForTransactionReceipt(config, {
538
538
  hash,
539
539
  chainId: persisted.chainId,
540
540
  confirmations
@@ -589,13 +589,13 @@ function useDeposit(options = {}) {
589
589
  );
590
590
  }
591
591
  const confirmations = resolveConfirmations(addrResponse, sourceChain.id);
592
- if (params.postDepositLock && !chunk4RHSKIPZ_cjs.canUseBrowserStorage()) {
592
+ if (params.postDepositLock && !chunkVNECVPMU_cjs.canUseBrowserStorage()) {
593
593
  throw new Error("Browser storage is required for locked deposit recovery");
594
594
  }
595
- const lockAmount = chunk4RHSKIPZ_cjs.clampLockAmount(params.amount, params.postDepositLock?.maxAmount);
595
+ const lockAmount = chunkVNECVPMU_cjs.clampLockAmount(params.amount, params.postDepositLock?.maxAmount);
596
596
  let signedLock;
597
597
  if (params.postDepositLock) {
598
- const lockOwner = chunk4RHSKIPZ_cjs.requireDepositLockOwner(address, privateReadAddress);
598
+ const lockOwner = chunkVNECVPMU_cjs.requireDepositLockOwner(address, privateReadAddress);
599
599
  setIsSwitchingChain(true);
600
600
  try {
601
601
  await ensureCorrectChain(networkConfig.chainId);
@@ -603,15 +603,15 @@ function useDeposit(options = {}) {
603
603
  if (!isStale()) setIsSwitchingChain(false);
604
604
  }
605
605
  if (isStale()) return;
606
- const signingWalletClient = await chunk4RHSKIPZ_cjs.getWalletClient(config, {
606
+ const signingWalletClient = await chunkVNECVPMU_cjs.getWalletClient(config, {
607
607
  chainId: networkConfig.chainId
608
608
  });
609
- signedLock = await chunk4RHSKIPZ_cjs.createSignedLockRequest({
609
+ signedLock = await chunkVNECVPMU_cjs.createSignedLockRequest({
610
610
  client,
611
611
  walletClient: signingWalletClient,
612
612
  userAddress: lockOwner,
613
613
  networkConfig,
614
- serviceAddress: chunk4RHSKIPZ_cjs.requireServiceAddress(
614
+ serviceAddress: chunkVNECVPMU_cjs.requireServiceAddress(
615
615
  params.postDepositLock.serviceAddress ?? serviceAddress
616
616
  ),
617
617
  tokenId: params.tokenId,
@@ -665,7 +665,7 @@ function useDeposit(options = {}) {
665
665
  try {
666
666
  setIsWaitingForConfirmation(true);
667
667
  try {
668
- await chunk4RHSKIPZ_cjs.waitForTransactionReceipt(config, {
668
+ await chunkVNECVPMU_cjs.waitForTransactionReceipt(config, {
669
669
  hash,
670
670
  chainId: sourceChain.id,
671
671
  confirmations
@@ -741,10 +741,10 @@ function useDeposit(options = {}) {
741
741
  }
742
742
  function useDepositAddress(options = {}) {
743
743
  const queryClient = react.useContext(reactQuery.QueryClientContext);
744
- const accountingContext = chunk4RHSKIPZ_cjs.useSafePrivanaContext();
744
+ const accountingContext = chunkVNECVPMU_cjs.useSafePrivanaContext();
745
745
  const hasProviders = !!queryClient && !!accountingContext;
746
746
  const client = accountingContext?.client;
747
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
747
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
748
748
  const isReady = hasProviders && privateReadReady && !!privateReadAddress && !!client;
749
749
  const query = reactQuery.useQuery({
750
750
  queryKey: ["accounting-deposit-address", ...privateReadQueryScope],
@@ -768,9 +768,9 @@ function useDepositAddress(options = {}) {
768
768
  function useWithdraw(options = {}) {
769
769
  const { address } = wagmi.useAccount();
770
770
  const { data: walletClient } = wagmi.useWalletClient();
771
- const { client, networkConfig } = chunk4RHSKIPZ_cjs.usePrivanaContext();
771
+ const { client, networkConfig } = chunkVNECVPMU_cjs.usePrivanaContext();
772
772
  const queryClient = reactQuery.useQueryClient();
773
- const { chainId, ensureCorrectChain } = chunk4RHSKIPZ_cjs.useEnsureCorrectChain();
773
+ const { chainId, ensureCorrectChain } = chunkVNECVPMU_cjs.useEnsureCorrectChain();
774
774
  const pollInterval = options.pollInterval ?? 3e3;
775
775
  const pollTimeout = options.pollTimeout ?? 18e4;
776
776
  const [currentStep, setCurrentStep] = react.useState("idle");
@@ -839,7 +839,7 @@ function useWithdraw(options = {}) {
839
839
  if (isStale()) return void 0;
840
840
  const nonce = BigInt(nonceResponse.nonce);
841
841
  setCurrentStep("signing");
842
- const signature = await chunk4RHSKIPZ_cjs.signWithdrawMessage({
842
+ const signature = await chunkVNECVPMU_cjs.signWithdrawMessage({
843
843
  walletClient,
844
844
  chainId: signingChainId,
845
845
  verifyingContract: networkConfig.accountingContract,
@@ -968,7 +968,7 @@ function useWithdraw(options = {}) {
968
968
  function useLockFunds(options = {}) {
969
969
  const { address } = wagmi.useAccount();
970
970
  const { data: walletClient } = wagmi.useWalletClient();
971
- const { client, networkConfig, serviceAddress } = chunk4RHSKIPZ_cjs.usePrivanaContext();
971
+ const { client, networkConfig, serviceAddress } = chunkVNECVPMU_cjs.usePrivanaContext();
972
972
  const queryClient = reactQuery.useQueryClient();
973
973
  const mutation = reactQuery.useMutation({
974
974
  mutationFn: async (params) => {
@@ -979,7 +979,7 @@ function useLockFunds(options = {}) {
979
979
  throw new Error("Service address not configured");
980
980
  }
981
981
  const { nonce } = await client.getLockNonce(address);
982
- const signature = await chunk4RHSKIPZ_cjs.signLockMessage({
982
+ const signature = await chunkVNECVPMU_cjs.signLockMessage({
983
983
  walletClient,
984
984
  chainId: networkConfig.chainId,
985
985
  verifyingContract: networkConfig.accountingContract,
@@ -1027,7 +1027,7 @@ function useLockFunds(options = {}) {
1027
1027
  }
1028
1028
  function useUnlockFunds(options = {}) {
1029
1029
  const { address } = wagmi.useAccount();
1030
- const { client } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1030
+ const { client } = chunkVNECVPMU_cjs.usePrivanaContext();
1031
1031
  const queryClient = reactQuery.useQueryClient();
1032
1032
  const unlockMutation = reactQuery.useMutation({
1033
1033
  mutationFn: async (params) => {
@@ -1097,7 +1097,7 @@ function useUnlockFunds(options = {}) {
1097
1097
  function useTransfer(options = {}) {
1098
1098
  const { address } = wagmi.useAccount();
1099
1099
  const { data: walletClient } = wagmi.useWalletClient();
1100
- const { client, networkConfig, serviceAddress } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1100
+ const { client, networkConfig, serviceAddress } = chunkVNECVPMU_cjs.usePrivanaContext();
1101
1101
  const queryClient = reactQuery.useQueryClient();
1102
1102
  const transferMutation = reactQuery.useMutation({
1103
1103
  mutationFn: async (params) => {
@@ -1105,7 +1105,7 @@ function useTransfer(options = {}) {
1105
1105
  throw new Error("Wallet not connected");
1106
1106
  }
1107
1107
  const { nonce } = await client.getTransferNonce(address);
1108
- const signature = await chunk4RHSKIPZ_cjs.signTransferMessage({
1108
+ const signature = await chunkVNECVPMU_cjs.signTransferMessage({
1109
1109
  walletClient,
1110
1110
  chainId: networkConfig.chainId,
1111
1111
  verifyingContract: networkConfig.accountingContract,
@@ -1142,7 +1142,7 @@ function useTransfer(options = {}) {
1142
1142
  throw new Error("Service address not configured");
1143
1143
  }
1144
1144
  const { nonce } = await client.getTransferLockedNonce(serviceAddress);
1145
- const signature = await chunk4RHSKIPZ_cjs.signTransferLockedMessage({
1145
+ const signature = await chunkVNECVPMU_cjs.signTransferLockedMessage({
1146
1146
  walletClient,
1147
1147
  chainId: networkConfig.chainId,
1148
1148
  verifyingContract: networkConfig.accountingContract,
@@ -1202,8 +1202,8 @@ function useTransfer(options = {}) {
1202
1202
  };
1203
1203
  }
1204
1204
  function useLockedFunds(options = {}) {
1205
- const { client, pollingInterval, serviceAddress } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1206
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1205
+ const { client, pollingInterval, serviceAddress } = chunkVNECVPMU_cjs.usePrivanaContext();
1206
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1207
1207
  const query = reactQuery.useQuery({
1208
1208
  queryKey: ["accounting-locked-funds", ...privateReadQueryScope, serviceAddress ?? null],
1209
1209
  queryFn: async () => {
@@ -1225,8 +1225,8 @@ function useLockedFunds(options = {}) {
1225
1225
  };
1226
1226
  }
1227
1227
  function useTotalLockedBalance(options = {}) {
1228
- const { client, pollingInterval, defaultToken } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1229
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1228
+ const { client, pollingInterval, defaultToken } = chunkVNECVPMU_cjs.usePrivanaContext();
1229
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1230
1230
  const tokenId = options.tokenId ?? defaultToken?.id;
1231
1231
  const query = reactQuery.useQuery({
1232
1232
  queryKey: ["accounting-total-locked-balance", ...privateReadQueryScope, tokenId],
@@ -1247,8 +1247,8 @@ function useTotalLockedBalance(options = {}) {
1247
1247
  };
1248
1248
  }
1249
1249
  function useExpiredLocks(options = {}) {
1250
- const { client, pollingInterval } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1251
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1250
+ const { client, pollingInterval } = chunkVNECVPMU_cjs.usePrivanaContext();
1251
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1252
1252
  const query = reactQuery.useQuery({
1253
1253
  queryKey: ["accounting-expired-locks", ...privateReadQueryScope],
1254
1254
  queryFn: async () => {
@@ -1269,14 +1269,14 @@ function useExpiredLocks(options = {}) {
1269
1269
  };
1270
1270
  }
1271
1271
  function statusCodeOf(error) {
1272
- return error instanceof chunk4RHSKIPZ_cjs.AccountingApiError ? error.statusCode : void 0;
1272
+ return error instanceof chunkVNECVPMU_cjs.AccountingApiError ? error.statusCode : void 0;
1273
1273
  }
1274
1274
  function usePendingDeposits(options = {}) {
1275
1275
  const queryClient = react.useContext(reactQuery.QueryClientContext);
1276
- const accountingContext = chunk4RHSKIPZ_cjs.useSafePrivanaContext();
1276
+ const accountingContext = chunkVNECVPMU_cjs.useSafePrivanaContext();
1277
1277
  const hasProviders = !!queryClient && !!accountingContext;
1278
1278
  const client = accountingContext?.client;
1279
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1279
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1280
1280
  const { chainId, tokenAddress, lookbackBlocks } = options;
1281
1281
  const query = reactQuery.useQuery({
1282
1282
  queryKey: ["accounting-pending-deposits", ...privateReadQueryScope, chainId, tokenAddress],
@@ -1323,7 +1323,7 @@ function usePendingDeposits(options = {}) {
1323
1323
  }
1324
1324
  function usePendingWithdrawals(options = {}) {
1325
1325
  const { address, isConnected } = wagmi.useAccount();
1326
- const { client, pollingInterval } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1326
+ const { client, pollingInterval } = chunkVNECVPMU_cjs.usePrivanaContext();
1327
1327
  const query = reactQuery.useQuery({
1328
1328
  queryKey: ["accounting-pending-withdrawals", address],
1329
1329
  queryFn: async () => {
@@ -1359,8 +1359,8 @@ function usePendingWithdrawals(options = {}) {
1359
1359
  };
1360
1360
  }
1361
1361
  function useHistory(options = {}) {
1362
- const { client, pollingInterval } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1363
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1362
+ const { client, pollingInterval } = chunkVNECVPMU_cjs.usePrivanaContext();
1363
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1364
1364
  const offset = options.offset ?? -1;
1365
1365
  const limit = options.limit ?? 50;
1366
1366
  const query = reactQuery.useQuery({
@@ -1384,7 +1384,7 @@ function useHistory(options = {}) {
1384
1384
  };
1385
1385
  }
1386
1386
  function useTokenInfo(options = {}) {
1387
- const { client } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1387
+ const { client } = chunkVNECVPMU_cjs.usePrivanaContext();
1388
1388
  const { tokenId } = options;
1389
1389
  const query = reactQuery.useQuery({
1390
1390
  queryKey: ["accounting-token-info", tokenId],
@@ -1404,7 +1404,7 @@ function useTokenInfo(options = {}) {
1404
1404
  };
1405
1405
  }
1406
1406
  function useTokenList(options = {}) {
1407
- const { client } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1407
+ const { client } = chunkVNECVPMU_cjs.usePrivanaContext();
1408
1408
  const query = reactQuery.useQuery({
1409
1409
  queryKey: ["accounting-token-list"],
1410
1410
  queryFn: () => client.listTokens(),
@@ -1422,7 +1422,7 @@ function useTokenList(options = {}) {
1422
1422
  function useModifyLock(options = {}) {
1423
1423
  const { address } = wagmi.useAccount();
1424
1424
  const { data: walletClient } = wagmi.useWalletClient();
1425
- const { client, networkConfig } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1425
+ const { client, networkConfig } = chunkVNECVPMU_cjs.usePrivanaContext();
1426
1426
  const queryClient = reactQuery.useQueryClient();
1427
1427
  const mutation = reactQuery.useMutation({
1428
1428
  mutationFn: async (params) => {
@@ -1430,7 +1430,7 @@ function useModifyLock(options = {}) {
1430
1430
  throw new Error("Wallet not connected");
1431
1431
  }
1432
1432
  const { nonce } = await client.getModifyLockNonce(address);
1433
- const signature = await chunk4RHSKIPZ_cjs.signModifyLockMessage({
1433
+ const signature = await chunkVNECVPMU_cjs.signModifyLockMessage({
1434
1434
  walletClient,
1435
1435
  chainId: networkConfig.chainId,
1436
1436
  verifyingContract: networkConfig.accountingContract,
@@ -1489,7 +1489,7 @@ function DialogOverlay({
1489
1489
  {
1490
1490
  "data-slot": "dialog-overlay",
1491
1491
  "data-privana": true,
1492
- className: chunk4RHSKIPZ_cjs.cn(
1492
+ className: chunkVNECVPMU_cjs.cn(
1493
1493
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
1494
1494
  className
1495
1495
  ),
@@ -1511,7 +1511,7 @@ function DialogContent({
1511
1511
  {
1512
1512
  "data-slot": "dialog-content",
1513
1513
  "data-privana": true,
1514
- className: chunk4RHSKIPZ_cjs.cn(
1514
+ className: chunkVNECVPMU_cjs.cn(
1515
1515
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
1516
1516
  className
1517
1517
  ),
@@ -1539,7 +1539,7 @@ function DialogTitle({ className, ...props }) {
1539
1539
  DialogPrimitive__namespace.Title,
1540
1540
  {
1541
1541
  "data-slot": "dialog-title",
1542
- className: chunk4RHSKIPZ_cjs.cn("text-lg leading-none font-semibold", className),
1542
+ className: chunkVNECVPMU_cjs.cn("text-lg leading-none font-semibold", className),
1543
1543
  ...props
1544
1544
  }
1545
1545
  );
@@ -1552,7 +1552,7 @@ function DialogDescription({
1552
1552
  DialogPrimitive__namespace.Description,
1553
1553
  {
1554
1554
  "data-slot": "dialog-description",
1555
- className: chunk4RHSKIPZ_cjs.cn("text-muted-foreground text-sm", className),
1555
+ className: chunkVNECVPMU_cjs.cn("text-muted-foreground text-sm", className),
1556
1556
  ...props
1557
1557
  }
1558
1558
  );
@@ -1584,7 +1584,7 @@ function sessionKey(owner, sessionId) {
1584
1584
  return `${SESSION_PREFIX}${owner.toLowerCase()}:${sessionId}`;
1585
1585
  }
1586
1586
  function activeSessionId(owner) {
1587
- const value = chunk4RHSKIPZ_cjs.getSharedBrowserStorageItem(activeSessionKey(owner));
1587
+ const value = chunkVNECVPMU_cjs.getSharedBrowserStorageItem(activeSessionKey(owner));
1588
1588
  return value || void 0;
1589
1589
  }
1590
1590
  function isPositiveIntegerString(value) {
@@ -1616,7 +1616,7 @@ function isSessionRecord(value) {
1616
1616
  }
1617
1617
  function writeSessionRecord(session) {
1618
1618
  const id = externalDepositSessionId(session.chainId, session.tokenId);
1619
- return chunk4RHSKIPZ_cjs.setSharedBrowserStorageItem(sessionKey(session.owner, id), JSON.stringify(session));
1619
+ return chunkVNECVPMU_cjs.setSharedBrowserStorageItem(sessionKey(session.owner, id), JSON.stringify(session));
1620
1620
  }
1621
1621
  function saveExternalDepositLockSession(session, expectedSession = null) {
1622
1622
  if (!isSessionRecord(session)) throw new Error("Invalid external deposit lock session");
@@ -1630,12 +1630,12 @@ function saveExternalDepositLockSession(session, expectedSession = null) {
1630
1630
  throw new Error("Unable to persist external deposit lock session");
1631
1631
  }
1632
1632
  if (previousId !== nextId) {
1633
- if (!chunk4RHSKIPZ_cjs.setSharedBrowserStorageItem(activeSessionKey(session.owner), nextId)) {
1634
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, nextId));
1633
+ if (!chunkVNECVPMU_cjs.setSharedBrowserStorageItem(activeSessionKey(session.owner), nextId)) {
1634
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, nextId));
1635
1635
  throw new Error("Unable to persist external deposit lock session");
1636
1636
  }
1637
1637
  if (previousId) {
1638
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, previousId));
1638
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, previousId));
1639
1639
  }
1640
1640
  }
1641
1641
  }
@@ -1644,17 +1644,17 @@ function loadExternalDepositLockSession(owner) {
1644
1644
  if (!id) return void 0;
1645
1645
  const key = sessionKey(owner, id);
1646
1646
  try {
1647
- const raw = chunk4RHSKIPZ_cjs.getSharedBrowserStorageItem(key);
1647
+ const raw = chunkVNECVPMU_cjs.getSharedBrowserStorageItem(key);
1648
1648
  const parsed = raw ? JSON.parse(raw) : void 0;
1649
1649
  if (!isSessionRecord(parsed) || parsed.owner.toLowerCase() !== owner.toLowerCase() || externalDepositSessionId(parsed.chainId, parsed.tokenId) !== id) {
1650
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(key);
1651
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1650
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(key);
1651
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1652
1652
  return void 0;
1653
1653
  }
1654
1654
  return parsed;
1655
1655
  } catch {
1656
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(key);
1657
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1656
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(key);
1657
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1658
1658
  return void 0;
1659
1659
  }
1660
1660
  }
@@ -1685,8 +1685,8 @@ function clearExternalDepositLockSession(owner, expectedSessionId, expectedGener
1685
1685
  const current = loadExternalDepositLockSession(owner);
1686
1686
  if (!current || current.generation !== expectedGeneration) return;
1687
1687
  }
1688
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(sessionKey(owner, id));
1689
- chunk4RHSKIPZ_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1688
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(sessionKey(owner, id));
1689
+ chunkVNECVPMU_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1690
1690
  }
1691
1691
  function isSameVerification(left, right) {
1692
1692
  if (!left || !right) return left === right;
@@ -1739,7 +1739,7 @@ function markSubmissionAmbiguous(session, signature) {
1739
1739
  return writeSessionRecord({ ...current, submissionAmbiguous: true });
1740
1740
  }
1741
1741
  function ambiguousSubmissionError(error) {
1742
- return new chunk4RHSKIPZ_cjs.PostDepositLockError(
1742
+ return new chunkVNECVPMU_cjs.PostDepositLockError(
1743
1743
  "Lock submission could not be confirmed. Retry only the saved signature, or check locked funds before stopping recovery.",
1744
1744
  error.reason,
1745
1745
  error.signedAmount,
@@ -1752,7 +1752,7 @@ function ambiguousSubmissionError(error) {
1752
1752
  }
1753
1753
  function isDefinitiveSubmissionFailure(error) {
1754
1754
  const cause = error.cause;
1755
- return cause instanceof chunk4RHSKIPZ_cjs.AccountingApiError && cause.statusCode !== 408 && cause.statusCode < 500;
1755
+ return cause instanceof chunkVNECVPMU_cjs.AccountingApiError && cause.statusCode !== 408 && cause.statusCode < 500;
1756
1756
  }
1757
1757
  function submissionLockName(session) {
1758
1758
  return `privana:external-deposit-lock:submit:${session.owner.toLowerCase()}:${externalDepositSessionId(session.chainId, session.tokenId)}`;
@@ -1772,7 +1772,7 @@ async function submitExternalDepositLock(client, session) {
1772
1772
  return withSubmissionLock(session, async (crossTabExclusive) => {
1773
1773
  const current = loadExternalDepositLockSession(session.owner);
1774
1774
  if (!current || current.generation !== session.generation) {
1775
- throw new chunk4RHSKIPZ_cjs.PostDepositLockError(
1775
+ throw new chunkVNECVPMU_cjs.PostDepositLockError(
1776
1776
  "External deposit lock session changed before submission",
1777
1777
  "not-found",
1778
1778
  BigInt(session.maxLockAmount),
@@ -1791,7 +1791,7 @@ async function submitExternalDepositLock(client, session) {
1791
1791
  async function submitExternalDepositLockAttempt(client, session, crossTabExclusive) {
1792
1792
  const creditedAmount = session.creditedAmount ? BigInt(session.creditedAmount) : void 0;
1793
1793
  if (!creditedAmount) {
1794
- throw new chunk4RHSKIPZ_cjs.PostDepositLockError(
1794
+ throw new chunkVNECVPMU_cjs.PostDepositLockError(
1795
1795
  "External deposit has not been credited",
1796
1796
  "submission-failed",
1797
1797
  BigInt(session.maxLockAmount)
@@ -1799,7 +1799,7 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1799
1799
  }
1800
1800
  const payload = session.payload;
1801
1801
  if (!payload) {
1802
- throw new chunk4RHSKIPZ_cjs.PostDepositLockError(
1802
+ throw new chunkVNECVPMU_cjs.PostDepositLockError(
1803
1803
  "No persisted signed policy found for this deposit session",
1804
1804
  "not-found",
1805
1805
  BigInt(session.maxLockAmount),
@@ -1807,7 +1807,7 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1807
1807
  );
1808
1808
  }
1809
1809
  try {
1810
- return await chunk4RHSKIPZ_cjs.submitPendingLock({
1810
+ return await chunkVNECVPMU_cjs.submitPendingLock({
1811
1811
  client,
1812
1812
  payload,
1813
1813
  creditedAmount,
@@ -1818,23 +1818,23 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1818
1818
  }
1819
1819
  });
1820
1820
  } catch (err) {
1821
- if (err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError && err.reason === "submission-failed" && crossTabExclusive && !session.submissionAmbiguous && isDefinitiveSubmissionFailure(err)) {
1821
+ if (err instanceof chunkVNECVPMU_cjs.PostDepositLockError && err.reason === "submission-failed" && crossTabExclusive && !session.submissionAmbiguous && isDefinitiveSubmissionFailure(err)) {
1822
1822
  if (!clearSubmittedPayload(session, payload.signature, true)) {
1823
1823
  const latest = loadExternalDepositLockSession(session.owner);
1824
1824
  if (latest?.submissionAmbiguous) throw ambiguousSubmissionError(err);
1825
1825
  }
1826
- } else if (err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError && err.reason === "submission-failed") {
1826
+ } else if (err instanceof chunkVNECVPMU_cjs.PostDepositLockError && err.reason === "submission-failed") {
1827
1827
  const ambiguous = markSubmissionAmbiguous(session, payload.signature) || loadExternalDepositLockSession(session.owner)?.submissionAmbiguous === true;
1828
1828
  if (ambiguous) throw ambiguousSubmissionError(err);
1829
1829
  } else {
1830
1830
  const current = loadExternalDepositLockSession(session.owner);
1831
1831
  if (session.submissionAmbiguous || current?.submissionAmbiguous) {
1832
- if (err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError) throw ambiguousSubmissionError(err);
1832
+ if (err instanceof chunkVNECVPMU_cjs.PostDepositLockError) throw ambiguousSubmissionError(err);
1833
1833
  throw err;
1834
1834
  }
1835
1835
  if (!clearSubmittedPayload(session, payload.signature)) {
1836
1836
  const latest = loadExternalDepositLockSession(session.owner);
1837
- if (latest?.submissionAmbiguous && err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError) {
1837
+ if (latest?.submissionAmbiguous && err instanceof chunkVNECVPMU_cjs.PostDepositLockError) {
1838
1838
  throw ambiguousSubmissionError(err);
1839
1839
  }
1840
1840
  }
@@ -1849,12 +1849,12 @@ function useExternalDepositLock({
1849
1849
  onLockSubmitted,
1850
1850
  onLockFailed
1851
1851
  }) {
1852
- const { client, networkConfig, serviceAddress, getTokenById, tokensStatus } = chunk4RHSKIPZ_cjs.usePrivanaContext();
1852
+ const { client, networkConfig, serviceAddress, getTokenById, tokensStatus } = chunkVNECVPMU_cjs.usePrivanaContext();
1853
1853
  const config = wagmi.useConfig();
1854
1854
  const queryClient = reactQuery.useQueryClient();
1855
1855
  const { address } = wagmi.useAccount();
1856
- const { privateReadAddress } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
1857
- const { ensureCorrectChain } = chunk4RHSKIPZ_cjs.useEnsureCorrectChain();
1856
+ const { privateReadAddress } = chunkVNECVPMU_cjs.usePrivateReadRequest();
1857
+ const { ensureCorrectChain } = chunkVNECVPMU_cjs.useEnsureCorrectChain();
1858
1858
  const [isSigning, setIsSigning] = react.useState(false);
1859
1859
  const [isSubmittingLock, setIsSubmittingLock] = react.useState(false);
1860
1860
  const [session, setSession] = react.useState(null);
@@ -1914,7 +1914,7 @@ function useExternalDepositLock({
1914
1914
  result = await submitExternalDepositLock(client, submission);
1915
1915
  } catch (err) {
1916
1916
  const stored = loadExternalDepositLockSession(active.owner);
1917
- const error = err instanceof chunk4RHSKIPZ_cjs.PostDepositLockError ? err : new chunk4RHSKIPZ_cjs.PostDepositLockError(
1917
+ const error = err instanceof chunkVNECVPMU_cjs.PostDepositLockError ? err : new chunkVNECVPMU_cjs.PostDepositLockError(
1918
1918
  err instanceof Error ? err.message : "Lock submission failed",
1919
1919
  "submission-failed",
1920
1920
  BigInt(active.maxLockAmount),
@@ -1993,7 +1993,7 @@ function useExternalDepositLock({
1993
1993
  void submitSession(restored);
1994
1994
  } else if (restored.creditedAmount) {
1995
1995
  notifyFailure(
1996
- new chunk4RHSKIPZ_cjs.PostDepositLockError(
1996
+ new chunkVNECVPMU_cjs.PostDepositLockError(
1997
1997
  "Deposit credited; sign a fresh policy to lock the funds",
1998
1998
  "not-found",
1999
1999
  BigInt(restored.maxLockAmount),
@@ -2033,10 +2033,10 @@ function useExternalDepositLock({
2033
2033
  if (signingRef.current || settlingRef.current) {
2034
2034
  throw new Error("A policy operation is already in progress");
2035
2035
  }
2036
- if (!chunk4RHSKIPZ_cjs.canUseSharedBrowserStorage()) {
2036
+ if (!chunkVNECVPMU_cjs.canUseSharedBrowserStorage()) {
2037
2037
  throw new Error("Browser storage is required for locked deposit recovery");
2038
2038
  }
2039
- const owner = chunk4RHSKIPZ_cjs.requireDepositLockOwner(address, privateReadAddress);
2039
+ const owner = chunkVNECVPMU_cjs.requireDepositLockOwner(address, privateReadAddress);
2040
2040
  if (sessionRef.current || loadExternalDepositLockSession(owner)) {
2041
2041
  throw new Error("Finish or cancel the active external deposit before starting another");
2042
2042
  }
@@ -2045,26 +2045,26 @@ function useExternalDepositLock({
2045
2045
  if (token.contract === viem.zeroAddress) {
2046
2046
  throw new Error("External deposits support ERC20 tokens only");
2047
2047
  }
2048
- const targetService = chunk4RHSKIPZ_cjs.requireServiceAddress(serviceAddress);
2049
- const lockDuration = allowance.lockDuration ?? chunk4RHSKIPZ_cjs.DEFAULT_LOCK_DURATION_SECONDS;
2048
+ const targetService = chunkVNECVPMU_cjs.requireServiceAddress(serviceAddress);
2049
+ const lockDuration = allowance.lockDuration ?? chunkVNECVPMU_cjs.DEFAULT_LOCK_DURATION_SECONDS;
2050
2050
  signingRef.current = true;
2051
2051
  setIsSigning(true);
2052
2052
  try {
2053
2053
  await ensureCorrectChain(networkConfig.chainId);
2054
- const signingWalletClient = await chunk4RHSKIPZ_cjs.getWalletClient(config, {
2054
+ const signingWalletClient = await chunkVNECVPMU_cjs.getWalletClient(config, {
2055
2055
  chainId: networkConfig.chainId
2056
2056
  });
2057
- const payload = await chunk4RHSKIPZ_cjs.createSignedLockRequest({
2057
+ const payload = await chunkVNECVPMU_cjs.createSignedLockRequest({
2058
2058
  client,
2059
2059
  walletClient: signingWalletClient,
2060
2060
  userAddress: owner,
2061
2061
  networkConfig,
2062
2062
  serviceAddress: targetService,
2063
2063
  tokenId: token.id,
2064
- amount: chunk4RHSKIPZ_cjs.clampLockAmount(amount, BigInt(allowance.value)),
2064
+ amount: chunkVNECVPMU_cjs.clampLockAmount(amount, BigInt(allowance.value)),
2065
2065
  lockDuration
2066
2066
  });
2067
- const startBlock = await chunk4RHSKIPZ_cjs.getBlockNumber(config, { chainId: token.chainId });
2067
+ const startBlock = await chunkVNECVPMU_cjs.getBlockNumber(config, { chainId: token.chainId });
2068
2068
  if (startBlock > BigInt(Number.MAX_SAFE_INTEGER)) {
2069
2069
  throw new Error("Source-chain block number exceeds the supported range");
2070
2070
  }
@@ -2130,7 +2130,7 @@ function useExternalDepositLock({
2130
2130
  pendingCreditedTransitionRef.current = { predecessor: active, credited };
2131
2131
  installSession(credited);
2132
2132
  notifyFailure(
2133
- new chunk4RHSKIPZ_cjs.PostDepositLockError(
2133
+ new chunkVNECVPMU_cjs.PostDepositLockError(
2134
2134
  err instanceof Error ? err.message : "Unable to persist credited deposit state",
2135
2135
  "submission-failed",
2136
2136
  BigInt(active.maxLockAmount),
@@ -2190,7 +2190,7 @@ function useExternalDepositLock({
2190
2190
  if (!token || token.chainId !== active.chainId || token.contract === viem.zeroAddress) {
2191
2191
  throw new Error("The credited token is no longer available");
2192
2192
  }
2193
- const targetService = chunk4RHSKIPZ_cjs.requireServiceAddress(serviceAddress);
2193
+ const targetService = chunkVNECVPMU_cjs.requireServiceAddress(serviceAddress);
2194
2194
  if (targetService.toLowerCase() !== active.serviceAddress.toLowerCase()) {
2195
2195
  throw new Error("The service for this credited deposit has changed");
2196
2196
  }
@@ -2203,17 +2203,17 @@ function useExternalDepositLock({
2203
2203
  "The previous lock submission may have succeeded; a fresh signature is unsafe"
2204
2204
  );
2205
2205
  }
2206
- const owner = chunk4RHSKIPZ_cjs.requireDepositLockOwner(address, privateReadAddress);
2206
+ const owner = chunkVNECVPMU_cjs.requireDepositLockOwner(address, privateReadAddress);
2207
2207
  const amount = externalDepositRetryAmount(active);
2208
2208
  let retrySession;
2209
2209
  signingRef.current = true;
2210
2210
  setIsSigning(true);
2211
2211
  try {
2212
2212
  await ensureCorrectChain(networkConfig.chainId);
2213
- const signingWalletClient = await chunk4RHSKIPZ_cjs.getWalletClient(config, {
2213
+ const signingWalletClient = await chunkVNECVPMU_cjs.getWalletClient(config, {
2214
2214
  chainId: networkConfig.chainId
2215
2215
  });
2216
- const payload = await chunk4RHSKIPZ_cjs.createSignedLockRequest({
2216
+ const payload = await chunkVNECVPMU_cjs.createSignedLockRequest({
2217
2217
  client,
2218
2218
  walletClient: signingWalletClient,
2219
2219
  userAddress: owner,
@@ -2461,7 +2461,7 @@ function getChainIcon(chainId, size) {
2461
2461
  }
2462
2462
  }
2463
2463
  function TokenSelectorView({ selectedTokenId, onSelect }) {
2464
- const { enabledTokens, getChainById: getChainById2 } = chunk4RHSKIPZ_cjs.usePrivanaContext();
2464
+ const { enabledTokens, getChainById: getChainById2 } = chunkVNECVPMU_cjs.usePrivanaContext();
2465
2465
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted flex flex-col rounded-[10px] p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-h-72 flex-col gap-1 overflow-y-auto", children: [
2466
2466
  enabledTokens.map((token) => {
2467
2467
  const isSelected = selectedTokenId === token.id;
@@ -2471,7 +2471,7 @@ function TokenSelectorView({ selectedTokenId, onSelect }) {
2471
2471
  {
2472
2472
  type: "button",
2473
2473
  onClick: () => onSelect(token.id),
2474
- className: chunk4RHSKIPZ_cjs.cn(
2474
+ className: chunkVNECVPMU_cjs.cn(
2475
2475
  "hover:bg-secondary flex w-full cursor-pointer items-center gap-3 rounded-lg px-3 py-2 text-left transition-colors",
2476
2476
  isSelected && "bg-secondary"
2477
2477
  ),
@@ -2536,7 +2536,7 @@ function TransakCardWidgetView({
2536
2536
  onLeave,
2537
2537
  onUnsafeToCloseChange,
2538
2538
  onActiveFlowChange,
2539
- useOnRamp = chunk4RHSKIPZ_cjs.useTransakOnRamp
2539
+ useOnRamp = chunkVNECVPMU_cjs.useTransakOnRamp
2540
2540
  }) {
2541
2541
  const [actionError, setActionError] = react.useState(null);
2542
2542
  const [rowError, setRowError] = react.useState(null);
@@ -2554,7 +2554,7 @@ function TransakCardWidgetView({
2554
2554
  );
2555
2555
  const ownsRecord = react.useCallback(
2556
2556
  (record) => Boolean(
2557
- ownedIntentIdRef.current && chunk4RHSKIPZ_cjs.matchesOnRampTransaction(record, ownedIntentIdRef.current)
2557
+ ownedIntentIdRef.current && chunkVNECVPMU_cjs.matchesOnRampTransaction(record, ownedIntentIdRef.current)
2558
2558
  ),
2559
2559
  []
2560
2560
  );
@@ -2617,13 +2617,13 @@ function TransakCardWidgetView({
2617
2617
  amountBaseUnits = viem.parseUnits(amount, token.decimals);
2618
2618
  } catch {
2619
2619
  }
2620
- const minimumTargetBaseUnits = minDepositBaseUnits === void 0 ? void 0 : chunk4RHSKIPZ_cjs.getTransakMinimumTargetBaseUnits(minDepositBaseUnits);
2620
+ const minimumTargetBaseUnits = minDepositBaseUnits === void 0 ? void 0 : chunkVNECVPMU_cjs.getTransakMinimumTargetBaseUnits(minDepositBaseUnits);
2621
2621
  const belowMinimum = amountBaseUnits !== void 0 && minimumTargetBaseUnits !== void 0 && amountBaseUnits < minimumTargetBaseUnits;
2622
2622
  const minimumUnknown = minimumTargetBaseUnits === void 0;
2623
- const tokenMismatch = !chunk4RHSKIPZ_cjs.matchesFrozenOnRampToken(token, selectedToken);
2623
+ const tokenMismatch = !chunkVNECVPMU_cjs.matchesFrozenOnRampToken(token, selectedToken);
2624
2624
  const isSettling = status === "awaiting-delivery" || status === "verifying";
2625
2625
  const lockPending = !!allowance && status === "credited" && !lockSettled && !lockError;
2626
- const ownedPending = ownedIntentId ? pending.filter((record) => chunk4RHSKIPZ_cjs.matchesOnRampTransaction(record, ownedIntentId)) : [];
2626
+ const ownedPending = ownedIntentId ? pending.filter((record) => chunkVNECVPMU_cjs.matchesOnRampTransaction(record, ownedIntentId)) : [];
2627
2627
  const ownedFlowActive = !ownedTerminal && (Boolean(activeIntentId && activeIntentId === ownedIntentId) || ownedPending.length > 0 || lockPending);
2628
2628
  const canOpen = Boolean(selectedToken && depositAddress && amountBaseUnits && amountBaseUnits > 0n) && !tokenMismatch && !minimumUnknown && !belowMinimum && !isLaunching && !isWidgetOpen && !isSettling && status !== "credited" && (!activeIntentId || canRecreateSession);
2629
2629
  react.useEffect(() => {
@@ -2695,7 +2695,7 @@ function TransakCardWidgetView({
2695
2695
  widget ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border bg-card overflow-hidden rounded-xl border", children: [
2696
2696
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-2 text-sm", children: [
2697
2697
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Card checkout" }),
2698
- /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => void handleClose(), children: "Close" })
2698
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => void handleClose(), children: "Close" })
2699
2699
  ] }),
2700
2700
  widget
2701
2701
  ] }) : status === "credited" && !lockPending && !lockError ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 py-8 text-center", children: [
@@ -2706,7 +2706,7 @@ function TransakCardWidgetView({
2706
2706
  token.symbol,
2707
2707
  " deposit is now available in your balance."
2708
2708
  ] })
2709
- ] }) : !activeIntentId || canRecreateSession ? /* @__PURE__ */ jsxRuntime.jsxs(chunk4RHSKIPZ_cjs.Button, { type: "button", disabled: !canOpen, onClick: () => void runCheckout(), children: [
2709
+ ] }) : !activeIntentId || canRecreateSession ? /* @__PURE__ */ jsxRuntime.jsxs(chunkVNECVPMU_cjs.Button, { type: "button", disabled: !canOpen, onClick: () => void runCheckout(), children: [
2710
2710
  isLaunching && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "animate-spin", "aria-hidden": true }),
2711
2711
  isLaunching ? "Opening checkout\u2026" : activeIntentId ? "Reopen card checkout" : allowance ? "Sign policy and open checkout" : "Open card checkout"
2712
2712
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "This signed purchase is in recovery. Do not open another checkout for it." }),
@@ -2733,7 +2733,7 @@ function TransakCardWidgetView({
2733
2733
  pending.map((record) => {
2734
2734
  const isActivelyVerifying = record.transaction_id === activeVerificationId;
2735
2735
  const progress = parseFinalityProgress(finalityProgress[record.transaction_id]);
2736
- const showRetry = chunk4RHSKIPZ_cjs.canRetryOnRampVerification(record, activeVerificationId);
2736
+ const showRetry = chunkVNECVPMU_cjs.canRetryOnRampVerification(record, activeVerificationId);
2737
2737
  return /* @__PURE__ */ jsxRuntime.jsxs(
2738
2738
  "div",
2739
2739
  {
@@ -2745,7 +2745,7 @@ function TransakCardWidgetView({
2745
2745
  ] }),
2746
2746
  rowError?.id === record.transaction_id && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-destructive text-xs", children: rowError.message }),
2747
2747
  showRetry && /* @__PURE__ */ jsxRuntime.jsx(
2748
- chunk4RHSKIPZ_cjs.Button,
2748
+ chunkVNECVPMU_cjs.Button,
2749
2749
  {
2750
2750
  type: "button",
2751
2751
  variant: "outline",
@@ -2765,7 +2765,7 @@ function TransakCardWidgetView({
2765
2765
  }
2766
2766
  ),
2767
2767
  !record.on_chain_tx_hash && /* @__PURE__ */ jsxRuntime.jsx(
2768
- chunk4RHSKIPZ_cjs.Button,
2768
+ chunkVNECVPMU_cjs.Button,
2769
2769
  {
2770
2770
  type: "button",
2771
2771
  variant: "outline",
@@ -2781,7 +2781,7 @@ function TransakCardWidgetView({
2781
2781
  })
2782
2782
  ] }),
2783
2783
  onLeave && ownedFlowActive && !unsafeToClose && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
2784
- /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Button, { type: "button", variant: "outline", onClick: handleLeave, children: "Leave checkout" }),
2784
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Button, { type: "button", variant: "outline", onClick: handleLeave, children: "Leave checkout" }),
2785
2785
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-xs", children: "Privana will keep this signed purchase available for exact recovery." })
2786
2786
  ] }),
2787
2787
  (actionError ?? error) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-destructive text-sm", role: "alert", children: (actionError ?? error)?.message }),
@@ -2870,7 +2870,7 @@ function MoonPayCardWidgetView({
2870
2870
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: "bg-muted flex flex-col gap-6 rounded-[10px] p-5", children: [
2871
2871
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-foreground text-[28px] leading-8 font-medium", children: "Complete your purchase" }),
2872
2872
  moonpayCurrencyCode ? /* @__PURE__ */ jsxRuntime.jsx(
2873
- chunk4RHSKIPZ_cjs.FiatOnRampForm,
2873
+ chunkVNECVPMU_cjs.FiatOnRampForm,
2874
2874
  {
2875
2875
  tokenId: token.id,
2876
2876
  frozenToken: token,
@@ -3165,7 +3165,7 @@ function ChevronDownIcon({
3165
3165
  height: "16",
3166
3166
  viewBox: "0 0 16 16",
3167
3167
  fill: "none",
3168
- className: chunk4RHSKIPZ_cjs.cn(
3168
+ className: chunkVNECVPMU_cjs.cn(
3169
3169
  "transition-transform",
3170
3170
  direction === "right" && "-rotate-90",
3171
3171
  direction === "up" && "rotate-180",
@@ -3318,7 +3318,7 @@ function PolicyTermRow({
3318
3318
  /* @__PURE__ */ jsxRuntime.jsx(
3319
3319
  "div",
3320
3320
  {
3321
- className: chunk4RHSKIPZ_cjs.cn(
3321
+ className: chunkVNECVPMU_cjs.cn(
3322
3322
  "mt-0.5 shrink-0",
3323
3323
  kind === "permission" ? "text-emerald-500" : "text-orange-500"
3324
3324
  ),
@@ -3393,7 +3393,7 @@ function DepositView({
3393
3393
  onSubmit,
3394
3394
  isSubmitting = false
3395
3395
  }) {
3396
- const { getChainById: getChainById2, chains, serviceName, serviceIcon, networkConfig, hostedAuthConfig } = chunk4RHSKIPZ_cjs.usePrivanaContext();
3396
+ const { getChainById: getChainById2, chains, serviceName, serviceIcon, networkConfig, hostedAuthConfig } = chunkVNECVPMU_cjs.usePrivanaContext();
3397
3397
  const { address, isConnected } = wagmi.useAccount();
3398
3398
  const appName = serviceName ?? "Privana";
3399
3399
  const chain = selectedToken ? getChainById2(selectedToken.chainId) : void 0;
@@ -3402,7 +3402,7 @@ function DepositView({
3402
3402
  const isConnectedSource = source === "connected";
3403
3403
  const isExternal = source === "external";
3404
3404
  const isCreditCard = source === "credit-card";
3405
- const isMoonPayCard = isCreditCard && chunk4RHSKIPZ_cjs.isMoonPayProductOnRamp(onRamp);
3405
+ const isMoonPayCard = isCreditCard && chunkVNECVPMU_cjs.isMoonPayProductOnRamp(onRamp);
3406
3406
  const isTransakCard = isCreditCard && onRamp.provider === "transak";
3407
3407
  const isNative = selectedToken?.contract === viem.zeroAddress;
3408
3408
  const { data: nativeBalanceData, isLoading: isNativeBalanceLoading } = wagmi.useBalance({
@@ -3420,7 +3420,7 @@ function DepositView({
3420
3420
  });
3421
3421
  const walletBalance = isNative ? nativeBalanceData?.value : erc20Balance;
3422
3422
  const isWalletBalanceLoading = isNative ? isNativeBalanceLoading : isErc20BalanceLoading;
3423
- const formattedWalletBalance = walletBalance != null && selectedToken ? chunk4RHSKIPZ_cjs.formatTokenAmount(walletBalance.toString(), selectedToken.decimals) : "0.00";
3423
+ const formattedWalletBalance = walletBalance != null && selectedToken ? chunkVNECVPMU_cjs.formatTokenAmount(walletBalance.toString(), selectedToken.decimals) : "0.00";
3424
3424
  const {
3425
3425
  minBuyAmount: moonpayMinBuy,
3426
3426
  isLoading: moonpayLimitsLoading,
@@ -3433,7 +3433,7 @@ function DepositView({
3433
3433
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
3434
3434
  const maxAmountDecimals = isMoonPayCard ? 2 : selectedToken?.decimals;
3435
3435
  const tooManyDecimals = hasValidAmount && maxAmountDecimals != null && amount.includes(".") && amount.split(".")[1].length > maxAmountDecimals;
3436
- const exceedsBalance = isConnectedSource && hasValidAmount && !tooManyDecimals && !!selectedToken && walletBalance != null && chunk4RHSKIPZ_cjs.parseTokenAmount(amount, selectedToken.decimals) > walletBalance;
3436
+ const exceedsBalance = isConnectedSource && hasValidAmount && !tooManyDecimals && !!selectedToken && walletBalance != null && chunkVNECVPMU_cjs.parseTokenAmount(amount, selectedToken.decimals) > walletBalance;
3437
3437
  const belowMoonpayMin = isMoonPayCard && hasValidAmount && moonpayMinBuy != null && parseFloat(amount) < moonpayMinBuy;
3438
3438
  const moonpayLimitsUnready = isMoonPayCard && !!onRamp.providerAssetCode && moonpayMinBuy == null;
3439
3439
  const creditCardUnavailable = isCreditCard && !!onRamp.unavailableReason;
@@ -3441,8 +3441,8 @@ function DepositView({
3441
3441
  const externalMinimumRequired = isExternal && !!selectedToken;
3442
3442
  const externalMinimumLoading = externalMinimumRequired && externalMinimum === void 0;
3443
3443
  const externalMinimumUnavailable = externalMinimumRequired && externalMinimum === null;
3444
- const belowExternalMinimum = externalMinimumRequired && hasValidAmount && !tooManyDecimals && !!selectedToken && typeof externalMinimum === "bigint" && chunk4RHSKIPZ_cjs.parseTokenAmount(amount, selectedToken.decimals) < externalMinimum;
3445
- const belowWalletMinimum = isConnectedSource && hasValidAmount && !tooManyDecimals && !exceedsBalance && !!selectedToken && typeof walletMinimum === "bigint" && chunk4RHSKIPZ_cjs.parseTokenAmount(amount, selectedToken.decimals) < walletMinimum;
3444
+ const belowExternalMinimum = externalMinimumRequired && hasValidAmount && !tooManyDecimals && !!selectedToken && typeof externalMinimum === "bigint" && chunkVNECVPMU_cjs.parseTokenAmount(amount, selectedToken.decimals) < externalMinimum;
3445
+ const belowWalletMinimum = isConnectedSource && hasValidAmount && !tooManyDecimals && !exceedsBalance && !!selectedToken && typeof walletMinimum === "bigint" && chunkVNECVPMU_cjs.parseTokenAmount(amount, selectedToken.decimals) < walletMinimum;
3446
3446
  const externalNeedsWallet = isExternal && (!!allowance || !hostedAuthConfig);
3447
3447
  const needsConnect = (isConnectedSource || externalNeedsWallet) && !isConnected;
3448
3448
  const canDeposit = hasValidAmount && !!selectedToken && !tooManyDecimals && !exceedsBalance && !belowMoonpayMin && !moonpayLimitsUnready && !creditCardUnavailable && !externalTokenUnavailable && !externalMinimumLoading && !externalMinimumUnavailable && !belowExternalMinimum && !belowWalletMinimum && !needsConnect;
@@ -3492,13 +3492,13 @@ function DepositView({
3492
3492
  isConnectedSource && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground flex items-center gap-1 text-sm", children: [
3493
3493
  "Available",
3494
3494
  " ",
3495
- isWalletBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Skeleton, { className: "h-4 w-16" }) : `${formattedWalletBalance} ${selectedToken?.symbol ?? ""}`
3495
+ isWalletBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Skeleton, { className: "h-4 w-16" }) : `${formattedWalletBalance} ${selectedToken?.symbol ?? ""}`
3496
3496
  ] })
3497
3497
  ] }),
3498
3498
  /* @__PURE__ */ jsxRuntime.jsxs(
3499
3499
  "div",
3500
3500
  {
3501
- className: chunk4RHSKIPZ_cjs.cn(
3501
+ className: chunkVNECVPMU_cjs.cn(
3502
3502
  "border-border bg-input flex items-center gap-2 rounded-[10px] border",
3503
3503
  isConnectedSource ? "py-1 pr-1 pl-3" : "px-3 py-3"
3504
3504
  ),
@@ -3644,7 +3644,7 @@ function ExternalDepositView({
3644
3644
  onDiscardLock,
3645
3645
  lock
3646
3646
  }) {
3647
- const { getChainById: getChainById2, getTokenById, serviceName } = chunk4RHSKIPZ_cjs.usePrivanaContext();
3647
+ const { getChainById: getChainById2, getTokenById, serviceName } = chunkVNECVPMU_cjs.usePrivanaContext();
3648
3648
  const appName = serviceName ?? "Privana";
3649
3649
  const { depositAddress, isReady, isLoading } = depositAddressState;
3650
3650
  const minimumLabel = token && typeof externalMinimum === "bigint" ? `${viem.formatUnits(externalMinimum, token.decimals)} ${token.symbol}` : void 0;
@@ -3661,7 +3661,7 @@ function ExternalDepositView({
3661
3661
  const [nothingFound, setNothingFound] = react.useState(false);
3662
3662
  const [credited, setCredited] = react.useState(null);
3663
3663
  const [showCancelWarning, setShowCancelWarning] = react.useState(false);
3664
- const verification = chunk4RHSKIPZ_cjs.useDepositVerification({
3664
+ const verification = chunkVNECVPMU_cjs.useDepositVerification({
3665
3665
  onCredited: (txHash, _response, creditedAmount) => {
3666
3666
  if (settleAfterCredit) {
3667
3667
  void settleAfterCredit(txHash, creditedAmount);
@@ -3789,11 +3789,11 @@ function ExternalDepositView({
3789
3789
  minimumLabel ? ` (${minimumLabel})` : "",
3790
3790
  " are not combined or automatically returned."
3791
3791
  ] }),
3792
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-secondary flex h-50 items-center justify-center rounded-[10px]", children: !isReady ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground px-6 text-center text-sm", children: "Connect your wallet to generate a deposit address." }) : depositAddress ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-[10px] bg-white p-3", children: /* @__PURE__ */ jsxRuntime.jsx(qrcode_react.QRCodeSVG, { value: depositAddress, size: 160 }) }) : isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Skeleton, { className: "h-full w-full rounded-[10px]" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: "Deposit address unavailable" }) }),
3792
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-secondary flex h-50 items-center justify-center rounded-[10px]", children: !isReady ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground px-6 text-center text-sm", children: "Connect your wallet to generate a deposit address." }) : depositAddress ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-[10px] bg-white p-3", children: /* @__PURE__ */ jsxRuntime.jsx(qrcode_react.QRCodeSVG, { value: depositAddress, size: 160 }) }) : isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Skeleton, { className: "h-full w-full rounded-[10px]" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: "Deposit address unavailable" }) }),
3793
3793
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
3794
3794
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "Deposit Address" }),
3795
3795
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
3796
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border flex h-10 min-w-0 flex-1 items-center rounded-[10px] border px-3", children: depositAddress ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground min-w-0 flex-1 truncate text-sm", children: depositAddress }) : isReady && isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Skeleton, { className: "h-4 w-3/4" }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "\u2014" }) }),
3796
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border flex h-10 min-w-0 flex-1 items-center rounded-[10px] border px-3", children: depositAddress ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground min-w-0 flex-1 truncate text-sm", children: depositAddress }) : isReady && isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Skeleton, { className: "h-4 w-3/4" }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "\u2014" }) }),
3797
3797
  /* @__PURE__ */ jsxRuntime.jsxs(
3798
3798
  "button",
3799
3799
  {
@@ -3848,7 +3848,7 @@ function ExternalDepositView({
3848
3848
  TransactionSuccessView,
3849
3849
  {
3850
3850
  title: "Deposit Credited",
3851
- message: `Transfer ${chunk4RHSKIPZ_cjs.shortenAddress(credited.txHash)} has been credited to your Privana balance.`,
3851
+ message: `Transfer ${chunkVNECVPMU_cjs.shortenAddress(credited.txHash)} has been credited to your Privana balance.`,
3852
3852
  onDone: () => {
3853
3853
  setCredited(null);
3854
3854
  verification.reset();
@@ -3877,7 +3877,7 @@ function ExternalDepositView({
3877
3877
  {
3878
3878
  title: "Awaiting Deposit",
3879
3879
  subtitle: listening ? "We are listening for your incoming transaction for the next hour." : "We've stopped listening automatically. Use the button below to check for your deposit.",
3880
- remaining: listening ? chunk4RHSKIPZ_cjs.formatCountdown(secondsLeft) : void 0
3880
+ remaining: listening ? chunkVNECVPMU_cjs.formatCountdown(secondsLeft) : void 0
3881
3881
  }
3882
3882
  ),
3883
3883
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
@@ -3929,7 +3929,7 @@ function MethodTabs({
3929
3929
  /* @__PURE__ */ jsxRuntime.jsx(
3930
3930
  "div",
3931
3931
  {
3932
- className: chunk4RHSKIPZ_cjs.cn(
3932
+ className: chunkVNECVPMU_cjs.cn(
3933
3933
  "bg-input absolute top-1 bottom-1 left-1 w-[calc(50%-8px)] rounded-md transition-transform duration-200",
3934
3934
  activeTab === "credit-card" && "translate-x-[calc(100%+8px)]"
3935
3935
  )
@@ -3940,7 +3940,7 @@ function MethodTabs({
3940
3940
  {
3941
3941
  type: "button",
3942
3942
  onClick: () => onTabChange("crypto"),
3943
- className: chunk4RHSKIPZ_cjs.cn(
3943
+ className: chunkVNECVPMU_cjs.cn(
3944
3944
  "relative z-10 flex-1 cursor-pointer rounded-md px-3 py-[9px] text-sm font-medium transition-colors",
3945
3945
  activeTab === "crypto" ? "text-foreground" : "text-muted-foreground"
3946
3946
  ),
@@ -3952,7 +3952,7 @@ function MethodTabs({
3952
3952
  {
3953
3953
  type: "button",
3954
3954
  onClick: () => onTabChange("credit-card"),
3955
- className: chunk4RHSKIPZ_cjs.cn(
3955
+ className: chunkVNECVPMU_cjs.cn(
3956
3956
  "relative z-10 flex-1 cursor-pointer rounded-md px-3 py-[9px] text-sm font-medium transition-colors",
3957
3957
  activeTab === "credit-card" ? "text-foreground" : "text-muted-foreground"
3958
3958
  ),
@@ -4006,9 +4006,9 @@ function DepositModalContent({
4006
4006
  getTokenById,
4007
4007
  networkConfig,
4008
4008
  onRamp
4009
- } = chunk4RHSKIPZ_cjs.usePrivanaContext();
4009
+ } = chunkVNECVPMU_cjs.usePrivanaContext();
4010
4010
  const { address } = wagmi.useAccount();
4011
- const { privateReadQueryScope } = chunk4RHSKIPZ_cjs.usePrivateReadRequest();
4011
+ const { privateReadQueryScope } = chunkVNECVPMU_cjs.usePrivateReadRequest();
4012
4012
  const [privateReadApiUrl, accountingChainId, beneficiaryAddress] = privateReadQueryScope;
4013
4013
  const appName = serviceName ?? "Privana";
4014
4014
  const [activeTab, setActiveTab] = react.useState(defaultTab);
@@ -4022,7 +4022,7 @@ function DepositModalContent({
4022
4022
  const nextCardFlowId = react.useRef(0);
4023
4023
  const stateSelectedToken = enabledTokens.find((t) => t.id === selectedTokenId) ?? defaultToken;
4024
4024
  const cardOnRamp = react.useMemo(
4025
- () => chunk4RHSKIPZ_cjs.resolveProductOnRamp({
4025
+ () => chunkVNECVPMU_cjs.resolveProductOnRamp({
4026
4026
  config: onRamp,
4027
4027
  enabledTokens,
4028
4028
  legacyToken: stateSelectedToken,
@@ -4039,7 +4039,7 @@ function DepositModalContent({
4039
4039
  }),
4040
4040
  [accountingChainId, beneficiaryAddress, networkConfig.accountingContract, privateReadApiUrl]
4041
4041
  );
4042
- const mountedCardFlow = cardFlow && chunk4RHSKIPZ_cjs.matchesProductOnRampScope(cardFlow.scope, cardOnRampScope) ? cardFlow : null;
4042
+ const mountedCardFlow = cardFlow && chunkVNECVPMU_cjs.matchesProductOnRampScope(cardFlow.scope, cardOnRampScope) ? cardFlow : null;
4043
4043
  const displayedCardOnRamp = view === "credit-card-widget" && mountedCardFlow ? mountedCardFlow.selection : cardOnRamp;
4044
4044
  const selectedToken = source === "credit-card" ? displayedCardOnRamp.token : stateSelectedToken;
4045
4045
  const depositAddressState = useDepositAddress({
@@ -4098,11 +4098,11 @@ function DepositModalContent({
4098
4098
  setView("deposit");
4099
4099
  }, []);
4100
4100
  react.useEffect(() => {
4101
- if (cardFlow && !chunk4RHSKIPZ_cjs.matchesProductOnRampScope(cardFlow.scope, cardOnRampScope)) {
4101
+ if (cardFlow && !chunkVNECVPMU_cjs.matchesProductOnRampScope(cardFlow.scope, cardOnRampScope)) {
4102
4102
  leaveCardPurchase();
4103
4103
  }
4104
4104
  }, [cardFlow, cardOnRampScope, leaveCardPurchase]);
4105
- const cardOutcomeCallbacks = mountedCardFlow ? chunk4RHSKIPZ_cjs.createProductOnRampOutcomeCallbacks({
4105
+ const cardOutcomeCallbacks = mountedCardFlow ? chunkVNECVPMU_cjs.createProductOnRampOutcomeCallbacks({
4106
4106
  requiresLock: mountedCardFlow.requiresLock,
4107
4107
  onComplete: finishCardPurchase,
4108
4108
  onLockFailed: (err) => {
@@ -4200,7 +4200,7 @@ function DepositModalContent({
4200
4200
  sonner.toast.error("External deposits support ERC20 tokens only");
4201
4201
  return;
4202
4202
  }
4203
- const depositAmount = chunk4RHSKIPZ_cjs.parseTokenAmount(args.amount, token2.decimals);
4203
+ const depositAmount = chunkVNECVPMU_cjs.parseTokenAmount(args.amount, token2.decimals);
4204
4204
  if (typeof externalMinimum !== "bigint") {
4205
4205
  sonner.toast.error("Minimum deposit is unavailable. Please try again.");
4206
4206
  return;
@@ -4230,7 +4230,7 @@ function DepositModalContent({
4230
4230
  }
4231
4231
  try {
4232
4232
  setCardFlow(
4233
- chunk4RHSKIPZ_cjs.createProductOnRampFlowSnapshot({
4233
+ chunkVNECVPMU_cjs.createProductOnRampFlowSnapshot({
4234
4234
  id: ++nextCardFlowId.current,
4235
4235
  selection: cardOnRamp,
4236
4236
  amount: args.amount,
@@ -4255,7 +4255,7 @@ function DepositModalContent({
4255
4255
  setCancelled(false);
4256
4256
  deposit({
4257
4257
  tokenId: token.id,
4258
- amount: chunk4RHSKIPZ_cjs.parseTokenAmount(args.amount, token.decimals),
4258
+ amount: chunkVNECVPMU_cjs.parseTokenAmount(args.amount, token.decimals),
4259
4259
  postDepositLock: allowance ? {
4260
4260
  maxAmount: BigInt(allowance.value),
4261
4261
  lockDuration: allowance.lockDuration
@@ -4296,7 +4296,7 @@ function DepositModalContent({
4296
4296
  ];
4297
4297
  const hasExternalLockRecovery = view === "external-deposit" && !!externalLock.session?.creditedAmount;
4298
4298
  const externalSubmissionAmbiguous = hasExternalLockRecovery && !!lockFailure?.submissionMayHaveSucceeded;
4299
- const savedExternalPayloadUsable = !!externalLock.session?.payload && chunk4RHSKIPZ_cjs.isSignedLockUsable(externalLock.session.payload);
4299
+ const savedExternalPayloadUsable = !!externalLock.session?.payload && chunkVNECVPMU_cjs.isSignedLockUsable(externalLock.session.payload);
4300
4300
  const ambiguousRecoveryMustBeAbandoned = externalSubmissionAmbiguous && !savedExternalPayloadUsable;
4301
4301
  const externalRecoveryExitLabel = externalSubmissionAmbiguous ? "Stop recovery" : "Keep funds unlocked";
4302
4302
  const lockFailureToken = hasExternalLockRecovery && externalLock.session ? getTokenById(externalLock.session.tokenId) ?? selectedToken : selectedToken;
@@ -4380,7 +4380,7 @@ function DepositModalContent({
4380
4380
  onClick: onClose,
4381
4381
  disabled: isUnsafeToClose,
4382
4382
  "aria-label": "Close",
4383
- className: chunk4RHSKIPZ_cjs.cn(
4383
+ className: chunkVNECVPMU_cjs.cn(
4384
4384
  "absolute top-6 right-5 z-20 flex h-5 w-5 items-center justify-center transition-colors",
4385
4385
  isUnsafeToClose ? "text-muted-foreground/40 cursor-not-allowed" : "text-muted-foreground hover:text-foreground cursor-pointer"
4386
4386
  ),
@@ -4609,7 +4609,7 @@ function DepositInlineModal({ className, ...handlers }) {
4609
4609
  "div",
4610
4610
  {
4611
4611
  "data-privana": true,
4612
- className: chunk4RHSKIPZ_cjs.cn(
4612
+ className: chunkVNECVPMU_cjs.cn(
4613
4613
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
4614
4614
  className
4615
4615
  ),
@@ -4625,7 +4625,7 @@ function WithdrawView({
4625
4625
  onPendingChange,
4626
4626
  onWithdrawSuccess
4627
4627
  }) {
4628
- const { chains, getChainById: getChainById2 } = chunk4RHSKIPZ_cjs.usePrivanaContext();
4628
+ const { chains, getChainById: getChainById2 } = chunkVNECVPMU_cjs.usePrivanaContext();
4629
4629
  const { isConnected, address } = wagmi.useAccount();
4630
4630
  const [showSuccess, setShowSuccess] = react.useState(false);
4631
4631
  const [showTimeout, setShowTimeout] = react.useState(false);
@@ -4639,7 +4639,7 @@ function WithdrawView({
4639
4639
  tokenId: selectedToken?.id,
4640
4640
  enabled: !!selectedToken
4641
4641
  });
4642
- const formattedBalance = selectedToken ? chunk4RHSKIPZ_cjs.formatTokenAmount(balanceWei, selectedToken.decimals) : "0.00";
4642
+ const formattedBalance = selectedToken ? chunkVNECVPMU_cjs.formatTokenAmount(balanceWei, selectedToken.decimals) : "0.00";
4643
4643
  const { withdraw, isPending, currentStep, error, reset } = useWithdraw({
4644
4644
  onProcessingSuccess: () => {
4645
4645
  onAmountChange("");
@@ -4655,7 +4655,7 @@ function WithdrawView({
4655
4655
  setShowTimeout(true);
4656
4656
  }
4657
4657
  });
4658
- const explorerUrl = address && targetChain ? chunk4RHSKIPZ_cjs.getExplorerAddressUrl(targetChain.id, address) : void 0;
4658
+ const explorerUrl = address && targetChain ? chunkVNECVPMU_cjs.getExplorerAddressUrl(targetChain.id, address) : void 0;
4659
4659
  const getStepStatus = (step, after) => {
4660
4660
  if (currentStep === step) return "active";
4661
4661
  if (after.includes(currentStep)) return "completed";
@@ -4689,7 +4689,7 @@ function WithdrawView({
4689
4689
  }, [isPending, cancelled, onPendingChange]);
4690
4690
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
4691
4691
  const tooManyDecimals = !!hasValidAmount && !!selectedToken && amount.includes(".") && amount.split(".")[1].length > selectedToken.decimals;
4692
- const exceedsBalance = !!hasValidAmount && !tooManyDecimals && !!selectedToken && !isBalanceLoading && !isBalanceError && chunk4RHSKIPZ_cjs.parseTokenAmount(amount, selectedToken.decimals) > BigInt(balanceWei);
4692
+ const exceedsBalance = !!hasValidAmount && !tooManyDecimals && !!selectedToken && !isBalanceLoading && !isBalanceError && chunkVNECVPMU_cjs.parseTokenAmount(amount, selectedToken.decimals) > BigInt(balanceWei);
4693
4693
  const canWithdraw = isConnected && hasValidAmount && !!selectedToken && !tooManyDecimals && !exceedsBalance;
4694
4694
  const handleMax = () => {
4695
4695
  if (!selectedToken) return;
@@ -4701,7 +4701,7 @@ function WithdrawView({
4701
4701
  setCancelled(false);
4702
4702
  await withdraw({
4703
4703
  tokenId: selectedToken.id,
4704
- amount: chunk4RHSKIPZ_cjs.parseTokenAmount(amount, selectedToken.decimals)
4704
+ amount: chunkVNECVPMU_cjs.parseTokenAmount(amount, selectedToken.decimals)
4705
4705
  });
4706
4706
  };
4707
4707
  const handleCancel = () => {
@@ -4721,7 +4721,7 @@ function WithdrawView({
4721
4721
  title: "Withdrawal Complete",
4722
4722
  message: `Your ${selectedToken.symbol} withdrawal has been processed. Funds should appear in your wallet shortly.`,
4723
4723
  explorerUrl,
4724
- explorerLabel: targetChain ? chunk4RHSKIPZ_cjs.getExplorerLabel(targetChain.id) : void 0,
4724
+ explorerLabel: targetChain ? chunkVNECVPMU_cjs.getExplorerLabel(targetChain.id) : void 0,
4725
4725
  onDone: handleDone
4726
4726
  }
4727
4727
  ) });
@@ -4779,7 +4779,7 @@ function WithdrawView({
4779
4779
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground flex items-center gap-1 text-sm", children: [
4780
4780
  "Available",
4781
4781
  " ",
4782
- isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Skeleton, { className: "h-4 w-16" }) : `${formattedBalance} ${selectedToken?.symbol ?? ""}`
4782
+ isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Skeleton, { className: "h-4 w-16" }) : `${formattedBalance} ${selectedToken?.symbol ?? ""}`
4783
4783
  ] })
4784
4784
  ] }),
4785
4785
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border bg-input flex items-center gap-2 rounded-[10px] border py-1 pr-1 pl-3", children: [
@@ -4833,7 +4833,7 @@ function WithdrawModalContent({
4833
4833
  onBack,
4834
4834
  onWithdrawSuccess
4835
4835
  }) {
4836
- const { serviceName, enabledTokens, defaultToken, hostedAuthConfig } = chunk4RHSKIPZ_cjs.usePrivanaContext();
4836
+ const { serviceName, enabledTokens, defaultToken, hostedAuthConfig } = chunkVNECVPMU_cjs.usePrivanaContext();
4837
4837
  const { address } = wagmi.useAccount();
4838
4838
  const appName = serviceName ?? "Privana";
4839
4839
  const [view, setView] = react.useState("form");
@@ -4960,7 +4960,7 @@ function WithdrawInlineModal({ className, onWithdrawSuccess }) {
4960
4960
  "div",
4961
4961
  {
4962
4962
  "data-privana": true,
4963
- className: chunk4RHSKIPZ_cjs.cn(
4963
+ className: chunkVNECVPMU_cjs.cn(
4964
4964
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
4965
4965
  className
4966
4966
  ),
@@ -5004,14 +5004,14 @@ function SegmentedBalanceBar({
5004
5004
  showAvailable && /* @__PURE__ */ jsxRuntime.jsx(
5005
5005
  "div",
5006
5006
  {
5007
- className: chunk4RHSKIPZ_cjs.cn(AVAILABLE_COLOR, "rounded-l-full", !showInUse && "rounded-r-full"),
5007
+ className: chunkVNECVPMU_cjs.cn(AVAILABLE_COLOR, "rounded-l-full", !showInUse && "rounded-r-full"),
5008
5008
  style: { flexGrow: grow(availableWei) }
5009
5009
  }
5010
5010
  ),
5011
5011
  showInUse && /* @__PURE__ */ jsxRuntime.jsx(
5012
5012
  "div",
5013
5013
  {
5014
- className: chunk4RHSKIPZ_cjs.cn(IN_USE_COLOR, "rounded-r-full", !showAvailable && "rounded-l-full"),
5014
+ className: chunkVNECVPMU_cjs.cn(IN_USE_COLOR, "rounded-r-full", !showAvailable && "rounded-l-full"),
5015
5015
  style: { flexGrow: grow(inUseWei) }
5016
5016
  }
5017
5017
  )
@@ -5019,7 +5019,7 @@ function SegmentedBalanceBar({
5019
5019
  }
5020
5020
  function BalanceLegendItem({ color, label }) {
5021
5021
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
5022
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4RHSKIPZ_cjs.cn("h-2.5 w-2.5 rounded-full", color) }),
5022
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVNECVPMU_cjs.cn("h-2.5 w-2.5 rounded-full", color) }),
5023
5023
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground text-sm leading-5", children: label })
5024
5024
  ] });
5025
5025
  }
@@ -5032,7 +5032,7 @@ function WalletBalanceView({
5032
5032
  onAddFunds,
5033
5033
  onWithdraw
5034
5034
  }) {
5035
- const { serviceName, serviceIcon, defaultToken } = chunk4RHSKIPZ_cjs.usePrivanaContext();
5035
+ const { serviceName, serviceIcon, defaultToken } = chunkVNECVPMU_cjs.usePrivanaContext();
5036
5036
  const appName = serviceName ?? "Privana";
5037
5037
  const token = defaultToken;
5038
5038
  const {
@@ -5045,14 +5045,14 @@ function WalletBalanceView({
5045
5045
  const variant = !session ? "idle" : inUseWei === 0n ? "session-zero" : availableWei === 0n ? "fully-in-use" : "mixed";
5046
5046
  const expiry = session?.expiry;
5047
5047
  useNow(3e4, expiry != null);
5048
- const countdown = expiry != null ? chunk4RHSKIPZ_cjs.formatTimeRemaining(expiry) : null;
5048
+ const countdown = expiry != null ? chunkVNECVPMU_cjs.formatTimeRemaining(expiry) : null;
5049
5049
  const decimals = token?.decimals ?? 18;
5050
- const totalFormatted = chunk4RHSKIPZ_cjs.formatTokenAmount((availableWei + inUseWei).toString(), decimals);
5051
- const availableFormatted = chunk4RHSKIPZ_cjs.formatTokenAmount(availableWei.toString(), decimals);
5052
- const inUseFormatted = chunk4RHSKIPZ_cjs.formatTokenAmount(inUseWei.toString(), decimals);
5050
+ const totalFormatted = chunkVNECVPMU_cjs.formatTokenAmount((availableWei + inUseWei).toString(), decimals);
5051
+ const availableFormatted = chunkVNECVPMU_cjs.formatTokenAmount(availableWei.toString(), decimals);
5052
+ const inUseFormatted = chunkVNECVPMU_cjs.formatTokenAmount(inUseWei.toString(), decimals);
5053
5053
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
5054
5054
  const tooManyDecimals = hasValidAmount && !!token && amount.includes(".") && amount.split(".")[1].length > token.decimals;
5055
- const exceedsBalance = hasValidAmount && !tooManyDecimals && !!token && !isBalanceLoading && !isBalanceError && chunk4RHSKIPZ_cjs.parseTokenAmount(amount, token.decimals) > availableWei;
5055
+ const exceedsBalance = hasValidAmount && !tooManyDecimals && !!token && !isBalanceLoading && !isBalanceError && chunkVNECVPMU_cjs.parseTokenAmount(amount, token.decimals) > availableWei;
5056
5056
  const canFundSession = hasValidAmount && !!token && !tooManyDecimals && !exceedsBalance && !isBalanceLoading && !isBalanceError;
5057
5057
  const handleMax = () => {
5058
5058
  const max = availableFormatted.replace(/\s/g, "");
@@ -5070,7 +5070,7 @@ function WalletBalanceView({
5070
5070
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm leading-[14px]", children: "Total" }),
5071
5071
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-secondary text-muted-foreground rounded-full px-2 py-[5px] text-[10px] leading-[10px] font-bold", children: token?.symbol ?? "\u2014" })
5072
5072
  ] }),
5073
- isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4RHSKIPZ_cjs.Skeleton, { className: "h-9 w-40" }) : isBalanceError ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-[32px] leading-9 font-medium", children: "\u2014" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground text-[32px] leading-9 font-medium", children: totalFormatted })
5073
+ isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkVNECVPMU_cjs.Skeleton, { className: "h-9 w-40" }) : isBalanceError ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-[32px] leading-9 font-medium", children: "\u2014" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground text-[32px] leading-9 font-medium", children: totalFormatted })
5074
5074
  ] }),
5075
5075
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
5076
5076
  /* @__PURE__ */ jsxRuntime.jsx(SegmentedBalanceBar, { availableWei, inUseWei }),
@@ -5221,7 +5221,7 @@ function WalletModalContent({
5221
5221
  onCloseBlockedChange,
5222
5222
  ...depositHandlers
5223
5223
  }) {
5224
- const { serviceName, hostedAuthConfig } = chunk4RHSKIPZ_cjs.usePrivanaContext();
5224
+ const { serviceName, hostedAuthConfig } = chunkVNECVPMU_cjs.usePrivanaContext();
5225
5225
  const { address } = wagmi.useAccount();
5226
5226
  const appName = serviceName ?? "Privana";
5227
5227
  const [view, setView] = react.useState("balance");
@@ -5325,7 +5325,7 @@ function WalletModalContent({
5325
5325
  onClick: onClose,
5326
5326
  disabled: closeBlocked,
5327
5327
  "aria-label": "Close",
5328
- className: chunk4RHSKIPZ_cjs.cn(
5328
+ className: chunkVNECVPMU_cjs.cn(
5329
5329
  "absolute top-6 right-5 z-20 flex h-5 w-5 items-center justify-center transition-colors",
5330
5330
  closeBlocked ? "text-muted-foreground/40 cursor-not-allowed" : "text-muted-foreground hover:text-foreground cursor-pointer"
5331
5331
  ),
@@ -5453,7 +5453,7 @@ function WalletInlineModal({ className, ...handlers }) {
5453
5453
  "div",
5454
5454
  {
5455
5455
  "data-privana": true,
5456
- className: chunk4RHSKIPZ_cjs.cn(
5456
+ className: chunkVNECVPMU_cjs.cn(
5457
5457
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
5458
5458
  className
5459
5459
  ),
@@ -5464,295 +5464,295 @@ function WalletInlineModal({ className, ...handlers }) {
5464
5464
 
5465
5465
  Object.defineProperty(exports, "AccountingApiError", {
5466
5466
  enumerable: true,
5467
- get: function () { return chunk4RHSKIPZ_cjs.AccountingApiError; }
5467
+ get: function () { return chunkVNECVPMU_cjs.AccountingApiError; }
5468
5468
  });
5469
5469
  Object.defineProperty(exports, "Button", {
5470
5470
  enumerable: true,
5471
- get: function () { return chunk4RHSKIPZ_cjs.Button; }
5471
+ get: function () { return chunkVNECVPMU_cjs.Button; }
5472
5472
  });
5473
5473
  Object.defineProperty(exports, "DEFAULT_LOCK_DURATION_SECONDS", {
5474
5474
  enumerable: true,
5475
- get: function () { return chunk4RHSKIPZ_cjs.DEFAULT_LOCK_DURATION_SECONDS; }
5475
+ get: function () { return chunkVNECVPMU_cjs.DEFAULT_LOCK_DURATION_SECONDS; }
5476
5476
  });
5477
5477
  Object.defineProperty(exports, "DEFAULT_ONRAMP_LOCK_BUFFER", {
5478
5478
  enumerable: true,
5479
- get: function () { return chunk4RHSKIPZ_cjs.DEFAULT_ONRAMP_LOCK_BUFFER; }
5479
+ get: function () { return chunkVNECVPMU_cjs.DEFAULT_ONRAMP_LOCK_BUFFER; }
5480
5480
  });
5481
5481
  Object.defineProperty(exports, "HOSTED_AUTH_CLOCK_SKEW_MS", {
5482
5482
  enumerable: true,
5483
- get: function () { return chunk4RHSKIPZ_cjs.HOSTED_AUTH_CLOCK_SKEW_MS; }
5483
+ get: function () { return chunkVNECVPMU_cjs.HOSTED_AUTH_CLOCK_SKEW_MS; }
5484
5484
  });
5485
5485
  Object.defineProperty(exports, "HostedAuthError", {
5486
5486
  enumerable: true,
5487
- get: function () { return chunk4RHSKIPZ_cjs.HostedAuthError; }
5487
+ get: function () { return chunkVNECVPMU_cjs.HostedAuthError; }
5488
5488
  });
5489
5489
  Object.defineProperty(exports, "HostedAuthRequiredError", {
5490
5490
  enumerable: true,
5491
- get: function () { return chunk4RHSKIPZ_cjs.HostedAuthRequiredError; }
5491
+ get: function () { return chunkVNECVPMU_cjs.HostedAuthRequiredError; }
5492
5492
  });
5493
5493
  Object.defineProperty(exports, "HostedAuthStateMismatchError", {
5494
5494
  enumerable: true,
5495
- get: function () { return chunk4RHSKIPZ_cjs.HostedAuthStateMismatchError; }
5495
+ get: function () { return chunkVNECVPMU_cjs.HostedAuthStateMismatchError; }
5496
5496
  });
5497
5497
  Object.defineProperty(exports, "HttpClient", {
5498
5498
  enumerable: true,
5499
- get: function () { return chunk4RHSKIPZ_cjs.HttpClient; }
5499
+ get: function () { return chunkVNECVPMU_cjs.HttpClient; }
5500
5500
  });
5501
5501
  Object.defineProperty(exports, "LOCK_TYPES", {
5502
5502
  enumerable: true,
5503
- get: function () { return chunk4RHSKIPZ_cjs.LOCK_TYPES; }
5503
+ get: function () { return chunkVNECVPMU_cjs.LOCK_TYPES; }
5504
5504
  });
5505
5505
  Object.defineProperty(exports, "MODIFY_LOCK_TYPES", {
5506
5506
  enumerable: true,
5507
- get: function () { return chunk4RHSKIPZ_cjs.MODIFY_LOCK_TYPES; }
5507
+ get: function () { return chunkVNECVPMU_cjs.MODIFY_LOCK_TYPES; }
5508
5508
  });
5509
5509
  Object.defineProperty(exports, "NETWORK_CONFIG", {
5510
5510
  enumerable: true,
5511
- get: function () { return chunk4RHSKIPZ_cjs.NETWORK_CONFIG; }
5511
+ get: function () { return chunkVNECVPMU_cjs.NETWORK_CONFIG; }
5512
5512
  });
5513
5513
  Object.defineProperty(exports, "NetworkError", {
5514
5514
  enumerable: true,
5515
- get: function () { return chunk4RHSKIPZ_cjs.NetworkError; }
5515
+ get: function () { return chunkVNECVPMU_cjs.NetworkError; }
5516
5516
  });
5517
5517
  Object.defineProperty(exports, "PostDepositLockError", {
5518
5518
  enumerable: true,
5519
- get: function () { return chunk4RHSKIPZ_cjs.PostDepositLockError; }
5519
+ get: function () { return chunkVNECVPMU_cjs.PostDepositLockError; }
5520
5520
  });
5521
5521
  Object.defineProperty(exports, "PrivanaClient", {
5522
5522
  enumerable: true,
5523
- get: function () { return chunk4RHSKIPZ_cjs.PrivanaClient; }
5523
+ get: function () { return chunkVNECVPMU_cjs.PrivanaClient; }
5524
5524
  });
5525
5525
  Object.defineProperty(exports, "PrivanaProvider", {
5526
5526
  enumerable: true,
5527
- get: function () { return chunk4RHSKIPZ_cjs.PrivanaProvider; }
5527
+ get: function () { return chunkVNECVPMU_cjs.PrivanaProvider; }
5528
5528
  });
5529
5529
  Object.defineProperty(exports, "SUPPORTED_CHAINS", {
5530
5530
  enumerable: true,
5531
- get: function () { return chunk4RHSKIPZ_cjs.SUPPORTED_CHAINS; }
5531
+ get: function () { return chunkVNECVPMU_cjs.SUPPORTED_CHAINS; }
5532
5532
  });
5533
5533
  Object.defineProperty(exports, "SiweAuthProvider", {
5534
5534
  enumerable: true,
5535
- get: function () { return chunk4RHSKIPZ_cjs.SiweAuthProvider; }
5535
+ get: function () { return chunkVNECVPMU_cjs.SiweAuthProvider; }
5536
5536
  });
5537
5537
  Object.defineProperty(exports, "Skeleton", {
5538
5538
  enumerable: true,
5539
- get: function () { return chunk4RHSKIPZ_cjs.Skeleton; }
5539
+ get: function () { return chunkVNECVPMU_cjs.Skeleton; }
5540
5540
  });
5541
5541
  Object.defineProperty(exports, "TRANSFER_LOCKED_TYPES", {
5542
5542
  enumerable: true,
5543
- get: function () { return chunk4RHSKIPZ_cjs.TRANSFER_LOCKED_TYPES; }
5543
+ get: function () { return chunkVNECVPMU_cjs.TRANSFER_LOCKED_TYPES; }
5544
5544
  });
5545
5545
  Object.defineProperty(exports, "TRANSFER_TYPES", {
5546
5546
  enumerable: true,
5547
- get: function () { return chunk4RHSKIPZ_cjs.TRANSFER_TYPES; }
5547
+ get: function () { return chunkVNECVPMU_cjs.TRANSFER_TYPES; }
5548
5548
  });
5549
5549
  Object.defineProperty(exports, "ValidationError", {
5550
5550
  enumerable: true,
5551
- get: function () { return chunk4RHSKIPZ_cjs.ValidationError; }
5551
+ get: function () { return chunkVNECVPMU_cjs.ValidationError; }
5552
5552
  });
5553
5553
  Object.defineProperty(exports, "WITHDRAW_FROM_LOCK_TYPES", {
5554
5554
  enumerable: true,
5555
- get: function () { return chunk4RHSKIPZ_cjs.WITHDRAW_FROM_LOCK_TYPES; }
5555
+ get: function () { return chunkVNECVPMU_cjs.WITHDRAW_FROM_LOCK_TYPES; }
5556
5556
  });
5557
5557
  Object.defineProperty(exports, "WITHDRAW_TYPES", {
5558
5558
  enumerable: true,
5559
- get: function () { return chunk4RHSKIPZ_cjs.WITHDRAW_TYPES; }
5559
+ get: function () { return chunkVNECVPMU_cjs.WITHDRAW_TYPES; }
5560
5560
  });
5561
5561
  Object.defineProperty(exports, "applyLockBuffer", {
5562
5562
  enumerable: true,
5563
- get: function () { return chunk4RHSKIPZ_cjs.applyLockBuffer; }
5563
+ get: function () { return chunkVNECVPMU_cjs.applyLockBuffer; }
5564
5564
  });
5565
5565
  Object.defineProperty(exports, "applyRefreshResponse", {
5566
5566
  enumerable: true,
5567
- get: function () { return chunk4RHSKIPZ_cjs.applyRefreshResponse; }
5567
+ get: function () { return chunkVNECVPMU_cjs.applyRefreshResponse; }
5568
5568
  });
5569
5569
  Object.defineProperty(exports, "buildHostedAuthSession", {
5570
5570
  enumerable: true,
5571
- get: function () { return chunk4RHSKIPZ_cjs.buildHostedAuthSession; }
5571
+ get: function () { return chunkVNECVPMU_cjs.buildHostedAuthSession; }
5572
5572
  });
5573
5573
  Object.defineProperty(exports, "buildSiweStatement", {
5574
5574
  enumerable: true,
5575
- get: function () { return chunk4RHSKIPZ_cjs.buildSiweStatement; }
5575
+ get: function () { return chunkVNECVPMU_cjs.buildSiweStatement; }
5576
5576
  });
5577
5577
  Object.defineProperty(exports, "buttonVariants", {
5578
5578
  enumerable: true,
5579
- get: function () { return chunk4RHSKIPZ_cjs.buttonVariants; }
5579
+ get: function () { return chunkVNECVPMU_cjs.buttonVariants; }
5580
5580
  });
5581
5581
  Object.defineProperty(exports, "clampLockAmount", {
5582
5582
  enumerable: true,
5583
- get: function () { return chunk4RHSKIPZ_cjs.clampLockAmount; }
5583
+ get: function () { return chunkVNECVPMU_cjs.clampLockAmount; }
5584
5584
  });
5585
5585
  Object.defineProperty(exports, "clearHostedAuthPendingTransaction", {
5586
5586
  enumerable: true,
5587
- get: function () { return chunk4RHSKIPZ_cjs.clearHostedAuthPendingTransaction; }
5587
+ get: function () { return chunkVNECVPMU_cjs.clearHostedAuthPendingTransaction; }
5588
5588
  });
5589
5589
  Object.defineProperty(exports, "clearPendingLock", {
5590
5590
  enumerable: true,
5591
- get: function () { return chunk4RHSKIPZ_cjs.clearPendingLock; }
5591
+ get: function () { return chunkVNECVPMU_cjs.clearPendingLock; }
5592
5592
  });
5593
5593
  Object.defineProperty(exports, "createDomain", {
5594
5594
  enumerable: true,
5595
- get: function () { return chunk4RHSKIPZ_cjs.createDomain; }
5595
+ get: function () { return chunkVNECVPMU_cjs.createDomain; }
5596
5596
  });
5597
5597
  Object.defineProperty(exports, "createHostedAuthPendingStorageKey", {
5598
5598
  enumerable: true,
5599
- get: function () { return chunk4RHSKIPZ_cjs.createHostedAuthPendingStorageKey; }
5599
+ get: function () { return chunkVNECVPMU_cjs.createHostedAuthPendingStorageKey; }
5600
5600
  });
5601
5601
  Object.defineProperty(exports, "createHostedAuthState", {
5602
5602
  enumerable: true,
5603
- get: function () { return chunk4RHSKIPZ_cjs.createHostedAuthState; }
5603
+ get: function () { return chunkVNECVPMU_cjs.createHostedAuthState; }
5604
5604
  });
5605
5605
  Object.defineProperty(exports, "createHostedAuthStorageKey", {
5606
5606
  enumerable: true,
5607
- get: function () { return chunk4RHSKIPZ_cjs.createHostedAuthStorageKey; }
5607
+ get: function () { return chunkVNECVPMU_cjs.createHostedAuthStorageKey; }
5608
5608
  });
5609
5609
  Object.defineProperty(exports, "createLockExpiry", {
5610
5610
  enumerable: true,
5611
- get: function () { return chunk4RHSKIPZ_cjs.createLockExpiry; }
5611
+ get: function () { return chunkVNECVPMU_cjs.createLockExpiry; }
5612
5612
  });
5613
5613
  Object.defineProperty(exports, "createPkceChallenge", {
5614
5614
  enumerable: true,
5615
- get: function () { return chunk4RHSKIPZ_cjs.createPkceChallenge; }
5615
+ get: function () { return chunkVNECVPMU_cjs.createPkceChallenge; }
5616
5616
  });
5617
5617
  Object.defineProperty(exports, "createPkceVerifier", {
5618
5618
  enumerable: true,
5619
- get: function () { return chunk4RHSKIPZ_cjs.createPkceVerifier; }
5619
+ get: function () { return chunkVNECVPMU_cjs.createPkceVerifier; }
5620
5620
  });
5621
5621
  Object.defineProperty(exports, "createSignedLockRequest", {
5622
5622
  enumerable: true,
5623
- get: function () { return chunk4RHSKIPZ_cjs.createSignedLockRequest; }
5623
+ get: function () { return chunkVNECVPMU_cjs.createSignedLockRequest; }
5624
5624
  });
5625
5625
  Object.defineProperty(exports, "getAccountingContract", {
5626
5626
  enumerable: true,
5627
- get: function () { return chunk4RHSKIPZ_cjs.getAccountingContract; }
5627
+ get: function () { return chunkVNECVPMU_cjs.getAccountingContract; }
5628
5628
  });
5629
5629
  Object.defineProperty(exports, "getApiUrl", {
5630
5630
  enumerable: true,
5631
- get: function () { return chunk4RHSKIPZ_cjs.getApiUrl; }
5631
+ get: function () { return chunkVNECVPMU_cjs.getApiUrl; }
5632
5632
  });
5633
5633
  Object.defineProperty(exports, "getChainById", {
5634
5634
  enumerable: true,
5635
- get: function () { return chunk4RHSKIPZ_cjs.getChainById; }
5635
+ get: function () { return chunkVNECVPMU_cjs.getChainById; }
5636
5636
  });
5637
5637
  Object.defineProperty(exports, "getChainId", {
5638
5638
  enumerable: true,
5639
- get: function () { return chunk4RHSKIPZ_cjs.getChainId; }
5639
+ get: function () { return chunkVNECVPMU_cjs.getChainId; }
5640
5640
  });
5641
5641
  Object.defineProperty(exports, "getExplorerAddressUrl", {
5642
5642
  enumerable: true,
5643
- get: function () { return chunk4RHSKIPZ_cjs.getExplorerAddressUrl; }
5643
+ get: function () { return chunkVNECVPMU_cjs.getExplorerAddressUrl; }
5644
5644
  });
5645
5645
  Object.defineProperty(exports, "getExplorerLabel", {
5646
5646
  enumerable: true,
5647
- get: function () { return chunk4RHSKIPZ_cjs.getExplorerLabel; }
5647
+ get: function () { return chunkVNECVPMU_cjs.getExplorerLabel; }
5648
5648
  });
5649
5649
  Object.defineProperty(exports, "isHostedAuthRefreshActive", {
5650
5650
  enumerable: true,
5651
- get: function () { return chunk4RHSKIPZ_cjs.isHostedAuthRefreshActive; }
5651
+ get: function () { return chunkVNECVPMU_cjs.isHostedAuthRefreshActive; }
5652
5652
  });
5653
5653
  Object.defineProperty(exports, "isHostedAuthSessionActive", {
5654
5654
  enumerable: true,
5655
- get: function () { return chunk4RHSKIPZ_cjs.isHostedAuthSessionActive; }
5655
+ get: function () { return chunkVNECVPMU_cjs.isHostedAuthSessionActive; }
5656
5656
  });
5657
5657
  Object.defineProperty(exports, "isSignedLockUsable", {
5658
5658
  enumerable: true,
5659
- get: function () { return chunk4RHSKIPZ_cjs.isSignedLockUsable; }
5659
+ get: function () { return chunkVNECVPMU_cjs.isSignedLockUsable; }
5660
5660
  });
5661
5661
  Object.defineProperty(exports, "loadPendingLock", {
5662
5662
  enumerable: true,
5663
- get: function () { return chunk4RHSKIPZ_cjs.loadPendingLock; }
5663
+ get: function () { return chunkVNECVPMU_cjs.loadPendingLock; }
5664
5664
  });
5665
5665
  Object.defineProperty(exports, "normalizeAddress", {
5666
5666
  enumerable: true,
5667
- get: function () { return chunk4RHSKIPZ_cjs.normalizeAddress; }
5667
+ get: function () { return chunkVNECVPMU_cjs.normalizeAddress; }
5668
5668
  });
5669
5669
  Object.defineProperty(exports, "normalizeHex", {
5670
5670
  enumerable: true,
5671
- get: function () { return chunk4RHSKIPZ_cjs.normalizeHex; }
5671
+ get: function () { return chunkVNECVPMU_cjs.normalizeHex; }
5672
5672
  });
5673
5673
  Object.defineProperty(exports, "parseHostedAuthCallback", {
5674
5674
  enumerable: true,
5675
- get: function () { return chunk4RHSKIPZ_cjs.parseHostedAuthCallback; }
5675
+ get: function () { return chunkVNECVPMU_cjs.parseHostedAuthCallback; }
5676
5676
  });
5677
5677
  Object.defineProperty(exports, "persistHostedAuthPendingTransaction", {
5678
5678
  enumerable: true,
5679
- get: function () { return chunk4RHSKIPZ_cjs.persistHostedAuthPendingTransaction; }
5679
+ get: function () { return chunkVNECVPMU_cjs.persistHostedAuthPendingTransaction; }
5680
5680
  });
5681
5681
  Object.defineProperty(exports, "readHostedAuthPendingTransaction", {
5682
5682
  enumerable: true,
5683
- get: function () { return chunk4RHSKIPZ_cjs.readHostedAuthPendingTransaction; }
5683
+ get: function () { return chunkVNECVPMU_cjs.readHostedAuthPendingTransaction; }
5684
5684
  });
5685
5685
  Object.defineProperty(exports, "readStoredHostedAuthSession", {
5686
5686
  enumerable: true,
5687
- get: function () { return chunk4RHSKIPZ_cjs.readStoredHostedAuthSession; }
5687
+ get: function () { return chunkVNECVPMU_cjs.readStoredHostedAuthSession; }
5688
5688
  });
5689
5689
  Object.defineProperty(exports, "requireDepositLockOwner", {
5690
5690
  enumerable: true,
5691
- get: function () { return chunk4RHSKIPZ_cjs.requireDepositLockOwner; }
5691
+ get: function () { return chunkVNECVPMU_cjs.requireDepositLockOwner; }
5692
5692
  });
5693
5693
  Object.defineProperty(exports, "requireServiceAddress", {
5694
5694
  enumerable: true,
5695
- get: function () { return chunk4RHSKIPZ_cjs.requireServiceAddress; }
5695
+ get: function () { return chunkVNECVPMU_cjs.requireServiceAddress; }
5696
5696
  });
5697
5697
  Object.defineProperty(exports, "savePendingLock", {
5698
5698
  enumerable: true,
5699
- get: function () { return chunk4RHSKIPZ_cjs.savePendingLock; }
5699
+ get: function () { return chunkVNECVPMU_cjs.savePendingLock; }
5700
5700
  });
5701
5701
  Object.defineProperty(exports, "signLockMessage", {
5702
5702
  enumerable: true,
5703
- get: function () { return chunk4RHSKIPZ_cjs.signLockMessage; }
5703
+ get: function () { return chunkVNECVPMU_cjs.signLockMessage; }
5704
5704
  });
5705
5705
  Object.defineProperty(exports, "signModifyLockMessage", {
5706
5706
  enumerable: true,
5707
- get: function () { return chunk4RHSKIPZ_cjs.signModifyLockMessage; }
5707
+ get: function () { return chunkVNECVPMU_cjs.signModifyLockMessage; }
5708
5708
  });
5709
5709
  Object.defineProperty(exports, "signTransferLockedMessage", {
5710
5710
  enumerable: true,
5711
- get: function () { return chunk4RHSKIPZ_cjs.signTransferLockedMessage; }
5711
+ get: function () { return chunkVNECVPMU_cjs.signTransferLockedMessage; }
5712
5712
  });
5713
5713
  Object.defineProperty(exports, "signTransferMessage", {
5714
5714
  enumerable: true,
5715
- get: function () { return chunk4RHSKIPZ_cjs.signTransferMessage; }
5715
+ get: function () { return chunkVNECVPMU_cjs.signTransferMessage; }
5716
5716
  });
5717
5717
  Object.defineProperty(exports, "signWithdrawFromLockMessage", {
5718
5718
  enumerable: true,
5719
- get: function () { return chunk4RHSKIPZ_cjs.signWithdrawFromLockMessage; }
5719
+ get: function () { return chunkVNECVPMU_cjs.signWithdrawFromLockMessage; }
5720
5720
  });
5721
5721
  Object.defineProperty(exports, "signWithdrawMessage", {
5722
5722
  enumerable: true,
5723
- get: function () { return chunk4RHSKIPZ_cjs.signWithdrawMessage; }
5723
+ get: function () { return chunkVNECVPMU_cjs.signWithdrawMessage; }
5724
5724
  });
5725
5725
  Object.defineProperty(exports, "stripHostedAuthCallbackParams", {
5726
5726
  enumerable: true,
5727
- get: function () { return chunk4RHSKIPZ_cjs.stripHostedAuthCallbackParams; }
5727
+ get: function () { return chunkVNECVPMU_cjs.stripHostedAuthCallbackParams; }
5728
5728
  });
5729
5729
  Object.defineProperty(exports, "submitPendingLock", {
5730
5730
  enumerable: true,
5731
- get: function () { return chunk4RHSKIPZ_cjs.submitPendingLock; }
5731
+ get: function () { return chunkVNECVPMU_cjs.submitPendingLock; }
5732
5732
  });
5733
5733
  Object.defineProperty(exports, "syncHostedAuthSessionToClient", {
5734
5734
  enumerable: true,
5735
- get: function () { return chunk4RHSKIPZ_cjs.syncHostedAuthSessionToClient; }
5735
+ get: function () { return chunkVNECVPMU_cjs.syncHostedAuthSessionToClient; }
5736
5736
  });
5737
5737
  Object.defineProperty(exports, "useDepositVerification", {
5738
5738
  enumerable: true,
5739
- get: function () { return chunk4RHSKIPZ_cjs.useDepositVerification; }
5739
+ get: function () { return chunkVNECVPMU_cjs.useDepositVerification; }
5740
5740
  });
5741
5741
  Object.defineProperty(exports, "usePrivanaContext", {
5742
5742
  enumerable: true,
5743
- get: function () { return chunk4RHSKIPZ_cjs.usePrivanaContext; }
5743
+ get: function () { return chunkVNECVPMU_cjs.usePrivanaContext; }
5744
5744
  });
5745
5745
  Object.defineProperty(exports, "useSafeAccount", {
5746
5746
  enumerable: true,
5747
- get: function () { return chunk4RHSKIPZ_cjs.useSafeAccount; }
5747
+ get: function () { return chunkVNECVPMU_cjs.useSafeAccount; }
5748
5748
  });
5749
5749
  Object.defineProperty(exports, "useSafePrivanaContext", {
5750
5750
  enumerable: true,
5751
- get: function () { return chunk4RHSKIPZ_cjs.useSafePrivanaContext; }
5751
+ get: function () { return chunkVNECVPMU_cjs.useSafePrivanaContext; }
5752
5752
  });
5753
5753
  Object.defineProperty(exports, "useSiweAuth", {
5754
5754
  enumerable: true,
5755
- get: function () { return chunk4RHSKIPZ_cjs.useSiweAuth; }
5755
+ get: function () { return chunkVNECVPMU_cjs.useSiweAuth; }
5756
5756
  });
5757
5757
  exports.DepositInlineModal = DepositInlineModal;
5758
5758
  exports.DepositModal = DepositModal;