@zerodev/wallet-core 0.0.1-alpha.5 → 0.0.1-alpha.7
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 +43 -2
- package/dist/_cjs/actions/auth/authenticateWithOAuth.js +3 -7
- package/dist/_cjs/actions/auth/authenticateWithOAuth.js.map +1 -1
- package/dist/_cjs/actions/auth/getUserEmail.js +15 -0
- package/dist/_cjs/actions/auth/getUserEmail.js.map +1 -0
- package/dist/_cjs/actions/auth/index.js +3 -1
- package/dist/_cjs/actions/auth/index.js.map +1 -1
- package/dist/_cjs/actions/auth/loginWithOTP.js +3 -5
- package/dist/_cjs/actions/auth/loginWithOTP.js.map +1 -1
- package/dist/_cjs/actions/auth/loginWithStamp.js +4 -3
- package/dist/_cjs/actions/auth/loginWithStamp.js.map +1 -1
- package/dist/_cjs/actions/auth/registerWithOTP.js +1 -2
- package/dist/_cjs/actions/auth/registerWithOTP.js.map +1 -1
- package/dist/_cjs/actions/index.js +2 -1
- package/dist/_cjs/actions/index.js.map +1 -1
- package/dist/_cjs/actions/wallet/signRawPayload.js +13 -12
- package/dist/_cjs/actions/wallet/signRawPayload.js.map +1 -1
- package/dist/_cjs/actions/wallet/signTransaction.js +12 -11
- package/dist/_cjs/actions/wallet/signTransaction.js.map +1 -1
- package/dist/_cjs/adapters/viem.js +2 -0
- package/dist/_cjs/adapters/viem.js.map +1 -1
- package/dist/_cjs/client/authProxy.js +31 -0
- package/dist/_cjs/client/authProxy.js.map +1 -0
- package/dist/_cjs/client/decorators/client.js +1 -0
- package/dist/_cjs/client/decorators/client.js.map +1 -1
- package/dist/_cjs/client/index.js +3 -1
- package/dist/_cjs/client/index.js.map +1 -1
- package/dist/_cjs/client/transports/rest.js +3 -1
- package/dist/_cjs/client/transports/rest.js.map +1 -1
- package/dist/_cjs/constants.js +2 -1
- package/dist/_cjs/constants.js.map +1 -1
- package/dist/_cjs/core/createZeroDevWallet.js +22 -16
- package/dist/_cjs/core/createZeroDevWallet.js.map +1 -1
- package/dist/_cjs/index.js +5 -1
- package/dist/_cjs/index.js.map +1 -1
- package/dist/_cjs/stampers/iframeStamper.js +3 -0
- package/dist/_cjs/stampers/iframeStamper.js.map +1 -1
- package/dist/_cjs/utils/buildClientSignature.js +39 -0
- package/dist/_cjs/utils/buildClientSignature.js.map +1 -0
- package/dist/_cjs/utils/derToRawSignature.js +63 -0
- package/dist/_cjs/utils/derToRawSignature.js.map +1 -0
- package/dist/_cjs/utils/exportPrivateKey.js +55 -0
- package/dist/_cjs/utils/exportPrivateKey.js.map +1 -0
- package/dist/_esm/actions/auth/authenticateWithOAuth.js +8 -10
- package/dist/_esm/actions/auth/authenticateWithOAuth.js.map +1 -1
- package/dist/_esm/actions/auth/getUserEmail.js +28 -0
- package/dist/_esm/actions/auth/getUserEmail.js.map +1 -0
- package/dist/_esm/actions/auth/index.js +1 -0
- package/dist/_esm/actions/auth/index.js.map +1 -1
- package/dist/_esm/actions/auth/loginWithOTP.js +14 -12
- package/dist/_esm/actions/auth/loginWithOTP.js.map +1 -1
- package/dist/_esm/actions/auth/loginWithStamp.js +4 -3
- package/dist/_esm/actions/auth/loginWithStamp.js.map +1 -1
- package/dist/_esm/actions/auth/registerWithOTP.js +5 -6
- package/dist/_esm/actions/auth/registerWithOTP.js.map +1 -1
- package/dist/_esm/actions/index.js +1 -1
- package/dist/_esm/actions/index.js.map +1 -1
- package/dist/_esm/actions/wallet/signRawPayload.js +13 -12
- package/dist/_esm/actions/wallet/signRawPayload.js.map +1 -1
- package/dist/_esm/actions/wallet/signTransaction.js +12 -11
- package/dist/_esm/actions/wallet/signTransaction.js.map +1 -1
- package/dist/_esm/adapters/viem.js +2 -0
- package/dist/_esm/adapters/viem.js.map +1 -1
- package/dist/_esm/client/authProxy.js +41 -0
- package/dist/_esm/client/authProxy.js.map +1 -0
- package/dist/_esm/client/decorators/client.js +2 -1
- package/dist/_esm/client/decorators/client.js.map +1 -1
- package/dist/_esm/client/index.js +1 -0
- package/dist/_esm/client/index.js.map +1 -1
- package/dist/_esm/client/transports/rest.js +3 -1
- package/dist/_esm/client/transports/rest.js.map +1 -1
- package/dist/_esm/constants.js +1 -0
- package/dist/_esm/constants.js.map +1 -1
- package/dist/_esm/core/createZeroDevWallet.js +30 -18
- package/dist/_esm/core/createZeroDevWallet.js.map +1 -1
- package/dist/_esm/index.js +3 -0
- package/dist/_esm/index.js.map +1 -1
- package/dist/_esm/stampers/iframeStamper.js +4 -1
- package/dist/_esm/stampers/iframeStamper.js.map +1 -1
- package/dist/_esm/utils/buildClientSignature.js +64 -0
- package/dist/_esm/utils/buildClientSignature.js.map +1 -0
- package/dist/_esm/utils/derToRawSignature.js +89 -0
- package/dist/_esm/utils/derToRawSignature.js.map +1 -0
- package/dist/_esm/utils/exportPrivateKey.js +83 -0
- package/dist/_esm/utils/exportPrivateKey.js.map +1 -0
- package/dist/_types/actions/auth/authenticateWithOAuth.d.ts +6 -8
- package/dist/_types/actions/auth/authenticateWithOAuth.d.ts.map +1 -1
- package/dist/_types/actions/auth/getUserEmail.d.ts +29 -0
- package/dist/_types/actions/auth/getUserEmail.d.ts.map +1 -0
- package/dist/_types/actions/auth/index.d.ts +1 -0
- package/dist/_types/actions/auth/index.d.ts.map +1 -1
- package/dist/_types/actions/auth/loginWithOTP.d.ts +15 -15
- package/dist/_types/actions/auth/loginWithOTP.d.ts.map +1 -1
- package/dist/_types/actions/auth/loginWithStamp.d.ts.map +1 -1
- package/dist/_types/actions/auth/registerWithOTP.d.ts +5 -11
- package/dist/_types/actions/auth/registerWithOTP.d.ts.map +1 -1
- package/dist/_types/actions/index.d.ts +1 -1
- package/dist/_types/actions/index.d.ts.map +1 -1
- package/dist/_types/actions/wallet/signRawPayload.d.ts +2 -0
- package/dist/_types/actions/wallet/signRawPayload.d.ts.map +1 -1
- package/dist/_types/actions/wallet/signTransaction.d.ts +2 -0
- package/dist/_types/actions/wallet/signTransaction.d.ts.map +1 -1
- package/dist/_types/adapters/viem.d.ts.map +1 -1
- package/dist/_types/client/authProxy.d.ts +36 -0
- package/dist/_types/client/authProxy.d.ts.map +1 -0
- package/dist/_types/client/decorators/client.d.ts +5 -1
- package/dist/_types/client/decorators/client.d.ts.map +1 -1
- package/dist/_types/client/index.d.ts +1 -0
- package/dist/_types/client/index.d.ts.map +1 -1
- package/dist/_types/client/transports/rest.d.ts +2 -0
- package/dist/_types/client/transports/rest.d.ts.map +1 -1
- package/dist/_types/constants.d.ts +1 -0
- package/dist/_types/constants.d.ts.map +1 -1
- package/dist/_types/core/createZeroDevWallet.d.ts +0 -3
- package/dist/_types/core/createZeroDevWallet.d.ts.map +1 -1
- package/dist/_types/index.d.ts +3 -0
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/stampers/iframeStamper.d.ts.map +1 -1
- package/dist/_types/stampers/types.d.ts +2 -0
- package/dist/_types/stampers/types.d.ts.map +1 -1
- package/dist/_types/utils/buildClientSignature.d.ts +25 -0
- package/dist/_types/utils/buildClientSignature.d.ts.map +1 -0
- package/dist/_types/utils/derToRawSignature.d.ts +11 -0
- package/dist/_types/utils/derToRawSignature.d.ts.map +1 -0
- package/dist/_types/utils/exportPrivateKey.d.ts +47 -0
- package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/actions/auth/authenticateWithOAuth.ts +9 -15
- package/src/actions/auth/getUserEmail.ts +45 -0
- package/src/actions/auth/index.ts +5 -2
- package/src/actions/auth/loginWithOTP.ts +18 -21
- package/src/actions/auth/loginWithStamp.ts +4 -3
- package/src/actions/auth/registerWithOTP.ts +6 -13
- package/src/actions/index.ts +3 -0
- package/src/actions/wallet/signRawPayload.ts +15 -11
- package/src/actions/wallet/signTransaction.ts +15 -11
- package/src/adapters/viem.ts +2 -0
- package/src/client/authProxy.ts +78 -0
- package/src/client/decorators/client.ts +11 -0
- package/src/client/index.ts +7 -0
- package/src/client/transports/rest.ts +5 -1
- package/src/constants.ts +2 -0
- package/src/core/createZeroDevWallet.ts +34 -21
- package/src/index.ts +4 -0
- package/src/stampers/iframeStamper.ts +16 -2
- package/src/stampers/types.ts +7 -0
- package/src/utils/buildClientSignature.ts +86 -0
- package/src/utils/derToRawSignature.ts +103 -0
- package/src/utils/exportPrivateKey.ts +116 -0
package/README.md
CHANGED
|
@@ -213,7 +213,7 @@ Export your wallet's seed phrase using Turnkey's secure iframe:
|
|
|
213
213
|
|
|
214
214
|
**Usage:**
|
|
215
215
|
```typescript
|
|
216
|
-
import { createIframeStamper } from '@zerodev/wallet-core';
|
|
216
|
+
import { createIframeStamper, exportWallet } from '@zerodev/wallet-core';
|
|
217
217
|
|
|
218
218
|
// 1. Create export iframe stamper
|
|
219
219
|
// IMPORTANT: Container element must exist in DOM first!
|
|
@@ -227,7 +227,10 @@ const exportIframeStamper = await createIframeStamper({
|
|
|
227
227
|
const targetPublicKey = await exportIframeStamper.init();
|
|
228
228
|
|
|
229
229
|
// 3. Get encrypted export bundle from SDK
|
|
230
|
-
const { exportBundle, organizationId } = await
|
|
230
|
+
const { exportBundle, organizationId } = await exportWallet({
|
|
231
|
+
wallet,
|
|
232
|
+
targetPublicKey
|
|
233
|
+
});
|
|
231
234
|
|
|
232
235
|
// 4. Inject into iframe to display seed phrase
|
|
233
236
|
await exportIframeStamper.injectWalletExportBundle(exportBundle, organizationId);
|
|
@@ -237,6 +240,44 @@ await exportIframeStamper.injectWalletExportBundle(exportBundle, organizationId)
|
|
|
237
240
|
|
|
238
241
|
**Note:** The SDK handles Turnkey API calls. The iframe handles secure decryption and display. The seed phrase never touches your JavaScript code.
|
|
239
242
|
|
|
243
|
+
## Export Private Key
|
|
244
|
+
|
|
245
|
+
Export your wallet account's private key using Turnkey's secure iframe:
|
|
246
|
+
|
|
247
|
+
**Setup:** Add a container element to your HTML:
|
|
248
|
+
```html
|
|
249
|
+
<div id="export-container"></div>
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Usage:**
|
|
253
|
+
```typescript
|
|
254
|
+
import { createIframeStamper, exportPrivateKey } from '@zerodev/wallet-core';
|
|
255
|
+
|
|
256
|
+
// 1. Create export iframe stamper
|
|
257
|
+
const exportIframeStamper = await createIframeStamper({
|
|
258
|
+
iframeUrl: 'https://export.turnkey.com',
|
|
259
|
+
iframeContainer: document.getElementById('export-container'),
|
|
260
|
+
iframeElementId: 'export-iframe'
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
// 2. Initialize iframe and get target public key
|
|
264
|
+
const targetPublicKey = await exportIframeStamper.init();
|
|
265
|
+
|
|
266
|
+
// 3. Get encrypted export bundle from SDK
|
|
267
|
+
const { exportBundle, organizationId } = await exportPrivateKey({
|
|
268
|
+
wallet,
|
|
269
|
+
targetPublicKey,
|
|
270
|
+
// address: '0x...' // Optional: defaults to wallet's account address
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
// 4. Inject into iframe to display private key
|
|
274
|
+
await exportIframeStamper.injectKeyExportBundle(exportBundle, organizationId, 'Hexadecimal');
|
|
275
|
+
|
|
276
|
+
// The private key is now visible in the 'export-container' div
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Note:** The private key never touches your JavaScript code - it's decrypted inside Turnkey's iframe.
|
|
280
|
+
|
|
240
281
|
## TypeScript Types
|
|
241
282
|
|
|
242
283
|
```typescript
|
|
@@ -2,16 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.authenticateWithOAuth = authenticateWithOAuth;
|
|
4
4
|
async function authenticateWithOAuth(client, params) {
|
|
5
|
-
const {
|
|
5
|
+
const { projectId } = params;
|
|
6
6
|
return await client.request({
|
|
7
7
|
path: `${projectId}/auth/oauth`,
|
|
8
8
|
method: 'POST',
|
|
9
|
-
body:
|
|
10
|
-
|
|
11
|
-
provider,
|
|
12
|
-
targetPublicKey,
|
|
13
|
-
projectId,
|
|
14
|
-
},
|
|
9
|
+
body: null,
|
|
10
|
+
credentials: 'include',
|
|
15
11
|
});
|
|
16
12
|
}
|
|
17
13
|
//# sourceMappingURL=authenticateWithOAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticateWithOAuth.js","sourceRoot":"","sources":["../../../../src/actions/auth/authenticateWithOAuth.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authenticateWithOAuth.js","sourceRoot":"","sources":["../../../../src/actions/auth/authenticateWithOAuth.ts"],"names":[],"mappings":";;AAuCA,sDAYC;AAZM,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,MAAuC;IAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAE5B,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,GAAG,SAAS,aAAa;QAC/B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,SAAS;KACvB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserEmail = getUserEmail;
|
|
4
|
+
async function getUserEmail(client, params) {
|
|
5
|
+
const { organizationId, projectId } = params;
|
|
6
|
+
return await client.request({
|
|
7
|
+
path: `${projectId}/user-email`,
|
|
8
|
+
method: 'POST',
|
|
9
|
+
body: {
|
|
10
|
+
organizationId,
|
|
11
|
+
},
|
|
12
|
+
stamp: true,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=getUserEmail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserEmail.js","sourceRoot":"","sources":["../../../../src/actions/auth/getUserEmail.ts"],"names":[],"mappings":";;AA8BA,oCAcC;AAdM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,MAA8B;IAE9B,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAE5C,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,GAAG,SAAS,aAAa;QAC/B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,cAAc;SACf;QACD,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerWithPasskey = exports.registerWithOTP = exports.loginWithStamp = exports.loginWithOTP = exports.getWhoami = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
3
|
+
exports.registerWithPasskey = exports.registerWithOTP = exports.loginWithStamp = exports.loginWithOTP = exports.getWhoami = exports.getUserEmail = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
4
4
|
var authenticateWithEmail_js_1 = require("./authenticateWithEmail.js");
|
|
5
5
|
Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return authenticateWithEmail_js_1.authenticateWithEmail; } });
|
|
6
6
|
var authenticateWithOAuth_js_1 = require("./authenticateWithOAuth.js");
|
|
7
7
|
Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return authenticateWithOAuth_js_1.authenticateWithOAuth; } });
|
|
8
|
+
var getUserEmail_js_1 = require("./getUserEmail.js");
|
|
9
|
+
Object.defineProperty(exports, "getUserEmail", { enumerable: true, get: function () { return getUserEmail_js_1.getUserEmail; } });
|
|
8
10
|
var getWhoami_js_1 = require("./getWhoami.js");
|
|
9
11
|
Object.defineProperty(exports, "getWhoami", { enumerable: true, get: function () { return getWhoami_js_1.getWhoami; } });
|
|
10
12
|
var loginWithOTP_js_1 = require("./loginWithOTP.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/auth/index.ts"],"names":[],"mappings":";;;AAAA,uEAKmC;AAFjC,iIAAA,qBAAqB,OAAA;AAIvB,uEAImC;AADjC,iIAAA,qBAAqB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/auth/index.ts"],"names":[],"mappings":";;;AAAA,uEAKmC;AAFjC,iIAAA,qBAAqB,OAAA;AAIvB,uEAImC;AADjC,iIAAA,qBAAqB,OAAA;AAEvB,qDAI0B;AADxB,+GAAA,YAAY,OAAA;AAEd,+CAIuB;AADrB,yGAAA,SAAS,OAAA;AAEX,qDAI0B;AADxB,+GAAA,YAAY,OAAA;AAEd,yDAI4B;AAD1B,mHAAA,cAAc,OAAA;AAEhB,2DAK6B;AAD3B,qHAAA,eAAe,OAAA;AAEjB,mEAIiC;AAD/B,6HAAA,mBAAmB,OAAA"}
|
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loginWithOTP = loginWithOTP;
|
|
4
4
|
async function loginWithOTP(client, params) {
|
|
5
|
-
const {
|
|
5
|
+
const { verificationToken, clientSignature, projectId } = params;
|
|
6
6
|
return await client.request({
|
|
7
7
|
path: `${projectId}/auth/login/otp`,
|
|
8
8
|
method: 'POST',
|
|
9
9
|
body: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
subOrganizationId,
|
|
13
|
-
encodedPublicKey,
|
|
10
|
+
verificationToken,
|
|
11
|
+
clientSignature,
|
|
14
12
|
},
|
|
15
13
|
});
|
|
16
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithOTP.js","sourceRoot":"","sources":["../../../../src/actions/auth/loginWithOTP.ts"],"names":[],"mappings":";;AA0CA,
|
|
1
|
+
{"version":3,"file":"loginWithOTP.js","sourceRoot":"","sources":["../../../../src/actions/auth/loginWithOTP.ts"],"names":[],"mappings":";;AA0CA,oCAcC;AAdM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,MAA8B;IAE9B,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAEhE,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,GAAG,SAAS,iBAAiB;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,iBAAiB;YACjB,eAAe;SAChB;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loginWithStamp = loginWithStamp;
|
|
4
|
+
const json_canonicalize_1 = require("json-canonicalize");
|
|
4
5
|
async function loginWithStamp(client, params) {
|
|
5
6
|
const { projectId, targetPublicKey, organizationId, stampWith } = params;
|
|
6
7
|
const timestampMs = Date.now();
|
|
7
8
|
const timestampMsString = timestampMs.toString();
|
|
8
9
|
const timestampIso = new Date(timestampMs).toISOString();
|
|
9
|
-
const stampPayload =
|
|
10
|
+
const stampPayload = (0, json_canonicalize_1.canonicalizeEx)({
|
|
10
11
|
organizationId,
|
|
11
12
|
parameters: {
|
|
12
13
|
publicKey: targetPublicKey,
|
|
13
14
|
},
|
|
14
15
|
timestampMs: timestampMsString,
|
|
15
16
|
type: 'ACTIVITY_TYPE_STAMP_LOGIN',
|
|
16
|
-
})
|
|
17
|
+
});
|
|
17
18
|
let stamp;
|
|
18
19
|
if (stampWith === 'indexedDb') {
|
|
19
20
|
stamp = await client.indexedDbStamper.stamp(stampPayload);
|
|
@@ -25,7 +26,7 @@ async function loginWithStamp(client, params) {
|
|
|
25
26
|
stamp = await client.indexedDbStamper.stamp(stampPayload);
|
|
26
27
|
}
|
|
27
28
|
return client.request({
|
|
28
|
-
path: `${projectId}/auth/login/
|
|
29
|
+
path: `${projectId}/auth/login/stamp`,
|
|
29
30
|
method: 'POST',
|
|
30
31
|
body: {
|
|
31
32
|
subOrganizationId: organizationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithStamp.js","sourceRoot":"","sources":["../../../../src/actions/auth/loginWithStamp.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"loginWithStamp.js","sourceRoot":"","sources":["../../../../src/actions/auth/loginWithStamp.ts"],"names":[],"mappings":";;AAyCA,wCAqCC;AA9ED,yDAAkD;AAyC3C,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,MAAgC;IAEhC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAExE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC9B,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;IAChD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;IAExD,MAAM,YAAY,GAAG,IAAA,kCAAc,EAAC;QAClC,cAAc;QACd,UAAU,EAAE;YACV,SAAS,EAAE,eAAe;SAC3B;QACD,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,2BAA2B;KAClC,CAAC,CAAA;IACF,IAAI,KAAY,CAAA;IAChB,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3D,CAAC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG,SAAS,mBAAmB;QACrC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,iBAAiB,EAAE,cAAc;YACjC,eAAe;YACf,SAAS,EAAE,YAAY;YACvB,KAAK;SACN;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -4,12 +4,11 @@ exports.registerWithOTP = registerWithOTP;
|
|
|
4
4
|
async function registerWithOTP(client, params) {
|
|
5
5
|
const { email, contact, projectId, emailCustomization } = params;
|
|
6
6
|
return await client.request({
|
|
7
|
-
path: `${projectId}/auth/
|
|
7
|
+
path: `${projectId}/auth/init/otp`,
|
|
8
8
|
method: 'POST',
|
|
9
9
|
body: {
|
|
10
10
|
email,
|
|
11
11
|
contact,
|
|
12
|
-
projectId,
|
|
13
12
|
emailCustomization,
|
|
14
13
|
},
|
|
15
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerWithOTP.js","sourceRoot":"","sources":["../../../../src/actions/auth/registerWithOTP.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"registerWithOTP.js","sourceRoot":"","sources":["../../../../src/actions/auth/registerWithOTP.ts"],"names":[],"mappings":";;AAgDA,0CAeC;AAfM,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,MAAiC;IAEjC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAA;IAEhE,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,GAAG,SAAS,gBAAgB;QAClC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,KAAK;YACL,OAAO;YACP,kBAAkB;SACnB;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signTransaction = exports.signRawPayload = exports.getUserWallet = exports.registerWithPasskey = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
3
|
+
exports.signTransaction = exports.signRawPayload = exports.getUserWallet = exports.registerWithPasskey = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserEmail = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
4
4
|
var index_js_1 = require("./auth/index.js");
|
|
5
5
|
Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return index_js_1.authenticateWithEmail; } });
|
|
6
6
|
Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return index_js_1.authenticateWithOAuth; } });
|
|
7
|
+
Object.defineProperty(exports, "getUserEmail", { enumerable: true, get: function () { return index_js_1.getUserEmail; } });
|
|
7
8
|
Object.defineProperty(exports, "getWhoami", { enumerable: true, get: function () { return index_js_1.getWhoami; } });
|
|
8
9
|
Object.defineProperty(exports, "loginWithOTP", { enumerable: true, get: function () { return index_js_1.loginWithOTP; } });
|
|
9
10
|
Object.defineProperty(exports, "registerWithOTP", { enumerable: true, get: function () { return index_js_1.registerWithOTP; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";;;AACA,4CAwBwB;AAnBtB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AAMrB,wGAAA,YAAY,OAAA;AACZ,qGAAA,SAAS,OAAA;AAGT,wGAAA,YAAY,OAAA;AAMZ,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAIrB,8CAU0B;AAPxB,yGAAA,aAAa,OAAA;AAKb,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA"}
|
|
@@ -2,24 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.signRawPayload = signRawPayload;
|
|
4
4
|
async function signRawPayload(client, params) {
|
|
5
|
-
const { organizationId, projectId, address, payload, encoding = 'PAYLOAD_ENCODING_HEXADECIMAL', hashFunction = 'HASH_FUNCTION_NO_OP', } = params;
|
|
5
|
+
const { organizationId, projectId, token, address, payload, encoding = 'PAYLOAD_ENCODING_HEXADECIMAL', hashFunction = 'HASH_FUNCTION_NO_OP', } = params;
|
|
6
6
|
const { signature } = await client.request({
|
|
7
7
|
path: `${projectId}/sign/raw-payload`,
|
|
8
8
|
body: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
hashFunction,
|
|
18
|
-
},
|
|
9
|
+
type: 'ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2',
|
|
10
|
+
timestampMs: Date.now().toString(),
|
|
11
|
+
organizationId,
|
|
12
|
+
parameters: {
|
|
13
|
+
signWith: address,
|
|
14
|
+
payload,
|
|
15
|
+
encoding,
|
|
16
|
+
hashFunction,
|
|
19
17
|
},
|
|
20
|
-
|
|
18
|
+
},
|
|
19
|
+
headers: {
|
|
20
|
+
Authorization: `Bearer ${token}`,
|
|
21
21
|
},
|
|
22
22
|
stamp: true,
|
|
23
|
+
stampPostion: 'headers',
|
|
23
24
|
});
|
|
24
25
|
return signature;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signRawPayload.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signRawPayload.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"signRawPayload.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signRawPayload.ts"],"names":[],"mappings":";;AAwCA,wCAkCC;AAlCM,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,MAAgC;IAEhC,MAAM,EACJ,cAAc,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,GAAG,8BAA8B,EACzC,YAAY,GAAG,qBAAqB,GACrC,GAAG,MAAM,CAAA;IAEV,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,GAAG,SAAS,mBAAmB;QACrC,IAAI,EAAE;YACJ,IAAI,EAAE,mCAAmC;YACzC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAClC,cAAc;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,QAAQ;gBACR,YAAY;aACb;SACF;QACD,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;QACD,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,SAAS;KACxB,CAAC,CAAA;IACF,OAAO,SAAgB,CAAA;AACzB,CAAC"}
|
|
@@ -2,23 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.signTransaction = signTransaction;
|
|
4
4
|
async function signTransaction(client, params) {
|
|
5
|
-
const { organizationId, projectId, address, unsignedTransaction } = params;
|
|
5
|
+
const { organizationId, projectId, token, address, unsignedTransaction } = params;
|
|
6
6
|
const { signature } = await client.request({
|
|
7
7
|
path: `${projectId}/sign/transaction`,
|
|
8
8
|
body: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
unsignedTransaction,
|
|
17
|
-
},
|
|
9
|
+
type: 'ACTIVITY_TYPE_SIGN_TRANSACTION_V2',
|
|
10
|
+
timestampMs: Date.now().toString(),
|
|
11
|
+
organizationId,
|
|
12
|
+
parameters: {
|
|
13
|
+
signWith: address,
|
|
14
|
+
type: 'TRANSACTION_TYPE_ETHEREUM',
|
|
15
|
+
unsignedTransaction,
|
|
18
16
|
},
|
|
19
|
-
|
|
17
|
+
},
|
|
18
|
+
headers: {
|
|
19
|
+
Authorization: `Bearer ${token}`,
|
|
20
20
|
},
|
|
21
21
|
stamp: true,
|
|
22
|
+
stampPostion: 'headers',
|
|
22
23
|
});
|
|
23
24
|
return `0x${signature}`;
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signTransaction.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signTransaction.ts"],"names":[],"mappings":";;AAoCA,0CA2BC;AA3BM,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,MAAiC;IAEjC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,GACtE,MAAM,CAAA;IAER,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,GAAG,SAAS,mBAAmB;QACrC,IAAI,EAAE;YACJ,IAAI,EAAE,mCAAmC;YACzC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAClC,cAAc;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,2BAA2B;gBACjC,mBAAmB;aACpB;SACF;QACD,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;QACD,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,SAAS;KACxB,CAAC,CAAA;IAEF,OAAO,KAAK,SAAS,EAAS,CAAA;AAChC,CAAC"}
|
|
@@ -22,6 +22,7 @@ async function toViemAccount(params) {
|
|
|
22
22
|
return await client.signRawPayload({
|
|
23
23
|
organizationId,
|
|
24
24
|
projectId,
|
|
25
|
+
token,
|
|
25
26
|
address,
|
|
26
27
|
payload,
|
|
27
28
|
encoding,
|
|
@@ -36,6 +37,7 @@ async function toViemAccount(params) {
|
|
|
36
37
|
const signature = await client.signTransaction({
|
|
37
38
|
organizationId,
|
|
38
39
|
projectId,
|
|
40
|
+
token,
|
|
39
41
|
address,
|
|
40
42
|
unsignedTransaction: nonHexPrefixedSerializedTx,
|
|
41
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viem.js","sourceRoot":"","sources":["../../../src/adapters/viem.ts"],"names":[],"mappings":";;AA6BA,
|
|
1
|
+
{"version":3,"file":"viem.js","sourceRoot":"","sources":["../../../src/adapters/viem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAuthProxyClient = createAuthProxyClient;
|
|
4
|
+
const AUTH_PROXY_BASE_URL = 'https://authproxy.turnkey.com';
|
|
5
|
+
function createAuthProxyClient(config) {
|
|
6
|
+
const { authProxyConfigId, baseUrl = AUTH_PROXY_BASE_URL } = config;
|
|
7
|
+
async function request(path, body, method = 'POST') {
|
|
8
|
+
const fetchOptions = {
|
|
9
|
+
method,
|
|
10
|
+
headers: {
|
|
11
|
+
'Content-Type': 'application/json',
|
|
12
|
+
'X-Auth-Proxy-Config-Id': authProxyConfigId,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
if (method !== 'GET') {
|
|
16
|
+
fetchOptions.body = JSON.stringify(body);
|
|
17
|
+
}
|
|
18
|
+
const response = await fetch(`${baseUrl}${path}`, fetchOptions);
|
|
19
|
+
if (!response.ok) {
|
|
20
|
+
const errorText = await response.text();
|
|
21
|
+
throw new Error(`Auth Proxy request failed: ${response.status} ${response.statusText} - ${errorText}`);
|
|
22
|
+
}
|
|
23
|
+
return response.json();
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
async verifyOtp(params) {
|
|
27
|
+
return request('/v1/otp_verify', params);
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=authProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authProxy.js","sourceRoot":"","sources":["../../../src/client/authProxy.ts"],"names":[],"mappings":";;AA8BA,sDA6CC;AA3ED,MAAM,mBAAmB,GAAG,+BAA+B,CAAA;AA8B3D,SAAgB,qBAAqB,CAAC,MAA6B;IACjE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,mBAAmB,EAAE,GAAG,MAAM,CAAA;IAEnE,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,IAAa,EACb,SAAyB,MAAM;QAE/B,MAAM,YAAY,GAAgB;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,wBAAwB,EAAE,iBAAiB;aAC5C;SACF,CAAA;QAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC,CAAA;QAE/D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,SAAS,EAAE,CACtF,CAAA;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,OAAO;QAOL,KAAK,CAAC,SAAS,CACb,MAAiC;YAEjC,OAAO,OAAO,CAA6B,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -9,6 +9,7 @@ function zeroDevWalletActions(client) {
|
|
|
9
9
|
authenticateWithEmail: (params) => (0, index_js_1.authenticateWithEmail)(client, params),
|
|
10
10
|
authenticateWithOAuth: (params) => (0, index_js_1.authenticateWithOAuth)(client, params),
|
|
11
11
|
getWhoami: (params) => (0, index_js_1.getWhoami)(client, params),
|
|
12
|
+
getUserEmail: (params) => (0, index_js_1.getUserEmail)(client, params),
|
|
12
13
|
getUserWallet: (params) => (0, index_js_1.getUserWallet)(client, params),
|
|
13
14
|
signRawPayload: (params) => (0, index_js_1.signRawPayload)(client, params),
|
|
14
15
|
signTransaction: (params) => (0, signTransaction_js_1.signTransaction)(client, params),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/decorators/client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/decorators/client.ts"],"names":[],"mappings":";;AAiJA,oDAiBC;AAlKD,4EAI6C;AAC7C,qDA4B+B;AAC/B,gFAIgD;AA2GhD,SAAgB,oBAAoB,CAAC,MAAc;IACjD,OAAO;QAEL,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,gCAAqB,EAAC,MAAM,EAAE,MAAM,CAAC;QACxE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,gCAAqB,EAAC,MAAM,EAAE,MAAM,CAAC;QACxE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,oBAAS,EAAC,MAAM,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,MAAM,EAAE,MAAM,CAAC;QAGtD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,MAAM,EAAE,MAAM,CAAC;QACxD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,yBAAc,EAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,8BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC;QACpE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,MAAM,EAAE,MAAM,CAAC;KACvD,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = void 0;
|
|
3
|
+
exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.createAuthProxyClient = void 0;
|
|
4
|
+
var authProxy_js_1 = require("./authProxy.js");
|
|
5
|
+
Object.defineProperty(exports, "createAuthProxyClient", { enumerable: true, get: function () { return authProxy_js_1.createAuthProxyClient; } });
|
|
4
6
|
var createClient_js_1 = require("./createClient.js");
|
|
5
7
|
Object.defineProperty(exports, "createBaseClient", { enumerable: true, get: function () { return createClient_js_1.createBaseClient; } });
|
|
6
8
|
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return createClient_js_1.createClient; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":";;;AAAA,qDAI0B;AAHxB,mHAAA,gBAAgB,OAAA;AAChB,+GAAA,YAAY,OAAA;AAGd,sEAAwE;AAA/D,4HAAA,sBAAsB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":";;;AAAA,+CAMuB;AADrB,qHAAA,qBAAqB,OAAA;AAEvB,qDAI0B;AAHxB,mHAAA,gBAAgB,OAAA;AAChB,+GAAA,YAAY,OAAA;AAGd,sEAAwE;AAA/D,4HAAA,sBAAsB,OAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.rest = rest;
|
|
4
|
+
const json_canonicalize_1 = require("json-canonicalize");
|
|
4
5
|
const request_js_1 = require("../../errors/request.js");
|
|
5
6
|
function rest(url, cfg) {
|
|
6
7
|
const timeoutMs = cfg.timeoutMs ?? 10_000;
|
|
@@ -29,7 +30,7 @@ function rest(url, cfg) {
|
|
|
29
30
|
stamper = cfg.indexedDbStamper;
|
|
30
31
|
}
|
|
31
32
|
const { body, apiUrl } = args.body;
|
|
32
|
-
const bodyString =
|
|
33
|
+
const bodyString = (0, json_canonicalize_1.canonicalizeEx)(body ?? args.body);
|
|
33
34
|
const stamp = await stamper.stamp(bodyString);
|
|
34
35
|
if (args.stampPostion === 'headers') {
|
|
35
36
|
requestHeaders = {
|
|
@@ -63,6 +64,7 @@ function rest(url, cfg) {
|
|
|
63
64
|
headers: requestHeaders,
|
|
64
65
|
body: requestBody != null ? JSON.stringify(requestBody) : null,
|
|
65
66
|
signal: controller.signal,
|
|
67
|
+
...(args.credentials && { credentials: args.credentials }),
|
|
66
68
|
};
|
|
67
69
|
const finalInit = (await cfg.onRequest?.(fullUrl, init)) ?? init;
|
|
68
70
|
const res = await fetch(fullUrl, finalInit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/client/transports/rest.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/client/transports/rest.ts"],"names":[],"mappings":"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"}
|
package/dist/_cjs/constants.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KMS_SERVER_URL = exports.DEFAULT_ORGANIZATION_ID = exports.DEFAULT_IFRAME_ELEMENT_ID = exports.DEFAULT_IFRAME_CONTAINER_ID = exports.DEFAULT_SESSION_EXPIRATION_IN_SECONDS = void 0;
|
|
3
|
+
exports.KMS_SERVER_URL = exports.DEFAULT_AUTH_PROXY_CONFIG_ID = exports.DEFAULT_ORGANIZATION_ID = exports.DEFAULT_IFRAME_ELEMENT_ID = exports.DEFAULT_IFRAME_CONTAINER_ID = exports.DEFAULT_SESSION_EXPIRATION_IN_SECONDS = void 0;
|
|
4
4
|
exports.DEFAULT_SESSION_EXPIRATION_IN_SECONDS = '900';
|
|
5
5
|
exports.DEFAULT_IFRAME_CONTAINER_ID = 'turnkey-auth-iframe-container-id';
|
|
6
6
|
exports.DEFAULT_IFRAME_ELEMENT_ID = 'turnkey-default-iframe-element-id';
|
|
7
7
|
exports.DEFAULT_ORGANIZATION_ID = '6254bb1d-0d0d-4f7e-96b8-77c94fe0b0c1';
|
|
8
|
+
exports.DEFAULT_AUTH_PROXY_CONFIG_ID = 'f69f6246-a814-43c6-90e6-2a8d947853d3';
|
|
8
9
|
exports.KMS_SERVER_URL = 'https://kms.dev.zerodev.app';
|
|
9
10
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qCAAqC,GAAG,KAAK,CAAA;AAC7C,QAAA,2BAA2B,GAAG,kCAAkC,CAAA;AAChE,QAAA,yBAAyB,GAAG,mCAAmC,CAAA;AAC/D,QAAA,uBAAuB,GAAG,sCAAsC,CAAA;AAChE,QAAA,cAAc,GAAG,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qCAAqC,GAAG,KAAK,CAAA;AAC7C,QAAA,2BAA2B,GAAG,kCAAkC,CAAA;AAChE,QAAA,yBAAyB,GAAG,mCAAmC,CAAA;AAC/D,QAAA,uBAAuB,GAAG,sCAAsC,CAAA;AAChE,QAAA,4BAA4B,GACvC,sCAAsC,CAAA;AAC3B,QAAA,cAAc,GAAG,6BAA6B,CAAA"}
|
|
@@ -10,6 +10,7 @@ const webauthnStamper_js_1 = require("../stampers/webauthnStamper.js");
|
|
|
10
10
|
const adapters_js_1 = require("../storage/adapters.js");
|
|
11
11
|
const manager_js_1 = require("../storage/manager.js");
|
|
12
12
|
const session_js_1 = require("../types/session.js");
|
|
13
|
+
const buildClientSignature_js_1 = require("../utils/buildClientSignature.js");
|
|
13
14
|
const utils_js_1 = require("../utils/utils.js");
|
|
14
15
|
async function createZeroDevWallet(config) {
|
|
15
16
|
const { projectId, sessionStorage, rpId = window.location.hostname, organizationId = constants_js_1.DEFAULT_ORGANIZATION_ID, } = config;
|
|
@@ -92,29 +93,23 @@ async function createZeroDevWallet(config) {
|
|
|
92
93
|
async auth(params) {
|
|
93
94
|
switch (params.type) {
|
|
94
95
|
case 'oauth': {
|
|
95
|
-
const { credential } = params;
|
|
96
|
-
const targetPublicKey = await client.indexedDbStamper.getPublicKey();
|
|
97
|
-
if (!targetPublicKey) {
|
|
98
|
-
throw new Error('Failed to get public key');
|
|
99
|
-
}
|
|
100
96
|
const data = await client.authenticateWithOAuth({
|
|
101
|
-
|
|
102
|
-
provider: 'google',
|
|
103
|
-
targetPublicKey,
|
|
97
|
+
provider: params.provider,
|
|
104
98
|
projectId,
|
|
105
99
|
});
|
|
106
|
-
if (data.
|
|
107
|
-
const parsedSession = (0, utils_js_1.parseSession)(data.
|
|
100
|
+
if (data.session) {
|
|
101
|
+
const parsedSession = (0, utils_js_1.parseSession)(data.session);
|
|
102
|
+
const publicKey = await client.indexedDbStamper.getPublicKey();
|
|
108
103
|
const session = {
|
|
109
104
|
id: `session_oauth_${Date.now()}`,
|
|
110
105
|
userId: parsedSession.userId,
|
|
111
106
|
organizationId: parsedSession.organizationId,
|
|
112
107
|
stamperType: 'indexedDb',
|
|
113
108
|
sessionType: parsedSession.sessionType || session_js_1.SessionType.READ_WRITE,
|
|
114
|
-
token: data.
|
|
109
|
+
token: data.session,
|
|
115
110
|
expiry: parsedSession.expiry,
|
|
116
111
|
createdAt: Date.now(),
|
|
117
|
-
publicKey:
|
|
112
|
+
publicKey: publicKey || '',
|
|
118
113
|
};
|
|
119
114
|
await sessionStorageManager.storeSession(session, session.id);
|
|
120
115
|
}
|
|
@@ -233,17 +228,28 @@ async function createZeroDevWallet(config) {
|
|
|
233
228
|
return data;
|
|
234
229
|
}
|
|
235
230
|
if (type === 'otp' && mode === 'verifyOtp') {
|
|
236
|
-
const { otpId, otpCode
|
|
231
|
+
const { otpId, otpCode } = params;
|
|
237
232
|
await client.indexedDbStamper.resetKeyPair();
|
|
238
233
|
const targetPublicKey = await client.indexedDbStamper.getPublicKey();
|
|
239
234
|
if (!targetPublicKey) {
|
|
240
235
|
throw new Error('Failed to get public key');
|
|
241
236
|
}
|
|
242
|
-
const
|
|
237
|
+
const authProxyClient = (0, index_js_1.createAuthProxyClient)({
|
|
238
|
+
authProxyConfigId: constants_js_1.DEFAULT_AUTH_PROXY_CONFIG_ID,
|
|
239
|
+
});
|
|
240
|
+
const { verificationToken } = await authProxyClient.verifyOtp({
|
|
243
241
|
otpId,
|
|
244
242
|
otpCode,
|
|
245
|
-
|
|
246
|
-
|
|
243
|
+
public_key: targetPublicKey,
|
|
244
|
+
});
|
|
245
|
+
const clientSignature = await (0, buildClientSignature_js_1.buildClientSignature)({
|
|
246
|
+
verificationToken,
|
|
247
|
+
publicKey: targetPublicKey,
|
|
248
|
+
stamper: client.indexedDbStamper,
|
|
249
|
+
});
|
|
250
|
+
const data = await client.loginWithOTP({
|
|
251
|
+
verificationToken,
|
|
252
|
+
clientSignature,
|
|
247
253
|
projectId,
|
|
248
254
|
});
|
|
249
255
|
if (data.session) {
|