@bitgo-beta/utxo-core 1.8.1-beta.31 → 1.8.1-beta.33
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.
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
import { Descriptor } from '@bitgo/wasm-miniscript';
|
|
3
|
+
import { DescriptorMap } from './DescriptorMap';
|
|
4
|
+
/**
|
|
5
|
+
* Get a standard output descriptor that corresponds to the proprietary HD wallet setup
|
|
6
|
+
* used in BitGo wallets.
|
|
7
|
+
* Only supports a subset of script types.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDescriptorForScriptType(rootWalletKeys: utxolib.bitgo.RootWalletKeys, scriptType: 'p2sh' | 'p2shP2wsh' | 'p2wsh', scope: 'internal' | 'external'): Descriptor;
|
|
10
|
+
export declare function getNamedDescriptorsForRootWalletKeys(rootWalletKeys: utxolib.bitgo.RootWalletKeys): DescriptorMap;
|
|
11
|
+
//# sourceMappingURL=fromFixedScriptWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromFixedScriptWallet.d.ts","sourceRoot":"","sources":["../../../src/descriptor/fromFixedScriptWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAO,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,EAC5C,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,EAC1C,KAAK,EAAE,UAAU,GAAG,UAAU,GAC7B,UAAU,CAkBZ;AAED,wBAAgB,oCAAoC,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAQhH"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getDescriptorForScriptType = getDescriptorForScriptType;
|
|
37
|
+
exports.getNamedDescriptorsForRootWalletKeys = getNamedDescriptorsForRootWalletKeys;
|
|
38
|
+
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
39
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
40
|
+
/** Expand a template with the given root wallet keys and chain code */
|
|
41
|
+
function expand(rootWalletKeys, keyIndex, chainCode) {
|
|
42
|
+
if (keyIndex !== 0 && keyIndex !== 1 && keyIndex !== 2) {
|
|
43
|
+
throw new Error('Invalid key index');
|
|
44
|
+
}
|
|
45
|
+
const xpub = rootWalletKeys.triple[keyIndex].neutered().toBase58();
|
|
46
|
+
const prefix = rootWalletKeys.derivationPrefixes[keyIndex];
|
|
47
|
+
return xpub + '/' + prefix + '/' + chainCode + '/*';
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get a standard output descriptor that corresponds to the proprietary HD wallet setup
|
|
51
|
+
* used in BitGo wallets.
|
|
52
|
+
* Only supports a subset of script types.
|
|
53
|
+
*/
|
|
54
|
+
function getDescriptorForScriptType(rootWalletKeys, scriptType, scope) {
|
|
55
|
+
const chain = scope === 'external'
|
|
56
|
+
? utxolib.bitgo.getExternalChainCode(scriptType)
|
|
57
|
+
: utxolib.bitgo.getInternalChainCode(scriptType);
|
|
58
|
+
const multi = {
|
|
59
|
+
multi: [2, ...rootWalletKeys.triple.map((_, i) => expand(rootWalletKeys, i, chain))],
|
|
60
|
+
};
|
|
61
|
+
switch (scriptType) {
|
|
62
|
+
case 'p2sh':
|
|
63
|
+
return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode({ sh: multi }), 'derivable');
|
|
64
|
+
case 'p2shP2wsh':
|
|
65
|
+
return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode({ sh: { wsh: multi } }), 'derivable');
|
|
66
|
+
case 'p2wsh':
|
|
67
|
+
return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode({ wsh: multi }), 'derivable');
|
|
68
|
+
default:
|
|
69
|
+
throw new Error(`Unsupported script type ${scriptType}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function getNamedDescriptorsForRootWalletKeys(rootWalletKeys) {
|
|
73
|
+
const scriptTypes = ['p2sh', 'p2shP2wsh', 'p2wsh'];
|
|
74
|
+
const scopes = ['external', 'internal'];
|
|
75
|
+
return new Map(scriptTypes.flatMap((scriptType) => scopes.map((scope) => [`${scriptType}/${scope}`, getDescriptorForScriptType(rootWalletKeys, scriptType, scope)])));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUZpeGVkU2NyaXB0V2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvZnJvbUZpeGVkU2NyaXB0V2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLGdFQXNCQztBQUVELG9GQVFDO0FBcERELDhEQUFnRDtBQUNoRCw0REFBeUQ7QUFJekQsdUVBQXVFO0FBQ3ZFLFNBQVMsTUFBTSxDQUFDLGNBQTRDLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQjtJQUMvRixJQUFJLFFBQVEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25FLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxPQUFPLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3RELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQ3hDLGNBQTRDLEVBQzVDLFVBQTBDLEVBQzFDLEtBQThCO0lBRTlCLE1BQU0sS0FBSyxHQUNULEtBQUssS0FBSyxVQUFVO1FBQ2xCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQztRQUNoRCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxNQUFNLEtBQUssR0FBdUI7UUFDaEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ3JGLENBQUM7SUFDRixRQUFRLFVBQVUsRUFBRSxDQUFDO1FBQ25CLEtBQUssTUFBTTtZQUNULE9BQU8sNEJBQVUsQ0FBQyxVQUFVLENBQUMscUJBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMzRSxLQUFLLFdBQVc7WUFDZCxPQUFPLDRCQUFVLENBQUMsVUFBVSxDQUFDLHFCQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRixLQUFLLE9BQU87WUFDVixPQUFPLDRCQUFVLENBQUMsVUFBVSxDQUFDLHFCQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUU7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isb0NBQW9DLENBQUMsY0FBNEM7SUFDL0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBVSxDQUFDO0lBQzVELE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBVSxDQUFDO0lBQ2pELE9BQU8sSUFBSSxHQUFHLENBQ1osV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUksS0FBSyxFQUFFLEVBQUUsMEJBQTBCLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2pILENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IsIGFzdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi9EZXNjcmlwdG9yTWFwJztcblxuLyoqIEV4cGFuZCBhIHRlbXBsYXRlIHdpdGggdGhlIGdpdmVuIHJvb3Qgd2FsbGV0IGtleXMgYW5kIGNoYWluIGNvZGUgKi9cbmZ1bmN0aW9uIGV4cGFuZChyb290V2FsbGV0S2V5czogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cywga2V5SW5kZXg6IG51bWJlciwgY2hhaW5Db2RlOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAoa2V5SW5kZXggIT09IDAgJiYga2V5SW5kZXggIT09IDEgJiYga2V5SW5kZXggIT09IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IGluZGV4Jyk7XG4gIH1cbiAgY29uc3QgeHB1YiA9IHJvb3RXYWxsZXRLZXlzLnRyaXBsZVtrZXlJbmRleF0ubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuICBjb25zdCBwcmVmaXggPSByb290V2FsbGV0S2V5cy5kZXJpdmF0aW9uUHJlZml4ZXNba2V5SW5kZXhdO1xuICByZXR1cm4geHB1YiArICcvJyArIHByZWZpeCArICcvJyArIGNoYWluQ29kZSArICcvKic7XG59XG5cbi8qKlxuICogR2V0IGEgc3RhbmRhcmQgb3V0cHV0IGRlc2NyaXB0b3IgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgcHJvcHJpZXRhcnkgSEQgd2FsbGV0IHNldHVwXG4gKiB1c2VkIGluIEJpdEdvIHdhbGxldHMuXG4gKiBPbmx5IHN1cHBvcnRzIGEgc3Vic2V0IG9mIHNjcmlwdCB0eXBlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlc2NyaXB0b3JGb3JTY3JpcHRUeXBlKFxuICByb290V2FsbGV0S2V5czogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyxcbiAgc2NyaXB0VHlwZTogJ3Ayc2gnIHwgJ3Ayc2hQMndzaCcgfCAncDJ3c2gnLFxuICBzY29wZTogJ2ludGVybmFsJyB8ICdleHRlcm5hbCdcbik6IERlc2NyaXB0b3Ige1xuICBjb25zdCBjaGFpbiA9XG4gICAgc2NvcGUgPT09ICdleHRlcm5hbCdcbiAgICAgID8gdXR4b2xpYi5iaXRnby5nZXRFeHRlcm5hbENoYWluQ29kZShzY3JpcHRUeXBlKVxuICAgICAgOiB1dHhvbGliLmJpdGdvLmdldEludGVybmFsQ2hhaW5Db2RlKHNjcmlwdFR5cGUpO1xuICBjb25zdCBtdWx0aTogYXN0Lk1pbmlzY3JpcHROb2RlID0ge1xuICAgIG11bHRpOiBbMiwgLi4ucm9vdFdhbGxldEtleXMudHJpcGxlLm1hcCgoXywgaSkgPT4gZXhwYW5kKHJvb3RXYWxsZXRLZXlzLCBpLCBjaGFpbikpXSxcbiAgfTtcbiAgc3dpdGNoIChzY3JpcHRUeXBlKSB7XG4gICAgY2FzZSAncDJzaCc6XG4gICAgICByZXR1cm4gRGVzY3JpcHRvci5mcm9tU3RyaW5nKGFzdC5mb3JtYXROb2RlKHsgc2g6IG11bHRpIH0pLCAnZGVyaXZhYmxlJyk7XG4gICAgY2FzZSAncDJzaFAyd3NoJzpcbiAgICAgIHJldHVybiBEZXNjcmlwdG9yLmZyb21TdHJpbmcoYXN0LmZvcm1hdE5vZGUoeyBzaDogeyB3c2g6IG11bHRpIH0gfSksICdkZXJpdmFibGUnKTtcbiAgICBjYXNlICdwMndzaCc6XG4gICAgICByZXR1cm4gRGVzY3JpcHRvci5mcm9tU3RyaW5nKGFzdC5mb3JtYXROb2RlKHsgd3NoOiBtdWx0aSB9KSwgJ2Rlcml2YWJsZScpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHNjcmlwdCB0eXBlICR7c2NyaXB0VHlwZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yc0ZvclJvb3RXYWxsZXRLZXlzKHJvb3RXYWxsZXRLZXlzOiB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzKTogRGVzY3JpcHRvck1hcCB7XG4gIGNvbnN0IHNjcmlwdFR5cGVzID0gWydwMnNoJywgJ3Ayc2hQMndzaCcsICdwMndzaCddIGFzIGNvbnN0O1xuICBjb25zdCBzY29wZXMgPSBbJ2V4dGVybmFsJywgJ2ludGVybmFsJ10gYXMgY29uc3Q7XG4gIHJldHVybiBuZXcgTWFwKFxuICAgIHNjcmlwdFR5cGVzLmZsYXRNYXAoKHNjcmlwdFR5cGUpID0+XG4gICAgICBzY29wZXMubWFwKChzY29wZSkgPT4gW2Ake3NjcmlwdFR5cGV9LyR7c2NvcGV9YCwgZ2V0RGVzY3JpcHRvckZvclNjcmlwdFR5cGUocm9vdFdhbGxldEtleXMsIHNjcmlwdFR5cGUsIHNjb3BlKV0pXG4gICAgKVxuICApO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/utxo-core",
|
|
3
|
-
"version": "1.8.1-beta.
|
|
3
|
+
"version": "1.8.1-beta.33",
|
|
4
4
|
"description": "BitGo UTXO Core types",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@bitgo-beta/unspents": "0.13.2-beta.
|
|
55
|
-
"@bitgo-beta/utxo-lib": "8.0.3-beta.
|
|
54
|
+
"@bitgo-beta/unspents": "0.13.2-beta.916",
|
|
55
|
+
"@bitgo-beta/utxo-lib": "8.0.3-beta.917",
|
|
56
56
|
"@bitgo/wasm-miniscript": "2.0.0-beta.7",
|
|
57
57
|
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "6d8a46d33bfc22a3590b8110fcf6921be63bacb0"
|
|
60
60
|
}
|