@account-kit/react-native-signer 4.36.1 → 4.37.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/README.md CHANGED
@@ -14,11 +14,21 @@ npm install @account-kit/react-native-signer
14
14
 
15
15
  ## Usage
16
16
 
17
- This package requires the `react-native-mmkv` package installed in your project. Check out their [docs](https://github.com/mrousavy/react-native-mmkv) for installation instructions.
17
+ This package requires several packages containing native modules to be installed in your project. Check out their docs at the following links for installation instructions.
18
18
 
19
- #### Deep Linking.
19
+ - [react-native-mmkv](https://github.com/mrousavy/react-native-mmkv)
20
+ - [react-native-get-random-values](https://github.com/LinusU/react-native-get-random-values)
21
+ - [react-native-passkey](https://github.com/f-23/react-native-passkey)
20
22
 
21
- Your app will need to be configured to handle deep linking. Check out the React Native [docs](https://reactnative.dev/docs/linking#enabling-deep-links) for more information.
23
+ #### Passkeys
24
+
25
+ If using passkeys, there are iOS- and Android-specific steps to link your app to an associated domain to which the passkeys will be connected. This means hosting specific JSON files from a domain you control. For details on this, see the [instructions in the react-native-passkey README](https://github.com/f-23/react-native-passkey?tab=readme-ov-file#configuration).
26
+
27
+ #### Deep Linking
28
+
29
+ We recommend using emails containing OTP codes (the default setting) to avoid the need for this step.
30
+
31
+ If using emails with magic links, your app will need to be configured to handle deep linking. Check out the React Native [docs](https://reactnative.dev/docs/linking#enabling-deep-links) for more information.
22
32
  You will also need a way to trigger the deep link via a http or https url. This can be done in a viarety of ways ranging from universal links to setting up a custom redirect server.
23
33
 
24
34
  See the [example app](./example) for usage information.
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RNSignerClientParamsSchema = exports.RNSignerClient = void 0;
7
+ require("react-native-get-random-values");
7
8
  require("./utils/buffer-polyfill.js");
8
9
  require("./utils/mmkv-localstorage-polyfill.js");
10
+ var _reactNativePasskeyStamper = require("@turnkey/react-native-passkey-stamper");
11
+ var _uuid = require("uuid");
9
12
  var _signer = require("@account-kit/signer");
10
13
  var _reactNativeInappbrowserReborn = require("react-native-inappbrowser-reborn");
11
14
  var _zod = require("zod");
@@ -16,10 +19,13 @@ var _parseMfaError = require("./utils/parseMfaError.js");
16
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
20
  /* eslint-disable import/extensions */
18
21
 
22
+ /* eslint-disable import/extensions */
23
+
19
24
  const RNSignerClientParamsSchema = exports.RNSignerClientParamsSchema = _zod.z.object({
20
25
  connection: _zod.z.custom(),
21
26
  rootOrgId: _zod.z.string().optional(),
22
- oauthCallbackUrl: _zod.z.string().optional().default("https://signer.alchemy.com/callback")
27
+ oauthCallbackUrl: _zod.z.string().optional().default("https://signer.alchemy.com/callback"),
28
+ rpId: _zod.z.string().optional()
23
29
  });
24
30
  // TODO: need to emit events
25
31
  class RNSignerClient extends _signer.BaseSignerClient {
@@ -29,7 +35,8 @@ class RNSignerClient extends _signer.BaseSignerClient {
29
35
  const {
30
36
  connection,
31
37
  rootOrgId,
32
- oauthCallbackUrl
38
+ oauthCallbackUrl,
39
+ rpId
33
40
  } = RNSignerClientParamsSchema.parse(params);
34
41
  super({
35
42
  stamper: _NativeTEKStamper.default,
@@ -37,6 +44,7 @@ class RNSignerClient extends _signer.BaseSignerClient {
37
44
  connection
38
45
  });
39
46
  this.oauthCallbackUrl = oauthCallbackUrl;
47
+ this.rpId = rpId;
40
48
  }
41
49
  async submitOtpCode(args) {
42
50
  this.eventEmitter.emit("authenticating", {
@@ -66,27 +74,6 @@ class RNSignerClient extends _signer.BaseSignerClient {
66
74
  // Otherwise, it's truly an error:
67
75
  throw new Error("Failed to submit OTP code. Server did not return required fields.");
68
76
  }
69
- async createAccount(params) {
70
- if (params.type !== "email") {
71
- throw new Error("Only email account creation is supported");
72
- }
73
- this.eventEmitter.emit("authenticating", {
74
- type: "email"
75
- });
76
- const {
77
- email,
78
- expirationSeconds
79
- } = params;
80
- const publicKey = await this.stamper.init();
81
- const response = await this.request("/v1/signup", {
82
- email,
83
- emailMode: params.emailMode,
84
- targetPublicKey: publicKey,
85
- expirationSeconds,
86
- redirectParams: params.redirectParams?.toString()
87
- });
88
- return response;
89
- }
90
77
  async initEmailAuth(params) {
91
78
  this.eventEmitter.emit("authenticating", {
92
79
  type: "email"
@@ -187,15 +174,38 @@ class RNSignerClient extends _signer.BaseSignerClient {
187
174
  exportWallet(_params) {
188
175
  throw new Error("Method not implemented.");
189
176
  }
190
- lookupUserWithPasskey(_user) {
191
- throw new Error("Method not implemented.");
192
- }
193
177
  targetPublicKey() {
194
178
  return this.stamper.init();
195
179
  }
196
- getWebAuthnAttestation(_options, _userDetails) {
197
- throw new Error("Method not implemented.");
198
- }
180
+ getWebAuthnAttestation = async (options, userDetails = {
181
+ username: this.user?.email ?? "anonymous"
182
+ }) => {
183
+ const {
184
+ username
185
+ } = userDetails;
186
+ const authenticatorUserId = getAuthenticatorUserId(options);
187
+ const rpId = this.requireRpId(options);
188
+ const authenticatorParams = await (0, _reactNativePasskeyStamper.createPasskey)({
189
+ rp: {
190
+ id: rpId,
191
+ name: rpId,
192
+ ...options?.publicKey?.rp
193
+ },
194
+ user: {
195
+ name: username,
196
+ displayName: username,
197
+ ...options?.publicKey?.user,
198
+ id: (0, _uuid.stringify)(bufferSourceToUint8Array(authenticatorUserId))
199
+ },
200
+ authenticatorName: "End-User Passkey"
201
+ });
202
+ return {
203
+ attestation: authenticatorParams.attestation,
204
+ challenge: authenticatorParams.challenge,
205
+ authenticatorUserId,
206
+ rpId
207
+ };
208
+ };
199
209
  getOauthConfig = async () => {
200
210
  const publicKey = await this.stamper.init();
201
211
  const nonce = this.getOauthNonce(publicKey);
@@ -203,6 +213,52 @@ class RNSignerClient extends _signer.BaseSignerClient {
203
213
  nonce
204
214
  });
205
215
  };
216
+ async initSessionStamper() {
217
+ return this.stamper.init();
218
+ }
219
+ async initWebauthnStamper(user = this.user, options) {
220
+ const rpId = this.requireRpId(options);
221
+ this.setStamper(new _reactNativePasskeyStamper.PasskeyStamper({
222
+ rpId,
223
+ allowCredentials: user?.credentialId ? [{
224
+ id: user.credentialId,
225
+ type: "public-key",
226
+ transports: ["internal", "hybrid"]
227
+ }] : undefined
228
+ }));
229
+ }
230
+ requireRpId(options) {
231
+ const rpId = options?.publicKey?.rp?.id ?? this.rpId;
232
+ if (!rpId) {
233
+ throw new Error("rpId must be set in configuration to use passkeys in React Native");
234
+ }
235
+ return rpId;
236
+ }
206
237
  }
207
238
  exports.RNSignerClient = RNSignerClient;
239
+ function getAuthenticatorUserId(options) {
240
+ // Android requires this to be a UUIDv4.
241
+ const id = options?.publicKey?.user?.id;
242
+ if (id) {
243
+ const stringId = (0, _uuid.stringify)(id);
244
+ if (!(0, _uuid.validate)(stringId) || (0, _uuid.version)(stringId) !== 4) {
245
+ throw new Error("Challenge must be a valid UUIDv4 to support Android");
246
+ }
247
+ return id;
248
+ }
249
+ return (0, _uuid.parse)((0, _uuid.v4)());
250
+ }
251
+ function bufferSourceToUint8Array(bufferSource) {
252
+ if (bufferSource instanceof Uint8Array) {
253
+ return bufferSource;
254
+ }
255
+ if (bufferSource instanceof ArrayBuffer) {
256
+ return new Uint8Array(bufferSource);
257
+ }
258
+ if (ArrayBuffer.isView(bufferSource)) {
259
+ // Any other TypedArray (e.g., Int16Array, Float32Array, etc.)
260
+ return new Uint8Array(bufferSource.buffer, bufferSource.byteOffset, bufferSource.byteLength);
261
+ }
262
+ throw new TypeError("Input must be a BufferSource (ArrayBuffer or TypedArray)");
263
+ }
208
264
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_signer","_reactNativeInappbrowserReborn","_zod","_errors","_NativeTEKStamper","_interopRequireDefault","_parseUrlParams","_parseMfaError","e","__esModule","default","RNSignerClientParamsSchema","exports","z","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","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","createAccount","email","expirationSeconds","emailMode","redirectParams","toString","initEmailAuth","error","parseMfaError","MfaRequiredError","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","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","lookupUserWithPasskey","_user","getWebAuthnAttestation","_options","_userDetails","nonce","getOauthNonce"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
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","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","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","transports","stringId","uuidValidate","uuidVersion","uuidParse","uuidv4","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_signer","require","_client"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_signer","require","_client"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
@@ -8,6 +8,8 @@ exports.RNAlchemySignerSingleton = void 0;
8
8
  var _signer = require("@account-kit/signer");
9
9
  var _zod = require("zod");
10
10
  var _client = require("./client.js");
11
+ /* eslint-disable import/extensions */
12
+
11
13
  const RNAlchemySignerParamsSchema = _zod.z.object({
12
14
  client: _zod.z.custom().or(_client.RNSignerClientParamsSchema)
13
15
  }).extend({
@@ -1 +1 @@
1
- {"version":3,"names":["_signer","require","_zod","_client","RNAlchemySignerParamsSchema","z","object","client","custom","or","RNSignerClientParamsSchema","extend","sessionConfig","SessionManagerParamsSchema","omit","storage","optional","RNAlchemySignerSingleton","BaseAlchemySigner","constructor","params","instance","params_","parse","RNSignerClient","signerType","getInstance","exports","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,MAAMG,2BAA2B,GAAGC,MAAC,CAClCC,MAAM,CAAC;EACNC,MAAM,EAAEF,MAAC,CAACG,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACC,kCAA0B;AAClE,CAAC,CAAC,CACDC,MAAM,CAAC;EACNC,aAAa,EAAEC,kCAA0B,CAACC,IAAI,CAAC;IAC7CP,MAAM,EAAE,IAAI;IACZQ,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIG,MAAMC,wBAAwB,SAASC,yBAAiB,CAAiB;EAGtEC,WAAWA,CAACC,MAA6B,EAAE;IACjD,IAAI,CAAC,CAACH,wBAAwB,CAACI,QAAQ,EAAE;MACvC,OAAOJ,wBAAwB,CAACI,QAAQ;IAC1C;IAEA,MAAM;MAAET,aAAa;MAAE,GAAGU;IAAQ,CAAC,GACjClB,2BAA2B,CAACmB,KAAK,CAACH,MAAM,CAAC;IAE3C,IAAIb,MAAsB;IAE1B,IAAI,YAAY,IAAIe,OAAO,CAACf,MAAM,EAAE;MAClCA,MAAM,GAAG,IAAIiB,sBAAc,CAACF,OAAO,CAACf,MAAM,CAAC;IAC7C,CAAC,MAAM;MACLA,MAAM,GAAGe,OAAO,CAACf,MAAM;IACzB;IAEA,KAAK,CAAC;MACJA,MAAM;MACNK;IACF,CAAC,CAAC;IAEF,IAAI,CAACa,UAAU,GAAG,mBAAmB;EACvC;EAEA,OAAcC,WAAWA,CAACN,MAA6B,EAAE;IACvD,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,IAAIJ,wBAAwB,CAACG,MAAM,CAAC;IACtD;IACA,OAAO,IAAI,CAACC,QAAQ;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtBAM,OAAA,CAAAV,wBAAA,GAAAA,wBAAA;AAuBO,SAASW,eAAeA,CAACR,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGJ,wBAAwB,CAACS,WAAW,CAACN,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["_signer","require","_zod","_client","RNAlchemySignerParamsSchema","z","object","client","custom","or","RNSignerClientParamsSchema","extend","sessionConfig","SessionManagerParamsSchema","omit","storage","optional","RNAlchemySignerSingleton","BaseAlchemySigner","constructor","params","instance","params_","parse","RNSignerClient","signerType","getInstance","exports","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AANA;;AAQA,MAAMG,2BAA2B,GAAGC,MAAC,CAClCC,MAAM,CAAC;EACNC,MAAM,EAAEF,MAAC,CAACG,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACC,kCAA0B;AAClE,CAAC,CAAC,CACDC,MAAM,CAAC;EACNC,aAAa,EAAEC,kCAA0B,CAACC,IAAI,CAAC;IAC7CP,MAAM,EAAE,IAAI;IACZQ,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIG,MAAMC,wBAAwB,SAASC,yBAAiB,CAAiB;EAGtEC,WAAWA,CAACC,MAA6B,EAAE;IACjD,IAAI,CAAC,CAACH,wBAAwB,CAACI,QAAQ,EAAE;MACvC,OAAOJ,wBAAwB,CAACI,QAAQ;IAC1C;IAEA,MAAM;MAAET,aAAa;MAAE,GAAGU;IAAQ,CAAC,GACjClB,2BAA2B,CAACmB,KAAK,CAACH,MAAM,CAAC;IAE3C,IAAIb,MAAsB;IAE1B,IAAI,YAAY,IAAIe,OAAO,CAACf,MAAM,EAAE;MAClCA,MAAM,GAAG,IAAIiB,sBAAc,CAACF,OAAO,CAACf,MAAM,CAAC;IAC7C,CAAC,MAAM;MACLA,MAAM,GAAGe,OAAO,CAACf,MAAM;IACzB;IAEA,KAAK,CAAC;MACJA,MAAM;MACNK;IACF,CAAC,CAAC;IAEF,IAAI,CAACa,UAAU,GAAG,mBAAmB;EACvC;EAEA,OAAcC,WAAWA,CAACN,MAA6B,EAAE;IACvD,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,IAAIJ,wBAAwB,CAACG,MAAM,CAAC;IACtD;IACA,OAAO,IAAI,CAACC,QAAQ;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtBAM,OAAA,CAAAV,wBAAA,GAAAA,wBAAA;AAuBO,SAASW,eAAeA,CAACR,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGJ,wBAAwB,CAACS,WAAW,CAACN,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable import/extensions */
4
+ import "react-native-get-random-values";
3
5
  import "./utils/buffer-polyfill.js";
4
6
  import "./utils/mmkv-localstorage-polyfill.js";
5
7
 
6
8
  /* eslint-disable import/extensions */
7
9
 
10
+ import { createPasskey, PasskeyStamper } from "@turnkey/react-native-passkey-stamper";
11
+ import { stringify as uuidStringify, parse as uuidParse, v4 as uuidv4, validate as uuidValidate, version as uuidVersion } from "uuid";
8
12
  import { BaseSignerClient, OauthFailedError, MfaRequiredError } from "@account-kit/signer";
9
13
  import { InAppBrowser } from "react-native-inappbrowser-reborn";
10
14
  import { z } from "zod";
@@ -15,7 +19,8 @@ import { parseMfaError } from "./utils/parseMfaError.js";
15
19
  export const RNSignerClientParamsSchema = z.object({
16
20
  connection: z.custom(),
17
21
  rootOrgId: z.string().optional(),
18
- oauthCallbackUrl: z.string().optional().default("https://signer.alchemy.com/callback")
22
+ oauthCallbackUrl: z.string().optional().default("https://signer.alchemy.com/callback"),
23
+ rpId: z.string().optional()
19
24
  });
20
25
  // TODO: need to emit events
21
26
  export class RNSignerClient extends BaseSignerClient {
@@ -25,7 +30,8 @@ export class RNSignerClient extends BaseSignerClient {
25
30
  const {
26
31
  connection,
27
32
  rootOrgId,
28
- oauthCallbackUrl
33
+ oauthCallbackUrl,
34
+ rpId
29
35
  } = RNSignerClientParamsSchema.parse(params);
30
36
  super({
31
37
  stamper: NativeTEKStamper,
@@ -33,6 +39,7 @@ export class RNSignerClient extends BaseSignerClient {
33
39
  connection
34
40
  });
35
41
  this.oauthCallbackUrl = oauthCallbackUrl;
42
+ this.rpId = rpId;
36
43
  }
37
44
  async submitOtpCode(args) {
38
45
  this.eventEmitter.emit("authenticating", {
@@ -62,27 +69,6 @@ export class RNSignerClient extends BaseSignerClient {
62
69
  // Otherwise, it's truly an error:
63
70
  throw new Error("Failed to submit OTP code. Server did not return required fields.");
64
71
  }
65
- async createAccount(params) {
66
- if (params.type !== "email") {
67
- throw new Error("Only email account creation is supported");
68
- }
69
- this.eventEmitter.emit("authenticating", {
70
- type: "email"
71
- });
72
- const {
73
- email,
74
- expirationSeconds
75
- } = params;
76
- const publicKey = await this.stamper.init();
77
- const response = await this.request("/v1/signup", {
78
- email,
79
- emailMode: params.emailMode,
80
- targetPublicKey: publicKey,
81
- expirationSeconds,
82
- redirectParams: params.redirectParams?.toString()
83
- });
84
- return response;
85
- }
86
72
  async initEmailAuth(params) {
87
73
  this.eventEmitter.emit("authenticating", {
88
74
  type: "email"
@@ -183,15 +169,38 @@ export class RNSignerClient extends BaseSignerClient {
183
169
  exportWallet(_params) {
184
170
  throw new Error("Method not implemented.");
185
171
  }
186
- lookupUserWithPasskey(_user) {
187
- throw new Error("Method not implemented.");
188
- }
189
172
  targetPublicKey() {
190
173
  return this.stamper.init();
191
174
  }
192
- getWebAuthnAttestation(_options, _userDetails) {
193
- throw new Error("Method not implemented.");
194
- }
175
+ getWebAuthnAttestation = async (options, userDetails = {
176
+ username: this.user?.email ?? "anonymous"
177
+ }) => {
178
+ const {
179
+ username
180
+ } = userDetails;
181
+ const authenticatorUserId = getAuthenticatorUserId(options);
182
+ const rpId = this.requireRpId(options);
183
+ const authenticatorParams = await createPasskey({
184
+ rp: {
185
+ id: rpId,
186
+ name: rpId,
187
+ ...options?.publicKey?.rp
188
+ },
189
+ user: {
190
+ name: username,
191
+ displayName: username,
192
+ ...options?.publicKey?.user,
193
+ id: uuidStringify(bufferSourceToUint8Array(authenticatorUserId))
194
+ },
195
+ authenticatorName: "End-User Passkey"
196
+ });
197
+ return {
198
+ attestation: authenticatorParams.attestation,
199
+ challenge: authenticatorParams.challenge,
200
+ authenticatorUserId,
201
+ rpId
202
+ };
203
+ };
195
204
  getOauthConfig = async () => {
196
205
  const publicKey = await this.stamper.init();
197
206
  const nonce = this.getOauthNonce(publicKey);
@@ -199,5 +208,51 @@ export class RNSignerClient extends BaseSignerClient {
199
208
  nonce
200
209
  });
201
210
  };
211
+ async initSessionStamper() {
212
+ return this.stamper.init();
213
+ }
214
+ async initWebauthnStamper(user = this.user, options) {
215
+ const rpId = this.requireRpId(options);
216
+ this.setStamper(new PasskeyStamper({
217
+ rpId,
218
+ allowCredentials: user?.credentialId ? [{
219
+ id: user.credentialId,
220
+ type: "public-key",
221
+ transports: ["internal", "hybrid"]
222
+ }] : undefined
223
+ }));
224
+ }
225
+ requireRpId(options) {
226
+ const rpId = options?.publicKey?.rp?.id ?? this.rpId;
227
+ if (!rpId) {
228
+ throw new Error("rpId must be set in configuration to use passkeys in React Native");
229
+ }
230
+ return rpId;
231
+ }
232
+ }
233
+ function getAuthenticatorUserId(options) {
234
+ // Android requires this to be a UUIDv4.
235
+ const id = options?.publicKey?.user?.id;
236
+ if (id) {
237
+ const stringId = uuidStringify(id);
238
+ if (!uuidValidate(stringId) || uuidVersion(stringId) !== 4) {
239
+ throw new Error("Challenge must be a valid UUIDv4 to support Android");
240
+ }
241
+ return id;
242
+ }
243
+ return uuidParse(uuidv4());
244
+ }
245
+ function bufferSourceToUint8Array(bufferSource) {
246
+ if (bufferSource instanceof Uint8Array) {
247
+ return bufferSource;
248
+ }
249
+ if (bufferSource instanceof ArrayBuffer) {
250
+ return new Uint8Array(bufferSource);
251
+ }
252
+ if (ArrayBuffer.isView(bufferSource)) {
253
+ // Any other TypedArray (e.g., Int16Array, Float32Array, etc.)
254
+ return new Uint8Array(bufferSource.buffer, bufferSource.byteOffset, bufferSource.byteLength);
255
+ }
256
+ throw new TypeError("Input must be a BufferSource (ArrayBuffer or TypedArray)");
202
257
  }
203
258
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseSignerClient","OauthFailedError","MfaRequiredError","InAppBrowser","z","InAppBrowserUnavailableError","NativeTEKStamper","parseSearchParams","parseMfaError","RNSignerClientParamsSchema","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","default","RNSignerClient","stamper","validAuthenticatingTypes","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","response","request","targetPublicKey","credentialBundle","mfaRequired","bundle","status","encryptedPayload","multiFactors","Error","createAccount","email","expirationSeconds","emailMode","redirectParams","toString","initEmailAuth","error","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","connectedEventName","oauthWithRedirect","isAvailable","oauthParams","turnkeyPublicKey","oauthConfig","getOauthConfig","providerUrl","getOauthProviderUrl","usesRelativeUrl","redirectUrl","res","openAuth","url","authResult","isSignup","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","_params","lookupUserWithPasskey","_user","getWebAuthnAttestation","_options","_userDetails","nonce","getOauthNonce"],"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","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","completeAuthWithBundle","includes","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","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","transports","stringId","bufferSource","Uint8Array","ArrayBuffer","isView","buffer","byteOffset","byteLength","TypeError"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable import/extensions */
4
+
3
5
  export { RNAlchemySigner } from "./signer.js";
4
6
  export { RNSignerClient } from "./client.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RNAlchemySigner","RNSignerClient"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AACA,SAASA,eAAe,QAAQ,aAAa;AAC7C,SAASC,cAAc,QAAQ,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["RNAlchemySigner","RNSignerClient"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;;AAEA,SAASA,eAAe,QAAQ,aAAU;AAC1C,SAASC,cAAc,QAAQ,aAAU","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable import/extensions */
3
4
  import { BaseAlchemySigner, SessionManagerParamsSchema } from "@account-kit/signer";
4
5
  import { z } from "zod";
5
6
  import { RNSignerClient, RNSignerClientParamsSchema } from "./client.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAlchemySigner","SessionManagerParamsSchema","z","RNSignerClient","RNSignerClientParamsSchema","RNAlchemySignerParamsSchema","object","client","custom","or","extend","sessionConfig","omit","storage","optional","RNAlchemySignerSingleton","constructor","params","instance","params_","parse","signerType","getInstance","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;AAAA,SACEA,iBAAiB,EACjBC,0BAA0B,QACrB,qBAAqB;AAC5B,SAASC,CAAC,QAAQ,KAAK;AACvB,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,aAAa;AAExE,MAAMC,2BAA2B,GAAGH,CAAC,CAClCI,MAAM,CAAC;EACNC,MAAM,EAAEL,CAAC,CAACM,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACL,0BAA0B;AAClE,CAAC,CAAC,CACDM,MAAM,CAAC;EACNC,aAAa,EAAEV,0BAA0B,CAACW,IAAI,CAAC;IAC7CL,MAAM,EAAE,IAAI;IACZM,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIJ,OAAO,MAAMC,wBAAwB,SAASf,iBAAiB,CAAiB;EAGtEgB,WAAWA,CAACC,MAA6B,EAAE;IACjD,IAAI,CAAC,CAACF,wBAAwB,CAACG,QAAQ,EAAE;MACvC,OAAOH,wBAAwB,CAACG,QAAQ;IAC1C;IAEA,MAAM;MAAEP,aAAa;MAAE,GAAGQ;IAAQ,CAAC,GACjCd,2BAA2B,CAACe,KAAK,CAACH,MAAM,CAAC;IAE3C,IAAIV,MAAsB;IAE1B,IAAI,YAAY,IAAIY,OAAO,CAACZ,MAAM,EAAE;MAClCA,MAAM,GAAG,IAAIJ,cAAc,CAACgB,OAAO,CAACZ,MAAM,CAAC;IAC7C,CAAC,MAAM;MACLA,MAAM,GAAGY,OAAO,CAACZ,MAAM;IACzB;IAEA,KAAK,CAAC;MACJA,MAAM;MACNI;IACF,CAAC,CAAC;IAEF,IAAI,CAACU,UAAU,GAAG,mBAAmB;EACvC;EAEA,OAAcC,WAAWA,CAACL,MAA6B,EAAE;IACvD,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,IAAIH,wBAAwB,CAACE,MAAM,CAAC;IACtD;IACA,OAAO,IAAI,CAACC,QAAQ;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,eAAeA,CAACN,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGH,wBAAwB,CAACO,WAAW,CAACL,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["BaseAlchemySigner","SessionManagerParamsSchema","z","RNSignerClient","RNSignerClientParamsSchema","RNAlchemySignerParamsSchema","object","client","custom","or","extend","sessionConfig","omit","storage","optional","RNAlchemySignerSingleton","constructor","params","instance","params_","parse","signerType","getInstance","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;AAAA;AACA,SACEA,iBAAiB,EACjBC,0BAA0B,QACrB,qBAAqB;AAC5B,SAASC,CAAC,QAAQ,KAAK;AACvB,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,aAAU;AAErE,MAAMC,2BAA2B,GAAGH,CAAC,CAClCI,MAAM,CAAC;EACNC,MAAM,EAAEL,CAAC,CAACM,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACL,0BAA0B;AAClE,CAAC,CAAC,CACDM,MAAM,CAAC;EACNC,aAAa,EAAEV,0BAA0B,CAACW,IAAI,CAAC;IAC7CL,MAAM,EAAE,IAAI;IACZM,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIJ,OAAO,MAAMC,wBAAwB,SAASf,iBAAiB,CAAiB;EAGtEgB,WAAWA,CAACC,MAA6B,EAAE;IACjD,IAAI,CAAC,CAACF,wBAAwB,CAACG,QAAQ,EAAE;MACvC,OAAOH,wBAAwB,CAACG,QAAQ;IAC1C;IAEA,MAAM;MAAEP,aAAa;MAAE,GAAGQ;IAAQ,CAAC,GACjCd,2BAA2B,CAACe,KAAK,CAACH,MAAM,CAAC;IAE3C,IAAIV,MAAsB;IAE1B,IAAI,YAAY,IAAIY,OAAO,CAACZ,MAAM,EAAE;MAClCA,MAAM,GAAG,IAAIJ,cAAc,CAACgB,OAAO,CAACZ,MAAM,CAAC;IAC7C,CAAC,MAAM;MACLA,MAAM,GAAGY,OAAO,CAACZ,MAAM;IACzB;IAEA,KAAK,CAAC;MACJA,MAAM;MACNI;IACF,CAAC,CAAC;IAEF,IAAI,CAACU,UAAU,GAAG,mBAAmB;EACvC;EAEA,OAAcC,WAAWA,CAACL,MAA6B,EAAE;IACvD,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,IAAIH,wBAAwB,CAACE,MAAM,CAAC;IACtD;IACA,OAAO,IAAI,CAACC,QAAQ;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,eAAeA,CAACN,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGH,wBAAwB,CAACO,WAAW,CAACL,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import "./utils/buffer-polyfill.js";
2
- import "./utils/mmkv-localstorage-polyfill.js";
3
- import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type CreateAccountParams, type EmailAuthParams, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type SignupResponse, type User, type SubmitOtpCodeResponse } from "@account-kit/signer";
1
+ import "react-native-get-random-values";
2
+ import "./utils/buffer-polyfill";
3
+ import "./utils/mmkv-localstorage-polyfill";
4
+ import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type EmailAuthParams, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type User, type SubmitOtpCodeResponse, type CredentialCreationOptionOverrides } from "@account-kit/signer";
4
5
  import { z } from "zod";
5
6
  export declare const RNSignerClientParamsSchema: z.ZodObject<{
6
7
  connection: z.ZodType<({
@@ -42,6 +43,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
42
43
  }>;
43
44
  rootOrgId: z.ZodOptional<z.ZodString>;
44
45
  oauthCallbackUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
46
+ rpId: z.ZodOptional<z.ZodString>;
45
47
  }, "strip", z.ZodTypeAny, {
46
48
  connection: ({
47
49
  apiKey: string;
@@ -64,6 +66,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
64
66
  };
65
67
  oauthCallbackUrl: string;
66
68
  rootOrgId?: string | undefined;
69
+ rpId?: string | undefined;
67
70
  }, {
68
71
  connection: ({
69
72
  apiKey: string;
@@ -86,15 +89,16 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
86
89
  };
87
90
  rootOrgId?: string | undefined;
88
91
  oauthCallbackUrl?: string | undefined;
92
+ rpId?: string | undefined;
89
93
  }>;
90
94
  export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
91
95
  export declare class RNSignerClient extends BaseSignerClient<undefined> {
92
96
  private stamper;
93
97
  oauthCallbackUrl: string;
98
+ rpId: string | undefined;
94
99
  private validAuthenticatingTypes;
95
100
  constructor(params: RNSignerClientParams);
96
101
  submitOtpCode(args: Omit<OtpParams, "targetPublicKey">): Promise<SubmitOtpCodeResponse>;
97
- createAccount(params: CreateAccountParams): Promise<SignupResponse>;
98
102
  initEmailAuth(params: Omit<EmailAuthParams, "targetPublicKey">): Promise<{
99
103
  orgId: string;
100
104
  otpId?: string;
@@ -115,11 +119,15 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
115
119
  }>): Promise<User>;
116
120
  disconnect(): Promise<void>;
117
121
  exportWallet(_params: unknown): Promise<boolean>;
118
- lookupUserWithPasskey(_user?: User): Promise<User>;
119
122
  targetPublicKey(): Promise<string>;
120
- protected getWebAuthnAttestation(_options: CredentialCreationOptions, _userDetails?: {
123
+ protected getWebAuthnAttestation: (options?: CredentialCreationOptionOverrides, userDetails?: {
121
124
  username: string;
122
- }): Promise<GetWebAuthnAttestationResult>;
125
+ }) => Promise<GetWebAuthnAttestationResult & {
126
+ rpId: string;
127
+ }>;
123
128
  protected getOauthConfig: () => Promise<OauthConfig>;
129
+ protected initSessionStamper(): Promise<string>;
130
+ protected initWebauthnStamper(user?: User | undefined, options?: CredentialCreationOptionOverrides): Promise<void>;
131
+ private requireRpId;
124
132
  }
125
133
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,uCAAuC,CAAC;AAI/C,OAAO,EACL,gBAAgB,EAGhB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,wBAAwB,CAI9B;gBAEU,MAAM,EAAE,oBAAoB;IAazB,aAAa,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC;IAmClB,aAAa,CAC1B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAoBX,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,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;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBR,iBAAiB,GACxB,MAAM,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAC/C,OAAO,CAAC,IAAI,CAAC,CAuDd;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;IAKjC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGhD,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;cAIxB,sBAAsB,CACvC,QAAQ,EAAE,yBAAyB,EACnC,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,4BAA4B,CAAC;IAIxC,UAAmB,cAAc,QAAa,OAAO,CAAC,WAAW,CAAC,CAKhE;CACH"}
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;AAgB5C,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,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC7D,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,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;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBR,iBAAiB,GACxB,MAAM,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAC/C,OAAO,CAAC,IAAI,CAAC,CAuDd;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;IAKjC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD,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;IAkBhB,OAAO,CAAC,WAAW;CASpB"}
@@ -1,4 +1,4 @@
1
- export type * from "./signer.js";
2
- export { RNAlchemySigner } from "./signer.js";
3
- export { RNSignerClient } from "./client.js";
1
+ export type * from "./signer";
2
+ export { RNAlchemySigner } from "./signer";
3
+ export { RNSignerClient } from "./client";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,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"}
@@ -1,6 +1,6 @@
1
1
  import { BaseAlchemySigner } from "@account-kit/signer";
2
2
  import { z } from "zod";
3
- import { RNSignerClient } from "./client.js";
3
+ import { RNSignerClient } from "./client";
4
4
  declare const RNAlchemySignerParamsSchema: z.ZodObject<{
5
5
  client: z.ZodUnion<[z.ZodType<RNSignerClient, z.ZodTypeDef, RNSignerClient>, z.ZodObject<{
6
6
  connection: z.ZodType<({
@@ -42,6 +42,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
42
42
  }>;
43
43
  rootOrgId: z.ZodOptional<z.ZodString>;
44
44
  oauthCallbackUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
45
+ rpId: z.ZodOptional<z.ZodString>;
45
46
  }, "strip", z.ZodTypeAny, {
46
47
  connection: ({
47
48
  apiKey: string;
@@ -64,6 +65,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
64
65
  };
65
66
  oauthCallbackUrl: string;
66
67
  rootOrgId?: string | undefined;
68
+ rpId?: string | undefined;
67
69
  }, {
68
70
  connection: ({
69
71
  apiKey: string;
@@ -86,6 +88,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
86
88
  };
87
89
  rootOrgId?: string | undefined;
88
90
  oauthCallbackUrl?: string | undefined;
91
+ rpId?: string | undefined;
89
92
  }>]>;
90
93
  } & {
91
94
  sessionConfig: z.ZodOptional<z.ZodObject<Omit<{
@@ -123,6 +126,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
123
126
  };
124
127
  oauthCallbackUrl: string;
125
128
  rootOrgId?: string | undefined;
129
+ rpId?: string | undefined;
126
130
  } | RNSignerClient;
127
131
  sessionConfig?: {
128
132
  sessionKey: string;
@@ -151,6 +155,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
151
155
  };
152
156
  rootOrgId?: string | undefined;
153
157
  oauthCallbackUrl?: string | undefined;
158
+ rpId?: string | undefined;
154
159
  } | RNSignerClient;
155
160
  sessionConfig?: {
156
161
  sessionKey?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AAEzE,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qBAAa,wBAAyB,SAAQ,iBAAiB,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO;WAwBO,WAAW,CAAC,MAAM,EAAE,qBAAqB;CAMxD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,4BAI5D;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../src/signer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qBAAa,wBAAyB,SAAQ,iBAAiB,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO;WAwBO,WAAW,CAAC,MAAM,EAAE,qBAAqB;CAMxD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,4BAI5D;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}
@@ -1,6 +1,7 @@
1
- import "./utils/buffer-polyfill.js";
2
- import "./utils/mmkv-localstorage-polyfill.js";
3
- import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type CreateAccountParams, type EmailAuthParams, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type SignupResponse, type User, type SubmitOtpCodeResponse } from "@account-kit/signer";
1
+ import "react-native-get-random-values";
2
+ import "./utils/buffer-polyfill";
3
+ import "./utils/mmkv-localstorage-polyfill";
4
+ import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type EmailAuthParams, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type User, type SubmitOtpCodeResponse, type CredentialCreationOptionOverrides } from "@account-kit/signer";
4
5
  import { z } from "zod";
5
6
  export declare const RNSignerClientParamsSchema: z.ZodObject<{
6
7
  connection: z.ZodType<({
@@ -42,6 +43,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
42
43
  }>;
43
44
  rootOrgId: z.ZodOptional<z.ZodString>;
44
45
  oauthCallbackUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
46
+ rpId: z.ZodOptional<z.ZodString>;
45
47
  }, "strip", z.ZodTypeAny, {
46
48
  connection: ({
47
49
  apiKey: string;
@@ -64,6 +66,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
64
66
  };
65
67
  oauthCallbackUrl: string;
66
68
  rootOrgId?: string | undefined;
69
+ rpId?: string | undefined;
67
70
  }, {
68
71
  connection: ({
69
72
  apiKey: string;
@@ -86,15 +89,16 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
86
89
  };
87
90
  rootOrgId?: string | undefined;
88
91
  oauthCallbackUrl?: string | undefined;
92
+ rpId?: string | undefined;
89
93
  }>;
90
94
  export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
91
95
  export declare class RNSignerClient extends BaseSignerClient<undefined> {
92
96
  private stamper;
93
97
  oauthCallbackUrl: string;
98
+ rpId: string | undefined;
94
99
  private validAuthenticatingTypes;
95
100
  constructor(params: RNSignerClientParams);
96
101
  submitOtpCode(args: Omit<OtpParams, "targetPublicKey">): Promise<SubmitOtpCodeResponse>;
97
- createAccount(params: CreateAccountParams): Promise<SignupResponse>;
98
102
  initEmailAuth(params: Omit<EmailAuthParams, "targetPublicKey">): Promise<{
99
103
  orgId: string;
100
104
  otpId?: string;
@@ -115,11 +119,15 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
115
119
  }>): Promise<User>;
116
120
  disconnect(): Promise<void>;
117
121
  exportWallet(_params: unknown): Promise<boolean>;
118
- lookupUserWithPasskey(_user?: User): Promise<User>;
119
122
  targetPublicKey(): Promise<string>;
120
- protected getWebAuthnAttestation(_options: CredentialCreationOptions, _userDetails?: {
123
+ protected getWebAuthnAttestation: (options?: CredentialCreationOptionOverrides, userDetails?: {
121
124
  username: string;
122
- }): Promise<GetWebAuthnAttestationResult>;
125
+ }) => Promise<GetWebAuthnAttestationResult & {
126
+ rpId: string;
127
+ }>;
123
128
  protected getOauthConfig: () => Promise<OauthConfig>;
129
+ protected initSessionStamper(): Promise<string>;
130
+ protected initWebauthnStamper(user?: User | undefined, options?: CredentialCreationOptionOverrides): Promise<void>;
131
+ private requireRpId;
124
132
  }
125
133
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,uCAAuC,CAAC;AAI/C,OAAO,EACL,gBAAgB,EAGhB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,wBAAwB,CAI9B;gBAEU,MAAM,EAAE,oBAAoB;IAazB,aAAa,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC;IAmClB,aAAa,CAC1B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAoBX,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,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;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBR,iBAAiB,GACxB,MAAM,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAC/C,OAAO,CAAC,IAAI,CAAC,CAuDd;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;IAKjC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGhD,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;cAIxB,sBAAsB,CACvC,QAAQ,EAAE,yBAAyB,EACnC,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,4BAA4B,CAAC;IAIxC,UAAmB,cAAc,QAAa,OAAO,CAAC,WAAW,CAAC,CAKhE;CACH"}
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;AAgB5C,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,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC7D,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,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;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBR,iBAAiB,GACxB,MAAM,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAC/C,OAAO,CAAC,IAAI,CAAC,CAuDd;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;IAKjC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD,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;IAkBhB,OAAO,CAAC,WAAW;CASpB"}
@@ -1,4 +1,4 @@
1
- export type * from "./signer.js";
2
- export { RNAlchemySigner } from "./signer.js";
3
- export { RNSignerClient } from "./client.js";
1
+ export type * from "./signer";
2
+ export { RNAlchemySigner } from "./signer";
3
+ export { RNSignerClient } from "./client";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,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"}
@@ -1,6 +1,6 @@
1
1
  import { BaseAlchemySigner } from "@account-kit/signer";
2
2
  import { z } from "zod";
3
- import { RNSignerClient } from "./client.js";
3
+ import { RNSignerClient } from "./client";
4
4
  declare const RNAlchemySignerParamsSchema: z.ZodObject<{
5
5
  client: z.ZodUnion<[z.ZodType<RNSignerClient, z.ZodTypeDef, RNSignerClient>, z.ZodObject<{
6
6
  connection: z.ZodType<({
@@ -42,6 +42,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
42
42
  }>;
43
43
  rootOrgId: z.ZodOptional<z.ZodString>;
44
44
  oauthCallbackUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
45
+ rpId: z.ZodOptional<z.ZodString>;
45
46
  }, "strip", z.ZodTypeAny, {
46
47
  connection: ({
47
48
  apiKey: string;
@@ -64,6 +65,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
64
65
  };
65
66
  oauthCallbackUrl: string;
66
67
  rootOrgId?: string | undefined;
68
+ rpId?: string | undefined;
67
69
  }, {
68
70
  connection: ({
69
71
  apiKey: string;
@@ -86,6 +88,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
86
88
  };
87
89
  rootOrgId?: string | undefined;
88
90
  oauthCallbackUrl?: string | undefined;
91
+ rpId?: string | undefined;
89
92
  }>]>;
90
93
  } & {
91
94
  sessionConfig: z.ZodOptional<z.ZodObject<Omit<{
@@ -123,6 +126,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
123
126
  };
124
127
  oauthCallbackUrl: string;
125
128
  rootOrgId?: string | undefined;
129
+ rpId?: string | undefined;
126
130
  } | RNSignerClient;
127
131
  sessionConfig?: {
128
132
  sessionKey: string;
@@ -151,6 +155,7 @@ declare const RNAlchemySignerParamsSchema: z.ZodObject<{
151
155
  };
152
156
  rootOrgId?: string | undefined;
153
157
  oauthCallbackUrl?: string | undefined;
158
+ rpId?: string | undefined;
154
159
  } | RNSignerClient;
155
160
  sessionConfig?: {
156
161
  sessionKey?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AAEzE,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qBAAa,wBAAyB,SAAQ,iBAAiB,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO;WAwBO,WAAW,CAAC,MAAM,EAAE,qBAAqB;CAMxD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,4BAI5D;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../src/signer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qBAAa,wBAAyB,SAAQ,iBAAiB,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO;WAwBO,WAAW,CAAC,MAAM,EAAE,qBAAqB;CAMxD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,4BAI5D;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@account-kit/react-native-signer",
3
- "version": "4.36.1",
3
+ "version": "4.37.0",
4
4
  "author": "Alchemy",
5
5
  "description": "React Native compatible Account Kit signer",
6
6
  "source": "./src/index.tsx",
@@ -73,8 +73,10 @@
73
73
  "react": "18.3.1",
74
74
  "react-native": "0.76.5",
75
75
  "react-native-builder-bob": "^0.30.3",
76
+ "react-native-get-random-values": "^1.11.0",
76
77
  "react-native-inappbrowser-reborn": "^3.7.0",
77
78
  "react-native-mmkv": "^3.1.0",
79
+ "react-native-passkey": "^3.1.0",
78
80
  "typescript-template": "*"
79
81
  },
80
82
  "resolutions": {
@@ -83,8 +85,10 @@
83
85
  "peerDependencies": {
84
86
  "react": ">=18.0.0",
85
87
  "react-native": ">=0.76.0",
88
+ "react-native-get-random-values": "^1.11.0",
86
89
  "react-native-inappbrowser-reborn": "^3.7.0",
87
- "react-native-mmkv": "^3.1.0"
90
+ "react-native-mmkv": "^3.1.0",
91
+ "react-native-passkey": "^3.1.0"
88
92
  },
89
93
  "jest": {
90
94
  "preset": "react-native",
@@ -138,9 +142,11 @@
138
142
  "version": "0.42.2"
139
143
  },
140
144
  "dependencies": {
141
- "@aa-sdk/core": "^4.36.1",
142
- "@account-kit/signer": "^4.36.1",
145
+ "@aa-sdk/core": "^4.37.0",
146
+ "@account-kit/signer": "^4.37.0",
147
+ "@turnkey/react-native-passkey-stamper": "^1.0.14",
148
+ "uuid": "^11.1.0",
143
149
  "viem": "2.29.2"
144
150
  },
145
- "gitHead": "005595d01c06d778deed48d554e41dd4ad99eab2"
151
+ "gitHead": "52e038a5eb1b760a58b0622922486cb4a1297c33"
146
152
  }
package/src/client.ts CHANGED
@@ -1,29 +1,42 @@
1
- import "./utils/buffer-polyfill.js";
2
- import "./utils/mmkv-localstorage-polyfill.js";
1
+ /* eslint-disable import/extensions */
2
+ import "react-native-get-random-values";
3
+ import "./utils/buffer-polyfill";
4
+ import "./utils/mmkv-localstorage-polyfill";
3
5
 
4
6
  /* eslint-disable import/extensions */
5
7
  import { type ConnectionConfig } from "@aa-sdk/core";
8
+ import {
9
+ createPasskey,
10
+ PasskeyStamper,
11
+ type AuthenticatorTransport,
12
+ } from "@turnkey/react-native-passkey-stamper";
13
+ import {
14
+ stringify as uuidStringify,
15
+ parse as uuidParse,
16
+ v4 as uuidv4,
17
+ validate as uuidValidate,
18
+ version as uuidVersion,
19
+ } from "uuid";
6
20
  import {
7
21
  BaseSignerClient,
8
22
  OauthFailedError,
9
23
  MfaRequiredError,
10
24
  type AlchemySignerClientEvents,
11
25
  type AuthenticatingEventMetadata,
12
- type CreateAccountParams,
13
26
  type EmailAuthParams,
14
27
  type GetWebAuthnAttestationResult,
15
28
  type MfaFactor,
16
29
  type OauthConfig,
17
30
  type OauthParams,
18
31
  type OtpParams,
19
- type SignupResponse,
20
32
  type User,
21
33
  type SubmitOtpCodeResponse,
34
+ type CredentialCreationOptionOverrides,
22
35
  } from "@account-kit/signer";
23
36
  import { InAppBrowser } from "react-native-inappbrowser-reborn";
24
37
  import { z } from "zod";
25
38
  import { InAppBrowserUnavailableError } from "./errors";
26
- import NativeTEKStamper from "./NativeTEKStamper.js";
39
+ import NativeTEKStamper from "./NativeTEKStamper";
27
40
  import { parseSearchParams } from "./utils/parseUrlParams";
28
41
  import { parseMfaError } from "./utils/parseMfaError";
29
42
 
@@ -34,6 +47,7 @@ export const RNSignerClientParamsSchema = z.object({
34
47
  .string()
35
48
  .optional()
36
49
  .default("https://signer.alchemy.com/callback"),
50
+ rpId: z.string().optional(),
37
51
  });
38
52
 
39
53
  export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
@@ -42,6 +56,7 @@ export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
42
56
  export class RNSignerClient extends BaseSignerClient<undefined> {
43
57
  private stamper = NativeTEKStamper;
44
58
  oauthCallbackUrl: string;
59
+ rpId: string | undefined;
45
60
  private validAuthenticatingTypes: AuthenticatingEventMetadata["type"][] = [
46
61
  "email",
47
62
  "otp",
@@ -49,7 +64,7 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
49
64
  ];
50
65
 
51
66
  constructor(params: RNSignerClientParams) {
52
- const { connection, rootOrgId, oauthCallbackUrl } =
67
+ const { connection, rootOrgId, oauthCallbackUrl, rpId } =
53
68
  RNSignerClientParamsSchema.parse(params);
54
69
 
55
70
  super({
@@ -59,6 +74,7 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
59
74
  });
60
75
 
61
76
  this.oauthCallbackUrl = oauthCallbackUrl;
77
+ this.rpId = rpId;
62
78
  }
63
79
 
64
80
  override async submitOtpCode(
@@ -98,28 +114,6 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
98
114
  );
99
115
  }
100
116
 
101
- override async createAccount(
102
- params: CreateAccountParams,
103
- ): Promise<SignupResponse> {
104
- if (params.type !== "email") {
105
- throw new Error("Only email account creation is supported");
106
- }
107
-
108
- this.eventEmitter.emit("authenticating", { type: "email" });
109
- const { email, expirationSeconds } = params;
110
- const publicKey = await this.stamper.init();
111
-
112
- const response = await this.request("/v1/signup", {
113
- email,
114
- emailMode: params.emailMode,
115
- targetPublicKey: publicKey,
116
- expirationSeconds,
117
- redirectParams: params.redirectParams?.toString(),
118
- });
119
-
120
- return response;
121
- }
122
-
123
117
  override async initEmailAuth(
124
118
  params: Omit<EmailAuthParams, "targetPublicKey">,
125
119
  ): Promise<{ orgId: string; otpId?: string; multiFactors?: MfaFactor[] }> {
@@ -246,20 +240,41 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
246
240
  override exportWallet(_params: unknown): Promise<boolean> {
247
241
  throw new Error("Method not implemented.");
248
242
  }
249
- override lookupUserWithPasskey(_user?: User): Promise<User> {
250
- throw new Error("Method not implemented.");
251
- }
252
243
 
253
244
  override targetPublicKey(): Promise<string> {
254
245
  return this.stamper.init();
255
246
  }
256
247
 
257
- protected override getWebAuthnAttestation(
258
- _options: CredentialCreationOptions,
259
- _userDetails?: { username: string },
260
- ): Promise<GetWebAuthnAttestationResult> {
261
- throw new Error("Method not implemented.");
262
- }
248
+ protected override getWebAuthnAttestation = async (
249
+ options?: CredentialCreationOptionOverrides,
250
+ userDetails: { username: string } = {
251
+ username: this.user?.email ?? "anonymous",
252
+ },
253
+ ): Promise<GetWebAuthnAttestationResult & { rpId: string }> => {
254
+ const { username } = userDetails;
255
+ const authenticatorUserId = getAuthenticatorUserId(options);
256
+ const rpId = this.requireRpId(options);
257
+ const authenticatorParams = await createPasskey({
258
+ rp: {
259
+ id: rpId,
260
+ name: rpId,
261
+ ...options?.publicKey?.rp,
262
+ },
263
+ user: {
264
+ name: username,
265
+ displayName: username,
266
+ ...options?.publicKey?.user,
267
+ id: uuidStringify(bufferSourceToUint8Array(authenticatorUserId)),
268
+ },
269
+ authenticatorName: "End-User Passkey",
270
+ });
271
+ return {
272
+ attestation: authenticatorParams.attestation,
273
+ challenge: authenticatorParams.challenge,
274
+ authenticatorUserId,
275
+ rpId,
276
+ };
277
+ };
263
278
 
264
279
  protected override getOauthConfig = async (): Promise<OauthConfig> => {
265
280
  const publicKey = await this.stamper.init();
@@ -267,4 +282,74 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
267
282
  const nonce = this.getOauthNonce(publicKey);
268
283
  return this.request("/v1/prepare-oauth", { nonce });
269
284
  };
285
+
286
+ protected override async initSessionStamper(): Promise<string> {
287
+ return this.stamper.init();
288
+ }
289
+
290
+ protected override async initWebauthnStamper(
291
+ user: User | undefined = this.user,
292
+ options?: CredentialCreationOptionOverrides,
293
+ ): Promise<void> {
294
+ const rpId = this.requireRpId(options);
295
+ this.setStamper(
296
+ new PasskeyStamper({
297
+ rpId,
298
+ allowCredentials: user?.credentialId
299
+ ? [
300
+ {
301
+ id: user.credentialId,
302
+ type: "public-key",
303
+ transports: ["internal", "hybrid"] as AuthenticatorTransport[],
304
+ },
305
+ ]
306
+ : undefined,
307
+ }),
308
+ );
309
+ }
310
+
311
+ private requireRpId(options?: CredentialCreationOptionOverrides): string {
312
+ const rpId = options?.publicKey?.rp?.id ?? this.rpId;
313
+ if (!rpId) {
314
+ throw new Error(
315
+ "rpId must be set in configuration to use passkeys in React Native",
316
+ );
317
+ }
318
+ return rpId;
319
+ }
320
+ }
321
+
322
+ function getAuthenticatorUserId(
323
+ options?: CredentialCreationOptionOverrides,
324
+ ): BufferSource {
325
+ // Android requires this to be a UUIDv4.
326
+ const id = options?.publicKey?.user?.id;
327
+ if (id) {
328
+ const stringId = uuidStringify(id as Uint8Array);
329
+ if (!uuidValidate(stringId) || uuidVersion(stringId) !== 4) {
330
+ throw new Error("Challenge must be a valid UUIDv4 to support Android");
331
+ }
332
+ return id;
333
+ }
334
+ return uuidParse(uuidv4());
335
+ }
336
+
337
+ function bufferSourceToUint8Array(bufferSource: BufferSource): Uint8Array {
338
+ if (bufferSource instanceof Uint8Array) {
339
+ return bufferSource;
340
+ }
341
+ if (bufferSource instanceof ArrayBuffer) {
342
+ return new Uint8Array(bufferSource);
343
+ }
344
+ if (ArrayBuffer.isView(bufferSource)) {
345
+ // Any other TypedArray (e.g., Int16Array, Float32Array, etc.)
346
+ return new Uint8Array(
347
+ bufferSource.buffer,
348
+ bufferSource.byteOffset,
349
+ bufferSource.byteLength,
350
+ );
351
+ }
352
+ throw new TypeError(
353
+ "Input must be a BufferSource (ArrayBuffer or TypedArray)",
354
+ );
270
355
  }
package/src/index.tsx ADDED
@@ -0,0 +1,4 @@
1
+ /* eslint-disable import/extensions */
2
+ export type * from "./signer";
3
+ export { RNAlchemySigner } from "./signer";
4
+ export { RNSignerClient } from "./client";
package/src/signer.ts CHANGED
@@ -1,9 +1,10 @@
1
+ /* eslint-disable import/extensions */
1
2
  import {
2
3
  BaseAlchemySigner,
3
4
  SessionManagerParamsSchema,
4
5
  } from "@account-kit/signer";
5
6
  import { z } from "zod";
6
- import { RNSignerClient, RNSignerClientParamsSchema } from "./client.js";
7
+ import { RNSignerClient, RNSignerClientParamsSchema } from "./client";
7
8
 
8
9
  const RNAlchemySignerParamsSchema = z
9
10
  .object({
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export type * from "./signer.js";
2
- export { RNAlchemySigner } from "./signer.js";
3
- export { RNSignerClient } from "./client.js";