@dynamic-labs/embedded-wallet 4.0.0-alpha.9 → 4.0.1

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.
@@ -6,16 +6,18 @@ import { DynamicError, getTLD, PlatformService } from '@dynamic-labs/utils';
6
6
  import { PasskeyService } from '../utils/PasskeyService/PasskeyService.js';
7
7
  import '../utils/convertAttestationTransports/convertAttestationTransports.js';
8
8
  import { logger } from '../utils/logger/logger.js';
9
+ import { BaseTurnkeyHandler } from '../BaseTurnkeyHandler.js';
10
+ import { TURNKEY_API_BASE_URL } from '../constants.js';
9
11
 
10
- const turnkeyBaseUrl = 'https://api.turnkey.com';
11
12
  const turnkeyPasskeyRecoveryUrl = 'https://recovery.turnkey.com';
12
13
  const turnkeyEmailRecoveryUrl = 'https://auth.turnkey.com';
13
14
  const TURNKEY_RECOVERY_CREDENTIAL_EXPIRATION_SECONDS = 900; // 15 seconds
14
15
  const TURNKEY_SESSION_EXPIRATION_SECONDS = 1800; //30 seconds
15
16
  const EMAIL_AUTH_CREDENTIAL_TYPE = 'CREDENTIAL_TYPE_API_KEY_P256';
16
17
  const PASSKEY_RECOVERY_CREDENTIAL_TYPE = 'CREDENTIAL_TYPE_RECOVER_USER_KEY_P256';
17
- class TurnkeyAuthenticatorRecoveryHandler {
18
+ class TurnkeyAuthenticatorRecoveryHandler extends BaseTurnkeyHandler {
18
19
  constructor() {
20
+ super(...arguments);
19
21
  this.isSessionActive = () => {
20
22
  // it's only used for email auth session
21
23
  if (!this.__createdAt || this.__recoveryType !== 'email') {
@@ -33,7 +35,7 @@ class TurnkeyAuthenticatorRecoveryHandler {
33
35
  if (!organizationId || !this.__turnkeyRecoveryUserId) {
34
36
  throw new DynamicError('Cannot proceed with your request');
35
37
  }
36
- const userResponse = yield ((_a = this.__client) === null || _a === void 0 ? void 0 : _a.getUser({
38
+ const userResponse = yield ((_a = this.__turnkeyClient) === null || _a === void 0 ? void 0 : _a.getUser({
37
39
  organizationId,
38
40
  userId: this.__turnkeyRecoveryUserId,
39
41
  }));
@@ -61,12 +63,6 @@ class TurnkeyAuthenticatorRecoveryHandler {
61
63
  return false;
62
64
  };
63
65
  }
64
- get publicKey() {
65
- return this.__publicKey;
66
- }
67
- get client() {
68
- return this.__client;
69
- }
70
66
  get recoveryType() {
71
67
  return this.__recoveryType;
72
68
  }
@@ -77,12 +73,8 @@ class TurnkeyAuthenticatorRecoveryHandler {
77
73
  this.__turnkeyRecoveryUserId = turnkeyRecoveryUserId;
78
74
  }
79
75
  clear() {
80
- var _a;
81
- (_a = this.__iframeStamper) === null || _a === void 0 ? void 0 : _a.clear();
76
+ super.clear();
82
77
  this.__recoveryType = undefined;
83
- this.__iframeStamper = undefined;
84
- this.__publicKey = undefined;
85
- this.__client = undefined;
86
78
  this.__turnkeyRecoveryUserId = undefined;
87
79
  this.__createdAt = undefined;
88
80
  }
@@ -113,8 +105,8 @@ class TurnkeyAuthenticatorRecoveryHandler {
113
105
  }
114
106
  try {
115
107
  yield this.__iframeStamper.injectCredentialBundle(recoveryBundle);
116
- this.__client = new TurnkeyClient({
117
- baseUrl: turnkeyBaseUrl,
108
+ this.__turnkeyClient = new TurnkeyClient({
109
+ baseUrl: TURNKEY_API_BASE_URL,
118
110
  }, this.__iframeStamper);
119
111
  if (!organizationId || !this.__turnkeyRecoveryUserId) {
120
112
  throw new DynamicError('Cannot proceed with your request');
@@ -134,11 +126,11 @@ class TurnkeyAuthenticatorRecoveryHandler {
134
126
  }
135
127
  completeRecovery(_a) {
136
128
  return __awaiter(this, arguments, void 0, function* ({ attestation, challenge, turnkeySubOrganizationId, }) {
137
- if (!this.__client || !this.__turnkeyRecoveryUserId) {
129
+ if (!this.__turnkeyClient || !this.__turnkeyRecoveryUserId) {
138
130
  throw new DynamicError('Cannot proceed with your request');
139
131
  }
140
132
  try {
141
- return this.__client.recoverUser({
133
+ return this.__turnkeyClient.recoverUser({
142
134
  organizationId: turnkeySubOrganizationId,
143
135
  parameters: {
144
136
  authenticator: {
@@ -160,11 +152,11 @@ class TurnkeyAuthenticatorRecoveryHandler {
160
152
  }
161
153
  addPasskeyAuthenticator(_a) {
162
154
  return __awaiter(this, arguments, void 0, function* ({ attestation, challenge, turnkeySubOrganizationId, }) {
163
- if (!this.__client || !this.__turnkeyRecoveryUserId) {
155
+ if (!this.__turnkeyClient || !this.__turnkeyRecoveryUserId) {
164
156
  throw new DynamicError('Cannot proceed with your request');
165
157
  }
166
158
  try {
167
- return this.__client.createAuthenticators({
159
+ return this.__turnkeyClient.createAuthenticators({
168
160
  organizationId: turnkeySubOrganizationId,
169
161
  parameters: {
170
162
  authenticators: [
@@ -196,7 +188,7 @@ class TurnkeyAuthenticatorRecoveryHandler {
196
188
  rpId,
197
189
  });
198
190
  const client = new TurnkeyClient({
199
- baseUrl: turnkeyBaseUrl,
191
+ baseUrl: TURNKEY_API_BASE_URL,
200
192
  }, stamper);
201
193
  try {
202
194
  const signedRequest = yield client.stampUpdateUser({
@@ -0,0 +1,22 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ class BaseTurnkeyHandler {
7
+ get client() {
8
+ return this.__turnkeyClient;
9
+ }
10
+ get publicKey() {
11
+ return this.__publicKey;
12
+ }
13
+ clear() {
14
+ var _a;
15
+ (_a = this.__iframeStamper) === null || _a === void 0 ? void 0 : _a.clear();
16
+ this.__iframeStamper = undefined;
17
+ this.__publicKey = undefined;
18
+ this.__turnkeyClient = undefined;
19
+ }
20
+ }
21
+
22
+ exports.BaseTurnkeyHandler = BaseTurnkeyHandler;
@@ -0,0 +1,10 @@
1
+ import { IframeStamper } from '@turnkey/iframe-stamper';
2
+ import { TurnkeyClient } from '@turnkey/http';
3
+ export declare abstract class BaseTurnkeyHandler {
4
+ __turnkeyClient: TurnkeyClient | undefined;
5
+ protected __iframeStamper: IframeStamper | undefined;
6
+ protected __publicKey: string | undefined | null;
7
+ get client(): TurnkeyClient | undefined;
8
+ get publicKey(): string | null | undefined;
9
+ clear(): void;
10
+ }
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+ class BaseTurnkeyHandler {
3
+ get client() {
4
+ return this.__turnkeyClient;
5
+ }
6
+ get publicKey() {
7
+ return this.__publicKey;
8
+ }
9
+ clear() {
10
+ var _a;
11
+ (_a = this.__iframeStamper) === null || _a === void 0 ? void 0 : _a.clear();
12
+ this.__iframeStamper = undefined;
13
+ this.__publicKey = undefined;
14
+ this.__turnkeyClient = undefined;
15
+ }
16
+ }
17
+
18
+ export { BaseTurnkeyHandler };
@@ -11,20 +11,11 @@ var TurnkeyAuthenticatorRecoveryHandler = require('../AuthenticatorHandler/Turnk
11
11
  var PasskeyService = require('../utils/PasskeyService/PasskeyService.cjs');
12
12
  require('../utils/convertAttestationTransports/convertAttestationTransports.cjs');
13
13
  var logger = require('../utils/logger/logger.cjs');
14
+ var BaseTurnkeyHandler = require('../BaseTurnkeyHandler.cjs');
15
+ var constants = require('../constants.cjs');
14
16
 
15
- const turnkeyBaseUrl = 'https://api.turnkey.com';
16
17
  const turnkeyExportUrl = 'https://export.turnkey.com';
17
- class ExportHandler {
18
- get publicKey() {
19
- return this.__publicKey;
20
- }
21
- clear() {
22
- var _a;
23
- (_a = this.__iframeStamper) === null || _a === void 0 ? void 0 : _a.clear();
24
- this.__iframeStamper = undefined;
25
- this.__publicKey = undefined;
26
- this.__turnkeyClient = undefined;
27
- }
18
+ class TurnkeyExportHandler extends BaseTurnkeyHandler.BaseTurnkeyHandler {
28
19
  initExport(iframeContainer, iframeElementId) {
29
20
  return _tslib.__awaiter(this, void 0, void 0, function* () {
30
21
  this.__iframeStamper = new iframeStamper.IframeStamper({
@@ -45,10 +36,10 @@ class ExportHandler {
45
36
  const passkeyStamper = PasskeyService.PasskeyService.createWebauthnStamper({
46
37
  rpId,
47
38
  });
48
- const apiKeyStamper = ExportHandler === null || ExportHandler === void 0 ? void 0 : ExportHandler.apiKeyStamper;
39
+ const apiKeyStamper = TurnkeyExportHandler === null || TurnkeyExportHandler === void 0 ? void 0 : TurnkeyExportHandler.apiKeyStamper;
49
40
  const stamper = apiKeyStamper !== null && apiKeyStamper !== void 0 ? apiKeyStamper : passkeyStamper;
50
41
  this.__turnkeyClient = new http.TurnkeyClient({
51
- baseUrl: turnkeyBaseUrl,
42
+ baseUrl: constants.TURNKEY_API_BASE_URL,
52
43
  }, stamper);
53
44
  }
54
45
  return this.__publicKey;
@@ -87,10 +78,10 @@ class ExportHandler {
87
78
  }
88
79
  exportPrivateKey(_a) {
89
80
  return _tslib.__awaiter(this, arguments, void 0, function* ({ privateKeyId, organizationId, }) {
90
- const apiKeyStamper = ExportHandler === null || ExportHandler === void 0 ? void 0 : ExportHandler.apiKeyStamper;
81
+ const apiKeyStamper = TurnkeyExportHandler === null || TurnkeyExportHandler === void 0 ? void 0 : TurnkeyExportHandler.apiKeyStamper;
91
82
  if (apiKeyStamper) {
92
83
  this.__turnkeyClient = new http.TurnkeyClient({
93
- baseUrl: turnkeyBaseUrl,
84
+ baseUrl: constants.TURNKEY_API_BASE_URL,
94
85
  }, apiKeyStamper);
95
86
  }
96
87
  if (!this.__iframeStamper ||
@@ -116,10 +107,10 @@ class ExportHandler {
116
107
  }
117
108
  exportWallet(_a) {
118
109
  return _tslib.__awaiter(this, arguments, void 0, function* ({ walletId, organizationId, address, }) {
119
- const apiKeyStamper = ExportHandler === null || ExportHandler === void 0 ? void 0 : ExportHandler.apiKeyStamper;
110
+ const apiKeyStamper = TurnkeyExportHandler === null || TurnkeyExportHandler === void 0 ? void 0 : TurnkeyExportHandler.apiKeyStamper;
120
111
  if (apiKeyStamper) {
121
112
  this.__turnkeyClient = new http.TurnkeyClient({
122
- baseUrl: turnkeyBaseUrl,
113
+ baseUrl: constants.TURNKEY_API_BASE_URL,
123
114
  }, apiKeyStamper);
124
115
  }
125
116
  if (!this.__iframeStamper ||
@@ -154,4 +145,4 @@ class ExportHandler {
154
145
  }
155
146
  }
156
147
 
157
- exports.ExportHandler = ExportHandler;
148
+ exports.TurnkeyExportHandler = TurnkeyExportHandler;