@account-kit/react-native-signer 4.60.1 → 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.
@@ -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
- exportWallet(_params) {
202
- throw new Error("Method not implemented.");
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":[]}
@@ -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
- exportWallet(_params) {
197
- throw new Error("Method not implemented.");
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();
@@ -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":"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","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":";;AAAA;AACA,OAAO,gCAAgC;AACvC,OAAO,4BAAyB;AAChC,OAAO,uCAAoC;AAE3C,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,mBAAmB,EAAEC,WAAW,QAAQ,iBAAiB;AAClE,SAASC,KAAK,QAAQ,MAAM;AAC5B,SAASC,4BAA4B,QAAQ,aAAU;AACvD,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,SAASC,iBAAiB,QAAQ,2BAAwB;AAC1D,SAASC,aAAa,QAAQ,0BAAuB;AAErD,OAAO,MAAMC,0BAA0B,GAAGR,CAAC,CAACS,MAAM,CAAC;EACjDC,UAAU,EAAEV,CAAC,CAACW,MAAM,CAAmB,CAAC;EACxCC,SAAS,EAAEZ,CAAC,CAACa,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAChCC,gBAAgB,EAAEf,CAAC,CAChBa,MAAM,CAAC,CAAC,CACRC,QAAQ,CAAC,CAAC,CACVE,OAAO,CAAC,qCAAqC,CAAC;EACjDC,IAAI,EAAEjB,CAAC,CAACa,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC5B,CAAC,CAAC;AAUF;AACA,OAAO,MAAMI,cAAc,SAAStB,gBAAgB,CAGlD;EACQuB,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,CAACpB,KAAK,CAACkC,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,IAAIxC,gBAAgB,CAACwC,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,MAAMzB,YAAY,CAAC+D,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,MAAMxE,YAAY,CAACyE,QAAQ,CAACL,WAAW,EAAEG,WAAW,CAAC;IAEjE,IAAIC,GAAG,CAAC5C,IAAI,KAAK,SAAS,IAAI,CAAC4C,GAAG,CAACE,GAAG,EAAE;MACtC,MAAM,IAAI5E,gBAAgB,CAAC,0CAA0C,CAAC;IACxE;IAEA,MAAM6E,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,IAAI9C,gBAAgB,CAAC8C,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,IAAI1D,gBAAgB,CAAC,0CAA0C,CAAC;EACxE,CAAC;EAEQ+E,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;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMoD,YAAYA,CAAC3D,MAA2B,EAAmB;IAC/D,IAAI,CAAC,IAAI,CAACiC,IAAI,EAAE;MACd,MAAM,IAAIhB,KAAK,CAAC,6CAA6C,CAAC;IAChE;IAEA,MAAM2C,QAAQ,GAAG5D,MAAM,EAAE4D,QAAQ,IAAI,aAAa;;IAElD;IACA,MAAMC,WAAW,GAAGlF,mBAAmB,CAAC,CAAC;IAEzC,IAAI;MACF,IAAImF,YAAoB;MAExB,IAAIF,QAAQ,KAAK,aAAa,EAAE;QAC9B;QACA,MAAM;UAAEG;QAAS,CAAC,GAAG,MAAM,IAAI,CAACC,aAAa,CAACC,mBAAmB,CAAC;UAChEC,cAAc,EAAE,IAAI,CAACjC,IAAI,CAACE,KAAK;UAC/B9B,IAAI,EAAE,qCAAqC;UAC3C8D,WAAW,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UAClCC,UAAU,EAAE;YACVC,OAAO,EAAE,IAAI,CAACvC,IAAI,CAACuC,OAAO;YAC1B9D,eAAe,EAAEmD,WAAW,CAACY;UAC/B;QACF,CAAC,CAAC;QAEF,MAAM1C,MAAM,GAAG,MAAM,IAAI,CAAC2C,sBAAsB,CAC9CX,QAAQ,EACR,IAAI,CAAC9B,IAAI,CAACE,KAAK,EACf,2BACF,CAAC;QAED,IAAI,CAACJ,MAAM,CAAC+B,YAAY,EAAE;UACxB,MAAM,IAAI7C,KAAK,CAAC,oDAAoD,CAAC;QACvE;QAEA6C,YAAY,GAAG/B,MAAM,CAAC+B,YAAY;MACpC,CAAC,MAAM;QACL;QACA,MAAM;UAAEa;QAAQ,CAAC,GAAG,MAAM,IAAI,CAACX,aAAa,CAACY,UAAU,CAAC;UACtDV,cAAc,EAAE,IAAI,CAACjC,IAAI,CAACE;QAC5B,CAAC,CAAC;QAEF,MAAM0C,sBAAsB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC9CJ,OAAO,CAACK,GAAG,CAAC,CAAC;UAAEC;QAAS,CAAC,KACvB,IAAI,CAACjB,aAAa,CAACkB,iBAAiB,CAAC;UACnChB,cAAc,EAAE,IAAI,CAACjC,IAAI,CAAEE,KAAK;UAChC8C;QACF,CAAC,CACH,CACF,CAAC;QACD,MAAME,cAAc,GAAGN,sBAAsB,CAACO,OAAO,CAClDC,CAAC,IAAKA,CAAC,CAACC,QACX,CAAC;QAED,MAAMC,aAAa,GAAGJ,cAAc,CAACK,IAAI,CACtCH,CAAC,IAAKA,CAAC,CAACb,OAAO,CAACiB,WAAW,CAAC,CAAC,KAAK,IAAI,CAACxD,IAAI,CAAEuC,OAAO,CAACiB,WAAW,CAAC,CACpE,CAAC;QAED,IAAI,CAACF,aAAa,EAAE;UAClB,MAAM,IAAItE,KAAK,CAAC,+BAA+B,CAAC;QAClD;QAEA,MAAM;UAAE8C;QAAS,CAAC,GAAG,MAAM,IAAI,CAACC,aAAa,CAACL,YAAY,CAAC;UACzDO,cAAc,EAAE,IAAI,CAACjC,IAAI,CAACE,KAAK;UAC/B9B,IAAI,EAAE,6BAA6B;UACnC8D,WAAW,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UAClCC,UAAU,EAAE;YACVU,QAAQ,EAAEM,aAAa,CAACN,QAAQ;YAChCvE,eAAe,EAAEmD,WAAW,CAACY;UAC/B;QACF,CAAC,CAAC;QAEF,MAAM1C,MAAM,GAAG,MAAM,IAAI,CAAC2C,sBAAsB,CAC9CX,QAAQ,EACR,IAAI,CAAC9B,IAAI,CAACE,KAAK,EACf,oBACF,CAAC;QAED,IAAI,CAACJ,MAAM,CAAC+B,YAAY,EAAE;UACxB,MAAM,IAAI7C,KAAK,CAAC,oDAAoD,CAAC;QACvE;QAEA6C,YAAY,GAAG/B,MAAM,CAAC+B,YAAY;MACpC;;MAEA;MACA;MACA,MAAM4B,UAAU,GAAGC,IAAI,CAAC7H,KAAK,CAACgG,YAAY,CAAC;;MAE3C;MACA,MAAM8B,YAAY,GAAGF,UAAU,CAACG,IAAI;MACpC,MAAMC,aAAa,GAAGH,IAAI,CAAC7H,KAAK,CAC9BiI,MAAM,CAACC,IAAI,CAACJ,YAAY,EAAE,KAAK,CAAC,CAACtB,QAAQ,CAAC,CAC5C,CAAC;;MAED;MACA,MAAM2B,oBAAoB,GAAGH,aAAa,CAACI,cAAc;MACzD,MAAMC,aAAa,GAAGL,aAAa,CAACM,UAAU;MAE9C,MAAMC,cAAc,GAAGN,MAAM,CAACC,IAAI,CAACC,oBAAoB,EAAE,KAAK,CAAC;MAC/D,MAAMK,aAAa,GAAGP,MAAM,CAACC,IAAI,CAACG,aAAa,EAAE,KAAK,CAAC;;MAEvD;MACA,MAAMI,aAAa,GAAG3H,WAAW,CAAC;QAChC0H,aAAa,EAAEA,aAAa;QAC5BD,cAAc,EAAEA,cAAc;QAC9BG,YAAY,EAAE3C,WAAW,CAAC4C;MAC5B,CAAC,CAAC;;MAEF;MACA,IAAI7C,QAAQ,KAAK,aAAa,EAAE;QAC9B,OAAO/E,KAAK,CAAC0H,aAAa,CAAC;MAC7B,CAAC,MAAM;QACL,OAAO,IAAIG,WAAW,CAAC,CAAC,CAACC,MAAM,CAACJ,aAAa,CAAC;MAChD;IACF,CAAC,SAAS;MACR;IAAA;EAEJ;EAES7F,eAAeA,CAAA,EAAoB;IAC1C,OAAO,IAAI,CAACb,OAAO,CAACU,IAAI,CAAC,CAAC;EAC5B;EAEmBqG,sBAAsB,GAAG,MAAAA,CAC1CC,OAA2C,EAC3CC,WAAiC,GAAG;IAClCC,QAAQ,EAAE,IAAI,CAAC9E,IAAI,EAAEd,KAAK,IAAI;EAChC,CAAC,KAC4D;IAC7D,MAAM;MAAE4F;IAAS,CAAC,GAAGD,WAAW;IAChC,MAAME,mBAAmB,GAAGC,sBAAsB,CAACJ,OAAO,CAAC;IAC3D,MAAMlH,IAAI,GAAG,IAAI,CAACuH,WAAW,CAACL,OAAO,CAAC;IACtC,MAAMM,mBAAmB,GAAG,MAAMzJ,aAAa,CAAC;MAC9C0J,EAAE,EAAE;QACFC,EAAE,EAAE1H,IAAI;QACR2H,IAAI,EAAE3H,IAAI;QACV,GAAGkH,OAAO,EAAEvG,SAAS,EAAE8G;MACzB,CAAC;MACDnF,IAAI,EAAE;QACJqF,IAAI,EAAEP,QAAQ;QACdQ,WAAW,EAAER,QAAQ;QACrB,GAAGF,OAAO,EAAEvG,SAAS,EAAE2B,IAAI;QAC3BoF,EAAE,EAAExJ,aAAa,CAAC2J,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;MACnBrH;IACF,CAAC;EACH,CAAC;EAEkBiD,cAAc,GAAG,MAAAA,CAAA,KAAkC;IACpE,MAAMtC,SAAS,GAAG,MAAM,IAAI,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC;IAE3C,MAAMqH,KAAK,GAAG,IAAI,CAACC,aAAa,CAACvH,SAAS,CAAC;IAC3C,OAAO,IAAI,CAACG,OAAO,CAAC,mBAAmB,EAAE;MAAEmH;IAAM,CAAC,CAAC;EACrD,CAAC;EAED,MAAyBE,kBAAkBA,CAAA,EAAoB;IAC7D,OAAO,IAAI,CAACjI,OAAO,CAACU,IAAI,CAAC,CAAC;EAC5B;EAEA,MAAyBwH,mBAAmBA,CAC1C9F,IAAsB,GAAG,IAAI,CAACA,IAAI,EAClC4E,OAA2C,EAC5B;IACf,MAAMlH,IAAI,GAAG,IAAI,CAACuH,WAAW,CAACL,OAAO,CAAC;IACtC,IAAI,CAACmB,UAAU,CACb,IAAIrK,cAAc,CAAC;MACjBgC,IAAI;MACJsI,gBAAgB,EAAEhG,IAAI,EAAEiG,YAAY,GAChC,CACE;QACEb,EAAE,EAAEpF,IAAI,CAACiG,YAAY;QACrB7H,IAAI,EAAE;MACR,CAAC,CACF,GACDoD;IACN,CAAC,CACH,CAAC;EACH;EAEQyD,WAAWA,CAACL,OAA2C,EAAU;IACvE,MAAMlH,IAAI,GAAGkH,OAAO,EAAEvG,SAAS,EAAE8G,EAAE,EAAEC,EAAE,IAAI,IAAI,CAAC1H,IAAI;IACpD,IAAI,CAACA,IAAI,EAAE;MACT,MAAM,IAAIsB,KAAK,CACb,mEACF,CAAC;IACH;IACA,OAAOtB,IAAI;EACb;AACF;AAEA,SAASsH,sBAAsBA,CAC7BJ,OAA2C,EAC7B;EACd;EACA,MAAMQ,EAAE,GAAGR,OAAO,EAAEvG,SAAS,EAAE2B,IAAI,EAAEoF,EAAE;EACvC,IAAIA,EAAE,EAAE;IACN,MAAMc,QAAQ,GAAGtK,aAAa,CAACwJ,EAAgB,CAAC;IAChD,IAAI,CAAClJ,YAAY,CAACgK,QAAQ,CAAC,IAAI9J,WAAW,CAAC8J,QAAQ,CAAC,KAAK,CAAC,EAAE;MAC1D,MAAM,IAAIlH,KAAK,CAAC,qDAAqD,CAAC;IACxE;IACA,OAAOoG,EAAE;EACX;EACA,OAAOtJ,SAAS,CAACE,MAAM,CAAC,CAAC,CAAC;AAC5B;AAEA,SAASuJ,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":[]}
@@ -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 declare class RNSignerClient extends BaseSignerClient<undefined> {
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
- exportWallet(_params: unknown): Promise<boolean>;
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":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export type * from "./signer";
2
2
  export { RNAlchemySigner } from "./signer";
3
3
  export { RNSignerClient } from "./client";
4
+ export type { ExportWalletParams, ExportWalletResult } from "./client";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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 declare class RNSignerClient extends BaseSignerClient<undefined> {
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
- exportWallet(_params: unknown): Promise<boolean>;
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":"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"}
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;AAa5C,OAAO,EACL,gBAAgB,EAGhB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACtC,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAGxC,qBAAa,cAAe,SAAQ,gBAAgB,CAClD,kBAAkB,EAClB,MAAM,CACP;IACC,OAAO,CAAC,OAAO,CAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,wBAAwB,CAI9B;gBAEU,MAAM,EAAE,oBAAoB;IAczB,aAAa,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC;IAmClB,aAAa,CAC1B,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAC/C,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAuB1D,WAAW,CACxB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAC7C,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAW9B,SAAS,CACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAYR,sBAAsB,CAAC,MAAM,EAAE;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;QACpD,kBAAkB,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BR,iBAAiB,GACxB,MAAM,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAC/C,OAAO,CAAC,IAAI,CAAC,CAyDd;IAEO,cAAc,CACrB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAID,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwHvD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C,UAAmB,sBAAsB,GACvC,UAAU,iCAAiC,EAC3C,cAAa;QAAE,QAAQ,EAAE,MAAM,CAAA;KAE9B,KACA,OAAO,CAAC,4BAA4B,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAwBzD;IAEF,UAAmB,cAAc,QAAa,OAAO,CAAC,WAAW,CAAC,CAKhE;cAEuB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAIrC,mBAAmB,CAC1C,IAAI,GAAE,IAAI,GAAG,SAAqB,EAClC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,WAAW;CASpB"}
@@ -1,4 +1,5 @@
1
1
  export type * from "./signer";
2
2
  export { RNAlchemySigner } from "./signer";
3
3
  export { RNSignerClient } from "./client";
4
+ export type { ExportWalletParams, ExportWalletResult } from "./client";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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.60.1",
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,12 +142,13 @@
142
142
  "version": "0.42.2"
143
143
  },
144
144
  "dependencies": {
145
- "@aa-sdk/core": "^4.60.1",
146
- "@account-kit/signer": "^4.60.1",
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
150
  "viem": "^2.29.2",
150
151
  "zod": "^3.22.4"
151
152
  },
152
- "gitHead": "a12e3557ed0067bfe432d427280b8b4495a8a748"
153
+ "gitHead": "cb25c3a1f44b589de97fefcf930fc373a6ff9bc9"
153
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<undefined> {
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
- override exportWallet(_params: unknown): Promise<boolean> {
277
- throw new Error("Method not implemented.");
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
@@ -2,3 +2,4 @@
2
2
  export type * from "./signer";
3
3
  export { RNAlchemySigner } from "./signer";
4
4
  export { RNSignerClient } from "./client";
5
+ export type { ExportWalletParams, ExportWalletResult } from "./client";