@account-kit/react-native-signer 4.9.0 → 4.10.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.
Files changed (63) hide show
  1. package/lib/commonjs/client.js +67 -11
  2. package/lib/commonjs/client.js.map +1 -1
  3. package/lib/commonjs/errors.js +15 -0
  4. package/lib/commonjs/errors.js.map +1 -0
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/signer.js +2 -0
  7. package/lib/commonjs/signer.js.map +1 -1
  8. package/lib/commonjs/utils/base64UrlEncode.js +12 -0
  9. package/lib/commonjs/utils/base64UrlEncode.js.map +1 -0
  10. package/lib/commonjs/utils/buffer-polyfill.js +7 -0
  11. package/lib/commonjs/utils/buffer-polyfill.js.map +1 -0
  12. package/lib/commonjs/utils/parseUrlParams.js +19 -0
  13. package/lib/commonjs/utils/parseUrlParams.js.map +1 -0
  14. package/lib/module/client.js +68 -12
  15. package/lib/module/client.js.map +1 -1
  16. package/lib/module/errors.js +10 -0
  17. package/lib/module/errors.js.map +1 -0
  18. package/lib/module/index.js +0 -1
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/signer.js +1 -1
  21. package/lib/module/signer.js.map +1 -1
  22. package/lib/module/utils/base64UrlEncode.js +7 -0
  23. package/lib/module/utils/base64UrlEncode.js.map +1 -0
  24. package/lib/module/utils/buffer-polyfill.js +7 -0
  25. package/lib/module/utils/buffer-polyfill.js.map +1 -0
  26. package/lib/module/utils/parseUrlParams.js +14 -0
  27. package/lib/module/utils/parseUrlParams.js.map +1 -0
  28. package/lib/typescript/commonjs/src/client.d.ts +9 -3
  29. package/lib/typescript/commonjs/src/client.d.ts.map +1 -1
  30. package/lib/typescript/commonjs/src/errors.d.ts +6 -0
  31. package/lib/typescript/commonjs/src/errors.d.ts.map +1 -0
  32. package/lib/typescript/commonjs/src/index.d.ts +1 -1
  33. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/src/signer.d.ts +14 -1
  35. package/lib/typescript/commonjs/src/signer.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/src/utils/base64UrlEncode.d.ts +2 -0
  37. package/lib/typescript/commonjs/src/utils/base64UrlEncode.d.ts.map +1 -0
  38. package/lib/typescript/commonjs/src/utils/buffer-polyfill.d.ts +2 -0
  39. package/lib/typescript/commonjs/src/utils/buffer-polyfill.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/src/utils/parseUrlParams.d.ts +2 -0
  41. package/lib/typescript/commonjs/src/utils/parseUrlParams.d.ts.map +1 -0
  42. package/lib/typescript/module/src/client.d.ts +9 -3
  43. package/lib/typescript/module/src/client.d.ts.map +1 -1
  44. package/lib/typescript/module/src/errors.d.ts +6 -0
  45. package/lib/typescript/module/src/errors.d.ts.map +1 -0
  46. package/lib/typescript/module/src/index.d.ts +1 -1
  47. package/lib/typescript/module/src/index.d.ts.map +1 -1
  48. package/lib/typescript/module/src/signer.d.ts +14 -1
  49. package/lib/typescript/module/src/signer.d.ts.map +1 -1
  50. package/lib/typescript/module/src/utils/base64UrlEncode.d.ts +2 -0
  51. package/lib/typescript/module/src/utils/base64UrlEncode.d.ts.map +1 -0
  52. package/lib/typescript/module/src/utils/buffer-polyfill.d.ts +2 -0
  53. package/lib/typescript/module/src/utils/buffer-polyfill.d.ts.map +1 -0
  54. package/lib/typescript/module/src/utils/parseUrlParams.d.ts +2 -0
  55. package/lib/typescript/module/src/utils/parseUrlParams.d.ts.map +1 -0
  56. package/package.json +6 -4
  57. package/src/client.ts +91 -15
  58. package/src/errors.ts +10 -0
  59. package/src/index.tsx +1 -2
  60. package/src/signer.ts +5 -2
  61. package/src/utils/base64UrlEncode.ts +11 -0
  62. package/src/utils/buffer-polyfill.ts +5 -0
  63. package/src/utils/parseUrlParams.ts +14 -0
@@ -5,29 +5,37 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.RNSignerClientParamsSchema = exports.RNSignerClient = void 0;
7
7
  require("./utils/mmkv-localstorage-polyfill.js");
8
+ require("./utils/buffer-polyfill.js");
8
9
  var _signer = require("@account-kit/signer");
9
10
  var _NativeTEKStamper = _interopRequireDefault(require("./NativeTEKStamper.js"));
10
11
  var _zod = require("zod");
12
+ var _reactNativeInappbrowserReborn = require("react-native-inappbrowser-reborn");
13
+ var _parseUrlParams = require("./utils/parseUrlParams.js");
14
+ var _errors = require("./errors.js");
11
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
16
  /* eslint-disable import/extensions */
13
17
 
14
18
  const RNSignerClientParamsSchema = exports.RNSignerClientParamsSchema = _zod.z.object({
15
19
  connection: _zod.z.custom(),
16
- rootOrgId: _zod.z.string().optional()
20
+ rootOrgId: _zod.z.string().optional(),
21
+ oauthCallbackUrl: _zod.z.string().optional().default("https://signer.alchemy.com/callback")
17
22
  });
18
23
  // TODO: need to emit events
19
24
  class RNSignerClient extends _signer.BaseSignerClient {
20
25
  stamper = _NativeTEKStamper.default;
26
+ validAuthenticatingTypes = ["email", "otp", "oauth"];
21
27
  constructor(params) {
22
28
  const {
23
29
  connection,
24
- rootOrgId
30
+ rootOrgId,
31
+ oauthCallbackUrl
25
32
  } = RNSignerClientParamsSchema.parse(params);
26
33
  super({
27
34
  stamper: _NativeTEKStamper.default,
28
35
  rootOrgId: rootOrgId ?? "24c1acf5-810f-41e0-a503-d5d13fa8e830",
29
36
  connection
30
37
  });
38
+ this.oauthCallbackUrl = oauthCallbackUrl;
31
39
  }
32
40
  async submitOtpCode(args) {
33
41
  this.eventEmitter.emit("authenticating", {
@@ -78,11 +86,11 @@ class RNSignerClient extends _signer.BaseSignerClient {
78
86
  return response;
79
87
  }
80
88
  async completeAuthWithBundle(params) {
81
- if (params.authenticatingType !== "email" && params.authenticatingType !== "otp") {
89
+ if (!this.validAuthenticatingTypes.includes(params.authenticatingType)) {
82
90
  throw new Error("Unsupported authenticating type");
83
91
  }
84
92
  this.eventEmitter.emit("authenticating", {
85
- type: "email"
93
+ type: params.authenticatingType
86
94
  });
87
95
  await this.stamper.init();
88
96
  const result = await this.stamper.injectCredentialBundle(params.bundle);
@@ -93,11 +101,55 @@ class RNSignerClient extends _signer.BaseSignerClient {
93
101
  this.eventEmitter.emit(params.connectedEventName, user, params.bundle);
94
102
  return user;
95
103
  }
96
- oauthWithRedirect(_args) {
97
- throw new Error("Method not implemented.");
98
- }
104
+ oauthWithRedirect = async args => {
105
+ // Ensure the In-App Browser required for authentication is available
106
+ if (!(await _reactNativeInappbrowserReborn.InAppBrowser.isAvailable())) {
107
+ throw new _errors.InAppBrowserUnavailableError();
108
+ }
109
+ this.eventEmitter.emit("authenticating", {
110
+ type: "oauth"
111
+ });
112
+ const oauthParams = args;
113
+ const turnkeyPublicKey = await this.stamper.init();
114
+ const oauthCallbackUrl = this.oauthCallbackUrl;
115
+ const oauthConfig = await this.getOauthConfig();
116
+ const providerUrl = await this.getOauthProviderUrl({
117
+ oauthParams,
118
+ turnkeyPublicKey,
119
+ oauthCallbackUrl,
120
+ oauthConfig,
121
+ usesRelativeUrl: false
122
+ });
123
+ const redirectUrl = args.redirectUrl;
124
+ const res = await _reactNativeInappbrowserReborn.InAppBrowser.openAuth(providerUrl, redirectUrl);
125
+ if (res.type !== "success" || !res.url) {
126
+ throw new _signer.OauthFailedError("An error occured completing your request");
127
+ }
128
+ const authResult = (0, _parseUrlParams.parseSearchParams)(res.url);
129
+ const bundle = authResult["alchemy-bundle"] ?? "";
130
+ const orgId = authResult["alchemy-org-id"] ?? "";
131
+ const idToken = authResult["alchemy-id-token"] ?? "";
132
+ const isSignup = authResult["alchemy-is-signup"];
133
+ const error = authResult["alchemy-error"];
134
+ if (bundle && orgId && idToken) {
135
+ const user = await this.completeAuthWithBundle({
136
+ bundle,
137
+ orgId,
138
+ connectedEventName: "connectedOauth",
139
+ idToken,
140
+ authenticatingType: "oauth"
141
+ });
142
+ if (isSignup) {
143
+ this.eventEmitter.emit("newUserSignup");
144
+ }
145
+ return user;
146
+ }
147
+
148
+ // Throw the Alchemy error if available, otherwise throw a generic error.
149
+ throw new _signer.OauthFailedError(error ?? "An error occured completing your request");
150
+ };
99
151
  oauthWithPopup(_args) {
100
- throw new Error("Method not implemented.");
152
+ throw new Error("Method not implemented");
101
153
  }
102
154
  async disconnect() {
103
155
  this.user = undefined;
@@ -110,12 +162,16 @@ class RNSignerClient extends _signer.BaseSignerClient {
110
162
  lookupUserWithPasskey(_user) {
111
163
  throw new Error("Method not implemented.");
112
164
  }
113
- getOauthConfig() {
114
- throw new Error("Method not implemented.");
115
- }
116
165
  getWebAuthnAttestation(_options, _userDetails) {
117
166
  throw new Error("Method not implemented.");
118
167
  }
168
+ getOauthConfig = async () => {
169
+ const publicKey = await this.stamper.init();
170
+ const nonce = this.getOauthNonce(publicKey);
171
+ return this.request("/v1/prepare-oauth", {
172
+ nonce
173
+ });
174
+ };
119
175
  }
120
176
  exports.RNSignerClient = RNSignerClient;
121
177
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_signer","_NativeTEKStamper","_interopRequireDefault","_zod","e","__esModule","default","RNSignerClientParamsSchema","exports","z","object","connection","custom","rootOrgId","string","optional","RNSignerClient","BaseSignerClient","stamper","NativeTEKStamper","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","credentialBundle","request","targetPublicKey","bundle","createAccount","Error","email","expirationSeconds","response","emailMode","redirectParams","toString","initEmailAuth","completeAuthWithBundle","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","connectedEventName","oauthWithRedirect","_args","oauthWithPopup","disconnect","undefined","clear","exportWallet","_params","lookupUserWithPasskey","_user","getOauthConfig","getWebAuthnAttestation","_options","_userDetails"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["require","_signer","_NativeTEKStamper","_interopRequireDefault","_zod","_reactNativeInappbrowserReborn","_parseUrlParams","_errors","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","credentialBundle","request","targetPublicKey","bundle","createAccount","Error","email","expirationSeconds","response","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"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAcA,IAAAE,iBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AACA,IAAAK,8BAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAwD,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAtBxD;;AAwBO,MAAMG,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,MAAC,CAACC,MAAM,CAAC;EACjDC,UAAU,EAAEF,MAAC,CAACG,MAAM,CAAmB,CAAC;EACxCC,SAAS,EAAEJ,MAAC,CAACK,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAChCC,gBAAgB,EAAEP,MAAC,CAChBK,MAAM,CAAC,CAAC,CACRC,QAAQ,CAAC,CAAC,CACVT,OAAO,CAAC,qCAAqC;AAClD,CAAC,CAAC;AAIF;AACO,MAAMW,cAAc,SAASC,wBAAgB,CAAY;EACtDC,OAAO,GAAGC,yBAAgB;EAE1BC,wBAAwB,GAA0C,CACxE,OAAO,EACP,KAAK,EACL,OAAO,CACR;EAEDC,WAAWA,CAACC,MAA4B,EAAE;IACxC,MAAM;MAAEZ,UAAU;MAAEE,SAAS;MAAEG;IAAiB,CAAC,GAC/CT,0BAA0B,CAACiB,KAAK,CAACD,MAAM,CAAC;IAE1C,KAAK,CAAC;MACJJ,OAAO,EAAEC,yBAAgB;MACzBP,SAAS,EAAEA,SAAS,IAAI,sCAAsC;MAC9DF;IACF,CAAC,CAAC;IAEF,IAAI,CAACK,gBAAgB,GAAGA,gBAAgB;EAC1C;EAEA,MAAeS,aAAaA,CAC1BC,IAAwC,EACX;IAC7B,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAY,CAAC,CAAC;IAC/D,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAE3C,MAAM;MAAEC;IAAiB,CAAC,GAAG,MAAM,IAAI,CAACC,OAAO,CAAC,SAAS,EAAE;MACzD,GAAGP,IAAI;MACPQ,eAAe,EAAEJ;IACnB,CAAC,CAAC;IAEF,OAAO;MAAEK,MAAM,EAAEH;IAAiB,CAAC;EACrC;EAEA,MAAeI,aAAaA,CAC1Bb,MAA2B,EACF;IACzB,IAAIA,MAAM,CAACM,IAAI,KAAK,OAAO,EAAE;MAC3B,MAAM,IAAIQ,KAAK,CAAC,0CAA0C,CAAC;IAC7D;IAEA,IAAI,CAACV,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3D,MAAM;MAAES,KAAK;MAAEC;IAAkB,CAAC,GAAGhB,MAAM;IAC3C,MAAMO,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAE3C,MAAMS,QAAQ,GAAG,MAAM,IAAI,CAACP,OAAO,CAAC,YAAY,EAAE;MAChDK,KAAK;MACLG,SAAS,EAAElB,MAAM,CAACkB,SAAS;MAC3BP,eAAe,EAAEJ,SAAS;MAC1BS,iBAAiB;MACjBG,cAAc,EAAEnB,MAAM,CAACmB,cAAc,EAAEC,QAAQ,CAAC;IAClD,CAAC,CAAC;IAEF,OAAOH,QAAQ;EACjB;EAEA,MAAeI,aAAaA,CAC1BrB,MAAgD,EACpB;IAC5B,IAAI,CAACI,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3D,IAAIK,eAAe,GAAG,MAAM,IAAI,CAACf,OAAO,CAACY,IAAI,CAAC,CAAC;IAE/C,MAAMS,QAAQ,GAAG,MAAM,IAAI,CAACP,OAAO,CAAC,UAAU,EAAE;MAC9CK,KAAK,EAAEf,MAAM,CAACe,KAAK;MACnBG,SAAS,EAAElB,MAAM,CAACkB,SAAS;MAC3BP;IACF,CAAC,CAAC;IAEF,OAAOM,QAAQ;EACjB;EAEA,MAAeK,sBAAsBA,CAACtB,MAMrC,EAAiB;IAChB,IAAI,CAAC,IAAI,CAACF,wBAAwB,CAACyB,QAAQ,CAACvB,MAAM,CAACwB,kBAAkB,CAAC,EAAE;MACtE,MAAM,IAAIV,KAAK,CAAC,iCAAiC,CAAC;IACpD;IAEA,IAAI,CAACV,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MACvCC,IAAI,EAAEN,MAAM,CAACwB;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,CAAC5B,OAAO,CAACY,IAAI,CAAC,CAAC;IAEzB,MAAMiB,MAAM,GAAG,MAAM,IAAI,CAAC7B,OAAO,CAAC8B,sBAAsB,CAAC1B,MAAM,CAACY,MAAM,CAAC;IAEvE,IAAI,CAACa,MAAM,EAAE;MACX,MAAM,IAAIX,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,MAAMa,IAAI,GAAG,MAAM,IAAI,CAACC,MAAM,CAAC5B,MAAM,CAAC6B,KAAK,EAAE7B,MAAM,CAAC8B,OAAO,CAAC;IAE5D,IAAI,CAAC1B,YAAY,CAACC,IAAI,CAACL,MAAM,CAAC+B,kBAAkB,EAAEJ,IAAI,EAAE3B,MAAM,CAACY,MAAM,CAAC;IACtE,OAAOe,IAAI;EACb;EACSK,iBAAiB,GAAG,MAC3B7B,IAAgD,IAC9B;IAClB;IACA,IAAI,EAAE,MAAM8B,2CAAY,CAACC,WAAW,CAAC,CAAC,CAAC,EAAE;MACvC,MAAM,IAAIC,oCAA4B,CAAC,CAAC;IAC1C;IAEA,IAAI,CAAC/B,YAAY,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC;IAE3D,MAAM8B,WAAW,GAAGjC,IAAI;IACxB,MAAMkC,gBAAgB,GAAG,MAAM,IAAI,CAACzC,OAAO,CAACY,IAAI,CAAC,CAAC;IAClD,MAAMf,gBAAgB,GAAG,IAAI,CAACA,gBAAgB;IAC9C,MAAM6C,WAAW,GAAG,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;IAC/C,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC;MACjDL,WAAW;MACXC,gBAAgB;MAChB5C,gBAAgB;MAChB6C,WAAW;MACXI,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,MAAMC,WAAW,GAAGxC,IAAI,CAACwC,WAAW;IACpC,MAAMC,GAAG,GAAG,MAAMX,2CAAY,CAACY,QAAQ,CAACL,WAAW,EAAEG,WAAW,CAAC;IAEjE,IAAIC,GAAG,CAACtC,IAAI,KAAK,SAAS,IAAI,CAACsC,GAAG,CAACE,GAAG,EAAE;MACtC,MAAM,IAAIC,wBAAgB,CAAC,0CAA0C,CAAC;IACxE;IAEA,MAAMC,UAAU,GAAG,IAAAC,iCAAiB,EAACL,GAAG,CAACE,GAAG,CAAC;IAC7C,MAAMlC,MAAM,GAAGoC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IACjD,MAAMnB,KAAK,GAAGmB,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAChD,MAAMlB,OAAO,GAAGkB,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE;IACpD,MAAME,QAAQ,GAAGF,UAAU,CAAC,mBAAmB,CAAC;IAChD,MAAMG,KAAK,GAAGH,UAAU,CAAC,eAAe,CAAC;IAEzC,IAAIpC,MAAM,IAAIiB,KAAK,IAAIC,OAAO,EAAE;MAC9B,MAAMH,IAAI,GAAG,MAAM,IAAI,CAACL,sBAAsB,CAAC;QAC7CV,MAAM;QACNiB,KAAK;QACLE,kBAAkB,EAAE,gBAAgB;QACpCD,OAAO;QACPN,kBAAkB,EAAE;MACtB,CAAC,CAAC;MAEF,IAAI0B,QAAQ,EAAE;QACZ,IAAI,CAAC9C,YAAY,CAACC,IAAI,CAAC,eAAe,CAAC;MACzC;MAEA,OAAOsB,IAAI;IACb;;IAEA;IACA,MAAM,IAAIoB,wBAAgB,CACxBI,KAAK,IAAI,0CACX,CAAC;EACH,CAAC;EAEQC,cAAcA,CACrBC,KAA8C,EAC/B;IACf,MAAM,IAAIvC,KAAK,CAAC,wBAAwB,CAAC;EAC3C;EAEA,MAAewC,UAAUA,CAAA,EAAkB;IACzC,IAAI,CAAC3B,IAAI,GAAG4B,SAAS;IACrB,IAAI,CAAC3D,OAAO,CAAC4D,KAAK,CAAC,CAAC;IACpB,MAAM,IAAI,CAAC5D,OAAO,CAACY,IAAI,CAAC,CAAC;EAC3B;EACSiD,YAAYA,CAACC,OAAgB,EAAoB;IACxD,MAAM,IAAI5C,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACS6C,qBAAqBA,CAACC,KAAY,EAAiB;IAC1D,MAAM,IAAI9C,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EAEmB+C,sBAAsBA,CACvCC,QAAmC,EACnCC,YAAmC,EACI;IACvC,MAAM,IAAIjD,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EAEmByB,cAAc,GAAG,MAAAA,CAAA,KAAkC;IACpE,MAAMhC,SAAS,GAAG,MAAM,IAAI,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC;IAE3C,MAAMwD,KAAK,GAAG,IAAI,CAACC,aAAa,CAAC1D,SAAS,CAAC;IAC3C,OAAO,IAAI,CAACG,OAAO,CAAC,mBAAmB,EAAE;MAAEsD;IAAM,CAAC,CAAC;EACrD,CAAC;AACH;AAAC/E,OAAA,CAAAS,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InAppBrowserUnavailableError = void 0;
7
+ var _core = require("@aa-sdk/core");
8
+ class InAppBrowserUnavailableError extends _core.BaseError {
9
+ name = "InAppBrowserUnavailableError";
10
+ constructor() {
11
+ super("In-App Browser is not available. Please authenticate with a different method.");
12
+ }
13
+ }
14
+ exports.InAppBrowserUnavailableError = InAppBrowserUnavailableError;
15
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","InAppBrowserUnavailableError","BaseError","name","constructor","exports"],"sourceRoot":"../../src","sources":["errors.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,4BAA4B,SAASC,eAAS,CAAC;EACjDC,IAAI,GAAG,8BAA8B;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CACH,+EACF,CAAC;EACH;AACF;AAACC,OAAA,CAAAJ,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_signer","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_signer","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RNAlchemySigner = RNAlchemySigner;
7
+ exports.RNAlchemySignerSingleton = void 0;
7
8
  var _zod = require("zod");
8
9
  var _signer = require("@account-kit/signer");
9
10
  var _client = require("./client.js");
@@ -44,6 +45,7 @@ class RNAlchemySignerSingleton extends _signer.BaseAlchemySigner {
44
45
  return this.instance;
45
46
  }
46
47
  }
48
+ exports.RNAlchemySignerSingleton = RNAlchemySignerSingleton;
47
49
  function RNAlchemySigner(params) {
48
50
  const instance = RNAlchemySignerSingleton.getInstance(params);
49
51
  return instance;
@@ -1 +1 @@
1
- {"version":3,"names":["_zod","require","_signer","_client","RNAlchemySignerParamsSchema","z","object","client","custom","or","RNSignerClientParamsSchema","extend","sessionConfig","SessionManagerParamsSchema","omit","storage","optional","RNAlchemySignerSingleton","BaseAlchemySigner","constructor","params","instance","params_","parse","RNSignerClient","getInstance","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,OAAA,GAAAF,OAAA;AADA;;AAGA,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;AAIJ,MAAMC,wBAAwB,SAASC,yBAAiB,CAAiB;EAG/DC,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;IACA,KAAK,CAAC;MACJA,MAAM;MACNK;IACF,CAAC,CAAC;EACJ;EAEA,OAAca,WAAWA,CAACL,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;AAEO,SAASK,eAAeA,CAACN,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGJ,wBAAwB,CAACQ,WAAW,CAACL,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["_zod","require","_signer","_client","RNAlchemySignerParamsSchema","z","object","client","custom","or","RNSignerClientParamsSchema","extend","sessionConfig","SessionManagerParamsSchema","omit","storage","optional","RNAlchemySignerSingleton","BaseAlchemySigner","constructor","params","instance","params_","parse","RNSignerClient","getInstance","exports","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,OAAA,GAAAF,OAAA;AADA;;AAGA,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;EACJ;EAEA,OAAca,WAAWA,CAACL,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;AAACK,OAAA,CAAAT,wBAAA,GAAAA,wBAAA;AAEM,SAASU,eAAeA,CAACP,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGJ,wBAAwB,CAACQ,WAAW,CAACL,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.base64UrlEncode = void 0;
7
+ var _buffer = require("buffer");
8
+ const base64UrlEncode = challenge => {
9
+ return _buffer.Buffer.from(challenge).toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
10
+ };
11
+ exports.base64UrlEncode = base64UrlEncode;
12
+ //# sourceMappingURL=base64UrlEncode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_buffer","require","base64UrlEncode","challenge","Buffer","from","toString","replace","exports"],"sourceRoot":"../../../src","sources":["utils/base64UrlEncode.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAC1BC,SAAwC,IAC7B;EACX,OAAOC,cAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAC1BG,QAAQ,CAAC,QAAQ,CAAC,CAClBC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtB,CAAC;AAACC,OAAA,CAAAN,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _buffer = require("buffer");
4
+ if (!global.Buffer) {
5
+ global.Buffer = _buffer.Buffer;
6
+ }
7
+ //# sourceMappingURL=buffer-polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_buffer","require","global","Buffer"],"sourceRoot":"../../../src","sources":["utils/buffer-polyfill.ts"],"mappings":";;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;EAClBD,MAAM,CAACC,MAAM,GAAGA,cAAM;AACxB","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseSearchParams = void 0;
7
+ const parseSearchParams = url => {
8
+ const regex = /[?&]([^=#]+)=([^&#]*)/g;
9
+ let params = {};
10
+ let match;
11
+ while (match = regex.exec(url)) {
12
+ if (match[1] !== undefined && match[2] !== undefined) {
13
+ params[match[1]] = match[2];
14
+ }
15
+ }
16
+ return params;
17
+ };
18
+ exports.parseSearchParams = parseSearchParams;
19
+ //# sourceMappingURL=parseUrlParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseSearchParams","url","regex","params","match","exec","undefined","exports"],"sourceRoot":"../../../src","sources":["utils/parseUrlParams.ts"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,GAAIC,GAAW,IAAK;EAChD,MAAMC,KAAK,GAAG,wBAAwB;EAEtC,IAAIC,MAA8B,GAAG,CAAC,CAAC;EACvC,IAAIC,KAA6B;EAEjC,OAAQA,KAAK,GAAGF,KAAK,CAACG,IAAI,CAACJ,GAAG,CAAC,EAAG;IAChC,IAAIG,KAAK,CAAC,CAAC,CAAC,KAAKE,SAAS,IAAIF,KAAK,CAAC,CAAC,CAAC,KAAKE,SAAS,EAAE;MACpDH,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;IAC7B;EACF;EAEA,OAAOD,MAAM;AACf,CAAC;AAACI,OAAA,CAAAP,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -2,26 +2,34 @@
2
2
 
3
3
  /* eslint-disable import/extensions */
4
4
  import "./utils/mmkv-localstorage-polyfill.js";
5
- import { BaseSignerClient } from "@account-kit/signer";
5
+ import "./utils/buffer-polyfill.js";
6
+ import { BaseSignerClient, OauthFailedError } from "@account-kit/signer";
6
7
  import NativeTEKStamper from "./NativeTEKStamper.js";
7
8
  import { z } from "zod";
9
+ import { InAppBrowser } from "react-native-inappbrowser-reborn";
10
+ import { parseSearchParams } from "./utils/parseUrlParams.js";
11
+ import { InAppBrowserUnavailableError } from "./errors.js";
8
12
  export const RNSignerClientParamsSchema = z.object({
9
13
  connection: z.custom(),
10
- rootOrgId: z.string().optional()
14
+ rootOrgId: z.string().optional(),
15
+ oauthCallbackUrl: z.string().optional().default("https://signer.alchemy.com/callback")
11
16
  });
12
17
  // TODO: need to emit events
13
18
  export class RNSignerClient extends BaseSignerClient {
14
19
  stamper = NativeTEKStamper;
20
+ validAuthenticatingTypes = ["email", "otp", "oauth"];
15
21
  constructor(params) {
16
22
  const {
17
23
  connection,
18
- rootOrgId
24
+ rootOrgId,
25
+ oauthCallbackUrl
19
26
  } = RNSignerClientParamsSchema.parse(params);
20
27
  super({
21
28
  stamper: NativeTEKStamper,
22
29
  rootOrgId: rootOrgId ?? "24c1acf5-810f-41e0-a503-d5d13fa8e830",
23
30
  connection
24
31
  });
32
+ this.oauthCallbackUrl = oauthCallbackUrl;
25
33
  }
26
34
  async submitOtpCode(args) {
27
35
  this.eventEmitter.emit("authenticating", {
@@ -72,11 +80,11 @@ export class RNSignerClient extends BaseSignerClient {
72
80
  return response;
73
81
  }
74
82
  async completeAuthWithBundle(params) {
75
- if (params.authenticatingType !== "email" && params.authenticatingType !== "otp") {
83
+ if (!this.validAuthenticatingTypes.includes(params.authenticatingType)) {
76
84
  throw new Error("Unsupported authenticating type");
77
85
  }
78
86
  this.eventEmitter.emit("authenticating", {
79
- type: "email"
87
+ type: params.authenticatingType
80
88
  });
81
89
  await this.stamper.init();
82
90
  const result = await this.stamper.injectCredentialBundle(params.bundle);
@@ -87,11 +95,55 @@ export class RNSignerClient extends BaseSignerClient {
87
95
  this.eventEmitter.emit(params.connectedEventName, user, params.bundle);
88
96
  return user;
89
97
  }
90
- oauthWithRedirect(_args) {
91
- throw new Error("Method not implemented.");
92
- }
98
+ oauthWithRedirect = async args => {
99
+ // Ensure the In-App Browser required for authentication is available
100
+ if (!(await InAppBrowser.isAvailable())) {
101
+ throw new InAppBrowserUnavailableError();
102
+ }
103
+ this.eventEmitter.emit("authenticating", {
104
+ type: "oauth"
105
+ });
106
+ const oauthParams = args;
107
+ const turnkeyPublicKey = await this.stamper.init();
108
+ const oauthCallbackUrl = this.oauthCallbackUrl;
109
+ const oauthConfig = await this.getOauthConfig();
110
+ const providerUrl = await this.getOauthProviderUrl({
111
+ oauthParams,
112
+ turnkeyPublicKey,
113
+ oauthCallbackUrl,
114
+ oauthConfig,
115
+ usesRelativeUrl: false
116
+ });
117
+ const redirectUrl = args.redirectUrl;
118
+ const res = await InAppBrowser.openAuth(providerUrl, redirectUrl);
119
+ if (res.type !== "success" || !res.url) {
120
+ throw new OauthFailedError("An error occured completing your request");
121
+ }
122
+ const authResult = parseSearchParams(res.url);
123
+ const bundle = authResult["alchemy-bundle"] ?? "";
124
+ const orgId = authResult["alchemy-org-id"] ?? "";
125
+ const idToken = authResult["alchemy-id-token"] ?? "";
126
+ const isSignup = authResult["alchemy-is-signup"];
127
+ const error = authResult["alchemy-error"];
128
+ if (bundle && orgId && idToken) {
129
+ const user = await this.completeAuthWithBundle({
130
+ bundle,
131
+ orgId,
132
+ connectedEventName: "connectedOauth",
133
+ idToken,
134
+ authenticatingType: "oauth"
135
+ });
136
+ if (isSignup) {
137
+ this.eventEmitter.emit("newUserSignup");
138
+ }
139
+ return user;
140
+ }
141
+
142
+ // Throw the Alchemy error if available, otherwise throw a generic error.
143
+ throw new OauthFailedError(error ?? "An error occured completing your request");
144
+ };
93
145
  oauthWithPopup(_args) {
94
- throw new Error("Method not implemented.");
146
+ throw new Error("Method not implemented");
95
147
  }
96
148
  async disconnect() {
97
149
  this.user = undefined;
@@ -104,11 +156,15 @@ export class RNSignerClient extends BaseSignerClient {
104
156
  lookupUserWithPasskey(_user) {
105
157
  throw new Error("Method not implemented.");
106
158
  }
107
- getOauthConfig() {
108
- throw new Error("Method not implemented.");
109
- }
110
159
  getWebAuthnAttestation(_options, _userDetails) {
111
160
  throw new Error("Method not implemented.");
112
161
  }
162
+ getOauthConfig = async () => {
163
+ const publicKey = await this.stamper.init();
164
+ const nonce = this.getOauthNonce(publicKey);
165
+ return this.request("/v1/prepare-oauth", {
166
+ nonce
167
+ });
168
+ };
113
169
  }
114
170
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseSignerClient","NativeTEKStamper","z","RNSignerClientParamsSchema","object","connection","custom","rootOrgId","string","optional","RNSignerClient","stamper","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","credentialBundle","request","targetPublicKey","bundle","createAccount","Error","email","expirationSeconds","response","emailMode","redirectParams","toString","initEmailAuth","completeAuthWithBundle","authenticatingType","result","injectCredentialBundle","user","whoami","orgId","idToken","connectedEventName","oauthWithRedirect","_args","oauthWithPopup","disconnect","undefined","clear","exportWallet","_params","lookupUserWithPasskey","_user","getOauthConfig","getWebAuthnAttestation","_options","_userDetails"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseSignerClient","OauthFailedError","NativeTEKStamper","z","InAppBrowser","parseSearchParams","InAppBrowserUnavailableError","RNSignerClientParamsSchema","object","connection","custom","rootOrgId","string","optional","oauthCallbackUrl","default","RNSignerClient","stamper","validAuthenticatingTypes","constructor","params","parse","submitOtpCode","args","eventEmitter","emit","type","publicKey","init","credentialBundle","request","targetPublicKey","bundle","createAccount","Error","email","expirationSeconds","response","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"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { BaseError } from "@aa-sdk/core";
4
+ export class InAppBrowserUnavailableError extends BaseError {
5
+ name = "InAppBrowserUnavailableError";
6
+ constructor() {
7
+ super("In-App Browser is not available. Please authenticate with a different method.");
8
+ }
9
+ }
10
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseError","InAppBrowserUnavailableError","name","constructor"],"sourceRoot":"../../src","sources":["errors.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,cAAc;AAExC,OAAO,MAAMC,4BAA4B,SAASD,SAAS,CAAC;EACjDE,IAAI,GAAG,8BAA8B;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CACH,+EACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
2
 
3
- // eslint-disable-next-line import/extensions
4
3
  export { RNAlchemySigner } from "./signer.js";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RNAlchemySigner"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,eAAe,QAAQ,aAAU","ignoreList":[]}
1
+ {"version":3,"names":["RNAlchemySigner"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAkC,aAAa","ignoreList":[]}
@@ -12,7 +12,7 @@ const RNAlchemySignerParamsSchema = z.object({
12
12
  storage: true
13
13
  }).optional()
14
14
  });
15
- class RNAlchemySignerSingleton extends BaseAlchemySigner {
15
+ export class RNAlchemySignerSingleton extends BaseAlchemySigner {
16
16
  constructor(params) {
17
17
  if (!!RNAlchemySignerSingleton.instance) {
18
18
  return RNAlchemySignerSingleton.instance;
@@ -1 +1 @@
1
- {"version":3,"names":["z","BaseAlchemySigner","SessionManagerParamsSchema","RNSignerClient","RNSignerClientParamsSchema","RNAlchemySignerParamsSchema","object","client","custom","or","extend","sessionConfig","omit","storage","optional","RNAlchemySignerSingleton","constructor","params","instance","params_","parse","getInstance","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;AAAA,SAASA,CAAC,QAAQ,KAAK;AACvB,SACEC,iBAAiB,EACjBC,0BAA0B,QACrB,qBAAqB;AAC5B;AACA,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,aAAU;AAErE,MAAMC,2BAA2B,GAAGL,CAAC,CAClCM,MAAM,CAAC;EACNC,MAAM,EAAEP,CAAC,CAACQ,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACL,0BAA0B;AAClE,CAAC,CAAC,CACDM,MAAM,CAAC;EACNC,aAAa,EAAET,0BAA0B,CAACU,IAAI,CAAC;IAC7CL,MAAM,EAAE,IAAI;IACZM,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIJ,MAAMC,wBAAwB,SAASd,iBAAiB,CAAiB;EAG/De,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;IACA,KAAK,CAAC;MACJA,MAAM;MACNI;IACF,CAAC,CAAC;EACJ;EAEA,OAAcU,WAAWA,CAACJ,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,OAAO,SAASI,eAAeA,CAACL,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGH,wBAAwB,CAACM,WAAW,CAACJ,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["z","BaseAlchemySigner","SessionManagerParamsSchema","RNSignerClient","RNSignerClientParamsSchema","RNAlchemySignerParamsSchema","object","client","custom","or","extend","sessionConfig","omit","storage","optional","RNAlchemySignerSingleton","constructor","params","instance","params_","parse","getInstance","RNAlchemySigner"],"sourceRoot":"../../src","sources":["signer.ts"],"mappings":";;AAAA,SAASA,CAAC,QAAQ,KAAK;AACvB,SACEC,iBAAiB,EACjBC,0BAA0B,QACrB,qBAAqB;AAC5B;AACA,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,aAAU;AAErE,MAAMC,2BAA2B,GAAGL,CAAC,CAClCM,MAAM,CAAC;EACNC,MAAM,EAAEP,CAAC,CAACQ,MAAM,CAAiB,CAAC,CAACC,EAAE,CAACL,0BAA0B;AAClE,CAAC,CAAC,CACDM,MAAM,CAAC;EACNC,aAAa,EAAET,0BAA0B,CAACU,IAAI,CAAC;IAC7CL,MAAM,EAAE,IAAI;IACZM,OAAO,EAAE;EACX,CAAC,CAAC,CAACC,QAAQ,CAAC;AACd,CAAC,CAAC;AAIJ,OAAO,MAAMC,wBAAwB,SAASd,iBAAiB,CAAiB;EAGtEe,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;EACJ;EAEA,OAAcU,WAAWA,CAACJ,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,OAAO,SAASI,eAAeA,CAACL,MAA6B,EAAE;EAC7D,MAAMC,QAAQ,GAAGH,wBAAwB,CAACM,WAAW,CAACJ,MAAM,CAAC;EAE7D,OAAOC,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import { Buffer } from "buffer";
4
+ export const base64UrlEncode = challenge => {
5
+ return Buffer.from(challenge).toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
6
+ };
7
+ //# sourceMappingURL=base64UrlEncode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","base64UrlEncode","challenge","from","toString","replace"],"sourceRoot":"../../../src","sources":["utils/base64UrlEncode.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,eAAe,GAC1BC,SAAwC,IAC7B;EACX,OAAOF,MAAM,CAACG,IAAI,CAACD,SAAS,CAAC,CAC1BE,QAAQ,CAAC,QAAQ,CAAC,CAClBC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtB,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import { Buffer } from "buffer";
4
+ if (!global.Buffer) {
5
+ global.Buffer = Buffer;
6
+ }
7
+ //# sourceMappingURL=buffer-polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","global"],"sourceRoot":"../../../src","sources":["utils/buffer-polyfill.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,IAAI,CAACC,MAAM,CAACD,MAAM,EAAE;EAClBC,MAAM,CAACD,MAAM,GAAGA,MAAM;AACxB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ export const parseSearchParams = url => {
4
+ const regex = /[?&]([^=#]+)=([^&#]*)/g;
5
+ let params = {};
6
+ let match;
7
+ while (match = regex.exec(url)) {
8
+ if (match[1] !== undefined && match[2] !== undefined) {
9
+ params[match[1]] = match[2];
10
+ }
11
+ }
12
+ return params;
13
+ };
14
+ //# sourceMappingURL=parseUrlParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseSearchParams","url","regex","params","match","exec","undefined"],"sourceRoot":"../../../src","sources":["utils/parseUrlParams.ts"],"mappings":";;AAAA,OAAO,MAAMA,iBAAiB,GAAIC,GAAW,IAAK;EAChD,MAAMC,KAAK,GAAG,wBAAwB;EAEtC,IAAIC,MAA8B,GAAG,CAAC,CAAC;EACvC,IAAIC,KAA6B;EAEjC,OAAQA,KAAK,GAAGF,KAAK,CAACG,IAAI,CAACJ,GAAG,CAAC,EAAG;IAChC,IAAIG,KAAK,CAAC,CAAC,CAAC,KAAKE,SAAS,IAAIF,KAAK,CAAC,CAAC,CAAC,KAAKE,SAAS,EAAE;MACpDH,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;IAC7B;EACF;EAEA,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import "./utils/mmkv-localstorage-polyfill";
2
+ import "./utils/buffer-polyfill";
2
3
  import { BaseSignerClient, type AlchemySignerClientEvents, type AuthenticatingEventMetadata, type CreateAccountParams, type EmailAuthParams, type GetWebAuthnAttestationResult, type OauthConfig, type OauthParams, type OtpParams, type SignupResponse, type User } from "@account-kit/signer";
3
4
  import { z } from "zod";
4
5
  export declare const RNSignerClientParamsSchema: z.ZodObject<{
@@ -36,6 +37,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
36
37
  apiKey?: undefined;
37
38
  }>;
38
39
  rootOrgId: z.ZodOptional<z.ZodString>;
40
+ oauthCallbackUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
39
41
  }, "strip", z.ZodTypeAny, {
40
42
  connection: {
41
43
  apiKey: string;
@@ -54,6 +56,7 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
54
56
  jwt: string;
55
57
  apiKey?: undefined;
56
58
  };
59
+ oauthCallbackUrl: string;
57
60
  rootOrgId?: string | undefined;
58
61
  }, {
59
62
  connection: {
@@ -74,10 +77,13 @@ export declare const RNSignerClientParamsSchema: z.ZodObject<{
74
77
  apiKey?: undefined;
75
78
  };
76
79
  rootOrgId?: string | undefined;
80
+ oauthCallbackUrl?: string | undefined;
77
81
  }>;
78
82
  export type RNSignerClientParams = z.input<typeof RNSignerClientParamsSchema>;
79
83
  export declare class RNSignerClient extends BaseSignerClient<undefined> {
80
84
  private stamper;
85
+ oauthCallbackUrl: string;
86
+ private validAuthenticatingTypes;
81
87
  constructor(params: RNSignerClientParams);
82
88
  submitOtpCode(args: Omit<OtpParams, "targetPublicKey">): Promise<{
83
89
  bundle: string;
@@ -93,18 +99,18 @@ export declare class RNSignerClient extends BaseSignerClient<undefined> {
93
99
  authenticatingType: AuthenticatingEventMetadata["type"];
94
100
  idToken?: string;
95
101
  }): Promise<User>;
96
- oauthWithRedirect(_args: Extract<OauthParams, {
102
+ oauthWithRedirect: (args: Extract<OauthParams, {
97
103
  mode: "redirect";
98
- }>): Promise<never>;
104
+ }>) => Promise<User>;
99
105
  oauthWithPopup(_args: Extract<OauthParams, {
100
106
  mode: "popup";
101
107
  }>): Promise<User>;
102
108
  disconnect(): Promise<void>;
103
109
  exportWallet(_params: unknown): Promise<boolean>;
104
110
  lookupUserWithPasskey(_user?: User): Promise<User>;
105
- protected getOauthConfig(): Promise<OauthConfig>;
106
111
  protected getWebAuthnAttestation(_options: CredentialCreationOptions, _userDetails?: {
107
112
  username: string;
108
113
  }): Promise<GetWebAuthnAttestationResult>;
114
+ protected getOauthConfig: () => Promise<OauthConfig>;
109
115
  }
110
116
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EACL,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrC,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;gBACvB,MAAM,EAAE,oBAAoB;IAUzB,aAAa,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GACvC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAYf,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,CAAA;KAAE,CAAC;IAad,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,CACxB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,GAChD,OAAO,CAAC,KAAK,CAAC;IAGR,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;cAGxC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;cAGtC,sBAAsB,CACvC,QAAQ,EAAE,yBAAyB,EACnC,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,4BAA4B,CAAC;CAGzC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,CAAC;AAC5C,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAEhB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,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;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAYf,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,CAAA;KAAE,CAAC;IAad,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,CAqDd;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;cAIxC,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,6 @@
1
+ import { BaseError } from "@aa-sdk/core";
2
+ export declare class InAppBrowserUnavailableError extends BaseError {
3
+ name: string;
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,4BAA6B,SAAQ,SAAS;IAChD,IAAI,SAAkC;;CAMhD"}
@@ -1,2 +1,2 @@
1
- export { RNAlchemySigner } from "./signer";
1
+ export { RNAlchemySigner, type RNAlchemySignerType } from "./signer.ts";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC"}