@volr/react 0.1.135 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +296 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +70 -1
- package/dist/index.d.ts +70 -1
- package/dist/index.js +294 -88
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -18956,6 +18956,28 @@ function normalizeCall(call2) {
|
|
|
18956
18956
|
function normalizeCalls(calls) {
|
|
18957
18957
|
return calls.map(normalizeCall);
|
|
18958
18958
|
}
|
|
18959
|
+
|
|
18960
|
+
// src/errors/wallet-errors.ts
|
|
18961
|
+
var WalletRequiredError = class _WalletRequiredError extends Error {
|
|
18962
|
+
constructor(action, message) {
|
|
18963
|
+
super(
|
|
18964
|
+
message || "Wallet is required for this action. Please create a Volr account (passkey/MPC) or provide a wallet provider."
|
|
18965
|
+
);
|
|
18966
|
+
this.code = "WALLET_REQUIRED";
|
|
18967
|
+
this.name = "WalletRequiredError";
|
|
18968
|
+
this.action = action;
|
|
18969
|
+
Object.setPrototypeOf(this, _WalletRequiredError.prototype);
|
|
18970
|
+
}
|
|
18971
|
+
};
|
|
18972
|
+
function isWalletRequiredError(error) {
|
|
18973
|
+
if (error instanceof WalletRequiredError) return true;
|
|
18974
|
+
if (error && typeof error === "object" && error.code === "WALLET_REQUIRED") {
|
|
18975
|
+
return true;
|
|
18976
|
+
}
|
|
18977
|
+
return false;
|
|
18978
|
+
}
|
|
18979
|
+
|
|
18980
|
+
// src/wallet/signer.ts
|
|
18959
18981
|
async function resolveSigner(input) {
|
|
18960
18982
|
const { explicitSigner, provider, chainId, client, user, setProvider } = input;
|
|
18961
18983
|
if (explicitSigner) {
|
|
@@ -19014,8 +19036,9 @@ async function resolveSigner(input) {
|
|
|
19014
19036
|
const signer = await selectSigner(signerContext);
|
|
19015
19037
|
return { signer, activeProvider: restoredProvider };
|
|
19016
19038
|
}
|
|
19017
|
-
throw new
|
|
19018
|
-
"
|
|
19039
|
+
throw new WalletRequiredError(
|
|
19040
|
+
"send_transaction",
|
|
19041
|
+
"No wallet provider available. Please create a Volr wallet (passkey/MPC) first."
|
|
19019
19042
|
);
|
|
19020
19043
|
}
|
|
19021
19044
|
|
|
@@ -19181,11 +19204,6 @@ async function sendCalls(args) {
|
|
|
19181
19204
|
const normalizedFrom = normalizeHex(from14);
|
|
19182
19205
|
const normalizedCalls = normalizeCalls(calls);
|
|
19183
19206
|
validateCalls2(normalizedCalls);
|
|
19184
|
-
if (!deps.provider && deps.user?.keyStorageType !== "passkey") {
|
|
19185
|
-
throw new Error(
|
|
19186
|
-
"No wallet provider configured. Please set up a Passkey provider to sign transactions. SIWE is authentication-only."
|
|
19187
|
-
);
|
|
19188
|
-
}
|
|
19189
19207
|
let currentUser = deps.user;
|
|
19190
19208
|
if (deps.user?.keyStorageType === "passkey" && !deps.provider) {
|
|
19191
19209
|
try {
|
|
@@ -19257,15 +19275,52 @@ async function sendCalls(args) {
|
|
|
19257
19275
|
let signer;
|
|
19258
19276
|
let activeProvider = null;
|
|
19259
19277
|
try {
|
|
19260
|
-
|
|
19261
|
-
|
|
19262
|
-
|
|
19263
|
-
|
|
19264
|
-
|
|
19265
|
-
|
|
19266
|
-
|
|
19267
|
-
|
|
19268
|
-
|
|
19278
|
+
let resolved = null;
|
|
19279
|
+
try {
|
|
19280
|
+
resolved = await resolveSigner({
|
|
19281
|
+
explicitSigner: void 0,
|
|
19282
|
+
// Always resolve internally
|
|
19283
|
+
provider: deps.provider,
|
|
19284
|
+
chainId,
|
|
19285
|
+
client: deps.client,
|
|
19286
|
+
user: currentUser,
|
|
19287
|
+
setProvider: deps.setProvider
|
|
19288
|
+
});
|
|
19289
|
+
} catch (err) {
|
|
19290
|
+
if (isWalletRequiredError(err) && deps.onWalletRequired) {
|
|
19291
|
+
const maybeProvider = await deps.onWalletRequired({
|
|
19292
|
+
type: "transaction",
|
|
19293
|
+
chainId
|
|
19294
|
+
});
|
|
19295
|
+
if (!maybeProvider) {
|
|
19296
|
+
throw err;
|
|
19297
|
+
}
|
|
19298
|
+
await deps.setProvider(maybeProvider);
|
|
19299
|
+
try {
|
|
19300
|
+
const refreshedUser = await deps.client.refreshSession();
|
|
19301
|
+
if (refreshedUser) {
|
|
19302
|
+
currentUser = refreshedUser;
|
|
19303
|
+
}
|
|
19304
|
+
} catch {
|
|
19305
|
+
}
|
|
19306
|
+
resolved = await resolveSigner({
|
|
19307
|
+
explicitSigner: void 0,
|
|
19308
|
+
provider: maybeProvider,
|
|
19309
|
+
chainId,
|
|
19310
|
+
client: deps.client,
|
|
19311
|
+
user: currentUser,
|
|
19312
|
+
setProvider: deps.setProvider
|
|
19313
|
+
});
|
|
19314
|
+
} else {
|
|
19315
|
+
throw err;
|
|
19316
|
+
}
|
|
19317
|
+
}
|
|
19318
|
+
if (!resolved) {
|
|
19319
|
+
throw new WalletRequiredError(
|
|
19320
|
+
"send_transaction",
|
|
19321
|
+
"No wallet provider available. Please create a Volr wallet (passkey/MPC) first."
|
|
19322
|
+
);
|
|
19323
|
+
}
|
|
19269
19324
|
signer = resolved.signer;
|
|
19270
19325
|
activeProvider = resolved.activeProvider;
|
|
19271
19326
|
const result = await deps.relay(
|
|
@@ -19298,61 +19353,77 @@ function useVolr() {
|
|
|
19298
19353
|
const { relay } = useRelay();
|
|
19299
19354
|
const { client: apiClient } = useInternalAuth();
|
|
19300
19355
|
const restoringRef = useRef(null);
|
|
19356
|
+
const userRef = useRef(user);
|
|
19357
|
+
const providerRef = useRef(provider);
|
|
19358
|
+
useEffect(() => {
|
|
19359
|
+
userRef.current = user;
|
|
19360
|
+
}, [user]);
|
|
19361
|
+
useEffect(() => {
|
|
19362
|
+
providerRef.current = provider;
|
|
19363
|
+
}, [provider]);
|
|
19301
19364
|
const getRpcUrl = useCallback(
|
|
19302
19365
|
createGetRpcUrl({ client: apiClient, rpcOverrides: config.rpcOverrides }),
|
|
19303
19366
|
[apiClient, config.rpcOverrides]
|
|
19304
19367
|
);
|
|
19305
|
-
const ensureProvider = useCallback(
|
|
19306
|
-
|
|
19307
|
-
|
|
19308
|
-
|
|
19309
|
-
|
|
19310
|
-
|
|
19311
|
-
|
|
19312
|
-
|
|
19313
|
-
|
|
19314
|
-
|
|
19315
|
-
|
|
19316
|
-
|
|
19317
|
-
|
|
19318
|
-
|
|
19319
|
-
|
|
19320
|
-
|
|
19321
|
-
|
|
19322
|
-
|
|
19323
|
-
|
|
19324
|
-
|
|
19325
|
-
|
|
19326
|
-
|
|
19327
|
-
|
|
19328
|
-
|
|
19329
|
-
|
|
19330
|
-
|
|
19331
|
-
|
|
19332
|
-
|
|
19368
|
+
const ensureProvider = useCallback(
|
|
19369
|
+
async (args) => {
|
|
19370
|
+
if (providerRef.current) {
|
|
19371
|
+
return providerRef.current;
|
|
19372
|
+
}
|
|
19373
|
+
const currentUser = userRef.current;
|
|
19374
|
+
if (!currentUser?.keyStorageType || currentUser.keyStorageType !== "passkey") {
|
|
19375
|
+
if (config.onWalletRequired) {
|
|
19376
|
+
const maybeProvider = await config.onWalletRequired(args.request);
|
|
19377
|
+
if (maybeProvider) {
|
|
19378
|
+
await setProvider(maybeProvider);
|
|
19379
|
+
return maybeProvider;
|
|
19380
|
+
}
|
|
19381
|
+
}
|
|
19382
|
+
throw new WalletRequiredError(args.action);
|
|
19383
|
+
}
|
|
19384
|
+
if (!currentUser.id) {
|
|
19385
|
+
throw new Error("Missing user id. Please login again.");
|
|
19386
|
+
}
|
|
19387
|
+
const currentRpId = typeof window !== "undefined" ? window.location.hostname : "localhost";
|
|
19388
|
+
const domainPasskey = currentUser.registeredPasskeys?.find((p) => p.rpId === currentRpId) ?? null;
|
|
19389
|
+
const blobUrl = domainPasskey?.blobUrl ?? currentUser.blobUrl;
|
|
19390
|
+
const prfInput = domainPasskey?.prfInput ?? currentUser.prfInput;
|
|
19391
|
+
const credentialId = domainPasskey?.credentialId ?? currentUser.credentialId;
|
|
19392
|
+
if (currentUser.registeredPasskeys?.length && !domainPasskey) {
|
|
19393
|
+
throw new Error(
|
|
19394
|
+
`PASSKEY_DOMAIN_MISMATCH: No passkey registered for rpId=${currentRpId}`
|
|
19395
|
+
);
|
|
19396
|
+
}
|
|
19397
|
+
if (!blobUrl || !prfInput) {
|
|
19398
|
+
throw new Error("Missing passkey data. Please re-enroll your passkey.");
|
|
19399
|
+
}
|
|
19400
|
+
if (restoringRef.current) {
|
|
19401
|
+
return restoringRef.current;
|
|
19402
|
+
}
|
|
19403
|
+
restoringRef.current = restorePasskey({
|
|
19404
|
+
client: apiClient,
|
|
19405
|
+
userId: currentUser.id,
|
|
19406
|
+
blobUrl,
|
|
19407
|
+
prfInput,
|
|
19408
|
+
credentialId
|
|
19409
|
+
}).then(async ({ provider: restoredProvider }) => {
|
|
19410
|
+
await setProvider(restoredProvider);
|
|
19411
|
+
restoringRef.current = null;
|
|
19412
|
+
return restoredProvider;
|
|
19413
|
+
}).catch((err) => {
|
|
19414
|
+
restoringRef.current = null;
|
|
19415
|
+
throw err;
|
|
19416
|
+
});
|
|
19333
19417
|
return restoringRef.current;
|
|
19334
|
-
}
|
|
19335
|
-
|
|
19336
|
-
|
|
19337
|
-
client: apiClient,
|
|
19338
|
-
userId: user.id,
|
|
19339
|
-
blobUrl,
|
|
19340
|
-
prfInput,
|
|
19341
|
-
credentialId
|
|
19342
|
-
}).then(async ({ provider: restoredProvider }) => {
|
|
19343
|
-
await setProvider(restoredProvider);
|
|
19344
|
-
console.log("[useVolr] Passkey provider restored successfully");
|
|
19345
|
-
restoringRef.current = null;
|
|
19346
|
-
return restoredProvider;
|
|
19347
|
-
}).catch((err) => {
|
|
19348
|
-
restoringRef.current = null;
|
|
19349
|
-
throw err;
|
|
19350
|
-
});
|
|
19351
|
-
return restoringRef.current;
|
|
19352
|
-
}, [provider, user, apiClient, setProvider]);
|
|
19418
|
+
},
|
|
19419
|
+
[apiClient, config.onWalletRequired, setProvider]
|
|
19420
|
+
);
|
|
19353
19421
|
const signMessage = useCallback(
|
|
19354
19422
|
async (message) => {
|
|
19355
|
-
const activeProvider = await ensureProvider(
|
|
19423
|
+
const activeProvider = await ensureProvider({
|
|
19424
|
+
request: { type: "message" },
|
|
19425
|
+
action: "sign_message"
|
|
19426
|
+
});
|
|
19356
19427
|
if (config.onSignRequest) {
|
|
19357
19428
|
await config.onSignRequest({ type: "message", message });
|
|
19358
19429
|
}
|
|
@@ -19376,7 +19447,10 @@ function useVolr() {
|
|
|
19376
19447
|
);
|
|
19377
19448
|
const signTypedData = useCallback(
|
|
19378
19449
|
async (typedData) => {
|
|
19379
|
-
const activeProvider = await ensureProvider(
|
|
19450
|
+
const activeProvider = await ensureProvider({
|
|
19451
|
+
request: { type: "typedData" },
|
|
19452
|
+
action: "sign_typed_data"
|
|
19453
|
+
});
|
|
19380
19454
|
if (config.onSignRequest) {
|
|
19381
19455
|
await config.onSignRequest({ type: "typedData", typedData });
|
|
19382
19456
|
}
|
|
@@ -19413,10 +19487,30 @@ function useVolr() {
|
|
|
19413
19487
|
},
|
|
19414
19488
|
sendTransaction: async (tx, opts = {}) => {
|
|
19415
19489
|
const { publicClient: publicClient2, extendedRpcClient: rpcClient } = await ensureRpcClient();
|
|
19416
|
-
|
|
19490
|
+
let from14 = opts.from ?? userRef.current?.evmAddress;
|
|
19491
|
+
let providerForDeps = providerRef.current ?? null;
|
|
19492
|
+
if (!from14 && config.onWalletRequired) {
|
|
19493
|
+
const maybeProvider = await config.onWalletRequired({
|
|
19494
|
+
type: "transaction",
|
|
19495
|
+
chainId
|
|
19496
|
+
});
|
|
19497
|
+
if (maybeProvider) {
|
|
19498
|
+
providerForDeps = maybeProvider;
|
|
19499
|
+
await setProvider(maybeProvider);
|
|
19500
|
+
try {
|
|
19501
|
+
const refreshed = await apiClient.refreshSession();
|
|
19502
|
+
if (refreshed?.evmAddress) {
|
|
19503
|
+
from14 = refreshed.evmAddress;
|
|
19504
|
+
}
|
|
19505
|
+
} catch {
|
|
19506
|
+
}
|
|
19507
|
+
from14 = from14 ?? userRef.current?.evmAddress;
|
|
19508
|
+
}
|
|
19509
|
+
}
|
|
19417
19510
|
if (!from14) {
|
|
19418
|
-
throw new
|
|
19419
|
-
"
|
|
19511
|
+
throw new WalletRequiredError(
|
|
19512
|
+
"send_transaction",
|
|
19513
|
+
"Wallet address is required. Please create a Volr wallet (passkey/MPC) first."
|
|
19420
19514
|
);
|
|
19421
19515
|
}
|
|
19422
19516
|
const call2 = {
|
|
@@ -19436,18 +19530,39 @@ function useVolr() {
|
|
|
19436
19530
|
precheck,
|
|
19437
19531
|
relay,
|
|
19438
19532
|
client: apiClient,
|
|
19439
|
-
user:
|
|
19440
|
-
provider:
|
|
19441
|
-
setProvider
|
|
19533
|
+
user: userRef.current ?? null,
|
|
19534
|
+
provider: providerForDeps,
|
|
19535
|
+
setProvider,
|
|
19536
|
+
onWalletRequired: config.onWalletRequired
|
|
19442
19537
|
}
|
|
19443
19538
|
});
|
|
19444
19539
|
},
|
|
19445
19540
|
sendBatch: (async (calls, opts = {}) => {
|
|
19446
19541
|
const { publicClient: publicClient2, extendedRpcClient: rpcClient } = await ensureRpcClient();
|
|
19447
|
-
|
|
19542
|
+
let from14 = opts.from ?? userRef.current?.evmAddress;
|
|
19543
|
+
let providerForDeps = providerRef.current ?? null;
|
|
19544
|
+
if (!from14 && config.onWalletRequired) {
|
|
19545
|
+
const maybeProvider = await config.onWalletRequired({
|
|
19546
|
+
type: "transaction",
|
|
19547
|
+
chainId
|
|
19548
|
+
});
|
|
19549
|
+
if (maybeProvider) {
|
|
19550
|
+
providerForDeps = maybeProvider;
|
|
19551
|
+
await setProvider(maybeProvider);
|
|
19552
|
+
try {
|
|
19553
|
+
const refreshed = await apiClient.refreshSession();
|
|
19554
|
+
if (refreshed?.evmAddress) {
|
|
19555
|
+
from14 = refreshed.evmAddress;
|
|
19556
|
+
}
|
|
19557
|
+
} catch {
|
|
19558
|
+
}
|
|
19559
|
+
from14 = from14 ?? userRef.current?.evmAddress;
|
|
19560
|
+
}
|
|
19561
|
+
}
|
|
19448
19562
|
if (!from14) {
|
|
19449
|
-
throw new
|
|
19450
|
-
"
|
|
19563
|
+
throw new WalletRequiredError(
|
|
19564
|
+
"send_transaction",
|
|
19565
|
+
"Wallet address is required. Please create a Volr wallet (passkey/MPC) first."
|
|
19451
19566
|
);
|
|
19452
19567
|
}
|
|
19453
19568
|
const isCallArray = (calls2) => {
|
|
@@ -19470,15 +19585,16 @@ function useVolr() {
|
|
|
19470
19585
|
precheck,
|
|
19471
19586
|
relay,
|
|
19472
19587
|
client: apiClient,
|
|
19473
|
-
user:
|
|
19474
|
-
provider:
|
|
19475
|
-
setProvider
|
|
19588
|
+
user: userRef.current ?? null,
|
|
19589
|
+
provider: providerForDeps,
|
|
19590
|
+
setProvider,
|
|
19591
|
+
onWalletRequired: config.onWalletRequired
|
|
19476
19592
|
}
|
|
19477
19593
|
});
|
|
19478
19594
|
})
|
|
19479
19595
|
};
|
|
19480
19596
|
},
|
|
19481
|
-
[
|
|
19597
|
+
[precheck, relay, getRpcUrl, setProvider, apiClient, config.onWalletRequired]
|
|
19482
19598
|
);
|
|
19483
19599
|
const evm = useMemo(
|
|
19484
19600
|
() => ({
|
|
@@ -19496,11 +19612,101 @@ function useVolr() {
|
|
|
19496
19612
|
email: user?.email,
|
|
19497
19613
|
isLoggedIn: user !== null,
|
|
19498
19614
|
signerType: user?.signerType,
|
|
19615
|
+
hasWallet: Boolean(user?.evmAddress),
|
|
19499
19616
|
logout,
|
|
19500
19617
|
isLoading,
|
|
19501
19618
|
error
|
|
19502
19619
|
};
|
|
19503
19620
|
}
|
|
19621
|
+
|
|
19622
|
+
// src/utils/session-broadcast.ts
|
|
19623
|
+
function broadcastSessionEvent(event) {
|
|
19624
|
+
if (typeof window === "undefined") return;
|
|
19625
|
+
if (!("BroadcastChannel" in window)) return;
|
|
19626
|
+
const channel = new BroadcastChannel(STORAGE_CHANNELS.session);
|
|
19627
|
+
channel.postMessage(event);
|
|
19628
|
+
channel.close();
|
|
19629
|
+
}
|
|
19630
|
+
|
|
19631
|
+
// src/hooks/useVolrSession.ts
|
|
19632
|
+
function toVolrUser(u) {
|
|
19633
|
+
return {
|
|
19634
|
+
id: u.id,
|
|
19635
|
+
projectId: u.projectId,
|
|
19636
|
+
projectName: u.projectName,
|
|
19637
|
+
email: u.email,
|
|
19638
|
+
authWallet: u.authWallet ?? void 0,
|
|
19639
|
+
evmAddress: u.evmAddress,
|
|
19640
|
+
keyStorageType: u.keyStorageType ?? void 0,
|
|
19641
|
+
signerType: u.signerType ?? void 0,
|
|
19642
|
+
walletConnector: u.walletConnector ?? void 0,
|
|
19643
|
+
lastWalletChainId: u.lastWalletChainId ?? void 0,
|
|
19644
|
+
blobUrl: u.blobUrl ?? void 0,
|
|
19645
|
+
prfInput: u.prfInput ?? void 0,
|
|
19646
|
+
credentialId: u.credentialId ?? void 0,
|
|
19647
|
+
registeredPasskeys: u.registeredPasskeys ?? void 0
|
|
19648
|
+
};
|
|
19649
|
+
}
|
|
19650
|
+
function useVolrSession() {
|
|
19651
|
+
const { setUser, logout } = useVolrContext();
|
|
19652
|
+
const { client, setAccessToken, setRefreshToken } = useInternalAuth();
|
|
19653
|
+
const setSession = useCallback(
|
|
19654
|
+
async (session) => {
|
|
19655
|
+
setAccessToken(session.accessToken);
|
|
19656
|
+
setRefreshToken(session.refreshToken);
|
|
19657
|
+
const refreshedUser = await client.refreshSession();
|
|
19658
|
+
if (!refreshedUser) {
|
|
19659
|
+
throw new Error("Failed to refresh session. Please try logging in again.");
|
|
19660
|
+
}
|
|
19661
|
+
const nextUser = toVolrUser(refreshedUser);
|
|
19662
|
+
setUser(nextUser);
|
|
19663
|
+
const nextAccess = client.getAccessToken();
|
|
19664
|
+
const nextRefresh = client.getRefreshToken();
|
|
19665
|
+
if (nextAccess) setAccessToken(nextAccess);
|
|
19666
|
+
if (nextRefresh) setRefreshToken(nextRefresh);
|
|
19667
|
+
if (nextAccess && nextRefresh) {
|
|
19668
|
+
broadcastSessionEvent({
|
|
19669
|
+
type: "LOGIN",
|
|
19670
|
+
payload: { accessToken: nextAccess, refreshToken: nextRefresh, user: refreshedUser }
|
|
19671
|
+
});
|
|
19672
|
+
}
|
|
19673
|
+
return nextUser;
|
|
19674
|
+
},
|
|
19675
|
+
[client, setAccessToken, setRefreshToken, setUser]
|
|
19676
|
+
);
|
|
19677
|
+
const clearSession = useCallback(async () => {
|
|
19678
|
+
await logout();
|
|
19679
|
+
broadcastSessionEvent({ type: "LOGOUT" });
|
|
19680
|
+
}, [logout]);
|
|
19681
|
+
const exchangeOidc = useCallback(
|
|
19682
|
+
async (idToken) => {
|
|
19683
|
+
const response = await client.post("/auth/oidc/exchange", {
|
|
19684
|
+
idToken
|
|
19685
|
+
});
|
|
19686
|
+
setAccessToken(response.accessToken);
|
|
19687
|
+
setRefreshToken(response.refreshToken);
|
|
19688
|
+
const nextUser = toVolrUser(response.user);
|
|
19689
|
+
setUser(nextUser);
|
|
19690
|
+
broadcastSessionEvent({
|
|
19691
|
+
type: "LOGIN",
|
|
19692
|
+
payload: {
|
|
19693
|
+
accessToken: response.accessToken,
|
|
19694
|
+
refreshToken: response.refreshToken,
|
|
19695
|
+
user: response.user
|
|
19696
|
+
}
|
|
19697
|
+
});
|
|
19698
|
+
return {
|
|
19699
|
+
userId: response.user?.id || "",
|
|
19700
|
+
isNewUser: response.isNewUser,
|
|
19701
|
+
keyStorageType: response.user?.keyStorageType ?? null,
|
|
19702
|
+
signerType: response.user?.signerType ?? null,
|
|
19703
|
+
accessToken: response.accessToken
|
|
19704
|
+
};
|
|
19705
|
+
},
|
|
19706
|
+
[client, setAccessToken, setRefreshToken, setUser]
|
|
19707
|
+
);
|
|
19708
|
+
return { setSession, clearSession, exchangeOidc };
|
|
19709
|
+
}
|
|
19504
19710
|
init_sha3();
|
|
19505
19711
|
init_utils2();
|
|
19506
19712
|
function toChecksumAddress(address) {
|
|
@@ -19519,7 +19725,7 @@ function toChecksumAddress(address) {
|
|
|
19519
19725
|
function useVolrLogin() {
|
|
19520
19726
|
const { config, setUser } = useVolrContext();
|
|
19521
19727
|
const { setAccessToken, setRefreshToken, client } = useInternalAuth();
|
|
19522
|
-
const
|
|
19728
|
+
const toVolrUser2 = useCallback((u) => {
|
|
19523
19729
|
return {
|
|
19524
19730
|
id: u.id,
|
|
19525
19731
|
projectId: u.projectId,
|
|
@@ -19578,7 +19784,7 @@ function useVolrLogin() {
|
|
|
19578
19784
|
);
|
|
19579
19785
|
}
|
|
19580
19786
|
if (userFromServer) {
|
|
19581
|
-
setUser(
|
|
19787
|
+
setUser(toVolrUser2(userFromServer));
|
|
19582
19788
|
} else {
|
|
19583
19789
|
setUser({ id: "", email: normalizedEmail });
|
|
19584
19790
|
}
|
|
@@ -19590,7 +19796,7 @@ function useVolrLogin() {
|
|
|
19590
19796
|
accessToken
|
|
19591
19797
|
};
|
|
19592
19798
|
},
|
|
19593
|
-
[client, setAccessToken, setRefreshToken, setUser,
|
|
19799
|
+
[client, setAccessToken, setRefreshToken, setUser, toVolrUser2]
|
|
19594
19800
|
);
|
|
19595
19801
|
const handleSocialLogin = useCallback(
|
|
19596
19802
|
async (provider) => {
|
|
@@ -19628,7 +19834,7 @@ function useVolrLogin() {
|
|
|
19628
19834
|
setRefreshToken(refreshToken);
|
|
19629
19835
|
}
|
|
19630
19836
|
if (userFromServer) {
|
|
19631
|
-
setUser(
|
|
19837
|
+
setUser(toVolrUser2(userFromServer));
|
|
19632
19838
|
}
|
|
19633
19839
|
return {
|
|
19634
19840
|
userId: userFromServer?.id || "",
|
|
@@ -19646,7 +19852,7 @@ function useVolrLogin() {
|
|
|
19646
19852
|
throw error;
|
|
19647
19853
|
}
|
|
19648
19854
|
},
|
|
19649
|
-
[client, setAccessToken, setRefreshToken, setUser,
|
|
19855
|
+
[client, setAccessToken, setRefreshToken, setUser, toVolrUser2]
|
|
19650
19856
|
);
|
|
19651
19857
|
const signWithWallet = useCallback(
|
|
19652
19858
|
async (walletAddress, options) => {
|
|
@@ -19693,11 +19899,11 @@ Issued At: ${issuedAt}`;
|
|
|
19693
19899
|
if (response.status === "completed" && response.tokens && response.user) {
|
|
19694
19900
|
setAccessToken(response.tokens.accessToken);
|
|
19695
19901
|
setRefreshToken(response.tokens.refreshToken);
|
|
19696
|
-
setUser(
|
|
19902
|
+
setUser(toVolrUser2(response.user));
|
|
19697
19903
|
}
|
|
19698
19904
|
return response;
|
|
19699
19905
|
},
|
|
19700
|
-
[client, setAccessToken, setRefreshToken, setUser,
|
|
19906
|
+
[client, setAccessToken, setRefreshToken, setUser, toVolrUser2]
|
|
19701
19907
|
);
|
|
19702
19908
|
const getSiweSignUrl = useCallback(
|
|
19703
19909
|
(sessionId) => {
|
|
@@ -19737,7 +19943,7 @@ function useVolrAuthCallback(options = {}) {
|
|
|
19737
19943
|
const [isNewUser, setIsNewUser] = useState(false);
|
|
19738
19944
|
const [user, setLocalUser] = useState(null);
|
|
19739
19945
|
const hasProcessed = useRef(false);
|
|
19740
|
-
const
|
|
19946
|
+
const toVolrUser2 = useCallback((u) => {
|
|
19741
19947
|
return {
|
|
19742
19948
|
id: u.id,
|
|
19743
19949
|
projectId: u.projectId,
|
|
@@ -19797,7 +20003,7 @@ function useVolrAuthCallback(options = {}) {
|
|
|
19797
20003
|
if (refreshToken) {
|
|
19798
20004
|
setRefreshToken(refreshToken);
|
|
19799
20005
|
}
|
|
19800
|
-
const volrUser =
|
|
20006
|
+
const volrUser = toVolrUser2(userData);
|
|
19801
20007
|
setUser(volrUser);
|
|
19802
20008
|
setLocalUser(volrUser);
|
|
19803
20009
|
if (clearUrlParams && typeof window !== "undefined") {
|
|
@@ -21340,6 +21546,6 @@ function detectWalletConnector(provider, providerInfo) {
|
|
|
21340
21546
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
21341
21547
|
*/
|
|
21342
21548
|
|
|
21343
|
-
export { DEFAULT_EXPIRES_IN_SEC, DEFAULT_MODE, InAppBrowserNotSupportedError, PasskeyNotFoundError, PrfNotSupportedError, UserCancelledError, VolrProvider, WebAuthnBusyError, analyzeContractForEIP7702, buildCall, buildCalls, checkPrfCompatibility, checkPrfExtensionAvailable, checkPrfSupport, compareERC20Balances, compareWalletStates, completeMigration, createGetNetworkInfo, createPasskeyAdapter, debugTransactionFailure, decryptEntropyForMigration, defaultIdempotencyKey, detectWalletConnector, diagnoseTransactionFailure, getBrowserVersion, getERC20Balance, getIOSVersion, getPasskeyAuthGuidance, getPlatformHint, getUserCredentials, getWalletState, isEIP7702Delegated, isInAppBrowser, isInAppBrowserNotSupportedError, isUserCancelledError, isWebAuthnBusyError, listenForSeedRequests, normalizeHex, normalizeHexArray, openMigrationPopup, requestMigration, requestSeedFromOpener, sendSeedToPopup, uploadBlobViaPresign, useDepositListener, useEIP6963, useInternalAuth, useMpcConnection, usePasskeyEnrollment, usePrecheck, useRelay, useUserBalances, useVolr, useVolrAuthCallback, useVolrContext, useVolrLogin, useVolrPaymentApi, useWithdraw };
|
|
21549
|
+
export { DEFAULT_EXPIRES_IN_SEC, DEFAULT_MODE, InAppBrowserNotSupportedError, PasskeyNotFoundError, PrfNotSupportedError, UserCancelledError, VolrProvider, WalletRequiredError, WebAuthnBusyError, analyzeContractForEIP7702, buildCall, buildCalls, checkPrfCompatibility, checkPrfExtensionAvailable, checkPrfSupport, compareERC20Balances, compareWalletStates, completeMigration, createGetNetworkInfo, createPasskeyAdapter, debugTransactionFailure, decryptEntropyForMigration, defaultIdempotencyKey, detectWalletConnector, diagnoseTransactionFailure, getBrowserVersion, getERC20Balance, getIOSVersion, getPasskeyAuthGuidance, getPlatformHint, getUserCredentials, getWalletState, isEIP7702Delegated, isInAppBrowser, isInAppBrowserNotSupportedError, isUserCancelledError, isWalletRequiredError, isWebAuthnBusyError, listenForSeedRequests, normalizeHex, normalizeHexArray, openMigrationPopup, requestMigration, requestSeedFromOpener, sendSeedToPopup, uploadBlobViaPresign, useDepositListener, useEIP6963, useInternalAuth, useMpcConnection, usePasskeyEnrollment, usePrecheck, useRelay, useUserBalances, useVolr, useVolrAuthCallback, useVolrContext, useVolrLogin, useVolrPaymentApi, useVolrSession, useWithdraw };
|
|
21344
21550
|
//# sourceMappingURL=index.js.map
|
|
21345
21551
|
//# sourceMappingURL=index.js.map
|