@oasisprotocol/privana-sdk 0.5.6 → 0.5.7

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 chunkTNR7AA52_cjs = require('./chunk-TNR7AA52.cjs');
4
+ var chunkFFYLKZ7J_cjs = require('./chunk-FFYLKZ7J.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 } = chunkTNR7AA52_cjs.usePrivanaContext();
38
+ const { client } = chunkFFYLKZ7J_cjs.usePrivanaContext();
39
39
  return client;
40
40
  }
41
41
  var hostedAuthExchangeInflight = /* @__PURE__ */ new Map();
42
42
  function normalizeHostedAuthError(error) {
43
- if (error instanceof chunkTNR7AA52_cjs.AccountingApiError && error.detail) {
44
- return new chunkTNR7AA52_cjs.HostedAuthError(error.detail);
43
+ if (error instanceof chunkFFYLKZ7J_cjs.AccountingApiError && error.detail) {
44
+ return new chunkFFYLKZ7J_cjs.HostedAuthError(error.detail);
45
45
  }
46
46
  if (error instanceof Error) {
47
47
  return error;
48
48
  }
49
- return new chunkTNR7AA52_cjs.HostedAuthError("Hosted authentication failed.");
49
+ return new chunkFFYLKZ7J_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
- } = chunkTNR7AA52_cjs.usePrivanaContext();
60
+ } = chunkFFYLKZ7J_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 ? chunkTNR7AA52_cjs.createHostedAuthPendingStorageKey(client.getBaseUrl(), hostedAuthConfig) : null,
66
+ () => hostedAuthConfig ? chunkFFYLKZ7J_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
- chunkTNR7AA52_cjs.clearHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
71
+ chunkFFYLKZ7J_cjs.clearHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
72
72
  }, [pendingStorageKey]);
73
73
  const login = react.useCallback(async () => {
74
74
  if (!hostedAuthConfig) {
75
- throw new chunkTNR7AA52_cjs.HostedAuthRequiredError(
75
+ throw new chunkFFYLKZ7J_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 chunkTNR7AA52_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
80
+ throw new chunkFFYLKZ7J_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
81
81
  }
82
82
  if (!pendingStorageKey) {
83
- throw new chunkTNR7AA52_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
83
+ throw new chunkFFYLKZ7J_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 = chunkTNR7AA52_cjs.createPkceVerifier();
93
- const codeChallenge = await chunkTNR7AA52_cjs.createPkceChallenge(verifier);
94
- const state = chunkTNR7AA52_cjs.createHostedAuthState();
95
- chunkTNR7AA52_cjs.persistHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey, {
92
+ const verifier = chunkFFYLKZ7J_cjs.createPkceVerifier();
93
+ const codeChallenge = await chunkFFYLKZ7J_cjs.createPkceChallenge(verifier);
94
+ const state = chunkFFYLKZ7J_cjs.createHostedAuthState();
95
+ chunkFFYLKZ7J_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 chunkTNR7AA52_cjs.HostedAuthRequiredError(
124
+ throw new chunkFFYLKZ7J_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 chunkTNR7AA52_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
129
+ throw new chunkFFYLKZ7J_cjs.HostedAuthError("Hosted redirect authentication requires a browser environment.");
130
130
  }
131
131
  if (!pendingStorageKey) {
132
- throw new chunkTNR7AA52_cjs.HostedAuthError("Hosted redirect authentication storage is not configured.");
132
+ throw new chunkFFYLKZ7J_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, "", chunkTNR7AA52_cjs.stripHostedAuthCallbackParams(callbackUrl));
142
+ window.history.replaceState(null, "", chunkFFYLKZ7J_cjs.stripHostedAuthCallbackParams(callbackUrl));
143
143
  };
144
144
  try {
145
- const callback = chunkTNR7AA52_cjs.parseHostedAuthCallback(callbackUrl, hostedAuthConfig.redirectUri);
145
+ const callback = chunkFFYLKZ7J_cjs.parseHostedAuthCallback(callbackUrl, hostedAuthConfig.redirectUri);
146
146
  if (!callback) {
147
147
  return null;
148
148
  }
149
- const pending = chunkTNR7AA52_cjs.readHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
149
+ const pending = chunkFFYLKZ7J_cjs.readHostedAuthPendingTransaction(window.sessionStorage, pendingStorageKey);
150
150
  if (!pending) {
151
151
  clearPendingLogin();
152
152
  cleanupCallbackUrl();
153
- throw new chunkTNR7AA52_cjs.HostedAuthError(
153
+ throw new chunkFFYLKZ7J_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 chunkTNR7AA52_cjs.HostedAuthStateMismatchError();
160
+ throw new chunkFFYLKZ7J_cjs.HostedAuthStateMismatchError();
161
161
  }
162
162
  if ("error" in callback) {
163
163
  clearPendingLogin();
164
164
  cleanupCallbackUrl();
165
- throw new chunkTNR7AA52_cjs.HostedAuthError(
165
+ throw new chunkFFYLKZ7J_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 = chunkTNR7AA52_cjs.buildHostedAuthSession(response, hostedAuthConfig);
180
+ const session = chunkFFYLKZ7J_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 chunkTNR7AA52_cjs.HostedAuthError("Hosted authentication refresh failed.");
225
+ const normalizedError = refreshError instanceof Error ? refreshError : new chunkFFYLKZ7J_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 = chunkTNR7AA52_cjs.useSafePrivanaContext();
245
+ const accountingContext = chunkFFYLKZ7J_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 } = chunkTNR7AA52_cjs.usePrivateReadRequest();
250
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_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: chunkTNR7AA52_cjs.formatTokenAmount(balanceWei),
267
+ balanceFormatted: chunkFFYLKZ7J_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 } = chunkTNR7AA52_cjs.usePrivanaContext();
278
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
277
+ const { client, pollingInterval } = chunkFFYLKZ7J_cjs.usePrivanaContext();
278
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
279
279
  const query = reactQuery.useQuery({
280
280
  queryKey: ["accounting-batch-balances", ...privateReadQueryScope, options.tokenIds],
281
281
  queryFn: async () => {
@@ -307,17 +307,17 @@ function storageKey(address) {
307
307
  return `privana:pending-deposit:${address.toLowerCase()}`;
308
308
  }
309
309
  function savePendingDeposit(address, data) {
310
- const stored = chunkTNR7AA52_cjs.setBrowserStorageItem(storageKey(address), JSON.stringify(data));
310
+ const stored = chunkFFYLKZ7J_cjs.setBrowserStorageItem(storageKey(address), JSON.stringify(data));
311
311
  if (!stored && data.signedLock) {
312
312
  throw new Error("Unable to persist pending locked deposit for recovery");
313
313
  }
314
314
  }
315
315
  function loadPendingDeposit(address) {
316
316
  try {
317
- const raw = chunkTNR7AA52_cjs.getBrowserStorageItem(storageKey(address));
317
+ const raw = chunkFFYLKZ7J_cjs.getBrowserStorageItem(storageKey(address));
318
318
  if (!raw) return null;
319
319
  const data = JSON.parse(raw);
320
- if (Date.now() - data.savedAt > STALE_MS && !(data.signedLock && chunkTNR7AA52_cjs.isSignedLockUsable(data.signedLock))) {
320
+ if (Date.now() - data.savedAt > STALE_MS && !(data.signedLock && chunkFFYLKZ7J_cjs.isSignedLockUsable(data.signedLock))) {
321
321
  clearPendingDeposit(address);
322
322
  return null;
323
323
  }
@@ -329,21 +329,21 @@ function loadPendingDeposit(address) {
329
329
  function clearPendingDeposit(address, onlyForTxHash) {
330
330
  if (onlyForTxHash) {
331
331
  try {
332
- const raw = chunkTNR7AA52_cjs.getBrowserStorageItem(storageKey(address));
332
+ const raw = chunkFFYLKZ7J_cjs.getBrowserStorageItem(storageKey(address));
333
333
  const recordTxHash = raw ? JSON.parse(raw).txHash : void 0;
334
334
  if (recordTxHash && recordTxHash !== onlyForTxHash) return;
335
335
  } catch {
336
336
  }
337
337
  }
338
- chunkTNR7AA52_cjs.removeBrowserStorageItem(storageKey(address));
338
+ chunkFFYLKZ7J_cjs.removeBrowserStorageItem(storageKey(address));
339
339
  }
340
340
  function useDeposit(options = {}) {
341
341
  const { address } = wagmi.useAccount();
342
- const { client, enabledTokens, getChainById: getChainById2, networkConfig, serviceAddress } = chunkTNR7AA52_cjs.usePrivanaContext();
342
+ const { client, enabledTokens, getChainById: getChainById2, networkConfig, serviceAddress } = chunkFFYLKZ7J_cjs.usePrivanaContext();
343
343
  const { data: walletClient } = wagmi.useWalletClient();
344
344
  const queryClient = reactQuery.useQueryClient();
345
345
  const config = wagmi.useConfig();
346
- const { executePrivateRead, privateReadAddress } = chunkTNR7AA52_cjs.usePrivateReadRequest();
346
+ const { executePrivateRead, privateReadAddress } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
347
347
  const privateReadAddressRef = react.useRef(privateReadAddress);
348
348
  privateReadAddressRef.current = privateReadAddress;
349
349
  const [depositAddress, setDepositAddress] = react.useState(null);
@@ -382,7 +382,7 @@ function useDeposit(options = {}) {
382
382
  const submitPendingLockAfterCredit = react.useCallback(
383
383
  async (signedLock, creditedAmount) => {
384
384
  try {
385
- const result = await chunkTNR7AA52_cjs.submitPendingLock({
385
+ const result = await chunkFFYLKZ7J_cjs.submitPendingLock({
386
386
  client,
387
387
  payload: signedLock,
388
388
  creditedAmount
@@ -393,7 +393,7 @@ function useDeposit(options = {}) {
393
393
  queryClient.invalidateQueries({ queryKey: ["accounting-history"] });
394
394
  onLockSubmittedRef.current?.(result);
395
395
  } catch (err) {
396
- const error2 = err instanceof chunkTNR7AA52_cjs.PostDepositLockError ? err : new chunkTNR7AA52_cjs.PostDepositLockError(
396
+ const error2 = err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError ? err : new chunkFFYLKZ7J_cjs.PostDepositLockError(
397
397
  err instanceof Error ? err.message : "Lock submission failed",
398
398
  "submission-failed",
399
399
  BigInt(signedLock.amount),
@@ -412,7 +412,7 @@ function useDeposit(options = {}) {
412
412
  error: verificationError,
413
413
  verify,
414
414
  reset: resetVerification
415
- } = chunkTNR7AA52_cjs.useDepositVerification({
415
+ } = chunkFFYLKZ7J_cjs.useDepositVerification({
416
416
  pollInterval: options.pollInterval,
417
417
  pollTimeout: options.pollTimeout,
418
418
  onCredited: (hash, response, creditedAmount) => {
@@ -462,7 +462,7 @@ function useDeposit(options = {}) {
462
462
  } = wagmi.useSendTransaction();
463
463
  const isSendingTx = isWritingContract || isSendingNative;
464
464
  const sendError = writeError ?? sendNativeError;
465
- const { ensureCorrectChain } = chunkTNR7AA52_cjs.useEnsureCorrectChain();
465
+ const { ensureCorrectChain } = chunkFFYLKZ7J_cjs.useEnsureCorrectChain();
466
466
  const invalidateGeneration = react.useCallback(() => {
467
467
  generationRef.current++;
468
468
  }, []);
@@ -511,16 +511,16 @@ function useDeposit(options = {}) {
511
511
  const confirmations = resolveConfirmations(persisted.depositAddress, persisted.chainId);
512
512
  let confirmed = false;
513
513
  try {
514
- const receipt = await chunkTNR7AA52_cjs.getTransactionReceipt(config, {
514
+ const receipt = await chunkFFYLKZ7J_cjs.getTransactionReceipt(config, {
515
515
  hash,
516
516
  chainId: persisted.chainId
517
517
  });
518
- const blockNumber = await chunkTNR7AA52_cjs.getBlockNumber(config, { chainId: persisted.chainId });
518
+ const blockNumber = await chunkFFYLKZ7J_cjs.getBlockNumber(config, { chainId: persisted.chainId });
519
519
  confirmed = blockNumber - receipt.blockNumber + 1n >= BigInt(confirmations);
520
520
  } catch {
521
521
  }
522
522
  if (!confirmed) {
523
- await chunkTNR7AA52_cjs.waitForTransactionReceipt(config, {
523
+ await chunkFFYLKZ7J_cjs.waitForTransactionReceipt(config, {
524
524
  hash,
525
525
  chainId: persisted.chainId,
526
526
  confirmations
@@ -572,13 +572,13 @@ function useDeposit(options = {}) {
572
572
  );
573
573
  }
574
574
  const confirmations = resolveConfirmations(addrResponse, sourceChain.id);
575
- if (params.postDepositLock && !chunkTNR7AA52_cjs.canUseBrowserStorage()) {
575
+ if (params.postDepositLock && !chunkFFYLKZ7J_cjs.canUseBrowserStorage()) {
576
576
  throw new Error("Browser storage is required for locked deposit recovery");
577
577
  }
578
- const lockAmount = chunkTNR7AA52_cjs.clampLockAmount(params.amount, params.postDepositLock?.maxAmount);
578
+ const lockAmount = chunkFFYLKZ7J_cjs.clampLockAmount(params.amount, params.postDepositLock?.maxAmount);
579
579
  let signedLock;
580
580
  if (params.postDepositLock) {
581
- const lockOwner = chunkTNR7AA52_cjs.requireDepositLockOwner(address, privateReadAddress);
581
+ const lockOwner = chunkFFYLKZ7J_cjs.requireDepositLockOwner(address, privateReadAddress);
582
582
  setIsSwitchingChain(true);
583
583
  try {
584
584
  await ensureCorrectChain(networkConfig.chainId);
@@ -586,15 +586,15 @@ function useDeposit(options = {}) {
586
586
  if (!isStale()) setIsSwitchingChain(false);
587
587
  }
588
588
  if (isStale()) return;
589
- const signingWalletClient = await chunkTNR7AA52_cjs.getWalletClient(config, {
589
+ const signingWalletClient = await chunkFFYLKZ7J_cjs.getWalletClient(config, {
590
590
  chainId: networkConfig.chainId
591
591
  });
592
- signedLock = await chunkTNR7AA52_cjs.createSignedLockRequest({
592
+ signedLock = await chunkFFYLKZ7J_cjs.createSignedLockRequest({
593
593
  client,
594
594
  walletClient: signingWalletClient,
595
595
  userAddress: lockOwner,
596
596
  networkConfig,
597
- serviceAddress: chunkTNR7AA52_cjs.requireServiceAddress(
597
+ serviceAddress: chunkFFYLKZ7J_cjs.requireServiceAddress(
598
598
  params.postDepositLock.serviceAddress ?? serviceAddress
599
599
  ),
600
600
  tokenId: params.tokenId,
@@ -648,7 +648,7 @@ function useDeposit(options = {}) {
648
648
  try {
649
649
  setIsWaitingForConfirmation(true);
650
650
  try {
651
- await chunkTNR7AA52_cjs.waitForTransactionReceipt(config, {
651
+ await chunkFFYLKZ7J_cjs.waitForTransactionReceipt(config, {
652
652
  hash,
653
653
  chainId: sourceChain.id,
654
654
  confirmations
@@ -724,10 +724,10 @@ function useDeposit(options = {}) {
724
724
  }
725
725
  function useDepositAddress(options = {}) {
726
726
  const queryClient = react.useContext(reactQuery.QueryClientContext);
727
- const accountingContext = chunkTNR7AA52_cjs.useSafePrivanaContext();
727
+ const accountingContext = chunkFFYLKZ7J_cjs.useSafePrivanaContext();
728
728
  const hasProviders = !!queryClient && !!accountingContext;
729
729
  const client = accountingContext?.client;
730
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
730
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
731
731
  const isReady = hasProviders && privateReadReady && !!privateReadAddress && !!client;
732
732
  const query = reactQuery.useQuery({
733
733
  queryKey: ["accounting-deposit-address", ...privateReadQueryScope],
@@ -751,9 +751,9 @@ function useDepositAddress(options = {}) {
751
751
  function useWithdraw(options = {}) {
752
752
  const { address } = wagmi.useAccount();
753
753
  const { data: walletClient } = wagmi.useWalletClient();
754
- const { client, networkConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
754
+ const { client, networkConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
755
755
  const queryClient = reactQuery.useQueryClient();
756
- const { chainId, ensureCorrectChain } = chunkTNR7AA52_cjs.useEnsureCorrectChain();
756
+ const { chainId, ensureCorrectChain } = chunkFFYLKZ7J_cjs.useEnsureCorrectChain();
757
757
  const pollInterval = options.pollInterval ?? 3e3;
758
758
  const pollTimeout = options.pollTimeout ?? 18e4;
759
759
  const [currentStep, setCurrentStep] = react.useState("idle");
@@ -821,7 +821,7 @@ function useWithdraw(options = {}) {
821
821
  if (isStale()) return void 0;
822
822
  const nonce = BigInt(nonceResponse.nonce);
823
823
  setCurrentStep("signing");
824
- const signature = await chunkTNR7AA52_cjs.signWithdrawMessage({
824
+ const signature = await chunkFFYLKZ7J_cjs.signWithdrawMessage({
825
825
  walletClient,
826
826
  chainId: signingChainId,
827
827
  verifyingContract: networkConfig.accountingContract,
@@ -950,7 +950,7 @@ function useWithdraw(options = {}) {
950
950
  function useLockFunds(options = {}) {
951
951
  const { address } = wagmi.useAccount();
952
952
  const { data: walletClient } = wagmi.useWalletClient();
953
- const { client, networkConfig, serviceAddress } = chunkTNR7AA52_cjs.usePrivanaContext();
953
+ const { client, networkConfig, serviceAddress } = chunkFFYLKZ7J_cjs.usePrivanaContext();
954
954
  const queryClient = reactQuery.useQueryClient();
955
955
  const mutation = reactQuery.useMutation({
956
956
  mutationFn: async (params) => {
@@ -961,7 +961,7 @@ function useLockFunds(options = {}) {
961
961
  throw new Error("Service address not configured");
962
962
  }
963
963
  const { nonce } = await client.getLockNonce(address);
964
- const signature = await chunkTNR7AA52_cjs.signLockMessage({
964
+ const signature = await chunkFFYLKZ7J_cjs.signLockMessage({
965
965
  walletClient,
966
966
  chainId: networkConfig.chainId,
967
967
  verifyingContract: networkConfig.accountingContract,
@@ -1009,7 +1009,7 @@ function useLockFunds(options = {}) {
1009
1009
  }
1010
1010
  function useUnlockFunds(options = {}) {
1011
1011
  const { address } = wagmi.useAccount();
1012
- const { client } = chunkTNR7AA52_cjs.usePrivanaContext();
1012
+ const { client } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1013
1013
  const queryClient = reactQuery.useQueryClient();
1014
1014
  const unlockMutation = reactQuery.useMutation({
1015
1015
  mutationFn: async (params) => {
@@ -1079,7 +1079,7 @@ function useUnlockFunds(options = {}) {
1079
1079
  function useTransfer(options = {}) {
1080
1080
  const { address } = wagmi.useAccount();
1081
1081
  const { data: walletClient } = wagmi.useWalletClient();
1082
- const { client, networkConfig, serviceAddress } = chunkTNR7AA52_cjs.usePrivanaContext();
1082
+ const { client, networkConfig, serviceAddress } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1083
1083
  const queryClient = reactQuery.useQueryClient();
1084
1084
  const transferMutation = reactQuery.useMutation({
1085
1085
  mutationFn: async (params) => {
@@ -1087,7 +1087,7 @@ function useTransfer(options = {}) {
1087
1087
  throw new Error("Wallet not connected");
1088
1088
  }
1089
1089
  const { nonce } = await client.getTransferNonce(address);
1090
- const signature = await chunkTNR7AA52_cjs.signTransferMessage({
1090
+ const signature = await chunkFFYLKZ7J_cjs.signTransferMessage({
1091
1091
  walletClient,
1092
1092
  chainId: networkConfig.chainId,
1093
1093
  verifyingContract: networkConfig.accountingContract,
@@ -1124,7 +1124,7 @@ function useTransfer(options = {}) {
1124
1124
  throw new Error("Service address not configured");
1125
1125
  }
1126
1126
  const { nonce } = await client.getTransferLockedNonce(serviceAddress);
1127
- const signature = await chunkTNR7AA52_cjs.signTransferLockedMessage({
1127
+ const signature = await chunkFFYLKZ7J_cjs.signTransferLockedMessage({
1128
1128
  walletClient,
1129
1129
  chainId: networkConfig.chainId,
1130
1130
  verifyingContract: networkConfig.accountingContract,
@@ -1184,8 +1184,8 @@ function useTransfer(options = {}) {
1184
1184
  };
1185
1185
  }
1186
1186
  function useLockedFunds(options = {}) {
1187
- const { client, pollingInterval, serviceAddress } = chunkTNR7AA52_cjs.usePrivanaContext();
1188
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1187
+ const { client, pollingInterval, serviceAddress } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1188
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1189
1189
  const query = reactQuery.useQuery({
1190
1190
  queryKey: ["accounting-locked-funds", ...privateReadQueryScope, serviceAddress ?? null],
1191
1191
  queryFn: async () => {
@@ -1207,8 +1207,8 @@ function useLockedFunds(options = {}) {
1207
1207
  };
1208
1208
  }
1209
1209
  function useTotalLockedBalance(options = {}) {
1210
- const { client, pollingInterval, defaultToken } = chunkTNR7AA52_cjs.usePrivanaContext();
1211
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1210
+ const { client, pollingInterval, defaultToken } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1211
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1212
1212
  const tokenId = options.tokenId ?? defaultToken?.id;
1213
1213
  const query = reactQuery.useQuery({
1214
1214
  queryKey: ["accounting-total-locked-balance", ...privateReadQueryScope, tokenId],
@@ -1229,8 +1229,8 @@ function useTotalLockedBalance(options = {}) {
1229
1229
  };
1230
1230
  }
1231
1231
  function useExpiredLocks(options = {}) {
1232
- const { client, pollingInterval } = chunkTNR7AA52_cjs.usePrivanaContext();
1233
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1232
+ const { client, pollingInterval } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1233
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1234
1234
  const query = reactQuery.useQuery({
1235
1235
  queryKey: ["accounting-expired-locks", ...privateReadQueryScope],
1236
1236
  queryFn: async () => {
@@ -1251,14 +1251,14 @@ function useExpiredLocks(options = {}) {
1251
1251
  };
1252
1252
  }
1253
1253
  function statusCodeOf(error) {
1254
- return error instanceof chunkTNR7AA52_cjs.AccountingApiError ? error.statusCode : void 0;
1254
+ return error instanceof chunkFFYLKZ7J_cjs.AccountingApiError ? error.statusCode : void 0;
1255
1255
  }
1256
1256
  function usePendingDeposits(options = {}) {
1257
1257
  const queryClient = react.useContext(reactQuery.QueryClientContext);
1258
- const accountingContext = chunkTNR7AA52_cjs.useSafePrivanaContext();
1258
+ const accountingContext = chunkFFYLKZ7J_cjs.useSafePrivanaContext();
1259
1259
  const hasProviders = !!queryClient && !!accountingContext;
1260
1260
  const client = accountingContext?.client;
1261
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1261
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1262
1262
  const { chainId, tokenAddress, lookbackBlocks } = options;
1263
1263
  const query = reactQuery.useQuery({
1264
1264
  queryKey: ["accounting-pending-deposits", ...privateReadQueryScope, chainId, tokenAddress],
@@ -1305,7 +1305,7 @@ function usePendingDeposits(options = {}) {
1305
1305
  }
1306
1306
  function usePendingWithdrawals(options = {}) {
1307
1307
  const { address, isConnected } = wagmi.useAccount();
1308
- const { client, pollingInterval } = chunkTNR7AA52_cjs.usePrivanaContext();
1308
+ const { client, pollingInterval } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1309
1309
  const query = reactQuery.useQuery({
1310
1310
  queryKey: ["accounting-pending-withdrawals", address],
1311
1311
  queryFn: async () => {
@@ -1341,8 +1341,8 @@ function usePendingWithdrawals(options = {}) {
1341
1341
  };
1342
1342
  }
1343
1343
  function useHistory(options = {}) {
1344
- const { client, pollingInterval } = chunkTNR7AA52_cjs.usePrivanaContext();
1345
- const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1344
+ const { client, pollingInterval } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1345
+ const { executePrivateRead, privateReadAddress, privateReadQueryScope, privateReadReady } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1346
1346
  const offset = options.offset ?? -1;
1347
1347
  const limit = options.limit ?? 50;
1348
1348
  const query = reactQuery.useQuery({
@@ -1366,7 +1366,7 @@ function useHistory(options = {}) {
1366
1366
  };
1367
1367
  }
1368
1368
  function useTokenInfo(options = {}) {
1369
- const { client } = chunkTNR7AA52_cjs.usePrivanaContext();
1369
+ const { client } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1370
1370
  const { tokenId } = options;
1371
1371
  const query = reactQuery.useQuery({
1372
1372
  queryKey: ["accounting-token-info", tokenId],
@@ -1386,7 +1386,7 @@ function useTokenInfo(options = {}) {
1386
1386
  };
1387
1387
  }
1388
1388
  function useTokenList(options = {}) {
1389
- const { client } = chunkTNR7AA52_cjs.usePrivanaContext();
1389
+ const { client } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1390
1390
  const query = reactQuery.useQuery({
1391
1391
  queryKey: ["accounting-token-list"],
1392
1392
  queryFn: () => client.listTokens(),
@@ -1404,7 +1404,7 @@ function useTokenList(options = {}) {
1404
1404
  function useModifyLock(options = {}) {
1405
1405
  const { address } = wagmi.useAccount();
1406
1406
  const { data: walletClient } = wagmi.useWalletClient();
1407
- const { client, networkConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
1407
+ const { client, networkConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1408
1408
  const queryClient = reactQuery.useQueryClient();
1409
1409
  const mutation = reactQuery.useMutation({
1410
1410
  mutationFn: async (params) => {
@@ -1412,7 +1412,7 @@ function useModifyLock(options = {}) {
1412
1412
  throw new Error("Wallet not connected");
1413
1413
  }
1414
1414
  const { nonce } = await client.getModifyLockNonce(address);
1415
- const signature = await chunkTNR7AA52_cjs.signModifyLockMessage({
1415
+ const signature = await chunkFFYLKZ7J_cjs.signModifyLockMessage({
1416
1416
  walletClient,
1417
1417
  chainId: networkConfig.chainId,
1418
1418
  verifyingContract: networkConfig.accountingContract,
@@ -1471,7 +1471,7 @@ function DialogOverlay({
1471
1471
  {
1472
1472
  "data-slot": "dialog-overlay",
1473
1473
  "data-privana": true,
1474
- className: chunkTNR7AA52_cjs.cn(
1474
+ className: chunkFFYLKZ7J_cjs.cn(
1475
1475
  "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",
1476
1476
  className
1477
1477
  ),
@@ -1493,7 +1493,7 @@ function DialogContent({
1493
1493
  {
1494
1494
  "data-slot": "dialog-content",
1495
1495
  "data-privana": true,
1496
- className: chunkTNR7AA52_cjs.cn(
1496
+ className: chunkFFYLKZ7J_cjs.cn(
1497
1497
  "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",
1498
1498
  className
1499
1499
  ),
@@ -1521,7 +1521,7 @@ function DialogTitle({ className, ...props }) {
1521
1521
  DialogPrimitive__namespace.Title,
1522
1522
  {
1523
1523
  "data-slot": "dialog-title",
1524
- className: chunkTNR7AA52_cjs.cn("text-lg leading-none font-semibold", className),
1524
+ className: chunkFFYLKZ7J_cjs.cn("text-lg leading-none font-semibold", className),
1525
1525
  ...props
1526
1526
  }
1527
1527
  );
@@ -1534,7 +1534,7 @@ function DialogDescription({
1534
1534
  DialogPrimitive__namespace.Description,
1535
1535
  {
1536
1536
  "data-slot": "dialog-description",
1537
- className: chunkTNR7AA52_cjs.cn("text-muted-foreground text-sm", className),
1537
+ className: chunkFFYLKZ7J_cjs.cn("text-muted-foreground text-sm", className),
1538
1538
  ...props
1539
1539
  }
1540
1540
  );
@@ -1576,7 +1576,7 @@ function sessionKey(owner, sessionId) {
1576
1576
  return `${SESSION_PREFIX}${owner.toLowerCase()}:${sessionId}`;
1577
1577
  }
1578
1578
  function activeSessionId(owner) {
1579
- const value = chunkTNR7AA52_cjs.getSharedBrowserStorageItem(activeSessionKey(owner));
1579
+ const value = chunkFFYLKZ7J_cjs.getSharedBrowserStorageItem(activeSessionKey(owner));
1580
1580
  return value || void 0;
1581
1581
  }
1582
1582
  function isPositiveIntegerString(value) {
@@ -1608,7 +1608,7 @@ function isSessionRecord(value) {
1608
1608
  }
1609
1609
  function writeSessionRecord(session) {
1610
1610
  const id = externalDepositSessionId(session.chainId, session.tokenId);
1611
- return chunkTNR7AA52_cjs.setSharedBrowserStorageItem(sessionKey(session.owner, id), JSON.stringify(session));
1611
+ return chunkFFYLKZ7J_cjs.setSharedBrowserStorageItem(sessionKey(session.owner, id), JSON.stringify(session));
1612
1612
  }
1613
1613
  function saveExternalDepositLockSession(session, expectedSession = null) {
1614
1614
  if (!isSessionRecord(session)) throw new Error("Invalid external deposit lock session");
@@ -1622,12 +1622,12 @@ function saveExternalDepositLockSession(session, expectedSession = null) {
1622
1622
  throw new Error("Unable to persist external deposit lock session");
1623
1623
  }
1624
1624
  if (previousId !== nextId) {
1625
- if (!chunkTNR7AA52_cjs.setSharedBrowserStorageItem(activeSessionKey(session.owner), nextId)) {
1626
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, nextId));
1625
+ if (!chunkFFYLKZ7J_cjs.setSharedBrowserStorageItem(activeSessionKey(session.owner), nextId)) {
1626
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, nextId));
1627
1627
  throw new Error("Unable to persist external deposit lock session");
1628
1628
  }
1629
1629
  if (previousId) {
1630
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, previousId));
1630
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(sessionKey(session.owner, previousId));
1631
1631
  }
1632
1632
  }
1633
1633
  }
@@ -1636,17 +1636,17 @@ function loadExternalDepositLockSession(owner) {
1636
1636
  if (!id) return void 0;
1637
1637
  const key = sessionKey(owner, id);
1638
1638
  try {
1639
- const raw = chunkTNR7AA52_cjs.getSharedBrowserStorageItem(key);
1639
+ const raw = chunkFFYLKZ7J_cjs.getSharedBrowserStorageItem(key);
1640
1640
  const parsed = raw ? JSON.parse(raw) : void 0;
1641
1641
  if (!isSessionRecord(parsed) || parsed.owner.toLowerCase() !== owner.toLowerCase() || externalDepositSessionId(parsed.chainId, parsed.tokenId) !== id) {
1642
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(key);
1643
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1642
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(key);
1643
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1644
1644
  return void 0;
1645
1645
  }
1646
1646
  return parsed;
1647
1647
  } catch {
1648
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(key);
1649
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1648
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(key);
1649
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1650
1650
  return void 0;
1651
1651
  }
1652
1652
  }
@@ -1677,8 +1677,8 @@ function clearExternalDepositLockSession(owner, expectedSessionId, expectedGener
1677
1677
  const current = loadExternalDepositLockSession(owner);
1678
1678
  if (!current || current.generation !== expectedGeneration) return;
1679
1679
  }
1680
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(sessionKey(owner, id));
1681
- chunkTNR7AA52_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1680
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(sessionKey(owner, id));
1681
+ chunkFFYLKZ7J_cjs.removeSharedBrowserStorageItem(activeSessionKey(owner));
1682
1682
  }
1683
1683
  function isSameVerification(left, right) {
1684
1684
  if (!left || !right) return left === right;
@@ -1731,7 +1731,7 @@ function markSubmissionAmbiguous(session, signature) {
1731
1731
  return writeSessionRecord({ ...current, submissionAmbiguous: true });
1732
1732
  }
1733
1733
  function ambiguousSubmissionError(error) {
1734
- return new chunkTNR7AA52_cjs.PostDepositLockError(
1734
+ return new chunkFFYLKZ7J_cjs.PostDepositLockError(
1735
1735
  "Lock submission could not be confirmed. Retry only the saved signature, or check locked funds before stopping recovery.",
1736
1736
  error.reason,
1737
1737
  error.signedAmount,
@@ -1744,7 +1744,7 @@ function ambiguousSubmissionError(error) {
1744
1744
  }
1745
1745
  function isDefinitiveSubmissionFailure(error) {
1746
1746
  const cause = error.cause;
1747
- return cause instanceof chunkTNR7AA52_cjs.AccountingApiError && cause.statusCode !== 408 && cause.statusCode < 500;
1747
+ return cause instanceof chunkFFYLKZ7J_cjs.AccountingApiError && cause.statusCode !== 408 && cause.statusCode < 500;
1748
1748
  }
1749
1749
  function submissionLockName(session) {
1750
1750
  return `privana:external-deposit-lock:submit:${session.owner.toLowerCase()}:${externalDepositSessionId(session.chainId, session.tokenId)}`;
@@ -1764,7 +1764,7 @@ async function submitExternalDepositLock(client, session) {
1764
1764
  return withSubmissionLock(session, async (crossTabExclusive) => {
1765
1765
  const current = loadExternalDepositLockSession(session.owner);
1766
1766
  if (!current || current.generation !== session.generation) {
1767
- throw new chunkTNR7AA52_cjs.PostDepositLockError(
1767
+ throw new chunkFFYLKZ7J_cjs.PostDepositLockError(
1768
1768
  "External deposit lock session changed before submission",
1769
1769
  "not-found",
1770
1770
  BigInt(session.maxLockAmount),
@@ -1783,7 +1783,7 @@ async function submitExternalDepositLock(client, session) {
1783
1783
  async function submitExternalDepositLockAttempt(client, session, crossTabExclusive) {
1784
1784
  const creditedAmount = session.creditedAmount ? BigInt(session.creditedAmount) : void 0;
1785
1785
  if (!creditedAmount) {
1786
- throw new chunkTNR7AA52_cjs.PostDepositLockError(
1786
+ throw new chunkFFYLKZ7J_cjs.PostDepositLockError(
1787
1787
  "External deposit has not been credited",
1788
1788
  "submission-failed",
1789
1789
  BigInt(session.maxLockAmount)
@@ -1791,7 +1791,7 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1791
1791
  }
1792
1792
  const payload = session.payload;
1793
1793
  if (!payload) {
1794
- throw new chunkTNR7AA52_cjs.PostDepositLockError(
1794
+ throw new chunkFFYLKZ7J_cjs.PostDepositLockError(
1795
1795
  "No persisted signed policy found for this deposit session",
1796
1796
  "not-found",
1797
1797
  BigInt(session.maxLockAmount),
@@ -1799,7 +1799,7 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1799
1799
  );
1800
1800
  }
1801
1801
  try {
1802
- return await chunkTNR7AA52_cjs.submitPendingLock({
1802
+ return await chunkFFYLKZ7J_cjs.submitPendingLock({
1803
1803
  client,
1804
1804
  payload,
1805
1805
  creditedAmount,
@@ -1810,23 +1810,23 @@ async function submitExternalDepositLockAttempt(client, session, crossTabExclusi
1810
1810
  }
1811
1811
  });
1812
1812
  } catch (err) {
1813
- if (err instanceof chunkTNR7AA52_cjs.PostDepositLockError && err.reason === "submission-failed" && crossTabExclusive && !session.submissionAmbiguous && isDefinitiveSubmissionFailure(err)) {
1813
+ if (err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError && err.reason === "submission-failed" && crossTabExclusive && !session.submissionAmbiguous && isDefinitiveSubmissionFailure(err)) {
1814
1814
  if (!clearSubmittedPayload(session, payload.signature, true)) {
1815
1815
  const latest = loadExternalDepositLockSession(session.owner);
1816
1816
  if (latest?.submissionAmbiguous) throw ambiguousSubmissionError(err);
1817
1817
  }
1818
- } else if (err instanceof chunkTNR7AA52_cjs.PostDepositLockError && err.reason === "submission-failed") {
1818
+ } else if (err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError && err.reason === "submission-failed") {
1819
1819
  const ambiguous = markSubmissionAmbiguous(session, payload.signature) || loadExternalDepositLockSession(session.owner)?.submissionAmbiguous === true;
1820
1820
  if (ambiguous) throw ambiguousSubmissionError(err);
1821
1821
  } else {
1822
1822
  const current = loadExternalDepositLockSession(session.owner);
1823
1823
  if (session.submissionAmbiguous || current?.submissionAmbiguous) {
1824
- if (err instanceof chunkTNR7AA52_cjs.PostDepositLockError) throw ambiguousSubmissionError(err);
1824
+ if (err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError) throw ambiguousSubmissionError(err);
1825
1825
  throw err;
1826
1826
  }
1827
1827
  if (!clearSubmittedPayload(session, payload.signature)) {
1828
1828
  const latest = loadExternalDepositLockSession(session.owner);
1829
- if (latest?.submissionAmbiguous && err instanceof chunkTNR7AA52_cjs.PostDepositLockError) {
1829
+ if (latest?.submissionAmbiguous && err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError) {
1830
1830
  throw ambiguousSubmissionError(err);
1831
1831
  }
1832
1832
  }
@@ -1839,12 +1839,12 @@ function useExternalDepositLock({
1839
1839
  onLockSubmitted,
1840
1840
  onLockFailed
1841
1841
  }) {
1842
- const { client, networkConfig, serviceAddress, getTokenById, tokensStatus } = chunkTNR7AA52_cjs.usePrivanaContext();
1842
+ const { client, networkConfig, serviceAddress, getTokenById, tokensStatus } = chunkFFYLKZ7J_cjs.usePrivanaContext();
1843
1843
  const config = wagmi.useConfig();
1844
1844
  const queryClient = reactQuery.useQueryClient();
1845
1845
  const { address } = wagmi.useAccount();
1846
- const { privateReadAddress } = chunkTNR7AA52_cjs.usePrivateReadRequest();
1847
- const { ensureCorrectChain } = chunkTNR7AA52_cjs.useEnsureCorrectChain();
1846
+ const { privateReadAddress } = chunkFFYLKZ7J_cjs.usePrivateReadRequest();
1847
+ const { ensureCorrectChain } = chunkFFYLKZ7J_cjs.useEnsureCorrectChain();
1848
1848
  const [isSigning, setIsSigning] = react.useState(false);
1849
1849
  const [isSubmittingLock, setIsSubmittingLock] = react.useState(false);
1850
1850
  const [session, setSession] = react.useState(null);
@@ -1904,7 +1904,7 @@ function useExternalDepositLock({
1904
1904
  result = await submitExternalDepositLock(client, submission);
1905
1905
  } catch (err) {
1906
1906
  const stored = loadExternalDepositLockSession(active.owner);
1907
- const error = err instanceof chunkTNR7AA52_cjs.PostDepositLockError ? err : new chunkTNR7AA52_cjs.PostDepositLockError(
1907
+ const error = err instanceof chunkFFYLKZ7J_cjs.PostDepositLockError ? err : new chunkFFYLKZ7J_cjs.PostDepositLockError(
1908
1908
  err instanceof Error ? err.message : "Lock submission failed",
1909
1909
  "submission-failed",
1910
1910
  BigInt(active.maxLockAmount),
@@ -1983,7 +1983,7 @@ function useExternalDepositLock({
1983
1983
  void submitSession(restored);
1984
1984
  } else if (restored.creditedAmount) {
1985
1985
  notifyFailure(
1986
- new chunkTNR7AA52_cjs.PostDepositLockError(
1986
+ new chunkFFYLKZ7J_cjs.PostDepositLockError(
1987
1987
  "Deposit credited; sign a fresh policy to lock the funds",
1988
1988
  "not-found",
1989
1989
  BigInt(restored.maxLockAmount),
@@ -2023,10 +2023,10 @@ function useExternalDepositLock({
2023
2023
  if (signingRef.current || settlingRef.current) {
2024
2024
  throw new Error("A policy operation is already in progress");
2025
2025
  }
2026
- if (!chunkTNR7AA52_cjs.canUseSharedBrowserStorage()) {
2026
+ if (!chunkFFYLKZ7J_cjs.canUseSharedBrowserStorage()) {
2027
2027
  throw new Error("Browser storage is required for locked deposit recovery");
2028
2028
  }
2029
- const owner = chunkTNR7AA52_cjs.requireDepositLockOwner(address, privateReadAddress);
2029
+ const owner = chunkFFYLKZ7J_cjs.requireDepositLockOwner(address, privateReadAddress);
2030
2030
  if (sessionRef.current || loadExternalDepositLockSession(owner)) {
2031
2031
  throw new Error("Finish or cancel the active external deposit before starting another");
2032
2032
  }
@@ -2035,26 +2035,26 @@ function useExternalDepositLock({
2035
2035
  if (token.contract === viem.zeroAddress) {
2036
2036
  throw new Error("External deposits support ERC20 tokens only");
2037
2037
  }
2038
- const targetService = chunkTNR7AA52_cjs.requireServiceAddress(serviceAddress);
2039
- const lockDuration = allowance.lockDuration ?? chunkTNR7AA52_cjs.DEFAULT_LOCK_DURATION_SECONDS;
2038
+ const targetService = chunkFFYLKZ7J_cjs.requireServiceAddress(serviceAddress);
2039
+ const lockDuration = allowance.lockDuration ?? chunkFFYLKZ7J_cjs.DEFAULT_LOCK_DURATION_SECONDS;
2040
2040
  signingRef.current = true;
2041
2041
  setIsSigning(true);
2042
2042
  try {
2043
2043
  await ensureCorrectChain(networkConfig.chainId);
2044
- const signingWalletClient = await chunkTNR7AA52_cjs.getWalletClient(config, {
2044
+ const signingWalletClient = await chunkFFYLKZ7J_cjs.getWalletClient(config, {
2045
2045
  chainId: networkConfig.chainId
2046
2046
  });
2047
- const payload = await chunkTNR7AA52_cjs.createSignedLockRequest({
2047
+ const payload = await chunkFFYLKZ7J_cjs.createSignedLockRequest({
2048
2048
  client,
2049
2049
  walletClient: signingWalletClient,
2050
2050
  userAddress: owner,
2051
2051
  networkConfig,
2052
2052
  serviceAddress: targetService,
2053
2053
  tokenId: token.id,
2054
- amount: chunkTNR7AA52_cjs.clampLockAmount(amount, BigInt(allowance.value)),
2054
+ amount: chunkFFYLKZ7J_cjs.clampLockAmount(amount, BigInt(allowance.value)),
2055
2055
  lockDuration
2056
2056
  });
2057
- const startBlock = await chunkTNR7AA52_cjs.getBlockNumber(config, { chainId: token.chainId });
2057
+ const startBlock = await chunkFFYLKZ7J_cjs.getBlockNumber(config, { chainId: token.chainId });
2058
2058
  if (startBlock > BigInt(Number.MAX_SAFE_INTEGER)) {
2059
2059
  throw new Error("Source-chain block number exceeds the supported range");
2060
2060
  }
@@ -2120,7 +2120,7 @@ function useExternalDepositLock({
2120
2120
  pendingCreditedTransitionRef.current = { predecessor: active, credited };
2121
2121
  installSession(credited);
2122
2122
  notifyFailure(
2123
- new chunkTNR7AA52_cjs.PostDepositLockError(
2123
+ new chunkFFYLKZ7J_cjs.PostDepositLockError(
2124
2124
  err instanceof Error ? err.message : "Unable to persist credited deposit state",
2125
2125
  "submission-failed",
2126
2126
  BigInt(active.maxLockAmount),
@@ -2180,7 +2180,7 @@ function useExternalDepositLock({
2180
2180
  if (!token || token.chainId !== active.chainId || token.contract === viem.zeroAddress) {
2181
2181
  throw new Error("The credited token is no longer available");
2182
2182
  }
2183
- const targetService = chunkTNR7AA52_cjs.requireServiceAddress(serviceAddress);
2183
+ const targetService = chunkFFYLKZ7J_cjs.requireServiceAddress(serviceAddress);
2184
2184
  if (targetService.toLowerCase() !== active.serviceAddress.toLowerCase()) {
2185
2185
  throw new Error("The service for this credited deposit has changed");
2186
2186
  }
@@ -2193,17 +2193,17 @@ function useExternalDepositLock({
2193
2193
  "The previous lock submission may have succeeded; a fresh signature is unsafe"
2194
2194
  );
2195
2195
  }
2196
- const owner = chunkTNR7AA52_cjs.requireDepositLockOwner(address, privateReadAddress);
2196
+ const owner = chunkFFYLKZ7J_cjs.requireDepositLockOwner(address, privateReadAddress);
2197
2197
  const amount = externalDepositRetryAmount(active);
2198
2198
  let retrySession;
2199
2199
  signingRef.current = true;
2200
2200
  setIsSigning(true);
2201
2201
  try {
2202
2202
  await ensureCorrectChain(networkConfig.chainId);
2203
- const signingWalletClient = await chunkTNR7AA52_cjs.getWalletClient(config, {
2203
+ const signingWalletClient = await chunkFFYLKZ7J_cjs.getWalletClient(config, {
2204
2204
  chainId: networkConfig.chainId
2205
2205
  });
2206
- const payload = await chunkTNR7AA52_cjs.createSignedLockRequest({
2206
+ const payload = await chunkFFYLKZ7J_cjs.createSignedLockRequest({
2207
2207
  client,
2208
2208
  walletClient: signingWalletClient,
2209
2209
  userAddress: owner,
@@ -2336,7 +2336,7 @@ function BaseIcon({ className, size = 24 }) {
2336
2336
  }
2337
2337
  );
2338
2338
  }
2339
- function WETHIcon({ className, size = 24 }) {
2339
+ function EthereumIcon({ className, size = 24 }) {
2340
2340
  return /* @__PURE__ */ jsxRuntime.jsxs(
2341
2341
  "svg",
2342
2342
  {
@@ -2387,18 +2387,19 @@ function WETHIcon({ className, size = 24 }) {
2387
2387
  }
2388
2388
  function getTokenIcon(symbol, size) {
2389
2389
  const iconSize = size ?? 24;
2390
- switch (symbol.toUpperCase()) {
2390
+ switch ((symbol ?? "").toUpperCase()) {
2391
2391
  case "USDC":
2392
2392
  return /* @__PURE__ */ jsxRuntime.jsx(USDCIcon, { size: iconSize });
2393
+ case "ETH":
2393
2394
  case "WETH":
2394
- return /* @__PURE__ */ jsxRuntime.jsx(WETHIcon, { size: iconSize });
2395
+ return /* @__PURE__ */ jsxRuntime.jsx(EthereumIcon, { size: iconSize });
2395
2396
  default:
2396
2397
  return /* @__PURE__ */ jsxRuntime.jsx(
2397
2398
  "div",
2398
2399
  {
2399
2400
  className: "bg-muted flex items-center justify-center rounded-full text-xs font-bold",
2400
2401
  style: { width: iconSize, height: iconSize },
2401
- children: symbol.slice(0, 2)
2402
+ children: (symbol ?? "?").slice(0, 2)
2402
2403
  }
2403
2404
  );
2404
2405
  }
@@ -2406,8 +2407,12 @@ function getTokenIcon(symbol, size) {
2406
2407
  function getChainIcon(chainId, size) {
2407
2408
  const iconSize = size ?? 24;
2408
2409
  switch (chainId) {
2410
+ case 8453:
2409
2411
  case 84532:
2410
2412
  return /* @__PURE__ */ jsxRuntime.jsx(BaseIcon, { size: iconSize });
2413
+ case 1:
2414
+ case 11155111:
2415
+ return /* @__PURE__ */ jsxRuntime.jsx(EthereumIcon, { size: iconSize });
2411
2416
  default:
2412
2417
  return /* @__PURE__ */ jsxRuntime.jsx(
2413
2418
  "div",
@@ -2420,16 +2425,17 @@ function getChainIcon(chainId, size) {
2420
2425
  }
2421
2426
  }
2422
2427
  function TokenSelectorView({ selectedTokenId, onSelect }) {
2423
- const { enabledTokens } = chunkTNR7AA52_cjs.usePrivanaContext();
2428
+ const { enabledTokens, getChainById: getChainById2 } = chunkFFYLKZ7J_cjs.usePrivanaContext();
2424
2429
  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: [
2425
2430
  enabledTokens.map((token) => {
2426
2431
  const isSelected = selectedTokenId === token.id;
2432
+ const chainName = getChainById2(token.chainId)?.name;
2427
2433
  return /* @__PURE__ */ jsxRuntime.jsxs(
2428
2434
  "button",
2429
2435
  {
2430
2436
  type: "button",
2431
2437
  onClick: () => onSelect(token.id),
2432
- className: chunkTNR7AA52_cjs.cn(
2438
+ className: chunkFFYLKZ7J_cjs.cn(
2433
2439
  "hover:bg-secondary flex w-full cursor-pointer items-center gap-3 rounded-lg px-3 py-2 text-left transition-colors",
2434
2440
  isSelected && "bg-secondary"
2435
2441
  ),
@@ -2437,7 +2443,10 @@ function TokenSelectorView({ selectedTokenId, onSelect }) {
2437
2443
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-6 w-6 shrink-0 overflow-hidden rounded-full", children: getTokenIcon(token.symbol, 24) }),
2438
2444
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2439
2445
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-foreground text-sm font-medium", children: token.symbol }),
2440
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-[11px]", children: token.name })
2446
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-muted-foreground text-[11px]", children: [
2447
+ "on ",
2448
+ chainName ?? "\u2014"
2449
+ ] })
2441
2450
  ] }),
2442
2451
  isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-primary flex h-4 w-4 shrink-0 items-center justify-center rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(
2443
2452
  "svg",
@@ -2484,7 +2493,7 @@ function CreditCardWidgetView({
2484
2493
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: "bg-muted flex flex-col gap-6 rounded-[10px] p-5", children: [
2485
2494
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-foreground text-[28px] leading-8 font-medium", children: "Complete your purchase" }),
2486
2495
  token && moonpayCurrencyCode ? /* @__PURE__ */ jsxRuntime.jsx(
2487
- chunkTNR7AA52_cjs.FiatOnRampForm,
2496
+ chunkFFYLKZ7J_cjs.FiatOnRampForm,
2488
2497
  {
2489
2498
  tokenId: token.id,
2490
2499
  currencyCode: moonpayCurrencyCode,
@@ -2773,7 +2782,7 @@ function ChevronDownIcon({
2773
2782
  height: "16",
2774
2783
  viewBox: "0 0 16 16",
2775
2784
  fill: "none",
2776
- className: chunkTNR7AA52_cjs.cn(
2785
+ className: chunkFFYLKZ7J_cjs.cn(
2777
2786
  "transition-transform",
2778
2787
  direction === "right" && "-rotate-90",
2779
2788
  direction === "up" && "rotate-180",
@@ -2926,7 +2935,7 @@ function PolicyTermRow({
2926
2935
  /* @__PURE__ */ jsxRuntime.jsx(
2927
2936
  "div",
2928
2937
  {
2929
- className: chunkTNR7AA52_cjs.cn(
2938
+ className: chunkFFYLKZ7J_cjs.cn(
2930
2939
  "mt-0.5 shrink-0",
2931
2940
  kind === "permission" ? "text-emerald-500" : "text-orange-500"
2932
2941
  ),
@@ -2999,7 +3008,7 @@ function DepositView({
2999
3008
  onSubmit,
3000
3009
  isSubmitting = false
3001
3010
  }) {
3002
- const { getChainById: getChainById2, chains, serviceName, serviceIcon, networkConfig, hostedAuthConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
3011
+ const { getChainById: getChainById2, chains, serviceName, serviceIcon, networkConfig, hostedAuthConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
3003
3012
  const { address, isConnected } = wagmi.useAccount();
3004
3013
  const appName = serviceName ?? "Privana";
3005
3014
  const chain = selectedToken ? getChainById2(selectedToken.chainId) : void 0;
@@ -3023,7 +3032,7 @@ function DepositView({
3023
3032
  query: { enabled: isConnectedSource && !!address && !!selectedToken && !isNative }
3024
3033
  });
3025
3034
  const walletBalance = isNative ? nativeBalanceData?.value : erc20Balance;
3026
- const formattedWalletBalance = walletBalance != null && selectedToken ? chunkTNR7AA52_cjs.formatTokenAmount(walletBalance.toString(), selectedToken.decimals) : "0.00";
3035
+ const formattedWalletBalance = walletBalance != null && selectedToken ? chunkFFYLKZ7J_cjs.formatTokenAmount(walletBalance.toString(), selectedToken.decimals) : "0.00";
3027
3036
  const {
3028
3037
  minBuyAmount: moonpayMinBuy,
3029
3038
  isLoading: moonpayLimitsLoading,
@@ -3036,7 +3045,7 @@ function DepositView({
3036
3045
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
3037
3046
  const maxAmountDecimals = isCreditCard ? 2 : selectedToken?.decimals;
3038
3047
  const tooManyDecimals = hasValidAmount && maxAmountDecimals != null && amount.includes(".") && amount.split(".")[1].length > maxAmountDecimals;
3039
- const exceedsBalance = isConnectedSource && hasValidAmount && !tooManyDecimals && !!selectedToken && walletBalance != null && chunkTNR7AA52_cjs.parseTokenAmount(amount, selectedToken.decimals) > walletBalance;
3048
+ const exceedsBalance = isConnectedSource && hasValidAmount && !tooManyDecimals && !!selectedToken && walletBalance != null && chunkFFYLKZ7J_cjs.parseTokenAmount(amount, selectedToken.decimals) > walletBalance;
3040
3049
  const belowMoonpayMin = isCreditCard && hasValidAmount && moonpayMinBuy != null && parseFloat(amount) < moonpayMinBuy;
3041
3050
  const moonpayLimitsUnready = isCreditCard && !!selectedToken?.moonpayCurrencyCode && moonpayMinBuy == null;
3042
3051
  const creditCardUnavailable = isCreditCard && !!selectedToken && !selectedToken.moonpayCurrencyCode;
@@ -3044,7 +3053,7 @@ function DepositView({
3044
3053
  const externalMinimumRequired = isExternal && !!allowance && !!selectedToken;
3045
3054
  const externalMinimumLoading = externalMinimumRequired && externalMinimum === void 0;
3046
3055
  const externalMinimumUnavailable = externalMinimumRequired && externalMinimum === null;
3047
- const belowExternalMinimum = externalMinimumRequired && hasValidAmount && !tooManyDecimals && !!selectedToken && typeof externalMinimum === "bigint" && chunkTNR7AA52_cjs.parseTokenAmount(amount, selectedToken.decimals) < externalMinimum;
3056
+ const belowExternalMinimum = externalMinimumRequired && hasValidAmount && !tooManyDecimals && !!selectedToken && typeof externalMinimum === "bigint" && chunkFFYLKZ7J_cjs.parseTokenAmount(amount, selectedToken.decimals) < externalMinimum;
3048
3057
  const externalNeedsWallet = isExternal && (!!allowance || !hostedAuthConfig);
3049
3058
  const needsConnect = (isConnectedSource || externalNeedsWallet) && !isConnected;
3050
3059
  const canDeposit = hasValidAmount && !!selectedToken && !tooManyDecimals && !exceedsBalance && !belowMoonpayMin && !moonpayLimitsUnready && !creditCardUnavailable && !externalTokenUnavailable && !externalMinimumLoading && !externalMinimumUnavailable && !belowExternalMinimum && !needsConnect;
@@ -3101,7 +3110,7 @@ function DepositView({
3101
3110
  /* @__PURE__ */ jsxRuntime.jsxs(
3102
3111
  "div",
3103
3112
  {
3104
- className: chunkTNR7AA52_cjs.cn(
3113
+ className: chunkFFYLKZ7J_cjs.cn(
3105
3114
  "border-border bg-input flex items-center gap-2 rounded-[10px] border",
3106
3115
  isConnectedSource ? "py-1 pr-1 pl-3" : "px-3 py-3"
3107
3116
  ),
@@ -3241,7 +3250,7 @@ function ExternalDepositView({
3241
3250
  onDiscardLock,
3242
3251
  lock
3243
3252
  }) {
3244
- const { getChainById: getChainById2, getTokenById, serviceName } = chunkTNR7AA52_cjs.usePrivanaContext();
3253
+ const { getChainById: getChainById2, getTokenById, serviceName } = chunkFFYLKZ7J_cjs.usePrivanaContext();
3245
3254
  const appName = serviceName ?? "Privana";
3246
3255
  const { depositAddress, isReady, isLoading } = depositAddressState;
3247
3256
  const chain = token ? getChainById2(token.chainId) : void 0;
@@ -3257,7 +3266,7 @@ function ExternalDepositView({
3257
3266
  const [nothingFound, setNothingFound] = react.useState(false);
3258
3267
  const [credited, setCredited] = react.useState(null);
3259
3268
  const [showCancelWarning, setShowCancelWarning] = react.useState(false);
3260
- const verification = chunkTNR7AA52_cjs.useDepositVerification({
3269
+ const verification = chunkFFYLKZ7J_cjs.useDepositVerification({
3261
3270
  onCredited: (txHash, _response, creditedAmount) => {
3262
3271
  if (settleAfterCredit) {
3263
3272
  void settleAfterCredit(txHash, creditedAmount);
@@ -3381,11 +3390,11 @@ function ExternalDepositView({
3381
3390
  ] }),
3382
3391
  showDepositInstructions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3383
3392
  !scanPaused && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "Send the displayed amount in one transfer. Transfers below the minimum are not combined or automatically returned." }),
3384
- /* @__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(chunkTNR7AA52_cjs.Skeleton, { className: "h-full w-full rounded-[10px]" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: "Deposit address unavailable" }) }),
3393
+ /* @__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(chunkFFYLKZ7J_cjs.Skeleton, { className: "h-full w-full rounded-[10px]" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: "Deposit address unavailable" }) }),
3385
3394
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
3386
3395
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "Deposit Address" }),
3387
3396
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
3388
- /* @__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(chunkTNR7AA52_cjs.Skeleton, { className: "h-4 w-3/4" }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "\u2014" }) }),
3397
+ /* @__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(chunkFFYLKZ7J_cjs.Skeleton, { className: "h-4 w-3/4" }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "\u2014" }) }),
3389
3398
  /* @__PURE__ */ jsxRuntime.jsxs(
3390
3399
  "button",
3391
3400
  {
@@ -3440,7 +3449,7 @@ function ExternalDepositView({
3440
3449
  TransactionSuccessView,
3441
3450
  {
3442
3451
  title: "Deposit Credited",
3443
- message: `Transfer ${chunkTNR7AA52_cjs.shortenAddress(credited.txHash)} has been credited to your Privana balance.`,
3452
+ message: `Transfer ${chunkFFYLKZ7J_cjs.shortenAddress(credited.txHash)} has been credited to your Privana balance.`,
3444
3453
  onDone: () => {
3445
3454
  setCredited(null);
3446
3455
  verification.reset();
@@ -3469,7 +3478,7 @@ function ExternalDepositView({
3469
3478
  {
3470
3479
  title: "Awaiting Deposit",
3471
3480
  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.",
3472
- remaining: listening ? chunkTNR7AA52_cjs.formatCountdown(secondsLeft) : void 0
3481
+ remaining: listening ? chunkFFYLKZ7J_cjs.formatCountdown(secondsLeft) : void 0
3473
3482
  }
3474
3483
  ),
3475
3484
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
@@ -3498,7 +3507,7 @@ function ExternalDepositView({
3498
3507
  ] });
3499
3508
  }
3500
3509
  function MoonPayGate({ enabled, children }) {
3501
- const { networkConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
3510
+ const { networkConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
3502
3511
  const apiKey = networkConfig.moonpayApiKey;
3503
3512
  if (!enabled || !apiKey) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
3504
3513
  return /* @__PURE__ */ jsxRuntime.jsx(moonpayReact.MoonPayProvider, { apiKey, children });
@@ -3519,7 +3528,7 @@ function MethodTabs({
3519
3528
  /* @__PURE__ */ jsxRuntime.jsx(
3520
3529
  "div",
3521
3530
  {
3522
- className: chunkTNR7AA52_cjs.cn(
3531
+ className: chunkFFYLKZ7J_cjs.cn(
3523
3532
  "bg-input absolute top-1 bottom-1 left-1 w-[calc(50%-8px)] rounded-md transition-transform duration-200",
3524
3533
  activeTab === "credit-card" && "translate-x-[calc(100%+8px)]"
3525
3534
  )
@@ -3530,7 +3539,7 @@ function MethodTabs({
3530
3539
  {
3531
3540
  type: "button",
3532
3541
  onClick: () => onTabChange("crypto"),
3533
- className: chunkTNR7AA52_cjs.cn(
3542
+ className: chunkFFYLKZ7J_cjs.cn(
3534
3543
  "relative z-10 flex-1 cursor-pointer rounded-md px-3 py-[9px] text-sm font-medium transition-colors",
3535
3544
  activeTab === "crypto" ? "text-foreground" : "text-muted-foreground"
3536
3545
  ),
@@ -3542,7 +3551,7 @@ function MethodTabs({
3542
3551
  {
3543
3552
  type: "button",
3544
3553
  onClick: () => onTabChange("credit-card"),
3545
- className: chunkTNR7AA52_cjs.cn(
3554
+ className: chunkFFYLKZ7J_cjs.cn(
3546
3555
  "relative z-10 flex-1 cursor-pointer rounded-md px-3 py-[9px] text-sm font-medium transition-colors",
3547
3556
  activeTab === "credit-card" ? "text-foreground" : "text-muted-foreground"
3548
3557
  ),
@@ -3586,7 +3595,7 @@ function DepositModalContent({
3586
3595
  onCloseBlockedChange,
3587
3596
  onExit
3588
3597
  }) {
3589
- const { serviceName, enabledTokens, defaultToken, hostedAuthConfig, getChainById: getChainById2, getTokenById } = chunkTNR7AA52_cjs.usePrivanaContext();
3598
+ const { serviceName, enabledTokens, defaultToken, hostedAuthConfig, getChainById: getChainById2, getTokenById } = chunkFFYLKZ7J_cjs.usePrivanaContext();
3590
3599
  const { address } = wagmi.useAccount();
3591
3600
  const appName = serviceName ?? "Privana";
3592
3601
  const [activeTab, setActiveTab] = react.useState(defaultTab);
@@ -3721,7 +3730,7 @@ function DepositModalContent({
3721
3730
  sonner.toast.error("External deposits support ERC20 tokens only");
3722
3731
  return;
3723
3732
  }
3724
- const depositAmount = chunkTNR7AA52_cjs.parseTokenAmount(args.amount, token2.decimals);
3733
+ const depositAmount = chunkFFYLKZ7J_cjs.parseTokenAmount(args.amount, token2.decimals);
3725
3734
  if (!allowance) {
3726
3735
  setView("external-deposit");
3727
3736
  return;
@@ -3754,7 +3763,7 @@ function DepositModalContent({
3754
3763
  setCancelled(false);
3755
3764
  deposit({
3756
3765
  tokenId: token.id,
3757
- amount: chunkTNR7AA52_cjs.parseTokenAmount(args.amount, token.decimals),
3766
+ amount: chunkFFYLKZ7J_cjs.parseTokenAmount(args.amount, token.decimals),
3758
3767
  postDepositLock: allowance ? {
3759
3768
  maxAmount: BigInt(allowance.value),
3760
3769
  lockDuration: allowance.lockDuration
@@ -3795,7 +3804,7 @@ function DepositModalContent({
3795
3804
  ];
3796
3805
  const hasExternalLockRecovery = view === "external-deposit" && !!externalLock.session?.creditedAmount;
3797
3806
  const externalSubmissionAmbiguous = hasExternalLockRecovery && !!lockFailure?.submissionMayHaveSucceeded;
3798
- const savedExternalPayloadUsable = !!externalLock.session?.payload && chunkTNR7AA52_cjs.isSignedLockUsable(externalLock.session.payload);
3807
+ const savedExternalPayloadUsable = !!externalLock.session?.payload && chunkFFYLKZ7J_cjs.isSignedLockUsable(externalLock.session.payload);
3799
3808
  const ambiguousRecoveryMustBeAbandoned = externalSubmissionAmbiguous && !savedExternalPayloadUsable;
3800
3809
  const externalRecoveryExitLabel = externalSubmissionAmbiguous ? "Stop recovery" : "Keep funds unlocked";
3801
3810
  const lockFailureToken = hasExternalLockRecovery && externalLock.session ? getTokenById(externalLock.session.tokenId) ?? selectedToken : selectedToken;
@@ -3865,7 +3874,7 @@ function DepositModalContent({
3865
3874
  onClick: onClose,
3866
3875
  disabled: isUnsafeToClose,
3867
3876
  "aria-label": "Close",
3868
- className: chunkTNR7AA52_cjs.cn(
3877
+ className: chunkFFYLKZ7J_cjs.cn(
3869
3878
  "absolute top-6 right-5 z-20 flex h-5 w-5 items-center justify-center transition-colors",
3870
3879
  isUnsafeToClose ? "text-muted-foreground/40 cursor-not-allowed" : "text-muted-foreground hover:text-foreground cursor-pointer"
3871
3880
  ),
@@ -4073,7 +4082,7 @@ function DepositInlineModal({ className, ...handlers }) {
4073
4082
  "div",
4074
4083
  {
4075
4084
  "data-privana": true,
4076
- className: chunkTNR7AA52_cjs.cn(
4085
+ className: chunkFFYLKZ7J_cjs.cn(
4077
4086
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
4078
4087
  className
4079
4088
  ),
@@ -4089,7 +4098,7 @@ function WithdrawView({
4089
4098
  onPendingChange,
4090
4099
  onWithdrawSuccess
4091
4100
  }) {
4092
- const { chains, getChainById: getChainById2 } = chunkTNR7AA52_cjs.usePrivanaContext();
4101
+ const { chains, getChainById: getChainById2 } = chunkFFYLKZ7J_cjs.usePrivanaContext();
4093
4102
  const { isConnected, address } = wagmi.useAccount();
4094
4103
  const [showSuccess, setShowSuccess] = react.useState(false);
4095
4104
  const [showTimeout, setShowTimeout] = react.useState(false);
@@ -4103,7 +4112,7 @@ function WithdrawView({
4103
4112
  tokenId: selectedToken?.id,
4104
4113
  enabled: !!selectedToken
4105
4114
  });
4106
- const formattedBalance = selectedToken ? chunkTNR7AA52_cjs.formatTokenAmount(balanceWei, selectedToken.decimals) : "0.00";
4115
+ const formattedBalance = selectedToken ? chunkFFYLKZ7J_cjs.formatTokenAmount(balanceWei, selectedToken.decimals) : "0.00";
4107
4116
  const { withdraw, isPending, currentStep, error, reset } = useWithdraw({
4108
4117
  onProcessingSuccess: () => {
4109
4118
  onAmountChange("");
@@ -4119,7 +4128,7 @@ function WithdrawView({
4119
4128
  setShowTimeout(true);
4120
4129
  }
4121
4130
  });
4122
- const explorerUrl = address && targetChain ? chunkTNR7AA52_cjs.getExplorerAddressUrl(targetChain.id, address) : void 0;
4131
+ const explorerUrl = address && targetChain ? chunkFFYLKZ7J_cjs.getExplorerAddressUrl(targetChain.id, address) : void 0;
4123
4132
  const getStepStatus = (step, after) => {
4124
4133
  if (currentStep === step) return "active";
4125
4134
  if (after.includes(currentStep)) return "completed";
@@ -4144,7 +4153,7 @@ function WithdrawView({
4144
4153
  }, [isPending, cancelled, onPendingChange]);
4145
4154
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
4146
4155
  const tooManyDecimals = !!hasValidAmount && !!selectedToken && amount.includes(".") && amount.split(".")[1].length > selectedToken.decimals;
4147
- const exceedsBalance = !!hasValidAmount && !tooManyDecimals && !!selectedToken && !isBalanceLoading && !isBalanceError && chunkTNR7AA52_cjs.parseTokenAmount(amount, selectedToken.decimals) > BigInt(balanceWei);
4156
+ const exceedsBalance = !!hasValidAmount && !tooManyDecimals && !!selectedToken && !isBalanceLoading && !isBalanceError && chunkFFYLKZ7J_cjs.parseTokenAmount(amount, selectedToken.decimals) > BigInt(balanceWei);
4148
4157
  const canWithdraw = isConnected && hasValidAmount && !!selectedToken && !tooManyDecimals && !exceedsBalance;
4149
4158
  const handleMax = () => {
4150
4159
  if (!selectedToken) return;
@@ -4156,7 +4165,7 @@ function WithdrawView({
4156
4165
  setCancelled(false);
4157
4166
  await withdraw({
4158
4167
  tokenId: selectedToken.id,
4159
- amount: chunkTNR7AA52_cjs.parseTokenAmount(amount, selectedToken.decimals)
4168
+ amount: chunkFFYLKZ7J_cjs.parseTokenAmount(amount, selectedToken.decimals)
4160
4169
  });
4161
4170
  };
4162
4171
  const handleCancel = () => {
@@ -4176,7 +4185,7 @@ function WithdrawView({
4176
4185
  title: "Withdrawal Complete",
4177
4186
  message: `Your ${selectedToken.symbol} withdrawal has been processed. Funds should appear in your wallet shortly.`,
4178
4187
  explorerUrl,
4179
- explorerLabel: targetChain ? chunkTNR7AA52_cjs.getExplorerLabel(targetChain.id) : void 0,
4188
+ explorerLabel: targetChain ? chunkFFYLKZ7J_cjs.getExplorerLabel(targetChain.id) : void 0,
4180
4189
  onDone: handleDone
4181
4190
  }
4182
4191
  ) });
@@ -4288,7 +4297,7 @@ function WithdrawModalContent({
4288
4297
  onBack,
4289
4298
  onWithdrawSuccess
4290
4299
  }) {
4291
- const { serviceName, enabledTokens, defaultToken, hostedAuthConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
4300
+ const { serviceName, enabledTokens, defaultToken, hostedAuthConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
4292
4301
  const { address } = wagmi.useAccount();
4293
4302
  const appName = serviceName ?? "Privana";
4294
4303
  const [view, setView] = react.useState("form");
@@ -4414,7 +4423,7 @@ function WithdrawInlineModal({ className, onWithdrawSuccess }) {
4414
4423
  "div",
4415
4424
  {
4416
4425
  "data-privana": true,
4417
- className: chunkTNR7AA52_cjs.cn(
4426
+ className: chunkFFYLKZ7J_cjs.cn(
4418
4427
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
4419
4428
  className
4420
4429
  ),
@@ -4458,14 +4467,14 @@ function SegmentedBalanceBar({
4458
4467
  showAvailable && /* @__PURE__ */ jsxRuntime.jsx(
4459
4468
  "div",
4460
4469
  {
4461
- className: chunkTNR7AA52_cjs.cn(AVAILABLE_COLOR, "rounded-l-full", !showInUse && "rounded-r-full"),
4470
+ className: chunkFFYLKZ7J_cjs.cn(AVAILABLE_COLOR, "rounded-l-full", !showInUse && "rounded-r-full"),
4462
4471
  style: { flexGrow: grow(availableWei) }
4463
4472
  }
4464
4473
  ),
4465
4474
  showInUse && /* @__PURE__ */ jsxRuntime.jsx(
4466
4475
  "div",
4467
4476
  {
4468
- className: chunkTNR7AA52_cjs.cn(IN_USE_COLOR, "rounded-r-full", !showAvailable && "rounded-l-full"),
4477
+ className: chunkFFYLKZ7J_cjs.cn(IN_USE_COLOR, "rounded-r-full", !showAvailable && "rounded-l-full"),
4469
4478
  style: { flexGrow: grow(inUseWei) }
4470
4479
  }
4471
4480
  )
@@ -4473,7 +4482,7 @@ function SegmentedBalanceBar({
4473
4482
  }
4474
4483
  function BalanceLegendItem({ color, label }) {
4475
4484
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
4476
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkTNR7AA52_cjs.cn("h-2.5 w-2.5 rounded-full", color) }),
4485
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkFFYLKZ7J_cjs.cn("h-2.5 w-2.5 rounded-full", color) }),
4477
4486
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground text-sm leading-5", children: label })
4478
4487
  ] });
4479
4488
  }
@@ -4486,7 +4495,7 @@ function WalletBalanceView({
4486
4495
  onAddFunds,
4487
4496
  onWithdraw
4488
4497
  }) {
4489
- const { serviceName, serviceIcon, defaultToken } = chunkTNR7AA52_cjs.usePrivanaContext();
4498
+ const { serviceName, serviceIcon, defaultToken } = chunkFFYLKZ7J_cjs.usePrivanaContext();
4490
4499
  const appName = serviceName ?? "Privana";
4491
4500
  const token = defaultToken;
4492
4501
  const {
@@ -4499,14 +4508,14 @@ function WalletBalanceView({
4499
4508
  const variant = !session ? "idle" : inUseWei === 0n ? "session-zero" : availableWei === 0n ? "fully-in-use" : "mixed";
4500
4509
  const expiry = session?.expiry;
4501
4510
  useNow(3e4, expiry != null);
4502
- const countdown = expiry != null ? chunkTNR7AA52_cjs.formatTimeRemaining(expiry) : null;
4511
+ const countdown = expiry != null ? chunkFFYLKZ7J_cjs.formatTimeRemaining(expiry) : null;
4503
4512
  const decimals = token?.decimals ?? 18;
4504
- const totalFormatted = chunkTNR7AA52_cjs.formatTokenAmount((availableWei + inUseWei).toString(), decimals);
4505
- const availableFormatted = chunkTNR7AA52_cjs.formatTokenAmount(availableWei.toString(), decimals);
4506
- const inUseFormatted = chunkTNR7AA52_cjs.formatTokenAmount(inUseWei.toString(), decimals);
4513
+ const totalFormatted = chunkFFYLKZ7J_cjs.formatTokenAmount((availableWei + inUseWei).toString(), decimals);
4514
+ const availableFormatted = chunkFFYLKZ7J_cjs.formatTokenAmount(availableWei.toString(), decimals);
4515
+ const inUseFormatted = chunkFFYLKZ7J_cjs.formatTokenAmount(inUseWei.toString(), decimals);
4507
4516
  const hasValidAmount = !!amount && parseFloat(amount) > 0;
4508
4517
  const tooManyDecimals = hasValidAmount && !!token && amount.includes(".") && amount.split(".")[1].length > token.decimals;
4509
- const exceedsBalance = hasValidAmount && !tooManyDecimals && !!token && !isBalanceLoading && !isBalanceError && chunkTNR7AA52_cjs.parseTokenAmount(amount, token.decimals) > availableWei;
4518
+ const exceedsBalance = hasValidAmount && !tooManyDecimals && !!token && !isBalanceLoading && !isBalanceError && chunkFFYLKZ7J_cjs.parseTokenAmount(amount, token.decimals) > availableWei;
4510
4519
  const canFundSession = hasValidAmount && !!token && !tooManyDecimals && !exceedsBalance && !isBalanceLoading && !isBalanceError;
4511
4520
  const handleMax = () => {
4512
4521
  const max = availableFormatted.replace(/\s/g, "");
@@ -4524,7 +4533,7 @@ function WalletBalanceView({
4524
4533
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm leading-[14px]", children: "Total" }),
4525
4534
  /* @__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" })
4526
4535
  ] }),
4527
- isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkTNR7AA52_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 })
4536
+ isBalanceLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFFYLKZ7J_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 })
4528
4537
  ] }),
4529
4538
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
4530
4539
  /* @__PURE__ */ jsxRuntime.jsx(SegmentedBalanceBar, { availableWei, inUseWei }),
@@ -4675,7 +4684,7 @@ function WalletModalContent({
4675
4684
  onCloseBlockedChange,
4676
4685
  ...depositHandlers
4677
4686
  }) {
4678
- const { serviceName, hostedAuthConfig } = chunkTNR7AA52_cjs.usePrivanaContext();
4687
+ const { serviceName, hostedAuthConfig } = chunkFFYLKZ7J_cjs.usePrivanaContext();
4679
4688
  const { address } = wagmi.useAccount();
4680
4689
  const appName = serviceName ?? "Privana";
4681
4690
  const [view, setView] = react.useState("balance");
@@ -4779,7 +4788,7 @@ function WalletModalContent({
4779
4788
  onClick: onClose,
4780
4789
  disabled: closeBlocked,
4781
4790
  "aria-label": "Close",
4782
- className: chunkTNR7AA52_cjs.cn(
4791
+ className: chunkFFYLKZ7J_cjs.cn(
4783
4792
  "absolute top-6 right-5 z-20 flex h-5 w-5 items-center justify-center transition-colors",
4784
4793
  closeBlocked ? "text-muted-foreground/40 cursor-not-allowed" : "text-muted-foreground hover:text-foreground cursor-pointer"
4785
4794
  ),
@@ -4907,7 +4916,7 @@ function WalletInlineModal({ className, ...handlers }) {
4907
4916
  "div",
4908
4917
  {
4909
4918
  "data-privana": true,
4910
- className: chunkTNR7AA52_cjs.cn(
4919
+ className: chunkFFYLKZ7J_cjs.cn(
4911
4920
  "bg-card relative flex w-[560px] max-w-full flex-col gap-2 overflow-hidden rounded-2xl p-2 shadow-lg",
4912
4921
  className
4913
4922
  ),
@@ -4918,295 +4927,295 @@ function WalletInlineModal({ className, ...handlers }) {
4918
4927
 
4919
4928
  Object.defineProperty(exports, "AccountingApiError", {
4920
4929
  enumerable: true,
4921
- get: function () { return chunkTNR7AA52_cjs.AccountingApiError; }
4930
+ get: function () { return chunkFFYLKZ7J_cjs.AccountingApiError; }
4922
4931
  });
4923
4932
  Object.defineProperty(exports, "Button", {
4924
4933
  enumerable: true,
4925
- get: function () { return chunkTNR7AA52_cjs.Button; }
4934
+ get: function () { return chunkFFYLKZ7J_cjs.Button; }
4926
4935
  });
4927
4936
  Object.defineProperty(exports, "DEFAULT_LOCK_DURATION_SECONDS", {
4928
4937
  enumerable: true,
4929
- get: function () { return chunkTNR7AA52_cjs.DEFAULT_LOCK_DURATION_SECONDS; }
4938
+ get: function () { return chunkFFYLKZ7J_cjs.DEFAULT_LOCK_DURATION_SECONDS; }
4930
4939
  });
4931
4940
  Object.defineProperty(exports, "DEFAULT_ONRAMP_LOCK_BUFFER", {
4932
4941
  enumerable: true,
4933
- get: function () { return chunkTNR7AA52_cjs.DEFAULT_ONRAMP_LOCK_BUFFER; }
4942
+ get: function () { return chunkFFYLKZ7J_cjs.DEFAULT_ONRAMP_LOCK_BUFFER; }
4934
4943
  });
4935
4944
  Object.defineProperty(exports, "HOSTED_AUTH_CLOCK_SKEW_MS", {
4936
4945
  enumerable: true,
4937
- get: function () { return chunkTNR7AA52_cjs.HOSTED_AUTH_CLOCK_SKEW_MS; }
4946
+ get: function () { return chunkFFYLKZ7J_cjs.HOSTED_AUTH_CLOCK_SKEW_MS; }
4938
4947
  });
4939
4948
  Object.defineProperty(exports, "HostedAuthError", {
4940
4949
  enumerable: true,
4941
- get: function () { return chunkTNR7AA52_cjs.HostedAuthError; }
4950
+ get: function () { return chunkFFYLKZ7J_cjs.HostedAuthError; }
4942
4951
  });
4943
4952
  Object.defineProperty(exports, "HostedAuthRequiredError", {
4944
4953
  enumerable: true,
4945
- get: function () { return chunkTNR7AA52_cjs.HostedAuthRequiredError; }
4954
+ get: function () { return chunkFFYLKZ7J_cjs.HostedAuthRequiredError; }
4946
4955
  });
4947
4956
  Object.defineProperty(exports, "HostedAuthStateMismatchError", {
4948
4957
  enumerable: true,
4949
- get: function () { return chunkTNR7AA52_cjs.HostedAuthStateMismatchError; }
4958
+ get: function () { return chunkFFYLKZ7J_cjs.HostedAuthStateMismatchError; }
4950
4959
  });
4951
4960
  Object.defineProperty(exports, "HttpClient", {
4952
4961
  enumerable: true,
4953
- get: function () { return chunkTNR7AA52_cjs.HttpClient; }
4962
+ get: function () { return chunkFFYLKZ7J_cjs.HttpClient; }
4954
4963
  });
4955
4964
  Object.defineProperty(exports, "LOCK_TYPES", {
4956
4965
  enumerable: true,
4957
- get: function () { return chunkTNR7AA52_cjs.LOCK_TYPES; }
4966
+ get: function () { return chunkFFYLKZ7J_cjs.LOCK_TYPES; }
4958
4967
  });
4959
4968
  Object.defineProperty(exports, "MODIFY_LOCK_TYPES", {
4960
4969
  enumerable: true,
4961
- get: function () { return chunkTNR7AA52_cjs.MODIFY_LOCK_TYPES; }
4970
+ get: function () { return chunkFFYLKZ7J_cjs.MODIFY_LOCK_TYPES; }
4962
4971
  });
4963
4972
  Object.defineProperty(exports, "NETWORK_CONFIG", {
4964
4973
  enumerable: true,
4965
- get: function () { return chunkTNR7AA52_cjs.NETWORK_CONFIG; }
4974
+ get: function () { return chunkFFYLKZ7J_cjs.NETWORK_CONFIG; }
4966
4975
  });
4967
4976
  Object.defineProperty(exports, "NetworkError", {
4968
4977
  enumerable: true,
4969
- get: function () { return chunkTNR7AA52_cjs.NetworkError; }
4978
+ get: function () { return chunkFFYLKZ7J_cjs.NetworkError; }
4970
4979
  });
4971
4980
  Object.defineProperty(exports, "PostDepositLockError", {
4972
4981
  enumerable: true,
4973
- get: function () { return chunkTNR7AA52_cjs.PostDepositLockError; }
4982
+ get: function () { return chunkFFYLKZ7J_cjs.PostDepositLockError; }
4974
4983
  });
4975
4984
  Object.defineProperty(exports, "PrivanaClient", {
4976
4985
  enumerable: true,
4977
- get: function () { return chunkTNR7AA52_cjs.PrivanaClient; }
4986
+ get: function () { return chunkFFYLKZ7J_cjs.PrivanaClient; }
4978
4987
  });
4979
4988
  Object.defineProperty(exports, "PrivanaProvider", {
4980
4989
  enumerable: true,
4981
- get: function () { return chunkTNR7AA52_cjs.PrivanaProvider; }
4990
+ get: function () { return chunkFFYLKZ7J_cjs.PrivanaProvider; }
4982
4991
  });
4983
4992
  Object.defineProperty(exports, "SUPPORTED_CHAINS", {
4984
4993
  enumerable: true,
4985
- get: function () { return chunkTNR7AA52_cjs.SUPPORTED_CHAINS; }
4994
+ get: function () { return chunkFFYLKZ7J_cjs.SUPPORTED_CHAINS; }
4986
4995
  });
4987
4996
  Object.defineProperty(exports, "SiweAuthProvider", {
4988
4997
  enumerable: true,
4989
- get: function () { return chunkTNR7AA52_cjs.SiweAuthProvider; }
4998
+ get: function () { return chunkFFYLKZ7J_cjs.SiweAuthProvider; }
4990
4999
  });
4991
5000
  Object.defineProperty(exports, "Skeleton", {
4992
5001
  enumerable: true,
4993
- get: function () { return chunkTNR7AA52_cjs.Skeleton; }
5002
+ get: function () { return chunkFFYLKZ7J_cjs.Skeleton; }
4994
5003
  });
4995
5004
  Object.defineProperty(exports, "TRANSFER_LOCKED_TYPES", {
4996
5005
  enumerable: true,
4997
- get: function () { return chunkTNR7AA52_cjs.TRANSFER_LOCKED_TYPES; }
5006
+ get: function () { return chunkFFYLKZ7J_cjs.TRANSFER_LOCKED_TYPES; }
4998
5007
  });
4999
5008
  Object.defineProperty(exports, "TRANSFER_TYPES", {
5000
5009
  enumerable: true,
5001
- get: function () { return chunkTNR7AA52_cjs.TRANSFER_TYPES; }
5010
+ get: function () { return chunkFFYLKZ7J_cjs.TRANSFER_TYPES; }
5002
5011
  });
5003
5012
  Object.defineProperty(exports, "ValidationError", {
5004
5013
  enumerable: true,
5005
- get: function () { return chunkTNR7AA52_cjs.ValidationError; }
5014
+ get: function () { return chunkFFYLKZ7J_cjs.ValidationError; }
5006
5015
  });
5007
5016
  Object.defineProperty(exports, "WITHDRAW_FROM_LOCK_TYPES", {
5008
5017
  enumerable: true,
5009
- get: function () { return chunkTNR7AA52_cjs.WITHDRAW_FROM_LOCK_TYPES; }
5018
+ get: function () { return chunkFFYLKZ7J_cjs.WITHDRAW_FROM_LOCK_TYPES; }
5010
5019
  });
5011
5020
  Object.defineProperty(exports, "WITHDRAW_TYPES", {
5012
5021
  enumerable: true,
5013
- get: function () { return chunkTNR7AA52_cjs.WITHDRAW_TYPES; }
5022
+ get: function () { return chunkFFYLKZ7J_cjs.WITHDRAW_TYPES; }
5014
5023
  });
5015
5024
  Object.defineProperty(exports, "applyLockBuffer", {
5016
5025
  enumerable: true,
5017
- get: function () { return chunkTNR7AA52_cjs.applyLockBuffer; }
5026
+ get: function () { return chunkFFYLKZ7J_cjs.applyLockBuffer; }
5018
5027
  });
5019
5028
  Object.defineProperty(exports, "applyRefreshResponse", {
5020
5029
  enumerable: true,
5021
- get: function () { return chunkTNR7AA52_cjs.applyRefreshResponse; }
5030
+ get: function () { return chunkFFYLKZ7J_cjs.applyRefreshResponse; }
5022
5031
  });
5023
5032
  Object.defineProperty(exports, "buildHostedAuthSession", {
5024
5033
  enumerable: true,
5025
- get: function () { return chunkTNR7AA52_cjs.buildHostedAuthSession; }
5034
+ get: function () { return chunkFFYLKZ7J_cjs.buildHostedAuthSession; }
5026
5035
  });
5027
5036
  Object.defineProperty(exports, "buildSiweStatement", {
5028
5037
  enumerable: true,
5029
- get: function () { return chunkTNR7AA52_cjs.buildSiweStatement; }
5038
+ get: function () { return chunkFFYLKZ7J_cjs.buildSiweStatement; }
5030
5039
  });
5031
5040
  Object.defineProperty(exports, "buttonVariants", {
5032
5041
  enumerable: true,
5033
- get: function () { return chunkTNR7AA52_cjs.buttonVariants; }
5042
+ get: function () { return chunkFFYLKZ7J_cjs.buttonVariants; }
5034
5043
  });
5035
5044
  Object.defineProperty(exports, "clampLockAmount", {
5036
5045
  enumerable: true,
5037
- get: function () { return chunkTNR7AA52_cjs.clampLockAmount; }
5046
+ get: function () { return chunkFFYLKZ7J_cjs.clampLockAmount; }
5038
5047
  });
5039
5048
  Object.defineProperty(exports, "clearHostedAuthPendingTransaction", {
5040
5049
  enumerable: true,
5041
- get: function () { return chunkTNR7AA52_cjs.clearHostedAuthPendingTransaction; }
5050
+ get: function () { return chunkFFYLKZ7J_cjs.clearHostedAuthPendingTransaction; }
5042
5051
  });
5043
5052
  Object.defineProperty(exports, "clearPendingLock", {
5044
5053
  enumerable: true,
5045
- get: function () { return chunkTNR7AA52_cjs.clearPendingLock; }
5054
+ get: function () { return chunkFFYLKZ7J_cjs.clearPendingLock; }
5046
5055
  });
5047
5056
  Object.defineProperty(exports, "createDomain", {
5048
5057
  enumerable: true,
5049
- get: function () { return chunkTNR7AA52_cjs.createDomain; }
5058
+ get: function () { return chunkFFYLKZ7J_cjs.createDomain; }
5050
5059
  });
5051
5060
  Object.defineProperty(exports, "createHostedAuthPendingStorageKey", {
5052
5061
  enumerable: true,
5053
- get: function () { return chunkTNR7AA52_cjs.createHostedAuthPendingStorageKey; }
5062
+ get: function () { return chunkFFYLKZ7J_cjs.createHostedAuthPendingStorageKey; }
5054
5063
  });
5055
5064
  Object.defineProperty(exports, "createHostedAuthState", {
5056
5065
  enumerable: true,
5057
- get: function () { return chunkTNR7AA52_cjs.createHostedAuthState; }
5066
+ get: function () { return chunkFFYLKZ7J_cjs.createHostedAuthState; }
5058
5067
  });
5059
5068
  Object.defineProperty(exports, "createHostedAuthStorageKey", {
5060
5069
  enumerable: true,
5061
- get: function () { return chunkTNR7AA52_cjs.createHostedAuthStorageKey; }
5070
+ get: function () { return chunkFFYLKZ7J_cjs.createHostedAuthStorageKey; }
5062
5071
  });
5063
5072
  Object.defineProperty(exports, "createLockExpiry", {
5064
5073
  enumerable: true,
5065
- get: function () { return chunkTNR7AA52_cjs.createLockExpiry; }
5074
+ get: function () { return chunkFFYLKZ7J_cjs.createLockExpiry; }
5066
5075
  });
5067
5076
  Object.defineProperty(exports, "createPkceChallenge", {
5068
5077
  enumerable: true,
5069
- get: function () { return chunkTNR7AA52_cjs.createPkceChallenge; }
5078
+ get: function () { return chunkFFYLKZ7J_cjs.createPkceChallenge; }
5070
5079
  });
5071
5080
  Object.defineProperty(exports, "createPkceVerifier", {
5072
5081
  enumerable: true,
5073
- get: function () { return chunkTNR7AA52_cjs.createPkceVerifier; }
5082
+ get: function () { return chunkFFYLKZ7J_cjs.createPkceVerifier; }
5074
5083
  });
5075
5084
  Object.defineProperty(exports, "createSignedLockRequest", {
5076
5085
  enumerable: true,
5077
- get: function () { return chunkTNR7AA52_cjs.createSignedLockRequest; }
5086
+ get: function () { return chunkFFYLKZ7J_cjs.createSignedLockRequest; }
5078
5087
  });
5079
5088
  Object.defineProperty(exports, "getAccountingContract", {
5080
5089
  enumerable: true,
5081
- get: function () { return chunkTNR7AA52_cjs.getAccountingContract; }
5090
+ get: function () { return chunkFFYLKZ7J_cjs.getAccountingContract; }
5082
5091
  });
5083
5092
  Object.defineProperty(exports, "getApiUrl", {
5084
5093
  enumerable: true,
5085
- get: function () { return chunkTNR7AA52_cjs.getApiUrl; }
5094
+ get: function () { return chunkFFYLKZ7J_cjs.getApiUrl; }
5086
5095
  });
5087
5096
  Object.defineProperty(exports, "getChainById", {
5088
5097
  enumerable: true,
5089
- get: function () { return chunkTNR7AA52_cjs.getChainById; }
5098
+ get: function () { return chunkFFYLKZ7J_cjs.getChainById; }
5090
5099
  });
5091
5100
  Object.defineProperty(exports, "getChainId", {
5092
5101
  enumerable: true,
5093
- get: function () { return chunkTNR7AA52_cjs.getChainId; }
5102
+ get: function () { return chunkFFYLKZ7J_cjs.getChainId; }
5094
5103
  });
5095
5104
  Object.defineProperty(exports, "getExplorerAddressUrl", {
5096
5105
  enumerable: true,
5097
- get: function () { return chunkTNR7AA52_cjs.getExplorerAddressUrl; }
5106
+ get: function () { return chunkFFYLKZ7J_cjs.getExplorerAddressUrl; }
5098
5107
  });
5099
5108
  Object.defineProperty(exports, "getExplorerLabel", {
5100
5109
  enumerable: true,
5101
- get: function () { return chunkTNR7AA52_cjs.getExplorerLabel; }
5110
+ get: function () { return chunkFFYLKZ7J_cjs.getExplorerLabel; }
5102
5111
  });
5103
5112
  Object.defineProperty(exports, "isHostedAuthRefreshActive", {
5104
5113
  enumerable: true,
5105
- get: function () { return chunkTNR7AA52_cjs.isHostedAuthRefreshActive; }
5114
+ get: function () { return chunkFFYLKZ7J_cjs.isHostedAuthRefreshActive; }
5106
5115
  });
5107
5116
  Object.defineProperty(exports, "isHostedAuthSessionActive", {
5108
5117
  enumerable: true,
5109
- get: function () { return chunkTNR7AA52_cjs.isHostedAuthSessionActive; }
5118
+ get: function () { return chunkFFYLKZ7J_cjs.isHostedAuthSessionActive; }
5110
5119
  });
5111
5120
  Object.defineProperty(exports, "isSignedLockUsable", {
5112
5121
  enumerable: true,
5113
- get: function () { return chunkTNR7AA52_cjs.isSignedLockUsable; }
5122
+ get: function () { return chunkFFYLKZ7J_cjs.isSignedLockUsable; }
5114
5123
  });
5115
5124
  Object.defineProperty(exports, "loadPendingLock", {
5116
5125
  enumerable: true,
5117
- get: function () { return chunkTNR7AA52_cjs.loadPendingLock; }
5126
+ get: function () { return chunkFFYLKZ7J_cjs.loadPendingLock; }
5118
5127
  });
5119
5128
  Object.defineProperty(exports, "normalizeAddress", {
5120
5129
  enumerable: true,
5121
- get: function () { return chunkTNR7AA52_cjs.normalizeAddress; }
5130
+ get: function () { return chunkFFYLKZ7J_cjs.normalizeAddress; }
5122
5131
  });
5123
5132
  Object.defineProperty(exports, "normalizeHex", {
5124
5133
  enumerable: true,
5125
- get: function () { return chunkTNR7AA52_cjs.normalizeHex; }
5134
+ get: function () { return chunkFFYLKZ7J_cjs.normalizeHex; }
5126
5135
  });
5127
5136
  Object.defineProperty(exports, "parseHostedAuthCallback", {
5128
5137
  enumerable: true,
5129
- get: function () { return chunkTNR7AA52_cjs.parseHostedAuthCallback; }
5138
+ get: function () { return chunkFFYLKZ7J_cjs.parseHostedAuthCallback; }
5130
5139
  });
5131
5140
  Object.defineProperty(exports, "persistHostedAuthPendingTransaction", {
5132
5141
  enumerable: true,
5133
- get: function () { return chunkTNR7AA52_cjs.persistHostedAuthPendingTransaction; }
5142
+ get: function () { return chunkFFYLKZ7J_cjs.persistHostedAuthPendingTransaction; }
5134
5143
  });
5135
5144
  Object.defineProperty(exports, "readHostedAuthPendingTransaction", {
5136
5145
  enumerable: true,
5137
- get: function () { return chunkTNR7AA52_cjs.readHostedAuthPendingTransaction; }
5146
+ get: function () { return chunkFFYLKZ7J_cjs.readHostedAuthPendingTransaction; }
5138
5147
  });
5139
5148
  Object.defineProperty(exports, "readStoredHostedAuthSession", {
5140
5149
  enumerable: true,
5141
- get: function () { return chunkTNR7AA52_cjs.readStoredHostedAuthSession; }
5150
+ get: function () { return chunkFFYLKZ7J_cjs.readStoredHostedAuthSession; }
5142
5151
  });
5143
5152
  Object.defineProperty(exports, "requireDepositLockOwner", {
5144
5153
  enumerable: true,
5145
- get: function () { return chunkTNR7AA52_cjs.requireDepositLockOwner; }
5154
+ get: function () { return chunkFFYLKZ7J_cjs.requireDepositLockOwner; }
5146
5155
  });
5147
5156
  Object.defineProperty(exports, "requireServiceAddress", {
5148
5157
  enumerable: true,
5149
- get: function () { return chunkTNR7AA52_cjs.requireServiceAddress; }
5158
+ get: function () { return chunkFFYLKZ7J_cjs.requireServiceAddress; }
5150
5159
  });
5151
5160
  Object.defineProperty(exports, "savePendingLock", {
5152
5161
  enumerable: true,
5153
- get: function () { return chunkTNR7AA52_cjs.savePendingLock; }
5162
+ get: function () { return chunkFFYLKZ7J_cjs.savePendingLock; }
5154
5163
  });
5155
5164
  Object.defineProperty(exports, "signLockMessage", {
5156
5165
  enumerable: true,
5157
- get: function () { return chunkTNR7AA52_cjs.signLockMessage; }
5166
+ get: function () { return chunkFFYLKZ7J_cjs.signLockMessage; }
5158
5167
  });
5159
5168
  Object.defineProperty(exports, "signModifyLockMessage", {
5160
5169
  enumerable: true,
5161
- get: function () { return chunkTNR7AA52_cjs.signModifyLockMessage; }
5170
+ get: function () { return chunkFFYLKZ7J_cjs.signModifyLockMessage; }
5162
5171
  });
5163
5172
  Object.defineProperty(exports, "signTransferLockedMessage", {
5164
5173
  enumerable: true,
5165
- get: function () { return chunkTNR7AA52_cjs.signTransferLockedMessage; }
5174
+ get: function () { return chunkFFYLKZ7J_cjs.signTransferLockedMessage; }
5166
5175
  });
5167
5176
  Object.defineProperty(exports, "signTransferMessage", {
5168
5177
  enumerable: true,
5169
- get: function () { return chunkTNR7AA52_cjs.signTransferMessage; }
5178
+ get: function () { return chunkFFYLKZ7J_cjs.signTransferMessage; }
5170
5179
  });
5171
5180
  Object.defineProperty(exports, "signWithdrawFromLockMessage", {
5172
5181
  enumerable: true,
5173
- get: function () { return chunkTNR7AA52_cjs.signWithdrawFromLockMessage; }
5182
+ get: function () { return chunkFFYLKZ7J_cjs.signWithdrawFromLockMessage; }
5174
5183
  });
5175
5184
  Object.defineProperty(exports, "signWithdrawMessage", {
5176
5185
  enumerable: true,
5177
- get: function () { return chunkTNR7AA52_cjs.signWithdrawMessage; }
5186
+ get: function () { return chunkFFYLKZ7J_cjs.signWithdrawMessage; }
5178
5187
  });
5179
5188
  Object.defineProperty(exports, "stripHostedAuthCallbackParams", {
5180
5189
  enumerable: true,
5181
- get: function () { return chunkTNR7AA52_cjs.stripHostedAuthCallbackParams; }
5190
+ get: function () { return chunkFFYLKZ7J_cjs.stripHostedAuthCallbackParams; }
5182
5191
  });
5183
5192
  Object.defineProperty(exports, "submitPendingLock", {
5184
5193
  enumerable: true,
5185
- get: function () { return chunkTNR7AA52_cjs.submitPendingLock; }
5194
+ get: function () { return chunkFFYLKZ7J_cjs.submitPendingLock; }
5186
5195
  });
5187
5196
  Object.defineProperty(exports, "syncHostedAuthSessionToClient", {
5188
5197
  enumerable: true,
5189
- get: function () { return chunkTNR7AA52_cjs.syncHostedAuthSessionToClient; }
5198
+ get: function () { return chunkFFYLKZ7J_cjs.syncHostedAuthSessionToClient; }
5190
5199
  });
5191
5200
  Object.defineProperty(exports, "useDepositVerification", {
5192
5201
  enumerable: true,
5193
- get: function () { return chunkTNR7AA52_cjs.useDepositVerification; }
5202
+ get: function () { return chunkFFYLKZ7J_cjs.useDepositVerification; }
5194
5203
  });
5195
5204
  Object.defineProperty(exports, "usePrivanaContext", {
5196
5205
  enumerable: true,
5197
- get: function () { return chunkTNR7AA52_cjs.usePrivanaContext; }
5206
+ get: function () { return chunkFFYLKZ7J_cjs.usePrivanaContext; }
5198
5207
  });
5199
5208
  Object.defineProperty(exports, "useSafeAccount", {
5200
5209
  enumerable: true,
5201
- get: function () { return chunkTNR7AA52_cjs.useSafeAccount; }
5210
+ get: function () { return chunkFFYLKZ7J_cjs.useSafeAccount; }
5202
5211
  });
5203
5212
  Object.defineProperty(exports, "useSafePrivanaContext", {
5204
5213
  enumerable: true,
5205
- get: function () { return chunkTNR7AA52_cjs.useSafePrivanaContext; }
5214
+ get: function () { return chunkFFYLKZ7J_cjs.useSafePrivanaContext; }
5206
5215
  });
5207
5216
  Object.defineProperty(exports, "useSiweAuth", {
5208
5217
  enumerable: true,
5209
- get: function () { return chunkTNR7AA52_cjs.useSiweAuth; }
5218
+ get: function () { return chunkFFYLKZ7J_cjs.useSiweAuth; }
5210
5219
  });
5211
5220
  exports.DepositInlineModal = DepositInlineModal;
5212
5221
  exports.DepositModal = DepositModal;