@account-kit/react-native-signer 4.26.0 → 4.28.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,7 @@ var _zod = require("zod");
12
12
  var _errors = require("./errors.js");
13
13
  var _NativeTEKStamper = _interopRequireDefault(require("./NativeTEKStamper.js"));
14
14
  var _parseUrlParams = require("./utils/parseUrlParams.js");
15
+ var _parseMfaError = require("./utils/parseMfaError.js");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  /* eslint-disable import/extensions */
17
18
 
@@ -46,13 +47,24 @@ class RNSignerClient extends _signer.BaseSignerClient {
46
47
  ...args,
47
48
  targetPublicKey: publicKey
48
49
  });
49
- if (response.status === "MFA_REQUIRED") {
50
- throw new Error("Multi-factor authentication is required");
50
+ if ("credentialBundle" in response && response.credentialBundle) {
51
+ return {
52
+ mfaRequired: false,
53
+ bundle: response.credentialBundle
54
+ };
51
55
  }
52
- return {
53
- bundle: response.credentialBundle,
54
- mfaRequired: false
55
- };
56
+
57
+ // If the server says "MFA_REQUIRED", pass that data back to the caller:
58
+ if (response.status === "MFA_REQUIRED" && response.encryptedPayload && response.multiFactors) {
59
+ return {
60
+ mfaRequired: true,
61
+ encryptedPayload: response.encryptedPayload,
62
+ multiFactors: response.multiFactors
63
+ };
64
+ }
65
+
66
+ // Otherwise, it's truly an error:
67
+ throw new Error("Failed to submit OTP code. Server did not return required fields.");
56
68
  }
57
69
  async createAccount(params) {
58
70
  if (params.type !== "email") {
@@ -79,13 +91,24 @@ class RNSignerClient extends _signer.BaseSignerClient {
79
91
  this.eventEmitter.emit("authenticating", {
80
92
  type: "email"
81
93
  });
82
- let targetPublicKey = await this.stamper.init();
83
- const response = await this.request("/v1/auth", {
84
- email: params.email,
85
- emailMode: params.emailMode,
86
- targetPublicKey
87
- });
88
- return response;
94
+ const targetPublicKey = await this.stamper.init();
95
+ try {
96
+ return await this.request("/v1/auth", {
97
+ email: params.email,
98
+ emailMode: params.emailMode,
99
+ targetPublicKey,
100
+ multiFactors: params.multiFactors
101
+ });
102
+ } catch (error) {
103
+ const multiFactors = (0, _parseMfaError.parseMfaError)(error);
104
+
105
+ // If MFA is required, and emailMode is Magic Link, the user must submit mfa with the request or
106
+ // the server will return an error with the required mfa factors.
107
+ if (multiFactors) {
108
+ throw new _signer.MfaRequiredError(multiFactors);
109
+ }
110
+ throw error;
111
+ }
89
112
  }
90
113
  async completeAuthWithBundle(params) {
91
114
  if (!this.validAuthenticatingTypes.includes(params.authenticatingType)) {
@@ -180,48 +203,6 @@ class RNSignerClient extends _signer.BaseSignerClient {
180
203
  nonce
181
204
  });
182
205
  };
183
-
184
- /**
185
- * Retrieves the list of MFA factors configured for the current user.
186
- *
187
- * @throws {Error} This method is not implemented in RNSignerClient
188
- */
189
- getMfaFactors() {
190
- throw new Error("getMfaFactors is not implemented in RNSignerClient");
191
- }
192
-
193
- /**
194
- * Initiates the setup of a new MFA factor for the current user.
195
- *
196
- * @param {EnableMfaParams} _params The parameters required to enable a new MFA factor
197
- * @throws {Error} This method is not implemented in RNSignerClient
198
- */
199
- addMfa(_params) {
200
- throw new Error("enableMfa is not implemented in RNSignerClient");
201
- }
202
-
203
- /**
204
- * Verifies a newly created MFA factor to complete the setup process.
205
- *
206
- * @param {VerifyMfaParams} _params The parameters required to verify the MFA factor
207
- * @throws {Error} This method is not implemented in RNSignerClient
208
- */
209
- verifyMfa(_params) {
210
- throw new Error("verifyMfa is not implemented in RNSignerClient");
211
- }
212
-
213
- /**
214
- * Removes existing MFA factors by ID.
215
- *
216
- * @param {RemoveMfaParams} _params The parameters specifying which factors to disable
217
- * @throws {Error} This method is not implemented in RNSignerClient
218
- */
219
- removeMfa(_params) {
220
- throw new Error("disableMfa is not implemented in RNSignerClient");
221
- }
222
- validateMultiFactors(_params) {
223
- throw new Error("validateMultiFactors is not implemented in RNSignerClient");
224
- }
225
206
  }
226
207
  exports.RNSignerClient = RNSignerClient;
227
208
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_signer","_reactNativeInappbrowserReborn","_zod","_errors","_NativeTEKStamper","_interopRequireDefault","_parseUrlParams","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","status","Error","bundle","credentialBundle","mfaRequired","createAccount","email","expirationSeconds","emailMode","redirectParams","toString","initEmailAuth","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","error","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","_params","lookupUserWithPasskey","_user","getWebAuthnAttestation","_options","_userDetails","nonce","getOauthNonce","getMfaFactors","addMfa","verifyMfa","removeMfa","validateMultiFactors"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseMfaError = parseMfaError;
7
+ function parseMfaError(error) {
8
+ if (error instanceof Error) {
9
+ try {
10
+ const parsed = JSON.parse(error.message);
11
+ if (parsed?.data?.multiFactors) {
12
+ return parsed.data.multiFactors;
13
+ }
14
+ } catch {
15
+ // ignore JSON parse failures
16
+ }
17
+ }
18
+ return null;
19
+ }
20
+ //# sourceMappingURL=parseMfaError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseMfaError","error","Error","parsed","JSON","parse","message","data","multiFactors"],"sourceRoot":"../../../src","sources":["utils/parseMfaError.ts"],"mappings":";;;;;;AAEO,SAASA,aAAaA,CAACC,KAAc,EAAsB;EAChE,IAAIA,KAAK,YAAYC,KAAK,EAAE;IAC1B,IAAI;MACF,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACK,OAAO,CAAC;MACxC,IAAIH,MAAM,EAAEI,IAAI,EAAEC,YAAY,EAAE;QAC9B,OAAOL,MAAM,CAACI,IAAI,CAACC,YAAY;MACjC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -5,12 +5,13 @@ import "./utils/mmkv-localstorage-polyfill.js";
5
5
 
6
6
  /* eslint-disable import/extensions */
7
7
 
8
- import { BaseSignerClient, OauthFailedError } from "@account-kit/signer";
8
+ import { BaseSignerClient, OauthFailedError, MfaRequiredError } from "@account-kit/signer";
9
9
  import { InAppBrowser } from "react-native-inappbrowser-reborn";
10
10
  import { z } from "zod";
11
11
  import { InAppBrowserUnavailableError } from "./errors.js";
12
12
  import NativeTEKStamper from "./NativeTEKStamper.js";
13
13
  import { parseSearchParams } from "./utils/parseUrlParams.js";
14
+ import { parseMfaError } from "./utils/parseMfaError.js";
14
15
  export const RNSignerClientParamsSchema = z.object({
15
16
  connection: z.custom(),
16
17
  rootOrgId: z.string().optional(),
@@ -42,13 +43,24 @@ export class RNSignerClient extends BaseSignerClient {
42
43
  ...args,
43
44
  targetPublicKey: publicKey
44
45
  });
45
- if (response.status === "MFA_REQUIRED") {
46
- throw new Error("Multi-factor authentication is required");
46
+ if ("credentialBundle" in response && response.credentialBundle) {
47
+ return {
48
+ mfaRequired: false,
49
+ bundle: response.credentialBundle
50
+ };
47
51
  }
48
- return {
49
- bundle: response.credentialBundle,
50
- mfaRequired: false
51
- };
52
+
53
+ // If the server says "MFA_REQUIRED", pass that data back to the caller:
54
+ if (response.status === "MFA_REQUIRED" && response.encryptedPayload && response.multiFactors) {
55
+ return {
56
+ mfaRequired: true,
57
+ encryptedPayload: response.encryptedPayload,
58
+ multiFactors: response.multiFactors
59
+ };
60
+ }
61
+
62
+ // Otherwise, it's truly an error:
63
+ throw new Error("Failed to submit OTP code. Server did not return required fields.");
52
64
  }
53
65
  async createAccount(params) {
54
66
  if (params.type !== "email") {
@@ -75,13 +87,24 @@ export class RNSignerClient extends BaseSignerClient {
75
87
  this.eventEmitter.emit("authenticating", {
76
88
  type: "email"
77
89
  });
78
- let targetPublicKey = await this.stamper.init();
79
- const response = await this.request("/v1/auth", {
80
- email: params.email,
81
- emailMode: params.emailMode,
82
- targetPublicKey
83
- });
84
- return response;
90
+ const targetPublicKey = await this.stamper.init();
91
+ try {
92
+ return await this.request("/v1/auth", {
93
+ email: params.email,
94
+ emailMode: params.emailMode,
95
+ targetPublicKey,
96
+ multiFactors: params.multiFactors
97
+ });
98
+ } catch (error) {
99
+ const multiFactors = parseMfaError(error);
100
+
101
+ // If MFA is required, and emailMode is Magic Link, the user must submit mfa with the request or
102
+ // the server will return an error with the required mfa factors.
103
+ if (multiFactors) {
104
+ throw new MfaRequiredError(multiFactors);
105
+ }
106
+ throw error;
107
+ }
85
108
  }
86
109
  async completeAuthWithBundle(params) {
87
110
  if (!this.validAuthenticatingTypes.includes(params.authenticatingType)) {
@@ -176,47 +199,5 @@ export class RNSignerClient extends BaseSignerClient {
176
199
  nonce
177
200
  });
178
201
  };
179
-
180
- /**
181
- * Retrieves the list of MFA factors configured for the current user.
182
- *
183
- * @throws {Error} This method is not implemented in RNSignerClient
184
- */
185
- getMfaFactors() {
186
- throw new Error("getMfaFactors is not implemented in RNSignerClient");
187
- }
188
-
189
- /**
190
- * Initiates the setup of a new MFA factor for the current user.
191
- *
192
- * @param {EnableMfaParams} _params The parameters required to enable a new MFA factor
193
- * @throws {Error} This method is not implemented in RNSignerClient
194
- */
195
- addMfa(_params) {
196
- throw new Error("enableMfa is not implemented in RNSignerClient");
197
- }
198
-
199
- /**
200
- * Verifies a newly created MFA factor to complete the setup process.
201
- *
202
- * @param {VerifyMfaParams} _params The parameters required to verify the MFA factor
203
- * @throws {Error} This method is not implemented in RNSignerClient
204
- */
205
- verifyMfa(_params) {
206
- throw new Error("verifyMfa is not implemented in RNSignerClient");
207
- }
208
-
209
- /**
210
- * Removes existing MFA factors by ID.
211
- *
212
- * @param {RemoveMfaParams} _params The parameters specifying which factors to disable
213
- * @throws {Error} This method is not implemented in RNSignerClient
214
- */
215
- removeMfa(_params) {
216
- throw new Error("disableMfa is not implemented in RNSignerClient");
217
- }
218
- validateMultiFactors(_params) {
219
- throw new Error("validateMultiFactors is not implemented in RNSignerClient");
220
- }
221
202
  }
222
203
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseSignerClient","OauthFailedError","InAppBrowser","z","InAppBrowserUnavailableError","NativeTEKStamper","parseSearchParams","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","status","Error","bundle","credentialBundle","mfaRequired","createAccount","email","expirationSeconds","emailMode","redirectParams","toString","initEmailAuth","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","error","oauthWithPopup","_args","disconnect","undefined","clear","exportWallet","_params","lookupUserWithPasskey","_user","getWebAuthnAttestation","_options","_userDetails","nonce","getOauthNonce","getMfaFactors","addMfa","verifyMfa","removeMfa","validateMultiFactors"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ export function parseMfaError(error) {
4
+ if (error instanceof Error) {
5
+ try {
6
+ const parsed = JSON.parse(error.message);
7
+ if (parsed?.data?.multiFactors) {
8
+ return parsed.data.multiFactors;
9
+ }
10
+ } catch {
11
+ // ignore JSON parse failures
12
+ }
13
+ }
14
+ return null;
15
+ }
16
+ //# sourceMappingURL=parseMfaError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseMfaError","error","Error","parsed","JSON","parse","message","data","multiFactors"],"sourceRoot":"../../../src","sources":["utils/parseMfaError.ts"],"mappings":";;AAEA,OAAO,SAASA,aAAaA,CAACC,KAAc,EAAsB;EAChE,IAAIA,KAAK,YAAYC,KAAK,EAAE;IAC1B,IAAI;MACF,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACK,OAAO,CAAC;MACxC,IAAIH,MAAM,EAAEI,IAAI,EAAEC,YAAY,EAAE;QAC9B,OAAOL,MAAM,CAACI,IAAI,CAACC,YAAY;MACjC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import "./utils/buffer-polyfill.js";
2
2
  import "./utils/mmkv-localstorage-polyfill.js";
3
- import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type CreateAccountParams, type RemoveMfaParams, type EmailAuthParams, type EnableMfaParams, type EnableMfaResult, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type SignupResponse, type User, type VerifyMfaParams, type SubmitOtpCodeResponse } from "@account-kit/signer";
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";
4
4
  import { z } from "zod";
5
5
  export declare const RNSignerClientParamsSchema: z.ZodObject<{
6
6
  connection: z.ZodType<{
@@ -89,6 +89,8 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
89
89
  createAccount(params: CreateAccountParams): Promise<SignupResponse>;
90
90
  initEmailAuth(params: Omit<EmailAuthParams, "targetPublicKey">): Promise<{
91
91
  orgId: string;
92
+ otpId?: string;
93
+ multiFactors?: MfaFactor[];
92
94
  }>;
93
95
  completeAuthWithBundle(params: {
94
96
  bundle: string;
@@ -111,47 +113,5 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
111
113
  username: string;
112
114
  }): Promise<GetWebAuthnAttestationResult>;
113
115
  protected getOauthConfig: () => Promise<OauthConfig>;
114
- /**
115
- * Retrieves the list of MFA factors configured for the current user.
116
- *
117
- * @throws {Error} This method is not implemented in RNSignerClient
118
- */
119
- getMfaFactors(): Promise<{
120
- multiFactors: MfaFactor[];
121
- }>;
122
- /**
123
- * Initiates the setup of a new MFA factor for the current user.
124
- *
125
- * @param {EnableMfaParams} _params The parameters required to enable a new MFA factor
126
- * @throws {Error} This method is not implemented in RNSignerClient
127
- */
128
- addMfa(_params: EnableMfaParams): Promise<EnableMfaResult>;
129
- /**
130
- * Verifies a newly created MFA factor to complete the setup process.
131
- *
132
- * @param {VerifyMfaParams} _params The parameters required to verify the MFA factor
133
- * @throws {Error} This method is not implemented in RNSignerClient
134
- */
135
- verifyMfa(_params: VerifyMfaParams): Promise<{
136
- multiFactors: MfaFactor[];
137
- }>;
138
- /**
139
- * Removes existing MFA factors by ID.
140
- *
141
- * @param {RemoveMfaParams} _params The parameters specifying which factors to disable
142
- * @throws {Error} This method is not implemented in RNSignerClient
143
- */
144
- removeMfa(_params: RemoveMfaParams): Promise<{
145
- multiFactors: MfaFactor[];
146
- }>;
147
- validateMultiFactors(_params: {
148
- encryptedPayload: string;
149
- multiFactors: {
150
- multiFactorId: string;
151
- multiFactorCode: string;
152
- }[];
153
- }): Promise<{
154
- bundle: string;
155
- }>;
156
116
  }
157
117
  //# sourceMappingURL=client.d.ts.map
@@ -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":"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,SAClB,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"}
@@ -0,0 +1,3 @@
1
+ import type { MfaFactor } from "@account-kit/signer";
2
+ export declare function parseMfaError(error: unknown): MfaFactor[] | null;
3
+ //# sourceMappingURL=parseMfaError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMfaError.d.ts","sourceRoot":"","sources":["../../../../../src/utils/parseMfaError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,CAYhE"}
@@ -1,6 +1,6 @@
1
1
  import "./utils/buffer-polyfill.js";
2
2
  import "./utils/mmkv-localstorage-polyfill.js";
3
- import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type CreateAccountParams, type RemoveMfaParams, type EmailAuthParams, type EnableMfaParams, type EnableMfaResult, type GetWebAuthnAttestationResult, type MfaFactor, type OauthConfig, type OauthParams, type OtpParams, type SignupResponse, type User, type VerifyMfaParams, type SubmitOtpCodeResponse } from "@account-kit/signer";
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";
4
4
  import { z } from "zod";
5
5
  export declare const RNSignerClientParamsSchema: z.ZodObject<{
6
6
  connection: z.ZodType<{
@@ -89,6 +89,8 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
89
89
  createAccount(params: CreateAccountParams): Promise<SignupResponse>;
90
90
  initEmailAuth(params: Omit<EmailAuthParams, "targetPublicKey">): Promise<{
91
91
  orgId: string;
92
+ otpId?: string;
93
+ multiFactors?: MfaFactor[];
92
94
  }>;
93
95
  completeAuthWithBundle(params: {
94
96
  bundle: string;
@@ -111,47 +113,5 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
111
113
  username: string;
112
114
  }): Promise<GetWebAuthnAttestationResult>;
113
115
  protected getOauthConfig: () => Promise<OauthConfig>;
114
- /**
115
- * Retrieves the list of MFA factors configured for the current user.
116
- *
117
- * @throws {Error} This method is not implemented in RNSignerClient
118
- */
119
- getMfaFactors(): Promise<{
120
- multiFactors: MfaFactor[];
121
- }>;
122
- /**
123
- * Initiates the setup of a new MFA factor for the current user.
124
- *
125
- * @param {EnableMfaParams} _params The parameters required to enable a new MFA factor
126
- * @throws {Error} This method is not implemented in RNSignerClient
127
- */
128
- addMfa(_params: EnableMfaParams): Promise<EnableMfaResult>;
129
- /**
130
- * Verifies a newly created MFA factor to complete the setup process.
131
- *
132
- * @param {VerifyMfaParams} _params The parameters required to verify the MFA factor
133
- * @throws {Error} This method is not implemented in RNSignerClient
134
- */
135
- verifyMfa(_params: VerifyMfaParams): Promise<{
136
- multiFactors: MfaFactor[];
137
- }>;
138
- /**
139
- * Removes existing MFA factors by ID.
140
- *
141
- * @param {RemoveMfaParams} _params The parameters specifying which factors to disable
142
- * @throws {Error} This method is not implemented in RNSignerClient
143
- */
144
- removeMfa(_params: RemoveMfaParams): Promise<{
145
- multiFactors: MfaFactor[];
146
- }>;
147
- validateMultiFactors(_params: {
148
- encryptedPayload: string;
149
- multiFactors: {
150
- multiFactorId: string;
151
- multiFactorCode: string;
152
- }[];
153
- }): Promise<{
154
- bundle: string;
155
- }>;
156
116
  }
157
117
  //# sourceMappingURL=client.d.ts.map
@@ -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":"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,SAClB,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"}
@@ -0,0 +1,3 @@
1
+ import type { MfaFactor } from "@account-kit/signer";
2
+ export declare function parseMfaError(error: unknown): MfaFactor[] | null;
3
+ //# sourceMappingURL=parseMfaError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMfaError.d.ts","sourceRoot":"","sources":["../../../../../src/utils/parseMfaError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,CAYhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@account-kit/react-native-signer",
3
- "version": "4.26.0",
3
+ "version": "4.28.0",
4
4
  "author": "Alchemy",
5
5
  "description": "React Native compatible Account Kit signer",
6
6
  "source": "./src/index.tsx",
@@ -150,9 +150,9 @@
150
150
  "version": "0.42.2"
151
151
  },
152
152
  "dependencies": {
153
- "@aa-sdk/core": "^4.26.0",
154
- "@account-kit/signer": "^4.26.0",
153
+ "@aa-sdk/core": "^4.28.0",
154
+ "@account-kit/signer": "^4.28.0",
155
155
  "viem": "^2.21.40"
156
156
  },
157
- "gitHead": "cce56919f91518b2bc1f94c1a721d99dd0f21646"
157
+ "gitHead": "fd15569ef554b4ff19c72d864e1031aad8bdf8b3"
158
158
  }
package/src/client.ts CHANGED
@@ -6,13 +6,11 @@ import { type ConnectionConfig } from "@aa-sdk/core";
6
6
  import {
7
7
  BaseSignerClient,
8
8
  OauthFailedError,
9
+ MfaRequiredError,
9
10
  type AlchemySignerClientEvents,
10
11
  type AuthenticatingEventMetadata,
11
12
  type CreateAccountParams,
12
- type RemoveMfaParams,
13
13
  type EmailAuthParams,
14
- type EnableMfaParams,
15
- type EnableMfaResult,
16
14
  type GetWebAuthnAttestationResult,
17
15
  type MfaFactor,
18
16
  type OauthConfig,
@@ -20,7 +18,6 @@ import {
20
18
  type OtpParams,
21
19
  type SignupResponse,
22
20
  type User,
23
- type VerifyMfaParams,
24
21
  type SubmitOtpCodeResponse,
25
22
  } from "@account-kit/signer";
26
23
  import { InAppBrowser } from "react-native-inappbrowser-reborn";
@@ -28,6 +25,7 @@ import { z } from "zod";
28
25
  import { InAppBrowserUnavailableError } from "./errors";
29
26
  import NativeTEKStamper from "./NativeTEKStamper.js";
30
27
  import { parseSearchParams } from "./utils/parseUrlParams";
28
+ import { parseMfaError } from "./utils/parseMfaError";
31
29
 
32
30
  export const RNSignerClientParamsSchema = z.object({
33
31
  connection: z.custom<ConnectionConfig>(),
@@ -74,11 +72,30 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
74
72
  targetPublicKey: publicKey,
75
73
  });
76
74
 
77
- if (response.status === "MFA_REQUIRED") {
78
- throw new Error("Multi-factor authentication is required");
75
+ if ("credentialBundle" in response && response.credentialBundle) {
76
+ return {
77
+ mfaRequired: false,
78
+ bundle: response.credentialBundle,
79
+ };
79
80
  }
80
81
 
81
- return { bundle: response.credentialBundle, mfaRequired: false };
82
+ // If the server says "MFA_REQUIRED", pass that data back to the caller:
83
+ if (
84
+ response.status === "MFA_REQUIRED" &&
85
+ response.encryptedPayload &&
86
+ response.multiFactors
87
+ ) {
88
+ return {
89
+ mfaRequired: true,
90
+ encryptedPayload: response.encryptedPayload,
91
+ multiFactors: response.multiFactors,
92
+ };
93
+ }
94
+
95
+ // Otherwise, it's truly an error:
96
+ throw new Error(
97
+ "Failed to submit OTP code. Server did not return required fields."
98
+ );
82
99
  }
83
100
 
84
101
  override async createAccount(
@@ -105,17 +122,27 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
105
122
 
106
123
  override async initEmailAuth(
107
124
  params: Omit<EmailAuthParams, "targetPublicKey">
108
- ): Promise<{ orgId: string }> {
125
+ ): Promise<{ orgId: string; otpId?: string; multiFactors?: MfaFactor[] }> {
109
126
  this.eventEmitter.emit("authenticating", { type: "email" });
110
- let targetPublicKey = await this.stamper.init();
111
-
112
- const response = await this.request("/v1/auth", {
113
- email: params.email,
114
- emailMode: params.emailMode,
115
- targetPublicKey,
116
- });
127
+ const targetPublicKey = await this.stamper.init();
128
+
129
+ try {
130
+ return await this.request("/v1/auth", {
131
+ email: params.email,
132
+ emailMode: params.emailMode,
133
+ targetPublicKey,
134
+ multiFactors: params.multiFactors,
135
+ });
136
+ } catch (error) {
137
+ const multiFactors = parseMfaError(error);
117
138
 
118
- return response;
139
+ // If MFA is required, and emailMode is Magic Link, the user must submit mfa with the request or
140
+ // the server will return an error with the required mfa factors.
141
+ if (multiFactors) {
142
+ throw new MfaRequiredError(multiFactors);
143
+ }
144
+ throw error;
145
+ }
119
146
  }
120
147
 
121
148
  override async completeAuthWithBundle(params: {
@@ -240,56 +267,4 @@ export class RNSignerClient extends BaseSignerClient<undefined> {
240
267
  const nonce = this.getOauthNonce(publicKey);
241
268
  return this.request("/v1/prepare-oauth", { nonce });
242
269
  };
243
-
244
- /**
245
- * Retrieves the list of MFA factors configured for the current user.
246
- *
247
- * @throws {Error} This method is not implemented in RNSignerClient
248
- */
249
- public override getMfaFactors(): Promise<{ multiFactors: MfaFactor[] }> {
250
- throw new Error("getMfaFactors is not implemented in RNSignerClient");
251
- }
252
-
253
- /**
254
- * Initiates the setup of a new MFA factor for the current user.
255
- *
256
- * @param {EnableMfaParams} _params The parameters required to enable a new MFA factor
257
- * @throws {Error} This method is not implemented in RNSignerClient
258
- */
259
- public override addMfa(_params: EnableMfaParams): Promise<EnableMfaResult> {
260
- throw new Error("enableMfa is not implemented in RNSignerClient");
261
- }
262
-
263
- /**
264
- * Verifies a newly created MFA factor to complete the setup process.
265
- *
266
- * @param {VerifyMfaParams} _params The parameters required to verify the MFA factor
267
- * @throws {Error} This method is not implemented in RNSignerClient
268
- */
269
- public override verifyMfa(_params: VerifyMfaParams): Promise<{
270
- multiFactors: MfaFactor[];
271
- }> {
272
- throw new Error("verifyMfa is not implemented in RNSignerClient");
273
- }
274
-
275
- /**
276
- * Removes existing MFA factors by ID.
277
- *
278
- * @param {RemoveMfaParams} _params The parameters specifying which factors to disable
279
- * @throws {Error} This method is not implemented in RNSignerClient
280
- */
281
- public override removeMfa(_params: RemoveMfaParams): Promise<{
282
- multiFactors: MfaFactor[];
283
- }> {
284
- throw new Error("disableMfa is not implemented in RNSignerClient");
285
- }
286
-
287
- public override validateMultiFactors(_params: {
288
- encryptedPayload: string;
289
- multiFactors: { multiFactorId: string; multiFactorCode: string }[];
290
- }): Promise<{ bundle: string }> {
291
- throw new Error(
292
- "validateMultiFactors is not implemented in RNSignerClient"
293
- );
294
- }
295
270
  }
@@ -0,0 +1,15 @@
1
+ import type { MfaFactor } from "@account-kit/signer";
2
+
3
+ export function parseMfaError(error: unknown): MfaFactor[] | null {
4
+ if (error instanceof Error) {
5
+ try {
6
+ const parsed = JSON.parse(error.message);
7
+ if (parsed?.data?.multiFactors) {
8
+ return parsed.data.multiFactors;
9
+ }
10
+ } catch {
11
+ // ignore JSON parse failures
12
+ }
13
+ }
14
+ return null;
15
+ }