@turnkey/core 1.0.0-beta.4 → 1.0.0-beta.6
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/dist/__clients__/core.d.ts +88 -35
- package/dist/__clients__/core.d.ts.map +1 -1
- package/dist/__clients__/core.js +271 -140
- package/dist/__clients__/core.js.map +1 -1
- package/dist/__clients__/core.mjs +274 -143
- package/dist/__clients__/core.mjs.map +1 -1
- package/dist/__generated__/sdk-client-base.d.ts +13 -0
- package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
- package/dist/__generated__/sdk-client-base.js +198 -8
- package/dist/__generated__/sdk-client-base.js.map +1 -1
- package/dist/__generated__/sdk-client-base.mjs +198 -8
- package/dist/__generated__/sdk-client-base.mjs.map +1 -1
- package/dist/__generated__/version.d.ts +1 -1
- package/dist/__generated__/version.js +1 -1
- package/dist/__generated__/version.mjs +1 -1
- package/dist/__inputs__/public_api.types.d.ts +629 -494
- package/dist/__inputs__/public_api.types.d.ts.map +1 -1
- package/dist/__polyfills__/jest.setup.webcrypto.d.ts +2 -0
- package/dist/__polyfills__/jest.setup.webcrypto.d.ts.map +1 -0
- package/dist/__stampers__/api/base.d.ts +11 -5
- package/dist/__stampers__/api/base.d.ts.map +1 -1
- package/dist/__stampers__/api/base.js +32 -10
- package/dist/__stampers__/api/base.js.map +1 -1
- package/dist/__stampers__/api/base.mjs +32 -10
- package/dist/__stampers__/api/base.mjs.map +1 -1
- package/dist/__stampers__/api/web/stamper.d.ts.map +1 -1
- package/dist/__stampers__/api/web/stamper.js +2 -4
- package/dist/__stampers__/api/web/stamper.js.map +1 -1
- package/dist/__stampers__/api/web/stamper.mjs +2 -4
- package/dist/__stampers__/api/web/stamper.mjs.map +1 -1
- package/dist/__types__/base.d.ts +195 -75
- package/dist/__types__/base.d.ts.map +1 -1
- package/dist/__types__/base.js +14 -13
- package/dist/__types__/base.js.map +1 -1
- package/dist/__types__/base.mjs +15 -14
- package/dist/__types__/base.mjs.map +1 -1
- package/dist/__wallet__/stamper.d.ts.map +1 -1
- package/dist/__wallet__/stamper.js +8 -7
- package/dist/__wallet__/stamper.js.map +1 -1
- package/dist/__wallet__/stamper.mjs +9 -8
- package/dist/__wallet__/stamper.mjs.map +1 -1
- package/dist/__wallet__/wallet-connect/base.d.ts +3 -0
- package/dist/__wallet__/wallet-connect/base.d.ts.map +1 -1
- package/dist/__wallet__/wallet-connect/base.js +32 -8
- package/dist/__wallet__/wallet-connect/base.js.map +1 -1
- package/dist/__wallet__/wallet-connect/base.mjs +32 -8
- package/dist/__wallet__/wallet-connect/base.mjs.map +1 -1
- package/dist/__wallet__/wallet-connect/client.d.ts +28 -3
- package/dist/__wallet__/wallet-connect/client.d.ts.map +1 -1
- package/dist/__wallet__/wallet-connect/client.js +54 -5
- package/dist/__wallet__/wallet-connect/client.js.map +1 -1
- package/dist/__wallet__/wallet-connect/client.mjs +54 -5
- package/dist/__wallet__/wallet-connect/client.mjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/utils.d.ts +61 -13
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +184 -32
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +179 -33
- package/dist/utils.mjs.map +1 -1
- package/package.json +10 -9
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var utils = require('../../utils.js');
|
|
4
4
|
var stamper = require('./web/stamper.js');
|
|
5
|
+
var sdkTypes = require('@turnkey/sdk-types');
|
|
5
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Cross-platform API key stamper.
|
|
9
|
+
*
|
|
10
|
+
* - This stamper uses indexedDB on web and keychain on react-native to securely stamp Turnkey requests.
|
|
11
|
+
* - ***Only supports P-256 ECDSA key pairs.***
|
|
12
|
+
*/
|
|
6
13
|
class CrossPlatformApiKeyStamper {
|
|
7
14
|
constructor(storageManager) {
|
|
8
15
|
this.storageManager = storageManager;
|
|
@@ -19,43 +26,58 @@ class CrossPlatformApiKeyStamper {
|
|
|
19
26
|
this.stamper = new ReactNativeKeychainStamper();
|
|
20
27
|
}
|
|
21
28
|
catch (error) {
|
|
22
|
-
throw new
|
|
29
|
+
throw new sdkTypes.TurnkeyError(`Failed to load keychain stamper for react-native`, sdkTypes.TurnkeyErrorCodes.INITIALIZE_CLIENT_ERROR, error);
|
|
23
30
|
}
|
|
24
31
|
}
|
|
25
32
|
else {
|
|
26
|
-
throw new
|
|
33
|
+
throw new sdkTypes.TurnkeyError("Unsupported platform for API key stamper", sdkTypes.TurnkeyErrorCodes.UNSUPPORTED_PLATFORM);
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
listKeyPairs() {
|
|
37
|
+
if (!this.stamper) {
|
|
38
|
+
throw new sdkTypes.TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
39
|
+
}
|
|
30
40
|
return this.stamper.listKeyPairs();
|
|
31
41
|
}
|
|
32
42
|
createKeyPair(externalKeyPair) {
|
|
43
|
+
if (!this.stamper) {
|
|
44
|
+
throw new sdkTypes.TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
45
|
+
}
|
|
33
46
|
return this.stamper.createKeyPair(externalKeyPair);
|
|
34
47
|
}
|
|
35
48
|
deleteKeyPair(publicKeyHex) {
|
|
49
|
+
if (!this.stamper) {
|
|
50
|
+
throw new sdkTypes.TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
51
|
+
}
|
|
36
52
|
return this.stamper.deleteKeyPair(publicKeyHex);
|
|
37
53
|
}
|
|
38
54
|
clearKeyPairs() {
|
|
55
|
+
if (!this.stamper) {
|
|
56
|
+
throw new sdkTypes.TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
57
|
+
}
|
|
39
58
|
return this.stamper.clearKeyPairs();
|
|
40
59
|
}
|
|
41
60
|
// This allows forcing a specific public key to find the key pair for stamping. The key pair must already exist in indexedDB / Keychain.
|
|
42
61
|
// This is useful if you need to stamp with a specific key pair without having an active session.
|
|
43
62
|
// See "signUpWithPasskey" function in core.ts for usage
|
|
44
|
-
|
|
45
|
-
this.
|
|
63
|
+
setTemporaryPublicKey(publicKeyHex) {
|
|
64
|
+
this.temporaryPublicKey = publicKeyHex;
|
|
46
65
|
}
|
|
47
|
-
|
|
48
|
-
return this.
|
|
66
|
+
getTemporaryPublicKey() {
|
|
67
|
+
return this.temporaryPublicKey;
|
|
49
68
|
}
|
|
50
|
-
|
|
51
|
-
this.
|
|
69
|
+
clearTemporaryPublicKey() {
|
|
70
|
+
this.temporaryPublicKey = undefined;
|
|
52
71
|
}
|
|
53
72
|
async stamp(payload) {
|
|
54
|
-
|
|
73
|
+
if (!this.stamper) {
|
|
74
|
+
throw new sdkTypes.TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
75
|
+
}
|
|
76
|
+
let publicKeyHex = this.temporaryPublicKey;
|
|
55
77
|
if (!publicKeyHex) {
|
|
56
78
|
const session = await this.storageManager.getActiveSession();
|
|
57
79
|
if (!session) {
|
|
58
|
-
throw new
|
|
80
|
+
throw new sdkTypes.TurnkeyError("No active session or token available.", sdkTypes.TurnkeyErrorCodes.NO_SESSION_FOUND);
|
|
59
81
|
}
|
|
60
82
|
publicKeyHex = session.publicKey;
|
|
61
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../src/__stampers__/api/base.ts"],"sourcesContent":[null],"names":["isWeb","IndexedDbStamper","isReactNative"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../src/__stampers__/api/base.ts"],"sourcesContent":[null],"names":["isWeb","IndexedDbStamper","isReactNative","TurnkeyError","TurnkeyErrorCodes"],"mappings":";;;;;;AAKA;;;;;AAKG;MACU,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CAAoB,cAA2B,EAAA;QAA3B,IAAc,CAAA,cAAA,GAAd,cAAc;;;AAIlC,IAAA,MAAM,IAAI,GAAA;QACR,IAAIA,WAAK,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,IAAIC,wBAAgB,EAAE;;aAChC,IAAIC,mBAAa,EAAE,EAAE;AAC1B,YAAA,IAAI;;gBAEF,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,oDAAO,qBAAkB,KAAC;AACvE,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,EAAE;;YAC/C,OAAO,KAAK,EAAE;gBACd,MAAM,IAAIC,qBAAY,CACpB,CAAkD,gDAAA,CAAA,EAClDC,0BAAiB,CAAC,uBAAuB,EACzC,KAAK,CACN;;;aAEE;YACL,MAAM,IAAID,qBAAY,CACpB,0CAA0C,EAC1CC,0BAAiB,CAAC,oBAAoB,CACvC;;;IAIL,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAID,qBAAY,CACpB,6EAA6E,EAC7EC,0BAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;AAGpC,IAAA,aAAa,CACX,eAA2E,EAAA;AAE3E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAID,qBAAY,CACpB,6EAA6E,EAC7EC,0BAAiB,CAAC,sBAAsB,CACzC;;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;;AAGpD,IAAA,aAAa,CAAC,YAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAID,qBAAY,CACpB,6EAA6E,EAC7EC,0BAAiB,CAAC,sBAAsB,CACzC;;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;;IAGjD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAID,qBAAY,CACpB,6EAA6E,EAC7EC,0BAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;;;;;AAMrC,IAAA,qBAAqB,CAAC,YAAgC,EAAA;AACpD,QAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY;;IAGxC,qBAAqB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;;IAGhC,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;;IAGrC,MAAM,KAAK,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAID,qBAAY,CACpB,6EAA6E,EAC7EC,0BAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAID,qBAAY,CACpB,uCAAuC,EACvCC,0BAAiB,CAAC,gBAAgB,CACnC;;AAEH,YAAA,YAAY,GAAG,OAAO,CAAC,SAAU;;QAGnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;;AAEnD;;;;"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { isWeb, isReactNative } from '../../utils.mjs';
|
|
2
2
|
import { IndexedDbStamper } from './web/stamper.mjs';
|
|
3
|
+
import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
|
|
3
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Cross-platform API key stamper.
|
|
7
|
+
*
|
|
8
|
+
* - This stamper uses indexedDB on web and keychain on react-native to securely stamp Turnkey requests.
|
|
9
|
+
* - ***Only supports P-256 ECDSA key pairs.***
|
|
10
|
+
*/
|
|
4
11
|
class CrossPlatformApiKeyStamper {
|
|
5
12
|
constructor(storageManager) {
|
|
6
13
|
this.storageManager = storageManager;
|
|
@@ -17,43 +24,58 @@ class CrossPlatformApiKeyStamper {
|
|
|
17
24
|
this.stamper = new ReactNativeKeychainStamper();
|
|
18
25
|
}
|
|
19
26
|
catch (error) {
|
|
20
|
-
throw new
|
|
27
|
+
throw new TurnkeyError(`Failed to load keychain stamper for react-native`, TurnkeyErrorCodes.INITIALIZE_CLIENT_ERROR, error);
|
|
21
28
|
}
|
|
22
29
|
}
|
|
23
30
|
else {
|
|
24
|
-
throw new
|
|
31
|
+
throw new TurnkeyError("Unsupported platform for API key stamper", TurnkeyErrorCodes.UNSUPPORTED_PLATFORM);
|
|
25
32
|
}
|
|
26
33
|
}
|
|
27
34
|
listKeyPairs() {
|
|
35
|
+
if (!this.stamper) {
|
|
36
|
+
throw new TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
37
|
+
}
|
|
28
38
|
return this.stamper.listKeyPairs();
|
|
29
39
|
}
|
|
30
40
|
createKeyPair(externalKeyPair) {
|
|
41
|
+
if (!this.stamper) {
|
|
42
|
+
throw new TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
43
|
+
}
|
|
31
44
|
return this.stamper.createKeyPair(externalKeyPair);
|
|
32
45
|
}
|
|
33
46
|
deleteKeyPair(publicKeyHex) {
|
|
47
|
+
if (!this.stamper) {
|
|
48
|
+
throw new TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
49
|
+
}
|
|
34
50
|
return this.stamper.deleteKeyPair(publicKeyHex);
|
|
35
51
|
}
|
|
36
52
|
clearKeyPairs() {
|
|
53
|
+
if (!this.stamper) {
|
|
54
|
+
throw new TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
55
|
+
}
|
|
37
56
|
return this.stamper.clearKeyPairs();
|
|
38
57
|
}
|
|
39
58
|
// This allows forcing a specific public key to find the key pair for stamping. The key pair must already exist in indexedDB / Keychain.
|
|
40
59
|
// This is useful if you need to stamp with a specific key pair without having an active session.
|
|
41
60
|
// See "signUpWithPasskey" function in core.ts for usage
|
|
42
|
-
|
|
43
|
-
this.
|
|
61
|
+
setTemporaryPublicKey(publicKeyHex) {
|
|
62
|
+
this.temporaryPublicKey = publicKeyHex;
|
|
44
63
|
}
|
|
45
|
-
|
|
46
|
-
return this.
|
|
64
|
+
getTemporaryPublicKey() {
|
|
65
|
+
return this.temporaryPublicKey;
|
|
47
66
|
}
|
|
48
|
-
|
|
49
|
-
this.
|
|
67
|
+
clearTemporaryPublicKey() {
|
|
68
|
+
this.temporaryPublicKey = undefined;
|
|
50
69
|
}
|
|
51
70
|
async stamp(payload) {
|
|
52
|
-
|
|
71
|
+
if (!this.stamper) {
|
|
72
|
+
throw new TurnkeyError("Stamper is not initialized. Please call .init() before calling this method.", TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
73
|
+
}
|
|
74
|
+
let publicKeyHex = this.temporaryPublicKey;
|
|
53
75
|
if (!publicKeyHex) {
|
|
54
76
|
const session = await this.storageManager.getActiveSession();
|
|
55
77
|
if (!session) {
|
|
56
|
-
throw new
|
|
78
|
+
throw new TurnkeyError("No active session or token available.", TurnkeyErrorCodes.NO_SESSION_FOUND);
|
|
57
79
|
}
|
|
58
80
|
publicKeyHex = session.publicKey;
|
|
59
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.mjs","sources":["../../../src/__stampers__/api/base.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.mjs","sources":["../../../src/__stampers__/api/base.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA;;;;;AAKG;MACU,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CAAoB,cAA2B,EAAA;QAA3B,IAAc,CAAA,cAAA,GAAd,cAAc;;;AAIlC,IAAA,MAAM,IAAI,GAAA;QACR,IAAI,KAAK,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,EAAE;;aAChC,IAAI,aAAa,EAAE,EAAE;AAC1B,YAAA,IAAI;;gBAEF,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,OAAO,sBAAkB,CAAC;AACvE,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,EAAE;;YAC/C,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,YAAY,CACpB,CAAkD,gDAAA,CAAA,EAClD,iBAAiB,CAAC,uBAAuB,EACzC,KAAK,CACN;;;aAEE;YACL,MAAM,IAAI,YAAY,CACpB,0CAA0C,EAC1C,iBAAiB,CAAC,oBAAoB,CACvC;;;IAIL,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,YAAY,CACpB,6EAA6E,EAC7E,iBAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;AAGpC,IAAA,aAAa,CACX,eAA2E,EAAA;AAE3E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,YAAY,CACpB,6EAA6E,EAC7E,iBAAiB,CAAC,sBAAsB,CACzC;;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;;AAGpD,IAAA,aAAa,CAAC,YAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,YAAY,CACpB,6EAA6E,EAC7E,iBAAiB,CAAC,sBAAsB,CACzC;;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;;IAGjD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,YAAY,CACpB,6EAA6E,EAC7E,iBAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;;;;;AAMrC,IAAA,qBAAqB,CAAC,YAAgC,EAAA;AACpD,QAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY;;IAGxC,qBAAqB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;;IAGhC,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;;IAGrC,MAAM,KAAK,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,YAAY,CACpB,6EAA6E,EAC7E,iBAAiB,CAAC,sBAAsB,CACzC;;AAEH,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,YAAY,CACpB,uCAAuC,EACvC,iBAAiB,CAAC,gBAAgB,CACnC;;AAEH,YAAA,YAAY,GAAG,OAAO,CAAC,SAAU;;QAGnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;;AAEnD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamper.d.ts","sourceRoot":"","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"stamper.d.ts","sourceRoot":"","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AA2ExD,qBAAa,gBAAiB,YAAW,iBAAiB;;YAO1C,MAAM;YAcN,YAAY;YAkBZ,aAAa;IAiBrB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBjC,aAAa,CAAC,eAAe,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB/D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YActB,IAAI;IAiBZ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYpE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var encoding = require('@turnkey/encoding');
|
|
4
|
+
var utils = require('../../../utils.js');
|
|
4
5
|
|
|
5
6
|
const DB_NAME = "TurnkeyStamperDB";
|
|
6
7
|
const DB_STORE = "KeyStore";
|
|
@@ -139,10 +140,7 @@ class IndexedDbStamper {
|
|
|
139
140
|
let privateKey;
|
|
140
141
|
let publicKey;
|
|
141
142
|
if (externalKeyPair) {
|
|
142
|
-
|
|
143
|
-
if (extractable !== false) {
|
|
144
|
-
throw new Error("Provided privateKey must be non-extractable.");
|
|
145
|
-
}
|
|
143
|
+
await utils.assertValidP256ECDSAKeyPair(externalKeyPair);
|
|
146
144
|
privateKey = externalKeyPair.privateKey;
|
|
147
145
|
publicKey = externalKeyPair.publicKey;
|
|
148
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamper.js","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"sourcesContent":[null],"names":["pointEncode","uint8ArrayToHexString","stringToBase64urlString"],"mappings":"
|
|
1
|
+
{"version":3,"file":"stamper.js","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"sourcesContent":[null],"names":["assertValidP256ECDSAKeyPair","pointEncode","uint8ArrayToHexString","stringToBase64urlString"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { pointEncode, uint8ArrayToHexString, stringToBase64urlString } from '@turnkey/encoding';
|
|
2
|
+
import { assertValidP256ECDSAKeyPair } from '../../../utils.mjs';
|
|
2
3
|
|
|
3
4
|
const DB_NAME = "TurnkeyStamperDB";
|
|
4
5
|
const DB_STORE = "KeyStore";
|
|
@@ -137,10 +138,7 @@ class IndexedDbStamper {
|
|
|
137
138
|
let privateKey;
|
|
138
139
|
let publicKey;
|
|
139
140
|
if (externalKeyPair) {
|
|
140
|
-
|
|
141
|
-
if (extractable !== false) {
|
|
142
|
-
throw new Error("Provided privateKey must be non-extractable.");
|
|
143
|
-
}
|
|
141
|
+
await assertValidP256ECDSAKeyPair(externalKeyPair);
|
|
144
142
|
privateKey = externalKeyPair.privateKey;
|
|
145
143
|
publicKey = externalKeyPair.publicKey;
|
|
146
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamper.mjs","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stamper.mjs","sources":["../../../../src/__stampers__/api/web/stamper.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|