@bounded-sh/client 0.0.118 → 0.0.119
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/auth/providers/email-auth-provider.d.ts +2 -1
- package/dist/auth/providers/offchain-auth-provider.d.ts +2 -1
- package/dist/auth/turnkey-signer-bridge.d.ts +16 -0
- package/dist/auth/turnkey-wallet-widget.d.ts +4 -0
- package/dist/{email-auth-provider-B9cZ-puM.mjs → email-auth-provider-DHq5_wtn.mjs} +7 -2
- package/dist/email-auth-provider-DHq5_wtn.mjs.map +1 -0
- package/dist/{email-auth-provider-DFHalX9c.mjs → email-auth-provider-DOI-4lPC.mjs} +7 -2
- package/dist/email-auth-provider-DOI-4lPC.mjs.map +1 -0
- package/dist/{email-auth-provider-BYiK3ZCv.js → email-auth-provider-DyzhiN9Y.js} +7 -2
- package/dist/email-auth-provider-DyzhiN9Y.js.map +1 -0
- package/dist/{email-auth-provider-C-qQ46kD.js → email-auth-provider-wOISnCic.js} +7 -2
- package/dist/email-auth-provider-wOISnCic.js.map +1 -0
- package/dist/{guest-auth-provider-D1q3C5uC.js → guest-auth-provider-Br3iM3O3.js} +2 -2
- package/dist/{guest-auth-provider-D1q3C5uC.js.map → guest-auth-provider-Br3iM3O3.js.map} +1 -1
- package/dist/{guest-auth-provider-i8-RL0js.mjs → guest-auth-provider-DyP5UUg6.mjs} +2 -2
- package/dist/{guest-auth-provider-BRq3JB0_.mjs.map → guest-auth-provider-DyP5UUg6.mjs.map} +1 -1
- package/dist/{guest-auth-provider-BRq3JB0_.mjs → guest-auth-provider-ZOBNFoeC.mjs} +2 -2
- package/dist/{guest-auth-provider-i8-RL0js.mjs.map → guest-auth-provider-ZOBNFoeC.mjs.map} +1 -1
- package/dist/{guest-auth-provider-g5-T58yA.js → guest-auth-provider-xap-VQBP.js} +2 -2
- package/dist/{guest-auth-provider-g5-T58yA.js.map → guest-auth-provider-xap-VQBP.js.map} +1 -1
- package/dist/{index-eMCWYiRe.js → index-B4_eKphx.js} +85 -16
- package/dist/index-B4_eKphx.js.map +1 -0
- package/dist/{index-xNGb1ROp.mjs → index-BaXUWG8Q.mjs} +85 -17
- package/dist/index-BaXUWG8Q.mjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{index.native-ByI3rRu4.js → index.native-B-pjNetI.js} +102 -17
- package/dist/index.native-B-pjNetI.js.map +1 -0
- package/dist/{index.native-YmmnwqEw.mjs → index.native-B4yI0BqT.mjs} +102 -18
- package/dist/index.native-B4yI0BqT.mjs.map +1 -0
- package/dist/index.native.js +1 -1
- package/dist/index.native.mjs +1 -1
- package/dist/{injected-evm-wallet-provider--x3yWNps.mjs → injected-evm-wallet-provider-B4Kr6lnK.mjs} +2 -2
- package/dist/{injected-evm-wallet-provider--x3yWNps.mjs.map → injected-evm-wallet-provider-B4Kr6lnK.mjs.map} +1 -1
- package/dist/{injected-evm-wallet-provider-BIYAL_NZ.js → injected-evm-wallet-provider-CKAv4Qxh.js} +2 -2
- package/dist/{injected-evm-wallet-provider-BIYAL_NZ.js.map → injected-evm-wallet-provider-CKAv4Qxh.js.map} +1 -1
- package/dist/{injected-evm-wallet-provider-BMjQaUiB.js → injected-evm-wallet-provider-DQMYqPus.js} +2 -2
- package/dist/{injected-evm-wallet-provider-BMjQaUiB.js.map → injected-evm-wallet-provider-DQMYqPus.js.map} +1 -1
- package/dist/{injected-evm-wallet-provider-BoLGCVqD.mjs → injected-evm-wallet-provider-Vw-Puwxh.mjs} +2 -2
- package/dist/{injected-evm-wallet-provider-BoLGCVqD.mjs.map → injected-evm-wallet-provider-Vw-Puwxh.mjs.map} +1 -1
- package/dist/{injected-wallet-provider-D3fVFadN.js → injected-wallet-provider-B8QTPxf6.js} +2 -2
- package/dist/{injected-wallet-provider-D3fVFadN.js.map → injected-wallet-provider-B8QTPxf6.js.map} +1 -1
- package/dist/{injected-wallet-provider-zXw__lyf.js → injected-wallet-provider-BsTfBAD4.js} +2 -2
- package/dist/{injected-wallet-provider-zXw__lyf.js.map → injected-wallet-provider-BsTfBAD4.js.map} +1 -1
- package/dist/{injected-wallet-provider-DSOjJP3u.mjs → injected-wallet-provider-CQxGVYja.mjs} +2 -2
- package/dist/{injected-wallet-provider-DSOjJP3u.mjs.map → injected-wallet-provider-CQxGVYja.mjs.map} +1 -1
- package/dist/{injected-wallet-provider-DuWTw-fM.mjs → injected-wallet-provider-jj9dqm2Z.mjs} +2 -2
- package/dist/{injected-wallet-provider-DuWTw-fM.mjs.map → injected-wallet-provider-jj9dqm2Z.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/email-auth-provider-B9cZ-puM.mjs.map +0 -1
- package/dist/email-auth-provider-BYiK3ZCv.js.map +0 -1
- package/dist/email-auth-provider-C-qQ46kD.js.map +0 -1
- package/dist/email-auth-provider-DFHalX9c.mjs.map +0 -1
- package/dist/index-eMCWYiRe.js.map +0 -1
- package/dist/index-xNGb1ROp.mjs.map +0 -1
- package/dist/index.native-ByI3rRu4.js.map +0 -1
- package/dist/index.native-YmmnwqEw.mjs.map +0 -1
|
@@ -35,7 +35,18 @@ function walletOperationGuard() {
|
|
|
35
35
|
throw new Error('wallet_session_changed');
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
// This realm owns one active SDK session and one retained signer frame.
|
|
39
|
+
let activeWalletState;
|
|
40
|
+
function setWalletSessionState(key, state) { activeWalletState = { key, state }; }
|
|
41
|
+
function walletSessionState(key) {
|
|
42
|
+
if ((activeWalletState === null || activeWalletState === void 0 ? void 0 : activeWalletState.key) !== key)
|
|
43
|
+
return { status: 'verification-required' };
|
|
44
|
+
const state = activeWalletState.state;
|
|
45
|
+
if (state.status === 'ready' && (!Number.isFinite(state.expiresAt) || state.expiresAt <= Date.now())) {
|
|
46
|
+
return { status: 'verification-required', reason: 'wallet_session_expired' };
|
|
47
|
+
}
|
|
48
|
+
return state;
|
|
49
|
+
}
|
|
39
50
|
|
|
40
51
|
/**
|
|
41
52
|
* Platform abstraction layer for React Native compatibility.
|
|
@@ -226,6 +237,10 @@ class OffchainAuthProvider {
|
|
|
226
237
|
async signTransaction(tx) {
|
|
227
238
|
return this.wrappedProvider.signTransaction(tx);
|
|
228
239
|
}
|
|
240
|
+
async prepareToSign() {
|
|
241
|
+
var _a, _b, _c;
|
|
242
|
+
return (_c = (await ((_b = (_a = this.wrappedProvider).prepareToSign) === null || _b === void 0 ? void 0 : _b.call(_a)))) !== null && _c !== void 0 ? _c : 'ready';
|
|
243
|
+
}
|
|
229
244
|
/**
|
|
230
245
|
* Sign and submit transaction - not supported in poofnet environment.
|
|
231
246
|
* See the real providers (PhantomWalletProvider, SolanaKeypairProvider)
|
|
@@ -4143,6 +4158,11 @@ function detachWarmSignerIframe(origin) {
|
|
|
4143
4158
|
detachIframe(modal);
|
|
4144
4159
|
return true;
|
|
4145
4160
|
}
|
|
4161
|
+
/** A removed frame cannot still supply its in-memory signing session. */
|
|
4162
|
+
function hasWarmSignerFrame(context) {
|
|
4163
|
+
var _a;
|
|
4164
|
+
return Boolean(((_a = modal === null || modal === void 0 ? void 0 : modal.iframe) === null || _a === void 0 ? void 0 : _a.isConnected) && modal.iframeContext === context);
|
|
4165
|
+
}
|
|
4146
4166
|
function detachIframe(m) {
|
|
4147
4167
|
if (m.iframe) {
|
|
4148
4168
|
try {
|
|
@@ -4184,7 +4204,7 @@ async function runWidget(url, signerOrigin, ex, popupFallback) {
|
|
|
4184
4204
|
const requestId = String(ex.request.requestId);
|
|
4185
4205
|
// Serialize: the approve card is modal, and one warm frame handles one request at a time.
|
|
4186
4206
|
const run = m.chain.then(() => new Promise((resolve, reject) => {
|
|
4187
|
-
var _a;
|
|
4207
|
+
var _a, _b;
|
|
4188
4208
|
let settled = false;
|
|
4189
4209
|
let usedFallback = false;
|
|
4190
4210
|
(_a = ex.assertCurrent) === null || _a === void 0 ? void 0 : _a.call(ex);
|
|
@@ -4227,16 +4247,20 @@ async function runWidget(url, signerOrigin, ex, popupFallback) {
|
|
|
4227
4247
|
/* frame gone */
|
|
4228
4248
|
}
|
|
4229
4249
|
};
|
|
4250
|
+
const dismiss = () => {
|
|
4251
|
+
if (!ex.silent)
|
|
4252
|
+
hideModal(m);
|
|
4253
|
+
};
|
|
4230
4254
|
const goFallback = () => {
|
|
4231
4255
|
if (usedFallback || settled)
|
|
4232
4256
|
return;
|
|
4233
4257
|
usedFallback = true;
|
|
4234
|
-
|
|
4258
|
+
dismiss();
|
|
4235
4259
|
finish(() => popupFallback().then(resolve, reject));
|
|
4236
4260
|
};
|
|
4237
4261
|
m.onBackdrop = () => {
|
|
4238
4262
|
cancelInFrame();
|
|
4239
|
-
|
|
4263
|
+
dismiss();
|
|
4240
4264
|
finish(() => reject(new Error("cancelled")));
|
|
4241
4265
|
};
|
|
4242
4266
|
m.onIframeMessage = (d) => {
|
|
@@ -4251,17 +4275,18 @@ async function runWidget(url, signerOrigin, ex, popupFallback) {
|
|
|
4251
4275
|
if (d.type === "bounded:turnkey:result" && d.requestId === requestId) {
|
|
4252
4276
|
const outcome = ex.onResult(d);
|
|
4253
4277
|
if ("error" in outcome) {
|
|
4254
|
-
|
|
4278
|
+
dismiss();
|
|
4255
4279
|
finish(() => reject(new Error(outcome.error)));
|
|
4256
4280
|
return;
|
|
4257
4281
|
}
|
|
4258
4282
|
if (outcome.done) {
|
|
4259
|
-
|
|
4283
|
+
dismiss();
|
|
4260
4284
|
finish(() => resolve(outcome.value));
|
|
4261
4285
|
}
|
|
4262
4286
|
}
|
|
4263
4287
|
};
|
|
4264
|
-
|
|
4288
|
+
if (!ex.silent)
|
|
4289
|
+
showModal(m);
|
|
4265
4290
|
if (m.iframeReady)
|
|
4266
4291
|
send();
|
|
4267
4292
|
// If the frame never loads, degrade to the popup (best-effort - a post-load
|
|
@@ -4274,10 +4299,10 @@ async function runWidget(url, signerOrigin, ex, popupFallback) {
|
|
|
4274
4299
|
ceilingTimer = window.setTimeout(() => {
|
|
4275
4300
|
if (!settled) {
|
|
4276
4301
|
cancelInFrame();
|
|
4277
|
-
|
|
4302
|
+
dismiss();
|
|
4278
4303
|
finish(() => reject(new Error("Wallet approval timed out.")));
|
|
4279
4304
|
}
|
|
4280
|
-
}, 5 * 60 * 1000);
|
|
4305
|
+
}, (_b = ex.ceilingMs) !== null && _b !== void 0 ? _b : 5 * 60 * 1000);
|
|
4281
4306
|
}));
|
|
4282
4307
|
m.chain = run.then(() => undefined, () => undefined);
|
|
4283
4308
|
return run;
|
|
@@ -4779,6 +4804,59 @@ async function clearTurnkeySigningSession(idToken) {
|
|
|
4779
4804
|
function hasTurnkeyWallet() {
|
|
4780
4805
|
return activeTurnkeyAddress() !== null;
|
|
4781
4806
|
}
|
|
4807
|
+
/** The signer frame could not take the exchange: it never loaded, or a page from before the request existed stays silent. */
|
|
4808
|
+
class SignerFrameUnavailable extends Error {
|
|
4809
|
+
constructor() { super('The Bounded signer frame did not answer.'); }
|
|
4810
|
+
}
|
|
4811
|
+
/** How long a silent session probe may wait for the frame before the write goes on without it. */
|
|
4812
|
+
const SESSION_PROBE_MS = 8000;
|
|
4813
|
+
/**
|
|
4814
|
+
* Make the wallet's 24-hour signing session live BEFORE a transaction exists. Without one the
|
|
4815
|
+
* approve card must first collect an emailed code, which takes longer than a transaction's
|
|
4816
|
+
* blockhash lifetime (about 33 seconds on mainnet in late 2026), so a transaction built before
|
|
4817
|
+
* the code is dead by the time it is signed. A live session is found with nothing shown: the
|
|
4818
|
+
* warm frame answers a silent probe, and it holds the session even where the browser blocks its
|
|
4819
|
+
* storage. Only a lapsed session opens the card, which runs the code ceremony and closes without
|
|
4820
|
+
* signing anything. Resolves `'established'` when that ceremony ran, else `'ready'`.
|
|
4821
|
+
*
|
|
4822
|
+
* Both exchanges run in the warm frame only, since it is the frame that signs next and a popup
|
|
4823
|
+
* keeps its session to itself. Where the frame cannot answer (an embedder that blocks it, or a
|
|
4824
|
+
* signer page from before this request existed), the write goes on the way it always did: the
|
|
4825
|
+
* approve card collects the code itself, and an expired build is built again.
|
|
4826
|
+
*/
|
|
4827
|
+
async function ensureTurnkeySigningSession() {
|
|
4828
|
+
if (!hasDOM$2())
|
|
4829
|
+
throw new Error('Turnkey embedded-wallet signing is only available in the browser (trusted wallet UI).');
|
|
4830
|
+
const context = await turnkeySignerPage();
|
|
4831
|
+
context.assertCurrent();
|
|
4832
|
+
if (hasWarmSignerFrame(context.key) && walletSessionState(context.key).status === 'ready')
|
|
4833
|
+
return 'ready';
|
|
4834
|
+
const { url, origin } = context;
|
|
4835
|
+
const authorization = await fetchActionAuthorization('createWallet', context);
|
|
4836
|
+
const frameOnly = () => Promise.reject(new SignerFrameUnavailable());
|
|
4837
|
+
const exchange = (probeOnly) => ({
|
|
4838
|
+
context: context.key, assertCurrent: context.assertCurrent,
|
|
4839
|
+
request: Object.assign({ type: 'bounded:turnkey:session', requestId: `tksession_${Date.now()}_${++requestSeq}`, authorization }, (probeOnly ? { probeOnly: true } : {})),
|
|
4840
|
+
onResult: (d) => d.ok ? { done: true, value: d } : { error: String(d.error || 'The signing session could not be established') },
|
|
4841
|
+
});
|
|
4842
|
+
const probed = await runWidget(url, origin, Object.assign(Object.assign({}, exchange(true)), { silent: true, ceilingMs: SESSION_PROBE_MS }), frameOnly)
|
|
4843
|
+
.catch(() => null);
|
|
4844
|
+
if (!probed)
|
|
4845
|
+
return 'ready';
|
|
4846
|
+
let result = probed;
|
|
4847
|
+
if (result.ready !== true) {
|
|
4848
|
+
try {
|
|
4849
|
+
result = await runWidget(url, origin, exchange(false), frameOnly);
|
|
4850
|
+
}
|
|
4851
|
+
catch (error) {
|
|
4852
|
+
if (error instanceof SignerFrameUnavailable)
|
|
4853
|
+
return 'ready';
|
|
4854
|
+
throw error;
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
setWalletSessionState(context.key, { status: 'ready', expiresAt: Number(result.signingSessionExpiresAt) });
|
|
4858
|
+
return result.established === true ? 'established' : 'ready';
|
|
4859
|
+
}
|
|
4782
4860
|
/**
|
|
4783
4861
|
* Open the Bounded Turnkey approval card and sign `message` (raw bytes) with the
|
|
4784
4862
|
* user's Turnkey wallet, resolving with the ed25519 signature and wallet address.
|
|
@@ -4815,7 +4893,7 @@ async function signSolanaMessageViaTurnkey(message) {
|
|
|
4815
4893
|
// A top-level popup keeps its signing session in the signer origin's own storage, which the
|
|
4816
4894
|
// warm in-app frame (a partitioned context) cannot see, so it says nothing about that frame.
|
|
4817
4895
|
if (transport !== 'popup')
|
|
4818
|
-
setWalletSessionState(context.key, { expiresAt: Number(d.signingSessionExpiresAt) });
|
|
4896
|
+
setWalletSessionState(context.key, { status: 'ready', expiresAt: Number(d.signingSessionExpiresAt) });
|
|
4819
4897
|
return { done: true, value: { signature: fromHex(d.signatureHex), address: d.address, subOrgId: String(d.subOrgId || '') } };
|
|
4820
4898
|
}
|
|
4821
4899
|
// The hosted signer refuses a cross-app signature inside a frame. Never retry it from here:
|
|
@@ -4931,6 +5009,7 @@ async function signAndSubmitTransactionWithTurnkey(transaction, feePayer) {
|
|
|
4931
5009
|
var turnkeySignerBridge = /*#__PURE__*/Object.freeze({
|
|
4932
5010
|
__proto__: null,
|
|
4933
5011
|
clearTurnkeySigningSession: clearTurnkeySigningSession,
|
|
5012
|
+
ensureTurnkeySigningSession: ensureTurnkeySigningSession,
|
|
4934
5013
|
hasTurnkeyWallet: hasTurnkeyWallet,
|
|
4935
5014
|
signAndSubmitTransactionWithTurnkey: signAndSubmitTransactionWithTurnkey,
|
|
4936
5015
|
signMessageWithTurnkey: signMessageWithTurnkey,
|
|
@@ -5010,6 +5089,11 @@ const oidcProviderSingleton = {
|
|
|
5010
5089
|
throw new Error(OIDC_NO_WALLET);
|
|
5011
5090
|
return signTransactionV1WithTurnkey(transaction);
|
|
5012
5091
|
},
|
|
5092
|
+
async prepareToSign() {
|
|
5093
|
+
if (!hasTurnkeyWallet())
|
|
5094
|
+
throw new Error(OIDC_NO_WALLET);
|
|
5095
|
+
return ensureTurnkeySigningSession();
|
|
5096
|
+
},
|
|
5013
5097
|
supportedTransactionVersions() {
|
|
5014
5098
|
return hasTurnkeyWallet() ? ['legacy', 0, 1] : ['legacy', 0];
|
|
5015
5099
|
},
|
|
@@ -6065,7 +6149,7 @@ async function getAuthProvider(config, fromStorage = false) {
|
|
|
6065
6149
|
// manager as legacy email sessions. Human login should be started
|
|
6066
6150
|
// with loginWithRedirect(); this provider is kept as the restore and
|
|
6067
6151
|
// logout surface for those sessions.
|
|
6068
|
-
currentAuthProvider = new (await import('./email-auth-provider-
|
|
6152
|
+
currentAuthProvider = new (await import('./email-auth-provider-DOI-4lPC.mjs')).EmailAuthProvider();
|
|
6069
6153
|
break;
|
|
6070
6154
|
case "phantom": {
|
|
6071
6155
|
// First-class Solana WALLET LOGIN (the poof/TaroBase-style "connect
|
|
@@ -6107,7 +6191,7 @@ async function getAuthProvider(config, fromStorage = false) {
|
|
|
6107
6191
|
// (bounded-login-widget.ts), so registration never counts as
|
|
6108
6192
|
// evidence the user has a wallet.
|
|
6109
6193
|
await ensureSolanaMobileWalletRegistered(config, configuredNetwork);
|
|
6110
|
-
const { InjectedWalletProvider } = await import('./injected-wallet-provider-
|
|
6194
|
+
const { InjectedWalletProvider } = await import('./injected-wallet-provider-CQxGVYja.mjs');
|
|
6111
6195
|
currentAuthProvider = new InjectedWalletProvider(resolveInjectedWalletConfig(config), rpcUrl, configuredNetwork);
|
|
6112
6196
|
break;
|
|
6113
6197
|
}
|
|
@@ -6120,7 +6204,7 @@ async function getAuthProvider(config, fromStorage = false) {
|
|
|
6120
6204
|
// Selecting authMethod:'evm-wallet' IS the opt-in — pass evmWalletConfig
|
|
6121
6205
|
// to point at a specific wallet or set chainId/domain.
|
|
6122
6206
|
const evmWalletConfig = ((_a = config.evmWalletConfig) !== null && _a !== void 0 ? _a : {});
|
|
6123
|
-
const { InjectedEvmWalletProvider } = await import('./injected-evm-wallet-provider-
|
|
6207
|
+
const { InjectedEvmWalletProvider } = await import('./injected-evm-wallet-provider-Vw-Puwxh.mjs');
|
|
6124
6208
|
currentAuthProvider = new InjectedEvmWalletProvider(evmWalletConfig);
|
|
6125
6209
|
break;
|
|
6126
6210
|
}
|
|
@@ -6145,7 +6229,7 @@ async function getAuthProvider(config, fromStorage = false) {
|
|
|
6145
6229
|
break;
|
|
6146
6230
|
case "guest":
|
|
6147
6231
|
// Anonymous auth: a device-local ed25519 keypair signs the challenge.
|
|
6148
|
-
currentAuthProvider = new (await import('./guest-auth-provider-
|
|
6232
|
+
currentAuthProvider = new (await import('./guest-auth-provider-ZOBNFoeC.mjs')).GuestAuthProvider();
|
|
6149
6233
|
break;
|
|
6150
6234
|
}
|
|
6151
6235
|
if (!currentAuthProvider) {
|
|
@@ -6207,7 +6291,7 @@ async function signInAnonymously() {
|
|
|
6207
6291
|
// Lazy-load the guest provider so its ed25519/web3 dependencies stay out of
|
|
6208
6292
|
// the main bundle for data-only apps. Specifier is a static string literal
|
|
6209
6293
|
// so bundle-splitting can see it.
|
|
6210
|
-
const provider = new (await import('./guest-auth-provider-
|
|
6294
|
+
const provider = new (await import('./guest-auth-provider-ZOBNFoeC.mjs')).GuestAuthProvider();
|
|
6211
6295
|
setAuthLoading(true); // reflect "signing in…" while the guest keypair session is minted
|
|
6212
6296
|
// adoptSessionProvider awaits only getConfig() (already resolved here) and then
|
|
6213
6297
|
// runs every write - provider/method/config/marker/user - in one synchronous
|
|
@@ -6378,7 +6462,7 @@ function ensureSharedWalletLoginReady() {
|
|
|
6378
6462
|
if (!sharedWalletReady) {
|
|
6379
6463
|
sharedWalletReady = (async () => {
|
|
6380
6464
|
await getConfig();
|
|
6381
|
-
await import('./injected-wallet-provider-
|
|
6465
|
+
await import('./injected-wallet-provider-CQxGVYja.mjs');
|
|
6382
6466
|
})().catch((error) => {
|
|
6383
6467
|
sharedWalletReady = null;
|
|
6384
6468
|
throw error;
|
|
@@ -8884,5 +8968,5 @@ class PrivyExpoProvider {
|
|
|
8884
8968
|
}
|
|
8885
8969
|
}
|
|
8886
8970
|
|
|
8887
|
-
export {
|
|
8888
|
-
//# sourceMappingURL=index.native-
|
|
8971
|
+
export { RUN_STATES as $, getAuthLoading as A, waitForAuthReady as B, login as C, logout as D, getAuthProvider as E, signInAnonymously as F, loginWithPrivy as G, loginWithRedirect as H, completeLoginFromRedirect as I, getLoginReturnError as J, loginWithPopup as K, useAuth as L, useQuery as M, useBuildRun as N, apps as O, getIdToken as P, onramp as Q, onrampQuote as R, onrampStatus as S, setPlatform as T, OffchainAuthProvider as U, PrivyExpoProvider as V, builds as W, BuildsApiError as X, mediaAgentTools as Y, NON_TERMINAL_STATES as Z, TERMINAL_STATES as _, signMessageWithTurnkey as a, PARK_REASONS as a0, FAILURE_REASONS as a1, BUILD_REVIEW_CAPABILITY_SCHEMA as a2, BUILD_REVIEW_CAPABILITY_REFRESH_SCHEMA as a3, BUILD_DELEGATED_REVIEW_CAPABILITY_SCHEMA as a4, signTransactionWithTurnkey as b, signTransactionV1WithTurnkey as c, signAndSubmitTransactionWithTurnkey as d, ensureTurnkeySigningSession as e, bs58 as f, getPlatform as g, hasTurnkeyWallet as h, getWallets as i, solanaMobileWalletLeavesPage as j, solanaMobileWalletAnswersSignInFromCache as k, isSolanaMobileWallet as l, setAuthLoading as m, normalizeSolanaRpcUrl as n, bufferExports as o, setStoredAuthMethod as p, confirmAndCheckTransaction as q, resolveSolanaWalletStandardChain as r, setCurrentUser as s, transactionHasSignature as t, resolveSolanaRpcUrl as u, init as v, walletStandardFeatureName as w, getCurrentUser as x, onAuthStateChanged as y, onAuthLoadingChanged as z };
|
|
8972
|
+
//# sourceMappingURL=index.native-B4yI0BqT.mjs.map
|