@account-kit/react-native-signer 4.60.0 → 4.61.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/lib/commonjs/client.js +104 -4
- package/lib/commonjs/client.js.map +1 -1
- package/lib/module/client.js +104 -5
- package/lib/module/client.js.map +1 -1
- package/lib/typescript/commonjs/src/client.d.ts +13 -2
- package/lib/typescript/commonjs/src/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/signer.d.ts +1 -1
- package/lib/typescript/module/src/client.d.ts +13 -2
- package/lib/typescript/module/src/client.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/signer.d.ts +1 -1
- package/package.json +7 -5
- package/src/client.ts +138 -5
- package/src/index.tsx +1 -0
package/lib/commonjs/client.js
CHANGED
|
@@ -12,6 +12,8 @@ var _uuid = require("uuid");
|
|
|
12
12
|
var _signer = require("@account-kit/signer");
|
|
13
13
|
var _reactNativeInappbrowserReborn = require("react-native-inappbrowser-reborn");
|
|
14
14
|
var _zod = require("zod");
|
|
15
|
+
var _crypto = require("@turnkey/crypto");
|
|
16
|
+
var _viem = require("viem");
|
|
15
17
|
var _errors = require("./errors.js");
|
|
16
18
|
var _NativeTEKStamper = _interopRequireDefault(require("./NativeTEKStamper.js"));
|
|
17
19
|
var _parseUrlParams = require("./utils/parseUrlParams.js");
|
|
@@ -19,8 +21,6 @@ var _parseMfaError = require("./utils/parseMfaError.js");
|
|
|
19
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
22
|
/* eslint-disable import/extensions */
|
|
21
23
|
|
|
22
|
-
/* eslint-disable import/extensions */
|
|
23
|
-
|
|
24
24
|
const RNSignerClientParamsSchema = exports.RNSignerClientParamsSchema = _zod.z.object({
|
|
25
25
|
connection: _zod.z.custom(),
|
|
26
26
|
rootOrgId: _zod.z.string().optional(),
|
|
@@ -198,8 +198,108 @@ class RNSignerClient extends _signer.BaseSignerClient {
|
|
|
198
198
|
this.stamper.clear();
|
|
199
199
|
await this.stamper.init();
|
|
200
200
|
}
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Exports the wallet and returns the decrypted private key or seed phrase.
|
|
204
|
+
*
|
|
205
|
+
* @param {ExportWalletParams} params - Export parameters
|
|
206
|
+
* @returns {Promise<string>} The decrypted private key or seed phrase
|
|
207
|
+
* @throws {Error} If the user is not authenticated or export fails
|
|
208
|
+
*/
|
|
209
|
+
async exportWallet(params) {
|
|
210
|
+
if (!this.user) {
|
|
211
|
+
throw new Error("User must be authenticated to export wallet");
|
|
212
|
+
}
|
|
213
|
+
const exportAs = params?.exportAs || "PRIVATE_KEY";
|
|
214
|
+
|
|
215
|
+
// Step 1: Generate a P256 key pair for encryption
|
|
216
|
+
const embeddedKey = (0, _crypto.generateP256KeyPair)();
|
|
217
|
+
try {
|
|
218
|
+
let exportBundle;
|
|
219
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
220
|
+
// Step 2a: Export as private key
|
|
221
|
+
const {
|
|
222
|
+
activity
|
|
223
|
+
} = await this.turnkeyClient.exportWalletAccount({
|
|
224
|
+
organizationId: this.user.orgId,
|
|
225
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET_ACCOUNT",
|
|
226
|
+
timestampMs: Date.now().toString(),
|
|
227
|
+
parameters: {
|
|
228
|
+
address: this.user.address,
|
|
229
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
const result = await this.pollActivityCompletion(activity, this.user.orgId, "exportWalletAccountResult");
|
|
233
|
+
if (!result.exportBundle) {
|
|
234
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
235
|
+
}
|
|
236
|
+
exportBundle = result.exportBundle;
|
|
237
|
+
} else {
|
|
238
|
+
// Step 2b: Export as seed phrase (need to find the wallet first)
|
|
239
|
+
const {
|
|
240
|
+
wallets
|
|
241
|
+
} = await this.turnkeyClient.getWallets({
|
|
242
|
+
organizationId: this.user.orgId
|
|
243
|
+
});
|
|
244
|
+
const walletAccountResponses = await Promise.all(wallets.map(({
|
|
245
|
+
walletId
|
|
246
|
+
}) => this.turnkeyClient.getWalletAccounts({
|
|
247
|
+
organizationId: this.user.orgId,
|
|
248
|
+
walletId
|
|
249
|
+
})));
|
|
250
|
+
const walletAccounts = walletAccountResponses.flatMap(x => x.accounts);
|
|
251
|
+
const walletAccount = walletAccounts.find(x => x.address.toLowerCase() === this.user.address.toLowerCase());
|
|
252
|
+
if (!walletAccount) {
|
|
253
|
+
throw new Error("Could not find wallet account");
|
|
254
|
+
}
|
|
255
|
+
const {
|
|
256
|
+
activity
|
|
257
|
+
} = await this.turnkeyClient.exportWallet({
|
|
258
|
+
organizationId: this.user.orgId,
|
|
259
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET",
|
|
260
|
+
timestampMs: Date.now().toString(),
|
|
261
|
+
parameters: {
|
|
262
|
+
walletId: walletAccount.walletId,
|
|
263
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
const result = await this.pollActivityCompletion(activity, this.user.orgId, "exportWalletResult");
|
|
267
|
+
if (!result.exportBundle) {
|
|
268
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
269
|
+
}
|
|
270
|
+
exportBundle = result.exportBundle;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Step 3: Parse the export bundle and decrypt using HPKE
|
|
274
|
+
// The export bundle is a JSON string containing version, data, etc.
|
|
275
|
+
const bundleJson = JSON.parse(exportBundle);
|
|
276
|
+
|
|
277
|
+
// The data field contains another JSON string that's hex-encoded
|
|
278
|
+
const innerDataHex = bundleJson.data;
|
|
279
|
+
const innerDataJson = JSON.parse(Buffer.from(innerDataHex, "hex").toString());
|
|
280
|
+
|
|
281
|
+
// Extract the encapped public key and ciphertext from the inner data
|
|
282
|
+
const encappedPublicKeyHex = innerDataJson.encappedPublic;
|
|
283
|
+
const ciphertextHex = innerDataJson.ciphertext;
|
|
284
|
+
const encappedKeyBuf = Buffer.from(encappedPublicKeyHex, "hex");
|
|
285
|
+
const ciphertextBuf = Buffer.from(ciphertextHex, "hex");
|
|
286
|
+
|
|
287
|
+
// Decrypt the data using HPKE
|
|
288
|
+
const decryptedData = (0, _crypto.hpkeDecrypt)({
|
|
289
|
+
ciphertextBuf: ciphertextBuf,
|
|
290
|
+
encappedKeyBuf: encappedKeyBuf,
|
|
291
|
+
receiverPriv: embeddedKey.privateKey
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
// Step 4: Process the decrypted data based on export type
|
|
295
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
296
|
+
return (0, _viem.toHex)(decryptedData);
|
|
297
|
+
} else {
|
|
298
|
+
return new TextDecoder().decode(decryptedData);
|
|
299
|
+
}
|
|
300
|
+
} finally {
|
|
301
|
+
// No cleanup needed - key is only in memory
|
|
302
|
+
}
|
|
203
303
|
}
|
|
204
304
|
targetPublicKey() {
|
|
205
305
|
return this.stamper.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_reactNativePasskeyStamper","_uuid","_signer","_reactNativeInappbrowserReborn","_zod","_errors","_NativeTEKStamper","_interopRequireDefault","_parseUrlParams","_parseMfaError","e","__esModule","default","RNSignerClientParamsSchema","exports","z","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","rpId","RNSignerClient","BaseSignerClient","stamper","NativeTEKStamper","validAuthenticatingTypes","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","response","request","targetPublicKey","credentialBundle","mfaRequired","bundle","status","encryptedPayload","multiFactors","Error","initEmailAuth","email","emailMode","error","parseMfaError","MfaRequiredError","initSmsAuth","phone","submitJwt","jwt","authProvider","expirationSeconds","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","accessToken","connectedEventName","oauthWithRedirect","InAppBrowser","isAvailable","InAppBrowserUnavailableError","oauthParams","turnkeyPublicKey","oauthConfig","getOauthConfig","providerUrl","getOauthProviderUrl","usesRelativeUrl","redirectUrl","res","openAuth","url","OauthFailedError","authResult","parseSearchParams","isSignup","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","_params","getWebAuthnAttestation","options","userDetails","username","authenticatorUserId","getAuthenticatorUserId","requireRpId","authenticatorParams","createPasskey","rp","id","name","displayName","uuidStringify","bufferSourceToUint8Array","authenticatorName","attestation","challenge","nonce","getOauthNonce","initSessionStamper","initWebauthnStamper","setStamper","PasskeyStamper","allowCredentials","credentialId","stringId","uuidValidate","uuidVersion","uuidParse","uuidv4","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAIA,IAAAC,0BAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAF,OAAA;AAOA,IAAAG,OAAA,GAAAH,OAAA;AAmBA,IAAAI,8BAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAAsD,SAAAQ,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA1CtD;;AAKA;;AAuCO,MAAMG,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,MAAC,CAACC,MAAM,CAAC;EACjDC,UAAU,EAAEF,MAAC,CAACG,MAAM,CAAmB,CAAC;EACxCC,SAAS,EAAEJ,MAAC,CAACK,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAChCC,gBAAgB,EAAEP,MAAC,CAChBK,MAAM,CAAC,CAAC,CACRC,QAAQ,CAAC,CAAC,CACVT,OAAO,CAAC,qCAAqC,CAAC;EACjDW,IAAI,EAAER,MAAC,CAACK,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC5B,CAAC,CAAC;AAIF;AACO,MAAMG,cAAc,SAASC,wBAAgB,CAAY;EACtDC,OAAO,GAAGC,yBAAgB;EAG1BC,wBAAwB,GAA0C,CACxE,OAAO,EACP,KAAK,EACL,OAAO,CACR;EAEDC,WAAWA,CAACC,MAA4B,EAAE;IACxC,MAAM;MAAEb,UAAU;MAAEE,SAAS;MAAEG,gBAAgB;MAAEC;IAAK,CAAC,GACrDV,0BAA0B,CAACkB,KAAK,CAACD,MAAM,CAAC;IAE1C,KAAK,CAAC;MACJJ,OAAO,EAAEC,yBAAgB;MACzBR,SAAS,EAAEA,SAAS,IAAI,sCAAsC;MAC9DF;IACF,CAAC,CAAC;IAEF,IAAI,CAACK,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAeS,aAAaA,CAC1BC,IAAwC,EACR;IAChC,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAY,CAAC,CAAC;IAC/D,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAE3C,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,OAAO,CAAC,SAAS,EAAE;MAC7C,GAAGP,IAAI;MACPQ,eAAe,EAAEJ;IACnB,CAAC,CAAC;IAEF,IAAI,kBAAkB,IAAIE,QAAQ,IAAIA,QAAQ,CAACG,gBAAgB,EAAE;MAC/D,OAAO;QACLC,WAAW,EAAE,KAAK;QAClBC,MAAM,EAAEL,QAAQ,CAACG;MACnB,CAAC;IACH;;IAEA;IACA,IACEH,QAAQ,CAACM,MAAM,KAAK,cAAc,IAClCN,QAAQ,CAACO,gBAAgB,IACzBP,QAAQ,CAACQ,YAAY,EACrB;MACA,OAAO;QACLJ,WAAW,EAAE,IAAI;QACjBG,gBAAgB,EAAEP,QAAQ,CAACO,gBAAgB;QAC3CC,YAAY,EAAER,QAAQ,CAACQ;MACzB,CAAC;IACH;;IAEA;IACA,MAAM,IAAIC,KAAK,CACb,mEACF,CAAC;EACH;EAEA,MAAeC,aAAaA,CAC1BnB,MAAgD,EACwB;IACxE,IAAI,CAACI,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3D,MAAMK,eAAe,GAAG,MAAM,IAAI,CAACf,OAAO,CAACY,IAAI,CAAC,CAAC;IAEjD,IAAI;MACF,OAAO,MAAM,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE;QACpCU,KAAK,EAAEpB,MAAM,CAACoB,KAAK;QACnBC,SAAS,EAAErB,MAAM,CAACqB,SAAS;QAC3BV,eAAe;QACfM,YAAY,EAAEjB,MAAM,CAACiB;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd,MAAML,YAAY,GAAG,IAAAM,4BAAa,EAACD,KAAK,CAAC;;MAEzC;MACA;MACA,IAAIL,YAAY,EAAE;QAChB,MAAM,IAAIO,wBAAgB,CAACP,YAAY,CAAC;MAC1C;MACA,MAAMK,KAAK;IACb;EACF;EAEA,MAAeG,WAAWA,CACxBzB,MAA8C,EACF;IAC5C,IAAI,CAACI,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC,CAAC;IACzD,MAAM;MAAEoB;IAAM,CAAC,GAAG1B,MAAM;IACxB,MAAMW,eAAe,GAAG,MAAM,IAAI,CAACf,OAAO,CAACY,IAAI,CAAC,CAAC;IAEjD,OAAO,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE;MAC9BgB,KAAK;MACLf;IACF,CAAC,CAAC;EACJ;EAEA,MAAegB,SAASA,CACtBxB,IAAwC,EAClB;IACtB,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAC;IAEhE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,CAACE,OAAO,CAAC,cAAc,EAAE;MAClCkB,GAAG,EAAEzB,IAAI,CAACyB,GAAG;MACbjB,eAAe,EAAEJ,SAAS;MAC1BsB,YAAY,EAAE1B,IAAI,CAAC0B,YAAY;MAC/BC,iBAAiB,EAAE3B,IAAI,CAAC2B;IAC1B,CAAC,CAAC;EACJ;EAEA,MAAeC,sBAAsBA,CAAC/B,MAOrC,EAAiB;IAChB,IAAI,CAAC,IAAI,CAACF,wBAAwB,CAACkC,QAAQ,CAAChC,MAAM,CAACiC,kBAAkB,CAAC,EAAE;MACtE,MAAM,IAAIf,KAAK,CAAC,iCAAiC,CAAC;IACpD;IAEA,IAAI,CAACd,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MACvCC,IAAI,EAAEN,MAAM,CAACiC;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,CAACrC,OAAO,CAACY,IAAI,CAAC,CAAC;IAEzB,MAAM0B,MAAM,GAAG,MAAM,IAAI,CAACtC,OAAO,CAACuC,sBAAsB,CAACnC,MAAM,CAACc,MAAM,CAAC;IAEvE,IAAI,CAACoB,MAAM,EAAE;MACX,MAAM,IAAIhB,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,MAAMkB,IAAI,GAAG,MAAM,IAAI,CAACC,MAAM,CAC5BrC,MAAM,CAACsC,KAAK,EACZtC,MAAM,CAACuC,OAAO,EACdvC,MAAM,CAACwC,WACT,CAAC;IAED,IAAI,CAACpC,YAAY,CAACC,IAAI,CAACL,MAAM,CAACyC,kBAAkB,EAAEL,IAAI,EAAEpC,MAAM,CAACc,MAAM,CAAC;IACtE,OAAOsB,IAAI;EACb;EACSM,iBAAiB,GAAG,MAC3BvC,IAAgD,IAC9B;IAClB;IACA,IAAI,EAAE,MAAMwC,2CAAY,CAACC,WAAW,CAAC,CAAC,CAAC,EAAE;MACvC,MAAM,IAAIC,oCAA4B,CAAC,CAAC;IAC1C;IAEA,IAAI,CAACzC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAE3D,MAAMwC,WAAW,GAAG3C,IAAI;IACxB,MAAM4C,gBAAgB,GAAG,MAAM,IAAI,CAACnD,OAAO,CAACY,IAAI,CAAC,CAAC;IAClD,MAAMhB,gBAAgB,GAAG,IAAI,CAACA,gBAAgB;IAC9C,MAAMwD,WAAW,GAAG,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;IAC/C,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC;MACjDL,WAAW;MACXC,gBAAgB;MAChBvD,gBAAgB;MAChBwD,WAAW;MACXI,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,MAAMC,WAAW,GAAGlD,IAAI,CAACkD,WAAW;IACpC,MAAMC,GAAG,GAAG,MAAMX,2CAAY,CAACY,QAAQ,CAACL,WAAW,EAAEG,WAAW,CAAC;IAEjE,IAAIC,GAAG,CAAChD,IAAI,KAAK,SAAS,IAAI,CAACgD,GAAG,CAACE,GAAG,EAAE;MACtC,MAAM,IAAIC,wBAAgB,CAAC,0CAA0C,CAAC;IACxE;IAEA,MAAMC,UAAU,GAAG,IAAAC,iCAAiB,EAACL,GAAG,CAACE,GAAG,CAAC;IAC7C,MAAM1C,MAAM,GAAG4C,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IACjD,MAAMpB,KAAK,GAAGoB,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAChD,MAAMnB,OAAO,GAAGmB,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE;IACpD,MAAMlB,WAAW,GAAGkB,UAAU,CAAC,sBAAsB,CAAC;IACtD,MAAME,QAAQ,GAAGF,UAAU,CAAC,mBAAmB,CAAC;IAChD,MAAMpC,KAAK,GAAGoC,UAAU,CAAC,eAAe,CAAC;IAEzC,IAAIpC,KAAK,EAAE;MACT,MAAM,IAAImC,wBAAgB,CAACnC,KAAK,CAAC;IACnC;IAEA,IAAIR,MAAM,IAAIwB,KAAK,IAAIC,OAAO,EAAE;MAC9B,MAAMH,IAAI,GAAG,MAAM,IAAI,CAACL,sBAAsB,CAAC;QAC7CjB,MAAM;QACNwB,KAAK;QACLG,kBAAkB,EAAE,gBAAgB;QACpCF,OAAO;QACPC,WAAW;QACXP,kBAAkB,EAAE;MACtB,CAAC,CAAC;MAEF,IAAI2B,QAAQ,EAAE;QACZ,IAAI,CAACxD,YAAY,CAACC,IAAI,CAAC,eAAe,CAAC;MACzC;MAEA,OAAO+B,IAAI;IACb;;IAEA;IACA,MAAM,IAAIqB,wBAAgB,CAAC,0CAA0C,CAAC;EACxE,CAAC;EAEQI,cAAcA,CACrBC,KAA8C,EAC/B;IACf,MAAM,IAAI5C,KAAK,CAAC,wBAAwB,CAAC;EAC3C;EAEA,MAAe6C,UAAUA,CAAA,EAAkB;IACzC,IAAI,CAAC3B,IAAI,GAAG4B,SAAS;IACrB,IAAI,CAACpE,OAAO,CAACqE,KAAK,CAAC,CAAC;IACpB,MAAM,IAAI,CAACrE,OAAO,CAACY,IAAI,CAAC,CAAC;EAC3B;EACS0D,YAAYA,CAACC,OAAgB,EAAoB;IACxD,MAAM,IAAIjD,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EAESP,eAAeA,CAAA,EAAoB;IAC1C,OAAO,IAAI,CAACf,OAAO,CAACY,IAAI,CAAC,CAAC;EAC5B;EAEmB4D,sBAAsB,GAAG,MAAAA,CAC1CC,OAA2C,EAC3CC,WAAiC,GAAG;IAClCC,QAAQ,EAAE,IAAI,CAACnC,IAAI,EAAEhB,KAAK,IAAI;EAChC,CAAC,KAC4D;IAC7D,MAAM;MAAEmD;IAAS,CAAC,GAAGD,WAAW;IAChC,MAAME,mBAAmB,GAAGC,sBAAsB,CAACJ,OAAO,CAAC;IAC3D,MAAM5E,IAAI,GAAG,IAAI,CAACiF,WAAW,CAACL,OAAO,CAAC;IACtC,MAAMM,mBAAmB,GAAG,MAAM,IAAAC,wCAAa,EAAC;MAC9CC,EAAE,EAAE;QACFC,EAAE,EAAErF,IAAI;QACRsF,IAAI,EAAEtF,IAAI;QACV,GAAG4E,OAAO,EAAE9D,SAAS,EAAEsE;MACzB,CAAC;MACDzC,IAAI,EAAE;QACJ2C,IAAI,EAAER,QAAQ;QACdS,WAAW,EAAET,QAAQ;QACrB,GAAGF,OAAO,EAAE9D,SAAS,EAAE6B,IAAI;QAC3B0C,EAAE,EAAE,IAAAG,eAAa,EAACC,wBAAwB,CAACV,mBAAmB,CAAC;MACjE,CAAC;MACDW,iBAAiB,EAAE;IACrB,CAAC,CAAC;IACF,OAAO;MACLC,WAAW,EAAET,mBAAmB,CAACS,WAAW;MAC5CC,SAAS,EAAEV,mBAAmB,CAACU,SAAS;MACxCb,mBAAmB;MACnB/E;IACF,CAAC;EACH,CAAC;EAEkBwD,cAAc,GAAG,MAAAA,CAAA,KAAkC;IACpE,MAAM1C,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAE3C,MAAM8E,KAAK,GAAG,IAAI,CAACC,aAAa,CAAChF,SAAS,CAAC;IAC3C,OAAO,IAAI,CAACG,OAAO,CAAC,mBAAmB,EAAE;MAAE4E;IAAM,CAAC,CAAC;EACrD,CAAC;EAED,MAAyBE,kBAAkBA,CAAA,EAAoB;IAC7D,OAAO,IAAI,CAAC5F,OAAO,CAACY,IAAI,CAAC,CAAC;EAC5B;EAEA,MAAyBiF,mBAAmBA,CAC1CrD,IAAsB,GAAG,IAAI,CAACA,IAAI,EAClCiC,OAA2C,EAC5B;IACf,MAAM5E,IAAI,GAAG,IAAI,CAACiF,WAAW,CAACL,OAAO,CAAC;IACtC,IAAI,CAACqB,UAAU,CACb,IAAIC,yCAAc,CAAC;MACjBlG,IAAI;MACJmG,gBAAgB,EAAExD,IAAI,EAAEyD,YAAY,GAChC,CACE;QACEf,EAAE,EAAE1C,IAAI,CAACyD,YAAY;QACrBvF,IAAI,EAAE;MACR,CAAC,CACF,GACD0D;IACN,CAAC,CACH,CAAC;EACH;EAEQU,WAAWA,CAACL,OAA2C,EAAU;IACvE,MAAM5E,IAAI,GAAG4E,OAAO,EAAE9D,SAAS,EAAEsE,EAAE,EAAEC,EAAE,IAAI,IAAI,CAACrF,IAAI;IACpD,IAAI,CAACA,IAAI,EAAE;MACT,MAAM,IAAIyB,KAAK,CACb,mEACF,CAAC;IACH;IACA,OAAOzB,IAAI;EACb;AACF;AAACT,OAAA,CAAAU,cAAA,GAAAA,cAAA;AAED,SAAS+E,sBAAsBA,CAC7BJ,OAA2C,EAC7B;EACd;EACA,MAAMS,EAAE,GAAGT,OAAO,EAAE9D,SAAS,EAAE6B,IAAI,EAAE0C,EAAE;EACvC,IAAIA,EAAE,EAAE;IACN,MAAMgB,QAAQ,GAAG,IAAAb,eAAa,EAACH,EAAgB,CAAC;IAChD,IAAI,CAAC,IAAAiB,cAAY,EAACD,QAAQ,CAAC,IAAI,IAAAE,aAAW,EAACF,QAAQ,CAAC,KAAK,CAAC,EAAE;MAC1D,MAAM,IAAI5E,KAAK,CAAC,qDAAqD,CAAC;IACxE;IACA,OAAO4D,EAAE;EACX;EACA,OAAO,IAAAmB,WAAS,EAAC,IAAAC,QAAM,EAAC,CAAC,CAAC;AAC5B;AAEA,SAAShB,wBAAwBA,CAACiB,YAA0B,EAAc;EACxE,IAAIA,YAAY,YAAYC,UAAU,EAAE;IACtC,OAAOD,YAAY;EACrB;EACA,IAAIA,YAAY,YAAYE,WAAW,EAAE;IACvC,OAAO,IAAID,UAAU,CAACD,YAAY,CAAC;EACrC;EACA,IAAIE,WAAW,CAACC,MAAM,CAACH,YAAY,CAAC,EAAE;IACpC;IACA,OAAO,IAAIC,UAAU,CACnBD,YAAY,CAACI,MAAM,EACnBJ,YAAY,CAACK,UAAU,EACvBL,YAAY,CAACM,UACf,CAAC;EACH;EACA,MAAM,IAAIC,SAAS,CACjB,0DACF,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require","_reactNativePasskeyStamper","_uuid","_signer","_reactNativeInappbrowserReborn","_zod","_crypto","_viem","_errors","_NativeTEKStamper","_interopRequireDefault","_parseUrlParams","_parseMfaError","e","__esModule","default","RNSignerClientParamsSchema","exports","z","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","rpId","RNSignerClient","BaseSignerClient","stamper","NativeTEKStamper","validAuthenticatingTypes","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","response","request","targetPublicKey","credentialBundle","mfaRequired","bundle","status","encryptedPayload","multiFactors","Error","initEmailAuth","email","emailMode","error","parseMfaError","MfaRequiredError","initSmsAuth","phone","submitJwt","jwt","authProvider","expirationSeconds","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","accessToken","connectedEventName","oauthWithRedirect","InAppBrowser","isAvailable","InAppBrowserUnavailableError","oauthParams","turnkeyPublicKey","oauthConfig","getOauthConfig","providerUrl","getOauthProviderUrl","usesRelativeUrl","redirectUrl","res","openAuth","url","OauthFailedError","authResult","parseSearchParams","isSignup","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","exportAs","embeddedKey","generateP256KeyPair","exportBundle","activity","turnkeyClient","exportWalletAccount","organizationId","timestampMs","Date","now","toString","parameters","address","publicKeyUncompressed","pollActivityCompletion","wallets","getWallets","walletAccountResponses","Promise","all","map","walletId","getWalletAccounts","walletAccounts","flatMap","x","accounts","walletAccount","find","toLowerCase","bundleJson","JSON","innerDataHex","data","innerDataJson","Buffer","from","encappedPublicKeyHex","encappedPublic","ciphertextHex","ciphertext","encappedKeyBuf","ciphertextBuf","decryptedData","hpkeDecrypt","receiverPriv","privateKey","toHex","TextDecoder","decode","getWebAuthnAttestation","options","userDetails","username","authenticatorUserId","getAuthenticatorUserId","requireRpId","authenticatorParams","createPasskey","rp","id","name","displayName","uuidStringify","bufferSourceToUint8Array","authenticatorName","attestation","challenge","nonce","getOauthNonce","initSessionStamper","initWebauthnStamper","setStamper","PasskeyStamper","allowCredentials","credentialId","stringId","uuidValidate","uuidVersion","uuidParse","uuidv4","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/client.js
CHANGED
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
import "react-native-get-random-values";
|
|
5
5
|
import "./utils/buffer-polyfill.js";
|
|
6
6
|
import "./utils/mmkv-localstorage-polyfill.js";
|
|
7
|
-
|
|
8
|
-
/* eslint-disable import/extensions */
|
|
9
|
-
|
|
10
7
|
import { createPasskey, PasskeyStamper } from "@turnkey/react-native-passkey-stamper";
|
|
11
8
|
import { stringify as uuidStringify, parse as uuidParse, v4 as uuidv4, validate as uuidValidate, version as uuidVersion } from "uuid";
|
|
12
9
|
import { BaseSignerClient, OauthFailedError, MfaRequiredError } from "@account-kit/signer";
|
|
13
10
|
import { InAppBrowser } from "react-native-inappbrowser-reborn";
|
|
14
11
|
import { z } from "zod";
|
|
12
|
+
import { generateP256KeyPair, hpkeDecrypt } from "@turnkey/crypto";
|
|
13
|
+
import { toHex } from "viem";
|
|
15
14
|
import { InAppBrowserUnavailableError } from "./errors.js";
|
|
16
15
|
import NativeTEKStamper from "./NativeTEKStamper.js";
|
|
17
16
|
import { parseSearchParams } from "./utils/parseUrlParams.js";
|
|
@@ -193,8 +192,108 @@ export class RNSignerClient extends BaseSignerClient {
|
|
|
193
192
|
this.stamper.clear();
|
|
194
193
|
await this.stamper.init();
|
|
195
194
|
}
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Exports the wallet and returns the decrypted private key or seed phrase.
|
|
198
|
+
*
|
|
199
|
+
* @param {ExportWalletParams} params - Export parameters
|
|
200
|
+
* @returns {Promise<string>} The decrypted private key or seed phrase
|
|
201
|
+
* @throws {Error} If the user is not authenticated or export fails
|
|
202
|
+
*/
|
|
203
|
+
async exportWallet(params) {
|
|
204
|
+
if (!this.user) {
|
|
205
|
+
throw new Error("User must be authenticated to export wallet");
|
|
206
|
+
}
|
|
207
|
+
const exportAs = params?.exportAs || "PRIVATE_KEY";
|
|
208
|
+
|
|
209
|
+
// Step 1: Generate a P256 key pair for encryption
|
|
210
|
+
const embeddedKey = generateP256KeyPair();
|
|
211
|
+
try {
|
|
212
|
+
let exportBundle;
|
|
213
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
214
|
+
// Step 2a: Export as private key
|
|
215
|
+
const {
|
|
216
|
+
activity
|
|
217
|
+
} = await this.turnkeyClient.exportWalletAccount({
|
|
218
|
+
organizationId: this.user.orgId,
|
|
219
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET_ACCOUNT",
|
|
220
|
+
timestampMs: Date.now().toString(),
|
|
221
|
+
parameters: {
|
|
222
|
+
address: this.user.address,
|
|
223
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
const result = await this.pollActivityCompletion(activity, this.user.orgId, "exportWalletAccountResult");
|
|
227
|
+
if (!result.exportBundle) {
|
|
228
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
229
|
+
}
|
|
230
|
+
exportBundle = result.exportBundle;
|
|
231
|
+
} else {
|
|
232
|
+
// Step 2b: Export as seed phrase (need to find the wallet first)
|
|
233
|
+
const {
|
|
234
|
+
wallets
|
|
235
|
+
} = await this.turnkeyClient.getWallets({
|
|
236
|
+
organizationId: this.user.orgId
|
|
237
|
+
});
|
|
238
|
+
const walletAccountResponses = await Promise.all(wallets.map(({
|
|
239
|
+
walletId
|
|
240
|
+
}) => this.turnkeyClient.getWalletAccounts({
|
|
241
|
+
organizationId: this.user.orgId,
|
|
242
|
+
walletId
|
|
243
|
+
})));
|
|
244
|
+
const walletAccounts = walletAccountResponses.flatMap(x => x.accounts);
|
|
245
|
+
const walletAccount = walletAccounts.find(x => x.address.toLowerCase() === this.user.address.toLowerCase());
|
|
246
|
+
if (!walletAccount) {
|
|
247
|
+
throw new Error("Could not find wallet account");
|
|
248
|
+
}
|
|
249
|
+
const {
|
|
250
|
+
activity
|
|
251
|
+
} = await this.turnkeyClient.exportWallet({
|
|
252
|
+
organizationId: this.user.orgId,
|
|
253
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET",
|
|
254
|
+
timestampMs: Date.now().toString(),
|
|
255
|
+
parameters: {
|
|
256
|
+
walletId: walletAccount.walletId,
|
|
257
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
const result = await this.pollActivityCompletion(activity, this.user.orgId, "exportWalletResult");
|
|
261
|
+
if (!result.exportBundle) {
|
|
262
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
263
|
+
}
|
|
264
|
+
exportBundle = result.exportBundle;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Step 3: Parse the export bundle and decrypt using HPKE
|
|
268
|
+
// The export bundle is a JSON string containing version, data, etc.
|
|
269
|
+
const bundleJson = JSON.parse(exportBundle);
|
|
270
|
+
|
|
271
|
+
// The data field contains another JSON string that's hex-encoded
|
|
272
|
+
const innerDataHex = bundleJson.data;
|
|
273
|
+
const innerDataJson = JSON.parse(Buffer.from(innerDataHex, "hex").toString());
|
|
274
|
+
|
|
275
|
+
// Extract the encapped public key and ciphertext from the inner data
|
|
276
|
+
const encappedPublicKeyHex = innerDataJson.encappedPublic;
|
|
277
|
+
const ciphertextHex = innerDataJson.ciphertext;
|
|
278
|
+
const encappedKeyBuf = Buffer.from(encappedPublicKeyHex, "hex");
|
|
279
|
+
const ciphertextBuf = Buffer.from(ciphertextHex, "hex");
|
|
280
|
+
|
|
281
|
+
// Decrypt the data using HPKE
|
|
282
|
+
const decryptedData = hpkeDecrypt({
|
|
283
|
+
ciphertextBuf: ciphertextBuf,
|
|
284
|
+
encappedKeyBuf: encappedKeyBuf,
|
|
285
|
+
receiverPriv: embeddedKey.privateKey
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
// Step 4: Process the decrypted data based on export type
|
|
289
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
290
|
+
return toHex(decryptedData);
|
|
291
|
+
} else {
|
|
292
|
+
return new TextDecoder().decode(decryptedData);
|
|
293
|
+
}
|
|
294
|
+
} finally {
|
|
295
|
+
// No cleanup needed - key is only in memory
|
|
296
|
+
}
|
|
198
297
|
}
|
|
199
298
|
targetPublicKey() {
|
|
200
299
|
return this.stamper.init();
|
package/lib/module/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createPasskey","PasskeyStamper","stringify","uuidStringify","parse","uuidParse","v4","uuidv4","validate","uuidValidate","version","uuidVersion","BaseSignerClient","OauthFailedError","MfaRequiredError","InAppBrowser","z","InAppBrowserUnavailableError","NativeTEKStamper","parseSearchParams","parseMfaError","RNSignerClientParamsSchema","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","default","rpId","RNSignerClient","stamper","validAuthenticatingTypes","constructor","params","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","response","request","targetPublicKey","credentialBundle","mfaRequired","bundle","status","encryptedPayload","multiFactors","Error","initEmailAuth","email","emailMode","error","initSmsAuth","phone","submitJwt","jwt","authProvider","expirationSeconds","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","accessToken","connectedEventName","oauthWithRedirect","isAvailable","oauthParams","turnkeyPublicKey","oauthConfig","getOauthConfig","providerUrl","getOauthProviderUrl","usesRelativeUrl","redirectUrl","res","openAuth","url","authResult","isSignup","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","_params","getWebAuthnAttestation","options","userDetails","username","authenticatorUserId","getAuthenticatorUserId","requireRpId","authenticatorParams","rp","id","name","displayName","bufferSourceToUint8Array","authenticatorName","attestation","challenge","nonce","getOauthNonce","initSessionStamper","initWebauthnStamper","setStamper","allowCredentials","credentialId","stringId","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;AAAA;AACA,OAAO,gCAAgC;AACvC,OAAO,4BAAyB;AAChC,OAAO,uCAAoC;;AAE3C;;AAEA,SACEA,aAAa,EACbC,cAAc,QACT,uCAAuC;AAC9C,SACEC,SAAS,IAAIC,aAAa,EAC1BC,KAAK,IAAIC,SAAS,EAClBC,EAAE,IAAIC,MAAM,EACZC,QAAQ,IAAIC,YAAY,EACxBC,OAAO,IAAIC,WAAW,QACjB,MAAM;AACb,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QAeX,qBAAqB;AAC5B,SAASC,YAAY,QAAQ,kCAAkC;AAC/D,SAASC,CAAC,QAAQ,KAAK;AACvB,SAASC,4BAA4B,QAAQ,aAAU;AACvD,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,SAASC,iBAAiB,QAAQ,2BAAwB;AAC1D,SAASC,aAAa,QAAQ,0BAAuB;AAErD,OAAO,MAAMC,0BAA0B,GAAGL,CAAC,CAACM,MAAM,CAAC;EACjDC,UAAU,EAAEP,CAAC,CAACQ,MAAM,CAAmB,CAAC;EACxCC,SAAS,EAAET,CAAC,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAChCC,gBAAgB,EAAEZ,CAAC,CAChBU,MAAM,CAAC,CAAC,CACRC,QAAQ,CAAC,CAAC,CACVE,OAAO,CAAC,qCAAqC,CAAC;EACjDC,IAAI,EAAEd,CAAC,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC5B,CAAC,CAAC;AAIF;AACA,OAAO,MAAMI,cAAc,SAASnB,gBAAgB,CAAY;EACtDoB,OAAO,GAAGd,gBAAgB;EAG1Be,wBAAwB,GAA0C,CACxE,OAAO,EACP,KAAK,EACL,OAAO,CACR;EAEDC,WAAWA,CAACC,MAA4B,EAAE;IACxC,MAAM;MAAEZ,UAAU;MAAEE,SAAS;MAAEG,gBAAgB;MAAEE;IAAK,CAAC,GACrDT,0BAA0B,CAACjB,KAAK,CAAC+B,MAAM,CAAC;IAE1C,KAAK,CAAC;MACJH,OAAO,EAAEd,gBAAgB;MACzBO,SAAS,EAAEA,SAAS,IAAI,sCAAsC;MAC9DF;IACF,CAAC,CAAC;IAEF,IAAI,CAACK,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACE,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAeM,aAAaA,CAC1BC,IAAwC,EACR;IAChC,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAY,CAAC,CAAC;IAC/D,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC;IAE3C,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,OAAO,CAAC,SAAS,EAAE;MAC7C,GAAGP,IAAI;MACPQ,eAAe,EAAEJ;IACnB,CAAC,CAAC;IAEF,IAAI,kBAAkB,IAAIE,QAAQ,IAAIA,QAAQ,CAACG,gBAAgB,EAAE;MAC/D,OAAO;QACLC,WAAW,EAAE,KAAK;QAClBC,MAAM,EAAEL,QAAQ,CAACG;MACnB,CAAC;IACH;;IAEA;IACA,IACEH,QAAQ,CAACM,MAAM,KAAK,cAAc,IAClCN,QAAQ,CAACO,gBAAgB,IACzBP,QAAQ,CAACQ,YAAY,EACrB;MACA,OAAO;QACLJ,WAAW,EAAE,IAAI;QACjBG,gBAAgB,EAAEP,QAAQ,CAACO,gBAAgB;QAC3CC,YAAY,EAAER,QAAQ,CAACQ;MACzB,CAAC;IACH;;IAEA;IACA,MAAM,IAAIC,KAAK,CACb,mEACF,CAAC;EACH;EAEA,MAAeC,aAAaA,CAC1BlB,MAAgD,EACwB;IACxE,IAAI,CAACG,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3D,MAAMK,eAAe,GAAG,MAAM,IAAI,CAACb,OAAO,CAACU,IAAI,CAAC,CAAC;IAEjD,IAAI;MACF,OAAO,MAAM,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE;QACpCU,KAAK,EAAEnB,MAAM,CAACmB,KAAK;QACnBC,SAAS,EAAEpB,MAAM,CAACoB,SAAS;QAC3BV,eAAe;QACfM,YAAY,EAAEhB,MAAM,CAACgB;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd,MAAML,YAAY,GAAG/B,aAAa,CAACoC,KAAK,CAAC;;MAEzC;MACA;MACA,IAAIL,YAAY,EAAE;QAChB,MAAM,IAAIrC,gBAAgB,CAACqC,YAAY,CAAC;MAC1C;MACA,MAAMK,KAAK;IACb;EACF;EAEA,MAAeC,WAAWA,CACxBtB,MAA8C,EACF;IAC5C,IAAI,CAACG,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC,CAAC;IACzD,MAAM;MAAEkB;IAAM,CAAC,GAAGvB,MAAM;IACxB,MAAMU,eAAe,GAAG,MAAM,IAAI,CAACb,OAAO,CAACU,IAAI,CAAC,CAAC;IAEjD,OAAO,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE;MAC9Bc,KAAK;MACLb;IACF,CAAC,CAAC;EACJ;EAEA,MAAec,SAASA,CACtBtB,IAAwC,EAClB;IACtB,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAC;IAEhE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,CAACE,OAAO,CAAC,cAAc,EAAE;MAClCgB,GAAG,EAAEvB,IAAI,CAACuB,GAAG;MACbf,eAAe,EAAEJ,SAAS;MAC1BoB,YAAY,EAAExB,IAAI,CAACwB,YAAY;MAC/BC,iBAAiB,EAAEzB,IAAI,CAACyB;IAC1B,CAAC,CAAC;EACJ;EAEA,MAAeC,sBAAsBA,CAAC5B,MAOrC,EAAiB;IAChB,IAAI,CAAC,IAAI,CAACF,wBAAwB,CAAC+B,QAAQ,CAAC7B,MAAM,CAAC8B,kBAAkB,CAAC,EAAE;MACtE,MAAM,IAAIb,KAAK,CAAC,iCAAiC,CAAC;IACpD;IAEA,IAAI,CAACd,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MACvCC,IAAI,EAAEL,MAAM,CAAC8B;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,CAACjC,OAAO,CAACU,IAAI,CAAC,CAAC;IAEzB,MAAMwB,MAAM,GAAG,MAAM,IAAI,CAAClC,OAAO,CAACmC,sBAAsB,CAAChC,MAAM,CAACa,MAAM,CAAC;IAEvE,IAAI,CAACkB,MAAM,EAAE;MACX,MAAM,IAAId,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,MAAMgB,IAAI,GAAG,MAAM,IAAI,CAACC,MAAM,CAC5BlC,MAAM,CAACmC,KAAK,EACZnC,MAAM,CAACoC,OAAO,EACdpC,MAAM,CAACqC,WACT,CAAC;IAED,IAAI,CAAClC,YAAY,CAACC,IAAI,CAACJ,MAAM,CAACsC,kBAAkB,EAAEL,IAAI,EAAEjC,MAAM,CAACa,MAAM,CAAC;IACtE,OAAOoB,IAAI;EACb;EACSM,iBAAiB,GAAG,MAC3BrC,IAAgD,IAC9B;IAClB;IACA,IAAI,EAAE,MAAMtB,YAAY,CAAC4D,WAAW,CAAC,CAAC,CAAC,EAAE;MACvC,MAAM,IAAI1D,4BAA4B,CAAC,CAAC;IAC1C;IAEA,IAAI,CAACqB,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAE3D,MAAMoC,WAAW,GAAGvC,IAAI;IACxB,MAAMwC,gBAAgB,GAAG,MAAM,IAAI,CAAC7C,OAAO,CAACU,IAAI,CAAC,CAAC;IAClD,MAAMd,gBAAgB,GAAG,IAAI,CAACA,gBAAgB;IAC9C,MAAMkD,WAAW,GAAG,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;IAC/C,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC;MACjDL,WAAW;MACXC,gBAAgB;MAChBjD,gBAAgB;MAChBkD,WAAW;MACXI,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,MAAMC,WAAW,GAAG9C,IAAI,CAAC8C,WAAW;IACpC,MAAMC,GAAG,GAAG,MAAMrE,YAAY,CAACsE,QAAQ,CAACL,WAAW,EAAEG,WAAW,CAAC;IAEjE,IAAIC,GAAG,CAAC5C,IAAI,KAAK,SAAS,IAAI,CAAC4C,GAAG,CAACE,GAAG,EAAE;MACtC,MAAM,IAAIzE,gBAAgB,CAAC,0CAA0C,CAAC;IACxE;IAEA,MAAM0E,UAAU,GAAGpE,iBAAiB,CAACiE,GAAG,CAACE,GAAG,CAAC;IAC7C,MAAMtC,MAAM,GAAGuC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IACjD,MAAMjB,KAAK,GAAGiB,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAChD,MAAMhB,OAAO,GAAGgB,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE;IACpD,MAAMf,WAAW,GAAGe,UAAU,CAAC,sBAAsB,CAAC;IACtD,MAAMC,QAAQ,GAAGD,UAAU,CAAC,mBAAmB,CAAC;IAChD,MAAM/B,KAAK,GAAG+B,UAAU,CAAC,eAAe,CAAC;IAEzC,IAAI/B,KAAK,EAAE;MACT,MAAM,IAAI3C,gBAAgB,CAAC2C,KAAK,CAAC;IACnC;IAEA,IAAIR,MAAM,IAAIsB,KAAK,IAAIC,OAAO,EAAE;MAC9B,MAAMH,IAAI,GAAG,MAAM,IAAI,CAACL,sBAAsB,CAAC;QAC7Cf,MAAM;QACNsB,KAAK;QACLG,kBAAkB,EAAE,gBAAgB;QACpCF,OAAO;QACPC,WAAW;QACXP,kBAAkB,EAAE;MACtB,CAAC,CAAC;MAEF,IAAIuB,QAAQ,EAAE;QACZ,IAAI,CAAClD,YAAY,CAACC,IAAI,CAAC,eAAe,CAAC;MACzC;MAEA,OAAO6B,IAAI;IACb;;IAEA;IACA,MAAM,IAAIvD,gBAAgB,CAAC,0CAA0C,CAAC;EACxE,CAAC;EAEQ4E,cAAcA,CACrBC,KAA8C,EAC/B;IACf,MAAM,IAAItC,KAAK,CAAC,wBAAwB,CAAC;EAC3C;EAEA,MAAeuC,UAAUA,CAAA,EAAkB;IACzC,IAAI,CAACvB,IAAI,GAAGwB,SAAS;IACrB,IAAI,CAAC5D,OAAO,CAAC6D,KAAK,CAAC,CAAC;IACpB,MAAM,IAAI,CAAC7D,OAAO,CAACU,IAAI,CAAC,CAAC;EAC3B;EACSoD,YAAYA,CAACC,OAAgB,EAAoB;IACxD,MAAM,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EAESP,eAAeA,CAAA,EAAoB;IAC1C,OAAO,IAAI,CAACb,OAAO,CAACU,IAAI,CAAC,CAAC;EAC5B;EAEmBsD,sBAAsB,GAAG,MAAAA,CAC1CC,OAA2C,EAC3CC,WAAiC,GAAG;IAClCC,QAAQ,EAAE,IAAI,CAAC/B,IAAI,EAAEd,KAAK,IAAI;EAChC,CAAC,KAC4D;IAC7D,MAAM;MAAE6C;IAAS,CAAC,GAAGD,WAAW;IAChC,MAAME,mBAAmB,GAAGC,sBAAsB,CAACJ,OAAO,CAAC;IAC3D,MAAMnE,IAAI,GAAG,IAAI,CAACwE,WAAW,CAACL,OAAO,CAAC;IACtC,MAAMM,mBAAmB,GAAG,MAAMvG,aAAa,CAAC;MAC9CwG,EAAE,EAAE;QACFC,EAAE,EAAE3E,IAAI;QACR4E,IAAI,EAAE5E,IAAI;QACV,GAAGmE,OAAO,EAAExD,SAAS,EAAE+D;MACzB,CAAC;MACDpC,IAAI,EAAE;QACJsC,IAAI,EAAEP,QAAQ;QACdQ,WAAW,EAAER,QAAQ;QACrB,GAAGF,OAAO,EAAExD,SAAS,EAAE2B,IAAI;QAC3BqC,EAAE,EAAEtG,aAAa,CAACyG,wBAAwB,CAACR,mBAAmB,CAAC;MACjE,CAAC;MACDS,iBAAiB,EAAE;IACrB,CAAC,CAAC;IACF,OAAO;MACLC,WAAW,EAAEP,mBAAmB,CAACO,WAAW;MAC5CC,SAAS,EAAER,mBAAmB,CAACQ,SAAS;MACxCX,mBAAmB;MACnBtE;IACF,CAAC;EACH,CAAC;EAEkBiD,cAAc,GAAG,MAAAA,CAAA,KAAkC;IACpE,MAAMtC,SAAS,GAAG,MAAM,IAAI,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC;IAE3C,MAAMsE,KAAK,GAAG,IAAI,CAACC,aAAa,CAACxE,SAAS,CAAC;IAC3C,OAAO,IAAI,CAACG,OAAO,CAAC,mBAAmB,EAAE;MAAEoE;IAAM,CAAC,CAAC;EACrD,CAAC;EAED,MAAyBE,kBAAkBA,CAAA,EAAoB;IAC7D,OAAO,IAAI,CAAClF,OAAO,CAACU,IAAI,CAAC,CAAC;EAC5B;EAEA,MAAyByE,mBAAmBA,CAC1C/C,IAAsB,GAAG,IAAI,CAACA,IAAI,EAClC6B,OAA2C,EAC5B;IACf,MAAMnE,IAAI,GAAG,IAAI,CAACwE,WAAW,CAACL,OAAO,CAAC;IACtC,IAAI,CAACmB,UAAU,CACb,IAAInH,cAAc,CAAC;MACjB6B,IAAI;MACJuF,gBAAgB,EAAEjD,IAAI,EAAEkD,YAAY,GAChC,CACE;QACEb,EAAE,EAAErC,IAAI,CAACkD,YAAY;QACrB9E,IAAI,EAAE;MACR,CAAC,CACF,GACDoD;IACN,CAAC,CACH,CAAC;EACH;EAEQU,WAAWA,CAACL,OAA2C,EAAU;IACvE,MAAMnE,IAAI,GAAGmE,OAAO,EAAExD,SAAS,EAAE+D,EAAE,EAAEC,EAAE,IAAI,IAAI,CAAC3E,IAAI;IACpD,IAAI,CAACA,IAAI,EAAE;MACT,MAAM,IAAIsB,KAAK,CACb,mEACF,CAAC;IACH;IACA,OAAOtB,IAAI;EACb;AACF;AAEA,SAASuE,sBAAsBA,CAC7BJ,OAA2C,EAC7B;EACd;EACA,MAAMQ,EAAE,GAAGR,OAAO,EAAExD,SAAS,EAAE2B,IAAI,EAAEqC,EAAE;EACvC,IAAIA,EAAE,EAAE;IACN,MAAMc,QAAQ,GAAGpH,aAAa,CAACsG,EAAgB,CAAC;IAChD,IAAI,CAAChG,YAAY,CAAC8G,QAAQ,CAAC,IAAI5G,WAAW,CAAC4G,QAAQ,CAAC,KAAK,CAAC,EAAE;MAC1D,MAAM,IAAInE,KAAK,CAAC,qDAAqD,CAAC;IACxE;IACA,OAAOqD,EAAE;EACX;EACA,OAAOpG,SAAS,CAACE,MAAM,CAAC,CAAC,CAAC;AAC5B;AAEA,SAASqG,wBAAwBA,CAACY,YAA0B,EAAc;EACxE,IAAIA,YAAY,YAAYC,UAAU,EAAE;IACtC,OAAOD,YAAY;EACrB;EACA,IAAIA,YAAY,YAAYE,WAAW,EAAE;IACvC,OAAO,IAAID,UAAU,CAACD,YAAY,CAAC;EACrC;EACA,IAAIE,WAAW,CAACC,MAAM,CAACH,YAAY,CAAC,EAAE;IACpC;IACA,OAAO,IAAIC,UAAU,CACnBD,YAAY,CAACI,MAAM,EACnBJ,YAAY,CAACK,UAAU,EACvBL,YAAY,CAACM,UACf,CAAC;EACH;EACA,MAAM,IAAIC,SAAS,CACjB,0DACF,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createPasskey","PasskeyStamper","stringify","uuidStringify","parse","uuidParse","v4","uuidv4","validate","uuidValidate","version","uuidVersion","BaseSignerClient","OauthFailedError","MfaRequiredError","InAppBrowser","z","generateP256KeyPair","hpkeDecrypt","toHex","InAppBrowserUnavailableError","NativeTEKStamper","parseSearchParams","parseMfaError","RNSignerClientParamsSchema","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","default","rpId","RNSignerClient","stamper","validAuthenticatingTypes","constructor","params","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","response","request","targetPublicKey","credentialBundle","mfaRequired","bundle","status","encryptedPayload","multiFactors","Error","initEmailAuth","email","emailMode","error","initSmsAuth","phone","submitJwt","jwt","authProvider","expirationSeconds","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","accessToken","connectedEventName","oauthWithRedirect","isAvailable","oauthParams","turnkeyPublicKey","oauthConfig","getOauthConfig","providerUrl","getOauthProviderUrl","usesRelativeUrl","redirectUrl","res","openAuth","url","authResult","isSignup","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","exportAs","embeddedKey","exportBundle","activity","turnkeyClient","exportWalletAccount","organizationId","timestampMs","Date","now","toString","parameters","address","publicKeyUncompressed","pollActivityCompletion","wallets","getWallets","walletAccountResponses","Promise","all","map","walletId","getWalletAccounts","walletAccounts","flatMap","x","accounts","walletAccount","find","toLowerCase","bundleJson","JSON","innerDataHex","data","innerDataJson","Buffer","from","encappedPublicKeyHex","encappedPublic","ciphertextHex","ciphertext","encappedKeyBuf","ciphertextBuf","decryptedData","receiverPriv","privateKey","TextDecoder","decode","getWebAuthnAttestation","options","userDetails","username","authenticatorUserId","getAuthenticatorUserId","requireRpId","authenticatorParams","rp","id","name","displayName","bufferSourceToUint8Array","authenticatorName","attestation","challenge","nonce","getOauthNonce","initSessionStamper","initWebauthnStamper","setStamper","allowCredentials","credentialId","stringId","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -92,7 +92,11 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
|
|
|
92
92
|
rpId?: string | undefined;
|
|
93
93
|
}>;
|
|
94
94
|
export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
|
|
95
|
-
export
|
|
95
|
+
export type ExportWalletParams = {
|
|
96
|
+
exportAs?: "PRIVATE_KEY" | "SEED_PHRASE";
|
|
97
|
+
};
|
|
98
|
+
export type ExportWalletResult = string;
|
|
99
|
+
export declare class RNSignerClient extends BaseSignerClient<ExportWalletParams, string> {
|
|
96
100
|
private stamper;
|
|
97
101
|
oauthCallbackUrl: string;
|
|
98
102
|
rpId: string | undefined;
|
|
@@ -124,7 +128,14 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
|
|
|
124
128
|
mode: "popup";
|
|
125
129
|
}>): Promise<User>;
|
|
126
130
|
disconnect(): Promise<void>;
|
|
127
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Exports the wallet and returns the decrypted private key or seed phrase.
|
|
133
|
+
*
|
|
134
|
+
* @param {ExportWalletParams} params - Export parameters
|
|
135
|
+
* @returns {Promise<string>} The decrypted private key or seed phrase
|
|
136
|
+
* @throws {Error} If the user is not authenticated or export fails
|
|
137
|
+
*/
|
|
138
|
+
exportWallet(params?: ExportWalletParams): Promise<string>;
|
|
128
139
|
targetPublicKey(): Promise<string>;
|
|
129
140
|
protected getWebAuthnAttestation: (options?: CredentialCreationOptionOverrides, userDetails?: {
|
|
130
141
|
username: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,gCAAgC,CAAC;AACxC,OAAO,yBAAyB,CAAC;AACjC,OAAO,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,mBAAmB,UAAU,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,mBAAmB,UAAU,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -95,7 +95,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
|
|
|
95
95
|
sessionKey: z.ZodDefault<z.ZodString>;
|
|
96
96
|
storage: z.ZodUnion<[z.ZodDefault<z.ZodEnum<["localStorage", "sessionStorage"]>>, z.ZodType<Storage, z.ZodTypeDef, Storage>]>;
|
|
97
97
|
expirationTimeMs: z.ZodDefault<z.ZodNumber>;
|
|
98
|
-
client: z.ZodType<import("@account-kit/signer").BaseSignerClient<unknown>, z.ZodTypeDef, import("@account-kit/signer").BaseSignerClient<unknown>>;
|
|
98
|
+
client: z.ZodType<import("@account-kit/signer").BaseSignerClient<unknown, unknown>, z.ZodTypeDef, import("@account-kit/signer").BaseSignerClient<unknown, unknown>>;
|
|
99
99
|
}, "client" | "storage">, "strip", z.ZodTypeAny, {
|
|
100
100
|
sessionKey: string;
|
|
101
101
|
expirationTimeMs: number;
|
|
@@ -92,7 +92,11 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
|
|
|
92
92
|
rpId?: string | undefined;
|
|
93
93
|
}>;
|
|
94
94
|
export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
|
|
95
|
-
export
|
|
95
|
+
export type ExportWalletParams = {
|
|
96
|
+
exportAs?: "PRIVATE_KEY" | "SEED_PHRASE";
|
|
97
|
+
};
|
|
98
|
+
export type ExportWalletResult = string;
|
|
99
|
+
export declare class RNSignerClient extends BaseSignerClient<ExportWalletParams, string> {
|
|
96
100
|
private stamper;
|
|
97
101
|
oauthCallbackUrl: string;
|
|
98
102
|
rpId: string | undefined;
|
|
@@ -124,7 +128,14 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
|
|
|
124
128
|
mode: "popup";
|
|
125
129
|
}>): Promise<User>;
|
|
126
130
|
disconnect(): Promise<void>;
|
|
127
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Exports the wallet and returns the decrypted private key or seed phrase.
|
|
133
|
+
*
|
|
134
|
+
* @param {ExportWalletParams} params - Export parameters
|
|
135
|
+
* @returns {Promise<string>} The decrypted private key or seed phrase
|
|
136
|
+
* @throws {Error} If the user is not authenticated or export fails
|
|
137
|
+
*/
|
|
138
|
+
exportWallet(params?: ExportWalletParams): Promise<string>;
|
|
128
139
|
targetPublicKey(): Promise<string>;
|
|
129
140
|
protected getWebAuthnAttestation: (options?: CredentialCreationOptionOverrides, userDetails?: {
|
|
130
141
|
username: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,gCAAgC,CAAC;AACxC,OAAO,yBAAyB,CAAC;AACjC,OAAO,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,mBAAmB,UAAU,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,mBAAmB,UAAU,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -95,7 +95,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
|
|
|
95
95
|
sessionKey: z.ZodDefault<z.ZodString>;
|
|
96
96
|
storage: z.ZodUnion<[z.ZodDefault<z.ZodEnum<["localStorage", "sessionStorage"]>>, z.ZodType<Storage, z.ZodTypeDef, Storage>]>;
|
|
97
97
|
expirationTimeMs: z.ZodDefault<z.ZodNumber>;
|
|
98
|
-
client: z.ZodType<import("@account-kit/signer").BaseSignerClient<unknown>, z.ZodTypeDef, import("@account-kit/signer").BaseSignerClient<unknown>>;
|
|
98
|
+
client: z.ZodType<import("@account-kit/signer").BaseSignerClient<unknown, unknown>, z.ZodTypeDef, import("@account-kit/signer").BaseSignerClient<unknown, unknown>>;
|
|
99
99
|
}, "client" | "storage">, "strip", z.ZodTypeAny, {
|
|
100
100
|
sessionKey: string;
|
|
101
101
|
expirationTimeMs: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@account-kit/react-native-signer",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.61.0",
|
|
4
4
|
"author": "Alchemy",
|
|
5
5
|
"description": "React Native compatible Smart Wallets signer",
|
|
6
6
|
"source": "./src/index.tsx",
|
|
@@ -142,11 +142,13 @@
|
|
|
142
142
|
"version": "0.42.2"
|
|
143
143
|
},
|
|
144
144
|
"dependencies": {
|
|
145
|
-
"@aa-sdk/core": "^4.
|
|
146
|
-
"@account-kit/signer": "^4.
|
|
145
|
+
"@aa-sdk/core": "^4.61.0",
|
|
146
|
+
"@account-kit/signer": "^4.61.0",
|
|
147
|
+
"@turnkey/crypto": "^2.5.0",
|
|
147
148
|
"@turnkey/react-native-passkey-stamper": "^1.0.14",
|
|
148
149
|
"uuid": "^11.1.0",
|
|
149
|
-
"viem": "^2.29.2"
|
|
150
|
+
"viem": "^2.29.2",
|
|
151
|
+
"zod": "^3.22.4"
|
|
150
152
|
},
|
|
151
|
-
"gitHead": "
|
|
153
|
+
"gitHead": "cb25c3a1f44b589de97fefcf930fc373a6ff9bc9"
|
|
152
154
|
}
|
package/src/client.ts
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
import "react-native-get-random-values";
|
|
3
3
|
import "./utils/buffer-polyfill";
|
|
4
4
|
import "./utils/mmkv-localstorage-polyfill";
|
|
5
|
-
|
|
6
|
-
/* eslint-disable import/extensions */
|
|
7
5
|
import { type ConnectionConfig } from "@aa-sdk/core";
|
|
8
6
|
import {
|
|
9
7
|
createPasskey,
|
|
@@ -37,6 +35,8 @@ import {
|
|
|
37
35
|
} from "@account-kit/signer";
|
|
38
36
|
import { InAppBrowser } from "react-native-inappbrowser-reborn";
|
|
39
37
|
import { z } from "zod";
|
|
38
|
+
import { generateP256KeyPair, hpkeDecrypt } from "@turnkey/crypto";
|
|
39
|
+
import { toHex } from "viem";
|
|
40
40
|
import { InAppBrowserUnavailableError } from "./errors";
|
|
41
41
|
import NativeTEKStamper from "./NativeTEKStamper";
|
|
42
42
|
import { parseSearchParams } from "./utils/parseUrlParams";
|
|
@@ -54,8 +54,17 @@ export const RNSignerClientParamsSchema = z.object({
|
|
|
54
54
|
|
|
55
55
|
export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
|
|
56
56
|
|
|
57
|
+
export type ExportWalletParams = {
|
|
58
|
+
exportAs?: "PRIVATE_KEY" | "SEED_PHRASE";
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export type ExportWalletResult = string;
|
|
62
|
+
|
|
57
63
|
// TODO: need to emit events
|
|
58
|
-
export class RNSignerClient extends BaseSignerClient<
|
|
64
|
+
export class RNSignerClient extends BaseSignerClient<
|
|
65
|
+
ExportWalletParams,
|
|
66
|
+
string
|
|
67
|
+
> {
|
|
59
68
|
private stamper = NativeTEKStamper;
|
|
60
69
|
oauthCallbackUrl: string;
|
|
61
70
|
rpId: string | undefined;
|
|
@@ -273,8 +282,132 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
|
|
|
273
282
|
this.stamper.clear();
|
|
274
283
|
await this.stamper.init();
|
|
275
284
|
}
|
|
276
|
-
|
|
277
|
-
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Exports the wallet and returns the decrypted private key or seed phrase.
|
|
288
|
+
*
|
|
289
|
+
* @param {ExportWalletParams} params - Export parameters
|
|
290
|
+
* @returns {Promise<string>} The decrypted private key or seed phrase
|
|
291
|
+
* @throws {Error} If the user is not authenticated or export fails
|
|
292
|
+
*/
|
|
293
|
+
async exportWallet(params?: ExportWalletParams): Promise<string> {
|
|
294
|
+
if (!this.user) {
|
|
295
|
+
throw new Error("User must be authenticated to export wallet");
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
const exportAs = params?.exportAs || "PRIVATE_KEY";
|
|
299
|
+
|
|
300
|
+
// Step 1: Generate a P256 key pair for encryption
|
|
301
|
+
const embeddedKey = generateP256KeyPair();
|
|
302
|
+
|
|
303
|
+
try {
|
|
304
|
+
let exportBundle: string;
|
|
305
|
+
|
|
306
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
307
|
+
// Step 2a: Export as private key
|
|
308
|
+
const { activity } = await this.turnkeyClient.exportWalletAccount({
|
|
309
|
+
organizationId: this.user.orgId,
|
|
310
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET_ACCOUNT",
|
|
311
|
+
timestampMs: Date.now().toString(),
|
|
312
|
+
parameters: {
|
|
313
|
+
address: this.user.address,
|
|
314
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed,
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
const result = await this.pollActivityCompletion(
|
|
319
|
+
activity,
|
|
320
|
+
this.user.orgId,
|
|
321
|
+
"exportWalletAccountResult",
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
if (!result.exportBundle) {
|
|
325
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
exportBundle = result.exportBundle;
|
|
329
|
+
} else {
|
|
330
|
+
// Step 2b: Export as seed phrase (need to find the wallet first)
|
|
331
|
+
const { wallets } = await this.turnkeyClient.getWallets({
|
|
332
|
+
organizationId: this.user.orgId,
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
const walletAccountResponses = await Promise.all(
|
|
336
|
+
wallets.map(({ walletId }) =>
|
|
337
|
+
this.turnkeyClient.getWalletAccounts({
|
|
338
|
+
organizationId: this.user!.orgId,
|
|
339
|
+
walletId,
|
|
340
|
+
}),
|
|
341
|
+
),
|
|
342
|
+
);
|
|
343
|
+
const walletAccounts = walletAccountResponses.flatMap(
|
|
344
|
+
(x) => x.accounts,
|
|
345
|
+
);
|
|
346
|
+
|
|
347
|
+
const walletAccount = walletAccounts.find(
|
|
348
|
+
(x) => x.address.toLowerCase() === this.user!.address.toLowerCase(),
|
|
349
|
+
);
|
|
350
|
+
|
|
351
|
+
if (!walletAccount) {
|
|
352
|
+
throw new Error("Could not find wallet account");
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
const { activity } = await this.turnkeyClient.exportWallet({
|
|
356
|
+
organizationId: this.user.orgId,
|
|
357
|
+
type: "ACTIVITY_TYPE_EXPORT_WALLET",
|
|
358
|
+
timestampMs: Date.now().toString(),
|
|
359
|
+
parameters: {
|
|
360
|
+
walletId: walletAccount.walletId,
|
|
361
|
+
targetPublicKey: embeddedKey.publicKeyUncompressed,
|
|
362
|
+
},
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
const result = await this.pollActivityCompletion(
|
|
366
|
+
activity,
|
|
367
|
+
this.user.orgId,
|
|
368
|
+
"exportWalletResult",
|
|
369
|
+
);
|
|
370
|
+
|
|
371
|
+
if (!result.exportBundle) {
|
|
372
|
+
throw new Error("Failed to export wallet: no export bundle returned");
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
exportBundle = result.exportBundle;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Step 3: Parse the export bundle and decrypt using HPKE
|
|
379
|
+
// The export bundle is a JSON string containing version, data, etc.
|
|
380
|
+
const bundleJson = JSON.parse(exportBundle);
|
|
381
|
+
|
|
382
|
+
// The data field contains another JSON string that's hex-encoded
|
|
383
|
+
const innerDataHex = bundleJson.data;
|
|
384
|
+
const innerDataJson = JSON.parse(
|
|
385
|
+
Buffer.from(innerDataHex, "hex").toString(),
|
|
386
|
+
);
|
|
387
|
+
|
|
388
|
+
// Extract the encapped public key and ciphertext from the inner data
|
|
389
|
+
const encappedPublicKeyHex = innerDataJson.encappedPublic;
|
|
390
|
+
const ciphertextHex = innerDataJson.ciphertext;
|
|
391
|
+
|
|
392
|
+
const encappedKeyBuf = Buffer.from(encappedPublicKeyHex, "hex");
|
|
393
|
+
const ciphertextBuf = Buffer.from(ciphertextHex, "hex");
|
|
394
|
+
|
|
395
|
+
// Decrypt the data using HPKE
|
|
396
|
+
const decryptedData = hpkeDecrypt({
|
|
397
|
+
ciphertextBuf: ciphertextBuf,
|
|
398
|
+
encappedKeyBuf: encappedKeyBuf,
|
|
399
|
+
receiverPriv: embeddedKey.privateKey,
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
// Step 4: Process the decrypted data based on export type
|
|
403
|
+
if (exportAs === "PRIVATE_KEY") {
|
|
404
|
+
return toHex(decryptedData);
|
|
405
|
+
} else {
|
|
406
|
+
return new TextDecoder().decode(decryptedData);
|
|
407
|
+
}
|
|
408
|
+
} finally {
|
|
409
|
+
// No cleanup needed - key is only in memory
|
|
410
|
+
}
|
|
278
411
|
}
|
|
279
412
|
|
|
280
413
|
override targetPublicKey(): Promise<string> {
|
package/src/index.tsx
CHANGED