@moon-x/react-sdk 0.2.0 → 0.4.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.mjs CHANGED
@@ -389,11 +389,11 @@ function _ts_generator(thisArg, body) {
389
389
  };
390
390
  }
391
391
  }
392
- import { ethereum_exports } from "./chunk-7BCQAHO6.mjs";
393
- import { solana_exports } from "./chunk-MYWXMCMO.mjs";
392
+ import { ethereum_exports } from "./chunk-Y6HSLN2H.mjs";
393
+ import { solana_exports } from "./chunk-RFAKWGRF.mjs";
394
394
  import { AuthContext, useAuthSDK } from "./chunk-PCEN5CH6.mjs";
395
395
  // src/index.ts
396
- import { useAddPasskey, useLoginWithEmail, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser } from "@moon-x/core/react";
396
+ import { useAddPasskey, useEphemeralSigner, useLoginWithEmail, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser } from "@moon-x/core/react";
397
397
  // src/hooks/use-attach-oauth.ts
398
398
  import { useCallback, useState } from "react";
399
399
  // src/hooks/use-oauth-completion.ts
@@ -850,7 +850,7 @@ var useMoonKey = function useMoonKey() {
850
850
  };
851
851
  };
852
852
  // src/components/auth-provider.tsx
853
- import { getIframeOrigin as getIframeOrigin2, getIframeUrl as getIframeUrl3, PostMessageClient as PostMessageClient10, PostMessageMethod as PostMessageMethod27, PostMessageType as PostMessageType28 } from "@moon-x/core/utils";
853
+ import { getIframeOrigin as getIframeOrigin2, getIframeUrl as getIframeUrl3, PostMessageClient as PostMessageClient10, PostMessageMethod as PostMessageMethod28, PostMessageType as PostMessageType29 } from "@moon-x/core/utils";
854
854
  import { useCallback as useCallback11, useEffect as useEffect34, useMemo as useMemo4, useRef as useRef18, useState as useState51 } from "react";
855
855
  import { createPortal as createPortal2 } from "react-dom";
856
856
  // src/hooks/use-close-iframe.ts
@@ -1112,13 +1112,12 @@ var idTokenStorage = {
1112
1112
  import { sanitizeUserData, verifyIdToken } from "@moon-x/core/lib";
1113
1113
  // src/sdk/create-sdk-instance.ts
1114
1114
  import { PostMessageMethod as PostMessageMethod8, PostMessageType as PostMessageType9 } from "@moon-x/core/utils";
1115
- import { withClearOnFailure as withClearOnFailure3 } from "@moon-x/core/lib";
1116
- import { assertPasskeyInParent as assertPasskeyInParent3 } from "@moon-x/core/sdk";
1115
+ import { flattenPresenceTokens as flattenPresenceTokens3, getInternalPresenceTokens as getInternalPresenceTokens3 } from "@moon-x/core/sdk";
1117
1116
  import { createIframeTransport as createIframeTransport5, createWebAuthnPasskey as createWebAuthnPasskey4 } from "@moon-x/core/web";
1118
1117
  // src/sdk/sdk-ethereum-methods.ts
1119
1118
  import { PostMessageMethod as PostMessageMethod4, PostMessageType as PostMessageType5 } from "@moon-x/core/utils";
1120
- import { serializeEthereumTransaction, withClearOnFailure } from "@moon-x/core/lib";
1121
- import { assertPasskeyInParent, getHeadlessEthereumMethods } from "@moon-x/core/sdk";
1119
+ import { serializeEthereumTransaction } from "@moon-x/core/lib";
1120
+ import { flattenPresenceTokens, getHeadlessEthereumMethods, getInternalPresenceTokens } from "@moon-x/core/sdk";
1122
1121
  import { createIframeTransport, createWebAuthnPasskey } from "@moon-x/core/web";
1123
1122
  // src/sdk/register-one-shot.ts
1124
1123
  import { PostMessageServer as PostMessageServer4 } from "@moon-x/core/utils";
@@ -1137,6 +1136,10 @@ var registerOneShot = function registerOneShot(type, method, handler) {
1137
1136
  });
1138
1137
  };
1139
1138
  // src/sdk/sdk-ethereum-methods.ts
1139
+ var SCOPES_SIGN = [
1140
+ "keyshare_read",
1141
+ "sign"
1142
+ ];
1140
1143
  var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIsReady, iframeRef, setCurrentFlow, setFlowData, setStartFlow) {
1141
1144
  var transport = createIframeTransport({
1142
1145
  getContentWindow: function getContentWindow() {
@@ -1153,7 +1156,8 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1153
1156
  var headless = getHeadlessEthereumMethods({
1154
1157
  transport: transport,
1155
1158
  passkey: passkey,
1156
- publishableKey: publishableKey
1159
+ publishableKey: publishableKey,
1160
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : ""
1157
1161
  });
1158
1162
  return _object_spread_props(_object_spread({}, headless), {
1159
1163
  // *WithUI variants stay here — they orchestrate parent React state
@@ -1164,45 +1168,62 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1164
1168
  // (not before they've seen what they're authorizing).
1165
1169
  signEthereumMessageWithUI: function signEthereumMessageWithUI(params) {
1166
1170
  return _async_to_generator(function() {
1171
+ var _iframeRef_current, onAssertPasskey;
1167
1172
  return _ts_generator(this, function(_state) {
1173
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1174
+ onAssertPasskey = function onAssertPasskey() {
1175
+ return _async_to_generator(function() {
1176
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
1177
+ return _ts_generator(this, function(_state) {
1178
+ switch(_state.label){
1179
+ case 0:
1180
+ return [
1181
+ 4,
1182
+ getInternalPresenceTokens({
1183
+ transport: transport,
1184
+ passkey: passkey,
1185
+ publishableKey: publishableKey,
1186
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1187
+ scopes: SCOPES_SIGN
1188
+ })
1189
+ ];
1190
+ case 1:
1191
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
1192
+ return [
1193
+ 2,
1194
+ {
1195
+ userHandleB64url: userHandleB64url,
1196
+ credentialIdB64url: credentialIdB64url,
1197
+ presenceTokens: flattenPresenceTokens({
1198
+ tokens: tokens,
1199
+ userHandleB64url: userHandleB64url,
1200
+ credentialIdB64url: credentialIdB64url
1201
+ })
1202
+ }
1203
+ ];
1204
+ }
1205
+ });
1206
+ })();
1207
+ };
1168
1208
  return [
1169
1209
  2,
1170
- withClearOnFailure(function() {
1171
- return _async_to_generator(function() {
1172
- var _iframeRef_current, onAssertPasskey;
1173
- return _ts_generator(this, function(_state) {
1174
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1175
- onAssertPasskey = function onAssertPasskey() {
1176
- return assertPasskeyInParent({
1177
- transport: transport,
1178
- passkey: passkey,
1179
- publishableKey: publishableKey,
1180
- requireFreshAssertion: params.requireFreshAssertion
1181
- });
1182
- };
1183
- return [
1184
- 2,
1185
- new Promise(function(resolve, reject) {
1186
- var _params_options;
1187
- registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_MESSAGE, function(payload) {
1188
- var _payload_signature;
1189
- if (payload.success) resolve({
1190
- signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : ""
1191
- });
1192
- else reject(new Error(payload.error || "Sign message failed"));
1193
- });
1194
- setCurrentFlow("sign-message");
1195
- setFlowData({
1196
- message: params.message,
1197
- wallet: params.wallet,
1198
- uiOptions: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.uiOptions,
1199
- onAssertPasskey: onAssertPasskey
1200
- });
1201
- setStartFlow(true);
1202
- })
1203
- ];
1210
+ new Promise(function(resolve, reject) {
1211
+ var _params_options;
1212
+ registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_MESSAGE, function(payload) {
1213
+ var _payload_signature;
1214
+ if (payload.success) resolve({
1215
+ signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : ""
1204
1216
  });
1205
- })();
1217
+ else reject(new Error(payload.error || "Sign message failed"));
1218
+ });
1219
+ setCurrentFlow("sign-message");
1220
+ setFlowData({
1221
+ message: params.message,
1222
+ wallet: params.wallet,
1223
+ uiOptions: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.uiOptions,
1224
+ onAssertPasskey: onAssertPasskey
1225
+ });
1226
+ setStartFlow(true);
1206
1227
  })
1207
1228
  ];
1208
1229
  });
@@ -1210,46 +1231,63 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1210
1231
  },
1211
1232
  signEthereumTransactionWithUI: function signEthereumTransactionWithUI(params) {
1212
1233
  return _async_to_generator(function() {
1234
+ var _iframeRef_current, onAssertPasskey;
1213
1235
  return _ts_generator(this, function(_state) {
1236
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1237
+ onAssertPasskey = function onAssertPasskey() {
1238
+ return _async_to_generator(function() {
1239
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
1240
+ return _ts_generator(this, function(_state) {
1241
+ switch(_state.label){
1242
+ case 0:
1243
+ return [
1244
+ 4,
1245
+ getInternalPresenceTokens({
1246
+ transport: transport,
1247
+ passkey: passkey,
1248
+ publishableKey: publishableKey,
1249
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1250
+ scopes: SCOPES_SIGN
1251
+ })
1252
+ ];
1253
+ case 1:
1254
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
1255
+ return [
1256
+ 2,
1257
+ {
1258
+ userHandleB64url: userHandleB64url,
1259
+ credentialIdB64url: credentialIdB64url,
1260
+ presenceTokens: flattenPresenceTokens({
1261
+ tokens: tokens,
1262
+ userHandleB64url: userHandleB64url,
1263
+ credentialIdB64url: credentialIdB64url
1264
+ })
1265
+ }
1266
+ ];
1267
+ }
1268
+ });
1269
+ })();
1270
+ };
1214
1271
  return [
1215
1272
  2,
1216
- withClearOnFailure(function() {
1217
- return _async_to_generator(function() {
1218
- var _iframeRef_current, onAssertPasskey;
1219
- return _ts_generator(this, function(_state) {
1220
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1221
- onAssertPasskey = function onAssertPasskey() {
1222
- return assertPasskeyInParent({
1223
- transport: transport,
1224
- passkey: passkey,
1225
- publishableKey: publishableKey,
1226
- requireFreshAssertion: params.requireFreshAssertion
1227
- });
1228
- };
1229
- return [
1230
- 2,
1231
- new Promise(function(resolve, reject) {
1232
- registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_TRANSACTION, function(payload) {
1233
- var _payload_signature;
1234
- if (payload.success) resolve({
1235
- signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : "",
1236
- serializedSigned: payload.serializedSigned,
1237
- hash: payload.hash
1238
- });
1239
- else reject(new Error(payload.error || "Sign transaction failed"));
1240
- });
1241
- setCurrentFlow("sign-transaction");
1242
- setFlowData({
1243
- serializedTransaction: params.transaction,
1244
- wallet: params.wallet,
1245
- options: params.options,
1246
- onAssertPasskey: onAssertPasskey
1247
- });
1248
- setStartFlow(true);
1249
- })
1250
- ];
1273
+ new Promise(function(resolve, reject) {
1274
+ registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_TRANSACTION, function(payload) {
1275
+ var _payload_signature;
1276
+ if (payload.success) resolve({
1277
+ signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : "",
1278
+ serializedSigned: payload.serializedSigned,
1279
+ hash: payload.hash
1251
1280
  });
1252
- })();
1281
+ else reject(new Error(payload.error || "Sign transaction failed"));
1282
+ });
1283
+ setCurrentFlow("sign-transaction");
1284
+ setFlowData({
1285
+ serializedTransaction: params.transaction,
1286
+ wallet: params.wallet,
1287
+ options: params.options,
1288
+ onAssertPasskey: onAssertPasskey
1289
+ });
1290
+ setStartFlow(true);
1253
1291
  })
1254
1292
  ];
1255
1293
  });
@@ -1257,47 +1295,64 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1257
1295
  },
1258
1296
  signEthereumTypedDataWithUI: function signEthereumTypedDataWithUI(params) {
1259
1297
  return _async_to_generator(function() {
1298
+ var _iframeRef_current, onAssertPasskey;
1260
1299
  return _ts_generator(this, function(_state) {
1300
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1301
+ onAssertPasskey = function onAssertPasskey() {
1302
+ return _async_to_generator(function() {
1303
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
1304
+ return _ts_generator(this, function(_state) {
1305
+ switch(_state.label){
1306
+ case 0:
1307
+ return [
1308
+ 4,
1309
+ getInternalPresenceTokens({
1310
+ transport: transport,
1311
+ passkey: passkey,
1312
+ publishableKey: publishableKey,
1313
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1314
+ scopes: SCOPES_SIGN
1315
+ })
1316
+ ];
1317
+ case 1:
1318
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
1319
+ return [
1320
+ 2,
1321
+ {
1322
+ userHandleB64url: userHandleB64url,
1323
+ credentialIdB64url: credentialIdB64url,
1324
+ presenceTokens: flattenPresenceTokens({
1325
+ tokens: tokens,
1326
+ userHandleB64url: userHandleB64url,
1327
+ credentialIdB64url: credentialIdB64url
1328
+ })
1329
+ }
1330
+ ];
1331
+ }
1332
+ });
1333
+ })();
1334
+ };
1261
1335
  return [
1262
1336
  2,
1263
- withClearOnFailure(function() {
1264
- return _async_to_generator(function() {
1265
- var _iframeRef_current, onAssertPasskey;
1266
- return _ts_generator(this, function(_state) {
1267
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1268
- onAssertPasskey = function onAssertPasskey() {
1269
- return assertPasskeyInParent({
1270
- transport: transport,
1271
- passkey: passkey,
1272
- publishableKey: publishableKey,
1273
- requireFreshAssertion: params.requireFreshAssertion
1274
- });
1275
- };
1276
- return [
1277
- 2,
1278
- new Promise(function(resolve, reject) {
1279
- registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_TYPED_DATA, function(payload) {
1280
- var _payload_signature;
1281
- if (payload.success) resolve({
1282
- signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : ""
1283
- });
1284
- else reject(new Error(payload.error || "Sign typed data failed"));
1285
- });
1286
- setCurrentFlow("sign-typed-data");
1287
- setFlowData({
1288
- domain: params.domain,
1289
- types: params.types,
1290
- primaryType: params.primaryType,
1291
- message: params.message,
1292
- wallet: params.wallet,
1293
- options: params.options,
1294
- onAssertPasskey: onAssertPasskey
1295
- });
1296
- setStartFlow(true);
1297
- })
1298
- ];
1337
+ new Promise(function(resolve, reject) {
1338
+ registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_TYPED_DATA, function(payload) {
1339
+ var _payload_signature;
1340
+ if (payload.success) resolve({
1341
+ signature: (_payload_signature = payload.signature) !== null && _payload_signature !== void 0 ? _payload_signature : ""
1299
1342
  });
1300
- })();
1343
+ else reject(new Error(payload.error || "Sign typed data failed"));
1344
+ });
1345
+ setCurrentFlow("sign-typed-data");
1346
+ setFlowData({
1347
+ domain: params.domain,
1348
+ types: params.types,
1349
+ primaryType: params.primaryType,
1350
+ message: params.message,
1351
+ wallet: params.wallet,
1352
+ options: params.options,
1353
+ onAssertPasskey: onAssertPasskey
1354
+ });
1355
+ setStartFlow(true);
1301
1356
  })
1302
1357
  ];
1303
1358
  });
@@ -1305,44 +1360,61 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1305
1360
  },
1306
1361
  signEthereum7702AuthorizationWithUI: function signEthereum7702AuthorizationWithUI(params) {
1307
1362
  return _async_to_generator(function() {
1363
+ var _iframeRef_current, onAssertPasskey;
1308
1364
  return _ts_generator(this, function(_state) {
1365
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1366
+ onAssertPasskey = function onAssertPasskey() {
1367
+ return _async_to_generator(function() {
1368
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
1369
+ return _ts_generator(this, function(_state) {
1370
+ switch(_state.label){
1371
+ case 0:
1372
+ return [
1373
+ 4,
1374
+ getInternalPresenceTokens({
1375
+ transport: transport,
1376
+ passkey: passkey,
1377
+ publishableKey: publishableKey,
1378
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1379
+ scopes: SCOPES_SIGN
1380
+ })
1381
+ ];
1382
+ case 1:
1383
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
1384
+ return [
1385
+ 2,
1386
+ {
1387
+ userHandleB64url: userHandleB64url,
1388
+ credentialIdB64url: credentialIdB64url,
1389
+ presenceTokens: flattenPresenceTokens({
1390
+ tokens: tokens,
1391
+ userHandleB64url: userHandleB64url,
1392
+ credentialIdB64url: credentialIdB64url
1393
+ })
1394
+ }
1395
+ ];
1396
+ }
1397
+ });
1398
+ })();
1399
+ };
1309
1400
  return [
1310
1401
  2,
1311
- withClearOnFailure(function() {
1312
- return _async_to_generator(function() {
1313
- var _iframeRef_current, onAssertPasskey;
1314
- return _ts_generator(this, function(_state) {
1315
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1316
- onAssertPasskey = function onAssertPasskey() {
1317
- return assertPasskeyInParent({
1318
- transport: transport,
1319
- passkey: passkey,
1320
- publishableKey: publishableKey,
1321
- requireFreshAssertion: params.requireFreshAssertion
1322
- });
1323
- };
1324
- return [
1325
- 2,
1326
- new Promise(function(resolve, reject) {
1327
- registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_7702_AUTHORIZATION, function(payload) {
1328
- if (payload.success) resolve(payload);
1329
- else reject(new Error(payload.error || "Sign EIP-7702 authorization failed"));
1330
- });
1331
- setCurrentFlow("sign-7702-authorization");
1332
- setFlowData({
1333
- contractAddress: params.contractAddress,
1334
- chainId: params.chainId,
1335
- nonce: params.nonce,
1336
- executor: params.executor,
1337
- wallet: params.wallet,
1338
- options: params.options,
1339
- onAssertPasskey: onAssertPasskey
1340
- });
1341
- setStartFlow(true);
1342
- })
1343
- ];
1344
- });
1345
- })();
1402
+ new Promise(function(resolve, reject) {
1403
+ registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SIGN_7702_AUTHORIZATION, function(payload) {
1404
+ if (payload.success) resolve(payload);
1405
+ else reject(new Error(payload.error || "Sign EIP-7702 authorization failed"));
1406
+ });
1407
+ setCurrentFlow("sign-7702-authorization");
1408
+ setFlowData({
1409
+ contractAddress: params.contractAddress,
1410
+ chainId: params.chainId,
1411
+ nonce: params.nonce,
1412
+ executor: params.executor,
1413
+ wallet: params.wallet,
1414
+ options: params.options,
1415
+ onAssertPasskey: onAssertPasskey
1416
+ });
1417
+ setStartFlow(true);
1346
1418
  })
1347
1419
  ];
1348
1420
  });
@@ -1350,60 +1422,77 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1350
1422
  },
1351
1423
  sendEthereumTransactionWithUI: function sendEthereumTransactionWithUI(params) {
1352
1424
  return _async_to_generator(function() {
1425
+ var _iframeRef_current, onAssertPasskey, serializedTransaction;
1353
1426
  return _ts_generator(this, function(_state) {
1354
- return [
1355
- 2,
1356
- withClearOnFailure(function() {
1357
- return _async_to_generator(function() {
1358
- var _iframeRef_current, onAssertPasskey, serializedTransaction;
1359
- return _ts_generator(this, function(_state) {
1360
- switch(_state.label){
1361
- case 0:
1362
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1363
- onAssertPasskey = function onAssertPasskey() {
1364
- return assertPasskeyInParent({
1365
- transport: transport,
1366
- passkey: passkey,
1367
- publishableKey: publishableKey,
1368
- requireFreshAssertion: params.requireFreshAssertion
1369
- });
1370
- };
1371
- return [
1372
- 4,
1373
- serializeEthereumTransaction(params.transaction)
1374
- ];
1375
- case 1:
1376
- serializedTransaction = _state.sent();
1377
- return [
1378
- 2,
1379
- new Promise(function(resolve, reject) {
1380
- var _params_options;
1381
- registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SEND_TRANSACTION, function(payload) {
1382
- var _payload_hash;
1383
- if (payload.success) resolve({
1384
- hash: (_payload_hash = payload.hash) !== null && _payload_hash !== void 0 ? _payload_hash : ""
1385
- });
1386
- else if (payload.cancelled) reject(new Error("User cancelled transaction"));
1387
- else reject(new Error(payload.error || "Send transaction failed"));
1388
- });
1389
- setCurrentFlow("send-ethereum-transaction");
1390
- setFlowData({
1391
- transaction: params.transaction,
1392
- serializedTransaction: serializedTransaction,
1393
- wallet: params.wallet,
1394
- options: params.options,
1395
- rpcUrl: params.rpcUrl,
1396
- network: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.network,
1397
- onAssertPasskey: onAssertPasskey
1398
- });
1399
- setStartFlow(true);
1400
- })
1401
- ];
1402
- }
1403
- });
1404
- })();
1405
- })
1406
- ];
1427
+ switch(_state.label){
1428
+ case 0:
1429
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
1430
+ onAssertPasskey = function onAssertPasskey() {
1431
+ return _async_to_generator(function() {
1432
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
1433
+ return _ts_generator(this, function(_state) {
1434
+ switch(_state.label){
1435
+ case 0:
1436
+ return [
1437
+ 4,
1438
+ getInternalPresenceTokens({
1439
+ transport: transport,
1440
+ passkey: passkey,
1441
+ publishableKey: publishableKey,
1442
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1443
+ scopes: SCOPES_SIGN
1444
+ })
1445
+ ];
1446
+ case 1:
1447
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
1448
+ return [
1449
+ 2,
1450
+ {
1451
+ userHandleB64url: userHandleB64url,
1452
+ credentialIdB64url: credentialIdB64url,
1453
+ presenceTokens: flattenPresenceTokens({
1454
+ tokens: tokens,
1455
+ userHandleB64url: userHandleB64url,
1456
+ credentialIdB64url: credentialIdB64url
1457
+ })
1458
+ }
1459
+ ];
1460
+ }
1461
+ });
1462
+ })();
1463
+ };
1464
+ return [
1465
+ 4,
1466
+ serializeEthereumTransaction(params.transaction)
1467
+ ];
1468
+ case 1:
1469
+ serializedTransaction = _state.sent();
1470
+ return [
1471
+ 2,
1472
+ new Promise(function(resolve, reject) {
1473
+ var _params_options;
1474
+ registerOneShot(PostMessageType5.WALLET, PostMessageMethod4.SEND_TRANSACTION, function(payload) {
1475
+ var _payload_hash;
1476
+ if (payload.success) resolve({
1477
+ hash: (_payload_hash = payload.hash) !== null && _payload_hash !== void 0 ? _payload_hash : ""
1478
+ });
1479
+ else if (payload.cancelled) reject(new Error("User cancelled transaction"));
1480
+ else reject(new Error(payload.error || "Send transaction failed"));
1481
+ });
1482
+ setCurrentFlow("send-ethereum-transaction");
1483
+ setFlowData({
1484
+ transaction: params.transaction,
1485
+ serializedTransaction: serializedTransaction,
1486
+ wallet: params.wallet,
1487
+ options: params.options,
1488
+ rpcUrl: params.rpcUrl,
1489
+ network: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.network,
1490
+ onAssertPasskey: onAssertPasskey
1491
+ });
1492
+ setStartFlow(true);
1493
+ })
1494
+ ];
1495
+ }
1407
1496
  });
1408
1497
  })();
1409
1498
  }
@@ -1411,7 +1500,6 @@ var getEthereumSDKMethods = function getEthereumSDKMethods(publishableKey, getIs
1411
1500
  };
1412
1501
  // src/sdk/sdk-methods.ts
1413
1502
  import { PostMessageMethod as PostMessageMethod6, PostMessageType as PostMessageType7 } from "@moon-x/core/utils";
1414
- import { clearParentAssertCache } from "@moon-x/core/lib";
1415
1503
  import { getHeadlessGeneralMethods, getPresenceToken as headlessGetPresenceToken } from "@moon-x/core/sdk";
1416
1504
  import { createIframeTransport as createIframeTransport3, createLocalStorageKv, createWebAuthnPasskey as createWebAuthnPasskey2 } from "@moon-x/core/web";
1417
1505
  import { authState as authState2 } from "@moon-x/core/lib";
@@ -1797,6 +1885,10 @@ var getSDKMethods = function getSDKMethods(publishableKey, isMounted, getIsReady
1797
1885
  passkey: passkey,
1798
1886
  storage: storage,
1799
1887
  publishableKey: publishableKey,
1888
+ // window is defined in the browser context where this hook runs.
1889
+ // SSR rendering never reaches the factory because the SDK is gated
1890
+ // on the MoonKeyProvider's `useEffect`-mounted lifecycle.
1891
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
1800
1892
  setIsAuthenticated: setIsAuthenticated,
1801
1893
  setUser: setUser
1802
1894
  });
@@ -1839,7 +1931,6 @@ var getSDKMethods = function getSDKMethods(publishableKey, isMounted, getIsReady
1839
1931
  case 2:
1840
1932
  result = _state.sent();
1841
1933
  authState2.clear();
1842
- clearParentAssertCache();
1843
1934
  idTokenStorage.remove();
1844
1935
  setFlowData(null);
1845
1936
  setCurrentFlow("landing");
@@ -2095,9 +2186,13 @@ var getPasskeyMethods = function getPasskeyMethods(param) {
2095
2186
  };
2096
2187
  // src/sdk/sdk-solana-methods.ts
2097
2188
  import { PostMessageMethod as PostMessageMethod7, PostMessageType as PostMessageType8 } from "@moon-x/core/utils";
2098
- import { bs58ToBytes, withClearOnFailure as withClearOnFailure2 } from "@moon-x/core/lib";
2099
- import { assertPasskeyInParent as assertPasskeyInParent2, getHeadlessSolanaMethods } from "@moon-x/core/sdk";
2189
+ import { bs58ToBytes } from "@moon-x/core/lib";
2190
+ import { flattenPresenceTokens as flattenPresenceTokens2, getHeadlessSolanaMethods, getInternalPresenceTokens as getInternalPresenceTokens2 } from "@moon-x/core/sdk";
2100
2191
  import { createIframeTransport as createIframeTransport4, createWebAuthnPasskey as createWebAuthnPasskey3 } from "@moon-x/core/web";
2192
+ var SCOPES_SIGN2 = [
2193
+ "keyshare_read",
2194
+ "sign"
2195
+ ];
2101
2196
  var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsReady, iframeRef, setCurrentFlow, setFlowData, setStartFlow) {
2102
2197
  var transport = createIframeTransport4({
2103
2198
  getContentWindow: function getContentWindow() {
@@ -2114,7 +2209,8 @@ var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsRead
2114
2209
  var headless = getHeadlessSolanaMethods({
2115
2210
  transport: transport,
2116
2211
  passkey: passkey,
2117
- publishableKey: publishableKey
2212
+ publishableKey: publishableKey,
2213
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : ""
2118
2214
  });
2119
2215
  return _object_spread_props(_object_spread({}, headless), {
2120
2216
  // WithUI variants — drive the auth-flow-renderer modal. Result
@@ -2122,72 +2218,89 @@ var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsRead
2122
2218
  // SolanaSign*Result's typed Uint8Array.
2123
2219
  signSolanaMessageWithUI: function signSolanaMessageWithUI(params) {
2124
2220
  return _async_to_generator(function() {
2221
+ var _iframeRef_current, onAssertPasskey;
2125
2222
  return _ts_generator(this, function(_state) {
2223
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2224
+ onAssertPasskey = function onAssertPasskey() {
2225
+ return _async_to_generator(function() {
2226
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
2227
+ return _ts_generator(this, function(_state) {
2228
+ switch(_state.label){
2229
+ case 0:
2230
+ return [
2231
+ 4,
2232
+ getInternalPresenceTokens2({
2233
+ transport: transport,
2234
+ passkey: passkey,
2235
+ publishableKey: publishableKey,
2236
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
2237
+ scopes: SCOPES_SIGN2
2238
+ })
2239
+ ];
2240
+ case 1:
2241
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
2242
+ return [
2243
+ 2,
2244
+ {
2245
+ userHandleB64url: userHandleB64url,
2246
+ credentialIdB64url: credentialIdB64url,
2247
+ presenceTokens: flattenPresenceTokens2({
2248
+ tokens: tokens,
2249
+ userHandleB64url: userHandleB64url,
2250
+ credentialIdB64url: credentialIdB64url
2251
+ })
2252
+ }
2253
+ ];
2254
+ }
2255
+ });
2256
+ })();
2257
+ };
2126
2258
  return [
2127
2259
  2,
2128
- withClearOnFailure2(function() {
2129
- return _async_to_generator(function() {
2130
- var _iframeRef_current, onAssertPasskey;
2131
- return _ts_generator(this, function(_state) {
2132
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2133
- onAssertPasskey = function onAssertPasskey() {
2134
- return assertPasskeyInParent2({
2135
- transport: transport,
2136
- passkey: passkey,
2137
- publishableKey: publishableKey,
2138
- requireFreshAssertion: params.requireFreshAssertion
2139
- });
2140
- };
2141
- return [
2142
- 2,
2143
- new Promise(function(resolve, reject) {
2144
- var _params_options;
2145
- registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SIGN_MESSAGE, function(payload) {
2146
- return _async_to_generator(function() {
2147
- var _tmp;
2148
- return _ts_generator(this, function(_state) {
2149
- switch(_state.label){
2150
- case 0:
2151
- if (!payload.success) return [
2152
- 3,
2153
- 2
2154
- ];
2155
- _tmp = {};
2156
- return [
2157
- 4,
2158
- bs58ToBytes(payload.signature)
2159
- ];
2160
- case 1:
2161
- resolve.apply(void 0, [
2162
- (_tmp.signature = _state.sent(), _tmp)
2163
- ]);
2164
- return [
2165
- 3,
2166
- 3
2167
- ];
2168
- case 2:
2169
- reject(new Error(payload.error || "Sign message failed"));
2170
- _state.label = 3;
2171
- case 3:
2172
- return [
2173
- 2
2174
- ];
2175
- }
2176
- });
2177
- })();
2178
- });
2179
- setCurrentFlow("sign-message");
2180
- setFlowData({
2181
- message: params.message,
2182
- wallet: params.wallet,
2183
- uiOptions: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.uiOptions,
2184
- onAssertPasskey: onAssertPasskey
2185
- });
2186
- setStartFlow(true);
2187
- })
2188
- ];
2189
- });
2190
- })();
2260
+ new Promise(function(resolve, reject) {
2261
+ var _params_options;
2262
+ registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SIGN_MESSAGE, function(payload) {
2263
+ return _async_to_generator(function() {
2264
+ var _tmp;
2265
+ return _ts_generator(this, function(_state) {
2266
+ switch(_state.label){
2267
+ case 0:
2268
+ if (!payload.success) return [
2269
+ 3,
2270
+ 2
2271
+ ];
2272
+ _tmp = {};
2273
+ return [
2274
+ 4,
2275
+ bs58ToBytes(payload.signature)
2276
+ ];
2277
+ case 1:
2278
+ resolve.apply(void 0, [
2279
+ (_tmp.signature = _state.sent(), _tmp)
2280
+ ]);
2281
+ return [
2282
+ 3,
2283
+ 3
2284
+ ];
2285
+ case 2:
2286
+ reject(new Error(payload.error || "Sign message failed"));
2287
+ _state.label = 3;
2288
+ case 3:
2289
+ return [
2290
+ 2
2291
+ ];
2292
+ }
2293
+ });
2294
+ })();
2295
+ });
2296
+ setCurrentFlow("sign-message");
2297
+ setFlowData({
2298
+ message: params.message,
2299
+ wallet: params.wallet,
2300
+ uiOptions: (_params_options = params.options) === null || _params_options === void 0 ? void 0 : _params_options.uiOptions,
2301
+ onAssertPasskey: onAssertPasskey
2302
+ });
2303
+ setStartFlow(true);
2191
2304
  })
2192
2305
  ];
2193
2306
  });
@@ -2195,71 +2308,88 @@ var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsRead
2195
2308
  },
2196
2309
  signSolanaTransactionWithUI: function signSolanaTransactionWithUI(params) {
2197
2310
  return _async_to_generator(function() {
2311
+ var _iframeRef_current, onAssertPasskey;
2198
2312
  return _ts_generator(this, function(_state) {
2313
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2314
+ onAssertPasskey = function onAssertPasskey() {
2315
+ return _async_to_generator(function() {
2316
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
2317
+ return _ts_generator(this, function(_state) {
2318
+ switch(_state.label){
2319
+ case 0:
2320
+ return [
2321
+ 4,
2322
+ getInternalPresenceTokens2({
2323
+ transport: transport,
2324
+ passkey: passkey,
2325
+ publishableKey: publishableKey,
2326
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
2327
+ scopes: SCOPES_SIGN2
2328
+ })
2329
+ ];
2330
+ case 1:
2331
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
2332
+ return [
2333
+ 2,
2334
+ {
2335
+ userHandleB64url: userHandleB64url,
2336
+ credentialIdB64url: credentialIdB64url,
2337
+ presenceTokens: flattenPresenceTokens2({
2338
+ tokens: tokens,
2339
+ userHandleB64url: userHandleB64url,
2340
+ credentialIdB64url: credentialIdB64url
2341
+ })
2342
+ }
2343
+ ];
2344
+ }
2345
+ });
2346
+ })();
2347
+ };
2199
2348
  return [
2200
2349
  2,
2201
- withClearOnFailure2(function() {
2202
- return _async_to_generator(function() {
2203
- var _iframeRef_current, onAssertPasskey;
2204
- return _ts_generator(this, function(_state) {
2205
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2206
- onAssertPasskey = function onAssertPasskey() {
2207
- return assertPasskeyInParent2({
2208
- transport: transport,
2209
- passkey: passkey,
2210
- publishableKey: publishableKey,
2211
- requireFreshAssertion: params.requireFreshAssertion
2212
- });
2213
- };
2214
- return [
2215
- 2,
2216
- new Promise(function(resolve, reject) {
2217
- registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SIGN_TRANSACTION, function(payload) {
2218
- return _async_to_generator(function() {
2219
- var _tmp;
2220
- return _ts_generator(this, function(_state) {
2221
- switch(_state.label){
2222
- case 0:
2223
- if (!payload.success) return [
2224
- 3,
2225
- 2
2226
- ];
2227
- _tmp = {};
2228
- return [
2229
- 4,
2230
- bs58ToBytes(payload.signedTransaction)
2231
- ];
2232
- case 1:
2233
- resolve.apply(void 0, [
2234
- (_tmp.signedTransaction = _state.sent(), _tmp)
2235
- ]);
2236
- return [
2237
- 3,
2238
- 3
2239
- ];
2240
- case 2:
2241
- reject(new Error(payload.error || "Sign transaction failed"));
2242
- _state.label = 3;
2243
- case 3:
2244
- return [
2245
- 2
2246
- ];
2247
- }
2248
- });
2249
- })();
2250
- });
2251
- setCurrentFlow("sign-transaction");
2252
- setFlowData({
2253
- serializedTransaction: params.transaction,
2254
- wallet: params.wallet,
2255
- options: params.options,
2256
- onAssertPasskey: onAssertPasskey
2257
- });
2258
- setStartFlow(true);
2259
- })
2260
- ];
2261
- });
2262
- })();
2350
+ new Promise(function(resolve, reject) {
2351
+ registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SIGN_TRANSACTION, function(payload) {
2352
+ return _async_to_generator(function() {
2353
+ var _tmp;
2354
+ return _ts_generator(this, function(_state) {
2355
+ switch(_state.label){
2356
+ case 0:
2357
+ if (!payload.success) return [
2358
+ 3,
2359
+ 2
2360
+ ];
2361
+ _tmp = {};
2362
+ return [
2363
+ 4,
2364
+ bs58ToBytes(payload.signedTransaction)
2365
+ ];
2366
+ case 1:
2367
+ resolve.apply(void 0, [
2368
+ (_tmp.signedTransaction = _state.sent(), _tmp)
2369
+ ]);
2370
+ return [
2371
+ 3,
2372
+ 3
2373
+ ];
2374
+ case 2:
2375
+ reject(new Error(payload.error || "Sign transaction failed"));
2376
+ _state.label = 3;
2377
+ case 3:
2378
+ return [
2379
+ 2
2380
+ ];
2381
+ }
2382
+ });
2383
+ })();
2384
+ });
2385
+ setCurrentFlow("sign-transaction");
2386
+ setFlowData({
2387
+ serializedTransaction: params.transaction,
2388
+ wallet: params.wallet,
2389
+ options: params.options,
2390
+ onAssertPasskey: onAssertPasskey
2391
+ });
2392
+ setStartFlow(true);
2263
2393
  })
2264
2394
  ];
2265
2395
  });
@@ -2267,73 +2397,90 @@ var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsRead
2267
2397
  },
2268
2398
  sendSolanaTransactionWithUI: function sendSolanaTransactionWithUI(params) {
2269
2399
  return _async_to_generator(function() {
2400
+ var _iframeRef_current, onAssertPasskey;
2270
2401
  return _ts_generator(this, function(_state) {
2402
+ if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2403
+ onAssertPasskey = function onAssertPasskey() {
2404
+ return _async_to_generator(function() {
2405
+ var _ref, userHandleB64url, credentialIdB64url, tokens;
2406
+ return _ts_generator(this, function(_state) {
2407
+ switch(_state.label){
2408
+ case 0:
2409
+ return [
2410
+ 4,
2411
+ getInternalPresenceTokens2({
2412
+ transport: transport,
2413
+ passkey: passkey,
2414
+ publishableKey: publishableKey,
2415
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
2416
+ scopes: SCOPES_SIGN2
2417
+ })
2418
+ ];
2419
+ case 1:
2420
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
2421
+ return [
2422
+ 2,
2423
+ {
2424
+ userHandleB64url: userHandleB64url,
2425
+ credentialIdB64url: credentialIdB64url,
2426
+ presenceTokens: flattenPresenceTokens2({
2427
+ tokens: tokens,
2428
+ userHandleB64url: userHandleB64url,
2429
+ credentialIdB64url: credentialIdB64url
2430
+ })
2431
+ }
2432
+ ];
2433
+ }
2434
+ });
2435
+ })();
2436
+ };
2271
2437
  return [
2272
2438
  2,
2273
- withClearOnFailure2(function() {
2274
- return _async_to_generator(function() {
2275
- var _iframeRef_current, onAssertPasskey;
2276
- return _ts_generator(this, function(_state) {
2277
- if (!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) throw new Error("SDK not ready");
2278
- onAssertPasskey = function onAssertPasskey() {
2279
- return assertPasskeyInParent2({
2280
- transport: transport,
2281
- passkey: passkey,
2282
- publishableKey: publishableKey,
2283
- requireFreshAssertion: params.requireFreshAssertion
2284
- });
2285
- };
2286
- return [
2287
- 2,
2288
- new Promise(function(resolve, reject) {
2289
- registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SEND_TRANSACTION, function(payload) {
2290
- return _async_to_generator(function() {
2291
- var _tmp;
2292
- return _ts_generator(this, function(_state) {
2293
- switch(_state.label){
2294
- case 0:
2295
- if (!payload.success) return [
2296
- 3,
2297
- 2
2298
- ];
2299
- _tmp = {};
2300
- return [
2301
- 4,
2302
- bs58ToBytes(payload.signature)
2303
- ];
2304
- case 1:
2305
- resolve.apply(void 0, [
2306
- (_tmp.signature = _state.sent(), _tmp)
2307
- ]);
2308
- return [
2309
- 3,
2310
- 3
2311
- ];
2312
- case 2:
2313
- reject(new Error(payload.error || "Send transaction failed"));
2314
- _state.label = 3;
2315
- case 3:
2316
- return [
2317
- 2
2318
- ];
2319
- }
2320
- });
2321
- })();
2322
- });
2323
- setCurrentFlow("send-transaction");
2324
- setFlowData({
2325
- serializedTransaction: params.transaction,
2326
- walletAddress: params.wallet.public_address,
2327
- rpcUrl: params.rpcUrl,
2328
- wallet: params.wallet,
2329
- options: params.options,
2330
- onAssertPasskey: onAssertPasskey
2331
- });
2332
- setStartFlow(true);
2333
- })
2334
- ];
2335
- });
2336
- })();
2439
+ new Promise(function(resolve, reject) {
2440
+ registerOneShot(PostMessageType8.WALLET, PostMessageMethod7.SEND_TRANSACTION, function(payload) {
2441
+ return _async_to_generator(function() {
2442
+ var _tmp;
2443
+ return _ts_generator(this, function(_state) {
2444
+ switch(_state.label){
2445
+ case 0:
2446
+ if (!payload.success) return [
2447
+ 3,
2448
+ 2
2449
+ ];
2450
+ _tmp = {};
2451
+ return [
2452
+ 4,
2453
+ bs58ToBytes(payload.signature)
2454
+ ];
2455
+ case 1:
2456
+ resolve.apply(void 0, [
2457
+ (_tmp.signature = _state.sent(), _tmp)
2458
+ ]);
2459
+ return [
2460
+ 3,
2461
+ 3
2462
+ ];
2463
+ case 2:
2464
+ reject(new Error(payload.error || "Send transaction failed"));
2465
+ _state.label = 3;
2466
+ case 3:
2467
+ return [
2468
+ 2
2469
+ ];
2470
+ }
2471
+ });
2472
+ })();
2473
+ });
2474
+ setCurrentFlow("send-transaction");
2475
+ setFlowData({
2476
+ serializedTransaction: params.transaction,
2477
+ walletAddress: params.wallet.public_address,
2478
+ rpcUrl: params.rpcUrl,
2479
+ wallet: params.wallet,
2480
+ options: params.options,
2481
+ onAssertPasskey: onAssertPasskey
2482
+ });
2483
+ setStartFlow(true);
2337
2484
  })
2338
2485
  ];
2339
2486
  });
@@ -2342,6 +2489,10 @@ var getSolanaSDKMethods = function getSolanaSDKMethods(publishableKey, getIsRead
2342
2489
  });
2343
2490
  };
2344
2491
  // src/sdk/create-sdk-instance.ts
2492
+ var IMPORT_KEY_SCOPES = [
2493
+ "dek_bootstrap",
2494
+ "keyshare_write"
2495
+ ];
2345
2496
  var createSDKInstance = function createSDKInstance(publishableKey, isMounted, isReady, flowState, iframeRef, onError, onClose, setFlowState, setStartFlow, setCurrentFlow, setFlowData, authProviderConfig, getCurrentIsReady, setIsAuthenticated, setUser, closeCallbacksRef, getStartFlow, setAppearance, refreshUser) {
2346
2497
  var currentSuccessCallback = null;
2347
2498
  var currentErrorCallback = null;
@@ -2469,100 +2620,103 @@ var createSDKInstance = function createSDKInstance(publishableKey, isMounted, is
2469
2620
  // Override getSDKMethods' importKey to support both headless and UI
2470
2621
  // modes. With a key provided, we forward straight to the iframe and
2471
2622
  // never open the modal. Without a key, we open the ImportWallet flow
2472
- // and resolve once the user submits inside the modal.
2623
+ // and let it run its own assert-on-CTA ceremony — minting tokens
2624
+ // here would mean the 30s single-use JWTs expire while the user
2625
+ // sits on the modal.
2473
2626
  //
2474
2627
  // Return shape MUST be { wallet: PublicWallet } to match the headless
2475
2628
  // contract in @moon-x/core/sdk/headless-general.ts → importKey. The
2476
2629
  // wrapper in wallets/ethereum.ts and wallets/solana.ts does
2477
2630
  // `result.wallet`, so a bare PublicWallet here causes downstream
2478
2631
  // `wallet.public_address` accesses to throw on undefined.
2479
- importKey: function importKey(walletType, key, options) {
2480
- var _iframeRef_current;
2481
- if (!isMounted) {
2482
- return Promise.reject(new Error("SDK not ready"));
2483
- }
2484
- if (!getCurrentIsReady() || !((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) {
2485
- return Promise.reject(new Error("SDK not ready"));
2486
- }
2487
- return withClearOnFailure3(function() {
2488
- return _async_to_generator(function() {
2489
- var _ref, userHandleB64url, credentialIdB64url, client, wallet;
2490
- return _ts_generator(this, function(_state) {
2491
- switch(_state.label){
2492
- case 0:
2493
- return [
2494
- 4,
2495
- assertPasskeyInParent3({
2496
- transport: createIframeTransport5({
2497
- getContentWindow: function getContentWindow() {
2498
- var _ref;
2499
- var _iframeRef_current;
2500
- return (_ref = (_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow) !== null && _ref !== void 0 ? _ref : null;
2501
- },
2502
- isReady: function isReady() {
2503
- var _iframeRef_current;
2504
- return !!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow);
2505
- }
2506
- }),
2507
- passkey: createWebAuthnPasskey4(),
2508
- publishableKey: publishableKey,
2509
- requireFreshAssertion: options === null || options === void 0 ? void 0 : options.requireFreshAssertion
2510
- })
2511
- ];
2512
- case 1:
2513
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
2514
- if (!(key !== void 0)) return [
2515
- 3,
2516
- 3
2517
- ];
2518
- client = createPostMessageClient(iframeRef.current.contentWindow, publishableKey);
2519
- return [
2520
- 4,
2521
- client.send(PostMessageType9.WALLET, PostMessageMethod8.IMPORT_KEY, {
2522
- walletType: walletType,
2523
- key: key,
2524
- publishableKey: publishableKey,
2525
- userHandleB64url: userHandleB64url,
2526
- credentialIdB64url: credentialIdB64url
2527
- })
2528
- ];
2529
- case 2:
2530
- wallet = _state.sent();
2531
- return [
2532
- 2,
2533
- {
2534
- wallet: wallet
2535
- }
2536
- ];
2537
- case 3:
2538
- setCurrentFlow("import-key");
2539
- setFlowData({
2632
+ importKey: function importKey(walletType, key) {
2633
+ return _async_to_generator(function() {
2634
+ var _iframeRef_current, transport, _ref, userHandleB64url, credentialIdB64url, tokens, presenceTokens, client, wallet;
2635
+ return _ts_generator(this, function(_state) {
2636
+ switch(_state.label){
2637
+ case 0:
2638
+ if (!isMounted) throw new Error("SDK not ready");
2639
+ if (!getCurrentIsReady() || !((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow)) {
2640
+ throw new Error("SDK not ready");
2641
+ }
2642
+ if (!(key !== void 0)) return [
2643
+ 3,
2644
+ 3
2645
+ ];
2646
+ transport = createIframeTransport5({
2647
+ getContentWindow: function getContentWindow() {
2648
+ var _ref;
2649
+ var _iframeRef_current;
2650
+ return (_ref = (_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow) !== null && _ref !== void 0 ? _ref : null;
2651
+ },
2652
+ isReady: function isReady() {
2653
+ var _iframeRef_current;
2654
+ return !!((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow);
2655
+ }
2656
+ });
2657
+ return [
2658
+ 4,
2659
+ getInternalPresenceTokens3({
2660
+ transport: transport,
2661
+ passkey: createWebAuthnPasskey4(),
2662
+ publishableKey: publishableKey,
2663
+ relyingPartyOrigin: typeof window !== "undefined" ? window.location.origin : "",
2664
+ scopes: IMPORT_KEY_SCOPES
2665
+ })
2666
+ ];
2667
+ case 1:
2668
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
2669
+ presenceTokens = flattenPresenceTokens3({
2670
+ tokens: tokens,
2671
+ userHandleB64url: userHandleB64url,
2672
+ credentialIdB64url: credentialIdB64url
2673
+ });
2674
+ client = createPostMessageClient(iframeRef.current.contentWindow, publishableKey);
2675
+ return [
2676
+ 4,
2677
+ client.send(PostMessageType9.WALLET, PostMessageMethod8.IMPORT_KEY, {
2540
2678
  walletType: walletType,
2679
+ key: key,
2680
+ publishableKey: publishableKey,
2541
2681
  userHandleB64url: userHandleB64url,
2542
- credentialIdB64url: credentialIdB64url
2543
- });
2544
- setStartFlow(true);
2545
- return [
2546
- 2,
2547
- new Promise(function(resolve, reject) {
2548
- currentSuccessCallback = function(data) {
2549
- currentSuccessCallback = null;
2550
- currentErrorCallback = null;
2551
- resolve({
2552
- wallet: data
2553
- });
2554
- };
2555
- currentErrorCallback = function(error) {
2556
- currentSuccessCallback = null;
2557
- currentErrorCallback = null;
2558
- reject(error);
2559
- };
2560
- })
2561
- ];
2562
- }
2563
- });
2564
- })();
2565
- });
2682
+ credentialIdB64url: credentialIdB64url,
2683
+ presenceTokens: presenceTokens
2684
+ })
2685
+ ];
2686
+ case 2:
2687
+ wallet = _state.sent();
2688
+ return [
2689
+ 2,
2690
+ {
2691
+ wallet: wallet
2692
+ }
2693
+ ];
2694
+ case 3:
2695
+ setCurrentFlow("import-key");
2696
+ setFlowData({
2697
+ walletType: walletType
2698
+ });
2699
+ setStartFlow(true);
2700
+ return [
2701
+ 2,
2702
+ new Promise(function(resolve, reject) {
2703
+ currentSuccessCallback = function(data) {
2704
+ currentSuccessCallback = null;
2705
+ currentErrorCallback = null;
2706
+ resolve({
2707
+ wallet: data
2708
+ });
2709
+ };
2710
+ currentErrorCallback = function(error) {
2711
+ currentSuccessCallback = null;
2712
+ currentErrorCallback = null;
2713
+ reject(error);
2714
+ };
2715
+ })
2716
+ ];
2717
+ }
2718
+ });
2719
+ })();
2566
2720
  }
2567
2721
  }), getSolanaSDKMethods(publishableKey, getCurrentIsReady, iframeRef, setCurrentFlow, setFlowData, setStartFlow), getEthereumSDKMethods(publishableKey, getCurrentIsReady, iframeRef, setCurrentFlow, setFlowData, setStartFlow));
2568
2722
  };
@@ -2634,7 +2788,7 @@ var getWalletErrorMessage = function getWalletErrorMessage(errorResponse) {
2634
2788
  };
2635
2789
  // src/components/flows/add-passkey/add-passkey.tsx
2636
2790
  import { PostMessageMethod as PostMessageMethod11, PostMessageType as PostMessageType12 } from "@moon-x/core/utils";
2637
- import { assertPasskeyInParent as assertPasskeyInParent4 } from "@moon-x/core/sdk";
2791
+ import { flattenPresenceTokens as flattenPresenceTokens4, getInternalPresenceTokens as getInternalPresenceTokens4 } from "@moon-x/core/sdk";
2638
2792
  import { createWebAuthnPasskey as createWebAuthnPasskey5 } from "@moon-x/core/web";
2639
2793
  import { startRegistration } from "@simplewebauthn/browser";
2640
2794
  import { CheckCircle2, Fingerprint, KeyRound, Plus } from "lucide-react";
@@ -3817,6 +3971,10 @@ function DetailRow(param) {
3817
3971
  }
3818
3972
  // src/components/flows/add-passkey/add-passkey.tsx
3819
3973
  import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
3974
+ var ADD_PASSKEY_SCOPES = [
3975
+ "passkey_enroll",
3976
+ "wrap_add"
3977
+ ];
3820
3978
  var SUCCESS_AUTO_CLOSE_MS = 3e3;
3821
3979
  var generateUserIdB64url = function generateUserIdB64url() {
3822
3980
  var bytes = crypto.getRandomValues(new Uint8Array(32));
@@ -3863,7 +4021,7 @@ var AddPasskey = function AddPasskey(param) {
3863
4021
  };
3864
4022
  var handleUnlock = function handleUnlock() {
3865
4023
  return _async_to_generator(function() {
3866
- var _ref, userHandleB64url, credentialIdB64url, error;
4024
+ var _dekInfo_allow_credential_ids_b64url, transport, dekInfo, allowList, _ref, userHandleB64url, credentialIdB64url, tokens, error;
3867
4025
  return _ts_generator(this, function(_state) {
3868
4026
  switch(_state.label){
3869
4027
  case 0:
@@ -3873,32 +4031,50 @@ var AddPasskey = function AddPasskey(param) {
3873
4031
  case 1:
3874
4032
  _state.trys.push([
3875
4033
  1,
3876
- 3,
4034
+ 4,
3877
4035
  ,
3878
- 4
4036
+ 5
3879
4037
  ]);
4038
+ transport = getIframeTransport();
3880
4039
  return [
3881
4040
  4,
3882
- assertPasskeyInParent4({
3883
- transport: getIframeTransport(),
4041
+ transport.send(PostMessageType12.AUTH, PostMessageMethod11.GET_DEK_INFO, {
4042
+ publishableKey: publishableKey
4043
+ })
4044
+ ];
4045
+ case 2:
4046
+ dekInfo = _state.sent();
4047
+ allowList = (_dekInfo_allow_credential_ids_b64url = dekInfo.allow_credential_ids_b64url) !== null && _dekInfo_allow_credential_ids_b64url !== void 0 ? _dekInfo_allow_credential_ids_b64url : [];
4048
+ return [
4049
+ 4,
4050
+ getInternalPresenceTokens4({
4051
+ transport: transport,
3884
4052
  passkey: createWebAuthnPasskey5(),
3885
4053
  publishableKey: publishableKey,
3886
- requireFreshAssertion: true,
3887
- validateCredentialInAllowList: true
4054
+ relyingPartyOrigin: window.location.origin,
4055
+ scopes: ADD_PASSKEY_SCOPES
3888
4056
  })
3889
4057
  ];
3890
- case 2:
3891
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
4058
+ case 3:
4059
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
4060
+ if (!allowList.includes(credentialIdB64url)) {
4061
+ throw new Error("unknown_passkey_for_this_account");
4062
+ }
3892
4063
  unlockResult.current = {
3893
4064
  userHandleB64url: userHandleB64url,
3894
- credentialIdB64url: credentialIdB64url
4065
+ credentialIdB64url: credentialIdB64url,
4066
+ presenceTokens: flattenPresenceTokens4({
4067
+ tokens: tokens,
4068
+ userHandleB64url: userHandleB64url,
4069
+ credentialIdB64url: credentialIdB64url
4070
+ })
3895
4071
  };
3896
4072
  setStep("enroll-prompt");
3897
4073
  return [
3898
4074
  3,
3899
- 4
4075
+ 5
3900
4076
  ];
3901
- case 3:
4077
+ case 4:
3902
4078
  error = _state.sent();
3903
4079
  setStep("error");
3904
4080
  if (_instanceof(error, Error)) {
@@ -3914,9 +4090,9 @@ var AddPasskey = function AddPasskey(param) {
3914
4090
  }
3915
4091
  return [
3916
4092
  3,
3917
- 4
4093
+ 5
3918
4094
  ];
3919
- case 4:
4095
+ case 5:
3920
4096
  return [
3921
4097
  2
3922
4098
  ];
@@ -3986,7 +4162,11 @@ var AddPasskey = function AddPasskey(param) {
3986
4162
  publishableKey: publishableKey,
3987
4163
  relyingPartyOrigin: window.location.origin,
3988
4164
  token: beginResult.token,
3989
- credential: newCredential
4165
+ credential: newCredential,
4166
+ // passkey_enroll token from the unlock assertion. Server's
4167
+ // RequirePresenceUnlessFirstCredential middleware enforces
4168
+ // presence on second-and-onwards enrollments.
4169
+ presenceTokens: unlockResult.current.presenceTokens
3990
4170
  })
3991
4171
  ];
3992
4172
  case 4:
@@ -3999,7 +4179,11 @@ var AddPasskey = function AddPasskey(param) {
3999
4179
  unlockUserHandleB64url: unlockResult.current.userHandleB64url,
4000
4180
  unlockCredentialIdB64url: unlockResult.current.credentialIdB64url,
4001
4181
  newUserHandleB64url: newUserHandleB64url,
4002
- newCredentialIdB64url: newCredentialIdB64url
4182
+ newCredentialIdB64url: newCredentialIdB64url,
4183
+ // wrap_add token from the unlock assertion. Single-use; once
4184
+ // /auth/wallet/wraps POST consumes it, replay is rejected by
4185
+ // the jti burn table.
4186
+ presenceTokens: unlockResult.current.presenceTokens
4003
4187
  })
4004
4188
  ];
4005
4189
  case 5:
@@ -5361,12 +5545,15 @@ var EmailOtpVerifyFlow = function EmailOtpVerifyFlow(param) {
5361
5545
  }
5362
5546
  };
5363
5547
  // src/components/flows/export-key/export-key.tsx
5364
- import { getIframeUrl as getIframeUrl2 } from "@moon-x/core/utils";
5365
- import { assertPasskeyInParent as assertPasskeyInParent5 } from "@moon-x/core/sdk";
5548
+ import { getIframeUrl as getIframeUrl2, PostMessageMethod as PostMessageMethod14, PostMessageType as PostMessageType15 } from "@moon-x/core/utils";
5549
+ import { flattenPresenceTokens as flattenPresenceTokens5, getInternalPresenceTokens as getInternalPresenceTokens5 } from "@moon-x/core/sdk";
5366
5550
  import { createWebAuthnPasskey as createWebAuthnPasskey6 } from "@moon-x/core/web";
5367
5551
  import { KeyRound as KeyRound2, ShieldOff, X } from "lucide-react";
5368
5552
  import { useEffect as useEffect11, useRef as useRef6, useState as useState15 } from "react";
5369
5553
  import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
5554
+ var EXPORT_KEY_SCOPES = [
5555
+ "keyshare_read"
5556
+ ];
5370
5557
  var ExportKey = function ExportKey(param) {
5371
5558
  var uiConfig = param.uiConfig, walletId = param.walletId, publishableKey = param.publishableKey, walletType = param.walletType, onCancel = param.onCancel, propsIsDark = param.isDark, propsAppConfig = param.appConfig, config = param.config;
5372
5559
  var _ref;
@@ -5480,7 +5667,7 @@ var ExportKey = function ExportKey(param) {
5480
5667
  }
5481
5668
  return themeVars;
5482
5669
  };
5483
- var getfinalIframeUrl = function getfinalIframeUrl(entropyType2, userHandleB64url, credentialIdB64url) {
5670
+ var getfinalIframeUrl = function getfinalIframeUrl(entropyType2, userHandleB64url, credentialIdB64url, keyshareReadToken) {
5484
5671
  var baseUrl = getIframeUrl2("/export-key");
5485
5672
  var url = new URL(baseUrl);
5486
5673
  url.searchParams.append("publishableKey", publishableKey);
@@ -5490,6 +5677,7 @@ var ExportKey = function ExportKey(param) {
5490
5677
  url.searchParams.append("displayMode", isDark ? "dark" : "light");
5491
5678
  url.searchParams.append("user_handle_b64url", userHandleB64url);
5492
5679
  url.searchParams.append("credential_id_b64url", credentialIdB64url);
5680
+ url.searchParams.append("keyshare_read_token", keyshareReadToken);
5493
5681
  var themeVars = buildThemeParams();
5494
5682
  if (Object.keys(themeVars).length > 0) {
5495
5683
  url.searchParams.append("theme", JSON.stringify(themeVars));
@@ -5543,7 +5731,7 @@ var ExportKey = function ExportKey(param) {
5543
5731
  };
5544
5732
  var handleReveal = function handleReveal() {
5545
5733
  return _async_to_generator(function() {
5546
- var _ref, userHandleB64url, credentialIdB64url, err, msg;
5734
+ var _dekInfo_allow_credential_ids_b64url, transport, dekInfo, allowList, _ref, userHandleB64url, credentialIdB64url, tokens, flat, err, msg;
5547
5735
  return _ts_generator(this, function(_state) {
5548
5736
  switch(_state.label){
5549
5737
  case 0:
@@ -5553,41 +5741,59 @@ var ExportKey = function ExportKey(param) {
5553
5741
  case 1:
5554
5742
  _state.trys.push([
5555
5743
  1,
5556
- 3,
5557
5744
  4,
5558
- 5
5745
+ 5,
5746
+ 6
5559
5747
  ]);
5748
+ transport = getIframeTransport();
5560
5749
  return [
5561
5750
  4,
5562
- assertPasskeyInParent5({
5563
- transport: getIframeTransport(),
5751
+ transport.send(PostMessageType15.AUTH, PostMessageMethod14.GET_DEK_INFO, {
5752
+ publishableKey: publishableKey
5753
+ })
5754
+ ];
5755
+ case 2:
5756
+ dekInfo = _state.sent();
5757
+ allowList = (_dekInfo_allow_credential_ids_b64url = dekInfo.allow_credential_ids_b64url) !== null && _dekInfo_allow_credential_ids_b64url !== void 0 ? _dekInfo_allow_credential_ids_b64url : [];
5758
+ return [
5759
+ 4,
5760
+ getInternalPresenceTokens5({
5761
+ transport: transport,
5564
5762
  passkey: createWebAuthnPasskey6(),
5565
5763
  publishableKey: publishableKey,
5566
- requireFreshAssertion: true,
5567
- validateCredentialInAllowList: true
5764
+ relyingPartyOrigin: window.location.origin,
5765
+ scopes: EXPORT_KEY_SCOPES
5568
5766
  })
5569
5767
  ];
5570
- case 2:
5571
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
5572
- setIframeUrl(getfinalIframeUrl("private_key", userHandleB64url, credentialIdB64url));
5768
+ case 3:
5769
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, tokens = _ref.tokens;
5770
+ if (!allowList.includes(credentialIdB64url)) {
5771
+ throw new Error("unknown_passkey_for_this_account");
5772
+ }
5773
+ flat = flattenPresenceTokens5({
5774
+ tokens: tokens,
5775
+ userHandleB64url: userHandleB64url,
5776
+ credentialIdB64url: credentialIdB64url
5777
+ });
5778
+ setIframeUrl(getfinalIframeUrl("private_key", userHandleB64url, credentialIdB64url, flat.keyshare_read));
5573
5779
  return [
5574
5780
  3,
5575
- 5
5781
+ 6
5576
5782
  ];
5577
- case 3:
5783
+ case 4:
5578
5784
  err = _state.sent();
5579
5785
  msg = _instanceof(err, Error) ? err.name === "NotAllowedError" ? "Passkey prompt was cancelled. Click Reveal Key to retry." : err.message === "passkey_required" ? "Enroll a passkey first." : err.message === "user_handle_missing" ? "Your authenticator didn't return a user handle. Pick a different passkey." : err.message === "unknown_passkey_for_this_account" ? "That passkey isn't recognized for your account on this device. It may belong to a different account. Try again and pick one of your registered passkeys." : err.message : "Couldn't unlock the export.";
5580
5786
  setRevealError(msg);
5581
5787
  return [
5582
5788
  3,
5583
- 5
5789
+ 6
5584
5790
  ];
5585
- case 4:
5791
+ case 5:
5586
5792
  setIsRevealing(false);
5587
5793
  return [
5588
5794
  7
5589
5795
  ];
5590
- case 5:
5796
+ case 6:
5591
5797
  return [
5592
5798
  2
5593
5799
  ];
@@ -7041,12 +7247,18 @@ var FundingFlow = function FundingFlow(param) {
7041
7247
  return null;
7042
7248
  };
7043
7249
  // src/components/flows/import-wallet/import-wallet.tsx
7044
- import { PostMessageMethod as PostMessageMethod14, PostMessageType as PostMessageType15 } from "@moon-x/core";
7250
+ import { PostMessageMethod as PostMessageMethod15, PostMessageType as PostMessageType16 } from "@moon-x/core";
7251
+ import { flattenPresenceTokens as flattenPresenceTokens6, getInternalPresenceTokens as getInternalPresenceTokens6 } from "@moon-x/core/sdk";
7252
+ import { createWebAuthnPasskey as createWebAuthnPasskey7 } from "@moon-x/core/web";
7045
7253
  import { CheckCircle2 as CheckCircle23, X as X5 } from "lucide-react";
7046
7254
  import { useState as useState21 } from "react";
7047
7255
  import { jsx as jsx32, jsxs as jsxs24 } from "react/jsx-runtime";
7256
+ var IMPORT_KEY_SCOPES2 = [
7257
+ "dek_bootstrap",
7258
+ "keyshare_write"
7259
+ ];
7048
7260
  var ImportWallet = function ImportWallet(param) {
7049
- var publishableKey = param.publishableKey, walletType = param.walletType, uiConfig = param.uiConfig, userHandleB64url = param.userHandleB64url, credentialIdB64url = param.credentialIdB64url, onComplete = param.onComplete, onCancel = param.onCancel, propsIsDark = param.isDark, config = param.config;
7261
+ var publishableKey = param.publishableKey, walletType = param.walletType, uiConfig = param.uiConfig, onComplete = param.onComplete, onCancel = param.onCancel, propsIsDark = param.isDark, config = param.config;
7050
7262
  var _ref, _ref1, _ref2, _ref3, _ref4, _ref5;
7051
7263
  var _config_config, _config_config_appearance, _config_config1, _config_config_appearance1, _config_config2, _config_config3, _config_config4;
7052
7264
  var t = useTranslation().t;
@@ -7063,7 +7275,7 @@ var ImportWallet = function ImportWallet(param) {
7063
7275
  var successText = (_ref5 = uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.successText) !== null && _ref5 !== void 0 ? _ref5 : "Wallet imported";
7064
7276
  var handleSubmit = function handleSubmit() {
7065
7277
  return _async_to_generator(function() {
7066
- var trimmed, _ref, client, response, wallet, err, raw, friendly;
7278
+ var trimmed, _ref, client, _ref1, userHandleB64url, credentialIdB64url, tokens, presenceTokens, response, wallet, err, raw, friendly;
7067
7279
  return _ts_generator(this, function(_state) {
7068
7280
  switch(_state.label){
7069
7281
  case 0:
@@ -7080,9 +7292,9 @@ var ImportWallet = function ImportWallet(param) {
7080
7292
  case 1:
7081
7293
  _state.trys.push([
7082
7294
  1,
7083
- 3,
7084
7295
  4,
7085
- 5
7296
+ 5,
7297
+ 6
7086
7298
  ]);
7087
7299
  client = getIframeClient(publishableKey);
7088
7300
  if (!client) {
@@ -7093,17 +7305,33 @@ var ImportWallet = function ImportWallet(param) {
7093
7305
  }
7094
7306
  return [
7095
7307
  4,
7096
- client.send(PostMessageType15.WALLET, PostMessageMethod14.IMPORT_KEY, {
7308
+ getInternalPresenceTokens6({
7309
+ transport: getIframeTransport(),
7310
+ passkey: createWebAuthnPasskey7(),
7311
+ publishableKey: publishableKey,
7312
+ relyingPartyOrigin: window.location.origin,
7313
+ scopes: IMPORT_KEY_SCOPES2
7314
+ })
7315
+ ];
7316
+ case 2:
7317
+ _ref1 = _state.sent(), userHandleB64url = _ref1.userHandleB64url, credentialIdB64url = _ref1.credentialIdB64url, tokens = _ref1.tokens;
7318
+ presenceTokens = flattenPresenceTokens6({
7319
+ tokens: tokens,
7320
+ userHandleB64url: userHandleB64url,
7321
+ credentialIdB64url: credentialIdB64url
7322
+ });
7323
+ return [
7324
+ 4,
7325
+ client.send(PostMessageType16.WALLET, PostMessageMethod15.IMPORT_KEY, {
7097
7326
  walletType: walletType,
7098
7327
  key: trimmed,
7099
7328
  publishableKey: publishableKey,
7100
- // Parent-asserted passkey userHandle — see ImportWalletProps
7101
- // for context.
7102
7329
  userHandleB64url: userHandleB64url,
7103
- credentialIdB64url: credentialIdB64url
7330
+ credentialIdB64url: credentialIdB64url,
7331
+ presenceTokens: presenceTokens
7104
7332
  })
7105
7333
  ];
7106
- case 2:
7334
+ case 3:
7107
7335
  response = _state.sent();
7108
7336
  wallet = (_ref = response === null || response === void 0 ? void 0 : response.data) !== null && _ref !== void 0 ? _ref : response;
7109
7337
  if (!wallet || !wallet.public_address) {
@@ -7117,23 +7345,23 @@ var ImportWallet = function ImportWallet(param) {
7117
7345
  onComplete(wallet);
7118
7346
  return [
7119
7347
  3,
7120
- 5
7348
+ 6
7121
7349
  ];
7122
- case 3:
7350
+ case 4:
7123
7351
  err = _state.sent();
7124
7352
  raw = _instanceof(err, Error) ? err.message : String(err);
7125
7353
  friendly = raw === "passkey_required" ? "A passkey is required before importing a wallet. Register one first." : raw;
7126
7354
  setErrorMessage(friendly);
7127
7355
  return [
7128
7356
  3,
7129
- 5
7357
+ 6
7130
7358
  ];
7131
- case 4:
7359
+ case 5:
7132
7360
  setSubmitting(false);
7133
7361
  return [
7134
7362
  7
7135
7363
  ];
7136
- case 5:
7364
+ case 6:
7137
7365
  return [
7138
7366
  2
7139
7367
  ];
@@ -7250,7 +7478,7 @@ var ImportWallet = function ImportWallet(param) {
7250
7478
  });
7251
7479
  };
7252
7480
  // src/components/flows/login-landing/login-landing.tsx
7253
- import { PostMessageMethod as PostMessageMethod17, PostMessageType as PostMessageType18 } from "@moon-x/core/utils";
7481
+ import { PostMessageMethod as PostMessageMethod18, PostMessageType as PostMessageType19 } from "@moon-x/core/utils";
7254
7482
  import React16 from "react";
7255
7483
  // src/components/social/social-login-button.tsx
7256
7484
  import { useState as useState22 } from "react";
@@ -8317,7 +8545,7 @@ var useWalletConnect = function useWalletConnect(param) {
8317
8545
  // src/components/wallet-connect/components/browser-extension-ui.tsx
8318
8546
  import { useEffect as useEffect16, useRef as useRef9, useState as useState26 } from "react";
8319
8547
  // src/internal/use-ethereum-wallet.ts
8320
- import { PostMessageClient as PostMessageClient2, PostMessageMethod as PostMessageMethod15, PostMessageType as PostMessageType16 } from "@moon-x/core/utils";
8548
+ import { PostMessageClient as PostMessageClient2, PostMessageMethod as PostMessageMethod16, PostMessageType as PostMessageType17 } from "@moon-x/core/utils";
8321
8549
  import { useCallback as useCallback8, useState as useState25 } from "react";
8322
8550
  import { createManualSiweMessage } from "@moon-x/core/lib";
8323
8551
  var parseChainId = function parseChainId(chainId) {
@@ -8445,7 +8673,7 @@ var useEthereumWallet = function useEthereumWallet(param) {
8445
8673
  ]);
8446
8674
  return [
8447
8675
  4,
8448
- client.send(PostMessageType16.EXTERNAL_WALLET, PostMessageMethod15.WALLET_REGISTRATION_NONCE, {
8676
+ client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.WALLET_REGISTRATION_NONCE, {
8449
8677
  publishableKey: publishableKey,
8450
8678
  publicAddress: walletAddress,
8451
8679
  walletType: "ethereum",
@@ -8522,7 +8750,7 @@ var useEthereumWallet = function useEthereumWallet(param) {
8522
8750
  case 10:
8523
8751
  return [
8524
8752
  4,
8525
- client.send(PostMessageType16.EXTERNAL_WALLET, PostMessageMethod15.VERIFY_SIWE_WALLET_REGISTRATION, {
8753
+ client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.VERIFY_SIWE_WALLET_REGISTRATION, {
8526
8754
  publishableKey: publishableKey,
8527
8755
  publicAddress: walletAddress,
8528
8756
  walletType: "ethereum",
@@ -8539,7 +8767,7 @@ var useEthereumWallet = function useEthereumWallet(param) {
8539
8767
  ];
8540
8768
  }
8541
8769
  parentClient = new PostMessageClient2(window.parent, "*");
8542
- parentClient.sendOneWay(PostMessageType16.EXTERNAL_WALLET, "WALLET_CONNECTED", _object_spread({}, verifyResult.sessionData));
8770
+ parentClient.sendOneWay(PostMessageType17.EXTERNAL_WALLET, "WALLET_CONNECTED", _object_spread({}, verifyResult.sessionData));
8543
8771
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(verifyResult.sessionData);
8544
8772
  return [
8545
8773
  3,
@@ -8615,7 +8843,7 @@ var useEthereumWallet = function useEthereumWallet(param) {
8615
8843
  ]);
8616
8844
  return [
8617
8845
  4,
8618
- client.send(PostMessageType16.EXTERNAL_WALLET, PostMessageMethod15.WALLET_REGISTRATION_NONCE, {
8846
+ client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.WALLET_REGISTRATION_NONCE, {
8619
8847
  publishableKey: publishableKey,
8620
8848
  publicAddress: walletAddress,
8621
8849
  walletType: "ethereum",
@@ -8692,7 +8920,7 @@ var useEthereumWallet = function useEthereumWallet(param) {
8692
8920
  case 10:
8693
8921
  return [
8694
8922
  4,
8695
- client.send(PostMessageType16.EXTERNAL_WALLET, PostMessageMethod15.VERIFY_SIWE_WALLET_REGISTRATION, {
8923
+ client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.VERIFY_SIWE_WALLET_REGISTRATION, {
8696
8924
  publishableKey: publishableKey,
8697
8925
  publicAddress: walletAddress,
8698
8926
  walletType: "ethereum",
@@ -10804,7 +11032,7 @@ var NetworkSelection = function NetworkSelection(param) {
10804
11032
  // src/components/flows/wallets-flow/solana-connection-ui.tsx
10805
11033
  import { useEffect as useEffect20, useRef as useRef12, useState as useState34 } from "react";
10806
11034
  // src/internal/use-solana-wallet.ts
10807
- import { PostMessageClient as PostMessageClient3, PostMessageMethod as PostMessageMethod16, PostMessageType as PostMessageType17 } from "@moon-x/core/utils";
11035
+ import { PostMessageClient as PostMessageClient3, PostMessageMethod as PostMessageMethod17, PostMessageType as PostMessageType18 } from "@moon-x/core/utils";
10808
11036
  import { useCallback as useCallback10, useState as useState33 } from "react";
10809
11037
  import { SiwsMessage } from "@moon-x/core/lib";
10810
11038
  var useSolanaWallet = function useSolanaWallet(param) {
@@ -10903,7 +11131,7 @@ var useSolanaWallet = function useSolanaWallet(param) {
10903
11131
  ]);
10904
11132
  return [
10905
11133
  4,
10906
- client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.WALLET_REGISTRATION_NONCE, {
11134
+ client.send(PostMessageType18.EXTERNAL_WALLET, PostMessageMethod17.WALLET_REGISTRATION_NONCE, {
10907
11135
  publishableKey: publishableKey,
10908
11136
  publicAddress: walletAddress,
10909
11137
  walletType: "solana",
@@ -10955,7 +11183,7 @@ var useSolanaWallet = function useSolanaWallet(param) {
10955
11183
  encodedSignature = bs58.default.encode(signatureResponse);
10956
11184
  return [
10957
11185
  4,
10958
- client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.VERIFY_SIWE_WALLET_REGISTRATION, {
11186
+ client.send(PostMessageType18.EXTERNAL_WALLET, PostMessageMethod17.VERIFY_SIWE_WALLET_REGISTRATION, {
10959
11187
  publishableKey: publishableKey,
10960
11188
  publicAddress: walletAddress,
10961
11189
  walletType: "solana",
@@ -11040,7 +11268,7 @@ var useSolanaWallet = function useSolanaWallet(param) {
11040
11268
  ]);
11041
11269
  return [
11042
11270
  4,
11043
- client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.WALLET_REGISTRATION_NONCE, {
11271
+ client.send(PostMessageType18.EXTERNAL_WALLET, PostMessageMethod17.WALLET_REGISTRATION_NONCE, {
11044
11272
  publishableKey: publishableKey,
11045
11273
  publicAddress: walletAddress,
11046
11274
  walletType: "solana",
@@ -11092,7 +11320,7 @@ var useSolanaWallet = function useSolanaWallet(param) {
11092
11320
  encodedSignature = bs58.default.encode(signatureResponse);
11093
11321
  return [
11094
11322
  4,
11095
- client.send(PostMessageType17.EXTERNAL_WALLET, PostMessageMethod16.VERIFY_SIWE_WALLET_REGISTRATION, {
11323
+ client.send(PostMessageType18.EXTERNAL_WALLET, PostMessageMethod17.VERIFY_SIWE_WALLET_REGISTRATION, {
11096
11324
  publishableKey: publishableKey,
11097
11325
  publicAddress: walletAddress,
11098
11326
  walletType: "solana",
@@ -11109,7 +11337,7 @@ var useSolanaWallet = function useSolanaWallet(param) {
11109
11337
  ];
11110
11338
  }
11111
11339
  parentClient = new PostMessageClient3(window.parent, "*");
11112
- parentClient.sendOneWay(PostMessageType17.EXTERNAL_WALLET, "WALLET_CONNECTED", _object_spread({}, verifyResult.sessionData));
11340
+ parentClient.sendOneWay(PostMessageType18.EXTERNAL_WALLET, "WALLET_CONNECTED", _object_spread({}, verifyResult.sessionData));
11113
11341
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(verifyResult.sessionData);
11114
11342
  return [
11115
11343
  3,
@@ -12249,7 +12477,7 @@ var LoginLanding = function LoginLanding(param) {
12249
12477
  ]);
12250
12478
  return [
12251
12479
  4,
12252
- client.send(PostMessageType18.AUTH, PostMessageMethod17.START_OAUTH, {
12480
+ client.send(PostMessageType19.AUTH, PostMessageMethod18.START_OAUTH, {
12253
12481
  publishableKey: config === null || config === void 0 ? void 0 : config.publishableKey,
12254
12482
  provider: provider,
12255
12483
  login_redirect_url: window.location.href
@@ -12508,7 +12736,7 @@ var OAuth = function OAuth(param) {
12508
12736
  });
12509
12737
  };
12510
12738
  // src/components/flows/passkey-enroll/passkey-enroll.tsx
12511
- import { PostMessageMethod as PostMessageMethod18, PostMessageType as PostMessageType19 } from "@moon-x/core/utils";
12739
+ import { PostMessageMethod as PostMessageMethod19, PostMessageType as PostMessageType20 } from "@moon-x/core/utils";
12512
12740
  import { startRegistration as startRegistration2 } from "@simplewebauthn/browser";
12513
12741
  import { CheckCircle2 as CheckCircle24, CloudCog, Fingerprint as Fingerprint2, ShieldCheck } from "lucide-react";
12514
12742
  import { useEffect as useEffect23, useRef as useRef13, useState as useState37 } from "react";
@@ -12591,7 +12819,7 @@ var PasskeyEnroll = function PasskeyEnroll(param) {
12591
12819
  ]);
12592
12820
  return [
12593
12821
  4,
12594
- client.send(PostMessageType19.AUTH, PostMessageMethod18.PASSKEY_REGISTER_BEGIN, {
12822
+ client.send(PostMessageType20.AUTH, PostMessageMethod19.PASSKEY_REGISTER_BEGIN, {
12595
12823
  publishableKey: publishableKey,
12596
12824
  // Full origin (scheme + host + non-default port). Backend
12597
12825
  // pulls the host out for the suffix check against the
@@ -12692,7 +12920,7 @@ var PasskeyEnroll = function PasskeyEnroll(param) {
12692
12920
  credential = _state.sent();
12693
12921
  return [
12694
12922
  4,
12695
- client.send(PostMessageType19.AUTH, PostMessageMethod18.PASSKEY_REGISTER_VERIFY, {
12923
+ client.send(PostMessageType20.AUTH, PostMessageMethod19.PASSKEY_REGISTER_VERIFY, {
12696
12924
  publishableKey: publishableKey,
12697
12925
  // Must match the value sent at register/begin so the backend
12698
12926
  // rebuilds the same RP config the cryptographic verification
@@ -12899,10 +13127,10 @@ var PasskeyEnroll = function PasskeyEnroll(param) {
12899
13127
  });
12900
13128
  };
12901
13129
  // src/components/flows/send-ethereum-transaction-flow/send-ethereum-transaction-flow.tsx
12902
- import { PostMessageClient as PostMessageClient4, PostMessageMethod as PostMessageMethod20, PostMessageType as PostMessageType21 } from "@moon-x/core/utils";
13130
+ import { PostMessageClient as PostMessageClient4, PostMessageMethod as PostMessageMethod21, PostMessageType as PostMessageType22 } from "@moon-x/core/utils";
12903
13131
  import { useState as useState40 } from "react";
12904
13132
  // src/components/flows/send-ethereum-transaction-flow/send-ethereum-transaction.tsx
12905
- import { PostMessageMethod as PostMessageMethod19, PostMessageType as PostMessageType20 } from "@moon-x/core/utils";
13133
+ import { PostMessageMethod as PostMessageMethod20, PostMessageType as PostMessageType21 } from "@moon-x/core/utils";
12906
13134
  import { ListCheck, X as X11, XCircle as XCircle2 } from "lucide-react";
12907
13135
  import { useEffect as useEffect24, useState as useState38 } from "react";
12908
13136
  import { jsx as jsx54, jsxs as jsxs44 } from "react/jsx-runtime";
@@ -12936,7 +13164,7 @@ var SendEthereumTransaction = function SendEthereumTransaction(param) {
12936
13164
  ]);
12937
13165
  return [
12938
13166
  4,
12939
- client.send(PostMessageType20.WALLET, PostMessageMethod19.GET_CONFIRM_ETHEREUM_TRANSACTION, {
13167
+ client.send(PostMessageType21.WALLET, PostMessageMethod20.GET_CONFIRM_ETHEREUM_TRANSACTION, {
12940
13168
  transaction: transaction,
12941
13169
  walletAddress: wallet === null || wallet === void 0 ? void 0 : wallet.public_address,
12942
13170
  rpcUrl: rpcUrl,
@@ -13692,7 +13920,7 @@ var SendEthereumTransactionFlow = function SendEthereumTransactionFlow(param) {
13692
13920
  };
13693
13921
  var handleSend = function handleSend() {
13694
13922
  return _async_to_generator(function() {
13695
- var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, signed, broadcastResponse, broadcast, hash, parentClient, error;
13923
+ var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, signed, broadcastResponse, broadcast, hash, parentClient, error;
13696
13924
  return _ts_generator(this, function(_state) {
13697
13925
  switch(_state.label){
13698
13926
  case 0:
@@ -13715,16 +13943,17 @@ var SendEthereumTransactionFlow = function SendEthereumTransactionFlow(param) {
13715
13943
  onAssertPasskey()
13716
13944
  ];
13717
13945
  case 1:
13718
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
13946
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
13719
13947
  return [
13720
13948
  4,
13721
- client.send(PostMessageType21.WALLET, PostMessageMethod20.SIGN_TRANSACTION, {
13949
+ client.send(PostMessageType22.WALLET, PostMessageMethod21.SIGN_TRANSACTION, {
13722
13950
  publishableKey: publishableKey,
13723
13951
  serializedTransaction: sendTransactionRequest.serializedTransaction,
13724
13952
  wallet: wallet,
13725
13953
  options: options,
13726
13954
  userHandleB64url: userHandleB64url,
13727
- credentialIdB64url: credentialIdB64url
13955
+ credentialIdB64url: credentialIdB64url,
13956
+ presenceTokens: presenceTokens
13728
13957
  })
13729
13958
  ];
13730
13959
  case 2:
@@ -13766,7 +13995,7 @@ var SendEthereumTransactionFlow = function SendEthereumTransactionFlow(param) {
13766
13995
  setCurrentStep("success");
13767
13996
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
13768
13997
  parentClient = new PostMessageClient4(window.parent, "*");
13769
- parentClient.sendOneWay(PostMessageType21.WALLET, PostMessageMethod20.SEND_TRANSACTION, {
13998
+ parentClient.sendOneWay(PostMessageType22.WALLET, PostMessageMethod21.SEND_TRANSACTION, {
13770
13999
  success: true,
13771
14000
  signature: signed.signature,
13772
14001
  transactionHash: hash,
@@ -13811,7 +14040,7 @@ var SendEthereumTransactionFlow = function SendEthereumTransactionFlow(param) {
13811
14040
  setIsSending(false);
13812
14041
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
13813
14042
  var parentClient = new PostMessageClient4(window.parent, "*");
13814
- parentClient.sendOneWay(PostMessageType21.WALLET, PostMessageMethod20.SEND_TRANSACTION, {
14043
+ parentClient.sendOneWay(PostMessageType22.WALLET, PostMessageMethod21.SEND_TRANSACTION, {
13815
14044
  success: false,
13816
14045
  cancelled: true,
13817
14046
  error: "User cancelled transaction"
@@ -13876,10 +14105,10 @@ var SendEthereumTransactionFlow = function SendEthereumTransactionFlow(param) {
13876
14105
  }
13877
14106
  };
13878
14107
  // src/components/flows/send-transaction-flow/send-transaction-flow.tsx
13879
- import { PostMessageClient as PostMessageClient5, PostMessageMethod as PostMessageMethod22, PostMessageType as PostMessageType23 } from "@moon-x/core/utils";
14108
+ import { PostMessageClient as PostMessageClient5, PostMessageMethod as PostMessageMethod23, PostMessageType as PostMessageType24 } from "@moon-x/core/utils";
13880
14109
  import { useState as useState43 } from "react";
13881
14110
  // src/components/flows/send-transaction-flow/send-transaction.tsx
13882
- import { PostMessageMethod as PostMessageMethod21, PostMessageType as PostMessageType22 } from "@moon-x/core/utils";
14111
+ import { PostMessageMethod as PostMessageMethod22, PostMessageType as PostMessageType23 } from "@moon-x/core/utils";
13883
14112
  import { ListCheck as ListCheck2, X as X14, XCircle as XCircle4 } from "lucide-react";
13884
14113
  import { useEffect as useEffect26, useState as useState41 } from "react";
13885
14114
  import { getTransferInfoFromInstructions } from "@moon-x/core/lib";
@@ -13914,7 +14143,7 @@ var SendTransaction = function SendTransaction(param) {
13914
14143
  ]);
13915
14144
  return [
13916
14145
  4,
13917
- client.send(PostMessageType22.WALLET, PostMessageMethod21.GET_CONFIRM_TRANSACTION, {
14146
+ client.send(PostMessageType23.WALLET, PostMessageMethod22.GET_CONFIRM_TRANSACTION, {
13918
14147
  encodedMessage: encodedMessage,
13919
14148
  walletAddress: walletAddress,
13920
14149
  transaction: transaction,
@@ -14677,7 +14906,7 @@ var SendTransactionFlow = function SendTransactionFlow(param) {
14677
14906
  };
14678
14907
  var handleSign = function handleSign() {
14679
14908
  return _async_to_generator(function() {
14680
- var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, signed, bs58, transactionBytes, base64Transaction, broadcastResponse, broadcast, parentClient, error;
14909
+ var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, signed, bs58, transactionBytes, base64Transaction, broadcastResponse, broadcast, parentClient, error;
14681
14910
  return _ts_generator(this, function(_state) {
14682
14911
  switch(_state.label){
14683
14912
  case 0:
@@ -14698,15 +14927,16 @@ var SendTransactionFlow = function SendTransactionFlow(param) {
14698
14927
  onAssertPasskey()
14699
14928
  ];
14700
14929
  case 1:
14701
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
14930
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
14702
14931
  return [
14703
14932
  4,
14704
- client.send(PostMessageType23.WALLET, PostMessageMethod22.SIGN_TRANSACTION, {
14933
+ client.send(PostMessageType24.WALLET, PostMessageMethod23.SIGN_TRANSACTION, {
14705
14934
  publishableKey: publishableKey,
14706
14935
  serializedTransaction: sendTransactionRequest.transaction,
14707
14936
  wallet: wallet,
14708
14937
  userHandleB64url: userHandleB64url,
14709
- credentialIdB64url: credentialIdB64url
14938
+ credentialIdB64url: credentialIdB64url,
14939
+ presenceTokens: presenceTokens
14710
14940
  })
14711
14941
  ];
14712
14942
  case 2:
@@ -14759,7 +14989,7 @@ var SendTransactionFlow = function SendTransactionFlow(param) {
14759
14989
  setCurrentStep("success");
14760
14990
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
14761
14991
  parentClient = new PostMessageClient5(window.parent, "*");
14762
- parentClient.sendOneWay(PostMessageType23.WALLET, PostMessageMethod22.SEND_TRANSACTION, {
14992
+ parentClient.sendOneWay(PostMessageType24.WALLET, PostMessageMethod23.SEND_TRANSACTION, {
14763
14993
  success: true,
14764
14994
  signature: signed.signature,
14765
14995
  signedTransaction: signed.signedTransaction,
@@ -14864,7 +15094,7 @@ var SendTransactionFlow = function SendTransactionFlow(param) {
14864
15094
  }
14865
15095
  };
14866
15096
  // src/components/flows/sign-7702-authorization/sign-7702-authorization.tsx
14867
- import { PostMessageClient as PostMessageClient6, PostMessageMethod as PostMessageMethod23, PostMessageType as PostMessageType24 } from "@moon-x/core/utils";
15097
+ import { PostMessageClient as PostMessageClient6, PostMessageMethod as PostMessageMethod24, PostMessageType as PostMessageType25 } from "@moon-x/core/utils";
14868
15098
  import { Check as Check2, Copy as Copy2, X as X17, XCircle as XCircle6 } from "lucide-react";
14869
15099
  import { useEffect as useEffect28, useRef as useRef14, useState as useState44 } from "react";
14870
15100
  import { Fragment as Fragment11, jsx as jsx64, jsxs as jsxs52 } from "react/jsx-runtime";
@@ -14954,7 +15184,7 @@ var Sign7702Authorization = function Sign7702Authorization(param) {
14954
15184
  };
14955
15185
  var handleSign = function handleSign() {
14956
15186
  return _async_to_generator(function() {
14957
- var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, result, parentClient, error;
15187
+ var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, result, parentClient, error;
14958
15188
  return _ts_generator(this, function(_state) {
14959
15189
  switch(_state.label){
14960
15190
  case 0:
@@ -14980,10 +15210,10 @@ var Sign7702Authorization = function Sign7702Authorization(param) {
14980
15210
  onAssertPasskey()
14981
15211
  ];
14982
15212
  case 2:
14983
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
15213
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
14984
15214
  return [
14985
15215
  4,
14986
- client.send(PostMessageType24.WALLET, PostMessageMethod23.SIGN_7702_AUTHORIZATION, {
15216
+ client.send(PostMessageType25.WALLET, PostMessageMethod24.SIGN_7702_AUTHORIZATION, {
14987
15217
  contractAddress: contractAddress,
14988
15218
  chainId: chainId,
14989
15219
  nonce: nonce,
@@ -14992,7 +15222,8 @@ var Sign7702Authorization = function Sign7702Authorization(param) {
14992
15222
  options: options,
14993
15223
  wallet: wallet,
14994
15224
  userHandleB64url: userHandleB64url,
14995
- credentialIdB64url: credentialIdB64url
15225
+ credentialIdB64url: credentialIdB64url,
15226
+ presenceTokens: presenceTokens
14996
15227
  })
14997
15228
  ];
14998
15229
  case 3:
@@ -15001,7 +15232,7 @@ var Sign7702Authorization = function Sign7702Authorization(param) {
15001
15232
  setIsSigning(false);
15002
15233
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
15003
15234
  parentClient = new PostMessageClient6(window.parent, "*");
15004
- parentClient.sendOneWay(PostMessageType24.WALLET, PostMessageMethod23.SIGN_7702_AUTHORIZATION, _object_spread({
15235
+ parentClient.sendOneWay(PostMessageType25.WALLET, PostMessageMethod24.SIGN_7702_AUTHORIZATION, _object_spread({
15005
15236
  success: true
15006
15237
  }, result));
15007
15238
  }
@@ -15191,7 +15422,7 @@ var Sign7702Authorization = function Sign7702Authorization(param) {
15191
15422
  };
15192
15423
  var sign_7702_authorization_default = Sign7702Authorization;
15193
15424
  // src/components/flows/sign-message-flow/sign-message.tsx
15194
- import { PostMessageClient as PostMessageClient7, PostMessageMethod as PostMessageMethod24, PostMessageType as PostMessageType25 } from "@moon-x/core";
15425
+ import { PostMessageClient as PostMessageClient7, PostMessageMethod as PostMessageMethod25, PostMessageType as PostMessageType26 } from "@moon-x/core";
15195
15426
  import { Check as Check3, Copy as Copy3, X as X18, XCircle as XCircle7 } from "lucide-react";
15196
15427
  import { useRef as useRef15, useState as useState45 } from "react";
15197
15428
  import { Fragment as Fragment12, jsx as jsx65, jsxs as jsxs53 } from "react/jsx-runtime";
@@ -15309,7 +15540,7 @@ var SignMessage = function SignMessage(param) {
15309
15540
  };
15310
15541
  var handleSign = function handleSign() {
15311
15542
  return _async_to_generator(function() {
15312
- var client, _ref, userHandleB64url, credentialIdB64url, result, processedResponse, parentClient, error;
15543
+ var client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, result, processedResponse, parentClient, error;
15313
15544
  return _ts_generator(this, function(_state) {
15314
15545
  switch(_state.label){
15315
15546
  case 0:
@@ -15335,16 +15566,17 @@ var SignMessage = function SignMessage(param) {
15335
15566
  onAssertPasskey()
15336
15567
  ];
15337
15568
  case 2:
15338
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
15569
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
15339
15570
  return [
15340
15571
  4,
15341
- client.send(PostMessageType25.WALLET, PostMessageMethod24.SIGN_MESSAGE, {
15572
+ client.send(PostMessageType26.WALLET, PostMessageMethod25.SIGN_MESSAGE, {
15342
15573
  message: message,
15343
15574
  publishableKey: publishableKey,
15344
15575
  uiOptions: uiOptions,
15345
15576
  wallet: wallet,
15346
15577
  userHandleB64url: userHandleB64url,
15347
- credentialIdB64url: credentialIdB64url
15578
+ credentialIdB64url: credentialIdB64url,
15579
+ presenceTokens: presenceTokens
15348
15580
  })
15349
15581
  ];
15350
15582
  case 3:
@@ -15359,7 +15591,7 @@ var SignMessage = function SignMessage(param) {
15359
15591
  processedResponse = _state.sent();
15360
15592
  if (uiOptions === null || uiOptions === void 0 ? void 0 : uiOptions.showWalletUI) {
15361
15593
  parentClient = new PostMessageClient7(window.parent, "*");
15362
- parentClient.sendOneWay(PostMessageType25.WALLET, PostMessageMethod24.SIGN_MESSAGE, {
15594
+ parentClient.sendOneWay(PostMessageType26.WALLET, PostMessageMethod25.SIGN_MESSAGE, {
15363
15595
  success: true,
15364
15596
  signature: result.signature
15365
15597
  });
@@ -15547,7 +15779,7 @@ var SignMessage = function SignMessage(param) {
15547
15779
  });
15548
15780
  };
15549
15781
  // src/components/flows/sign-transaction-flow/sign-transaction.tsx
15550
- import { PostMessageClient as PostMessageClient8, PostMessageMethod as PostMessageMethod25, PostMessageType as PostMessageType26 } from "@moon-x/core/utils";
15782
+ import { PostMessageClient as PostMessageClient8, PostMessageMethod as PostMessageMethod26, PostMessageType as PostMessageType27 } from "@moon-x/core/utils";
15551
15783
  import { Check as Check4, ChevronRight, Copy as Copy4, X as X19, XCircle as XCircle8 } from "lucide-react";
15552
15784
  import { useEffect as useEffect29, useRef as useRef16, useState as useState46 } from "react";
15553
15785
  import { parseTransaction } from "viem";
@@ -15636,7 +15868,7 @@ var SignTransaction = function SignTransaction(param) {
15636
15868
  };
15637
15869
  var handleSign = function handleSign() {
15638
15870
  return _async_to_generator(function() {
15639
- var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, result, parentClient, error;
15871
+ var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, result, parentClient, error;
15640
15872
  return _ts_generator(this, function(_state) {
15641
15873
  switch(_state.label){
15642
15874
  case 0:
@@ -15662,10 +15894,10 @@ var SignTransaction = function SignTransaction(param) {
15662
15894
  onAssertPasskey()
15663
15895
  ];
15664
15896
  case 2:
15665
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
15897
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
15666
15898
  return [
15667
15899
  4,
15668
- client.send(PostMessageType26.WALLET, PostMessageMethod25.SIGN_TRANSACTION, {
15900
+ client.send(PostMessageType27.WALLET, PostMessageMethod26.SIGN_TRANSACTION, {
15669
15901
  serializedTransaction: serializedTransaction,
15670
15902
  publishableKey: publishableKey,
15671
15903
  options: options,
@@ -15673,7 +15905,8 @@ var SignTransaction = function SignTransaction(param) {
15673
15905
  // Parent-asserted passkey userHandle — see sign-message.tsx
15674
15906
  // for context.
15675
15907
  userHandleB64url: userHandleB64url,
15676
- credentialIdB64url: credentialIdB64url
15908
+ credentialIdB64url: credentialIdB64url,
15909
+ presenceTokens: presenceTokens
15677
15910
  })
15678
15911
  ];
15679
15912
  case 3:
@@ -15682,7 +15915,7 @@ var SignTransaction = function SignTransaction(param) {
15682
15915
  setIsSigning(false);
15683
15916
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
15684
15917
  parentClient = new PostMessageClient8(window.parent, "*");
15685
- parentClient.sendOneWay(PostMessageType26.WALLET, PostMessageMethod25.SIGN_TRANSACTION, _object_spread({
15918
+ parentClient.sendOneWay(PostMessageType27.WALLET, PostMessageMethod26.SIGN_TRANSACTION, _object_spread({
15686
15919
  success: true
15687
15920
  }, result));
15688
15921
  }
@@ -15883,7 +16116,7 @@ var SignTransaction = function SignTransaction(param) {
15883
16116
  });
15884
16117
  };
15885
16118
  // src/components/flows/sign-typed-data/sign-typed-data.tsx
15886
- import { PostMessageClient as PostMessageClient9, PostMessageMethod as PostMessageMethod26, PostMessageType as PostMessageType27 } from "@moon-x/core/utils";
16119
+ import { PostMessageClient as PostMessageClient9, PostMessageMethod as PostMessageMethod27, PostMessageType as PostMessageType28 } from "@moon-x/core/utils";
15887
16120
  import { Check as Check5, ChevronRight as ChevronRight2, Copy as Copy5, X as X20, XCircle as XCircle9 } from "lucide-react";
15888
16121
  import { useEffect as useEffect30, useRef as useRef17, useState as useState47 } from "react";
15889
16122
  import { Fragment as Fragment14, jsx as jsx67, jsxs as jsxs55 } from "react/jsx-runtime";
@@ -15977,7 +16210,7 @@ var SignTypedData = function SignTypedData(param) {
15977
16210
  };
15978
16211
  var handleSign = function handleSign() {
15979
16212
  return _async_to_generator(function() {
15980
- var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, result, parentClient, error;
16213
+ var _options_uiOptions, client, _ref, userHandleB64url, credentialIdB64url, presenceTokens, result, parentClient, error;
15981
16214
  return _ts_generator(this, function(_state) {
15982
16215
  switch(_state.label){
15983
16216
  case 0:
@@ -16003,10 +16236,10 @@ var SignTypedData = function SignTypedData(param) {
16003
16236
  onAssertPasskey()
16004
16237
  ];
16005
16238
  case 2:
16006
- _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url;
16239
+ _ref = _state.sent(), userHandleB64url = _ref.userHandleB64url, credentialIdB64url = _ref.credentialIdB64url, presenceTokens = _ref.presenceTokens;
16007
16240
  return [
16008
16241
  4,
16009
- client.send(PostMessageType27.WALLET, PostMessageMethod26.SIGN_TYPED_DATA, {
16242
+ client.send(PostMessageType28.WALLET, PostMessageMethod27.SIGN_TYPED_DATA, {
16010
16243
  domain: domain,
16011
16244
  types: types,
16012
16245
  primaryType: primaryType,
@@ -16015,7 +16248,8 @@ var SignTypedData = function SignTypedData(param) {
16015
16248
  options: options,
16016
16249
  wallet: wallet,
16017
16250
  userHandleB64url: userHandleB64url,
16018
- credentialIdB64url: credentialIdB64url
16251
+ credentialIdB64url: credentialIdB64url,
16252
+ presenceTokens: presenceTokens
16019
16253
  })
16020
16254
  ];
16021
16255
  case 3:
@@ -16024,7 +16258,7 @@ var SignTypedData = function SignTypedData(param) {
16024
16258
  setIsSigning(false);
16025
16259
  if (options === null || options === void 0 ? void 0 : (_options_uiOptions = options.uiOptions) === null || _options_uiOptions === void 0 ? void 0 : _options_uiOptions.showWalletUI) {
16026
16260
  parentClient = new PostMessageClient9(window.parent, "*");
16027
- parentClient.sendOneWay(PostMessageType27.WALLET, PostMessageMethod26.SIGN_TYPED_DATA, {
16261
+ parentClient.sendOneWay(PostMessageType28.WALLET, PostMessageMethod27.SIGN_TYPED_DATA, {
16028
16262
  success: true,
16029
16263
  signature: result.signature
16030
16264
  });
@@ -17151,8 +17385,6 @@ var AuthFlowRenderer = function AuthFlowRenderer(param) {
17151
17385
  return /* @__PURE__ */ jsx71(ImportWallet, {
17152
17386
  publishableKey: authConfig.publishableKey,
17153
17387
  walletType: walletType1,
17154
- userHandleB64url: flowData === null || flowData === void 0 ? void 0 : flowData.userHandleB64url,
17155
- credentialIdB64url: flowData === null || flowData === void 0 ? void 0 : flowData.credentialIdB64url,
17156
17388
  onComplete: function onComplete(wallet) {
17157
17389
  var _sdkInstance_getCurrentSuccessCallback;
17158
17390
  var successCallback = sdkInstance === null || sdkInstance === void 0 ? void 0 : (_sdkInstance_getCurrentSuccessCallback = sdkInstance.getCurrentSuccessCallback) === null || _sdkInstance_getCurrentSuccessCallback === void 0 ? void 0 : _sdkInstance_getCurrentSuccessCallback.call(sdkInstance);
@@ -17512,7 +17744,7 @@ var AuthProvider = function AuthProvider(param) {
17512
17744
  client = createPostMessageClient(iframeRef.current.contentWindow, publishableKey);
17513
17745
  return [
17514
17746
  4,
17515
- client.send(PostMessageType28.AUTH, PostMessageMethod27.IS_AUTHENTICATED, {
17747
+ client.send(PostMessageType29.AUTH, PostMessageMethod28.IS_AUTHENTICATED, {
17516
17748
  publishableKey: publishableKey
17517
17749
  })
17518
17750
  ];
@@ -17526,7 +17758,7 @@ var AuthProvider = function AuthProvider(param) {
17526
17758
  ];
17527
17759
  return [
17528
17760
  4,
17529
- client.send(PostMessageType28.AUTH, PostMessageMethod27.GET_USER, {
17761
+ client.send(PostMessageType29.AUTH, PostMessageMethod28.GET_USER, {
17530
17762
  publishableKey: publishableKey
17531
17763
  })
17532
17764
  ];
@@ -17639,7 +17871,7 @@ var AuthProvider = function AuthProvider(param) {
17639
17871
  if (!isMounted) return;
17640
17872
  var handleReadyMessage = function handleReadyMessage(event) {
17641
17873
  var _event_data = event.data, type = _event_data.type, method = _event_data.method;
17642
- if (type === PostMessageType28.INIT && method === PostMessageMethod27.READY) {
17874
+ if (type === PostMessageType29.INIT && method === PostMessageMethod28.READY) {
17643
17875
  setIsIframeReady(true);
17644
17876
  }
17645
17877
  };
@@ -17675,7 +17907,7 @@ var AuthProvider = function AuthProvider(param) {
17675
17907
  client = new PostMessageClient10(iframeRef.current.contentWindow, iframeOrigin);
17676
17908
  return [
17677
17909
  4,
17678
- client.send(PostMessageType28.AUTH, PostMessageMethod27.IS_AUTHENTICATED, {
17910
+ client.send(PostMessageType29.AUTH, PostMessageMethod28.IS_AUTHENTICATED, {
17679
17911
  publishableKey: publishableKey
17680
17912
  })
17681
17913
  ];
@@ -17689,7 +17921,7 @@ var AuthProvider = function AuthProvider(param) {
17689
17921
  ];
17690
17922
  return [
17691
17923
  4,
17692
- client.send(PostMessageType28.AUTH, PostMessageMethod27.GET_USER, {
17924
+ client.send(PostMessageType29.AUTH, PostMessageMethod28.GET_USER, {
17693
17925
  publishableKey: publishableKey
17694
17926
  })
17695
17927
  ];
@@ -18064,7 +18296,7 @@ import { jsx as jsx73 } from "react/jsx-runtime";
18064
18296
  import { useContext as useContext4 } from "react";
18065
18297
  // src/provider.tsx
18066
18298
  import { createContext, useContext as useContext5, useEffect as useEffect36, useMemo as useMemo5, useRef as useRef19, useState as useState52 } from "react";
18067
- import { setAssertCacheTtlMs, validateChainConfig } from "@moon-x/core/lib";
18299
+ import { validateChainConfig } from "@moon-x/core/lib";
18068
18300
  // src/wallets/walletconnect-client.ts
18069
18301
  var setWalletConnectClient = function setWalletConnectClient(client) {
18070
18302
  if (typeof window !== "undefined") {
@@ -18080,15 +18312,13 @@ var WalletConnectContext = createContext({
18080
18312
  var MoonKeyContext = createContext(null);
18081
18313
  var MoonKeyProvider = function MoonKeyProvider(param) {
18082
18314
  var publishableKey = param.publishableKey, embeddableId = param.embeddableId, config = param.config, children = param.children;
18083
- var _ref;
18084
- var _config_security, _config_walletConnect, _config_emailConfig, _config_emailConfig1, _config_emailConfig2, _config_emailConfig3, _config_emailConfig4;
18315
+ var _config_walletConnect, _config_emailConfig, _config_emailConfig1, _config_emailConfig2, _config_emailConfig3, _config_emailConfig4;
18085
18316
  if ((config === null || config === void 0 ? void 0 : config.defaultChain) || (config === null || config === void 0 ? void 0 : config.supportedChains)) {
18086
18317
  validateChainConfig({
18087
18318
  defaultChain: config.defaultChain,
18088
18319
  supportedChains: config.supportedChains
18089
18320
  });
18090
18321
  }
18091
- setAssertCacheTtlMs((_ref = config === null || config === void 0 ? void 0 : (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.assertionCacheTtlMs) !== null && _ref !== void 0 ? _ref : 0);
18092
18322
  var _useState52 = _sliced_to_array(useState52(null), 2), walletConnectClient = _useState52[0], setWalletConnectClient2 = _useState52[1];
18093
18323
  var _useState521 = _sliced_to_array(useState52(false), 2), isInitializing = _useState521[0], setIsInitializing = _useState521[1];
18094
18324
  var initializationAttempted = useRef19(false);
@@ -18270,4 +18500,4 @@ var getReconnectionInfo = function getReconnectionInfo(error) {
18270
18500
  import { estimateEvmGas, estimateEvmGasReserve, getChainById, getDefaultChain, getEvmGasPrice, getEvmMaxPriorityFeePerGas, getEvmNonce, getRpcUrl, isChainSupported, setChainRpcUrl, validateChainConfig as validateChainConfig2 } from "@moon-x/core/lib";
18271
18501
  import { Network } from "@moon-x/core/types";
18272
18502
  import { arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, goerli, holesky, mainnet, optimism, optimismSepolia, polygon, polygonAmoy, sepolia } from "viem/chains";
18273
- export { MoonKeyProvider, Network, SessionExpiredError, SessionNotFoundError, arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, estimateEvmGas, estimateEvmGasReserve, ethereum_exports as ethereum, getChainById, getDefaultChain, getEvmGasPrice, getEvmMaxPriorityFeePerGas, getEvmNonce, getReconnectionInfo, getRpcUrl, goerli, holesky, isChainSupported, mainnet, optimism, optimismSepolia, polygon, polygonAmoy, requiresReconnection, sepolia, setChainRpcUrl, solana_exports as solana, useAddPasskey, useAttachOAuth, useConnectWallet, useDetachOAuth, useLoginWithEmail, useLoginWithOAuth, useMoonKey, useOAuthCompletion, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser, validateChainConfig2 as validateChainConfig };
18503
+ export { MoonKeyProvider, Network, SessionExpiredError, SessionNotFoundError, arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, estimateEvmGas, estimateEvmGasReserve, ethereum_exports as ethereum, getChainById, getDefaultChain, getEvmGasPrice, getEvmMaxPriorityFeePerGas, getEvmNonce, getReconnectionInfo, getRpcUrl, goerli, holesky, isChainSupported, mainnet, optimism, optimismSepolia, polygon, polygonAmoy, requiresReconnection, sepolia, setChainRpcUrl, solana_exports as solana, useAddPasskey, useAttachOAuth, useConnectWallet, useDetachOAuth, useEphemeralSigner, useLoginWithEmail, useLoginWithOAuth, useMoonKey, useOAuthCompletion, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser, validateChainConfig2 as validateChainConfig };