@bitgo-beta/passkey-crypto 0.0.1-beta.336 → 0.0.1-beta.337
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/src/attachPasskeyToWallet.d.ts +1 -2
- package/dist/src/attachPasskeyToWallet.d.ts.map +1 -1
- package/dist/src/attachPasskeyToWallet.js +5 -7
- package/dist/src/derivePasskeyPrfKey.d.ts +1 -2
- package/dist/src/derivePasskeyPrfKey.d.ts.map +1 -1
- package/dist/src/derivePasskeyPrfKey.js +3 -3
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -5
- package/dist/src/prfHelpers.js +5 -5
- package/dist/src/registerPasskey.d.ts +1 -2
- package/dist/src/registerPasskey.d.ts.map +1 -1
- package/dist/src/registerPasskey.js +4 -4
- package/dist/src/removePasskeyFromWallet.d.ts +1 -2
- package/dist/src/removePasskeyFromWallet.d.ts.map +1 -1
- package/dist/src/removePasskeyFromWallet.js +1 -1
- package/dist/test/integration/helpers/mockProvider.d.ts +1 -1
- package/dist/test/integration/helpers/mockProvider.d.ts.map +1 -1
- package/dist/test/integration/helpers/mockProvider.js +1 -1
- package/dist/test/integration/passkeyLifecycle.test.js +5 -6
- package/dist/test/unit/attachPasskeyToWallet.test.js +3 -3
- package/dist/test/unit/base64url.test.js +10 -10
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/base64url.d.ts +0 -16
- package/dist/src/base64url.d.ts.map +0 -1
- package/dist/src/base64url.js +0 -27
- package/dist/src/deriveEnterpriseSalt.d.ts +0 -18
- package/dist/src/deriveEnterpriseSalt.d.ts.map +0 -1
- package/dist/src/deriveEnterpriseSalt.js +0 -26
- package/dist/src/derivePassword.d.ts +0 -11
- package/dist/src/derivePassword.d.ts.map +0 -1
- package/dist/src/derivePassword.js +0 -16
- package/dist/src/webAuthnTypes.d.ts +0 -18
- package/dist/src/webAuthnTypes.d.ts.map +0 -1
- package/dist/src/webAuthnTypes.js +0 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BitGoBase, EncryptionVersion, Keychain } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { WebAuthnOtpDevice, WebAuthnProvider } from './webAuthnTypes';
|
|
1
|
+
import { BitGoBase, EncryptionVersion, Keychain, type WebAuthnOtpDevice, type WebAuthnProvider } from '@bitgo-beta/sdk-core';
|
|
3
2
|
export declare function attachPasskeyToWallet(params: {
|
|
4
3
|
bitgo: BitGoBase;
|
|
5
4
|
coin: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachPasskeyToWallet.d.ts","sourceRoot":"","sources":["../../src/attachPasskeyToWallet.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"attachPasskeyToWallet.d.ts","sourceRoot":"","sources":["../../src/attachPasskeyToWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,QAAQ,EAIR,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4EpB"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.attachPasskeyToWallet = attachPasskeyToWallet;
|
|
4
|
-
const
|
|
5
|
-
const deriveEnterpriseSalt_1 = require("./deriveEnterpriseSalt");
|
|
6
|
-
const derivePassword_1 = require("./derivePassword");
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
7
5
|
async function attachPasskeyToWallet(params) {
|
|
8
6
|
const { bitgo, coin, walletId, device, existingPassphrase, provider, encryptionVersion } = params;
|
|
9
7
|
// Throw early if PRF extension is not supported
|
|
@@ -27,13 +25,13 @@ async function attachPasskeyToWallet(params) {
|
|
|
27
25
|
// Derive enterprise-scoped salt (base64url; same encoding is used as the
|
|
28
26
|
// PRF eval input and as the server-stored prfSalt so the bytes fed to the
|
|
29
27
|
// authenticator match between attach and derive).
|
|
30
|
-
const prfSalt = (0,
|
|
28
|
+
const prfSalt = (0, sdk_core_1.deriveEnterpriseSalt)(device.prfSalt, enterpriseId);
|
|
31
29
|
// Decrypt private key with existing passphrase
|
|
32
30
|
const privateKey = await bitgo.decrypt({ password: existingPassphrase, input: keychain.encryptedPrv });
|
|
33
31
|
// Decode credentialId from base64url to ArrayBuffer for allowCredentials.
|
|
34
32
|
// The WebAuthn spec requires allowCredentials to be non-empty when using evalByCredential,
|
|
35
33
|
// and each entry must correspond to a key in the evalByCredential map.
|
|
36
|
-
const credentialIdBuffer = (0,
|
|
34
|
+
const credentialIdBuffer = (0, sdk_core_1.base64UrlToBuffer)(device.credentialId).buffer;
|
|
37
35
|
// PRF assertion — evalByCredential maps this device's credentialId to the
|
|
38
36
|
// base64url enterprise salt. The provider layer is responsible for decoding
|
|
39
37
|
// base64url to raw bytes before handing it to the WebAuthn PRF extension.
|
|
@@ -46,7 +44,7 @@ async function attachPasskeyToWallet(params) {
|
|
|
46
44
|
if (!authResult.prfResult) {
|
|
47
45
|
throw new Error('PRF assertion did not return a result.');
|
|
48
46
|
}
|
|
49
|
-
const prfPassword = (0,
|
|
47
|
+
const prfPassword = (0, sdk_core_1.derivePassword)(authResult.prfResult);
|
|
50
48
|
const encryptedPrv = await bitgo.encrypt({
|
|
51
49
|
password: prfPassword,
|
|
52
50
|
input: privateKey,
|
|
@@ -67,4 +65,4 @@ async function attachPasskeyToWallet(params) {
|
|
|
67
65
|
.result();
|
|
68
66
|
return updatedKeychain;
|
|
69
67
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoUGFzc2tleVRvV2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F0dGFjaFBhc3NrZXlUb1dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLHNEQW9GQztBQS9GRCxtREFTOEI7QUFFdkIsS0FBSyxVQUFVLHFCQUFxQixDQUFDLE1BUTNDO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFbEcsZ0RBQWdEO0lBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxDLCtDQUErQztJQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU5RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsUUFBUSxvRUFBb0UsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUMzQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFFBQVEscUJBQXFCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUUvQix5RUFBeUU7SUFDekUsMEVBQTBFO0lBQzFFLGtEQUFrRDtJQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFBLCtCQUFvQixFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFbkUsK0NBQStDO0lBQy9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFdkcsMEVBQTBFO0lBQzFFLDJGQUEyRjtJQUMzRix1RUFBdUU7SUFDdkUsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLDRCQUFpQixFQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFekUsMEVBQTBFO0lBQzFFLDRFQUE0RTtJQUM1RSwwRUFBMEU7SUFDMUUsTUFBTSxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3BDLFNBQVMsRUFBRTtZQUNULGdCQUFnQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1NBQzlCO1FBQ3RDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFO0tBQ3JELENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFjLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sWUFBWSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxRQUFRLEVBQUUsV0FBVztRQUNyQixLQUFLLEVBQUUsVUFBVTtRQUNqQixpQkFBaUI7UUFDakIsbUZBQW1GO1FBQ25GLG9FQUFvRTtRQUNwRSxLQUFLLEVBQUUsWUFBWTtLQUNwQixDQUFDLENBQUM7SUFFSCxNQUFNLGVBQWUsR0FBRyxNQUFNLEtBQUs7U0FDaEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLFFBQVEsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0MsSUFBSSxDQUFDO1FBQ0osWUFBWSxFQUFFO1lBQ1osT0FBTztZQUNQLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUN0QixZQUFZO1NBQ2I7S0FDRixDQUFDO1NBQ0QsTUFBTSxFQUFFLENBQUM7SUFFWixPQUFPLGVBQTJCLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJpdEdvQmFzZSxcbiAgRW5jcnlwdGlvblZlcnNpb24sXG4gIEtleWNoYWluLFxuICBiYXNlNjRVcmxUb0J1ZmZlcixcbiAgZGVyaXZlRW50ZXJwcmlzZVNhbHQsXG4gIGRlcml2ZVBhc3N3b3JkLFxuICB0eXBlIFdlYkF1dGhuT3RwRGV2aWNlLFxuICB0eXBlIFdlYkF1dGhuUHJvdmlkZXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGF0dGFjaFBhc3NrZXlUb1dhbGxldChwYXJhbXM6IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgY29pbjogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICBkZXZpY2U6IFdlYkF1dGhuT3RwRGV2aWNlO1xuICBleGlzdGluZ1Bhc3NwaHJhc2U6IHN0cmluZztcbiAgcHJvdmlkZXI6IFdlYkF1dGhuUHJvdmlkZXI7XG4gIGVuY3J5cHRpb25WZXJzaW9uPzogRW5jcnlwdGlvblZlcnNpb247XG59KTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICBjb25zdCB7IGJpdGdvLCBjb2luLCB3YWxsZXRJZCwgZGV2aWNlLCBleGlzdGluZ1Bhc3NwaHJhc2UsIHByb3ZpZGVyLCBlbmNyeXB0aW9uVmVyc2lvbiB9ID0gcGFyYW1zO1xuXG4gIC8vIFRocm93IGVhcmx5IGlmIFBSRiBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZFxuICBpZiAoIWRldmljZS5wcmZTYWx0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQUkYgZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBkZXZpY2UuIFBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgcGFzc2tleS4nKTtcbiAgfVxuXG4gIGNvbnN0IGJhc2VDb2luID0gYml0Z28uY29pbihjb2luKTtcblxuICAvLyBGZXRjaCB3YWxsZXQgYW5kIHZhbGlkYXRlIGl0IGlzIGEgaG90IHdhbGxldFxuICBjb25zdCB3YWxsZXQgPSBhd2FpdCBiYXNlQ29pbi53YWxsZXRzKCkuZ2V0KHsgaWQ6IHdhbGxldElkIH0pO1xuXG4gIGlmICh3YWxsZXQudHlwZSgpICE9PSAnaG90Jykge1xuICAgIHRocm93IG5ldyBFcnJvcihgV2FsbGV0ICR7d2FsbGV0SWR9IGlzIG5vdCBhIGhvdCB3YWxsZXQuIE9ubHkgaG90IHdhbGxldHMgc3VwcG9ydCBwYXNza2V5IGF0dGFjaG1lbnQuYCk7XG4gIH1cblxuICBjb25zdCB3YWxsZXREYXRhID0gd2FsbGV0LnRvSlNPTigpO1xuICBjb25zdCBlbnRlcnByaXNlSWQgPSB3YWxsZXREYXRhLmVudGVycHJpc2U7XG4gIGlmICghZW50ZXJwcmlzZUlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBXYWxsZXQgJHt3YWxsZXRJZH0gaGFzIG5vIGVudGVycHJpc2UuYCk7XG4gIH1cblxuICAvLyBGZXRjaCB0aGUgdXNlciBrZXljaGFpbiDigJQgaXRlcmF0ZXMga2V5cyB1bnRpbCBpdCBmaW5kcyBvbmUgd2l0aCBlbmNyeXB0ZWRQcnZcbiAgY29uc3Qga2V5Y2hhaW4gPSBhd2FpdCB3YWxsZXQuZ2V0RW5jcnlwdGVkVXNlcktleWNoYWluKCk7XG4gIGNvbnN0IGtleWNoYWluSWQgPSBrZXljaGFpbi5pZDtcblxuICAvLyBEZXJpdmUgZW50ZXJwcmlzZS1zY29wZWQgc2FsdCAoYmFzZTY0dXJsOyBzYW1lIGVuY29kaW5nIGlzIHVzZWQgYXMgdGhlXG4gIC8vIFBSRiBldmFsIGlucHV0IGFuZCBhcyB0aGUgc2VydmVyLXN0b3JlZCBwcmZTYWx0IHNvIHRoZSBieXRlcyBmZWQgdG8gdGhlXG4gIC8vIGF1dGhlbnRpY2F0b3IgbWF0Y2ggYmV0d2VlbiBhdHRhY2ggYW5kIGRlcml2ZSkuXG4gIGNvbnN0IHByZlNhbHQgPSBkZXJpdmVFbnRlcnByaXNlU2FsdChkZXZpY2UucHJmU2FsdCwgZW50ZXJwcmlzZUlkKTtcblxuICAvLyBEZWNyeXB0IHByaXZhdGUga2V5IHdpdGggZXhpc3RpbmcgcGFzc3BocmFzZVxuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgYml0Z28uZGVjcnlwdCh7IHBhc3N3b3JkOiBleGlzdGluZ1Bhc3NwaHJhc2UsIGlucHV0OiBrZXljaGFpbi5lbmNyeXB0ZWRQcnYgfSk7XG5cbiAgLy8gRGVjb2RlIGNyZWRlbnRpYWxJZCBmcm9tIGJhc2U2NHVybCB0byBBcnJheUJ1ZmZlciBmb3IgYWxsb3dDcmVkZW50aWFscy5cbiAgLy8gVGhlIFdlYkF1dGhuIHNwZWMgcmVxdWlyZXMgYWxsb3dDcmVkZW50aWFscyB0byBiZSBub24tZW1wdHkgd2hlbiB1c2luZyBldmFsQnlDcmVkZW50aWFsLFxuICAvLyBhbmQgZWFjaCBlbnRyeSBtdXN0IGNvcnJlc3BvbmQgdG8gYSBrZXkgaW4gdGhlIGV2YWxCeUNyZWRlbnRpYWwgbWFwLlxuICBjb25zdCBjcmVkZW50aWFsSWRCdWZmZXIgPSBiYXNlNjRVcmxUb0J1ZmZlcihkZXZpY2UuY3JlZGVudGlhbElkKS5idWZmZXI7XG5cbiAgLy8gUFJGIGFzc2VydGlvbiDigJQgZXZhbEJ5Q3JlZGVudGlhbCBtYXBzIHRoaXMgZGV2aWNlJ3MgY3JlZGVudGlhbElkIHRvIHRoZVxuICAvLyBiYXNlNjR1cmwgZW50ZXJwcmlzZSBzYWx0LiBUaGUgcHJvdmlkZXIgbGF5ZXIgaXMgcmVzcG9uc2libGUgZm9yIGRlY29kaW5nXG4gIC8vIGJhc2U2NHVybCB0byByYXcgYnl0ZXMgYmVmb3JlIGhhbmRpbmcgaXQgdG8gdGhlIFdlYkF1dGhuIFBSRiBleHRlbnNpb24uXG4gIGNvbnN0IGF1dGhSZXN1bHQgPSBhd2FpdCBwcm92aWRlci5nZXQoe1xuICAgIHB1YmxpY0tleToge1xuICAgICAgYWxsb3dDcmVkZW50aWFsczogW3sgdHlwZTogJ3B1YmxpYy1rZXknLCBpZDogY3JlZGVudGlhbElkQnVmZmVyIH1dLFxuICAgIH0gYXMgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLFxuICAgIGV2YWxCeUNyZWRlbnRpYWw6IHsgW2RldmljZS5jcmVkZW50aWFsSWRdOiBwcmZTYWx0IH0sXG4gIH0pO1xuXG4gIGlmICghYXV0aFJlc3VsdC5wcmZSZXN1bHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BSRiBhc3NlcnRpb24gZGlkIG5vdCByZXR1cm4gYSByZXN1bHQuJyk7XG4gIH1cblxuICBjb25zdCBwcmZQYXNzd29yZCA9IGRlcml2ZVBhc3N3b3JkKGF1dGhSZXN1bHQucHJmUmVzdWx0KTtcbiAgY29uc3QgZW5jcnlwdGVkUHJ2ID0gYXdhaXQgYml0Z28uZW5jcnlwdCh7XG4gICAgcGFzc3dvcmQ6IHByZlBhc3N3b3JkLFxuICAgIGlucHV0OiBwcml2YXRlS2V5LFxuICAgIGVuY3J5cHRpb25WZXJzaW9uLFxuICAgIC8vIEJpbmQgdG8gdGhpcyBlbnRlcnByaXNlIHZpYSBBRVMtR0NNIEFBRCDigJQgbW92aW5nIHRoaXMgYmxvYiB0byBhbm90aGVyIGVudGVycHJpc2VcbiAgICAvLyBvciB0YW1wZXJpbmcgd2l0aCB0aGUgc3RvcmVkIGFkYXRhIGZpZWxkIGludmFsaWRhdGVzIHRoZSBHQ00gdGFnLlxuICAgIGFkYXRhOiBlbnRlcnByaXNlSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHVwZGF0ZWRLZXljaGFpbiA9IGF3YWl0IGJpdGdvXG4gICAgLnB1dChiaXRnby51cmwoYC8ke2NvaW59L2tleS8ke2tleWNoYWluSWR9YCwgMikpXG4gICAgLnNlbmQoe1xuICAgICAgd2ViYXV0aG5JbmZvOiB7XG4gICAgICAgIHByZlNhbHQsXG4gICAgICAgIG90cERldmljZUlkOiBkZXZpY2UuaWQsXG4gICAgICAgIGVuY3J5cHRlZFBydixcbiAgICAgIH0sXG4gICAgfSlcbiAgICAucmVzdWx0KCk7XG5cbiAgcmV0dXJuIHVwZGF0ZWRLZXljaGFpbiBhcyBLZXljaGFpbjtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { WebAuthnProvider } from './webAuthnTypes';
|
|
1
|
+
import { type BitGoBase, type IWallet, type WebAuthnProvider } from '@bitgo-beta/sdk-core';
|
|
3
2
|
/**
|
|
4
3
|
* Derives a wallet passphrase from a passkey PRF output.
|
|
5
4
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivePasskeyPrfKey.d.ts","sourceRoot":"","sources":["../../src/derivePasskeyPrfKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"derivePasskeyPrfKey.d.ts","sourceRoot":"","sources":["../../src/derivePasskeyPrfKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,OAAO,EAGZ,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AA+B9B;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4ClB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.derivePasskeyPrfKey = derivePasskeyPrfKey;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
4
5
|
const prfHelpers_1 = require("./prfHelpers");
|
|
5
|
-
const derivePassword_1 = require("./derivePassword");
|
|
6
6
|
function webauthnDevicesFromKeychain(keychain) {
|
|
7
7
|
const lower = keychain.webauthnDevices;
|
|
8
8
|
if (lower !== undefined && lower.length > 0) {
|
|
@@ -63,6 +63,6 @@ async function derivePasskeyPrfKey(params) {
|
|
|
63
63
|
if (!result.prfResult) {
|
|
64
64
|
throw new Error('PRF output was not returned by the authenticator');
|
|
65
65
|
}
|
|
66
|
-
return (0,
|
|
66
|
+
return (0, sdk_core_1.derivePassword)(result.prfResult);
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZlUGFzc2tleVByZktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXJpdmVQYXNza2V5UHJmS2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkNBLGtEQWdEQztBQTdGRCxtREFPOEI7QUFDOUIsNkNBQWdGO0FBT2hGLFNBQVMsMkJBQTJCLENBQUMsUUFBOEI7SUFDakUsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztJQUN2QyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLElBQWE7SUFDOUMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBK0IsQ0FBQztJQUM1QyxJQUFJLE9BQU8sR0FBRyxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUFDLE1BSXpDO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNDLE1BQU0sUUFBUSxHQUF5QixNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQy9FLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXRELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsa0NBQXFCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFNUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcseUJBQXlCLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRS9HLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdGLE9BQU87WUFDTCxJQUFJLEVBQUUsWUFBcUI7WUFDM0IsRUFBRTtTQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFzQztRQUNuRCxTQUFTLEVBQUUsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0QsZ0JBQWdCO0tBQ2pCLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDaEMsU0FBUztRQUNULGdCQUFnQjtLQUNqQixDQUFDLENBQUM7SUFFSCxJQUFBLHNDQUF5QixFQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU8sSUFBQSx5QkFBYyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZGVyaXZlUGFzc3dvcmQsXG4gIHR5cGUgQml0R29CYXNlLFxuICB0eXBlIElXYWxsZXQsXG4gIHR5cGUgS2V5Y2hhaW5XZWJhdXRobkRldmljZSxcbiAgdHlwZSBLZXljaGFpbldpdGhFbmNyeXB0ZWRQcnYsXG4gIHR5cGUgV2ViQXV0aG5Qcm92aWRlcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgYnVpbGRFdmFsQnlDcmVkZW50aWFsLCBtYXRjaERldmljZUJ5Q3JlZGVudGlhbElkIH0gZnJvbSAnLi9wcmZIZWxwZXJzJztcblxuLyoqIEFQSSBwYXlsb2FkcyBtYXkgdXNlIGVpdGhlciBzcGVsbGluZyBmb3IgdGhlIHdlYmF1dGhuIGRldmljZSBsaXN0LiAqL1xudHlwZSBVc2VyS2V5Y2hhaW5SZXNwb25zZSA9IEtleWNoYWluV2l0aEVuY3J5cHRlZFBydiAmIHtcbiAgd2ViQXV0aG5EZXZpY2VzPzogS2V5Y2hhaW5XZWJhdXRobkRldmljZVtdO1xufTtcblxuZnVuY3Rpb24gd2ViYXV0aG5EZXZpY2VzRnJvbUtleWNoYWluKGtleWNoYWluOiBVc2VyS2V5Y2hhaW5SZXNwb25zZSk6IEtleWNoYWluV2ViYXV0aG5EZXZpY2VbXSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxvd2VyID0ga2V5Y2hhaW4ud2ViYXV0aG5EZXZpY2VzO1xuICBpZiAobG93ZXIgIT09IHVuZGVmaW5lZCAmJiBsb3dlci5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGxvd2VyO1xuICB9XG4gIGNvbnN0IHVwcGVyID0ga2V5Y2hhaW4ud2ViQXV0aG5EZXZpY2VzO1xuICBpZiAodXBwZXIgIT09IHVuZGVmaW5lZCAmJiB1cHBlci5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHVwcGVyO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGNoYWxsZW5nZUZyb21BdXRoUmVzcG9uc2UoYm9keTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgYm9keSAhPT0gJ29iamVjdCcgfHwgYm9keSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhc3NlcnRpb24gY2hhbGxlbmdlIHJlc3BvbnNlJyk7XG4gIH1cbiAgY29uc3QgcmVjID0gYm9keSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgaWYgKHR5cGVvZiByZWMuY2hhbGxlbmdlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhc3NlcnRpb24gY2hhbGxlbmdlIHJlc3BvbnNlJyk7XG4gIH1cbiAgcmV0dXJuIHJlYy5jaGFsbGVuZ2U7XG59XG5cbi8qKlxuICogRGVyaXZlcyBhIHdhbGxldCBwYXNzcGhyYXNlIGZyb20gYSBwYXNza2V5IFBSRiBvdXRwdXQuXG4gKlxuICogRmV0Y2hlcyB0aGUgd2FsbGV0J3MgdXNlciBrZXljaGFpbiwgdHJpZ2dlcnMgYSBXZWJBdXRobiBhc3NlcnRpb24gd2l0aCBQUkZcbiAqIGV2YWx1YXRpb24sIGFuZCByZXR1cm5zIGEgaGV4LWVuY29kZWQgcGFzc3BocmFzZSBzdWl0YWJsZSBmb3IgdXNlIGFzXG4gKiB3YWxsZXRQYXNzcGhyYXNlIGluIHNpZ25pbmcgY2FsbHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXJpdmVQYXNza2V5UHJmS2V5KHBhcmFtczoge1xuICBiaXRnbzogQml0R29CYXNlO1xuICB3YWxsZXQ6IElXYWxsZXQ7XG4gIHByb3ZpZGVyOiBXZWJBdXRoblByb3ZpZGVyO1xufSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgYml0Z28sIHdhbGxldCwgcHJvdmlkZXIgfSA9IHBhcmFtcztcblxuICBjb25zdCBrZXljaGFpbjogVXNlcktleWNoYWluUmVzcG9uc2UgPSBhd2FpdCB3YWxsZXQuZ2V0RW5jcnlwdGVkVXNlcktleWNoYWluKCk7XG4gIGNvbnN0IGRldmljZXMgPSB3ZWJhdXRobkRldmljZXNGcm9tS2V5Y2hhaW4oa2V5Y2hhaW4pO1xuXG4gIGlmICghZGV2aWNlcyB8fCBkZXZpY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gcGFzc2tleSBkZXZpY2VzIGF2YWlsYWJsZScpO1xuICB9XG5cbiAgY29uc3QgeyBldmFsQnlDcmVkZW50aWFsIH0gPSBidWlsZEV2YWxCeUNyZWRlbnRpYWwoZGV2aWNlcyk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKGV2YWxCeUNyZWRlbnRpYWwpLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gcGFzc2tleSBkZXZpY2VzIGF2YWlsYWJsZSB3aXRoIGEgdmFsaWQgUFJGIHNhbHQnKTtcbiAgfVxuXG4gIGNvbnN0IGNoYWxsZW5nZSA9IGNoYWxsZW5nZUZyb21BdXRoUmVzcG9uc2UoYXdhaXQgYml0Z28uZ2V0KGJpdGdvLnVybCgnL3VzZXIvb3RwL3dlYmF1dGhuL2F1dGgnLCAyKSkucmVzdWx0KCkpO1xuXG4gIGNvbnN0IGFsbG93Q3JlZGVudGlhbHMgPSBPYmplY3Qua2V5cyhldmFsQnlDcmVkZW50aWFsKS5tYXAoKGNyZWRJZCkgPT4ge1xuICAgIGNvbnN0IG5vZGVCdWYgPSBCdWZmZXIuZnJvbShjcmVkSWQucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKSwgJ2Jhc2U2NCcpO1xuICAgIGNvbnN0IGlkID0gbm9kZUJ1Zi5idWZmZXIuc2xpY2Uobm9kZUJ1Zi5ieXRlT2Zmc2V0LCBub2RlQnVmLmJ5dGVPZmZzZXQgKyBub2RlQnVmLmJ5dGVMZW5ndGgpO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAncHVibGljLWtleScgYXMgY29uc3QsXG4gICAgICBpZCxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBwdWJsaWNLZXk6IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICBjaGFsbGVuZ2U6IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKGNoYWxsZW5nZSwgJ2Jhc2U2NCcpKSxcbiAgICBhbGxvd0NyZWRlbnRpYWxzLFxuICB9O1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb3ZpZGVyLmdldCh7XG4gICAgcHVibGljS2V5LFxuICAgIGV2YWxCeUNyZWRlbnRpYWwsXG4gIH0pO1xuXG4gIG1hdGNoRGV2aWNlQnlDcmVkZW50aWFsSWQoZGV2aWNlcywgcmVzdWx0LmNyZWRlbnRpYWxJZCk7XG5cbiAgaWYgKCFyZXN1bHQucHJmUmVzdWx0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQUkYgb3V0cHV0IHdhcyBub3QgcmV0dXJuZWQgYnkgdGhlIGF1dGhlbnRpY2F0b3InKTtcbiAgfVxuXG4gIHJldHVybiBkZXJpdmVQYXNzd29yZChyZXN1bHQucHJmUmVzdWx0KTtcbn1cbiJdfQ==
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { derivePassword } from '
|
|
1
|
+
export { derivePassword } from '@bitgo-beta/sdk-core';
|
|
2
2
|
export { registerPasskey } from './registerPasskey';
|
|
3
|
-
export { deriveEnterpriseSalt } from '
|
|
3
|
+
export { deriveEnterpriseSalt } from '@bitgo-beta/sdk-core';
|
|
4
4
|
export { buildEvalByCredential, matchDeviceByCredentialId } from './prfHelpers';
|
|
5
5
|
export { removePasskeyFromAccount } from './removePasskeyFromAccount';
|
|
6
|
-
export type { WebAuthnOtpDevice, PasskeyAuthResult, PasskeyGetOptions, WebAuthnProvider } from '
|
|
6
|
+
export type { WebAuthnOtpDevice, PasskeyAuthResult, PasskeyGetOptions, WebAuthnProvider } from '@bitgo-beta/sdk-core';
|
|
7
7
|
export { removePasskeyFromWallet } from './removePasskeyFromWallet';
|
|
8
8
|
export { attachPasskeyToWallet } from './attachPasskeyToWallet';
|
|
9
9
|
export { derivePasskeyPrfKey } from './derivePasskeyPrfKey';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.derivePasskeyPrfKey = exports.attachPasskeyToWallet = exports.removePasskeyFromWallet = exports.removePasskeyFromAccount = exports.matchDeviceByCredentialId = exports.buildEvalByCredential = exports.deriveEnterpriseSalt = exports.registerPasskey = exports.derivePassword = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "derivePassword", { enumerable: true, get: function () { return
|
|
4
|
+
var sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
Object.defineProperty(exports, "derivePassword", { enumerable: true, get: function () { return sdk_core_1.derivePassword; } });
|
|
6
6
|
var registerPasskey_1 = require("./registerPasskey");
|
|
7
7
|
Object.defineProperty(exports, "registerPasskey", { enumerable: true, get: function () { return registerPasskey_1.registerPasskey; } });
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "deriveEnterpriseSalt", { enumerable: true, get: function () { return
|
|
8
|
+
var sdk_core_2 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
Object.defineProperty(exports, "deriveEnterpriseSalt", { enumerable: true, get: function () { return sdk_core_2.deriveEnterpriseSalt; } });
|
|
10
10
|
var prfHelpers_1 = require("./prfHelpers");
|
|
11
11
|
Object.defineProperty(exports, "buildEvalByCredential", { enumerable: true, get: function () { return prfHelpers_1.buildEvalByCredential; } });
|
|
12
12
|
Object.defineProperty(exports, "matchDeviceByCredentialId", { enumerable: true, get: function () { return prfHelpers_1.matchDeviceByCredentialId; } });
|
|
@@ -18,4 +18,4 @@ var attachPasskeyToWallet_1 = require("./attachPasskeyToWallet");
|
|
|
18
18
|
Object.defineProperty(exports, "attachPasskeyToWallet", { enumerable: true, get: function () { return attachPasskeyToWallet_1.attachPasskeyToWallet; } });
|
|
19
19
|
var derivePasskeyPrfKey_1 = require("./derivePasskeyPrfKey");
|
|
20
20
|
Object.defineProperty(exports, "derivePasskeyPrfKey", { enumerable: true, get: function () { return derivePasskeyPrfKey_1.derivePasskeyPrfKey; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQXNEO0FBQTdDLDBHQUFBLGNBQWMsT0FBQTtBQUN2QixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLGlEQUE0RDtBQUFuRCxnSEFBQSxvQkFBb0IsT0FBQTtBQUM3QiwyQ0FBZ0Y7QUFBdkUsbUhBQUEscUJBQXFCLE9BQUE7QUFBRSx1SEFBQSx5QkFBeUIsT0FBQTtBQUN6RCx1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFFakMscUVBQW9FO0FBQTNELGtJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5Qiw2REFBNEQ7QUFBbkQsMEhBQUEsbUJBQW1CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZXJpdmVQYXNzd29yZCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmV4cG9ydCB7IHJlZ2lzdGVyUGFzc2tleSB9IGZyb20gJy4vcmVnaXN0ZXJQYXNza2V5JztcbmV4cG9ydCB7IGRlcml2ZUVudGVycHJpc2VTYWx0IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuZXhwb3J0IHsgYnVpbGRFdmFsQnlDcmVkZW50aWFsLCBtYXRjaERldmljZUJ5Q3JlZGVudGlhbElkIH0gZnJvbSAnLi9wcmZIZWxwZXJzJztcbmV4cG9ydCB7IHJlbW92ZVBhc3NrZXlGcm9tQWNjb3VudCB9IGZyb20gJy4vcmVtb3ZlUGFzc2tleUZyb21BY2NvdW50JztcbmV4cG9ydCB0eXBlIHsgV2ViQXV0aG5PdHBEZXZpY2UsIFBhc3NrZXlBdXRoUmVzdWx0LCBQYXNza2V5R2V0T3B0aW9ucywgV2ViQXV0aG5Qcm92aWRlciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmV4cG9ydCB7IHJlbW92ZVBhc3NrZXlGcm9tV2FsbGV0IH0gZnJvbSAnLi9yZW1vdmVQYXNza2V5RnJvbVdhbGxldCc7XG5leHBvcnQgeyBhdHRhY2hQYXNza2V5VG9XYWxsZXQgfSBmcm9tICcuL2F0dGFjaFBhc3NrZXlUb1dhbGxldCc7XG5leHBvcnQgeyBkZXJpdmVQYXNza2V5UHJmS2V5IH0gZnJvbSAnLi9kZXJpdmVQYXNza2V5UHJmS2V5JztcbiJdfQ==
|
package/dist/src/prfHelpers.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildEvalByCredential = buildEvalByCredential;
|
|
4
4
|
exports.matchDeviceByCredentialId = matchDeviceByCredentialId;
|
|
5
|
-
const
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
6
|
/**
|
|
7
7
|
* Builds the PRF eval map and credential-to-device lookup from a wallet
|
|
8
8
|
* keychain's webauthn devices. Devices without a prfSalt are skipped.
|
|
@@ -20,7 +20,7 @@ function buildEvalByCredential(devices) {
|
|
|
20
20
|
// the selected credential's ID against evalByCredential keys — if the encoding
|
|
21
21
|
// differs (e.g. standard base64 with padding/+/), the lookup silently fails and
|
|
22
22
|
// PRF evaluates with no salt, producing a different output.
|
|
23
|
-
const credIdBase64url = (0,
|
|
23
|
+
const credIdBase64url = (0, sdk_core_1.toBase64Url)(credID);
|
|
24
24
|
// Pass prfSalt through as-is (base64url). attachPasskeyToWallet writes the
|
|
25
25
|
// server-stored salt in the same encoding and feeds the same string to
|
|
26
26
|
// the PRF extension at attach time, so both paths produce the same salt
|
|
@@ -37,11 +37,11 @@ function buildEvalByCredential(devices) {
|
|
|
37
37
|
*/
|
|
38
38
|
function matchDeviceByCredentialId(devices, credentialId) {
|
|
39
39
|
// Normalise both sides to base64url so padding/char differences don't break matching.
|
|
40
|
-
const needle = (0,
|
|
41
|
-
const device = devices.find((d) => (0,
|
|
40
|
+
const needle = (0, sdk_core_1.toBase64Url)(credentialId);
|
|
41
|
+
const device = devices.find((d) => (0, sdk_core_1.toBase64Url)(d.authenticatorInfo.credID) === needle);
|
|
42
42
|
if (!device) {
|
|
43
43
|
throw new Error('Could not identify which passkey device was used');
|
|
44
44
|
}
|
|
45
45
|
return device;
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJmSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmZIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esc0RBNkJDO0FBTUQsOERBUUM7QUFqREQsbURBQW1EO0FBRW5EOzs7R0FHRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLE9BQXlCO0lBSTdELE1BQU0sZ0JBQWdCLEdBQTJCLEVBQUUsQ0FBQztJQUNwRCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUV6RCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUFFLFNBQVM7UUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUU1QywyRUFBMkU7UUFDM0UsNkVBQTZFO1FBQzdFLDRFQUE0RTtRQUM1RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLDREQUE0RDtRQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsMkVBQTJFO1FBQzNFLHVFQUF1RTtRQUN2RSx3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLGtEQUFrRDtRQUNsRCxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ25ELGNBQWMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLE9BQXlCLEVBQUUsWUFBb0I7SUFDdkYsc0ZBQXNGO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLElBQUEsc0JBQVcsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFXLEVBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV2ViYXV0aG5EZXZpY2UgfSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCB7IHRvQmFzZTY0VXJsIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgUFJGIGV2YWwgbWFwIGFuZCBjcmVkZW50aWFsLXRvLWRldmljZSBsb29rdXAgZnJvbSBhIHdhbGxldFxuICoga2V5Y2hhaW4ncyB3ZWJhdXRobiBkZXZpY2VzLiBEZXZpY2VzIHdpdGhvdXQgYSBwcmZTYWx0IGFyZSBza2lwcGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFdmFsQnlDcmVkZW50aWFsKGRldmljZXM6IFdlYmF1dGhuRGV2aWNlW10pOiB7XG4gIGV2YWxCeUNyZWRlbnRpYWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGNyZWRJZFRvRGV2aWNlOiBNYXA8c3RyaW5nLCBXZWJhdXRobkRldmljZT47XG59IHtcbiAgY29uc3QgZXZhbEJ5Q3JlZGVudGlhbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCBjcmVkSWRUb0RldmljZSA9IG5ldyBNYXA8c3RyaW5nLCBXZWJhdXRobkRldmljZT4oKTtcblxuICBmb3IgKGNvbnN0IGRldmljZSBvZiBkZXZpY2VzKSB7XG4gICAgaWYgKCFkZXZpY2UucHJmU2FsdCkgY29udGludWU7XG4gICAgY29uc3QgeyBjcmVkSUQgfSA9IGRldmljZS5hdXRoZW50aWNhdG9ySW5mbztcblxuICAgIC8vIE5vcm1hbGlzZSBjcmVkSUQgdG8gYmFzZTY0dXJsIChubyBwYWRkaW5nLCBVUkwtc2FmZSBjaGFycykgc28gaXQgbWF0Y2hlc1xuICAgIC8vIHRoZSBrZXkgZm9ybWF0IHVzZWQgYnkgYXR0YWNoUGFzc2tleVRvV2FsbGV0IChkZXZpY2UuY3JlZGVudGlhbElkIGZyb20gdGhlXG4gICAgLy8gYnJvd3Nlciwgd2hpY2ggaXMgYWxyZWFkeSBiYXNlNjR1cmwpLiBUaGUgV2ViQXV0aG4gUFJGIGV4dGVuc2lvbiBsb29rcyB1cFxuICAgIC8vIHRoZSBzZWxlY3RlZCBjcmVkZW50aWFsJ3MgSUQgYWdhaW5zdCBldmFsQnlDcmVkZW50aWFsIGtleXMg4oCUIGlmIHRoZSBlbmNvZGluZ1xuICAgIC8vIGRpZmZlcnMgKGUuZy4gc3RhbmRhcmQgYmFzZTY0IHdpdGggcGFkZGluZy8rLyksIHRoZSBsb29rdXAgc2lsZW50bHkgZmFpbHMgYW5kXG4gICAgLy8gUFJGIGV2YWx1YXRlcyB3aXRoIG5vIHNhbHQsIHByb2R1Y2luZyBhIGRpZmZlcmVudCBvdXRwdXQuXG4gICAgY29uc3QgY3JlZElkQmFzZTY0dXJsID0gdG9CYXNlNjRVcmwoY3JlZElEKTtcblxuICAgIC8vIFBhc3MgcHJmU2FsdCB0aHJvdWdoIGFzLWlzIChiYXNlNjR1cmwpLiBhdHRhY2hQYXNza2V5VG9XYWxsZXQgd3JpdGVzIHRoZVxuICAgIC8vIHNlcnZlci1zdG9yZWQgc2FsdCBpbiB0aGUgc2FtZSBlbmNvZGluZyBhbmQgZmVlZHMgdGhlIHNhbWUgc3RyaW5nIHRvXG4gICAgLy8gdGhlIFBSRiBleHRlbnNpb24gYXQgYXR0YWNoIHRpbWUsIHNvIGJvdGggcGF0aHMgcHJvZHVjZSB0aGUgc2FtZSBzYWx0XG4gICAgLy8gYnl0ZXMg4oCUIHByb3ZpZGVkIHRoZSBXZWJBdXRobiBwcm92aWRlciBsYXllciBkZWNvZGVzIGJhc2U2NHVybCBiZWZvcmVcbiAgICAvLyBoYW5kaW5nIHRoZSBieXRlcyB0byBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0LlxuICAgIGV2YWxCeUNyZWRlbnRpYWxbY3JlZElkQmFzZTY0dXJsXSA9IGRldmljZS5wcmZTYWx0O1xuICAgIGNyZWRJZFRvRGV2aWNlLnNldChjcmVkSWRCYXNlNjR1cmwsIGRldmljZSk7XG4gIH1cblxuICByZXR1cm4geyBldmFsQnlDcmVkZW50aWFsLCBjcmVkSWRUb0RldmljZSB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIFdlYmF1dGhuRGV2aWNlIG1hdGNoaW5nIHRoZSBnaXZlbiBjcmVkZW50aWFsIElELlxuICogQHRocm93cyBpZiBubyBtYXRjaGluZyBkZXZpY2UgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoRGV2aWNlQnlDcmVkZW50aWFsSWQoZGV2aWNlczogV2ViYXV0aG5EZXZpY2VbXSwgY3JlZGVudGlhbElkOiBzdHJpbmcpOiBXZWJhdXRobkRldmljZSB7XG4gIC8vIE5vcm1hbGlzZSBib3RoIHNpZGVzIHRvIGJhc2U2NHVybCBzbyBwYWRkaW5nL2NoYXIgZGlmZmVyZW5jZXMgZG9uJ3QgYnJlYWsgbWF0Y2hpbmcuXG4gIGNvbnN0IG5lZWRsZSA9IHRvQmFzZTY0VXJsKGNyZWRlbnRpYWxJZCk7XG4gIGNvbnN0IGRldmljZSA9IGRldmljZXMuZmluZCgoZCkgPT4gdG9CYXNlNjRVcmwoZC5hdXRoZW50aWNhdG9ySW5mby5jcmVkSUQpID09PSBuZWVkbGUpO1xuICBpZiAoIWRldmljZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGlkZW50aWZ5IHdoaWNoIHBhc3NrZXkgZGV2aWNlIHdhcyB1c2VkJyk7XG4gIH1cbiAgcmV0dXJuIGRldmljZTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BitGoBase } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { WebAuthnOtpDevice, WebAuthnProvider } from './webAuthnTypes';
|
|
1
|
+
import { BitGoBase, type WebAuthnOtpDevice, type WebAuthnProvider } from '@bitgo-beta/sdk-core';
|
|
3
2
|
export declare function registerPasskey(params: {
|
|
4
3
|
bitgo: BitGoBase;
|
|
5
4
|
provider: WebAuthnProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerPasskey.d.ts","sourceRoot":"","sources":["../../src/registerPasskey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"registerPasskey.d.ts","sourceRoot":"","sources":["../../src/registerPasskey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAoEnH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,iBAAiB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CA8DzD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerPasskey = registerPasskey;
|
|
4
|
-
const
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
5
|
/**
|
|
6
6
|
* Recursively converts a PublicKeyCredential (or any value it contains) to a
|
|
7
7
|
* JSON-serialisable representation, encoding ArrayBuffers as base64url strings.
|
|
@@ -11,10 +11,10 @@ function publicKeyCredentialToJSON(value) {
|
|
|
11
11
|
return value.map(publicKeyCredentialToJSON);
|
|
12
12
|
}
|
|
13
13
|
if (value instanceof ArrayBuffer) {
|
|
14
|
-
return (0,
|
|
14
|
+
return (0, sdk_core_1.bufferToBase64Url)(value);
|
|
15
15
|
}
|
|
16
16
|
if (ArrayBuffer.isView(value)) {
|
|
17
|
-
return (0,
|
|
17
|
+
return (0, sdk_core_1.bufferToBase64Url)(value.buffer);
|
|
18
18
|
}
|
|
19
19
|
if (value instanceof Object) {
|
|
20
20
|
const result = {};
|
|
@@ -90,4 +90,4 @@ async function registerPasskey(params) {
|
|
|
90
90
|
prfSupported,
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJQYXNza2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZ2lzdGVyUGFzc2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNFQSwwQ0FrRUM7QUF2SUQsMkNBQWdEO0FBOEJoRDs7O0dBR0c7QUFDSCxTQUFTLHlCQUF5QixDQUFDLEtBQWM7SUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBQSw2QkFBaUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFBLDZCQUFpQixFQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7UUFDM0MsbUZBQW1GO1FBQ25GLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHlCQUF5QixDQUFFLEtBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsNEJBQTRCLENBQ25DLGtCQUErRDtJQUUvRCxJQUFJLENBQUMsa0JBQWtCO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbkMsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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QUUsa0JBQWtCLFNBQVMsR0FBRyxDQUN2RyxDQUFDO0lBQ0osQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxPQUFPO1FBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQ2IsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ2pDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztRQUN2QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7UUFDM0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGJ1ZmZlclRvQmFzZTY0VXJsIH0gZnJvbSAnLi9iYXNlNjR1cmwnO1xuaW1wb3J0IHsgV2ViQXV0aG5PdHBEZXZpY2UsIFdlYkF1dGhuUHJvdmlkZXIgfSBmcm9tICcuL3dlYkF1dGhuVHlwZXMnO1xuXG5pbnRlcmZhY2UgUmVnaXN0ZXJDaGFsbGVuZ2VSZXNwb25zZSB7XG4gIGNoYWxsZW5nZTogc3RyaW5nO1xuICBiYXNlU2FsdDogc3RyaW5nO1xuICBycDogUHVibGljS2V5Q3JlZGVudGlhbFJwRW50aXR5O1xuICB1c2VyOiBQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eTtcbiAgcHViS2V5Q3JlZFBhcmFtczogUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnNbXTtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgZXhjbHVkZUNyZWRlbnRpYWxzPzogUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3JbXTtcbiAgYXV0aGVudGljYXRvclNlbGVjdGlvbj86IEF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYTtcbiAgYXR0ZXN0YXRpb24/OiBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlO1xuICBleHRlbnNpb25zPzogQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzO1xufVxuXG5pbnRlcmZhY2UgT3RwRGV2aWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlZGVudGlhbElkOiBzdHJpbmc7XG4gIHByZlNhbHQ/OiBzdHJpbmc7XG4gIGlzUGFzc2tleT86IGJvb2xlYW47XG4gIGV4dGVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFJlZ2lzdGVyT3RwUmVzcG9uc2Uge1xuICB1c2VyOiB7XG4gICAgb3RwRGV2aWNlczogT3RwRGV2aWNlW107XG4gIH07XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgY29udmVydHMgYSBQdWJsaWNLZXlDcmVkZW50aWFsIChvciBhbnkgdmFsdWUgaXQgY29udGFpbnMpIHRvIGFcbiAqIEpTT04tc2VyaWFsaXNhYmxlIHJlcHJlc2VudGF0aW9uLCBlbmNvZGluZyBBcnJheUJ1ZmZlcnMgYXMgYmFzZTY0dXJsIHN0cmluZ3MuXG4gKi9cbmZ1bmN0aW9uIHB1YmxpY0tleUNyZWRlbnRpYWxUb0pTT04odmFsdWU6IHVua25vd24pOiB1bmtub3duIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLm1hcChwdWJsaWNLZXlDcmVkZW50aWFsVG9KU09OKTtcbiAgfVxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgIHJldHVybiBidWZmZXJUb0Jhc2U2NFVybCh2YWx1ZSk7XG4gIH1cbiAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyh2YWx1ZSkpIHtcbiAgICByZXR1cm4gYnVmZmVyVG9CYXNlNjRVcmwodmFsdWUuYnVmZmVyIGFzIEFycmF5QnVmZmVyKTtcbiAgfVxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgLy8gVXNlIGZvci4uLmluIHRvIGVudW1lcmF0ZSBET00gb2JqZWN0IHByb3BlcnRpZXMgKG5vbi1lbnVtZXJhYmxlIG93biArIGluaGVyaXRlZClcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBwdWJsaWNLZXlDcmVkZW50aWFsVG9KU09OKCh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilba2V5XSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vKipcbiAqIERlY29kZXMgZXhjbHVkZWQgY3JlZGVudGlhbCBJRHMgZnJvbSBiYXNlNjQgc3RyaW5ncyB0byBBcnJheUJ1ZmZlcnMuXG4gKiBUaGUgV2ViQXV0aG4gQVBJIHJlcXVpcmVzIEJ1ZmZlclNvdXJjZSB2YWx1ZXMsIG5vdCBiYXNlNjQgc3RyaW5ncy5cbiAqL1xuZnVuY3Rpb24gcHJlZm9ybWF0RXhjbHVkZWRDcmVkZW50aWFscyhcbiAgZXhjbHVkZUNyZWRlbnRpYWxzOiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcltdIHwgdW5kZWZpbmVkXG4pOiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcltdIHtcbiAgaWYgKCFleGNsdWRlQ3JlZGVudGlhbHMpIHJldHVybiBbXTtcbiAgcmV0dXJuIGV4Y2x1ZGVDcmVkZW50aWFscy5tYXAoKGNyZWQpID0+ICh7XG4gICAgLi4uY3JlZCxcbiAgICBpZDogQnVmZmVyLmZyb20oY3JlZC5pZCBhcyB1bmtub3duIGFzIHN0cmluZywgJ2Jhc2U2NCcpIGFzIHVua25vd24gYXMgQXJyYXlCdWZmZXIsXG4gIH0pKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyUGFzc2tleShwYXJhbXM6IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJvdmlkZXI6IFdlYkF1dGhuUHJvdmlkZXI7XG4gIGxhYmVsOiBzdHJpbmc7XG59KTogUHJvbWlzZTxXZWJBdXRobk90cERldmljZSAmIHsgcHJmU3VwcG9ydGVkOiBib29sZWFuIH0+IHtcbiAgY29uc3QgeyBiaXRnbywgcHJvdmlkZXIsIGxhYmVsIH0gPSBwYXJhbXM7XG5cbiAgLy8gU3RlcCAxOiBGZXRjaCBzZXJ2ZXIgY2hhbGxlbmdlIChjb250YWlucyBiYXNlU2FsdClcbiAgY29uc3QgY2hhbGxlbmdlID0gKGF3YWl0IGJpdGdvXG4gICAgLmdldChiaXRnby51cmwoJy91c2VyL290cC93ZWJhdXRobi9yZWdpc3RlcicsIDIpKVxuICAgIC5yZXN1bHQoKSkgYXMgUmVnaXN0ZXJDaGFsbGVuZ2VSZXNwb25zZTtcblxuICAvLyBTdGVwIDI6IFBhc3MgZm9ybWF0dGVkIGNoYWxsZW5nZSB0byBwcm92aWRlci5jcmVhdGUoKSDigJQgYnJvd3NlciByZXR1cm5zIGF0dGVzdGF0aW9uXG4gIGNvbnN0IGF0dGVzdGF0aW9uID0gYXdhaXQgcHJvdmlkZXIuY3JlYXRlKHtcbiAgICBjaGFsbGVuZ2U6IEJ1ZmZlci5mcm9tKGNoYWxsZW5nZS5jaGFsbGVuZ2UsICdiYXNlNjQnKSxcbiAgICBycDogY2hhbGxlbmdlLnJwLFxuICAgIHVzZXI6IGNoYWxsZW5nZS51c2VyLFxuICAgIHB1YktleUNyZWRQYXJhbXM6IGNoYWxsZW5nZS5wdWJLZXlDcmVkUGFyYW1zLFxuICAgIHRpbWVvdXQ6IGNoYWxsZW5nZS50aW1lb3V0LFxuICAgIGV4Y2x1ZGVDcmVkZW50aWFsczogcHJlZm9ybWF0RXhjbHVkZWRDcmVkZW50aWFscyhjaGFsbGVuZ2UuZXhjbHVkZUNyZWRlbnRpYWxzKSxcbiAgICBhdXRoZW50aWNhdG9yU2VsZWN0aW9uOiBjaGFsbGVuZ2UuYXV0aGVudGljYXRvclNlbGVjdGlvbixcbiAgICBhdHRlc3RhdGlvbjogY2hhbGxlbmdlLmF0dGVzdGF0aW9uLFxuICAgIGV4dGVuc2lvbnM6IGNoYWxsZW5nZS5leHRlbnNpb25zLFxuICB9KTtcblxuICAvLyBTdGVwIDM6IENoZWNrIGlmIFBSRiBpcyBzdXBwb3J0ZWQg4oCUIGBwcmYuZW5hYmxlZGAgaXMgc2V0IGR1cmluZyByZWdpc3RyYXRpb25cbiAgLy8gKG5vdCBgcHJmLnJlc3VsdHMuZmlyc3RgLCB3aGljaCBpcyBvbmx5IHByZXNlbnQgZHVyaW5nIGF1dGhlbnRpY2F0aW9uIGFzc2VydGlvbnMpXG4gIGNvbnN0IGNsaWVudEV4dGVuc2lvblJlc3VsdHM6IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgPSBhdHRlc3RhdGlvbi5nZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzKCk7XG4gIGNvbnN0IHByZkVuYWJsZWQgPSBjbGllbnRFeHRlbnNpb25SZXN1bHRzLnByZjtcbiAgY29uc3QgcHJmU3VwcG9ydGVkID0gdHlwZW9mIHByZkVuYWJsZWQgPT09ICdvYmplY3QnICYmIHByZkVuYWJsZWQgIT09IG51bGwgJiYgcHJmRW5hYmxlZC5lbmFibGVkID09PSB0cnVlO1xuXG4gIC8vIFN0ZXAgNDogU2VyaWFsaXplIHRoZSBmdWxsIGNyZWRlbnRpYWwgdXNpbmcgcmVjdXJzaXZlIGJhc2U2NHVybCBlbmNvZGluZ1xuICBjb25zdCBvdHAgPSBKU09OLnN0cmluZ2lmeShwdWJsaWNLZXlDcmVkZW50aWFsVG9KU09OKGF0dGVzdGF0aW9uKSk7XG5cbiAgY29uc3QgcHV0Qm9keTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgb3RwLFxuICAgIHR5cGU6ICd3ZWJhdXRobicsXG4gICAgbGFiZWwsXG4gIH07XG5cbiAgaWYgKHByZlN1cHBvcnRlZCkge1xuICAgIHB1dEJvZHkuZXh0ZW5zaW9ucyA9IFsncHJmJ107XG4gICAgcHV0Qm9keS5zY29wZXMgPSBbJ3dhbGxldF9ob3QnXTtcbiAgfVxuXG4gIC8vIFN0ZXAgNTogUFVUIC9hcGkvdjIvdXNlci9vdHBcbiAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYml0Z28ucHV0KGJpdGdvLnVybCgnL3VzZXIvb3RwJywgMikpLnNlbmQocHV0Qm9keSkucmVzdWx0KCkpIGFzIFJlZ2lzdGVyT3RwUmVzcG9uc2U7XG5cbiAgLy8gU3RlcCA2OiBGaW5kIHRoZSBuZXdseSByZWdpc3RlcmVkIGRldmljZSBieSBtYXRjaGluZyBjcmVkZW50aWFsSWRcbiAgY29uc3QgZGV2aWNlID0gcmVzcG9uc2UudXNlci5vdHBEZXZpY2VzLmZpbmQoKGQpID0+IGQuY3JlZGVudGlhbElkID09PSBhdHRlc3RhdGlvbi5pZCk7XG4gIGlmICghZGV2aWNlKSB7XG4gICAgY29uc3QgYXZhaWxhYmxlID0gcmVzcG9uc2UudXNlci5vdHBEZXZpY2VzLm1hcCgoZCkgPT4gZC5jcmVkZW50aWFsSWQpLmpvaW4oJywgJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFJlZ2lzdGVyZWQgZGV2aWNlIG5vdCBmb3VuZCBpbiByZXNwb25zZSAoY3JlZGVudGlhbElkOiAke2F0dGVzdGF0aW9uLmlkfSkuIEF2YWlsYWJsZTogWyR7YXZhaWxhYmxlfV1gXG4gICAgKTtcbiAgfVxuXG4gIC8vIFN0ZXAgNzogUmV0dXJuIFdlYkF1dGhuT3RwRGV2aWNlICsgcHJmU3VwcG9ydGVkXG4gIHJldHVybiB7XG4gICAgaWQ6IGRldmljZS5pZCxcbiAgICBjcmVkZW50aWFsSWQ6IGRldmljZS5jcmVkZW50aWFsSWQsXG4gICAgcHJmU2FsdDogZGV2aWNlLnByZlNhbHQsXG4gICAgaXNQYXNza2V5OiBkZXZpY2UuaXNQYXNza2V5LFxuICAgIGV4dGVuc2lvbnM6IGRldmljZS5leHRlbnNpb25zLFxuICAgIHByZlN1cHBvcnRlZCxcbiAgfTtcbn1cbiJdfQ==
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJQYXNza2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZ2lzdGVyUGFzc2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9FQSwwQ0FrRUM7QUF0SUQsbURBQW1IO0FBNkJuSDs7O0dBR0c7QUFDSCxTQUFTLHlCQUF5QixDQUFDLEtBQWM7SUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBQSw0QkFBaUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFBLDRCQUFpQixFQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7UUFDM0MsbUZBQW1GO1FBQ25GLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHlCQUF5QixDQUFFLEtBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsNEJBQTRCLENBQ25DLGtCQUErRDtJQUUvRCxJQUFJLENBQUMsa0JBQWtCO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbkMsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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QUUsa0JBQWtCLFNBQVMsR0FBRyxDQUN2RyxDQUFDO0lBQ0osQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxPQUFPO1FBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQ2IsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ2pDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztRQUN2QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7UUFDM0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSwgYnVmZmVyVG9CYXNlNjRVcmwsIHR5cGUgV2ViQXV0aG5PdHBEZXZpY2UsIHR5cGUgV2ViQXV0aG5Qcm92aWRlciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW50ZXJmYWNlIFJlZ2lzdGVyQ2hhbGxlbmdlUmVzcG9uc2Uge1xuICBjaGFsbGVuZ2U6IHN0cmluZztcbiAgYmFzZVNhbHQ6IHN0cmluZztcbiAgcnA6IFB1YmxpY0tleUNyZWRlbnRpYWxScEVudGl0eTtcbiAgdXNlcjogUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHk7XG4gIHB1YktleUNyZWRQYXJhbXM6IFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzW107XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGV4Y2x1ZGVDcmVkZW50aWFscz86IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yW107XG4gIGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24/OiBBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWE7XG4gIGF0dGVzdGF0aW9uPzogQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTtcbiAgZXh0ZW5zaW9ucz86IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cztcbn1cblxuaW50ZXJmYWNlIE90cERldmljZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNyZWRlbnRpYWxJZDogc3RyaW5nO1xuICBwcmZTYWx0Pzogc3RyaW5nO1xuICBpc1Bhc3NrZXk/OiBib29sZWFuO1xuICBleHRlbnNpb25zPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG59XG5cbmludGVyZmFjZSBSZWdpc3Rlck90cFJlc3BvbnNlIHtcbiAgdXNlcjoge1xuICAgIG90cERldmljZXM6IE90cERldmljZVtdO1xuICB9O1xufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IGNvbnZlcnRzIGEgUHVibGljS2V5Q3JlZGVudGlhbCAob3IgYW55IHZhbHVlIGl0IGNvbnRhaW5zKSB0byBhXG4gKiBKU09OLXNlcmlhbGlzYWJsZSByZXByZXNlbnRhdGlvbiwgZW5jb2RpbmcgQXJyYXlCdWZmZXJzIGFzIGJhc2U2NHVybCBzdHJpbmdzLlxuICovXG5mdW5jdGlvbiBwdWJsaWNLZXlDcmVkZW50aWFsVG9KU09OKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAocHVibGljS2V5Q3JlZGVudGlhbFRvSlNPTik7XG4gIH1cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICByZXR1cm4gYnVmZmVyVG9CYXNlNjRVcmwodmFsdWUpO1xuICB9XG4gIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcodmFsdWUpKSB7XG4gICAgcmV0dXJuIGJ1ZmZlclRvQmFzZTY0VXJsKHZhbHVlLmJ1ZmZlciBhcyBBcnJheUJ1ZmZlcik7XG4gIH1cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgIC8vIFVzZSBmb3IuLi5pbiB0byBlbnVtZXJhdGUgRE9NIG9iamVjdCBwcm9wZXJ0aWVzIChub24tZW51bWVyYWJsZSBvd24gKyBpbmhlcml0ZWQpXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gcHVibGljS2V5Q3JlZGVudGlhbFRvSlNPTigodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBEZWNvZGVzIGV4Y2x1ZGVkIGNyZWRlbnRpYWwgSURzIGZyb20gYmFzZTY0IHN0cmluZ3MgdG8gQXJyYXlCdWZmZXJzLlxuICogVGhlIFdlYkF1dGhuIEFQSSByZXF1aXJlcyBCdWZmZXJTb3VyY2UgdmFsdWVzLCBub3QgYmFzZTY0IHN0cmluZ3MuXG4gKi9cbmZ1bmN0aW9uIHByZWZvcm1hdEV4Y2x1ZGVkQ3JlZGVudGlhbHMoXG4gIGV4Y2x1ZGVDcmVkZW50aWFsczogUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3JbXSB8IHVuZGVmaW5lZFxuKTogUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3JbXSB7XG4gIGlmICghZXhjbHVkZUNyZWRlbnRpYWxzKSByZXR1cm4gW107XG4gIHJldHVybiBleGNsdWRlQ3JlZGVudGlhbHMubWFwKChjcmVkKSA9PiAoe1xuICAgIC4uLmNyZWQsXG4gICAgaWQ6IEJ1ZmZlci5mcm9tKGNyZWQuaWQgYXMgdW5rbm93biBhcyBzdHJpbmcsICdiYXNlNjQnKSBhcyB1bmtub3duIGFzIEFycmF5QnVmZmVyLFxuICB9KSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWdpc3RlclBhc3NrZXkocGFyYW1zOiB7XG4gIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByb3ZpZGVyOiBXZWJBdXRoblByb3ZpZGVyO1xuICBsYWJlbDogc3RyaW5nO1xufSk6IFByb21pc2U8V2ViQXV0aG5PdHBEZXZpY2UgJiB7IHByZlN1cHBvcnRlZDogYm9vbGVhbiB9PiB7XG4gIGNvbnN0IHsgYml0Z28sIHByb3ZpZGVyLCBsYWJlbCB9ID0gcGFyYW1zO1xuXG4gIC8vIFN0ZXAgMTogRmV0Y2ggc2VydmVyIGNoYWxsZW5nZSAoY29udGFpbnMgYmFzZVNhbHQpXG4gIGNvbnN0IGNoYWxsZW5nZSA9IChhd2FpdCBiaXRnb1xuICAgIC5nZXQoYml0Z28udXJsKCcvdXNlci9vdHAvd2ViYXV0aG4vcmVnaXN0ZXInLCAyKSlcbiAgICAucmVzdWx0KCkpIGFzIFJlZ2lzdGVyQ2hhbGxlbmdlUmVzcG9uc2U7XG5cbiAgLy8gU3RlcCAyOiBQYXNzIGZvcm1hdHRlZCBjaGFsbGVuZ2UgdG8gcHJvdmlkZXIuY3JlYXRlKCkg4oCUIGJyb3dzZXIgcmV0dXJucyBhdHRlc3RhdGlvblxuICBjb25zdCBhdHRlc3RhdGlvbiA9IGF3YWl0IHByb3ZpZGVyLmNyZWF0ZSh7XG4gICAgY2hhbGxlbmdlOiBCdWZmZXIuZnJvbShjaGFsbGVuZ2UuY2hhbGxlbmdlLCAnYmFzZTY0JyksXG4gICAgcnA6IGNoYWxsZW5nZS5ycCxcbiAgICB1c2VyOiBjaGFsbGVuZ2UudXNlcixcbiAgICBwdWJLZXlDcmVkUGFyYW1zOiBjaGFsbGVuZ2UucHViS2V5Q3JlZFBhcmFtcyxcbiAgICB0aW1lb3V0OiBjaGFsbGVuZ2UudGltZW91dCxcbiAgICBleGNsdWRlQ3JlZGVudGlhbHM6IHByZWZvcm1hdEV4Y2x1ZGVkQ3JlZGVudGlhbHMoY2hhbGxlbmdlLmV4Y2x1ZGVDcmVkZW50aWFscyksXG4gICAgYXV0aGVudGljYXRvclNlbGVjdGlvbjogY2hhbGxlbmdlLmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24sXG4gICAgYXR0ZXN0YXRpb246IGNoYWxsZW5nZS5hdHRlc3RhdGlvbixcbiAgICBleHRlbnNpb25zOiBjaGFsbGVuZ2UuZXh0ZW5zaW9ucyxcbiAgfSk7XG5cbiAgLy8gU3RlcCAzOiBDaGVjayBpZiBQUkYgaXMgc3VwcG9ydGVkIOKAlCBgcHJmLmVuYWJsZWRgIGlzIHNldCBkdXJpbmcgcmVnaXN0cmF0aW9uXG4gIC8vIChub3QgYHByZi5yZXN1bHRzLmZpcnN0YCwgd2hpY2ggaXMgb25seSBwcmVzZW50IGR1cmluZyBhdXRoZW50aWNhdGlvbiBhc3NlcnRpb25zKVxuICBjb25zdCBjbGllbnRFeHRlbnNpb25SZXN1bHRzOiBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzID0gYXR0ZXN0YXRpb24uZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpO1xuICBjb25zdCBwcmZFbmFibGVkID0gY2xpZW50RXh0ZW5zaW9uUmVzdWx0cy5wcmY7XG4gIGNvbnN0IHByZlN1cHBvcnRlZCA9IHR5cGVvZiBwcmZFbmFibGVkID09PSAnb2JqZWN0JyAmJiBwcmZFbmFibGVkICE9PSBudWxsICYmIHByZkVuYWJsZWQuZW5hYmxlZCA9PT0gdHJ1ZTtcblxuICAvLyBTdGVwIDQ6IFNlcmlhbGl6ZSB0aGUgZnVsbCBjcmVkZW50aWFsIHVzaW5nIHJlY3Vyc2l2ZSBiYXNlNjR1cmwgZW5jb2RpbmdcbiAgY29uc3Qgb3RwID0gSlNPTi5zdHJpbmdpZnkocHVibGljS2V5Q3JlZGVudGlhbFRvSlNPTihhdHRlc3RhdGlvbikpO1xuXG4gIGNvbnN0IHB1dEJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgIG90cCxcbiAgICB0eXBlOiAnd2ViYXV0aG4nLFxuICAgIGxhYmVsLFxuICB9O1xuXG4gIGlmIChwcmZTdXBwb3J0ZWQpIHtcbiAgICBwdXRCb2R5LmV4dGVuc2lvbnMgPSBbJ3ByZiddO1xuICAgIHB1dEJvZHkuc2NvcGVzID0gWyd3YWxsZXRfaG90J107XG4gIH1cblxuICAvLyBTdGVwIDU6IFBVVCAvYXBpL3YyL3VzZXIvb3RwXG4gIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGJpdGdvLnB1dChiaXRnby51cmwoJy91c2VyL290cCcsIDIpKS5zZW5kKHB1dEJvZHkpLnJlc3VsdCgpKSBhcyBSZWdpc3Rlck90cFJlc3BvbnNlO1xuXG4gIC8vIFN0ZXAgNjogRmluZCB0aGUgbmV3bHkgcmVnaXN0ZXJlZCBkZXZpY2UgYnkgbWF0Y2hpbmcgY3JlZGVudGlhbElkXG4gIGNvbnN0IGRldmljZSA9IHJlc3BvbnNlLnVzZXIub3RwRGV2aWNlcy5maW5kKChkKSA9PiBkLmNyZWRlbnRpYWxJZCA9PT0gYXR0ZXN0YXRpb24uaWQpO1xuICBpZiAoIWRldmljZSkge1xuICAgIGNvbnN0IGF2YWlsYWJsZSA9IHJlc3BvbnNlLnVzZXIub3RwRGV2aWNlcy5tYXAoKGQpID0+IGQuY3JlZGVudGlhbElkKS5qb2luKCcsICcpO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBSZWdpc3RlcmVkIGRldmljZSBub3QgZm91bmQgaW4gcmVzcG9uc2UgKGNyZWRlbnRpYWxJZDogJHthdHRlc3RhdGlvbi5pZH0pLiBBdmFpbGFibGU6IFske2F2YWlsYWJsZX1dYFxuICAgICk7XG4gIH1cblxuICAvLyBTdGVwIDc6IFJldHVybiBXZWJBdXRobk90cERldmljZSArIHByZlN1cHBvcnRlZFxuICByZXR1cm4ge1xuICAgIGlkOiBkZXZpY2UuaWQsXG4gICAgY3JlZGVudGlhbElkOiBkZXZpY2UuY3JlZGVudGlhbElkLFxuICAgIHByZlNhbHQ6IGRldmljZS5wcmZTYWx0LFxuICAgIGlzUGFzc2tleTogZGV2aWNlLmlzUGFzc2tleSxcbiAgICBleHRlbnNpb25zOiBkZXZpY2UuZXh0ZW5zaW9ucyxcbiAgICBwcmZTdXBwb3J0ZWQsXG4gIH07XG59XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BitGoBase } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { WebAuthnOtpDevice } from './webAuthnTypes';
|
|
1
|
+
import { BitGoBase, type WebAuthnOtpDevice } from '@bitgo-beta/sdk-core';
|
|
3
2
|
export declare function removePasskeyFromWallet(params: {
|
|
4
3
|
bitgo: BitGoBase;
|
|
5
4
|
coin: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removePasskeyFromWallet.d.ts","sourceRoot":"","sources":["../../src/removePasskeyFromWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,
|
|
1
|
+
{"version":3,"file":"removePasskeyFromWallet.d.ts","sourceRoot":"","sources":["../../src/removePasskeyFromWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
|
|
@@ -19,4 +19,4 @@ async function removePasskeyFromWallet(params) {
|
|
|
19
19
|
// No sdk-core abstraction for this endpoint; raw DELETE is required
|
|
20
20
|
await bitgo.del(bitgo.url(`/key/${keychainId}/webauthndevice/${device.id}`, 2)).result();
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlUGFzc2tleUZyb21XYWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwwREEwQkM7QUE1QkQsbURBQW9HO0FBRTdGLEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxNQU03QztJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDOUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLHdDQUF3QztJQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsb0NBQXlCLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JGLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsb0VBQW9FO0lBQ3BFLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsVUFBVSxtQkFBbUIsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDM0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSwgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSwgdHlwZSBXZWJBdXRobk90cERldmljZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZVBhc3NrZXlGcm9tV2FsbGV0KHBhcmFtczoge1xuICBiaXRnbzogQml0R29CYXNlO1xuICBjb2luOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIGRldmljZTogV2ViQXV0aG5PdHBEZXZpY2U7XG4gIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZztcbn0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBiaXRnbywgY29pbjogY29pbk5hbWUsIHdhbGxldElkLCBkZXZpY2UsIHdhbGxldFBhc3NwaHJhc2UgfSA9IHBhcmFtcztcblxuICBpZiAoIWRldmljZS5pZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGV2aWNlLmlkIGlzIHJlcXVpcmVkIHRvIHJlbW92ZSBhIHBhc3NrZXkgZnJvbSB0aGUgd2FsbGV0Jyk7XG4gIH1cblxuICBjb25zdCBiYXNlQ29pbiA9IGJpdGdvLmNvaW4oY29pbk5hbWUpO1xuICBjb25zdCB3YWxsZXQgPSBhd2FpdCBiYXNlQ29pbi53YWxsZXRzKCkuZ2V0KHsgaWQ6IHdhbGxldElkIH0pO1xuICBjb25zdCBrZXljaGFpbklkID0gd2FsbGV0LmtleUlkcygpWzBdO1xuICBjb25zdCBrZXljaGFpbiA9IGF3YWl0IGJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiBrZXljaGFpbklkIH0pO1xuXG4gIC8vIFZlcmlmeSBwYXNzcGhyYXNlIGJlZm9yZSBhbnkgbXV0YXRpb25cbiAgY29uc3QgZGVjcnlwdGVkID0gYXdhaXQgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleShiaXRnbywga2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UpO1xuICBpZiAoIWRlY3J5cHRlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHdhbGxldCBwYXNzcGhyYXNlLiBQYXNza2V5IHJlbW92YWwgYWJvcnRlZCB0byBwcmV2ZW50IGxvY2tvdXQuJyk7XG4gIH1cblxuICAvLyBObyBzZGstY29yZSBhYnN0cmFjdGlvbiBmb3IgdGhpcyBlbmRwb2ludDsgcmF3IERFTEVURSBpcyByZXF1aXJlZFxuICBhd2FpdCBiaXRnby5kZWwoYml0Z28udXJsKGAva2V5LyR7a2V5Y2hhaW5JZH0vd2ViYXV0aG5kZXZpY2UvJHtkZXZpY2UuaWR9YCwgMikpLnJlc3VsdCgpO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProvider.d.ts","sourceRoot":"","sources":["../../../../test/integration/helpers/mockProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mockProvider.d.ts","sourceRoot":"","sources":["../../../../test/integration/helpers/mockProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7G,wBAAgB,gBAAgB,IAAI,gBAAgB,GAAG;IAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;CAAE,CAmClH"}
|
|
@@ -34,4 +34,4 @@ function makeMockProvider() {
|
|
|
34
34
|
};
|
|
35
35
|
return provider;
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja1Byb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC9pbnRlZ3JhdGlvbi9oZWxwZXJzL21vY2tQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRDQW1DQztBQXJDRCx5Q0FBdUQ7QUFFdkQsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQUksb0JBQXdELENBQUM7SUFFN0QsTUFBTSxRQUFRLEdBQW9GO1FBQ2hHLElBQUksb0JBQW9CO1lBQ3RCLE9BQU8sb0JBQW9CLENBQUM7UUFDOUIsQ0FBQztRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBMkM7WUFDdEQsT0FBTztnQkFDTCxFQUFFLEVBQUUsd0JBQWE7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUFhLEVBQUUsUUFBUSxDQUFDO2dCQUMzQyxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsUUFBUSxFQUFFO29CQUNSLGlCQUFpQixFQUFFLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDckMsY0FBYyxFQUFFLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDbEMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7aUJBQ3hCO2dCQUNELHVCQUF1QixFQUFFLFVBQVU7Z0JBQ25DLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDN0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBOEIsQ0FBQTthQUNaLENBQUM7UUFDdEMsQ0FBQztRQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBMEI7WUFDbEMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hELE9BQU87Z0JBQ0wsU0FBUyxFQUFFLHFCQUFVO2dCQUNyQixZQUFZLEVBQUUsd0JBQWE7Z0JBQzNCLE9BQU8sRUFBRSxRQUFRO2FBQ2xCLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBhc3NrZXlBdXRoUmVzdWx0LCB0eXBlIFBhc3NrZXlHZXRPcHRpb25zLCB0eXBlIFdlYkF1dGhuUHJvdmlkZXIgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDUkVERU5USUFMX0lELCBQUkZfT1VUUFVUIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTW9ja1Byb3ZpZGVyKCk6IFdlYkF1dGhuUHJvdmlkZXIgJiB7IGxhc3RFdmFsQnlDcmVkZW50aWFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkIH0ge1xuICBsZXQgbGFzdEV2YWxCeUNyZWRlbnRpYWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcHJvdmlkZXI6IFdlYkF1dGhuUHJvdmlkZXIgJiB7IGxhc3RFdmFsQnlDcmVkZW50aWFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkIH0gPSB7XG4gICAgZ2V0IGxhc3RFdmFsQnlDcmVkZW50aWFsKCkge1xuICAgICAgcmV0dXJuIGxhc3RFdmFsQnlDcmVkZW50aWFsO1xuICAgIH0sXG5cbiAgICBhc3luYyBjcmVhdGUob3B0aW9uczogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyk6IFByb21pc2U8UHVibGljS2V5Q3JlZGVudGlhbD4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IENSRURFTlRJQUxfSUQsXG4gICAgICAgIHJhd0lkOiBCdWZmZXIuZnJvbShDUkVERU5USUFMX0lELCAnYmFzZTY0JyksXG4gICAgICAgIHR5cGU6ICdwdWJsaWMta2V5JyxcbiAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICBhdHRlc3RhdGlvbk9iamVjdDogbmV3IEFycmF5QnVmZmVyKDApLFxuICAgICAgICAgIGNsaWVudERhdGFKU09OOiBuZXcgQXJyYXlCdWZmZXIoMCksXG4gICAgICAgICAgZ2V0VHJhbnNwb3J0czogKCkgPT4gW10sXG4gICAgICAgIH0sXG4gICAgICAgIGF1dGhlbnRpY2F0b3JBdHRhY2htZW50OiAncGxhdGZvcm0nLFxuICAgICAgICBnZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzOiAoKSA9PiAoeyBwcmY6IHsgZW5hYmxlZDogdHJ1ZSB9IH0pLFxuICAgICAgICB0b0pTT046ICgpID0+ICh7fSBhcyBQdWJsaWNLZXlDcmVkZW50aWFsSlNPTiksXG4gICAgICB9IGFzIHVua25vd24gYXMgUHVibGljS2V5Q3JlZGVudGlhbDtcbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0KG9wdGlvbnM6IFBhc3NrZXlHZXRPcHRpb25zKTogUHJvbWlzZTxQYXNza2V5QXV0aFJlc3VsdD4ge1xuICAgICAgbGFzdEV2YWxCeUNyZWRlbnRpYWwgPSBvcHRpb25zLmV2YWxCeUNyZWRlbnRpYWw7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmZSZXN1bHQ6IFBSRl9PVVRQVVQsXG4gICAgICAgIGNyZWRlbnRpYWxJZDogQ1JFREVOVElBTF9JRCxcbiAgICAgICAgb3RwQ29kZTogJzEyMzQ1NicsXG4gICAgICB9O1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHByb3ZpZGVyO1xufVxuIl19
|
|
@@ -34,8 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const assert = __importStar(require("assert"));
|
|
37
|
-
const
|
|
38
|
-
const deriveEnterpriseSalt_1 = require("../../src/deriveEnterpriseSalt");
|
|
37
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
39
38
|
const registerPasskey_1 = require("../../src/registerPasskey");
|
|
40
39
|
const attachPasskeyToWallet_1 = require("../../src/attachPasskeyToWallet");
|
|
41
40
|
const derivePasskeyPrfKey_1 = require("../../src/derivePasskeyPrfKey");
|
|
@@ -71,7 +70,7 @@ describe('passkey-crypto integration', function () {
|
|
|
71
70
|
provider,
|
|
72
71
|
});
|
|
73
72
|
// Verify encryptedPrv round-trips with the PRF-derived password
|
|
74
|
-
const decrypted = sjclDecrypt((0,
|
|
73
|
+
const decrypted = sjclDecrypt((0, sdk_core_1.derivePassword)(fixtures_1.PRF_OUTPUT), keychainState.encryptedPrv);
|
|
75
74
|
assert.strictEqual(decrypted, PRIVATE_KEY);
|
|
76
75
|
// prfSalt stored in webauthnInfo must be valid base64url
|
|
77
76
|
assert.ok(keychainState.webauthnDevices);
|
|
@@ -93,7 +92,7 @@ describe('passkey-crypto integration', function () {
|
|
|
93
92
|
});
|
|
94
93
|
const derivedPassphrase = await (0, derivePasskeyPrfKey_1.derivePasskeyPrfKey)({ bitgo, wallet, provider });
|
|
95
94
|
// Same passphrase as what attach used — decrypts the stored key
|
|
96
|
-
assert.strictEqual(derivedPassphrase, (0,
|
|
95
|
+
assert.strictEqual(derivedPassphrase, (0, sdk_core_1.derivePassword)(fixtures_1.PRF_OUTPUT));
|
|
97
96
|
assert.strictEqual(sjclDecrypt(derivedPassphrase, keychainState.encryptedPrv), PRIVATE_KEY);
|
|
98
97
|
});
|
|
99
98
|
});
|
|
@@ -131,7 +130,7 @@ describe('passkey-crypto integration', function () {
|
|
|
131
130
|
existingPassphrase: fixtures_1.EXISTING_PASSPHRASE,
|
|
132
131
|
provider,
|
|
133
132
|
});
|
|
134
|
-
assert.strictEqual(provider.lastEvalByCredential?.[fixtures_1.CREDENTIAL_ID], (0,
|
|
133
|
+
assert.strictEqual(provider.lastEvalByCredential?.[fixtures_1.CREDENTIAL_ID], (0, sdk_core_1.deriveEnterpriseSalt)(fixtures_1.BASE_SALT, fixtures_1.ENTERPRISE_ID));
|
|
135
134
|
});
|
|
136
135
|
});
|
|
137
136
|
describe('error propagation', function () {
|
|
@@ -150,4 +149,4 @@ describe('passkey-crypto integration', function () {
|
|
|
150
149
|
});
|
|
151
150
|
});
|
|
152
151
|
});
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2tleUxpZmVjeWNsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9pbnRlZ3JhdGlvbi9wYXNza2V5TGlmZWN5Y2xlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsNkRBQTBEO0FBQzFELHlFQUFzRTtBQUN0RSwrREFBNEQ7QUFDNUQsMkVBQXdFO0FBQ3hFLHVFQUFvRTtBQUNwRSwrRUFBNEU7QUFDNUUsaUZBQThFO0FBQzlFLG1EQUFvRDtBQUNwRCx5REFBMEQ7QUFDMUQsaURBVTRCO0FBRTVCLCtFQUErRTtBQUMvRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZHLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUVuRyxRQUFRLENBQUMsNEJBQTRCLEVBQUU7SUFDckMsSUFBSSxtQkFBMkIsQ0FBQztJQUNoQyxNQUFNLFdBQVcsR0FBRyw2QkFBNkIsQ0FBQztJQUVsRCxNQUFNLENBQUM7UUFDTCwwRkFBMEY7UUFDMUYsbUJBQW1CLEdBQUcsV0FBVyxDQUFDLDhCQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLG1CQUFtQixFQUFFO1FBQzVCLEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxLQUFLO1lBQ3BFLE1BQU0s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QixLQUFLO2dCQUNMLElBQUksRUFBRSxlQUFJO2dCQUNWLFFBQVEsRUFBRSxvQkFBUztnQkFDbkIsTUFBTTtnQkFDTixnQkFBZ0IsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQyxFQUNKLDZCQUE2QixDQUM5QixDQUFDO1lBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGRlcml2ZVBhc3N3b3JkIH0gZnJvbSAnLi4vLi4vc3JjL2Rlcml2ZVBhc3N3b3JkJztcbmltcG9ydCB7IGRlcml2ZUVudGVycHJpc2VTYWx0IH0gZnJvbSAnLi4vLi4vc3JjL2Rlcml2ZUVudGVycHJpc2VTYWx0JztcbmltcG9ydCB7IHJlZ2lzdGVyUGFzc2tleSB9IGZyb20gJy4uLy4uL3NyYy9yZWdpc3RlclBhc3NrZXknO1xuaW1wb3J0IHsgYXR0YWNoUGFzc2tleVRvV2FsbGV0IH0gZnJvbSAnLi4vLi4vc3JjL2F0dGFjaFBhc3NrZXlUb1dhbGxldCc7XG5pbXBvcnQgeyBkZXJpdmVQYXNza2V5UHJmS2V5IH0gZnJvbSAnLi4vLi4vc3JjL2Rlcml2ZVBhc3NrZXlQcmZLZXknO1xuaW1wb3J0IHsgcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQgfSBmcm9tICcuLi8uLi9zcmMvcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQnO1xuaW1wb3J0IHsgcmVtb3ZlUGFzc2tleUZyb21BY2NvdW50IH0gZnJvbSAnLi4vLi4vc3JjL3JlbW92ZVBhc3NrZXlGcm9tQWNjb3VudCc7XG5pbXBvcnQgeyBtYWtlTW9ja0JpdEdvIH0gZnJvbSAnLi9oZWxwZXJzL21vY2tCaXRHbyc7XG5pbXBvcnQgeyBtYWtlTW9ja1Byb3ZpZGVyIH0gZnJvbSAnLi9oZWxwZXJzL21vY2tQcm92aWRlcic7XG5pbXBvcnQge1xuICBFTlRFUlBSSVNFX0lELFxuICBXQUxMRVRfSUQsXG4gIENPSU4sXG4gIEVYSVNUSU5HX1BBU1NQSFJBU0UsXG4gIFBSRl9PVVRQVVQsXG4gIENSRURFTlRJQUxfSUQsXG4gIERFVklDRV9NT05HT19JRCxcbiAgQkFTRV9TQUxULFxuICBLRVlDSEFJTl9JRCxcbn0gZnJvbSAnLi9oZWxwZXJzL2ZpeHR1cmVzJztcblxuLy8gVXNlIHNqY2wgZGlyZWN0bHkgZm9yIHJvdW5kLXRyaXAgZW5jcnlwdGlvbiB0ZXN0cyDigJQgc2FtZSBjcnlwdG8gYXMgbW9ja0JpdEdvXG5jb25zdCBzamNsID0gcmVxdWlyZSgnc2pjbCcpO1xuY29uc3Qgc2pjbEVuY3J5cHQgPSAocGFzc3dvcmQ6IHN0cmluZywgaW5wdXQ6IHN0cmluZykgPT4gSlNPTi5zdHJpbmdpZnkoc2pjbC5lbmNyeXB0KHBhc3N3b3JkLCBpbnB1dCkpO1xuY29uc3Qgc2pjbERlY3J5cHQgPSAocGFzc3dvcmQ6IHN0cmluZywgaW5wdXQ6IHN0cmluZykgPT4gc2pjbC5kZWNyeXB0KHBhc3N3b3JkLCBKU09OLnBhcnNlKGlucHV0KSk7XG5cbmRlc2NyaWJlKCdwYXNza2V5LWNyeXB0byBpbnRlZ3JhdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGluaXRpYWxFbmNyeXB0ZWRQcnY6IHN0cmluZztcbiAgY29uc3QgUFJJVkFURV9LRVkgPSAneHBydi10ZXN0LXByaXZhdGUta2V5LTEyMzQ1JztcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIC8vIEVuY3J5cHQgdGhlIHByaXZhdGUga2V5IHdpdGggdGhlIGV4aXN0aW5nIHBhc3NwaHJhc2UgKHNpbXVsYXRlcyB3aGF0IHRoZSBzZXJ2ZXIgc3RvcmVzKVxuICAgIGluaXRpYWxFbmNyeXB0ZWRQcnYgPSBzamNsRW5jcnlwdChFWElTVElOR19QQVNTUEhSQVNFLCBQUklWQVRFX0tFWSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZWdpc3RlciDihpIgYXR0YWNoJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdyZS1lbmNyeXB0cyB0aGUgcHJpdmF0ZSBrZXkgdW5kZXIgdGhlIFBSRi1kZXJpdmVkIHBhc3N3b3JkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgeyBiaXRnbywga2V5Y2hhaW5TdGF0ZSB9ID0gbWFrZU1vY2tCaXRHbyhpbml0aWFsRW5jcnlwdGVkUHJ2KTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gbWFrZU1vY2tQcm92aWRlcigpO1xuXG4gICAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCByZWdpc3RlclBhc3NrZXkoeyBiaXRnbywgcHJvdmlkZXIsIGxhYmVsOiAndGVzdC1rZXknIH0pO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRldmljZS5jcmVkZW50aWFsSWQsIENSRURFTlRJQUxfSUQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRldmljZS5wcmZTdXBwb3J0ZWQsIHRydWUpO1xuXG4gICAgICBhd2FpdCBhdHRhY2hQYXNza2V5VG9XYWxsZXQoe1xuICAgICAgICBiaXRnbyxcbiAgICAgICAgY29pbjogQ09JTixcbiAgICAgICAgd2FsbGV0SWQ6IFdBTExFVF9JRCxcbiAgICAgICAgZGV2aWNlLFxuICAgICAgICBleGlzdGluZ1Bhc3NwaHJhc2U6IEVYSVNUSU5HX1BBU1NQSFJBU0UsXG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFZlcmlmeSBlbmNyeXB0ZWRQcnYgcm91bmQtdHJpcHMgd2l0aCB0aGUgUFJGLWRlcml2ZWQgcGFzc3dvcmRcbiAgICAgIGNvbnN0IGRlY3J5cHRlZCA9IHNqY2xEZWNyeXB0KGRlcml2ZVBhc3N3b3JkKFBSRl9PVVRQVVQpLCBrZXljaGFpblN0YXRlLmVuY3J5cHRlZFBydik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjcnlwdGVkLCBQUklWQVRFX0tFWSk7XG5cbiAgICAgIC8vIHByZlNhbHQgc3RvcmVkIGluIHdlYmF1dGhuSW5mbyBtdXN0IGJlIHZhbGlkIGJhc2U2NHVybFxuICAgICAgYXNzZXJ0Lm9rKGtleWNoYWluU3RhdGUud2ViYXV0aG5EZXZpY2VzKTtcbiAgICAgIGFzc2VydC5tYXRjaChrZXljaGFpblN0YXRlLndlYmF1dGhuRGV2aWNlc1swXS5wcmZTYWx0LCAvXltBLVphLXowLTlcXC1fXSskLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhdHRhY2gg4oaSIGRlcml2ZVBhc3NrZXlQcmZLZXknLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Rlcml2ZXMgdGhlIHNhbWUgcGFzc3BocmFzZSB1c2VkIHRvIHJlLWVuY3J5cHQgZHVyaW5nIGF0dGFjaCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgYml0Z28sIGtleWNoYWluU3RhdGUsIHdhbGxldCB9ID0gbWFrZU1vY2tCaXRHbyhpbml0aWFsRW5jcnlwdGVkUHJ2KTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gbWFrZU1vY2tQcm92aWRlcigpO1xuXG4gICAgICBjb25zdCBkZXZpY2UgPSB7IGlkOiBERVZJQ0VfTU9OR09fSUQsIGNyZWRlbnRpYWxJZDogQ1JFREVOVElBTF9JRCwgcHJmU2FsdDogQkFTRV9TQUxULCBpc1Bhc3NrZXk6IHRydWUgfTtcbiAgICAgIGF3YWl0IGF0dGFjaFBhc3NrZXlUb1dhbGxldCh7XG4gICAgICAgIGJpdGdvLFxuICAgICAgICBjb2luOiBDT0lOLFxuICAgICAgICB3YWxsZXRJZDogV0FMTEVUX0lELFxuICAgICAgICBkZXZpY2UsXG4gICAgICAgIGV4aXN0aW5nUGFzc3BocmFzZTogRVhJU1RJTkdfUEFTU1BIUkFTRSxcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZGVyaXZlZFBhc3NwaHJhc2UgPSBhd2FpdCBkZXJpdmVQYXNza2V5UHJmS2V5KHsgYml0Z28sIHdhbGxldCwgcHJvdmlkZXIgfSk7XG5cbiAgICAgIC8vIFNhbWUgcGFzc3BocmFzZSBhcyB3aGF0IGF0dGFjaCB1c2VkIOKAlCBkZWNyeXB0cyB0aGUgc3RvcmVkIGtleVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlcml2ZWRQYXNzcGhyYXNlLCBkZXJpdmVQYXNzd29yZChQUkZfT1VUUFVUKSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoc2pjbERlY3J5cHQoZGVyaXZlZFBhc3NwaHJhc2UsIGtleWNoYWluU3RhdGUuZW5jcnlwdGVkUHJ2KSwgUFJJVkFURV9LRVkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZnVsbCBsaWZlY3ljbGUgKHJlZ2lzdGVyIOKGkiBhdHRhY2gg4oaSIGRlcml2ZSDihpIgcmVtb3ZlKScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnY29tcGxldGVzIGFsbCBzdGVwcyBhbmQgaGl0cyBib3RoIERFTCBlbmRwb2ludHMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB7IGJpdGdvLCB3YWxsZXQgfSA9IG1ha2VNb2NrQml0R28oaW5pdGlhbEVuY3J5cHRlZFBydik7XG4gICAgICBjb25zdCBwcm92aWRlciA9IG1ha2VNb2NrUHJvdmlkZXIoKTtcblxuICAgICAgY29uc3QgZGV2aWNlID0gYXdhaXQgcmVnaXN0ZXJQYXNza2V5KHsgYml0Z28sIHByb3ZpZGVyLCBsYWJlbDogJ2xpZmVjeWNsZS1rZXknIH0pO1xuICAgICAgYXdhaXQgYXR0YWNoUGFzc2tleVRvV2FsbGV0KHtcbiAgICAgICAgYml0Z28sXG4gICAgICAgIGNvaW46IENPSU4sXG4gICAgICAgIHdhbGxldElkOiBXQUxMRVRfSUQsXG4gICAgICAgIGRldmljZSxcbiAgICAgICAgZXhpc3RpbmdQYXNzcGhyYXNlOiBFWElTVElOR19QQVNTUEhSQVNFLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwYXNzcGhyYXNlID0gYXdhaXQgZGVyaXZlUGFzc2tleVByZktleSh7IGJpdGdvLCB3YWxsZXQsIHByb3ZpZGVyIH0pO1xuICAgICAgYXdhaXQgcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQoeyBiaXRnbywgY29pbjogQ09JTiwgd2FsbGV0SWQ6IFdBTExFVF9JRCwgZGV2aWNlLCB3YWxsZXRQYXNzcGhyYXNlOiBwYXNzcGhyYXNlIH0pO1xuICAgICAgYXdhaXQgcmVtb3ZlUGFzc2tleUZyb21BY2NvdW50KHsgYml0Z28sIGRldmljZSB9KTtcblxuICAgICAgY29uc3QgZGVsVXJscyA9IGJpdGdvLmRlbC5hcmdzLm1hcCgoYTogc3RyaW5nW10pID0+IGFbMF0pO1xuICAgICAgYXNzZXJ0Lm9rKGRlbFVybHMuc29tZSgodXJsOiBzdHJpbmcpID0+IHVybC5pbmNsdWRlcyhgL2tleS8ke0tFWUNIQUlOX0lEfS93ZWJhdXRobmRldmljZS8ke0RFVklDRV9NT05HT19JRH1gKSkpO1xuICAgICAgYXNzZXJ0Lm9rKGRlbFVybHMuc29tZSgodXJsOiBzdHJpbmcpID0+IHVybC5pbmNsdWRlcyhgL3VzZXIvb3RwLyR7REVWSUNFX01PTkdPX0lEfWApKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQUkYgc2FsdCBkZXJpdmF0aW9uIHdpcmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgncGFzc2VzIGRlcml2ZUVudGVycHJpc2VTYWx0IG91dHB1dCBhcyB0aGUgZXZhbCBzYWx0IGluIGF0dGFjaFBhc3NrZXlUb1dhbGxldCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgYml0Z28gfSA9IG1ha2VNb2NrQml0R28oaW5pdGlhbEVuY3J5cHRlZFBydik7XG4gICAgICBjb25zdCBwcm92aWRlciA9IG1ha2VNb2NrUHJvdmlkZXIoKTtcblxuICAgICAgY29uc3QgZGV2aWNlID0geyBpZDogREVWSUNFX01PTkdPX0lELCBjcmVkZW50aWFsSWQ6IENSRURFTlRJQUxfSUQsIHByZlNhbHQ6IEJBU0VfU0FMVCwgaXNQYXNza2V5OiB0cnVlIH07XG4gICAgICBhd2FpdCBhdHRhY2hQYXNza2V5VG9XYWxsZXQoe1xuICAgICAgICBiaXRnbyxcbiAgICAgICAgY29pbjogQ09JTixcbiAgICAgICAgd2FsbGV0SWQ6IFdBTExFVF9JRCxcbiAgICAgICAgZGV2aWNlLFxuICAgICAgICBleGlzdGluZ1Bhc3NwaHJhc2U6IEVYSVNUSU5HX1BBU1NQSFJBU0UsXG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgfSk7XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgcHJvdmlkZXIubGFzdEV2YWxCeUNyZWRlbnRpYWw/LltDUkVERU5USUFMX0lEXSxcbiAgICAgICAgZGVyaXZlRW50ZXJwcmlzZVNhbHQoQkFTRV9TQUxULCBFTlRFUlBSSVNFX0lEKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Vycm9yIHByb3BhZ2F0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdhYm9ydHMgcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQgYW5kIGRvZXMgbm90IERFTCB3aGVuIHBhc3NwaHJhc2UgaXMgd3JvbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB7IGJpdGdvIH0gPSBtYWtlTW9ja0JpdEdvKGluaXRpYWxFbmNyeXB0ZWRQcnYpO1xuICAgICAgY29uc3QgZGV2aWNlID0geyBpZDogREVWSUNFX01PTkdPX0lELCBjcmVkZW50aWFsSWQ6IENSRURFTlRJQUxfSUQsIHByZlNhbHQ6IEJBU0VfU0FMVCwgaXNQYXNza2V5OiB0cnVlIH07XG5cbiAgICAgIC8vIFVzZXMgcmVhbCBzamNsIGRlY3J5cHQg4oCUIHdyb25nIHBhc3NwaHJhc2UgZ2VudWluZWx5IGZhaWxzIGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXlcbiAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIHJlbW92ZVBhc3NrZXlGcm9tV2FsbGV0KHtcbiAgICAgICAgICAgIGJpdGdvLFxuICAgICAgICAgICAgY29pbjogQ09JTixcbiAgICAgICAgICAgIHdhbGxldElkOiBXQUxMRVRfSUQsXG4gICAgICAgICAgICBkZXZpY2UsXG4gICAgICAgICAgICB3YWxsZXRQYXNzcGhyYXNlOiAnd3JvbmctcGFzc3BocmFzZScsXG4gICAgICAgICAgfSksXG4gICAgICAgIC9JbmNvcnJlY3Qgd2FsbGV0IHBhc3NwaHJhc2UvXG4gICAgICApO1xuXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYml0Z28uZGVsLmNhbGxDb3VudCwgMCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2tleUxpZmVjeWNsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9pbnRlZ3JhdGlvbi9wYXNza2V5TGlmZWN5Y2xlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsbURBQTRFO0FBQzVFLCtEQUE0RDtBQUM1RCwyRUFBd0U7QUFDeEUsdUVBQW9FO0FBQ3BFLCtFQUE0RTtBQUM1RSxpRkFBOEU7QUFDOUUsbURBQW9EO0FBQ3BELHlEQUEwRDtBQUMxRCxpREFVNEI7QUFFNUIsK0VBQStFO0FBQy9FLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QixNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWdCLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRW5HLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRTtJQUNyQyxJQUFJLG1CQUEyQixDQUFDO0lBQ2hDLE1BQU0sV0FBVyxHQUFHLDZCQUE2QixDQUFDO0lBRWxELE1BQU0sQ0FBQztRQUNMLDBGQUEwRjtRQUMxRixtQkFBbUIsR0FBRyxXQUFXLENBQUMsOEJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7UUFDNUIsRUFBRSxDQUFDLDREQUE0RCxFQUFFLEtBQUs7WUFDcEUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFBLHlCQUFhLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFnQixHQUFFLENBQUM7WUFFcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLGlDQUFlLEVBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSx3QkFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTlDLE1BQU0sSUFBQSw2Q0FBcUIsRUFBQztnQkFDMUIsS0FBSztnQkFDTCxJQUFJLEVBQUUsZUFBSTtnQkFDVixRQUFRLEVBQUUsb0JBQVM7Z0JBQ25CLE1BQU07Z0JBQ04sa0JBQWtCLEVBQUUsOEJBQW1CO2dCQUN2QyxRQUFRO2FBQ1QsQ0FBQyxDQUFDO1lBRUgsZ0VBQWdFO1lBQ2hFLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxJQUFBLHlCQUFjLEVBQUMscUJBQVUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RixNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUUzQyx5REFBeUQ7WUFDekQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsOEJBQThCLEVBQUU7UUFDdkMsRUFBRSxDQUFDLDhEQUE4RCxFQUFFLEtBQUs7WUFDdEUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSx5QkFBYSxFQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBZ0IsR0FBRSxDQUFDO1lBRXBDLE1BQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFLDBCQUFlLEVBQUUsWUFBWSxFQUFFLHdCQUFhLEVBQUUsT0FBTyxFQUFFLG9CQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3pHLE1BQU0sSUFBQSw2Q0FBcUIsRUFBQztnQkFDMUIsS0FBSztnQkFDTCxJQUFJLEVBQUUsZUFBSTtnQkFDVixRQUFRLEVBQUUsb0JBQVM7Z0JBQ25CLE1BQU07Z0JBQ04sa0JBQWtCLEVBQUUsOEJBQW1CO2dCQUN2QyxRQUFRO2FBQ1QsQ0FBQyxDQUFDO1lBRUgsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUEseUNBQW1CLEVBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFakYsZ0VBQWdFO1lBQ2hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBQSx5QkFBYyxFQUFDLHFCQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHNEQUFzRCxFQUFFO1FBQy9ELEVBQUUsQ0FBQyxpREFBaUQsRUFBRSxLQUFLO1lBQ3pELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSx5QkFBYSxFQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBZ0IsR0FBRSxDQUFDO1lBRXBDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxpQ0FBZSxFQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUNsRixNQUFNLElBQUEsNkNBQXFCLEVBQUM7Z0JBQzFCLEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLGVBQUk7Z0JBQ1YsUUFBUSxFQUFFLG9CQUFTO2dCQUNuQixNQUFNO2dCQUNOLGtCQUFrQixFQUFFLDhCQUFtQjtnQkFDdkMsUUFBUTthQUNULENBQUMsQ0FBQztZQUVILE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSx5Q0FBbUIsRUFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRSxNQUFNLElBQUEsaURBQXVCLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQUksRUFBRSxRQUFRLEVBQUUsb0JBQVMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNoSCxNQUFNLElBQUEsbURBQXdCLEVBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUVsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLHNCQUFXLG1CQUFtQiwwQkFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEgsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsMEJBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsNEJBQTRCLEVBQUU7UUFDckMsRUFBRSxDQUFDLDhFQUE4RSxFQUFFLEtBQUs7WUFDdEYsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEseUJBQWEsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUEsK0JBQWdCLEdBQUUsQ0FBQztZQUVwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSwwQkFBZSxFQUFFLFlBQVksRUFBRSx3QkFBYSxFQUFFLE9BQU8sRUFBRSxvQkFBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RyxNQUFNLElBQUEsNkNBQXFCLEVBQUM7Z0JBQzFCLEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLGVBQUk7Z0JBQ1YsUUFBUSxFQUFFLG9CQUFTO2dCQUNuQixNQUFNO2dCQUNOLGtCQUFrQixFQUFFLDhCQUFtQjtnQkFDdkMsUUFBUTthQUNULENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLHdCQUFhLENBQUMsRUFDOUMsSUFBQSwrQkFBb0IsRUFBQyxvQkFBUyxFQUFFLHdCQUFhLENBQUMsQ0FDL0MsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7UUFDNUIsRUFBRSxDQUFDLDBFQUEwRSxFQUFFLEtBQUs7WUFDbEYsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEseUJBQWEsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFLDBCQUFlLEVBQUUsWUFBWSxFQUFFLHdCQUFhLEVBQUUsT0FBTyxFQUFFLG9CQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1lBRXpHLHNGQUFzRjtZQUN0RixNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xCLEdBQUcsRUFBRSxDQUNILElBQUEsaURBQXVCLEVBQUM7Z0JBQ3RCLEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLGVBQUk7Z0JBQ1YsUUFBUSxFQUFFLG9CQUFTO2dCQUNuQixNQUFNO2dCQUNOLGdCQUFnQixFQUFFLGtCQUFrQjthQUNyQyxDQUFDLEVBQ0osNkJBQTZCLENBQzlCLENBQUM7WUFFRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgZGVyaXZlRW50ZXJwcmlzZVNhbHQsIGRlcml2ZVBhc3N3b3JkIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgcmVnaXN0ZXJQYXNza2V5IH0gZnJvbSAnLi4vLi4vc3JjL3JlZ2lzdGVyUGFzc2tleSc7XG5pbXBvcnQgeyBhdHRhY2hQYXNza2V5VG9XYWxsZXQgfSBmcm9tICcuLi8uLi9zcmMvYXR0YWNoUGFzc2tleVRvV2FsbGV0JztcbmltcG9ydCB7IGRlcml2ZVBhc3NrZXlQcmZLZXkgfSBmcm9tICcuLi8uLi9zcmMvZGVyaXZlUGFzc2tleVByZktleSc7XG5pbXBvcnQgeyByZW1vdmVQYXNza2V5RnJvbVdhbGxldCB9IGZyb20gJy4uLy4uL3NyYy9yZW1vdmVQYXNza2V5RnJvbVdhbGxldCc7XG5pbXBvcnQgeyByZW1vdmVQYXNza2V5RnJvbUFjY291bnQgfSBmcm9tICcuLi8uLi9zcmMvcmVtb3ZlUGFzc2tleUZyb21BY2NvdW50JztcbmltcG9ydCB7IG1ha2VNb2NrQml0R28gfSBmcm9tICcuL2hlbHBlcnMvbW9ja0JpdEdvJztcbmltcG9ydCB7IG1ha2VNb2NrUHJvdmlkZXIgfSBmcm9tICcuL2hlbHBlcnMvbW9ja1Byb3ZpZGVyJztcbmltcG9ydCB7XG4gIEVOVEVSUFJJU0VfSUQsXG4gIFdBTExFVF9JRCxcbiAgQ09JTixcbiAgRVhJU1RJTkdfUEFTU1BIUkFTRSxcbiAgUFJGX09VVFBVVCxcbiAgQ1JFREVOVElBTF9JRCxcbiAgREVWSUNFX01PTkdPX0lELFxuICBCQVNFX1NBTFQsXG4gIEtFWUNIQUlOX0lELFxufSBmcm9tICcuL2hlbHBlcnMvZml4dHVyZXMnO1xuXG4vLyBVc2Ugc2pjbCBkaXJlY3RseSBmb3Igcm91bmQtdHJpcCBlbmNyeXB0aW9uIHRlc3RzIOKAlCBzYW1lIGNyeXB0byBhcyBtb2NrQml0R29cbmNvbnN0IHNqY2wgPSByZXF1aXJlKCdzamNsJyk7XG5jb25zdCBzamNsRW5jcnlwdCA9IChwYXNzd29yZDogc3RyaW5nLCBpbnB1dDogc3RyaW5nKSA9PiBKU09OLnN0cmluZ2lmeShzamNsLmVuY3J5cHQocGFzc3dvcmQsIGlucHV0KSk7XG5jb25zdCBzamNsRGVjcnlwdCA9IChwYXNzd29yZDogc3RyaW5nLCBpbnB1dDogc3RyaW5nKSA9PiBzamNsLmRlY3J5cHQocGFzc3dvcmQsIEpTT04ucGFyc2UoaW5wdXQpKTtcblxuZGVzY3JpYmUoJ3Bhc3NrZXktY3J5cHRvIGludGVncmF0aW9uJywgZnVuY3Rpb24gKCkge1xuICBsZXQgaW5pdGlhbEVuY3J5cHRlZFBydjogc3RyaW5nO1xuICBjb25zdCBQUklWQVRFX0tFWSA9ICd4cHJ2LXRlc3QtcHJpdmF0ZS1rZXktMTIzNDUnO1xuXG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgLy8gRW5jcnlwdCB0aGUgcHJpdmF0ZSBrZXkgd2l0aCB0aGUgZXhpc3RpbmcgcGFzc3BocmFzZSAoc2ltdWxhdGVzIHdoYXQgdGhlIHNlcnZlciBzdG9yZXMpXG4gICAgaW5pdGlhbEVuY3J5cHRlZFBydiA9IHNqY2xFbmNyeXB0KEVYSVNUSU5HX1BBU1NQSFJBU0UsIFBSSVZBVEVfS0VZKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlZ2lzdGVyIOKGkiBhdHRhY2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3JlLWVuY3J5cHRzIHRoZSBwcml2YXRlIGtleSB1bmRlciB0aGUgUFJGLWRlcml2ZWQgcGFzc3dvcmQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB7IGJpdGdvLCBrZXljaGFpblN0YXRlIH0gPSBtYWtlTW9ja0JpdEdvKGluaXRpYWxFbmNyeXB0ZWRQcnYpO1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBtYWtlTW9ja1Byb3ZpZGVyKCk7XG5cbiAgICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHJlZ2lzdGVyUGFzc2tleSh7IGJpdGdvLCBwcm92aWRlciwgbGFiZWw6ICd0ZXN0LWtleScgfSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGV2aWNlLmNyZWRlbnRpYWxJZCwgQ1JFREVOVElBTF9JRCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGV2aWNlLnByZlN1cHBvcnRlZCwgdHJ1ZSk7XG5cbiAgICAgIGF3YWl0IGF0dGFjaFBhc3NrZXlUb1dhbGxldCh7XG4gICAgICAgIGJpdGdvLFxuICAgICAgICBjb2luOiBDT0lOLFxuICAgICAgICB3YWxsZXRJZDogV0FMTEVUX0lELFxuICAgICAgICBkZXZpY2UsXG4gICAgICAgIGV4aXN0aW5nUGFzc3BocmFzZTogRVhJU1RJTkdfUEFTU1BIUkFTRSxcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICB9KTtcblxuICAgICAgLy8gVmVyaWZ5IGVuY3J5cHRlZFBydiByb3VuZC10cmlwcyB3aXRoIHRoZSBQUkYtZGVyaXZlZCBwYXNzd29yZFxuICAgICAgY29uc3QgZGVjcnlwdGVkID0gc2pjbERlY3J5cHQoZGVyaXZlUGFzc3dvcmQoUFJGX09VVFBVVCksIGtleWNoYWluU3RhdGUuZW5jcnlwdGVkUHJ2KTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNyeXB0ZWQsIFBSSVZBVEVfS0VZKTtcblxuICAgICAgLy8gcHJmU2FsdCBzdG9yZWQgaW4gd2ViYXV0aG5JbmZvIG11c3QgYmUgdmFsaWQgYmFzZTY0dXJsXG4gICAgICBhc3NlcnQub2soa2V5Y2hhaW5TdGF0ZS53ZWJhdXRobkRldmljZXMpO1xuICAgICAgYXNzZXJ0Lm1hdGNoKGtleWNoYWluU3RhdGUud2ViYXV0aG5EZXZpY2VzWzBdLnByZlNhbHQsIC9eW0EtWmEtejAtOVxcLV9dKyQvKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2F0dGFjaCDihpIgZGVyaXZlUGFzc2tleVByZktleScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnZGVyaXZlcyB0aGUgc2FtZSBwYXNzcGhyYXNlIHVzZWQgdG8gcmUtZW5jcnlwdCBkdXJpbmcgYXR0YWNoJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgeyBiaXRnbywga2V5Y2hhaW5TdGF0ZSwgd2FsbGV0IH0gPSBtYWtlTW9ja0JpdEdvKGluaXRpYWxFbmNyeXB0ZWRQcnYpO1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBtYWtlTW9ja1Byb3ZpZGVyKCk7XG5cbiAgICAgIGNvbnN0IGRldmljZSA9IHsgaWQ6IERFVklDRV9NT05HT19JRCwgY3JlZGVudGlhbElkOiBDUkVERU5USUFMX0lELCBwcmZTYWx0OiBCQVNFX1NBTFQsIGlzUGFzc2tleTogdHJ1ZSB9O1xuICAgICAgYXdhaXQgYXR0YWNoUGFzc2tleVRvV2FsbGV0KHtcbiAgICAgICAgYml0Z28sXG4gICAgICAgIGNvaW46IENPSU4sXG4gICAgICAgIHdhbGxldElkOiBXQUxMRVRfSUQsXG4gICAgICAgIGRldmljZSxcbiAgICAgICAgZXhpc3RpbmdQYXNzcGhyYXNlOiBFWElTVElOR19QQVNTUEhSQVNFLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkZXJpdmVkUGFzc3BocmFzZSA9IGF3YWl0IGRlcml2ZVBhc3NrZXlQcmZLZXkoeyBiaXRnbywgd2FsbGV0LCBwcm92aWRlciB9KTtcblxuICAgICAgLy8gU2FtZSBwYXNzcGhyYXNlIGFzIHdoYXQgYXR0YWNoIHVzZWQg4oCUIGRlY3J5cHRzIHRoZSBzdG9yZWQga2V5XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVyaXZlZFBhc3NwaHJhc2UsIGRlcml2ZVBhc3N3b3JkKFBSRl9PVVRQVVQpKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChzamNsRGVjcnlwdChkZXJpdmVkUGFzc3BocmFzZSwga2V5Y2hhaW5TdGF0ZS5lbmNyeXB0ZWRQcnYpLCBQUklWQVRFX0tFWSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmdWxsIGxpZmVjeWNsZSAocmVnaXN0ZXIg4oaSIGF0dGFjaCDihpIgZGVyaXZlIOKGkiByZW1vdmUpJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdjb21wbGV0ZXMgYWxsIHN0ZXBzIGFuZCBoaXRzIGJvdGggREVMIGVuZHBvaW50cycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgYml0Z28sIHdhbGxldCB9ID0gbWFrZU1vY2tCaXRHbyhpbml0aWFsRW5jcnlwdGVkUHJ2KTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gbWFrZU1vY2tQcm92aWRlcigpO1xuXG4gICAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCByZWdpc3RlclBhc3NrZXkoeyBiaXRnbywgcHJvdmlkZXIsIGxhYmVsOiAnbGlmZWN5Y2xlLWtleScgfSk7XG4gICAgICBhd2FpdCBhdHRhY2hQYXNza2V5VG9XYWxsZXQoe1xuICAgICAgICBiaXRnbyxcbiAgICAgICAgY29pbjogQ09JTixcbiAgICAgICAgd2FsbGV0SWQ6IFdBTExFVF9JRCxcbiAgICAgICAgZGV2aWNlLFxuICAgICAgICBleGlzdGluZ1Bhc3NwaHJhc2U6IEVYSVNUSU5HX1BBU1NQSFJBU0UsXG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBhc3NwaHJhc2UgPSBhd2FpdCBkZXJpdmVQYXNza2V5UHJmS2V5KHsgYml0Z28sIHdhbGxldCwgcHJvdmlkZXIgfSk7XG4gICAgICBhd2FpdCByZW1vdmVQYXNza2V5RnJvbVdhbGxldCh7IGJpdGdvLCBjb2luOiBDT0lOLCB3YWxsZXRJZDogV0FMTEVUX0lELCBkZXZpY2UsIHdhbGxldFBhc3NwaHJhc2U6IHBhc3NwaHJhc2UgfSk7XG4gICAgICBhd2FpdCByZW1vdmVQYXNza2V5RnJvbUFjY291bnQoeyBiaXRnbywgZGV2aWNlIH0pO1xuXG4gICAgICBjb25zdCBkZWxVcmxzID0gYml0Z28uZGVsLmFyZ3MubWFwKChhOiBzdHJpbmdbXSkgPT4gYVswXSk7XG4gICAgICBhc3NlcnQub2soZGVsVXJscy5zb21lKCh1cmw6IHN0cmluZykgPT4gdXJsLmluY2x1ZGVzKGAva2V5LyR7S0VZQ0hBSU5fSUR9L3dlYmF1dGhuZGV2aWNlLyR7REVWSUNFX01PTkdPX0lEfWApKSk7XG4gICAgICBhc3NlcnQub2soZGVsVXJscy5zb21lKCh1cmw6IHN0cmluZykgPT4gdXJsLmluY2x1ZGVzKGAvdXNlci9vdHAvJHtERVZJQ0VfTU9OR09fSUR9YCkpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BSRiBzYWx0IGRlcml2YXRpb24gd2lyaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdwYXNzZXMgZGVyaXZlRW50ZXJwcmlzZVNhbHQgb3V0cHV0IGFzIHRoZSBldmFsIHNhbHQgaW4gYXR0YWNoUGFzc2tleVRvV2FsbGV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgeyBiaXRnbyB9ID0gbWFrZU1vY2tCaXRHbyhpbml0aWFsRW5jcnlwdGVkUHJ2KTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gbWFrZU1vY2tQcm92aWRlcigpO1xuXG4gICAgICBjb25zdCBkZXZpY2UgPSB7IGlkOiBERVZJQ0VfTU9OR09fSUQsIGNyZWRlbnRpYWxJZDogQ1JFREVOVElBTF9JRCwgcHJmU2FsdDogQkFTRV9TQUxULCBpc1Bhc3NrZXk6IHRydWUgfTtcbiAgICAgIGF3YWl0IGF0dGFjaFBhc3NrZXlUb1dhbGxldCh7XG4gICAgICAgIGJpdGdvLFxuICAgICAgICBjb2luOiBDT0lOLFxuICAgICAgICB3YWxsZXRJZDogV0FMTEVUX0lELFxuICAgICAgICBkZXZpY2UsXG4gICAgICAgIGV4aXN0aW5nUGFzc3BocmFzZTogRVhJU1RJTkdfUEFTU1BIUkFTRSxcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICB9KTtcblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBwcm92aWRlci5sYXN0RXZhbEJ5Q3JlZGVudGlhbD8uW0NSRURFTlRJQUxfSURdLFxuICAgICAgICBkZXJpdmVFbnRlcnByaXNlU2FsdChCQVNFX1NBTFQsIEVOVEVSUFJJU0VfSUQpXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZXJyb3IgcHJvcGFnYXRpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Fib3J0cyByZW1vdmVQYXNza2V5RnJvbVdhbGxldCBhbmQgZG9lcyBub3QgREVMIHdoZW4gcGFzc3BocmFzZSBpcyB3cm9uZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgYml0Z28gfSA9IG1ha2VNb2NrQml0R28oaW5pdGlhbEVuY3J5cHRlZFBydik7XG4gICAgICBjb25zdCBkZXZpY2UgPSB7IGlkOiBERVZJQ0VfTU9OR09fSUQsIGNyZWRlbnRpYWxJZDogQ1JFREVOVElBTF9JRCwgcHJmU2FsdDogQkFTRV9TQUxULCBpc1Bhc3NrZXk6IHRydWUgfTtcblxuICAgICAgLy8gVXNlcyByZWFsIHNqY2wgZGVjcnlwdCDigJQgd3JvbmcgcGFzc3BocmFzZSBnZW51aW5lbHkgZmFpbHMgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleVxuICAgICAgYXdhaXQgYXNzZXJ0LnJlamVjdHMoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgcmVtb3ZlUGFzc2tleUZyb21XYWxsZXQoe1xuICAgICAgICAgICAgYml0Z28sXG4gICAgICAgICAgICBjb2luOiBDT0lOLFxuICAgICAgICAgICAgd2FsbGV0SWQ6IFdBTExFVF9JRCxcbiAgICAgICAgICAgIGRldmljZSxcbiAgICAgICAgICAgIHdhbGxldFBhc3NwaHJhc2U6ICd3cm9uZy1wYXNzcGhyYXNlJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgL0luY29ycmVjdCB3YWxsZXQgcGFzc3BocmFzZS9cbiAgICAgICk7XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChiaXRnby5kZWwuY2FsbENvdW50LCAwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|