@bitgo/utxo-staking 1.3.5 → 1.6.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/.eslintignore +1 -1
- package/.eslintrc.js +7 -0
- package/CHANGELOG.md +25 -0
- package/dist/src/babylon/descriptor.d.ts +19 -0
- package/dist/src/babylon/descriptor.d.ts.map +1 -0
- package/dist/src/babylon/descriptor.js +65 -0
- package/dist/src/babylon/index.d.ts +3 -0
- package/dist/src/babylon/index.d.ts.map +1 -0
- package/dist/src/babylon/index.js +19 -0
- package/dist/src/babylon/testnet.d.ts +24 -0
- package/dist/src/babylon/testnet.d.ts.map +1 -0
- package/dist/src/babylon/testnet.js +39 -0
- package/dist/src/coreDao/descriptor.d.ts +4 -2
- package/dist/src/coreDao/descriptor.d.ts.map +1 -1
- package/dist/src/coreDao/descriptor.js +11 -3
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -3
- package/dist/src/transaction.js +35 -2
- package/package.json +11 -7
- package/.mocharc.yml +0 -8
package/.eslintignore
CHANGED
package/.eslintrc.js
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.5.0...@bitgo/utxo-staking@1.6.0) (2025-02-19)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **utxo-staking:** add testnet params and descriptor builder for Babylon ([b0764bb](https://github.com/BitGo/BitGoJS/commit/b0764bb644ad2313ac19ddd4210f340fbf9b60f1))
|
|
11
|
+
- **utxo-staking:** add vendored btc-staking-ts 0.4.0-rc.2 ([607fd3e](https://github.com/BitGo/BitGoJS/commit/607fd3eaea6508668ae42dbe9c5d2444d12ec245))
|
|
12
|
+
- **utxo-staking:** enable import ordering rule ([0f8b127](https://github.com/BitGo/BitGoJS/commit/0f8b1273a6e5683610a7131de828d6e21a5a4bc4))
|
|
13
|
+
- **utxo-staking:** export babylon staking module ([4e86a2c](https://github.com/BitGo/BitGoJS/commit/4e86a2c06fe68a5592aa937399a0e5aa6648e24e))
|
|
14
|
+
- **utxo-staking:** migrate test utils to utxo-core ([4395971](https://github.com/BitGo/BitGoJS/commit/4395971fcc21afaf55727f6badb26335c91cde19))
|
|
15
|
+
- **utxo-staking:** simplify mocha config and test scripts ([44b3d7c](https://github.com/BitGo/BitGoJS/commit/44b3d7c0ae0cc1d0c4b49f5fcbeabc21cfb7effa))
|
|
16
|
+
- **utxo-staking:** use miniscript AST for descriptor creation ([bc0fb09](https://github.com/BitGo/BitGoJS/commit/bc0fb096ce29dae1e6cde984f3d54f9a292d4996))
|
|
17
|
+
- **utxo-staking:** use TapTreeNode type for Babylon descriptor ([79f9c5c](https://github.com/BitGo/BitGoJS/commit/79f9c5c8e8650b494ec1afa2fa215328d3d1facb))
|
|
18
|
+
|
|
19
|
+
# [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.5...@bitgo/utxo-staking@1.5.0) (2024-12-17)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- **utxo-staking:** add support for wsh script type ([c3632a4](https://github.com/BitGo/BitGoJS/commit/c3632a456a92953ee52340c79740bcd9e6f66215))
|
|
24
|
+
|
|
25
|
+
# [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.5...@bitgo/utxo-staking@1.4.0) (2024-12-17)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
- **utxo-staking:** add support for wsh script type ([c3632a4](https://github.com/BitGo/BitGoJS/commit/c3632a456a92953ee52340c79740bcd9e6f66215))
|
|
30
|
+
|
|
6
31
|
## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.4...@bitgo/utxo-staking@1.3.5) (2024-12-12)
|
|
7
32
|
|
|
8
33
|
**Note:** Version bump only for package @bitgo/utxo-staking
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Descriptor, ast } from '@bitgo/wasm-miniscript';
|
|
2
|
+
export declare function getUnspendableKey(): string;
|
|
3
|
+
export declare class BabylonDescriptorBuilder {
|
|
4
|
+
stakerKey: Buffer;
|
|
5
|
+
finalityProviderKeys: Buffer[];
|
|
6
|
+
covenantKeys: Buffer[];
|
|
7
|
+
covenantThreshold: number;
|
|
8
|
+
stakingTimeLock: number;
|
|
9
|
+
unbondingTimeLock: number;
|
|
10
|
+
constructor(stakerKey: Buffer, finalityProviderKeys: Buffer[], covenantKeys: Buffer[], covenantThreshold: number, stakingTimeLock: number, unbondingTimeLock: number);
|
|
11
|
+
getTimelockMiniscript(): ast.MiniscriptNode;
|
|
12
|
+
getUnbondingMiniscript(): ast.MiniscriptNode;
|
|
13
|
+
getSlashingMiniscript(): ast.MiniscriptNode;
|
|
14
|
+
getUnbondingTimelockMiniscript(): ast.MiniscriptNode;
|
|
15
|
+
getStakingDescriptor(): Descriptor;
|
|
16
|
+
getSlashingDescriptor(): Descriptor;
|
|
17
|
+
getUnbondingDescriptor(): Descriptor;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAEzD,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAmBD,qBAAa,wBAAwB;IAE1B,SAAS,EAAE,MAAM;IACjB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY,EAAE,MAAM,EAAE;IACtB,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBALzB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,YAAY,EAAE,MAAM,EAAE,EACtB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGlC,qBAAqB,IAAI,GAAG,CAAC,cAAc;IAI3C,sBAAsB,IAAI,GAAG,CAAC,cAAc;IAI5C,qBAAqB,IAAI,GAAG,CAAC,cAAc;IAW3C,8BAA8B,IAAI,GAAG,CAAC,cAAc;IAIpD,oBAAoB,IAAI,UAAU;IAOlC,qBAAqB,IAAI,UAAU;IAInC,sBAAsB,IAAI,UAAU;CAGrC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BabylonDescriptorBuilder = void 0;
|
|
4
|
+
exports.getUnspendableKey = getUnspendableKey;
|
|
5
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
6
|
+
function getUnspendableKey() {
|
|
7
|
+
// https://github.com/babylonlabs-io/btc-staking-ts/blob/v0.4.0-rc.2/src/constants/internalPubkey.ts
|
|
8
|
+
return '50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0';
|
|
9
|
+
}
|
|
10
|
+
// Helper functions for creating miniscript nodes
|
|
11
|
+
function pk(b) {
|
|
12
|
+
return { 'v:pk': b.toString('hex') };
|
|
13
|
+
}
|
|
14
|
+
function sortedKeys(keys) {
|
|
15
|
+
return keys.sort((a, b) => a.compare(b));
|
|
16
|
+
}
|
|
17
|
+
function multiArgs(threshold, keys) {
|
|
18
|
+
return [threshold, ...sortedKeys(keys).map((k) => k.toString('hex'))];
|
|
19
|
+
}
|
|
20
|
+
function taprootScriptOnlyFromAst(n) {
|
|
21
|
+
return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode({ tr: [getUnspendableKey(), n] }), 'definite');
|
|
22
|
+
}
|
|
23
|
+
class BabylonDescriptorBuilder {
|
|
24
|
+
constructor(stakerKey, finalityProviderKeys, covenantKeys, covenantThreshold, stakingTimeLock, unbondingTimeLock) {
|
|
25
|
+
this.stakerKey = stakerKey;
|
|
26
|
+
this.finalityProviderKeys = finalityProviderKeys;
|
|
27
|
+
this.covenantKeys = covenantKeys;
|
|
28
|
+
this.covenantThreshold = covenantThreshold;
|
|
29
|
+
this.stakingTimeLock = stakingTimeLock;
|
|
30
|
+
this.unbondingTimeLock = unbondingTimeLock;
|
|
31
|
+
}
|
|
32
|
+
getTimelockMiniscript() {
|
|
33
|
+
return { and_v: [pk(this.stakerKey), { older: this.stakingTimeLock }] };
|
|
34
|
+
}
|
|
35
|
+
getUnbondingMiniscript() {
|
|
36
|
+
return { and_v: [pk(this.stakerKey), { multi_a: multiArgs(this.covenantThreshold, this.covenantKeys) }] };
|
|
37
|
+
}
|
|
38
|
+
getSlashingMiniscript() {
|
|
39
|
+
return {
|
|
40
|
+
and_v: [
|
|
41
|
+
{
|
|
42
|
+
and_v: [pk(this.stakerKey), { 'v:multi_a': multiArgs(1, this.finalityProviderKeys) }],
|
|
43
|
+
},
|
|
44
|
+
{ multi_a: multiArgs(this.covenantThreshold, this.covenantKeys) },
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
getUnbondingTimelockMiniscript() {
|
|
49
|
+
return { and_v: [pk(this.stakerKey), { older: this.unbondingTimeLock }] };
|
|
50
|
+
}
|
|
51
|
+
getStakingDescriptor() {
|
|
52
|
+
return taprootScriptOnlyFromAst([
|
|
53
|
+
this.getSlashingMiniscript(),
|
|
54
|
+
[this.getUnbondingMiniscript(), this.getTimelockMiniscript()],
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
getSlashingDescriptor() {
|
|
58
|
+
return taprootScriptOnlyFromAst(this.getUnbondingTimelockMiniscript());
|
|
59
|
+
}
|
|
60
|
+
getUnbondingDescriptor() {
|
|
61
|
+
return taprootScriptOnlyFromAst([this.getSlashingMiniscript(), this.getUnbondingTimelockMiniscript()]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.BabylonDescriptorBuilder = BabylonDescriptorBuilder;
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsOENBR0M7QUFMRCw0REFBeUQ7QUFFekQsU0FBZ0IsaUJBQWlCO0lBQy9CLG9HQUFvRztJQUNwRyxPQUFPLGtFQUFrRSxDQUFDO0FBQzVFLENBQUM7QUFFRCxpREFBaUQ7QUFDakQsU0FBUyxFQUFFLENBQUMsQ0FBUztJQUNuQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBYztJQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLFNBQWlCLEVBQUUsSUFBYztJQUNsRCxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsQ0FBa0I7SUFDbEQsT0FBTyw0QkFBVSxDQUFDLFVBQVUsQ0FBQyxxQkFBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzdGLENBQUM7QUFFRCxNQUFhLHdCQUF3QjtJQUNuQyxZQUNTLFNBQWlCLEVBQ2pCLG9CQUE4QixFQUM5QixZQUFzQixFQUN0QixpQkFBeUIsRUFDekIsZUFBdUIsRUFDdkIsaUJBQXlCO1FBTHpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFVO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFDL0IsQ0FBQztJQUVKLHFCQUFxQjtRQUNuQixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDNUcsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPO1lBQ0wsS0FBSyxFQUFFO2dCQUNMO29CQUNFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2lCQUN0RjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTthQUNsRTtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsOEJBQThCO1FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sd0JBQXdCLENBQUM7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzVCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7Q0FDRjtBQS9DRCw0REErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yLCBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuc3BlbmRhYmxlS2V5KCk6IHN0cmluZyB7XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9idGMtc3Rha2luZy10cy9ibG9iL3YwLjQuMC1yYy4yL3NyYy9jb25zdGFudHMvaW50ZXJuYWxQdWJrZXkudHNcbiAgcmV0dXJuICc1MDkyOWI3NGMxYTA0OTU0Yjc4YjRiNjAzNWU5N2E1ZTA3OGE1YTBmMjhlYzk2ZDU0N2JmZWU5YWNlODAzYWMwJztcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgbWluaXNjcmlwdCBub2Rlc1xuZnVuY3Rpb24gcGsoYjogQnVmZmVyKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgcmV0dXJuIHsgJ3Y6cGsnOiBiLnRvU3RyaW5nKCdoZXgnKSB9O1xufVxuXG5mdW5jdGlvbiBzb3J0ZWRLZXlzKGtleXM6IEJ1ZmZlcltdKTogQnVmZmVyW10ge1xuICByZXR1cm4ga2V5cy5zb3J0KChhLCBiKSA9PiBhLmNvbXBhcmUoYikpO1xufVxuXG5mdW5jdGlvbiBtdWx0aUFyZ3ModGhyZXNob2xkOiBudW1iZXIsIGtleXM6IEJ1ZmZlcltdKTogW251bWJlciwgLi4uc3RyaW5nW11dIHtcbiAgcmV0dXJuIFt0aHJlc2hvbGQsIC4uLnNvcnRlZEtleXMoa2V5cykubWFwKChrKSA9PiBrLnRvU3RyaW5nKCdoZXgnKSldO1xufVxuXG5mdW5jdGlvbiB0YXByb290U2NyaXB0T25seUZyb21Bc3QobjogYXN0LlRhcFRyZWVOb2RlKTogRGVzY3JpcHRvciB7XG4gIHJldHVybiBEZXNjcmlwdG9yLmZyb21TdHJpbmcoYXN0LmZvcm1hdE5vZGUoeyB0cjogW2dldFVuc3BlbmRhYmxlS2V5KCksIG5dIH0pLCAnZGVmaW5pdGUnKTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdGFrZXJLZXk6IEJ1ZmZlcixcbiAgICBwdWJsaWMgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdLFxuICAgIHB1YmxpYyBjb3ZlbmFudEtleXM6IEJ1ZmZlcltdLFxuICAgIHB1YmxpYyBjb3ZlbmFudFRocmVzaG9sZDogbnVtYmVyLFxuICAgIHB1YmxpYyBzdGFraW5nVGltZUxvY2s6IG51bWJlcixcbiAgICBwdWJsaWMgdW5ib25kaW5nVGltZUxvY2s6IG51bWJlclxuICApIHt9XG5cbiAgZ2V0VGltZWxvY2tNaW5pc2NyaXB0KCk6IGFzdC5NaW5pc2NyaXB0Tm9kZSB7XG4gICAgcmV0dXJuIHsgYW5kX3Y6IFtwayh0aGlzLnN0YWtlcktleSksIHsgb2xkZXI6IHRoaXMuc3Rha2luZ1RpbWVMb2NrIH1dIH07XG4gIH1cblxuICBnZXRVbmJvbmRpbmdNaW5pc2NyaXB0KCk6IGFzdC5NaW5pc2NyaXB0Tm9kZSB7XG4gICAgcmV0dXJuIHsgYW5kX3Y6IFtwayh0aGlzLnN0YWtlcktleSksIHsgbXVsdGlfYTogbXVsdGlBcmdzKHRoaXMuY292ZW5hbnRUaHJlc2hvbGQsIHRoaXMuY292ZW5hbnRLZXlzKSB9XSB9O1xuICB9XG5cbiAgZ2V0U2xhc2hpbmdNaW5pc2NyaXB0KCk6IGFzdC5NaW5pc2NyaXB0Tm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuZF92OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbmRfdjogW3BrKHRoaXMuc3Rha2VyS2V5KSwgeyAndjptdWx0aV9hJzogbXVsdGlBcmdzKDEsIHRoaXMuZmluYWxpdHlQcm92aWRlcktleXMpIH1dLFxuICAgICAgICB9LFxuICAgICAgICB7IG11bHRpX2E6IG11bHRpQXJncyh0aGlzLmNvdmVuYW50VGhyZXNob2xkLCB0aGlzLmNvdmVuYW50S2V5cykgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGdldFVuYm9uZGluZ1RpbWVsb2NrTWluaXNjcmlwdCgpOiBhc3QuTWluaXNjcmlwdE5vZGUge1xuICAgIHJldHVybiB7IGFuZF92OiBbcGsodGhpcy5zdGFrZXJLZXkpLCB7IG9sZGVyOiB0aGlzLnVuYm9uZGluZ1RpbWVMb2NrIH1dIH07XG4gIH1cblxuICBnZXRTdGFraW5nRGVzY3JpcHRvcigpOiBEZXNjcmlwdG9yIHtcbiAgICByZXR1cm4gdGFwcm9vdFNjcmlwdE9ubHlGcm9tQXN0KFtcbiAgICAgIHRoaXMuZ2V0U2xhc2hpbmdNaW5pc2NyaXB0KCksXG4gICAgICBbdGhpcy5nZXRVbmJvbmRpbmdNaW5pc2NyaXB0KCksIHRoaXMuZ2V0VGltZWxvY2tNaW5pc2NyaXB0KCldLFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0U2xhc2hpbmdEZXNjcmlwdG9yKCk6IERlc2NyaXB0b3Ige1xuICAgIHJldHVybiB0YXByb290U2NyaXB0T25seUZyb21Bc3QodGhpcy5nZXRVbmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHQoKSk7XG4gIH1cblxuICBnZXRVbmJvbmRpbmdEZXNjcmlwdG9yKCk6IERlc2NyaXB0b3Ige1xuICAgIHJldHVybiB0YXByb290U2NyaXB0T25seUZyb21Bc3QoW3RoaXMuZ2V0U2xhc2hpbmdNaW5pc2NyaXB0KCksIHRoaXMuZ2V0VW5ib25kaW5nVGltZWxvY2tNaW5pc2NyaXB0KCldKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/babylon/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./descriptor"), exports);
|
|
18
|
+
__exportStar(require("./testnet"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RuZXQnO1xuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BIP32Interface } from '@bitgo/utxo-lib';
|
|
2
|
+
import { BabylonDescriptorBuilder } from './descriptor';
|
|
3
|
+
export declare const testnetStakingParams: {
|
|
4
|
+
covenant_pks: string[];
|
|
5
|
+
covenant_quorum: number;
|
|
6
|
+
min_staking_value_sat: number;
|
|
7
|
+
max_staking_value_sat: number;
|
|
8
|
+
min_staking_time_blocks: number;
|
|
9
|
+
max_staking_time_blocks: number;
|
|
10
|
+
slashing_pk_script: string;
|
|
11
|
+
min_slashing_tx_fee_sat: number;
|
|
12
|
+
slashing_rate: string;
|
|
13
|
+
unbonding_time_blocks: number;
|
|
14
|
+
unbonding_fee_sat: number;
|
|
15
|
+
min_commission_rate: string;
|
|
16
|
+
delegation_creation_base_gas_fee: number;
|
|
17
|
+
allow_list_expiration_height: number;
|
|
18
|
+
btc_activation_height: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const finalityBabylonProvider0: Buffer<ArrayBuffer>;
|
|
21
|
+
export declare function getTestnetDescriptorBuilder(userKey: BIP32Interface, { finalityProviderKeys, }?: {
|
|
22
|
+
finalityProviderKeys?: Buffer[];
|
|
23
|
+
}): BabylonDescriptorBuilder;
|
|
24
|
+
//# sourceMappingURL=testnet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testnet.d.ts","sourceRoot":"","sources":["../../../src/babylon/testnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;CA0BhC,CAAC;AAGF,eAAO,MAAM,wBAAwB,qBAGpC,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EACvB,EACE,oBAAiD,GAClD,GAAE;IACD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GACL,wBAAwB,CAS1B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.finalityBabylonProvider0 = exports.testnetStakingParams = void 0;
|
|
4
|
+
exports.getTestnetDescriptorBuilder = getTestnetDescriptorBuilder;
|
|
5
|
+
const descriptor_1 = require("./descriptor");
|
|
6
|
+
// Source: https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/app/upgrades/v1/testnet/btcstaking_params.go#L149-L159
|
|
7
|
+
exports.testnetStakingParams = {
|
|
8
|
+
covenant_pks: [
|
|
9
|
+
'fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737',
|
|
10
|
+
'0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25',
|
|
11
|
+
'17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4',
|
|
12
|
+
'113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0',
|
|
13
|
+
'79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0',
|
|
14
|
+
'3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c',
|
|
15
|
+
'd21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36',
|
|
16
|
+
'40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df',
|
|
17
|
+
'f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e',
|
|
18
|
+
],
|
|
19
|
+
covenant_quorum: 6,
|
|
20
|
+
min_staking_value_sat: 50000,
|
|
21
|
+
max_staking_value_sat: 35000000000,
|
|
22
|
+
min_staking_time_blocks: 10000,
|
|
23
|
+
max_staking_time_blocks: 64000,
|
|
24
|
+
slashing_pk_script: 'ABRb4SYk0IorQkCV18ByIcM0UNFL8Q==',
|
|
25
|
+
min_slashing_tx_fee_sat: 5000,
|
|
26
|
+
slashing_rate: '0.05',
|
|
27
|
+
unbonding_time_blocks: 1008,
|
|
28
|
+
unbonding_fee_sat: 2000,
|
|
29
|
+
min_commission_rate: '0.03',
|
|
30
|
+
delegation_creation_base_gas_fee: 1095000,
|
|
31
|
+
allow_list_expiration_height: 26124,
|
|
32
|
+
btc_activation_height: 227174,
|
|
33
|
+
};
|
|
34
|
+
// Source: https://btcstaking.testnet.babylonlabs.io/ "Babylon Foundation 0"
|
|
35
|
+
exports.finalityBabylonProvider0 = Buffer.from('d23c2c25e1fcf8fd1c21b9a402c19e2e309e531e45e92fb1e9805b6056b0cc76', 'hex');
|
|
36
|
+
function getTestnetDescriptorBuilder(userKey, { finalityProviderKeys = [exports.finalityBabylonProvider0], } = {}) {
|
|
37
|
+
return new descriptor_1.BabylonDescriptorBuilder(userKey.publicKey, finalityProviderKeys, exports.testnetStakingParams.covenant_pks.map((pk) => Buffer.from(pk, 'hex')), exports.testnetStakingParams.covenant_quorum, exports.testnetStakingParams.min_staking_time_blocks, exports.testnetStakingParams.unbonding_time_blocks);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdG5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL3Rlc3RuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUNBLGtFQWdCQztBQXJERCw2Q0FBd0Q7QUFFeEQsd0lBQXdJO0FBQzNILFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsWUFBWSxFQUFFO1FBQ1osa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7S0FDbkU7SUFDRCxlQUFlLEVBQUUsQ0FBQztJQUNsQixxQkFBcUIsRUFBRSxLQUFLO0lBQzVCLHFCQUFxQixFQUFFLFdBQVc7SUFDbEMsdUJBQXVCLEVBQUUsS0FBSztJQUM5Qix1QkFBdUIsRUFBRSxLQUFLO0lBQzlCLGtCQUFrQixFQUFFLGtDQUFrQztJQUN0RCx1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGdDQUFnQyxFQUFFLE9BQU87SUFDekMsNEJBQTRCLEVBQUUsS0FBSztJQUNuQyxxQkFBcUIsRUFBRSxNQUFNO0NBQzlCLENBQUM7QUFFRiw0RUFBNEU7QUFDL0QsUUFBQSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNqRCxrRUFBa0UsRUFDbEUsS0FBSyxDQUNOLENBQUM7QUFFRixTQUFnQiwyQkFBMkIsQ0FDekMsT0FBdUIsRUFDdkIsRUFDRSxvQkFBb0IsR0FBRyxDQUFDLGdDQUF3QixDQUFDLE1BRy9DLEVBQUU7SUFFTixPQUFPLElBQUkscUNBQXdCLENBQ2pDLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLG9CQUFvQixFQUNwQiw0QkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUNyRSw0QkFBb0IsQ0FBQyxlQUFlLEVBQ3BDLDRCQUFvQixDQUFDLHVCQUF1QixFQUM1Qyw0QkFBb0IsQ0FBQyxxQkFBcUIsQ0FDM0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2JhYnlsb24vYmxvYi92MS45OS4wLXNuYXBzaG90LjI1MDIxMS9hcHAvdXBncmFkZXMvdjEvdGVzdG5ldC9idGNzdGFraW5nX3BhcmFtcy5nbyNMMTQ5LUwxNTlcbmV4cG9ydCBjb25zdCB0ZXN0bmV0U3Rha2luZ1BhcmFtcyA9IHtcbiAgY292ZW5hbnRfcGtzOiBbXG4gICAgJ2ZhOWQ4ODJkNDVmNDA2MGJkYjgwNDIxODM4MjhjZDg3NTQ0ZjFlYTk5NzM4MGU1ODZjYWI3N2Q1ZmQ2OTg3MzcnLFxuICAgICcwYWVlMDUwOWIxNmRiNzFjOTk5MjM4YTQ4MjdkYjk0NTUyNjg1OWIxM2M5NTQ4N2FiNDY3MjUzNTdjOWE5ZjI1JyxcbiAgICAnMTc5MjFjZjE1NmNjYjRlNzNkNDI4Zjk5NmVkMTFiMjQ1MzEzZTM3ZTI3Yzk3OGFjNGQyY2MyMWVjYTQ2NzJlNCcsXG4gICAgJzExM2MzYTMyYTlkMzIwYjcyMTkwYTA0YTAyMGEwZGIzOTc2ZWYzNjk3MjY3MzI1OGU5YTM4YTM2NGYzZGMzYjAnLFxuICAgICc3OWE3MWZmZDcxYzUwM2VmMmUyZjkxYmNjZmM4ZmNkYTc5NDZmNDY1M2NlZjBkOWYzZGRlMjA3OTVlZjNiOWYwJyxcbiAgICAnM2JiOTNkZmM4YjYxODg3ZDc3MWYzNjMwZTlhNjNlOTdjYmFmY2ZjYzc4NTU2YTQ3NGRmODNhMzFhMGVmODk5YycsXG4gICAgJ2QyMWZhZjc4YzY3NTFhMGQzOGU2YmQ4MDI4YjkwN2ZmMDdlOWE4NjlhNDNmYzgzN2Q2YjNmOGRmZjYxMTlhMzYnLFxuICAgICc0MGFmYWY0N2M0ZmZhNTZkZTg2NDEwZDhlNDdiYWEyYmI2ZjA0YjYwNGY0ZWEyNDMyMzczN2RkYzNmZTA5MmRmJyxcbiAgICAnZjUxOTllZmFlM2YyOGJiODI0NzYxNjNhN2U0NThjN2FkNDQ1ZDliZmZiMDY4MmQxMGQzYmRiMmNiNDFmOGU4ZScsXG4gIF0sXG4gIGNvdmVuYW50X3F1b3J1bTogNixcbiAgbWluX3N0YWtpbmdfdmFsdWVfc2F0OiA1MDAwMCxcbiAgbWF4X3N0YWtpbmdfdmFsdWVfc2F0OiAzNTAwMDAwMDAwMCxcbiAgbWluX3N0YWtpbmdfdGltZV9ibG9ja3M6IDEwMDAwLFxuICBtYXhfc3Rha2luZ190aW1lX2Jsb2NrczogNjQwMDAsXG4gIHNsYXNoaW5nX3BrX3NjcmlwdDogJ0FCUmI0U1lrMElvclFrQ1YxOEJ5SWNNMFVORkw4UT09JyxcbiAgbWluX3NsYXNoaW5nX3R4X2ZlZV9zYXQ6IDUwMDAsXG4gIHNsYXNoaW5nX3JhdGU6ICcwLjA1JyxcbiAgdW5ib25kaW5nX3RpbWVfYmxvY2tzOiAxMDA4LFxuICB1bmJvbmRpbmdfZmVlX3NhdDogMjAwMCxcbiAgbWluX2NvbW1pc3Npb25fcmF0ZTogJzAuMDMnLFxuICBkZWxlZ2F0aW9uX2NyZWF0aW9uX2Jhc2VfZ2FzX2ZlZTogMTA5NTAwMCxcbiAgYWxsb3dfbGlzdF9leHBpcmF0aW9uX2hlaWdodDogMjYxMjQsXG4gIGJ0Y19hY3RpdmF0aW9uX2hlaWdodDogMjI3MTc0LFxufTtcblxuLy8gU291cmNlOiBodHRwczovL2J0Y3N0YWtpbmcudGVzdG5ldC5iYWJ5bG9ubGFicy5pby8gXCJCYWJ5bG9uIEZvdW5kYXRpb24gMFwiXG5leHBvcnQgY29uc3QgZmluYWxpdHlCYWJ5bG9uUHJvdmlkZXIwID0gQnVmZmVyLmZyb20oXG4gICdkMjNjMmMyNWUxZmNmOGZkMWMyMWI5YTQwMmMxOWUyZTMwOWU1MzFlNDVlOTJmYjFlOTgwNWI2MDU2YjBjYzc2JyxcbiAgJ2hleCdcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXN0bmV0RGVzY3JpcHRvckJ1aWxkZXIoXG4gIHVzZXJLZXk6IEJJUDMySW50ZXJmYWNlLFxuICB7XG4gICAgZmluYWxpdHlQcm92aWRlcktleXMgPSBbZmluYWxpdHlCYWJ5bG9uUHJvdmlkZXIwXSxcbiAgfToge1xuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzPzogQnVmZmVyW107XG4gIH0gPSB7fVxuKTogQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIHtcbiAgcmV0dXJuIG5ldyBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIoXG4gICAgdXNlcktleS5wdWJsaWNLZXksXG4gICAgZmluYWxpdHlQcm92aWRlcktleXMsXG4gICAgdGVzdG5ldFN0YWtpbmdQYXJhbXMuY292ZW5hbnRfcGtzLm1hcCgocGspID0+IEJ1ZmZlci5mcm9tKHBrLCAnaGV4JykpLFxuICAgIHRlc3RuZXRTdGFraW5nUGFyYW1zLmNvdmVuYW50X3F1b3J1bSxcbiAgICB0ZXN0bmV0U3Rha2luZ1BhcmFtcy5taW5fc3Rha2luZ190aW1lX2Jsb2NrcyxcbiAgICB0ZXN0bmV0U3Rha2luZ1BhcmFtcy51bmJvbmRpbmdfdGltZV9ibG9ja3NcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BIP32Interface } from '@bitgo/utxo-lib';
|
|
2
2
|
/**
|
|
3
|
-
* Script type for a descriptor.
|
|
3
|
+
* Script type for a descriptor.
|
|
4
|
+
*
|
|
5
|
+
* See https://docs.coredao.org/docs/Learn/products/btc-staking/design#p2shp2wsh-output
|
|
4
6
|
*/
|
|
5
|
-
export type ScriptType = 'sh' | 'sh-wsh';
|
|
7
|
+
export type ScriptType = 'sh' | 'sh-wsh' | 'wsh';
|
|
6
8
|
/**
|
|
7
9
|
* Create a multi-sig descriptor to produce a coredao staking address
|
|
8
10
|
* @param scriptType segwit or legacy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/coreDao/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/coreDao/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;AASjD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EACxC,QAAQ,UAAO,GACd,MAAM,CAmBR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createMultiSigDescriptor = createMultiSigDescriptor;
|
|
4
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
4
5
|
function asDescriptorKey(key, neutered) {
|
|
5
6
|
if (Buffer.isBuffer(key)) {
|
|
6
7
|
return key.toString('hex');
|
|
@@ -24,7 +25,14 @@ function createMultiSigDescriptor(scriptType, locktime, m, orderedKeys, neutered
|
|
|
24
25
|
throw new Error(`locktime (${locktime}) must be greater than 0`);
|
|
25
26
|
}
|
|
26
27
|
const keys = orderedKeys.map((key) => asDescriptorKey(key, neutered));
|
|
27
|
-
const inner =
|
|
28
|
-
|
|
28
|
+
const inner = { and_v: [{ 'r:after': locktime }, { multi: [m, ...keys] }] };
|
|
29
|
+
switch (scriptType) {
|
|
30
|
+
case 'sh':
|
|
31
|
+
return wasm_miniscript_1.ast.formatNode({ sh: inner });
|
|
32
|
+
case 'sh-wsh':
|
|
33
|
+
return wasm_miniscript_1.ast.formatNode({ sh: { wsh: inner } });
|
|
34
|
+
case 'wsh':
|
|
35
|
+
return wasm_miniscript_1.ast.formatNode({ wsh: inner });
|
|
36
|
+
}
|
|
29
37
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlRGFvL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwQkEsNERBeUJDO0FBbERELDREQUE2QztBQVM3QyxTQUFTLGVBQWUsQ0FBQyxHQUE0QixFQUFFLFFBQWlCO0lBQ3RFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQ3RDLFVBQXNCLEVBQ3RCLFFBQWdCLEVBQ2hCLENBQVMsRUFDVCxXQUF3QyxFQUN4QyxRQUFRLEdBQUcsSUFBSTtJQUVmLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2IsTUFBTSxDQUFDLHVEQUF1RCxXQUFXLENBQUMsTUFBTSxzQkFBc0IsQ0FDdkcsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsUUFBUSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQXVCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNoRyxRQUFRLFVBQVUsRUFBRSxDQUFDO1FBQ25CLEtBQUssSUFBSTtZQUNQLE9BQU8scUJBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2QyxLQUFLLFFBQVE7WUFDWCxPQUFPLHFCQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxLQUFLLEtBQUs7WUFDUixPQUFPLHFCQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuLyoqXG4gKiBTY3JpcHQgdHlwZSBmb3IgYSBkZXNjcmlwdG9yLlxuICpcbiAqIFNlZSBodHRwczovL2RvY3MuY29yZWRhby5vcmcvZG9jcy9MZWFybi9wcm9kdWN0cy9idGMtc3Rha2luZy9kZXNpZ24jcDJzaHAyd3NoLW91dHB1dFxuICovXG5leHBvcnQgdHlwZSBTY3JpcHRUeXBlID0gJ3NoJyB8ICdzaC13c2gnIHwgJ3dzaCc7XG5cbmZ1bmN0aW9uIGFzRGVzY3JpcHRvcktleShrZXk6IEJJUDMySW50ZXJmYWNlIHwgQnVmZmVyLCBuZXV0ZXJlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIoa2V5KSkge1xuICAgIHJldHVybiBrZXkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG4gIHJldHVybiAobmV1dGVyZWQgPyBrZXkubmV1dGVyZWQoKSA6IGtleSkudG9CYXNlNTgoKSArICcvKic7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbXVsdGktc2lnIGRlc2NyaXB0b3IgdG8gcHJvZHVjZSBhIGNvcmVkYW8gc3Rha2luZyBhZGRyZXNzXG4gKiBAcGFyYW0gc2NyaXB0VHlwZSBzZWd3aXQgb3IgbGVnYWN5XG4gKiBAcGFyYW0gbG9ja3RpbWUgbG9ja3RpbWUgZm9yIENMVFZcbiAqIEBwYXJhbSBtIFRvdGFsIG51bWJlciBvZiBrZXlzIHJlcXVpcmVkIHRvIHVubG9ja1xuICogQHBhcmFtIG9yZGVyZWRLZXlzIElmIEJpcDMySW50ZXJmYWNlcywgdGhlc2UgYXJlIHhwcnZzIG9yIHhwdWJzIGFuZCBhcmUgZGVyaXZhYmxlLlxuICogICAgICAgICAgICAgICAgICAgIElmIHRoZXkgYXJlIGJ1ZmZlcnMsIHRoZW4gdGhleSBhcmUgcHViL3BydiBrZXlzIGFuZCBhcmUgbm90IGRlcml2YWJsZS5cbiAqIEBwYXJhbSBuZXV0ZXJlZCBJZiB0cnVlLCBuZXV0ZXIgdGhlIGtleXMuIERlZmF1bHQgdG8gdHJ1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXVsdGlTaWdEZXNjcmlwdG9yKFxuICBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlLFxuICBsb2NrdGltZTogbnVtYmVyLFxuICBtOiBudW1iZXIsXG4gIG9yZGVyZWRLZXlzOiAoQklQMzJJbnRlcmZhY2UgfCBCdWZmZXIpW10sXG4gIG5ldXRlcmVkID0gdHJ1ZVxuKTogc3RyaW5nIHtcbiAgaWYgKG0gPiBvcmRlcmVkS2V5cy5sZW5ndGggfHwgbSA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgbSAoJHttfSkgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBrZXlzICgke29yZGVyZWRLZXlzLmxlbmd0aH0pIGFuZCBncmVhdGVyIHRoYW4gMGBcbiAgICApO1xuICB9XG4gIGlmIChsb2NrdGltZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2NrdGltZSAoJHtsb2NrdGltZX0pIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBgKTtcbiAgfVxuICBjb25zdCBrZXlzID0gb3JkZXJlZEtleXMubWFwKChrZXkpID0+IGFzRGVzY3JpcHRvcktleShrZXksIG5ldXRlcmVkKSk7XG4gIGNvbnN0IGlubmVyOiBhc3QuTWluaXNjcmlwdE5vZGUgPSB7IGFuZF92OiBbeyAncjphZnRlcic6IGxvY2t0aW1lIH0sIHsgbXVsdGk6IFttLCAuLi5rZXlzXSB9XSB9O1xuICBzd2l0Y2ggKHNjcmlwdFR5cGUpIHtcbiAgICBjYXNlICdzaCc6XG4gICAgICByZXR1cm4gYXN0LmZvcm1hdE5vZGUoeyBzaDogaW5uZXIgfSk7XG4gICAgY2FzZSAnc2gtd3NoJzpcbiAgICAgIHJldHVybiBhc3QuZm9ybWF0Tm9kZSh7IHNoOiB7IHdzaDogaW5uZXIgfSB9KTtcbiAgICBjYXNlICd3c2gnOlxuICAgICAgcmV0dXJuIGFzdC5mb3JtYXROb2RlKHsgd3NoOiBpbm5lciB9KTtcbiAgfVxufVxuIl19
|
package/dist/src/index.d.ts
CHANGED
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,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,cAAc,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -10,11 +10,34 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
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
|
+
})();
|
|
13
35
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
37
|
};
|
|
16
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.coreDao = void 0;
|
|
18
|
-
exports.coreDao = require("./coreDao");
|
|
39
|
+
exports.babylon = exports.coreDao = void 0;
|
|
40
|
+
exports.coreDao = __importStar(require("./coreDao"));
|
|
41
|
+
exports.babylon = __importStar(require("./babylon"));
|
|
19
42
|
__exportStar(require("./transaction"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFDO0FBQ3JDLHFEQUFxQztBQUVyQyxnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBjb3JlRGFvIGZyb20gJy4vY29yZURhbyc7XG5leHBvcnQgKiBhcyBiYWJ5bG9uIGZyb20gJy4vYmFieWxvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuIl19
|
package/dist/src/transaction.js
CHANGED
|
@@ -1,7 +1,40 @@
|
|
|
1
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
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.buildFixedWalletStakingPsbt = buildFixedWalletStakingPsbt;
|
|
4
|
-
const utxolib = require("@bitgo/utxo-lib");
|
|
37
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
5
38
|
const unspents_1 = require("@bitgo/unspents");
|
|
6
39
|
/**
|
|
7
40
|
* Build a staking transaction for a wallet that assumes 2-of-3 multisig for the inputs
|
|
@@ -51,4 +84,4 @@ function buildFixedWalletStakingPsbt({ rootWalletKeys, unspents, outputs, change
|
|
|
51
84
|
}
|
|
52
85
|
return psbt;
|
|
53
86
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsa0VBbUZDO0FBbkdELHlEQUEyQztBQUMzQyw4Q0FBNkM7QUFFN0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsRUFDMUMsY0FBYyxFQUNkLFFBQVEsRUFDUixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixPQUFPLEVBQ1Asa0JBQWtCLEVBQ2xCLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBaUJ2QjtJQUNDLElBQUksWUFBWSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUNyRSxjQUFjLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFDbEcsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFDekQsT0FBTyxDQUNSLENBQUMsWUFBWSxDQUFDO0lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdHLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtRQUNuRixrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLGtCQUFrQjtLQUNuQixDQUFDLENBQ0gsQ0FBQztJQUNGLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUNuQixDQUFDLHFCQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztTQUN2QixJQUFJLENBQUMscUJBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUNyRCxRQUFRLEVBQUU7UUFDWCxZQUFZLENBQUM7UUFDYixJQUFJLENBQ1AsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLFdBQVcsR0FBRyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLGdCQUFnQixXQUFXLENBQUMsUUFBUSxFQUFFLG9DQUFvQyxZQUFZLGtCQUFrQixHQUFHLEVBQUUsQ0FDOUcsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFlBQVksR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUNqQyxJQUFJLEVBQ0osY0FBYyxFQUNkLGlCQUFpQixDQUFDLEtBQUssRUFDdkIsaUJBQWlCLENBQUMsS0FBSyxFQUN2QixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBEaW1lbnNpb25zIH0gZnJvbSAnQGJpdGdvL3Vuc3BlbnRzJztcblxuLyoqXG4gKiBCdWlsZCBhIHN0YWtpbmcgdHJhbnNhY3Rpb24gZm9yIGEgd2FsbGV0IHRoYXQgYXNzdW1lcyAyLW9mLTMgbXVsdGlzaWcgZm9yIHRoZSBpbnB1dHNcbiAqXG4gKiBHaXZlbiB0aGUgaW5wdXRzIGFuZCB0aGUgc3Rha2luZyBvdXRwdXRzLCB3ZSB3aWxsIGNyZWF0ZSB0aGUgUFNCVCB3aXRoIHRoZSBkZXNpcmVkIGZlZSByYXRlLlxuICogV2UgYWx3YXlzIGFkZCB0aGUgY2hhbmdlIGFkZHJlc3MgYXMgdGhlIGxhc3Qgb3V0cHV0LlxuICpcbiAqIEBwYXJhbSByb290V2FsbGV0S2V5c1xuICogQHBhcmFtIHVuc3BlbnRzXG4gKiBAcGFyYW0gY3JlYXRlU3Rha2luZ091dHB1dHNcbiAqIEBwYXJhbSBjaGFuZ2VBZGRyZXNzSW5mb1xuICogQHBhcmFtIGZlZVJhdGVTYXRLQlxuICogQHBhcmFtIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRml4ZWRXYWxsZXRTdGFraW5nUHNidCh7XG4gIHJvb3RXYWxsZXRLZXlzLFxuICB1bnNwZW50cyxcbiAgb3V0cHV0cyxcbiAgY2hhbmdlQWRkcmVzc0luZm8sXG4gIGZlZVJhdGVTYXRLQixcbiAgbmV0d29yayxcbiAgc2tpcE5vbldpdG5lc3NVdHhvLFxuICBkdXN0QW1vdW50ID0gQmlnSW50KDApLFxufToge1xuICByb290V2FsbGV0S2V5czogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cztcbiAgdW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudDxiaWdpbnQ+W107XG4gIG91dHB1dHM6IHtcbiAgICBzY3JpcHQ6IEJ1ZmZlcjtcbiAgICB2YWx1ZTogYmlnaW50O1xuICB9W107XG4gIGNoYW5nZUFkZHJlc3NJbmZvOiB7XG4gICAgY2hhaW46IHV0eG9saWIuYml0Z28uQ2hhaW5Db2RlO1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBmZWVSYXRlU2F0S0I6IG51bWJlcjtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICBza2lwTm9uV2l0bmVzc1V0eG8/OiBib29sZWFuO1xuICBkdXN0QW1vdW50PzogYmlnaW50O1xufSk6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICBpZiAoZmVlUmF0ZVNhdEtCIDwgMTAwMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmVlIHJhdGUgbXVzdCBiZSBhdCBsZWFzdCAxIHNhdC92Ynl0ZScpO1xuICB9XG4gIGlmICh1bnNwZW50cy5sZW5ndGggPT09IDAgfHwgb3V0cHV0cy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgaGF2ZSBhdCBsZWFzdCBvbmUgaW5wdXQgYW5kIG9uZSBvdXRwdXQnKTtcbiAgfVxuXG4gIC8vIENoZWNrIHRoZSBjaGFuZ2UgYWRkcmVzcyBpbmZvXG4gIGNvbnN0IGNoYW5nZVNjcmlwdCA9IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5jcmVhdGVPdXRwdXRTY3JpcHQyb2YzKFxuICAgIHJvb3RXYWxsZXRLZXlzLmRlcml2ZUZvckNoYWluQW5kSW5kZXgoY2hhbmdlQWRkcmVzc0luZm8uY2hhaW4sIGNoYW5nZUFkZHJlc3NJbmZvLmluZGV4KS5wdWJsaWNLZXlzLFxuICAgIHV0eG9saWIuYml0Z28uc2NyaXB0VHlwZUZvckNoYWluKGNoYW5nZUFkZHJlc3NJbmZvLmNoYWluKSxcbiAgICBuZXR3b3JrXG4gICkuc2NyaXB0UHViS2V5O1xuICBpZiAoIWNoYW5nZVNjcmlwdC5lcXVhbHModXR4b2xpYi5hZGRyZXNzRm9ybWF0LnRvT3V0cHV0U2NyaXB0VHJ5Rm9ybWF0cyhjaGFuZ2VBZGRyZXNzSW5mby5hZGRyZXNzLCBuZXR3b3JrKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYW5nZSBhZGRyZXNzIGluZm8gZG9lcyBub3QgbWF0Y2ggdGhlIGRlcml2ZWQgY2hhbmdlIHNjcmlwdCcpO1xuICB9XG5cbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZvck5ldHdvcmsoeyBuZXR3b3JrIH0pO1xuICB1dHhvbGliLmJpdGdvLmFkZFhwdWJzVG9Qc2J0KHBzYnQsIHJvb3RXYWxsZXRLZXlzKTtcblxuICBjb25zdCBpbnB1dEFtb3VudCA9IHVuc3BlbnRzLnJlZHVjZSgoc3VtLCB1bnNwZW50KSA9PiBzdW0gKyB1bnNwZW50LnZhbHVlLCBCaWdJbnQoMCkpO1xuICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzLnJlZHVjZSgoc3VtLCBvdXRwdXQpID0+IHN1bSArIG91dHB1dC52YWx1ZSwgQmlnSW50KDApKTtcblxuICB1bnNwZW50cy5mb3JFYWNoKCh1bnNwZW50KSA9PlxuICAgIHV0eG9saWIuYml0Z28uYWRkV2FsbGV0VW5zcGVudFRvUHNidChwc2J0LCB1bnNwZW50LCByb290V2FsbGV0S2V5cywgJ3VzZXInLCAnYml0Z28nLCB7XG4gICAgICBpc1JlcGxhY2VhYmxlQnlGZWU6IHRydWUsXG4gICAgICBza2lwTm9uV2l0bmVzc1V0eG8sXG4gICAgfSlcbiAgKTtcbiAgb3V0cHV0cy5mb3JFYWNoKChvdXRwdXQpID0+IHBzYnQuYWRkT3V0cHV0KG91dHB1dCkpO1xuXG4gIGNvbnN0IGZlZSA9IE1hdGguY2VpbChcbiAgICAoRGltZW5zaW9ucy5mcm9tUHNidChwc2J0KVxuICAgICAgLnBsdXMoRGltZW5zaW9ucy5mcm9tT3V0cHV0KHsgc2NyaXB0OiBjaGFuZ2VTY3JpcHQgfSkpXG4gICAgICAuZ2V0VlNpemUoKSAqXG4gICAgICBmZWVSYXRlU2F0S0IpIC9cbiAgICAgIDEwMDBcbiAgKTtcblxuICBjb25zdCBjaGFuZ2VBbW91bnQgPSBpbnB1dEFtb3VudCAtIChvdXRwdXRBbW91bnQgKyBCaWdJbnQoZmVlKSk7XG4gIGlmIChjaGFuZ2VBbW91bnQgPCBCaWdJbnQoMCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW5wdXQgYW1vdW50ICR7aW5wdXRBbW91bnQudG9TdHJpbmcoKX0gY2Fubm90IGNvdmVyIHRoZSBzdGFraW5nIGFtb3VudCAke291dHB1dEFtb3VudH0gYW5kICB0aGUgZmVlOiAke2ZlZX1gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChjaGFuZ2VBbW91bnQgPiBkdXN0QW1vdW50KSB7XG4gICAgdXR4b2xpYi5iaXRnby5hZGRXYWxsZXRPdXRwdXRUb1BzYnQoXG4gICAgICBwc2J0LFxuICAgICAgcm9vdFdhbGxldEtleXMsXG4gICAgICBjaGFuZ2VBZGRyZXNzSW5mby5jaGFpbixcbiAgICAgIGNoYW5nZUFkZHJlc3NJbmZvLmluZGV4LFxuICAgICAgY2hhbmdlQW1vdW50XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBwc2J0O1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/utxo-staking",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "BitGo SDK for build UTXO staking transactions",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -11,9 +11,8 @@
|
|
|
11
11
|
"clean": "rm -r ./dist",
|
|
12
12
|
"lint": "eslint --quiet .",
|
|
13
13
|
"prepare": "npm run build",
|
|
14
|
-
"test": "npm run coverage",
|
|
15
14
|
"coverage": "nyc -- npm run unit-test",
|
|
16
|
-
"unit-test": "mocha"
|
|
15
|
+
"unit-test": "mocha --recursive test"
|
|
17
16
|
},
|
|
18
17
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
19
18
|
"license": "MIT",
|
|
@@ -40,9 +39,14 @@
|
|
|
40
39
|
]
|
|
41
40
|
},
|
|
42
41
|
"dependencies": {
|
|
43
|
-
"@bitgo/unspents": "^0.47.
|
|
44
|
-
"@bitgo/utxo-
|
|
45
|
-
"@bitgo/
|
|
42
|
+
"@bitgo/unspents": "^0.47.18",
|
|
43
|
+
"@bitgo/utxo-core": "^1.2.0",
|
|
44
|
+
"@bitgo/utxo-lib": "^11.2.2",
|
|
45
|
+
"@bitgo/wasm-miniscript": "^2.0.0-beta.4"
|
|
46
46
|
},
|
|
47
|
-
"
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"bip174": "=2.1.1",
|
|
49
|
+
"bitcoinjs-lib": "^6.1.7"
|
|
50
|
+
},
|
|
51
|
+
"gitHead": "db6c3b685bd685c8a649d4002a03461ec529dc1c"
|
|
48
52
|
}
|