@bitgo/sdk-lib-safes 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/safeDerivation.d.ts +0 -30
- package/dist/src/safeDerivation.d.ts.map +1 -1
- package/dist/src/safeDerivation.js +1 -34
- package/dist/src/safeSlot.d.ts +7 -0
- package/dist/src/safeSlot.d.ts.map +1 -1
- package/dist/src/safeSlot.js +37 -15
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/safeRecovery.d.ts +0 -27
- package/dist/src/safeRecovery.d.ts.map +0 -1
- package/dist/src/safeRecovery.js +0 -33
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/sdk-lib-safes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Pure Safe key derivation, slot mapping and keycard box parsing shared by mint, sign, and recovery",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@bitgo/public-types": "6.79.0",
|
|
35
|
-
"@bitgo/statics": "^59.
|
|
35
|
+
"@bitgo/statics": "^59.22.0",
|
|
36
36
|
"@bitgo/utxo-lib": "^11.24.4",
|
|
37
37
|
"create-hmac": "^1.1.7",
|
|
38
38
|
"fp-ts": "^2.12.2",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"files": [
|
|
51
51
|
"dist"
|
|
52
52
|
],
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "6c85ccf5b89de751eb82848d9af722eba0136e52"
|
|
54
54
|
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @prettier
|
|
3
|
-
*
|
|
4
|
-
* @experimental Shared safe recovery support registry.
|
|
5
|
-
*
|
|
6
|
-
* Declares which safe root slot x recovery-family pairs are supported for
|
|
7
|
-
* offline recovery, and fails closed for everything else. v1 supports exactly
|
|
8
|
-
* one pair: slot 1 (secp256k1Multisig) x utxo. The executable adapters live in
|
|
9
|
-
* the coin layers (e.g. abstract-utxo); this leaf owns only the support truth
|
|
10
|
-
* and the guard, so it never imports sdk-core or the coin packages.
|
|
11
|
-
*/
|
|
12
|
-
import type { RootKeyType } from '@bitgo/public-types';
|
|
13
|
-
export declare class SafeRecoveryUnsupportedError extends Error {
|
|
14
|
-
readonly slot: RootKeyType;
|
|
15
|
-
readonly family: string;
|
|
16
|
-
readonly coin?: string | undefined;
|
|
17
|
-
readonly code = "SAFE_RECOVERY_UNSUPPORTED";
|
|
18
|
-
constructor(slot: RootKeyType, family: string, coin?: string | undefined);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Checks an already-resolved Safe recovery capability.
|
|
22
|
-
*
|
|
23
|
-
* TODO(WCN-2741): derive the slot from the concrete coin and recovery mode,
|
|
24
|
-
* then invoke this guard before coin.recover() or any provider activity.
|
|
25
|
-
*/
|
|
26
|
-
export declare function assertSafeRecoverySupported(slot: RootKeyType, family: string, coin?: string): void;
|
|
27
|
-
//# sourceMappingURL=safeRecovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safeRecovery.d.ts","sourceRoot":"","sources":["../../src/safeRecovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,4BAA6B,SAAQ,KAAK;aAGzB,IAAI,EAAE,WAAW;aAAkB,MAAM,EAAE,MAAM;aAAkB,IAAI,CAAC,EAAE,MAAM;IAF5G,SAAgB,IAAI,+BAA+B;gBAEvB,IAAI,EAAE,WAAW,EAAkB,MAAM,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI7G;AAWD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAKlG"}
|
package/dist/src/safeRecovery.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SafeRecoveryUnsupportedError = void 0;
|
|
4
|
-
exports.assertSafeRecoverySupported = assertSafeRecoverySupported;
|
|
5
|
-
class SafeRecoveryUnsupportedError extends Error {
|
|
6
|
-
constructor(slot, family, coin) {
|
|
7
|
-
super(`Safe recovery for family '${family}' on slot '${slot}'${coin ? ` (coin '${coin}')` : ''} is not supported`);
|
|
8
|
-
this.slot = slot;
|
|
9
|
-
this.family = family;
|
|
10
|
-
this.coin = coin;
|
|
11
|
-
this.code = 'SAFE_RECOVERY_UNSUPPORTED';
|
|
12
|
-
this.name = 'SafeRecoveryUnsupportedError';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.SafeRecoveryUnsupportedError = SafeRecoveryUnsupportedError;
|
|
16
|
-
const SAFE_RECOVERY_SUPPORT = {
|
|
17
|
-
secp256k1Multisig: {
|
|
18
|
-
utxo: true,
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Checks an already-resolved Safe recovery capability.
|
|
23
|
-
*
|
|
24
|
-
* TODO(WCN-2741): derive the slot from the concrete coin and recovery mode,
|
|
25
|
-
* then invoke this guard before coin.recover() or any provider activity.
|
|
26
|
-
*/
|
|
27
|
-
function assertSafeRecoverySupported(slot, family, coin) {
|
|
28
|
-
const supportedFamilies = SAFE_RECOVERY_SUPPORT[slot];
|
|
29
|
-
if (supportedFamilies?.[family] !== true) {
|
|
30
|
-
throw new SafeRecoveryUnsupportedError(slot, family, coin);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZVJlY292ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NhZmVSZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQ0Esa0VBS0M7QUE3QkQsTUFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBR3JELFlBQTRCLElBQWlCLEVBQWtCLE1BQWMsRUFBa0IsSUFBYTtRQUMxRyxLQUFLLENBQUMsNkJBQTZCLE1BQU0sY0FBYyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFEekYsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFrQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVM7UUFGNUYsU0FBSSxHQUFHLDJCQUEyQixDQUFDO1FBSWpELElBQUksQ0FBQyxJQUFJLEdBQUcsOEJBQThCLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBUEQsb0VBT0M7QUFLRCxNQUFNLHFCQUFxQixHQUFpRjtJQUMxRyxpQkFBaUIsRUFBRTtRQUNqQixJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsSUFBaUIsRUFBRSxNQUFjLEVBQUUsSUFBYTtJQUMxRixNQUFNLGlCQUFpQixHQUFJLHFCQUE2RSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9HLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBTaGFyZWQgc2FmZSByZWNvdmVyeSBzdXBwb3J0IHJlZ2lzdHJ5LlxuICpcbiAqIERlY2xhcmVzIHdoaWNoIHNhZmUgcm9vdCBzbG90IHggcmVjb3ZlcnktZmFtaWx5IHBhaXJzIGFyZSBzdXBwb3J0ZWQgZm9yXG4gKiBvZmZsaW5lIHJlY292ZXJ5LCBhbmQgZmFpbHMgY2xvc2VkIGZvciBldmVyeXRoaW5nIGVsc2UuIHYxIHN1cHBvcnRzIGV4YWN0bHlcbiAqIG9uZSBwYWlyOiBzbG90IDEgKHNlY3AyNTZrMU11bHRpc2lnKSB4IHV0eG8uIFRoZSBleGVjdXRhYmxlIGFkYXB0ZXJzIGxpdmUgaW5cbiAqIHRoZSBjb2luIGxheWVycyAoZS5nLiBhYnN0cmFjdC11dHhvKTsgdGhpcyBsZWFmIG93bnMgb25seSB0aGUgc3VwcG9ydCB0cnV0aFxuICogYW5kIHRoZSBndWFyZCwgc28gaXQgbmV2ZXIgaW1wb3J0cyBzZGstY29yZSBvciB0aGUgY29pbiBwYWNrYWdlcy5cbiAqL1xuaW1wb3J0IHR5cGUgeyBSb290S2V5VHlwZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgU2FmZVJlY292ZXJ5VW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvZGUgPSAnU0FGRV9SRUNPVkVSWV9VTlNVUFBPUlRFRCc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IFJvb3RLZXlUeXBlLCBwdWJsaWMgcmVhZG9ubHkgZmFtaWx5OiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBjb2luPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoYFNhZmUgcmVjb3ZlcnkgZm9yIGZhbWlseSAnJHtmYW1pbHl9JyBvbiBzbG90ICcke3Nsb3R9JyR7Y29pbiA/IGAgKGNvaW4gJyR7Y29pbn0nKWAgOiAnJ30gaXMgbm90IHN1cHBvcnRlZGApO1xuICAgIHRoaXMubmFtZSA9ICdTYWZlUmVjb3ZlcnlVbnN1cHBvcnRlZEVycm9yJztcbiAgfVxufVxuXG50eXBlIFNhZmVSZWNvdmVyeVN1cHBvcnRlZFNsb3QgPSAnc2VjcDI1NmsxTXVsdGlzaWcnO1xudHlwZSBTYWZlUmVjb3ZlcnlTdXBwb3J0ZWRGYW1pbHkgPSAndXR4byc7XG5cbmNvbnN0IFNBRkVfUkVDT1ZFUllfU1VQUE9SVDogUmVjb3JkPFNhZmVSZWNvdmVyeVN1cHBvcnRlZFNsb3QsIFJlY29yZDxTYWZlUmVjb3ZlcnlTdXBwb3J0ZWRGYW1pbHksIHRydWU+PiA9IHtcbiAgc2VjcDI1NmsxTXVsdGlzaWc6IHtcbiAgICB1dHhvOiB0cnVlLFxuICB9LFxufTtcblxuLyoqXG4gKiBDaGVja3MgYW4gYWxyZWFkeS1yZXNvbHZlZCBTYWZlIHJlY292ZXJ5IGNhcGFiaWxpdHkuXG4gKlxuICogVE9ETyhXQ04tMjc0MSk6IGRlcml2ZSB0aGUgc2xvdCBmcm9tIHRoZSBjb25jcmV0ZSBjb2luIGFuZCByZWNvdmVyeSBtb2RlLFxuICogdGhlbiBpbnZva2UgdGhpcyBndWFyZCBiZWZvcmUgY29pbi5yZWNvdmVyKCkgb3IgYW55IHByb3ZpZGVyIGFjdGl2aXR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0U2FmZVJlY292ZXJ5U3VwcG9ydGVkKHNsb3Q6IFJvb3RLZXlUeXBlLCBmYW1pbHk6IHN0cmluZywgY29pbj86IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBzdXBwb3J0ZWRGYW1pbGllcyA9IChTQUZFX1JFQ09WRVJZX1NVUFBPUlQgYXMgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gfCB1bmRlZmluZWQ+KVtzbG90XTtcbiAgaWYgKHN1cHBvcnRlZEZhbWlsaWVzPy5bZmFtaWx5XSAhPT0gdHJ1ZSkge1xuICAgIHRocm93IG5ldyBTYWZlUmVjb3ZlcnlVbnN1cHBvcnRlZEVycm9yKHNsb3QsIGZhbWlseSwgY29pbik7XG4gIH1cbn1cbiJdfQ==
|