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