@bitgo-beta/unspents 0.13.2-beta.9 → 0.13.2-beta.900
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/.mocharc.js +1 -1
- package/CHANGELOG.md +541 -0
- package/bin/generate_tables.ts +94 -0
- package/dist/bin/generate_tables.d.ts +2 -0
- package/dist/bin/generate_tables.d.ts.map +1 -0
- package/dist/bin/generate_tables.js +107 -0
- package/dist/{codes.d.ts → src/codes.d.ts} +11 -10
- package/dist/src/codes.d.ts.map +1 -0
- package/dist/src/codes.js +182 -0
- package/dist/{dimensions.d.ts → src/dimensions.d.ts} +10 -11
- package/dist/src/dimensions.d.ts.map +1 -0
- package/dist/src/dimensions.js +500 -0
- package/dist/{index.d.ts → src/index.d.ts} +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/{inputWeights.d.ts → src/inputWeights.d.ts} +4 -3
- package/dist/src/inputWeights.d.ts.map +1 -0
- package/dist/src/inputWeights.js +97 -0
- package/dist/{scriptSizes.d.ts → src/scriptSizes.d.ts} +1 -0
- package/dist/src/scriptSizes.d.ts.map +1 -0
- package/dist/src/scriptSizes.js +50 -0
- package/dist/{types.d.ts → src/types.d.ts} +1 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +39 -0
- package/dist/{virtualSizes.d.ts → src/virtualSizes.d.ts} +13 -12
- package/dist/src/virtualSizes.d.ts.map +1 -0
- package/dist/src/virtualSizes.js +114 -0
- package/dist/src/zcash.d.ts +9 -0
- package/dist/src/zcash.d.ts.map +1 -0
- package/dist/src/zcash.js +22 -0
- package/dist/test/chain.d.ts +2 -0
- package/dist/test/chain.d.ts.map +1 -0
- package/dist/test/chain.js +92 -0
- package/dist/test/dimensions.d.ts +2 -0
- package/dist/test/dimensions.d.ts.map +1 -0
- package/dist/test/dimensions.js +235 -0
- package/dist/test/signedTx/inputWeights.d.ts +2 -0
- package/dist/test/signedTx/inputWeights.d.ts.map +1 -0
- package/dist/test/signedTx/inputWeights.js +127 -0
- package/dist/test/signedTx/txCombinations.d.ts +3 -0
- package/dist/test/signedTx/txCombinations.d.ts.map +1 -0
- package/dist/test/signedTx/txCombinations.js +130 -0
- package/dist/test/signedTx/txGen.d.ts +74 -0
- package/dist/test/signedTx/txGen.d.ts.map +1 -0
- package/dist/test/signedTx/txGen.js +233 -0
- package/dist/test/testutils.d.ts +36 -0
- package/dist/test/testutils.d.ts.map +1 -0
- package/dist/test/testutils.js +190 -0
- package/dist/test/virtualSizes.d.ts +2 -0
- package/dist/test/virtualSizes.d.ts.map +1 -0
- package/dist/test/virtualSizes.js +18 -0
- package/dist/test/zcash.d.ts +2 -0
- package/dist/test/zcash.d.ts.map +1 -0
- package/dist/test/zcash.js +60 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/docs/input-costs.md +14 -0
- package/package.json +7 -7
- package/dist/codes.js +0 -168
- package/dist/dimensions.js +0 -490
- package/dist/index.js +0 -30
- package/dist/inputWeights.js +0 -97
- package/dist/scriptSizes.js +0 -51
- package/dist/types.js +0 -25
- package/dist/virtualSizes.js +0 -114
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
3
|
+
|
|
4
|
+
import { Dimensions } from '../src';
|
|
5
|
+
|
|
6
|
+
const headers = [
|
|
7
|
+
'Script Type',
|
|
8
|
+
'Chain Codes',
|
|
9
|
+
'Spend Type',
|
|
10
|
+
'Input Size (Virtual Bytes)',
|
|
11
|
+
'Relative Size (p2trMusig2 = 1.00)',
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
const relativeCostRef = Dimensions.fromScriptType('taprootKeyPathSpend').getInputsVSize();
|
|
15
|
+
|
|
16
|
+
type Row = [string, string, string, string, string];
|
|
17
|
+
|
|
18
|
+
function formatMarkdownTable(headers: string[], rows: string[][]): string {
|
|
19
|
+
return [headers, headers.map(() => '---'), ...rows].map((row) => `| ${row.join(' | ')} |`).join('\n');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function generateRowsForScriptType(
|
|
23
|
+
headers: string[],
|
|
24
|
+
t: utxolib.bitgo.outputScripts.ScriptType2Of3,
|
|
25
|
+
params?: {
|
|
26
|
+
spendTypeName: string;
|
|
27
|
+
scriptTypeParams: { scriptPathLevel?: number };
|
|
28
|
+
}
|
|
29
|
+
): Row[] {
|
|
30
|
+
const chainCode = utxolib.bitgo.toChainPair(t);
|
|
31
|
+
|
|
32
|
+
if (!params) {
|
|
33
|
+
if (t === 'p2tr') {
|
|
34
|
+
return [
|
|
35
|
+
...generateRowsForScriptType(headers, t, {
|
|
36
|
+
spendTypeName: 'Script Path, Level 2 (Backup/User, Backup/BitGo)',
|
|
37
|
+
scriptTypeParams: { scriptPathLevel: 2 },
|
|
38
|
+
}),
|
|
39
|
+
...generateRowsForScriptType(headers, t, {
|
|
40
|
+
spendTypeName: 'Script Path, Level 1 (User/BitGo)',
|
|
41
|
+
scriptTypeParams: { scriptPathLevel: 1 },
|
|
42
|
+
}),
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (t === 'p2trMusig2') {
|
|
47
|
+
return [
|
|
48
|
+
...generateRowsForScriptType(headers, t, {
|
|
49
|
+
spendTypeName: 'Script Path (Backup/User, Backup/BitGo)',
|
|
50
|
+
scriptTypeParams: { scriptPathLevel: 1 },
|
|
51
|
+
}),
|
|
52
|
+
...generateRowsForScriptType(headers, t, {
|
|
53
|
+
spendTypeName: 'Key Path (User/BitGo)',
|
|
54
|
+
scriptTypeParams: { scriptPathLevel: undefined },
|
|
55
|
+
}),
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const inputVSize = Dimensions.fromScriptType(t, params?.scriptTypeParams).getInputsVSize();
|
|
61
|
+
const row: Row = [
|
|
62
|
+
t,
|
|
63
|
+
chainCode.join(`/`),
|
|
64
|
+
params?.spendTypeName ?? 'all',
|
|
65
|
+
inputVSize.toString(),
|
|
66
|
+
(inputVSize / relativeCostRef).toFixed(2),
|
|
67
|
+
];
|
|
68
|
+
return [row];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function generateTables() {
|
|
72
|
+
const scriptTypes = [...utxolib.bitgo.outputScripts.scriptTypes2Of3];
|
|
73
|
+
return formatMarkdownTable(
|
|
74
|
+
headers,
|
|
75
|
+
scriptTypes.flatMap((s) => generateRowsForScriptType(headers, s))
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function generateDocument() {
|
|
80
|
+
return [
|
|
81
|
+
'# Input Costs',
|
|
82
|
+
'This document contains the worst-case input costs for various script types and spend types.',
|
|
83
|
+
'The input costs are calculated using the `Dimensions` class from `@bitgo-beta/unspents`.',
|
|
84
|
+
'',
|
|
85
|
+
generateTables(),
|
|
86
|
+
].join('\n');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (require.main === module) {
|
|
90
|
+
const outfile = 'docs/input-costs.md';
|
|
91
|
+
fs.writeFile(outfile, generateDocument())
|
|
92
|
+
.then(() => console.log('wrote to', outfile))
|
|
93
|
+
.catch((e) => console.error(e));
|
|
94
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate_tables.d.ts","sourceRoot":"","sources":["../../bin/generate_tables.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
const fs = __importStar(require("fs/promises"));
|
|
37
|
+
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
38
|
+
const src_1 = require("../src");
|
|
39
|
+
const headers = [
|
|
40
|
+
'Script Type',
|
|
41
|
+
'Chain Codes',
|
|
42
|
+
'Spend Type',
|
|
43
|
+
'Input Size (Virtual Bytes)',
|
|
44
|
+
'Relative Size (p2trMusig2 = 1.00)',
|
|
45
|
+
];
|
|
46
|
+
const relativeCostRef = src_1.Dimensions.fromScriptType('taprootKeyPathSpend').getInputsVSize();
|
|
47
|
+
function formatMarkdownTable(headers, rows) {
|
|
48
|
+
return [headers, headers.map(() => '---'), ...rows].map((row) => `| ${row.join(' | ')} |`).join('\n');
|
|
49
|
+
}
|
|
50
|
+
function generateRowsForScriptType(headers, t, params) {
|
|
51
|
+
const chainCode = utxolib.bitgo.toChainPair(t);
|
|
52
|
+
if (!params) {
|
|
53
|
+
if (t === 'p2tr') {
|
|
54
|
+
return [
|
|
55
|
+
...generateRowsForScriptType(headers, t, {
|
|
56
|
+
spendTypeName: 'Script Path, Level 2 (Backup/User, Backup/BitGo)',
|
|
57
|
+
scriptTypeParams: { scriptPathLevel: 2 },
|
|
58
|
+
}),
|
|
59
|
+
...generateRowsForScriptType(headers, t, {
|
|
60
|
+
spendTypeName: 'Script Path, Level 1 (User/BitGo)',
|
|
61
|
+
scriptTypeParams: { scriptPathLevel: 1 },
|
|
62
|
+
}),
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
if (t === 'p2trMusig2') {
|
|
66
|
+
return [
|
|
67
|
+
...generateRowsForScriptType(headers, t, {
|
|
68
|
+
spendTypeName: 'Script Path (Backup/User, Backup/BitGo)',
|
|
69
|
+
scriptTypeParams: { scriptPathLevel: 1 },
|
|
70
|
+
}),
|
|
71
|
+
...generateRowsForScriptType(headers, t, {
|
|
72
|
+
spendTypeName: 'Key Path (User/BitGo)',
|
|
73
|
+
scriptTypeParams: { scriptPathLevel: undefined },
|
|
74
|
+
}),
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const inputVSize = src_1.Dimensions.fromScriptType(t, params?.scriptTypeParams).getInputsVSize();
|
|
79
|
+
const row = [
|
|
80
|
+
t,
|
|
81
|
+
chainCode.join(`/`),
|
|
82
|
+
params?.spendTypeName ?? 'all',
|
|
83
|
+
inputVSize.toString(),
|
|
84
|
+
(inputVSize / relativeCostRef).toFixed(2),
|
|
85
|
+
];
|
|
86
|
+
return [row];
|
|
87
|
+
}
|
|
88
|
+
function generateTables() {
|
|
89
|
+
const scriptTypes = [...utxolib.bitgo.outputScripts.scriptTypes2Of3];
|
|
90
|
+
return formatMarkdownTable(headers, scriptTypes.flatMap((s) => generateRowsForScriptType(headers, s)));
|
|
91
|
+
}
|
|
92
|
+
function generateDocument() {
|
|
93
|
+
return [
|
|
94
|
+
'# Input Costs',
|
|
95
|
+
'This document contains the worst-case input costs for various script types and spend types.',
|
|
96
|
+
'The input costs are calculated using the `Dimensions` class from `@bitgo-beta/unspents`.',
|
|
97
|
+
'',
|
|
98
|
+
generateTables(),
|
|
99
|
+
].join('\n');
|
|
100
|
+
}
|
|
101
|
+
if (require.main === module) {
|
|
102
|
+
const outfile = 'docs/input-costs.md';
|
|
103
|
+
fs.writeFile(outfile, generateDocument())
|
|
104
|
+
.then(() => console.log('wrote to', outfile))
|
|
105
|
+
.catch((e) => console.error(e));
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVfdGFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL2dlbmVyYXRlX3RhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFrQztBQUNsQyw4REFBZ0Q7QUFFaEQsZ0NBQW9DO0FBRXBDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsYUFBYTtJQUNiLGFBQWE7SUFDYixZQUFZO0lBQ1osNEJBQTRCO0lBQzVCLG1DQUFtQztDQUNwQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsZ0JBQVUsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUkxRixTQUFTLG1CQUFtQixDQUFDLE9BQWlCLEVBQUUsSUFBZ0I7SUFDOUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RyxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FDaEMsT0FBaUIsRUFDakIsQ0FBNkMsRUFDN0MsTUFHQztJQUVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU87Z0JBQ0wsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUN2QyxhQUFhLEVBQUUsa0RBQWtEO29CQUNqRSxnQkFBZ0IsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUU7aUJBQ3pDLENBQUM7Z0JBQ0YsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUN2QyxhQUFhLEVBQUUsbUNBQW1DO29CQUNsRCxnQkFBZ0IsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUU7aUJBQ3pDLENBQUM7YUFDSCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU87Z0JBQ0wsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUN2QyxhQUFhLEVBQUUseUNBQXlDO29CQUN4RCxnQkFBZ0IsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUU7aUJBQ3pDLENBQUM7Z0JBQ0YsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUN2QyxhQUFhLEVBQUUsdUJBQXVCO29CQUN0QyxnQkFBZ0IsRUFBRSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUU7aUJBQ2pELENBQUM7YUFDSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxnQkFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0YsTUFBTSxHQUFHLEdBQVE7UUFDZixDQUFDO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbkIsTUFBTSxFQUFFLGFBQWEsSUFBSSxLQUFLO1FBQzlCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDckIsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUMxQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsY0FBYztJQUNyQixNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsT0FBTyxtQkFBbUIsQ0FDeEIsT0FBTyxFQUNQLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU87UUFDTCxlQUFlO1FBQ2YsNkZBQTZGO1FBQzdGLDBGQUEwRjtRQUMxRixFQUFFO1FBQ0YsY0FBYyxFQUFFO0tBQ2pCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUM1QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztJQUN0QyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IERpbWVuc2lvbnMgfSBmcm9tICcuLi9zcmMnO1xuXG5jb25zdCBoZWFkZXJzID0gW1xuICAnU2NyaXB0IFR5cGUnLFxuICAnQ2hhaW4gQ29kZXMnLFxuICAnU3BlbmQgVHlwZScsXG4gICdJbnB1dCBTaXplIChWaXJ0dWFsIEJ5dGVzKScsXG4gICdSZWxhdGl2ZSBTaXplIChwMnRyTXVzaWcyID0gMS4wMCknLFxuXTtcblxuY29uc3QgcmVsYXRpdmVDb3N0UmVmID0gRGltZW5zaW9ucy5mcm9tU2NyaXB0VHlwZSgndGFwcm9vdEtleVBhdGhTcGVuZCcpLmdldElucHV0c1ZTaXplKCk7XG5cbnR5cGUgUm93ID0gW3N0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nXTtcblxuZnVuY3Rpb24gZm9ybWF0TWFya2Rvd25UYWJsZShoZWFkZXJzOiBzdHJpbmdbXSwgcm93czogc3RyaW5nW11bXSk6IHN0cmluZyB7XG4gIHJldHVybiBbaGVhZGVycywgaGVhZGVycy5tYXAoKCkgPT4gJy0tLScpLCAuLi5yb3dzXS5tYXAoKHJvdykgPT4gYHwgJHtyb3cuam9pbignIHwgJyl9IHxgKS5qb2luKCdcXG4nKTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVSb3dzRm9yU2NyaXB0VHlwZShcbiAgaGVhZGVyczogc3RyaW5nW10sXG4gIHQ6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMyxcbiAgcGFyYW1zPzoge1xuICAgIHNwZW5kVHlwZU5hbWU6IHN0cmluZztcbiAgICBzY3JpcHRUeXBlUGFyYW1zOiB7IHNjcmlwdFBhdGhMZXZlbD86IG51bWJlciB9O1xuICB9XG4pOiBSb3dbXSB7XG4gIGNvbnN0IGNoYWluQ29kZSA9IHV0eG9saWIuYml0Z28udG9DaGFpblBhaXIodCk7XG5cbiAgaWYgKCFwYXJhbXMpIHtcbiAgICBpZiAodCA9PT0gJ3AydHInKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5nZW5lcmF0ZVJvd3NGb3JTY3JpcHRUeXBlKGhlYWRlcnMsIHQsIHtcbiAgICAgICAgICBzcGVuZFR5cGVOYW1lOiAnU2NyaXB0IFBhdGgsIExldmVsIDIgKEJhY2t1cC9Vc2VyLCBCYWNrdXAvQml0R28pJyxcbiAgICAgICAgICBzY3JpcHRUeXBlUGFyYW1zOiB7IHNjcmlwdFBhdGhMZXZlbDogMiB9LFxuICAgICAgICB9KSxcbiAgICAgICAgLi4uZ2VuZXJhdGVSb3dzRm9yU2NyaXB0VHlwZShoZWFkZXJzLCB0LCB7XG4gICAgICAgICAgc3BlbmRUeXBlTmFtZTogJ1NjcmlwdCBQYXRoLCBMZXZlbCAxIChVc2VyL0JpdEdvKScsXG4gICAgICAgICAgc2NyaXB0VHlwZVBhcmFtczogeyBzY3JpcHRQYXRoTGV2ZWw6IDEgfSxcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICh0ID09PSAncDJ0ck11c2lnMicpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmdlbmVyYXRlUm93c0ZvclNjcmlwdFR5cGUoaGVhZGVycywgdCwge1xuICAgICAgICAgIHNwZW5kVHlwZU5hbWU6ICdTY3JpcHQgUGF0aCAoQmFja3VwL1VzZXIsIEJhY2t1cC9CaXRHbyknLFxuICAgICAgICAgIHNjcmlwdFR5cGVQYXJhbXM6IHsgc2NyaXB0UGF0aExldmVsOiAxIH0sXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5nZW5lcmF0ZVJvd3NGb3JTY3JpcHRUeXBlKGhlYWRlcnMsIHQsIHtcbiAgICAgICAgICBzcGVuZFR5cGVOYW1lOiAnS2V5IFBhdGggKFVzZXIvQml0R28pJyxcbiAgICAgICAgICBzY3JpcHRUeXBlUGFyYW1zOiB7IHNjcmlwdFBhdGhMZXZlbDogdW5kZWZpbmVkIH0sXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBpbnB1dFZTaXplID0gRGltZW5zaW9ucy5mcm9tU2NyaXB0VHlwZSh0LCBwYXJhbXM/LnNjcmlwdFR5cGVQYXJhbXMpLmdldElucHV0c1ZTaXplKCk7XG4gIGNvbnN0IHJvdzogUm93ID0gW1xuICAgIHQsXG4gICAgY2hhaW5Db2RlLmpvaW4oYC9gKSxcbiAgICBwYXJhbXM/LnNwZW5kVHlwZU5hbWUgPz8gJ2FsbCcsXG4gICAgaW5wdXRWU2l6ZS50b1N0cmluZygpLFxuICAgIChpbnB1dFZTaXplIC8gcmVsYXRpdmVDb3N0UmVmKS50b0ZpeGVkKDIpLFxuICBdO1xuICByZXR1cm4gW3Jvd107XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlVGFibGVzKCkge1xuICBjb25zdCBzY3JpcHRUeXBlcyA9IFsuLi51dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuc2NyaXB0VHlwZXMyT2YzXTtcbiAgcmV0dXJuIGZvcm1hdE1hcmtkb3duVGFibGUoXG4gICAgaGVhZGVycyxcbiAgICBzY3JpcHRUeXBlcy5mbGF0TWFwKChzKSA9PiBnZW5lcmF0ZVJvd3NGb3JTY3JpcHRUeXBlKGhlYWRlcnMsIHMpKVxuICApO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZURvY3VtZW50KCkge1xuICByZXR1cm4gW1xuICAgICcjIElucHV0IENvc3RzJyxcbiAgICAnVGhpcyBkb2N1bWVudCBjb250YWlucyB0aGUgd29yc3QtY2FzZSBpbnB1dCBjb3N0cyBmb3IgdmFyaW91cyBzY3JpcHQgdHlwZXMgYW5kIHNwZW5kIHR5cGVzLicsXG4gICAgJ1RoZSBpbnB1dCBjb3N0cyBhcmUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYERpbWVuc2lvbnNgIGNsYXNzIGZyb20gYEBiaXRnby1iZXRhL3Vuc3BlbnRzYC4nLFxuICAgICcnLFxuICAgIGdlbmVyYXRlVGFibGVzKCksXG4gIF0uam9pbignXFxuJyk7XG59XG5cbmlmIChyZXF1aXJlLm1haW4gPT09IG1vZHVsZSkge1xuICBjb25zdCBvdXRmaWxlID0gJ2RvY3MvaW5wdXQtY29zdHMubWQnO1xuICBmcy53cml0ZUZpbGUob3V0ZmlsZSwgZ2VuZXJhdGVEb2N1bWVudCgpKVxuICAgIC50aGVuKCgpID0+IGNvbnNvbGUubG9nKCd3cm90ZSB0bycsIG91dGZpbGUpKVxuICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5lcnJvcihlKSk7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tcomb from 'tcomb';
|
|
2
|
-
export
|
|
2
|
+
export type ChainCode = number;
|
|
3
3
|
export declare class ErrorInvalidCode extends Error {
|
|
4
4
|
constructor(code: ChainCode);
|
|
5
5
|
}
|
|
@@ -34,6 +34,7 @@ export declare class CodesByType extends CodeGroup {
|
|
|
34
34
|
p2tr: ChainCode;
|
|
35
35
|
constructor(p: Purpose);
|
|
36
36
|
}
|
|
37
|
+
/** @deprecated - use utxolib.bitgo */
|
|
37
38
|
declare const _default: Readonly<{
|
|
38
39
|
ChainType: tcomb.Irreducible<unknown>;
|
|
39
40
|
/** @deprecated - use utxolib.bitgo */
|
|
@@ -57,23 +58,23 @@ declare const _default: Readonly<{
|
|
|
57
58
|
/** @deprecated - use utxolib.bitgo */
|
|
58
59
|
all: readonly number[];
|
|
59
60
|
/** @deprecated - use utxolib.bitgo */
|
|
60
|
-
isP2sh: (code:
|
|
61
|
+
isP2sh: (code: ChainCode) => boolean;
|
|
61
62
|
/** @deprecated - use utxolib.bitgo */
|
|
62
|
-
isP2shP2wsh: (code:
|
|
63
|
+
isP2shP2wsh: (code: ChainCode) => boolean;
|
|
63
64
|
/** @deprecated - use utxolib.bitgo */
|
|
64
|
-
isP2wsh: (code:
|
|
65
|
+
isP2wsh: (code: ChainCode) => boolean;
|
|
65
66
|
/** @deprecated - use utxolib.bitgo */
|
|
66
|
-
isP2tr: (code:
|
|
67
|
+
isP2tr: (code: ChainCode) => boolean;
|
|
67
68
|
/** @deprecated - use utxolib.bitgo */
|
|
68
|
-
isExternal: (code:
|
|
69
|
+
isExternal: (code: ChainCode) => boolean;
|
|
69
70
|
/** @deprecated - use utxolib.bitgo */
|
|
70
|
-
isInternal: (code:
|
|
71
|
+
isInternal: (code: ChainCode) => boolean;
|
|
71
72
|
/** @deprecated - use utxolib.bitgo */
|
|
72
|
-
isValid: (c:
|
|
73
|
+
isValid: (c: ChainCode) => boolean;
|
|
73
74
|
/** @deprecated - use utxolib.bitgo */
|
|
74
75
|
forType: (u: UnspentType) => CodesByPurpose;
|
|
75
76
|
/** @deprecated - use utxolib.bitgo */
|
|
76
|
-
typeForCode: (c:
|
|
77
|
+
typeForCode: (c: ChainCode) => UnspentType;
|
|
77
78
|
}>;
|
|
78
|
-
/** @deprecated - use utxolib.bitgo */
|
|
79
79
|
export default _default;
|
|
80
|
+
//# sourceMappingURL=codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/codes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,IAAI,EAAE,SAAS;CAG5B;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAID,oBAAY,OAAO;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AA0BD,eAAO,MAAM,SAAS,4BAAoD,CAAC;AAmB3E,eAAO,MAAM,OAAO,MAAO,SAAS,KAAG,OAA8C,CAAC;AAStF,qBAAa,SAAS;IACb,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC5B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;IAIhC,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;CAMrC;AAED,qBAAa,cAAe,SAAQ,SAAS;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;gBAEf,CAAC,EAAE,WAAW;CAa3B;AAED,qBAAa,WAAY,SAAQ,SAAS;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;gBAEX,CAAC,EAAE,OAAO;CAevB;AAYD,sCAAsC;;;IAIpC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;;IAEtC,sCAAsC;mBApFrB,SAAS,KAAG,OAAO;IAsFpC,sCAAsC;wBAtFrB,SAAS,KAAG,OAAO;IAwFpC,sCAAsC;oBAxFrB,SAAS,KAAG,OAAO;IA0FpC,sCAAsC;mBA1FrB,SAAS,KAAG,OAAO;IA4FpC,sCAAsC;uBA5FrB,SAAS,KAAG,OAAO;IA8FpC,sCAAsC;uBA9FrB,SAAS,KAAG,OAAO;IAgGpC,sCAAsC;iBA/Gb,SAAS,KAAG,OAAO;IAiH5C,sCAAsC;iBAlIpB,WAAW,KAAG,cAAc;IAoI9C,sCAAsC;qBA3HhB,SAAS,KAAG,WAAW;;AAoF/C,wBAyCG"}
|
|
@@ -0,0 +1,182 @@
|
|
|
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.CodesByType = exports.CodesByPurpose = exports.CodeGroup = exports.isValid = exports.ChainType = exports.Purpose = exports.UnspentType = exports.ErrorInvalidCode = void 0;
|
|
37
|
+
const tcomb = __importStar(require("tcomb"));
|
|
38
|
+
class ErrorInvalidCode extends Error {
|
|
39
|
+
constructor(code) {
|
|
40
|
+
super(`invalid code ${code}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.ErrorInvalidCode = ErrorInvalidCode;
|
|
44
|
+
var UnspentType;
|
|
45
|
+
(function (UnspentType) {
|
|
46
|
+
UnspentType["p2pkh"] = "p2pkh";
|
|
47
|
+
UnspentType["p2sh"] = "p2sh";
|
|
48
|
+
UnspentType["p2shP2wsh"] = "p2shP2wsh";
|
|
49
|
+
UnspentType["p2wpkh"] = "p2wpkh";
|
|
50
|
+
UnspentType["p2wsh"] = "p2wsh";
|
|
51
|
+
UnspentType["p2tr"] = "p2tr";
|
|
52
|
+
})(UnspentType || (exports.UnspentType = UnspentType = {}));
|
|
53
|
+
const UnspentTypeTcomb = tcomb.enums.of(Object.keys(UnspentType));
|
|
54
|
+
var Purpose;
|
|
55
|
+
(function (Purpose) {
|
|
56
|
+
Purpose["internal"] = "internal";
|
|
57
|
+
Purpose["external"] = "external";
|
|
58
|
+
})(Purpose || (exports.Purpose = Purpose = {}));
|
|
59
|
+
const PurposeTcomb = tcomb.enums.of(Object.keys(Purpose));
|
|
60
|
+
const codeList = Object.freeze([
|
|
61
|
+
[0, UnspentType.p2sh, Purpose.external],
|
|
62
|
+
[10, UnspentType.p2shP2wsh, Purpose.external],
|
|
63
|
+
[20, UnspentType.p2wsh, Purpose.external],
|
|
64
|
+
[30, UnspentType.p2tr, Purpose.external],
|
|
65
|
+
[1, UnspentType.p2sh, Purpose.internal],
|
|
66
|
+
[11, UnspentType.p2shP2wsh, Purpose.internal],
|
|
67
|
+
[21, UnspentType.p2wsh, Purpose.internal],
|
|
68
|
+
[31, UnspentType.p2tr, Purpose.internal],
|
|
69
|
+
].map(([id, type, purpose]) => Object.freeze({ id, type, purpose })));
|
|
70
|
+
exports.ChainType = tcomb.irreducible('ChainType', (n) => (0, exports.isValid)(n));
|
|
71
|
+
const forType = (u) => {
|
|
72
|
+
// Do tcomb type checking in js projects that use this lib
|
|
73
|
+
if (!UnspentTypeTcomb.is(u)) {
|
|
74
|
+
throw new Error(`invalid unspent type: ${u}`);
|
|
75
|
+
}
|
|
76
|
+
return new CodesByPurpose(u);
|
|
77
|
+
};
|
|
78
|
+
const typeForCode = (c) => {
|
|
79
|
+
const code = codeList.find(({ id }) => id === c);
|
|
80
|
+
if (!code) {
|
|
81
|
+
throw new ErrorInvalidCode(c);
|
|
82
|
+
}
|
|
83
|
+
return code.type;
|
|
84
|
+
};
|
|
85
|
+
const isValid = (c) => codeList.some(({ id }) => id === c);
|
|
86
|
+
exports.isValid = isValid;
|
|
87
|
+
const throwIfUndefined = (v) => {
|
|
88
|
+
if (v === undefined) {
|
|
89
|
+
throw new Error(`expected value to be defined`);
|
|
90
|
+
}
|
|
91
|
+
return v;
|
|
92
|
+
};
|
|
93
|
+
class CodeGroup {
|
|
94
|
+
constructor(values) {
|
|
95
|
+
this.values = Object.freeze([...values]);
|
|
96
|
+
}
|
|
97
|
+
has(code) {
|
|
98
|
+
if (!(0, exports.isValid)(code)) {
|
|
99
|
+
throw new ErrorInvalidCode(code);
|
|
100
|
+
}
|
|
101
|
+
return this.values.includes(code);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.CodeGroup = CodeGroup;
|
|
105
|
+
class CodesByPurpose extends CodeGroup {
|
|
106
|
+
constructor(t) {
|
|
107
|
+
const codeMap = new Map(codeList.filter(({ type }) => type === t).map(({ purpose, id }) => [purpose, id]));
|
|
108
|
+
if (codeMap.size !== 2) {
|
|
109
|
+
throw new Error(`unexpected number of codes for type ${t}`);
|
|
110
|
+
}
|
|
111
|
+
super(codeMap.values());
|
|
112
|
+
this.internal = throwIfUndefined(codeMap.get(Purpose.internal));
|
|
113
|
+
this.external = throwIfUndefined(codeMap.get(Purpose.external));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.CodesByPurpose = CodesByPurpose;
|
|
117
|
+
class CodesByType extends CodeGroup {
|
|
118
|
+
constructor(p) {
|
|
119
|
+
const codeMap = new Map(codeList.filter(({ purpose }) => purpose === p).map(({ type, id }) => [type, id]));
|
|
120
|
+
if (codeMap.size !== 4) {
|
|
121
|
+
throw new Error(`unexpected number of codes`);
|
|
122
|
+
}
|
|
123
|
+
super(codeMap.values());
|
|
124
|
+
this.p2sh = throwIfUndefined(codeMap.get(UnspentType.p2sh));
|
|
125
|
+
this.p2shP2wsh = throwIfUndefined(codeMap.get(UnspentType.p2shP2wsh));
|
|
126
|
+
this.p2wsh = throwIfUndefined(codeMap.get(UnspentType.p2wsh));
|
|
127
|
+
this.p2tr = throwIfUndefined(codeMap.get(UnspentType.p2tr));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.CodesByType = CodesByType;
|
|
131
|
+
const boundHas = (instance) => instance.has.bind(instance);
|
|
132
|
+
const p2sh = Object.freeze(new CodesByPurpose(UnspentType.p2sh));
|
|
133
|
+
const p2shP2wsh = Object.freeze(new CodesByPurpose(UnspentType.p2shP2wsh));
|
|
134
|
+
const p2wsh = Object.freeze(new CodesByPurpose(UnspentType.p2wsh));
|
|
135
|
+
const p2tr = Object.freeze(new CodesByPurpose(UnspentType.p2tr));
|
|
136
|
+
const external = Object.freeze(new CodesByType(Purpose.external));
|
|
137
|
+
const internal = Object.freeze(new CodesByType(Purpose.internal));
|
|
138
|
+
const all = Object.freeze(codeList.map(({ id }) => id));
|
|
139
|
+
/** @deprecated - use utxolib.bitgo */
|
|
140
|
+
exports.default = Object.freeze({
|
|
141
|
+
/* @deprecated: use ChainCodeTcomb */
|
|
142
|
+
ChainType: exports.ChainType,
|
|
143
|
+
/** @deprecated - use utxolib.bitgo */
|
|
144
|
+
ChainCodeTcomb: exports.ChainType,
|
|
145
|
+
/** @deprecated - use utxolib.bitgo */
|
|
146
|
+
PurposeTcomb,
|
|
147
|
+
/** @deprecated - use utxolib.bitgo */
|
|
148
|
+
UnspentTypeTcomb,
|
|
149
|
+
/** @deprecated - use utxolib.bitgo */
|
|
150
|
+
p2sh,
|
|
151
|
+
/** @deprecated - use utxolib.bitgo */
|
|
152
|
+
p2shP2wsh,
|
|
153
|
+
/** @deprecated - use utxolib.bitgo */
|
|
154
|
+
p2wsh,
|
|
155
|
+
/** @deprecated - use utxolib.bitgo */
|
|
156
|
+
p2tr,
|
|
157
|
+
/** @deprecated - use utxolib.bitgo */
|
|
158
|
+
external,
|
|
159
|
+
/** @deprecated - use utxolib.bitgo */
|
|
160
|
+
internal,
|
|
161
|
+
/** @deprecated - use utxolib.bitgo */
|
|
162
|
+
all,
|
|
163
|
+
/** @deprecated - use utxolib.bitgo */
|
|
164
|
+
isP2sh: boundHas(p2sh),
|
|
165
|
+
/** @deprecated - use utxolib.bitgo */
|
|
166
|
+
isP2shP2wsh: boundHas(p2shP2wsh),
|
|
167
|
+
/** @deprecated - use utxolib.bitgo */
|
|
168
|
+
isP2wsh: boundHas(p2wsh),
|
|
169
|
+
/** @deprecated - use utxolib.bitgo */
|
|
170
|
+
isP2tr: boundHas(p2tr),
|
|
171
|
+
/** @deprecated - use utxolib.bitgo */
|
|
172
|
+
isExternal: boundHas(external),
|
|
173
|
+
/** @deprecated - use utxolib.bitgo */
|
|
174
|
+
isInternal: boundHas(internal),
|
|
175
|
+
/** @deprecated - use utxolib.bitgo */
|
|
176
|
+
isValid: exports.isValid,
|
|
177
|
+
/** @deprecated - use utxolib.bitgo */
|
|
178
|
+
forType,
|
|
179
|
+
/** @deprecated - use utxolib.bitgo */
|
|
180
|
+
typeForCode,
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBSS9CLE1BQWEsZ0JBQWlCLFNBQVEsS0FBSztJQUN6QyxZQUFZLElBQWU7UUFDekIsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQUpELDRDQUlDO0FBRUQsSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0lBQ2Isc0NBQXVCLENBQUE7SUFDdkIsZ0NBQWlCLENBQUE7SUFDakIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsV0FBVywyQkFBWCxXQUFXLFFBT3RCO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFFbEUsSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLGdDQUFxQixDQUFBO0lBQ3JCLGdDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxPQUFPLHVCQUFQLE9BQU8sUUFHbEI7QUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFRMUQsTUFBTSxRQUFRLEdBQW1DLE1BQU0sQ0FBQyxNQUFNLENBRTFEO0lBQ0UsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDLEVBQUUs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LHNDQUFzQztJQUN0QyxPQUFPLEVBQVAsZUFBTztJQUNQLHNDQUFzQztJQUN0QyxPQUFPO0lBQ1Asc0NBQXNDO0lBQ3RDLFdBQVc7Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0Y29tYiBmcm9tICd0Y29tYic7XG5cbmV4cG9ydCB0eXBlIENoYWluQ29kZSA9IG51bWJlcjtcblxuZXhwb3J0IGNsYXNzIEVycm9ySW52YWxpZENvZGUgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGNvZGU6IENoYWluQ29kZSkge1xuICAgIHN1cGVyKGBpbnZhbGlkIGNvZGUgJHtjb2RlfWApO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFVuc3BlbnRUeXBlIHtcbiAgcDJwa2ggPSAncDJwa2gnLFxuICBwMnNoID0gJ3Ayc2gnLFxuICBwMnNoUDJ3c2ggPSAncDJzaFAyd3NoJyxcbiAgcDJ3cGtoID0gJ3Ayd3BraCcsXG4gIHAyd3NoID0gJ3Ayd3NoJyxcbiAgcDJ0ciA9ICdwMnRyJyxcbn1cblxuY29uc3QgVW5zcGVudFR5cGVUY29tYiA9IHRjb21iLmVudW1zLm9mKE9iamVjdC5rZXlzKFVuc3BlbnRUeXBlKSk7XG5cbmV4cG9ydCBlbnVtIFB1cnBvc2Uge1xuICBpbnRlcm5hbCA9ICdpbnRlcm5hbCcsXG4gIGV4dGVybmFsID0gJ2V4dGVybmFsJyxcbn1cblxuY29uc3QgUHVycG9zZVRjb21iID0gdGNvbWIuZW51bXMub2YoT2JqZWN0LmtleXMoUHVycG9zZSkpO1xuXG5pbnRlcmZhY2UgSUNvZGUge1xuICBpZDogQ2hhaW5Db2RlO1xuICB0eXBlOiBVbnNwZW50VHlwZTtcbiAgcHVycG9zZTogUHVycG9zZTtcbn1cblxuY29uc3QgY29kZUxpc3Q6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHk8SUNvZGU+PiA9IE9iamVjdC5mcmVlemUoXG4gIChcbiAgICBbXG4gICAgICBbMCwgVW5zcGVudFR5cGUucDJzaCwgUHVycG9zZS5leHRlcm5hbF0sXG4gICAgICBbMTAsIFVuc3BlbnRUeXBlLnAyc2hQMndzaCwgUHVycG9zZS5leHRlcm5hbF0sXG4gICAgICBbMjAsIFVuc3BlbnRUeXBlLnAyd3NoLCBQdXJwb3NlLmV4dGVybmFsXSxcbiAgICAgIFszMCwgVW5zcGVudFR5cGUucDJ0ciwgUHVycG9zZS5leHRlcm5hbF0sXG5cbiAgICAgIFsxLCBVbnNwZW50VHlwZS5wMnNoLCBQdXJwb3NlLmludGVybmFsXSxcbiAgICAgIFsxMSwgVW5zcGVudFR5cGUucDJzaFAyd3NoLCBQdXJwb3NlLmludGVybmFsXSxcbiAgICAgIFsyMSwgVW5zcGVudFR5cGUucDJ3c2gsIFB1cnBvc2UuaW50ZXJuYWxdLFxuICAgICAgWzMxLCBVbnNwZW50VHlwZS5wMnRyLCBQdXJwb3NlLmludGVybmFsXSxcbiAgICBdIGFzIEFycmF5PFtDaGFpbkNvZGUsIFVuc3BlbnRUeXBlLCBQdXJwb3NlXT5cbiAgKS5tYXAoKFtpZCwgdHlwZSwgcHVycG9zZV0pID0+IE9iamVjdC5mcmVlemUoeyBpZCwgdHlwZSwgcHVycG9zZSB9KSlcbik7XG5cbmV4cG9ydCBjb25zdCBDaGFpblR5cGUgPSB0Y29tYi5pcnJlZHVjaWJsZSgnQ2hhaW5UeXBlJywgKG4pID0+IGlzVmFsaWQobikpO1xuXG5jb25zdCBmb3JUeXBlID0gKHU6IFVuc3BlbnRUeXBlKTogQ29kZXNCeVB1cnBvc2UgPT4ge1xuICAvLyBEbyB0Y29tYiB0eXBlIGNoZWNraW5nIGluIGpzIHByb2plY3RzIHRoYXQgdXNlIHRoaXMgbGliXG4gIGlmICghVW5zcGVudFR5cGVUY29tYi5pcyh1KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB1bnNwZW50IHR5cGU6ICR7dX1gKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgQ29kZXNCeVB1cnBvc2UodSk7XG59O1xuXG5jb25zdCB0eXBlRm9yQ29kZSA9IChjOiBDaGFpbkNvZGUpOiBVbnNwZW50VHlwZSA9PiB7XG4gIGNvbnN0IGNvZGUgPSBjb2RlTGlzdC5maW5kKCh7IGlkIH0pID0+IGlkID09PSBjKTtcbiAgaWYgKCFjb2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9ySW52YWxpZENvZGUoYyk7XG4gIH1cbiAgcmV0dXJuIGNvZGUudHlwZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKGM6IENoYWluQ29kZSk6IGJvb2xlYW4gPT4gY29kZUxpc3Quc29tZSgoeyBpZCB9KSA9PiBpZCA9PT0gYyk7XG5cbmNvbnN0IHRocm93SWZVbmRlZmluZWQgPSA8VD4odjogVCB8IHVuZGVmaW5lZCk6IFQgPT4ge1xuICBpZiAodiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCB2YWx1ZSB0byBiZSBkZWZpbmVkYCk7XG4gIH1cbiAgcmV0dXJuIHY7XG59O1xuXG5leHBvcnQgY2xhc3MgQ29kZUdyb3VwIHtcbiAgcHVibGljIHZhbHVlczogUmVhZG9ubHlBcnJheTxDaGFpbkNvZGU+O1xuICBjb25zdHJ1Y3Rvcih2YWx1ZXM6IEl0ZXJhYmxlPENoYWluQ29kZT4pIHtcbiAgICB0aGlzLnZhbHVlcyA9IE9iamVjdC5mcmVlemUoWy4uLnZhbHVlc10pO1xuICB9XG5cbiAgcHVibGljIGhhcyhjb2RlOiBDaGFpbkNvZGUpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzVmFsaWQoY29kZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvckludmFsaWRDb2RlKGNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuaW5jbHVkZXMoY29kZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvZGVzQnlQdXJwb3NlIGV4dGVuZHMgQ29kZUdyb3VwIHtcbiAgcHVibGljIGludGVybmFsOiBDaGFpbkNvZGU7XG4gIHB1YmxpYyBleHRlcm5hbDogQ2hhaW5Db2RlO1xuXG4gIGNvbnN0cnVjdG9yKHQ6IFVuc3BlbnRUeXBlKSB7XG4gICAgY29uc3QgY29kZU1hcDogTWFwPFB1cnBvc2UsIENoYWluQ29kZT4gPSBuZXcgTWFwKFxuICAgICAgY29kZUxpc3QuZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gdCkubWFwKCh7IHB1cnBvc2UsIGlkIH0pOiBbUHVycG9zZSwgQ2hhaW5Db2RlXSA9PiBbcHVycG9zZSwgaWRdKVxuICAgICk7XG4gICAgaWYgKGNvZGVNYXAuc2l6ZSAhPT0gMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIG51bWJlciBvZiBjb2RlcyBmb3IgdHlwZSAke3R9YCk7XG4gICAgfVxuXG4gICAgc3VwZXIoY29kZU1hcC52YWx1ZXMoKSk7XG5cbiAgICB0aGlzLmludGVybmFsID0gdGhyb3dJZlVuZGVmaW5lZChjb2RlTWFwLmdldChQdXJwb3NlLmludGVybmFsKSk7XG4gICAgdGhpcy5leHRlcm5hbCA9IHRocm93SWZVbmRlZmluZWQoY29kZU1hcC5nZXQoUHVycG9zZS5leHRlcm5hbCkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb2Rlc0J5VHlwZSBleHRlbmRzIENvZGVHcm91cCB7XG4gIHB1YmxpYyBwMnNoOiBDaGFpbkNvZGU7XG4gIHB1YmxpYyBwMnNoUDJ3c2g6IENoYWluQ29kZTtcbiAgcHVibGljIHAyd3NoOiBDaGFpbkNvZGU7XG4gIHB1YmxpYyBwMnRyOiBDaGFpbkNvZGU7XG5cbiAgY29uc3RydWN0b3IocDogUHVycG9zZSkge1xuICAgIGNvbnN0IGNvZGVNYXA6IE1hcDxVbnNwZW50VHlwZSwgQ2hhaW5Db2RlPiA9IG5ldyBNYXAoXG4gICAgICBjb2RlTGlzdC5maWx0ZXIoKHsgcHVycG9zZSB9KSA9PiBwdXJwb3NlID09PSBwKS5tYXAoKHsgdHlwZSwgaWQgfSk6IFtVbnNwZW50VHlwZSwgQ2hhaW5Db2RlXSA9PiBbdHlwZSwgaWRdKVxuICAgICk7XG4gICAgaWYgKGNvZGVNYXAuc2l6ZSAhPT0gNCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIG51bWJlciBvZiBjb2Rlc2ApO1xuICAgIH1cblxuICAgIHN1cGVyKGNvZGVNYXAudmFsdWVzKCkpO1xuXG4gICAgdGhpcy5wMnNoID0gdGhyb3dJZlVuZGVmaW5lZChjb2RlTWFwLmdldChVbnNwZW50VHlwZS5wMnNoKSk7XG4gICAgdGhpcy5wMnNoUDJ3c2ggPSB0aHJvd0lmVW5kZWZpbmVkKGNvZGVNYXAuZ2V0KFVuc3BlbnRUeXBlLnAyc2hQMndzaCkpO1xuICAgIHRoaXMucDJ3c2ggPSB0aHJvd0lmVW5kZWZpbmVkKGNvZGVNYXAuZ2V0KFVuc3BlbnRUeXBlLnAyd3NoKSk7XG4gICAgdGhpcy5wMnRyID0gdGhyb3dJZlVuZGVmaW5lZChjb2RlTWFwLmdldChVbnNwZW50VHlwZS5wMnRyKSk7XG4gIH1cbn1cblxuY29uc3QgYm91bmRIYXMgPSAoaW5zdGFuY2U6IENvZGVHcm91cCkgPT4gaW5zdGFuY2UuaGFzLmJpbmQoaW5zdGFuY2UpO1xuXG5jb25zdCBwMnNoID0gT2JqZWN0LmZyZWV6ZShuZXcgQ29kZXNCeVB1cnBvc2UoVW5zcGVudFR5cGUucDJzaCkpO1xuY29uc3QgcDJzaFAyd3NoID0gT2JqZWN0LmZyZWV6ZShuZXcgQ29kZXNCeVB1cnBvc2UoVW5zcGVudFR5cGUucDJzaFAyd3NoKSk7XG5jb25zdCBwMndzaCA9IE9iamVjdC5mcmVlemUobmV3IENvZGVzQnlQdXJwb3NlKFVuc3BlbnRUeXBlLnAyd3NoKSk7XG5jb25zdCBwMnRyID0gT2JqZWN0LmZyZWV6ZShuZXcgQ29kZXNCeVB1cnBvc2UoVW5zcGVudFR5cGUucDJ0cikpO1xuY29uc3QgZXh0ZXJuYWwgPSBPYmplY3QuZnJlZXplKG5ldyBDb2Rlc0J5VHlwZShQdXJwb3NlLmV4dGVybmFsKSk7XG5jb25zdCBpbnRlcm5hbCA9IE9iamVjdC5mcmVlemUobmV3IENvZGVzQnlUeXBlKFB1cnBvc2UuaW50ZXJuYWwpKTtcbmNvbnN0IGFsbCA9IE9iamVjdC5mcmVlemUoY29kZUxpc3QubWFwKCh7IGlkIH0pID0+IGlkKSk7XG5cbi8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZnJlZXplKHtcbiAgLyogQGRlcHJlY2F0ZWQ6IHVzZSBDaGFpbkNvZGVUY29tYiAqL1xuICBDaGFpblR5cGUsXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIENoYWluQ29kZVRjb21iOiBDaGFpblR5cGUsXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIFB1cnBvc2VUY29tYixcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgVW5zcGVudFR5cGVUY29tYixcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgcDJzaCxcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgcDJzaFAyd3NoLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICBwMndzaCxcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgcDJ0cixcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgZXh0ZXJuYWwsXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIGludGVybmFsLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICBhbGwsXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIGlzUDJzaDogYm91bmRIYXMocDJzaCksXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIGlzUDJzaFAyd3NoOiBib3VuZEhhcyhwMnNoUDJ3c2gpLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICBpc1Ayd3NoOiBib3VuZEhhcyhwMndzaCksXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIGlzUDJ0cjogYm91bmRIYXMocDJ0ciksXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSB1dHhvbGliLmJpdGdvICovXG4gIGlzRXh0ZXJuYWw6IGJvdW5kSGFzKGV4dGVybmFsKSxcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIHV0eG9saWIuYml0Z28gKi9cbiAgaXNJbnRlcm5hbDogYm91bmRIYXMoaW50ZXJuYWwpLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICBpc1ZhbGlkLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICBmb3JUeXBlLFxuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgdXR4b2xpYi5iaXRnbyAqL1xuICB0eXBlRm9yQ29kZSxcbn0pO1xuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
3
2
|
import { bitgo } from '@bitgo-beta/utxo-lib';
|
|
4
|
-
|
|
3
|
+
type ChainCode = bitgo.ChainCode;
|
|
5
4
|
import { VirtualSizes } from './virtualSizes';
|
|
6
5
|
export { VirtualSizes };
|
|
7
6
|
/**
|
|
@@ -119,10 +118,9 @@ export declare class Dimensions {
|
|
|
119
118
|
static fromInput(input: utxolib.TxInput, params?: FromInputParams): Dimensions;
|
|
120
119
|
/**
|
|
121
120
|
* Create Dimensions from psbt input
|
|
122
|
-
* @param
|
|
123
|
-
* @param inputIndex - psbt input index
|
|
121
|
+
* @param input - psbt input
|
|
124
122
|
*/
|
|
125
|
-
static fromPsbtInput(
|
|
123
|
+
static fromPsbtInput(input: bitgo.PsbtInputType): Dimensions;
|
|
126
124
|
/**
|
|
127
125
|
* @param inputs - Array of inputs
|
|
128
126
|
* @param params - @see Dimensions.fromInput()
|
|
@@ -131,11 +129,10 @@ export declare class Dimensions {
|
|
|
131
129
|
static fromInputs(inputs: utxolib.TxInput[], params?: FromInputParams): Dimensions;
|
|
132
130
|
/**
|
|
133
131
|
* Create Dimensions from multiple psbt inputs
|
|
134
|
-
* @param psbt
|
|
135
|
-
* @
|
|
136
|
-
* @return {Dimensions} sum of the dimensions for each input (@see Dimensions.fromInput())
|
|
132
|
+
* @param inputs psbt input array
|
|
133
|
+
* @return {Dimensions} sum of the dimensions for each input (@see Dimensions.fromPsbtInput())
|
|
137
134
|
*/
|
|
138
|
-
static fromPsbtInputs(
|
|
135
|
+
static fromPsbtInputs(inputs: bitgo.PsbtInputType[]): Dimensions;
|
|
139
136
|
/**
|
|
140
137
|
* @param scriptLength {number} - size of the output script in bytes
|
|
141
138
|
* @return {Dimensions} - Dimensions of the output
|
|
@@ -166,7 +163,7 @@ export declare class Dimensions {
|
|
|
166
163
|
/**
|
|
167
164
|
* Return dimensions of an unspent according to `chain` parameter
|
|
168
165
|
* @param chain - Chain code as defined by utxo.chain
|
|
169
|
-
* @param params - Hint for unspents with variable input sizes (p2tr)
|
|
166
|
+
* @param params - Hint for unspents with variable input sizes (p2tr, p2trMusig2)
|
|
170
167
|
* @return {Dimensions} of the unspent
|
|
171
168
|
* @throws if the chain code is invalid or unsupported
|
|
172
169
|
*/
|
|
@@ -175,11 +172,12 @@ export declare class Dimensions {
|
|
|
175
172
|
}, params?: FromUnspentParams): Dimensions;
|
|
176
173
|
/**
|
|
177
174
|
* @param unspents
|
|
175
|
+
* @param params - Hint for unspents with variable input sizes (p2tr, p2trMusig2)
|
|
178
176
|
* @return {Dimensions} sum of the dimensions for each unspent (@see Dimensions.fromUnspent())
|
|
179
177
|
*/
|
|
180
178
|
static fromUnspents(unspents: {
|
|
181
179
|
chain: ChainCode;
|
|
182
|
-
}[]): Dimensions;
|
|
180
|
+
}[], params?: FromUnspentParams): Dimensions;
|
|
183
181
|
/**
|
|
184
182
|
* @param transaction - bitcoin-like transaction
|
|
185
183
|
* @param [param.assumeUnsigned] - default type for unsigned inputs
|
|
@@ -234,3 +232,4 @@ export declare class Dimensions {
|
|
|
234
232
|
*/
|
|
235
233
|
getVSize(): number;
|
|
236
234
|
}
|
|
235
|
+
//# sourceMappingURL=dimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../src/dimensions.ts"],"names":[],"mappings":"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"}
|