@bitgo/utxo-staking 1.10.0 → 1.12.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.
@@ -0,0 +1,205 @@
1
+ [
2
+ {
3
+ "params": {
4
+ "covenant_pks": [
5
+ "49766ccd9e3cd94343e2040474a77fb37cdfd30530d05f9f1e96ae1e2102c86e",
6
+ "76d1ae01f8fb6bf30108731c884cddcf57ef6eef2d9d9559e130894e0e40c62c",
7
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
8
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
9
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
10
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
11
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
12
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
13
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
14
+ ],
15
+ "covenant_quorum": 6,
16
+ "min_staking_value_sat": "50000",
17
+ "max_staking_value_sat": "5000000",
18
+ "min_staking_time_blocks": 64000,
19
+ "max_staking_time_blocks": 64000,
20
+ "slashing_pk_script": "dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==",
21
+ "min_slashing_tx_fee_sat": "1000",
22
+ "slashing_rate": "0.100000000000000000",
23
+ "unbonding_time_blocks": 1008,
24
+ "unbonding_fee_sat": "2000",
25
+ "min_commission_rate": "0.030000000000000000",
26
+ "delegation_creation_base_gas_fee": "1000",
27
+ "allow_list_expiration_height": "26120",
28
+ "btc_activation_height": 197535
29
+ }
30
+ },
31
+ {
32
+ "params": {
33
+ "covenant_pks": [
34
+ "09585ab55a971a231c945790a0a81df754e5a07263a5c20829931cc24683bbb7",
35
+ "76d1ae01f8fb6bf30108731c884cddcf57ef6eef2d9d9559e130894e0e40c62c",
36
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
37
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
38
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
39
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
40
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
41
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
42
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
43
+ ],
44
+ "covenant_quorum": 6,
45
+ "min_staking_value_sat": "50000",
46
+ "max_staking_value_sat": "5000000",
47
+ "min_staking_time_blocks": 64000,
48
+ "max_staking_time_blocks": 64000,
49
+ "slashing_pk_script": "dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==",
50
+ "min_slashing_tx_fee_sat": "1000",
51
+ "slashing_rate": "0.100000000000000000",
52
+ "unbonding_time_blocks": 1008,
53
+ "unbonding_fee_sat": "10000",
54
+ "min_commission_rate": "0.030000000000000000",
55
+ "delegation_creation_base_gas_fee": "1000",
56
+ "allow_list_expiration_height": "26120",
57
+ "btc_activation_height": 198665
58
+ }
59
+ },
60
+ {
61
+ "params": {
62
+ "covenant_pks": [
63
+ "fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737",
64
+ "0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25",
65
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
66
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
67
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
68
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
69
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
70
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
71
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
72
+ ],
73
+ "covenant_quorum": 6,
74
+ "min_staking_value_sat": "50000",
75
+ "max_staking_value_sat": "5000000",
76
+ "min_staking_time_blocks": 64000,
77
+ "max_staking_time_blocks": 64000,
78
+ "slashing_pk_script": "dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==",
79
+ "min_slashing_tx_fee_sat": "1000",
80
+ "slashing_rate": "0.100000000000000000",
81
+ "unbonding_time_blocks": 1008,
82
+ "unbonding_fee_sat": "10000",
83
+ "min_commission_rate": "0.030000000000000000",
84
+ "delegation_creation_base_gas_fee": "1000",
85
+ "allow_list_expiration_height": "26120",
86
+ "btc_activation_height": 200665
87
+ }
88
+ },
89
+ {
90
+ "params": {
91
+ "covenant_pks": [
92
+ "fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737",
93
+ "0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25",
94
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
95
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
96
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
97
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
98
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
99
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
100
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
101
+ ],
102
+ "covenant_quorum": 6,
103
+ "min_staking_value_sat": "50000",
104
+ "max_staking_value_sat": "50000000",
105
+ "min_staking_time_blocks": 64000,
106
+ "max_staking_time_blocks": 64000,
107
+ "slashing_pk_script": "dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==",
108
+ "min_slashing_tx_fee_sat": "1000",
109
+ "slashing_rate": "0.100000000000000000",
110
+ "unbonding_time_blocks": 1008,
111
+ "unbonding_fee_sat": "5000",
112
+ "min_commission_rate": "0.030000000000000000",
113
+ "delegation_creation_base_gas_fee": "1000",
114
+ "allow_list_expiration_height": "26120",
115
+ "btc_activation_height": 215968
116
+ }
117
+ },
118
+ {
119
+ "params": {
120
+ "covenant_pks": [
121
+ "fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737",
122
+ "0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25",
123
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
124
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
125
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
126
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
127
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
128
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
129
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
130
+ ],
131
+ "covenant_quorum": 6,
132
+ "min_staking_value_sat": "50000",
133
+ "max_staking_value_sat": "50000000",
134
+ "min_staking_time_blocks": 64000,
135
+ "max_staking_time_blocks": 64000,
136
+ "slashing_pk_script": "dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==",
137
+ "min_slashing_tx_fee_sat": "1000",
138
+ "slashing_rate": "0.100000000000000000",
139
+ "unbonding_time_blocks": 1008,
140
+ "unbonding_fee_sat": "5000",
141
+ "min_commission_rate": "0.030000000000000000",
142
+ "delegation_creation_base_gas_fee": "1000",
143
+ "allow_list_expiration_height": "26120",
144
+ "btc_activation_height": 220637
145
+ }
146
+ },
147
+ {
148
+ "params": {
149
+ "covenant_pks": [
150
+ "fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737",
151
+ "0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25",
152
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
153
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
154
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
155
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
156
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
157
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
158
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
159
+ ],
160
+ "covenant_quorum": 6,
161
+ "min_staking_value_sat": "50000",
162
+ "max_staking_value_sat": "35000000000",
163
+ "min_staking_time_blocks": 10000,
164
+ "max_staking_time_blocks": 64000,
165
+ "slashing_pk_script": "ABRb4SYk0IorQkCV18ByIcM0UNFL8Q==",
166
+ "min_slashing_tx_fee_sat": "5000",
167
+ "slashing_rate": "0.050000000000000000",
168
+ "unbonding_time_blocks": 1008,
169
+ "unbonding_fee_sat": "2000",
170
+ "min_commission_rate": "0.030000000000000000",
171
+ "delegation_creation_base_gas_fee": "1095000",
172
+ "allow_list_expiration_height": "26124",
173
+ "btc_activation_height": 227174
174
+ }
175
+ },
176
+ {
177
+ "params": {
178
+ "covenant_pks": [
179
+ "fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737",
180
+ "0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25",
181
+ "17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4",
182
+ "113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0",
183
+ "79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0",
184
+ "3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c",
185
+ "d21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36",
186
+ "40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df",
187
+ "f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e"
188
+ ],
189
+ "covenant_quorum": 6,
190
+ "min_staking_value_sat": "50000",
191
+ "max_staking_value_sat": "35000000000",
192
+ "min_staking_time_blocks": 10000,
193
+ "max_staking_time_blocks": 64000,
194
+ "slashing_pk_script": "ABRb4SYk0IorQkCV18ByIcM0UNFL8Q==",
195
+ "min_slashing_tx_fee_sat": "6000",
196
+ "slashing_rate": "0.050000000000000000",
197
+ "unbonding_time_blocks": 1008,
198
+ "unbonding_fee_sat": "2000",
199
+ "min_commission_rate": "0.030000000000000000",
200
+ "delegation_creation_base_gas_fee": "1095000",
201
+ "allow_list_expiration_height": "26124",
202
+ "btc_activation_height": 235952
203
+ }
204
+ }
205
+ ]
@@ -0,0 +1,6 @@
1
+ import * as bitcoinjslib from 'bitcoinjs-lib';
2
+ import * as utxolib from '@bitgo/utxo-lib';
3
+ import * as vendor from '@bitgo/babylonlabs-io-btc-staking-ts';
4
+ export declare const mockBabylonProvider: vendor.BabylonProvider;
5
+ export declare function createStakingManager(network: bitcoinjslib.Network | utxolib.Network, btcProvider: vendor.BtcProvider, stakingParams?: vendor.VersionedStakingParams[], babylonProvider?: vendor.BabylonProvider): vendor.BabylonBtcStakingManager;
6
+ //# sourceMappingURL=stakingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingManager.d.ts","sourceRoot":"","sources":["../../../src/babylon/stakingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAI/D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAIxC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,aAAa,CAAC,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAC/C,eAAe,yBAAsB,GACpC,MAAM,CAAC,wBAAwB,CAsBjC"}
@@ -0,0 +1,65 @@
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.mockBabylonProvider = void 0;
37
+ exports.createStakingManager = createStakingManager;
38
+ const bitcoinjslib = __importStar(require("bitcoinjs-lib"));
39
+ const utxolib = __importStar(require("@bitgo/utxo-lib"));
40
+ const vendor = __importStar(require("@bitgo/babylonlabs-io-btc-staking-ts"));
41
+ const stakingParams_1 = require("./stakingParams");
42
+ exports.mockBabylonProvider = {
43
+ signTransaction() {
44
+ throw new Error('Function not implemented.');
45
+ },
46
+ };
47
+ function createStakingManager(network, btcProvider, stakingParams, babylonProvider = exports.mockBabylonProvider) {
48
+ if (utxolib.isValidNetwork(network)) {
49
+ switch (network) {
50
+ case utxolib.networks.bitcoin:
51
+ network = bitcoinjslib.networks.bitcoin;
52
+ break;
53
+ case utxolib.networks.testnet:
54
+ case utxolib.networks.bitcoinTestnet4:
55
+ throw new Error('Unsupported bitcoin testnet network - only signet is supported');
56
+ case utxolib.networks.bitcoinPublicSignet:
57
+ network = bitcoinjslib.networks.testnet;
58
+ break;
59
+ default:
60
+ throw new Error('Unsupported network');
61
+ }
62
+ }
63
+ return new vendor.BabylonBtcStakingManager(network, stakingParams ?? (0, stakingParams_1.getStakingParams)(network), btcProvider, babylonProvider);
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9zdGFraW5nTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFZQSxvREEyQkM7QUF2Q0QsNERBQThDO0FBQzlDLHlEQUEyQztBQUMzQyw2RUFBK0Q7QUFFL0QsbURBQW1EO0FBRXRDLFFBQUEsbUJBQW1CLEdBQTJCO0lBQ3pELGVBQWU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FDbEMsT0FBK0MsRUFDL0MsV0FBK0IsRUFDL0IsYUFBK0MsRUFDL0MsZUFBZSxHQUFHLDJCQUFtQjtJQUVyQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxRQUFRLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlCLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlO2dCQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7WUFDcEYsS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtnQkFDdkMsT0FBTyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDeEMsT0FBTyxFQUNQLGFBQWEsSUFBSSxJQUFBLGdDQUFnQixFQUFDLE9BQU8sQ0FBQyxFQUMxQyxXQUFXLEVBQ1gsZUFBZSxDQUNoQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJpdGNvaW5qc2xpYiBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHZlbmRvciBmcm9tICdAYml0Z28vYmFieWxvbmxhYnMtaW8tYnRjLXN0YWtpbmctdHMnO1xuXG5pbXBvcnQgeyBnZXRTdGFraW5nUGFyYW1zIH0gZnJvbSAnLi9zdGFraW5nUGFyYW1zJztcblxuZXhwb3J0IGNvbnN0IG1vY2tCYWJ5bG9uUHJvdmlkZXI6IHZlbmRvci5CYWJ5bG9uUHJvdmlkZXIgPSB7XG4gIHNpZ25UcmFuc2FjdGlvbigpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdGFraW5nTWFuYWdlcihcbiAgbmV0d29yazogYml0Y29pbmpzbGliLk5ldHdvcmsgfCB1dHhvbGliLk5ldHdvcmssXG4gIGJ0Y1Byb3ZpZGVyOiB2ZW5kb3IuQnRjUHJvdmlkZXIsXG4gIHN0YWtpbmdQYXJhbXM/OiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdLFxuICBiYWJ5bG9uUHJvdmlkZXIgPSBtb2NrQmFieWxvblByb3ZpZGVyXG4pOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyIHtcbiAgaWYgKHV0eG9saWIuaXNWYWxpZE5ldHdvcmsobmV0d29yaykpIHtcbiAgICBzd2l0Y2ggKG5ldHdvcmspIHtcbiAgICAgIGNhc2UgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luOlxuICAgICAgICBuZXR3b3JrID0gYml0Y29pbmpzbGliLm5ldHdvcmtzLmJpdGNvaW47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQ6XG4gICAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pblRlc3RuZXQ0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGJpdGNvaW4gdGVzdG5ldCBuZXR3b3JrIC0gb25seSBzaWduZXQgaXMgc3VwcG9ydGVkJyk7XG4gICAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pblB1YmxpY1NpZ25ldDpcbiAgICAgICAgbmV0d29yayA9IGJpdGNvaW5qc2xpYi5uZXR3b3Jrcy50ZXN0bmV0O1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbmV0d29yaycpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3IHZlbmRvci5CYWJ5bG9uQnRjU3Rha2luZ01hbmFnZXIoXG4gICAgbmV0d29yayxcbiAgICBzdGFraW5nUGFyYW1zID8/IGdldFN0YWtpbmdQYXJhbXMobmV0d29yayksXG4gICAgYnRjUHJvdmlkZXIsXG4gICAgYmFieWxvblByb3ZpZGVyXG4gICk7XG59XG4iXX0=
@@ -1,31 +1,39 @@
1
- import { BIP32Interface, ECPairInterface } from '@bitgo/utxo-lib';
2
- import { StakerInfo, StakingInputs, VersionedStakingParams } from '@bitgo/babylonlabs-io-btc-staking-ts';
1
+ import * as t from 'io-ts';
2
+ import * as tt from 'io-ts-types';
3
+ import * as utxolib from '@bitgo/utxo-lib';
4
+ import { StakerInfo, StakingInputs, StakingParams, VersionedStakingParams } from '@bitgo/babylonlabs-io-btc-staking-ts';
5
+ export { getBabylonParamByVersion, getBabylonParamByBtcHeight } from '@bitgo/babylonlabs-io-btc-staking-ts';
3
6
  import { BabylonDescriptorBuilder } from './descriptor';
4
- export type JsonParams = {
5
- version: number;
6
- covenant_pks: string[];
7
- covenant_quorum: number;
8
- min_staking_value_sat: number;
9
- max_staking_value_sat: number;
10
- min_staking_time_blocks: number;
11
- max_staking_time_blocks: number;
12
- slashing_pk_script: string;
13
- min_slashing_tx_fee_sat: number;
14
- slashing_rate: string;
15
- unbonding_time_blocks: number;
16
- unbonding_fee_sat: number;
17
- min_commission_rate: string;
18
- delegation_creation_base_gas_fee: number;
19
- allow_list_expiration_height: number;
20
- btc_activation_height: number;
21
- };
22
- export declare const testnetStakingParams: JsonParams;
23
- export declare const mainnetStakingParams: JsonParams;
24
- export declare function toVersionedParams(p: JsonParams): VersionedStakingParams;
7
+ import { BabylonNetworkLike } from './network';
8
+ declare const BabylonParamsJSON: t.TypeC<{
9
+ covenant_pks: t.ArrayC<t.StringC>;
10
+ covenant_quorum: t.NumberC;
11
+ min_staking_value_sat: tt.NumberFromStringC;
12
+ max_staking_value_sat: tt.NumberFromStringC;
13
+ min_staking_time_blocks: t.NumberC;
14
+ max_staking_time_blocks: t.NumberC;
15
+ slashing_pk_script: t.StringC;
16
+ min_slashing_tx_fee_sat: tt.NumberFromStringC;
17
+ slashing_rate: t.StringC;
18
+ unbonding_time_blocks: t.NumberC;
19
+ unbonding_fee_sat: tt.NumberFromStringC;
20
+ min_commission_rate: tt.NumberFromStringC;
21
+ delegation_creation_base_gas_fee: tt.NumberFromStringC;
22
+ allow_list_expiration_height: tt.NumberFromStringC;
23
+ btc_activation_height: t.NumberC;
24
+ }>;
25
+ type BabylonParamsJSON = t.TypeOf<typeof BabylonParamsJSON>;
26
+ export declare function toVersionedParams(ps: BabylonParamsJSON[]): VersionedStakingParams[];
27
+ export declare const mainnetStakingParams: readonly VersionedStakingParams[];
28
+ export declare const testnetStakingParams: readonly VersionedStakingParams[];
29
+ export declare function getStakingParams(network: BabylonNetworkLike): VersionedStakingParams[];
25
30
  export declare const testnetFinalityProvider0: Buffer<ArrayBuffer>;
26
- export declare function getDescriptorBuilderForParams(userKey: BIP32Interface | ECPairInterface | Buffer, finalityProviderKeys: Buffer[], params: Pick<VersionedStakingParams, 'covenantNoCoordPks' | 'covenantQuorum' | 'minStakingTimeBlocks' | 'unbondingTime'>): BabylonDescriptorBuilder;
27
- export declare function getDescriptorProviderForStakingParams(stakerBtcInfo: StakerInfo, stakingInput: StakingInputs, stakingParams: VersionedStakingParams): BabylonDescriptorBuilder;
28
- export declare function getTestnetDescriptorBuilder(userKey: BIP32Interface | ECPairInterface | Buffer, { finalityProviderKeys, }?: {
31
+ type DescriptorStakingParams = Pick<StakingParams, 'covenantNoCoordPks' | 'covenantQuorum' | 'minStakingTimeBlocks' | 'unbondingTime'>;
32
+ export declare function getDescriptorBuilderForParams(userKey: utxolib.BIP32Interface | utxolib.ECPairInterface | Buffer, finalityProviderKeys: Buffer[], stakingTimelock: number, params: DescriptorStakingParams): BabylonDescriptorBuilder;
33
+ export declare function getDescriptorProviderForStakingParams(stakerBtcInfo: Pick<StakerInfo, 'publicKeyNoCoordHex'>, stakingInput: StakingInputs, stakingParams: DescriptorStakingParams): BabylonDescriptorBuilder;
34
+ export declare function getTestnetDescriptorBuilder(userKey: utxolib.BIP32Interface | utxolib.ECPairInterface | Buffer, { finalityProviderKeys, params, stakingTimelock, }?: {
29
35
  finalityProviderKeys?: Buffer[];
36
+ params?: StakingParams;
37
+ stakingTimelock?: number;
30
38
  }): BabylonDescriptorBuilder;
31
39
  //# sourceMappingURL=stakingParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stakingParams.d.ts","sourceRoot":"","sources":["../../../src/babylon/stakingParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gCAAgC,EAAE,MAAM,CAAC;IACzC,4BAA4B,EAAE,MAAM,CAAC;IACrC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,UA2BlC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,UAuBlC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,sBAAsB,CAkBvE;AAGD,eAAO,MAAM,wBAAwB,qBAGpC,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,MAAM,EAClD,oBAAoB,EAAE,MAAM,EAAE,EAC9B,MAAM,EAAE,IAAI,CACV,sBAAsB,EACtB,oBAAoB,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,eAAe,CACnF,GACA,wBAAwB,CAY1B;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,sBAAsB,GACpC,wBAAwB,CAI1B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,MAAM,EAClD,EACE,oBAAiD,GAClD,GAAE;IACD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GACL,wBAAwB,CAE1B"}
1
+ {"version":3,"file":"stakingParams.d.ts","sourceRoot":"","sources":["../../../src/babylon/stakingParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAE5G,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,WAAW,CAAC;AAEjE,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;EAgBrB,CAAC;AAEH,KAAK,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAkBnF;AAeD,eAAO,MAAM,oBAAoB,EAAE,SAAS,sBAAsB,EAEjE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS,sBAAsB,EAEjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,sBAAsB,EAAE,CAStF;AAGD,eAAO,MAAM,wBAAwB,qBAGpC,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CACjC,aAAa,EACb,oBAAoB,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,eAAe,CACnF,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,MAAM,EAClE,oBAAoB,EAAE,MAAM,EAAE,EAC9B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,uBAAuB,GAC9B,wBAAwB,CAY1B;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,EACtD,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,uBAAuB,GACrC,wBAAwB,CAI1B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,MAAM,EAClE,EACE,oBAAiD,EACjD,MAAiE,EACjE,eAA6C,GAC9C,GAAE;IACD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GACL,wBAAwB,CAE1B"}
@@ -1,68 +1,79 @@
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
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testnetFinalityProvider0 = exports.mainnetStakingParams = exports.testnetStakingParams = void 0;
39
+ exports.testnetFinalityProvider0 = exports.testnetStakingParams = exports.mainnetStakingParams = exports.getBabylonParamByBtcHeight = exports.getBabylonParamByVersion = void 0;
4
40
  exports.toVersionedParams = toVersionedParams;
41
+ exports.getStakingParams = getStakingParams;
5
42
  exports.getDescriptorBuilderForParams = getDescriptorBuilderForParams;
6
43
  exports.getDescriptorProviderForStakingParams = getDescriptorProviderForStakingParams;
7
44
  exports.getTestnetDescriptorBuilder = getTestnetDescriptorBuilder;
45
+ const t = __importStar(require("io-ts"));
46
+ const tt = __importStar(require("io-ts-types"));
47
+ const Either_1 = require("fp-ts/Either");
48
+ const PathReporter_1 = require("io-ts/lib/PathReporter");
49
+ const babylonlabs_io_btc_staking_ts_1 = require("@bitgo/babylonlabs-io-btc-staking-ts");
50
+ var babylonlabs_io_btc_staking_ts_2 = require("@bitgo/babylonlabs-io-btc-staking-ts");
51
+ Object.defineProperty(exports, "getBabylonParamByVersion", { enumerable: true, get: function () { return babylonlabs_io_btc_staking_ts_2.getBabylonParamByVersion; } });
52
+ Object.defineProperty(exports, "getBabylonParamByBtcHeight", { enumerable: true, get: function () { return babylonlabs_io_btc_staking_ts_2.getBabylonParamByBtcHeight; } });
8
53
  const descriptor_1 = require("./descriptor");
9
- // Source: https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/app/upgrades/v1/testnet/btcstaking_params.go#L149-L159
10
- exports.testnetStakingParams = {
11
- version: 5 /* it's the sixth element in the array */,
12
- covenant_pks: [
13
- 'fa9d882d45f4060bdb8042183828cd87544f1ea997380e586cab77d5fd698737',
14
- '0aee0509b16db71c999238a4827db945526859b13c95487ab46725357c9a9f25',
15
- '17921cf156ccb4e73d428f996ed11b245313e37e27c978ac4d2cc21eca4672e4',
16
- '113c3a32a9d320b72190a04a020a0db3976ef36972673258e9a38a364f3dc3b0',
17
- '79a71ffd71c503ef2e2f91bccfc8fcda7946f4653cef0d9f3dde20795ef3b9f0',
18
- '3bb93dfc8b61887d771f3630e9a63e97cbafcfcc78556a474df83a31a0ef899c',
19
- 'd21faf78c6751a0d38e6bd8028b907ff07e9a869a43fc837d6b3f8dff6119a36',
20
- '40afaf47c4ffa56de86410d8e47baa2bb6f04b604f4ea24323737ddc3fe092df',
21
- 'f5199efae3f28bb82476163a7e458c7ad445d9bffb0682d10d3bdb2cb41f8e8e',
22
- ],
23
- covenant_quorum: 6,
24
- min_staking_value_sat: 50000,
25
- max_staking_value_sat: 35000000000,
26
- min_staking_time_blocks: 10000,
27
- max_staking_time_blocks: 64000,
28
- slashing_pk_script: 'ABRb4SYk0IorQkCV18ByIcM0UNFL8Q==',
29
- min_slashing_tx_fee_sat: 5000,
30
- slashing_rate: '0.05',
31
- unbonding_time_blocks: 1008,
32
- unbonding_fee_sat: 2000,
33
- min_commission_rate: '0.03',
34
- delegation_creation_base_gas_fee: 1095000,
35
- allow_list_expiration_height: 26124,
36
- btc_activation_height: 227174,
37
- };
38
- // https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/app/upgrades/v1/mainnet/btcstaking_params.go#L4-L28
39
- exports.mainnetStakingParams = {
40
- version: 0,
41
- covenant_pks: [
42
- '43311589af63c2adda04fcd7792c038a05c12a4fe40351b3eb1612ff6b2e5a0e',
43
- 'd415b187c6e7ce9da46ac888d20df20737d6f16a41639e68ea055311e1535dd9',
44
- 'd27cd27dbff481bc6fc4aa39dd19405eb6010237784ecba13bab130a4a62df5d',
45
- 'a3e107fee8879f5cf901161dbf4ff61c252ba5fec6f6407fe81b9453d244c02c',
46
- 'c45753e856ad0abb06f68947604f11476c157d13b7efd54499eaa0f6918cf716',
47
- ],
48
- covenant_quorum: 3,
49
- min_staking_value_sat: 10000,
50
- max_staking_value_sat: 10000000000,
51
- min_staking_time_blocks: 10,
52
- max_staking_time_blocks: 65535,
53
- slashing_pk_script: 'dqkUAQEBAQEBAQEBAQEBAQEBAQEBAQGIrA==',
54
- min_slashing_tx_fee_sat: 1000,
55
- slashing_rate: '0.100000000000000000',
56
- unbonding_time_blocks: 101,
57
- unbonding_fee_sat: 1000,
58
- min_commission_rate: '0.03',
59
- delegation_creation_base_gas_fee: 1000,
60
- allow_list_expiration_height: 0,
61
- btc_activation_height: 100,
62
- };
63
- function toVersionedParams(p) {
64
- return {
65
- version: p.version,
54
+ const params_mainnet_json_1 = __importDefault(require("./params.mainnet.json"));
55
+ const params_testnet_json_1 = __importDefault(require("./params.testnet.json"));
56
+ const network_1 = require("./network");
57
+ const BabylonParamsJSON = t.type({
58
+ covenant_pks: t.array(t.string),
59
+ covenant_quorum: t.number,
60
+ min_staking_value_sat: tt.NumberFromString,
61
+ max_staking_value_sat: tt.NumberFromString,
62
+ min_staking_time_blocks: t.number,
63
+ max_staking_time_blocks: t.number,
64
+ slashing_pk_script: t.string,
65
+ min_slashing_tx_fee_sat: tt.NumberFromString,
66
+ slashing_rate: t.string,
67
+ unbonding_time_blocks: t.number,
68
+ unbonding_fee_sat: tt.NumberFromString,
69
+ min_commission_rate: tt.NumberFromString,
70
+ delegation_creation_base_gas_fee: tt.NumberFromString,
71
+ allow_list_expiration_height: tt.NumberFromString,
72
+ btc_activation_height: t.number,
73
+ });
74
+ function toVersionedParams(ps) {
75
+ return ps.map((p, version) => ({
76
+ version,
66
77
  btcActivationHeight: p.btc_activation_height,
67
78
  covenantNoCoordPks: p.covenant_pks,
68
79
  covenantQuorum: p.covenant_quorum,
@@ -77,22 +88,44 @@ function toVersionedParams(p) {
77
88
  slashingRate: parseFloat(p.slashing_rate),
78
89
  minSlashingTxFeeSat: p.min_slashing_tx_fee_sat,
79
90
  },
80
- };
91
+ }));
92
+ }
93
+ function toVersionedParamsFromJson(jsonParams) {
94
+ return toVersionedParams(jsonParams.map((p) => {
95
+ const result = t.type({ params: BabylonParamsJSON }).decode(p);
96
+ if ((0, Either_1.isLeft)(result)) {
97
+ const msg = PathReporter_1.PathReporter.report(result).join('\n');
98
+ throw new Error(`Invalid testnet params: ${msg}`);
99
+ }
100
+ return result.right.params;
101
+ }));
102
+ }
103
+ exports.mainnetStakingParams = Object.freeze(toVersionedParamsFromJson(params_mainnet_json_1.default));
104
+ exports.testnetStakingParams = Object.freeze(toVersionedParamsFromJson(params_testnet_json_1.default));
105
+ function getStakingParams(network) {
106
+ switch ((0, network_1.toBabylonNetwork)(network)) {
107
+ case 'mainnet':
108
+ return [...exports.mainnetStakingParams];
109
+ case 'testnet':
110
+ return [...exports.testnetStakingParams];
111
+ default:
112
+ throw new Error('Unsupported network');
113
+ }
81
114
  }
82
115
  // Source: https://btcstaking.testnet.babylonlabs.io/ "Babylon Foundation 0"
83
116
  exports.testnetFinalityProvider0 = Buffer.from('d23c2c25e1fcf8fd1c21b9a402c19e2e309e531e45e92fb1e9805b6056b0cc76', 'hex');
84
- function getDescriptorBuilderForParams(userKey, finalityProviderKeys, params) {
117
+ function getDescriptorBuilderForParams(userKey, finalityProviderKeys, stakingTimelock, params) {
85
118
  if (!Buffer.isBuffer(userKey)) {
86
119
  userKey = userKey.publicKey;
87
120
  }
88
- return new descriptor_1.BabylonDescriptorBuilder(userKey, finalityProviderKeys, params.covenantNoCoordPks.map((pk) => Buffer.from(pk, 'hex')), params.covenantQuorum, params.minStakingTimeBlocks, params.unbondingTime);
121
+ return new descriptor_1.BabylonDescriptorBuilder(userKey, finalityProviderKeys, params.covenantNoCoordPks.map((pk) => Buffer.from(pk, 'hex')), params.covenantQuorum, stakingTimelock, params.unbondingTime);
89
122
  }
90
123
  function getDescriptorProviderForStakingParams(stakerBtcInfo, stakingInput, stakingParams) {
91
124
  const userKey = Buffer.from(stakerBtcInfo.publicKeyNoCoordHex, 'hex');
92
125
  const finalityProviderKey = Buffer.from(stakingInput.finalityProviderPkNoCoordHex, 'hex');
93
- return getDescriptorBuilderForParams(userKey, [finalityProviderKey], stakingParams);
126
+ return getDescriptorBuilderForParams(userKey, [finalityProviderKey], stakingInput.stakingTimelock, stakingParams);
94
127
  }
95
- function getTestnetDescriptorBuilder(userKey, { finalityProviderKeys = [exports.testnetFinalityProvider0], } = {}) {
96
- return getDescriptorBuilderForParams(userKey, finalityProviderKeys, toVersionedParams(exports.testnetStakingParams));
128
+ function getTestnetDescriptorBuilder(userKey, { finalityProviderKeys = [exports.testnetFinalityProvider0], params = (0, babylonlabs_io_btc_staking_ts_1.getBabylonParamByVersion)(5, getStakingParams('testnet')), stakingTimelock = params.minStakingTimeBlocks, } = {}) {
129
+ return getDescriptorBuilderForParams(userKey, finalityProviderKeys, stakingTimelock, params);
97
130
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1BhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL3N0YWtpbmdQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0ZBLDhDQWtCQztBQVFELHNFQW1CQztBQUVELHNGQVFDO0FBRUQsa0VBU0M7QUEvSUQsNkNBQXdEO0FBcUJ4RCx3SUFBd0k7QUFDM0gsUUFBQSxvQkFBb0IsR0FBZTtJQUM5QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztJQUNwRCxZQUFZLEVBQUU7UUFDWixrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtLQUNuRTtJQUNELGVBQWUsRUFBRSxDQUFDO0lBQ2xCLHFCQUFxQixFQUFFLEtBQUs7SUFDNUIscUJBQXFCLEVBQUUsV0FBVztJQUNsQyx1QkFBdUIsRUFBRSxLQUFLO0lBQzlCLHVCQUF1QixFQUFFLEtBQUs7SUFDOUIsa0JBQWtCLEVBQUUsa0NBQWtDO0lBQ3RELHVCQUF1QixFQUFFLElBQUk7SUFDN0IsYUFBYSxFQUFFLE1BQU07SUFDckIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsZ0NBQWdDLEVBQUUsT0FBTztJQUN6Qyw0QkFBNEIsRUFBRSxLQUFLO0lBQ25DLHFCQUFxQixFQUFFLE1BQU07Q0FDOUIsQ0FBQztBQUVGLDZIQUE2SDtBQUNoSCxRQUFBLG9CQUFvQixHQUFlO0lBQzlDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsWUFBWSxFQUFFO1FBQ1osa0VBQWtFO1FBQ2xFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsa0VBQWtFO1FBQ2xFLGtFQUFrRTtLQUNuRTtJQUNELGVBQWUsRUFBRSxDQUFDO0lBQ2xCLHFC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QUFDLDRCQUFvQixDQUFDLENBQUMsQ0FBQztBQUMvRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UsIEVDUGFpckludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBTdGFrZXJJbmZvLCBTdGFraW5nSW5wdXRzLCBWZXJzaW9uZWRTdGFraW5nUGFyYW1zIH0gZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcblxuaW1wb3J0IHsgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgSnNvblBhcmFtcyA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBjb3ZlbmFudF9wa3M6IHN0cmluZ1tdO1xuICBjb3ZlbmFudF9xdW9ydW06IG51bWJlcjtcbiAgbWluX3N0YWtpbmdfdmFsdWVfc2F0OiBudW1iZXI7XG4gIG1heF9zdGFraW5nX3ZhbHVlX3NhdDogbnVtYmVyO1xuICBtaW5fc3Rha2luZ190aW1lX2Jsb2NrczogbnVtYmVyO1xuICBtYXhfc3Rha2luZ190aW1lX2Jsb2NrczogbnVtYmVyO1xuICBzbGFzaGluZ19wa19zY3JpcHQ6IHN0cmluZztcbiAgbWluX3NsYXNoaW5nX3R4X2ZlZV9zYXQ6IG51bWJlcjtcbiAgc2xhc2hpbmdfcmF0ZTogc3RyaW5nO1xuICB1bmJvbmRpbmdfdGltZV9ibG9ja3M6IG51bWJlcjtcbiAgdW5ib25kaW5nX2ZlZV9zYXQ6IG51bWJlcjtcbiAgbWluX2NvbW1pc3Npb25fcmF0ZTogc3RyaW5nO1xuICBkZWxlZ2F0aW9uX2NyZWF0aW9uX2Jhc2VfZ2FzX2ZlZTogbnVtYmVyO1xuICBhbGxvd19saXN0X2V4cGlyYXRpb25faGVpZ2h0OiBudW1iZXI7XG4gIGJ0Y19hY3RpdmF0aW9uX2hlaWdodDogbnVtYmVyO1xufTtcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL3YxLjk5LjAtc25hcHNob3QuMjUwMjExL2FwcC91cGdyYWRlcy92MS90ZXN0bmV0L2J0Y3N0YWtpbmdfcGFyYW1zLmdvI0wxNDktTDE1OVxuZXhwb3J0IGNvbnN0IHRlc3RuZXRTdGFraW5nUGFyYW1zOiBKc29uUGFyYW1zID0ge1xuICB2ZXJzaW9uOiA1IC8qIGl0J3MgdGhlIHNpeHRoIGVsZW1lbnQgaW4gdGhlIGFycmF5ICovLFxuICBjb3ZlbmFudF9wa3M6IFtcbiAgICAnZmE5ZDg4MmQ0NWY0MDYwYmRiODA0MjE4MzgyOGNkODc1NDRmMWVhOTk3MzgwZTU4NmNhYjc3ZDVmZDY5ODczNycsXG4gICAgJzBhZWUwNTA5YjE2ZGI3MWM5OTkyMzhhNDgyN2RiOTQ1NTI2ODU5YjEzYzk1NDg3YWI0NjcyNTM1N2M5YTlmMjUnLFxuICAgICcxNzkyMWNmMTU2Y2NiNGU3M2Q0MjhmOTk2ZWQxMWIyNDUzMTNlMzdlMjdjOTc4YWM0ZDJjYzIxZWNhNDY3MmU0JyxcbiAgICAnMTEzYzNhMzJhOWQzMjBiNzIxOTBhMDRhMDIwYTBkYjM5NzZlZjM2OTcyNjczMjU4ZTlhMzhhMzY0ZjNkYzNiMCcsXG4gICAgJzc5YTcxZmZkNzFjNTAzZWYyZTJmOTFiY2NmYzhmY2RhNzk0NmY0NjUzY2VmMGQ5ZjNkZGUyMDc5NWVmM2I5ZjAnLFxuICAgICczYmI5M2RmYzhiNjE4ODdkNzcxZjM2MzBlOWE2M2U5N2NiYWZjZmNjNzg1NTZhNDc0ZGY4M2EzMWEwZWY4OTljJyxcbiAgICAnZDIxZmFmNzhjNjc1MWEwZDM4ZTZiZDgwMjhiOTA3ZmYwN2U5YTg2OWE0M2ZjODM3ZDZiM2Y4ZGZmNjExOWEzNicsXG4gICAgJzQwYWZhZjQ3YzRmZmE1NmRlODY0MTBkOGU0N2JhYTJiYjZmMDRiNjA0ZjRlYTI0MzIzNzM3ZGRjM2ZlMDkyZGYnLFxuICAgICdmNTE5OWVmYWUzZjI4YmI4MjQ3NjE2M2E3ZTQ1OGM3YWQ0NDVkOWJmZmIwNjgyZDEwZDNiZGIyY2I0MWY4ZThlJyxcbiAgXSxcbiAgY292ZW5hbnRfcXVvcnVtOiA2LFxuICBtaW5fc3Rha2luZ192YWx1ZV9zYXQ6IDUwMDAwLFxuICBtYXhfc3Rha2luZ192YWx1ZV9zYXQ6IDM1MDAwMDAwMDAwLFxuICBtaW5fc3Rha2luZ190aW1lX2Jsb2NrczogMTAwMDAsXG4gIG1heF9zdGFraW5nX3RpbWVfYmxvY2tzOiA2NDAwMCxcbiAgc2xhc2hpbmdfcGtfc2NyaXB0OiAnQUJSYjRTWWswSW9yUWtDVjE4QnlJY00wVU5GTDhRPT0nLFxuICBtaW5fc2xhc2hpbmdfdHhfZmVlX3NhdDogNTAwMCxcbiAgc2xhc2hpbmdfcmF0ZTogJzAuMDUnLFxuICB1bmJvbmRpbmdfdGltZV9ibG9ja3M6IDEwMDgsXG4gIHVuYm9uZGluZ19mZWVfc2F0OiAyMDAwLFxuICBtaW5fY29tbWlzc2lvbl9yYXRlOiAnMC4wMycsXG4gIGRlbGVnYXRpb25fY3JlYXRpb25fYmFzZV9nYXNfZmVlOiAxMDk1MDAwLFxuICBhbGxvd19saXN0X2V4cGlyYXRpb25faGVpZ2h0OiAyNjEyNCxcbiAgYnRjX2FjdGl2YXRpb25faGVpZ2h0OiAyMjcxNzQsXG59O1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL3YxLjk5LjAtc25hcHNob3QuMjUwMjExL2FwcC91cGdyYWRlcy92MS9tYWlubmV0L2J0Y3N0YWtpbmdfcGFyYW1zLmdvI0w0LUwyOFxuZXhwb3J0IGNvbnN0IG1haW5uZXRTdGFraW5nUGFyYW1zOiBKc29uUGFyYW1zID0ge1xuICB2ZXJzaW9uOiAwLFxuICBjb3ZlbmFudF9wa3M6IFtcbiAgICAnNDMzMTE1ODlhZjYzYzJhZGRhMDRmY2Q3NzkyYzAzOGEwNWMxMmE0ZmU0MDM1MWIzZWIxNjEyZmY2YjJlNWEwZScsXG4gICAgJ2Q0MTViMTg3YzZlN2NlOWRhNDZhYzg4OGQyMGRmMjA3MzdkNmYxNmE0MTYzOWU2OGVhMDU1MzExZTE1MzVkZDknLFxuICAgICdkMjdjZDI3ZGJmZjQ4MWJjNmZjNGFhMzlkZDE5NDA1ZWI2MDEwMjM3Nzg0ZWNiYTEzYmFiMTMwYTRhNjJkZjVkJyxcbiAgICAnYTNlMTA3ZmVlODg3OWY1Y2Y5MDExNjFkYmY0ZmY2MWMyNTJiYTVmZWM2ZjY0MDdmZTgxYjk0NTNkMjQ0YzAyYycsXG4gICAgJ2M0NTc1M2U4NTZhZDBhYmIwNmY2ODk0NzYwNGYxMTQ3NmMxNTdkMTNiN2VmZDU0NDk5ZWFhMGY2OTE4Y2Y3MTYnLFxuICBdLFxuICBjb3ZlbmFudF9xdW9ydW06IDMsXG4gIG1pbl9zdGFraW5nX3ZhbHVlX3NhdDogMTAwMDAsXG4gIG1heF9zdGFraW5nX3ZhbHVlX3NhdDogMTAwMDAwMDAwMDAsXG4gIG1pbl9zdGFraW5nX3RpbWVfYmxvY2tzOiAxMCxcbiAgbWF4X3N0YWtpbmdfdGltZV9ibG9ja3M6IDY1NTM1LFxuICBzbGFzaGluZ19wa19zY3JpcHQ6ICdkcWtVQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFHSXJBPT0nLFxuICBtaW5fc2xhc2hpbmdfdHhfZmVlX3NhdDogMTAwMCxcbiAgc2xhc2hpbmdfcmF0ZTogJzAuMTAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgdW5ib25kaW5nX3RpbWVfYmxvY2tzOiAxMDEsXG4gIHVuYm9uZGluZ19mZWVfc2F0OiAxMDAwLFxuICBtaW5fY29tbWlzc2lvbl9yYXRlOiAnMC4wMycsXG4gIGRlbGVnYXRpb25fY3JlYXRpb25fYmFzZV9nYXNfZmVlOiAxMDAwLFxuICBhbGxvd19saXN0X2V4cGlyYXRpb25faGVpZ2h0OiAwLFxuICBidGNfYWN0aXZhdGlvbl9oZWlnaHQ6IDEwMCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1ZlcnNpb25lZFBhcmFtcyhwOiBKc29uUGFyYW1zKTogVmVyc2lvbmVkU3Rha2luZ1BhcmFtcyB7XG4gIHJldHVybiB7XG4gICAgdmVyc2lvbjogcC52ZXJzaW9uLFxuICAgIGJ0Y0FjdGl2YXRpb25IZWlnaHQ6IHAuYnRjX2FjdGl2YXRpb25faGVpZ2h0LFxuICAgIGNvdmVuYW50Tm9Db29yZFBrczogcC5jb3ZlbmFudF9wa3MsXG4gICAgY292ZW5hbnRRdW9ydW06IHAuY292ZW5hbnRfcXVvcnVtLFxuICAgIHVuYm9uZGluZ1RpbWU6IHAudW5ib25kaW5nX3RpbWVfYmxvY2tzLFxuICAgIHVuYm9uZGluZ0ZlZVNhdDogcC51bmJvbmRpbmdfZmVlX3NhdCxcbiAgICBtYXhTdGFraW5nQW1vdW50U2F0OiBwLm1heF9zdGFraW5nX3ZhbHVlX3NhdCxcbiAgICBtaW5TdGFraW5nQW1vdW50U2F0OiBwLm1pbl9zdGFraW5nX3ZhbHVlX3NhdCxcbiAgICBtYXhTdGFraW5nVGltZUJsb2NrczogcC5tYXhfc3Rha2luZ190aW1lX2Jsb2NrcyxcbiAgICBtaW5TdGFraW5nVGltZUJsb2NrczogcC5taW5fc3Rha2luZ190aW1lX2Jsb2NrcyxcbiAgICBzbGFzaGluZzoge1xuICAgICAgc2xhc2hpbmdQa1NjcmlwdEhleDogQnVmZmVyLmZyb20ocC5zbGFzaGluZ19wa19zY3JpcHQsICdiYXNlNjQnKS50b1N0cmluZygnaGV4JyksXG4gICAgICBzbGFzaGluZ1JhdGU6IHBhcnNlRmxvYXQocC5zbGFzaGluZ19yYXRlKSxcbiAgICAgIG1pblNsYXNoaW5nVHhGZWVTYXQ6IHAubWluX3NsYXNoaW5nX3R4X2ZlZV9zYXQsXG4gICAgfSxcbiAgfTtcbn1cblxuLy8gU291cmNlOiBodHRwczovL2J0Y3N0YWtpbmcudGVzdG5ldC5iYWJ5bG9ubGFicy5pby8gXCJCYWJ5bG9uIEZvdW5kYXRpb24gMFwiXG5leHBvcnQgY29uc3QgdGVzdG5ldEZpbmFsaXR5UHJvdmlkZXIwID0gQnVmZmVyLmZyb20oXG4gICdkMjNjMmMyNWUxZmNmOGZkMWMyMWI5YTQwMmMxOWUyZTMwOWU1MzFlNDVlOTJmYjFlOTgwNWI2MDU2YjBjYzc2JyxcbiAgJ2hleCdcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yQnVpbGRlckZvclBhcmFtcyhcbiAgdXNlcktleTogQklQMzJJbnRlcmZhY2UgfCBFQ1BhaXJJbnRlcmZhY2UgfCBCdWZmZXIsXG4gIGZpbmFsaXR5UHJvdmlkZXJLZXlzOiBCdWZmZXJbXSxcbiAgcGFyYW1zOiBQaWNrPFxuICAgIFZlcnNpb25lZFN0YWtpbmdQYXJhbXMsXG4gICAgJ2NvdmVuYW50Tm9Db29yZFBrcycgfCAnY292ZW5hbnRRdW9ydW0nIHwgJ21pblN0YWtpbmdUaW1lQmxvY2tzJyB8ICd1bmJvbmRpbmdUaW1lJ1xuICA+XG4pOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIge1xuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih1c2VyS2V5KSkge1xuICAgIHVzZXJLZXkgPSB1c2VyS2V5LnB1YmxpY0tleTtcbiAgfVxuICByZXR1cm4gbmV3IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlcihcbiAgICB1c2VyS2V5LFxuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgIHBhcmFtcy5jb3ZlbmFudE5vQ29vcmRQa3MubWFwKChwaykgPT4gQnVmZmVyLmZyb20ocGssICdoZXgnKSksXG4gICAgcGFyYW1zLmNvdmVuYW50UXVvcnVtLFxuICAgIHBhcmFtcy5taW5TdGFraW5nVGltZUJsb2NrcyxcbiAgICBwYXJhbXMudW5ib25kaW5nVGltZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvclByb3ZpZGVyRm9yU3Rha2luZ1BhcmFtcyhcbiAgc3Rha2VyQnRjSW5mbzogU3Rha2VySW5mbyxcbiAgc3Rha2luZ0lucHV0OiBTdGFraW5nSW5wdXRzLFxuICBzdGFraW5nUGFyYW1zOiBWZXJzaW9uZWRTdGFraW5nUGFyYW1zXG4pOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIge1xuICBjb25zdCB1c2VyS2V5ID0gQnVmZmVyLmZyb20oc3Rha2VyQnRjSW5mby5wdWJsaWNLZXlOb0Nvb3JkSGV4LCAnaGV4Jyk7XG4gIGNvbnN0IGZpbmFsaXR5UHJvdmlkZXJLZXkgPSBCdWZmZXIuZnJvbShzdGFraW5nSW5wdXQuZmluYWxpdHlQcm92aWRlclBrTm9Db29yZEhleCwgJ2hleCcpO1xuICByZXR1cm4gZ2V0RGVzY3JpcHRvckJ1aWxkZXJGb3JQYXJhbXModXNlcktleSwgW2ZpbmFsaXR5UHJvdmlkZXJLZXldLCBzdGFraW5nUGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RuZXREZXNjcmlwdG9yQnVpbGRlcihcbiAgdXNlcktleTogQklQMzJJbnRlcmZhY2UgfCBFQ1BhaXJJbnRlcmZhY2UgfCBCdWZmZXIsXG4gIHtcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyA9IFt0ZXN0bmV0RmluYWxpdHlQcm92aWRlcjBdLFxuICB9OiB7XG4gICAgZmluYWxpdHlQcm92aWRlcktleXM/OiBCdWZmZXJbXTtcbiAgfSA9IHt9XG4pOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIge1xuICByZXR1cm4gZ2V0RGVzY3JpcHRvckJ1aWxkZXJGb3JQYXJhbXModXNlcktleSwgZmluYWxpdHlQcm92aWRlcktleXMsIHRvVmVyc2lvbmVkUGFyYW1zKHRlc3RuZXRTdGFraW5nUGFyYW1zKSk7XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1BhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL3N0YWtpbmdQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdUNBLDhDQWtCQztBQXVCRCw0Q0FTQztBQWFELHNFQWlCQztBQUVELHNGQVFDO0FBRUQsa0VBYUM7QUFoSkQseUNBQTJCO0FBQzNCLGdEQUFrQztBQUNsQyx5Q0FBc0M7QUFDdEMseURBQXNEO0FBRXRELHdGQU04QztBQUM5QyxzRkFBNEc7QUFBbkcseUlBQUEsd0JBQXdCLE9BQUE7QUFBRSwySUFBQSwwQkFBMEIsT0FBQTtBQUU3RCw2Q0FBd0Q7QUFDeEQsZ0ZBQXNEO0FBQ3RELGdGQUFzRDtBQUN0RCx1Q0FBaUU7QUFFakUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9CLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsZUFBZSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3pCLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0I7SUFDMUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLGdCQUFnQjtJQUMxQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUM1Qix1QkFBdUIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCO0lBQzVDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUN2QixxQkFBcUIsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUMvQixpQkFBaUIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCO0lBQ3RDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0I7SUFDeEMsZ0NBQWdDLEVBQUUsRUFBRSxDQUFD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cm9tICdpby10cyc7XG5pbXBvcnQgKiBhcyB0dCBmcm9tICdpby10cy10eXBlcyc7XG5pbXBvcnQgeyBpc0xlZnQgfSBmcm9tICdmcC10cy9FaXRoZXInO1xuaW1wb3J0IHsgUGF0aFJlcG9ydGVyIH0gZnJvbSAnaW8tdHMvbGliL1BhdGhSZXBvcnRlcic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQge1xuICBnZXRCYWJ5bG9uUGFyYW1CeVZlcnNpb24sXG4gIFN0YWtlckluZm8sXG4gIFN0YWtpbmdJbnB1dHMsXG4gIFN0YWtpbmdQYXJhbXMsXG4gIFZlcnNpb25lZFN0YWtpbmdQYXJhbXMsXG59IGZyb20gJ0BiaXRnby9iYWJ5bG9ubGFicy1pby1idGMtc3Rha2luZy10cyc7XG5leHBvcnQgeyBnZXRCYWJ5bG9uUGFyYW1CeVZlcnNpb24sIGdldEJhYnlsb25QYXJhbUJ5QnRjSGVpZ2h0IH0gZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcblxuaW1wb3J0IHsgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcbmltcG9ydCBqc29uTWFpbm5ldFBhcmFtcyBmcm9tICcuL3BhcmFtcy5tYWlubmV0Lmpzb24nO1xuaW1wb3J0IGpzb25UZXN0bmV0UGFyYW1zIGZyb20gJy4vcGFyYW1zLnRlc3RuZXQuanNvbic7XG5pbXBvcnQgeyBCYWJ5bG9uTmV0d29ya0xpa2UsIHRvQmFieWxvbk5ldHdvcmsgfSBmcm9tICcuL25ldHdvcmsnO1xuXG5jb25zdCBCYWJ5bG9uUGFyYW1zSlNPTiA9IHQudHlwZSh7XG4gIGNvdmVuYW50X3BrczogdC5hcnJheSh0LnN0cmluZyksXG4gIGNvdmVuYW50X3F1b3J1bTogdC5udW1iZXIsXG4gIG1pbl9zdGFraW5nX3ZhbHVlX3NhdDogdHQuTnVtYmVyRnJvbVN0cmluZyxcbiAgbWF4X3N0YWtpbmdfdmFsdWVfc2F0OiB0dC5OdW1iZXJGcm9tU3RyaW5nLFxuICBtaW5fc3Rha2luZ190aW1lX2Jsb2NrczogdC5udW1iZXIsXG4gIG1heF9zdGFraW5nX3RpbWVfYmxvY2tzOiB0Lm51bWJlcixcbiAgc2xhc2hpbmdfcGtfc2NyaXB0OiB0LnN0cmluZyxcbiAgbWluX3NsYXNoaW5nX3R4X2ZlZV9zYXQ6IHR0Lk51bWJlckZyb21TdHJpbmcsXG4gIHNsYXNoaW5nX3JhdGU6IHQuc3RyaW5nLFxuICB1bmJvbmRpbmdfdGltZV9ibG9ja3M6IHQubnVtYmVyLFxuICB1bmJvbmRpbmdfZmVlX3NhdDogdHQuTnVtYmVyRnJvbVN0cmluZyxcbiAgbWluX2NvbW1pc3Npb25fcmF0ZTogdHQuTnVtYmVyRnJvbVN0cmluZyxcbiAgZGVsZWdhdGlvbl9jcmVhdGlvbl9iYXNlX2dhc19mZWU6IHR0Lk51bWJlckZyb21TdHJpbmcsXG4gIGFsbG93X2xpc3RfZXhwaXJhdGlvbl9oZWlnaHQ6IHR0Lk51bWJlckZyb21TdHJpbmcsXG4gIGJ0Y19hY3RpdmF0aW9uX2hlaWdodDogdC5udW1iZXIsXG59KTtcblxudHlwZSBCYWJ5bG9uUGFyYW1zSlNPTiA9IHQuVHlwZU9mPHR5cGVvZiBCYWJ5bG9uUGFyYW1zSlNPTj47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1ZlcnNpb25lZFBhcmFtcyhwczogQmFieWxvblBhcmFtc0pTT05bXSk6IFZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSB7XG4gIHJldHVybiBwcy5tYXAoKHAsIHZlcnNpb24pID0+ICh7XG4gICAgdmVyc2lvbixcbiAgICBidGNBY3RpdmF0aW9uSGVpZ2h0OiBwLmJ0Y19hY3RpdmF0aW9uX2hlaWdodCxcbiAgICBjb3ZlbmFudE5vQ29vcmRQa3M6IHAuY292ZW5hbnRfcGtzLFxuICAgIGNvdmVuYW50UXVvcnVtOiBwLmNvdmVuYW50X3F1b3J1bSxcbiAgICB1bmJvbmRpbmdUaW1lOiBwLnVuYm9uZGluZ190aW1lX2Jsb2NrcyxcbiAgICB1bmJvbmRpbmdGZWVTYXQ6IHAudW5ib25kaW5nX2ZlZV9zYXQsXG4gICAgbWF4U3Rha2luZ0Ftb3VudFNhdDogcC5tYXhfc3Rha2luZ192YWx1ZV9zYXQsXG4gICAgbWluU3Rha2luZ0Ftb3VudFNhdDogcC5taW5fc3Rha2luZ192YWx1ZV9zYXQsXG4gICAgbWF4U3Rha2luZ1RpbWVCbG9ja3M6IHAubWF4X3N0YWtpbmdfdGltZV9ibG9ja3MsXG4gICAgbWluU3Rha2luZ1RpbWVCbG9ja3M6IHAubWluX3N0YWtpbmdfdGltZV9ibG9ja3MsXG4gICAgc2xhc2hpbmc6IHtcbiAgICAgIHNsYXNoaW5nUGtTY3JpcHRIZXg6IEJ1ZmZlci5mcm9tKHAuc2xhc2hpbmdfcGtfc2NyaXB0LCAnYmFzZTY0JykudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgc2xhc2hpbmdSYXRlOiBwYXJzZUZsb2F0KHAuc2xhc2hpbmdfcmF0ZSksXG4gICAgICBtaW5TbGFzaGluZ1R4RmVlU2F0OiBwLm1pbl9zbGFzaGluZ190eF9mZWVfc2F0LFxuICAgIH0sXG4gIH0pKTtcbn1cblxuZnVuY3Rpb24gdG9WZXJzaW9uZWRQYXJhbXNGcm9tSnNvbihqc29uUGFyYW1zOiB1bmtub3duW10pOiBWZXJzaW9uZWRTdGFraW5nUGFyYW1zW10ge1xuICByZXR1cm4gdG9WZXJzaW9uZWRQYXJhbXMoXG4gICAganNvblBhcmFtcy5tYXAoKHApOiBCYWJ5bG9uUGFyYW1zSlNPTiA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0LnR5cGUoeyBwYXJhbXM6IEJhYnlsb25QYXJhbXNKU09OIH0pLmRlY29kZShwKTtcbiAgICAgIGlmIChpc0xlZnQocmVzdWx0KSkge1xuICAgICAgICBjb25zdCBtc2cgPSBQYXRoUmVwb3J0ZXIucmVwb3J0KHJlc3VsdCkuam9pbignXFxuJyk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0ZXN0bmV0IHBhcmFtczogJHttc2d9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0LnJpZ2h0LnBhcmFtcztcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgY29uc3QgbWFpbm5ldFN0YWtpbmdQYXJhbXM6IHJlYWRvbmx5IFZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IE9iamVjdC5mcmVlemUoXG4gIHRvVmVyc2lvbmVkUGFyYW1zRnJvbUpzb24oanNvbk1haW5uZXRQYXJhbXMpXG4pO1xuXG5leHBvcnQgY29uc3QgdGVzdG5ldFN0YWtpbmdQYXJhbXM6IHJlYWRvbmx5IFZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IE9iamVjdC5mcmVlemUoXG4gIHRvVmVyc2lvbmVkUGFyYW1zRnJvbUpzb24oanNvblRlc3RuZXRQYXJhbXMpXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3Rha2luZ1BhcmFtcyhuZXR3b3JrOiBCYWJ5bG9uTmV0d29ya0xpa2UpOiBWZXJzaW9uZWRTdGFraW5nUGFyYW1zW10ge1xuICBzd2l0Y2ggKHRvQmFieWxvbk5ldHdvcmsobmV0d29yaykpIHtcbiAgICBjYXNlICdtYWlubmV0JzpcbiAgICAgIHJldHVybiBbLi4ubWFpbm5ldFN0YWtpbmdQYXJhbXNdO1xuICAgIGNhc2UgJ3Rlc3RuZXQnOlxuICAgICAgcmV0dXJuIFsuLi50ZXN0bmV0U3Rha2luZ1BhcmFtc107XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbmV0d29yaycpO1xuICB9XG59XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9idGNzdGFraW5nLnRlc3RuZXQuYmFieWxvbmxhYnMuaW8vIFwiQmFieWxvbiBGb3VuZGF0aW9uIDBcIlxuZXhwb3J0IGNvbnN0IHRlc3RuZXRGaW5hbGl0eVByb3ZpZGVyMCA9IEJ1ZmZlci5mcm9tKFxuICAnZDIzYzJjMjVlMWZjZjhmZDFjMjFiOWE0MDJjMTllMmUzMDllNTMxZTQ1ZTkyZmIxZTk4MDViNjA1NmIwY2M3NicsXG4gICdoZXgnXG4pO1xuXG50eXBlIERlc2NyaXB0b3JTdGFraW5nUGFyYW1zID0gUGljazxcbiAgU3Rha2luZ1BhcmFtcyxcbiAgJ2NvdmVuYW50Tm9Db29yZFBrcycgfCAnY292ZW5hbnRRdW9ydW0nIHwgJ21pblN0YWtpbmdUaW1lQmxvY2tzJyB8ICd1bmJvbmRpbmdUaW1lJ1xuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlc2NyaXB0b3JCdWlsZGVyRm9yUGFyYW1zKFxuICB1c2VyS2V5OiB1dHhvbGliLkJJUDMySW50ZXJmYWNlIHwgdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2UgfCBCdWZmZXIsXG4gIGZpbmFsaXR5UHJvdmlkZXJLZXlzOiBCdWZmZXJbXSxcbiAgc3Rha2luZ1RpbWVsb2NrOiBudW1iZXIsXG4gIHBhcmFtczogRGVzY3JpcHRvclN0YWtpbmdQYXJhbXNcbik6IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHVzZXJLZXkpKSB7XG4gICAgdXNlcktleSA9IHVzZXJLZXkucHVibGljS2V5O1xuICB9XG4gIHJldHVybiBuZXcgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyKFxuICAgIHVzZXJLZXksXG4gICAgZmluYWxpdHlQcm92aWRlcktleXMsXG4gICAgcGFyYW1zLmNvdmVuYW50Tm9Db29yZFBrcy5tYXAoKHBrKSA9PiBCdWZmZXIuZnJvbShwaywgJ2hleCcpKSxcbiAgICBwYXJhbXMuY292ZW5hbnRRdW9ydW0sXG4gICAgc3Rha2luZ1RpbWVsb2NrLFxuICAgIHBhcmFtcy51bmJvbmRpbmdUaW1lXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yUHJvdmlkZXJGb3JTdGFraW5nUGFyYW1zKFxuICBzdGFrZXJCdGNJbmZvOiBQaWNrPFN0YWtlckluZm8sICdwdWJsaWNLZXlOb0Nvb3JkSGV4Jz4sXG4gIHN0YWtpbmdJbnB1dDogU3Rha2luZ0lucHV0cyxcbiAgc3Rha2luZ1BhcmFtczogRGVzY3JpcHRvclN0YWtpbmdQYXJhbXNcbik6IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB7XG4gIGNvbnN0IHVzZXJLZXkgPSBCdWZmZXIuZnJvbShzdGFrZXJCdGNJbmZvLnB1YmxpY0tleU5vQ29vcmRIZXgsICdoZXgnKTtcbiAgY29uc3QgZmluYWxpdHlQcm92aWRlcktleSA9IEJ1ZmZlci5mcm9tKHN0YWtpbmdJbnB1dC5maW5hbGl0eVByb3ZpZGVyUGtOb0Nvb3JkSGV4LCAnaGV4Jyk7XG4gIHJldHVybiBnZXREZXNjcmlwdG9yQnVpbGRlckZvclBhcmFtcyh1c2VyS2V5LCBbZmluYWxpdHlQcm92aWRlcktleV0sIHN0YWtpbmdJbnB1dC5zdGFraW5nVGltZWxvY2ssIHN0YWtpbmdQYXJhbXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVzdG5ldERlc2NyaXB0b3JCdWlsZGVyKFxuICB1c2VyS2V5OiB1dHhvbGliLkJJUDMySW50ZXJmYWNlIHwgdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2UgfCBCdWZmZXIsXG4gIHtcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyA9IFt0ZXN0bmV0RmluYWxpdHlQcm92aWRlcjBdLFxuICAgIHBhcmFtcyA9IGdldEJhYnlsb25QYXJhbUJ5VmVyc2lvbig1LCBnZXRTdGFraW5nUGFyYW1zKCd0ZXN0bmV0JykpLFxuICAgIHN0YWtpbmdUaW1lbG9jayA9IHBhcmFtcy5taW5TdGFraW5nVGltZUJsb2NrcyxcbiAgfToge1xuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzPzogQnVmZmVyW107XG4gICAgcGFyYW1zPzogU3Rha2luZ1BhcmFtcztcbiAgICBzdGFraW5nVGltZWxvY2s/OiBudW1iZXI7XG4gIH0gPSB7fVxuKTogQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIHtcbiAgcmV0dXJuIGdldERlc2NyaXB0b3JCdWlsZGVyRm9yUGFyYW1zKHVzZXJLZXksIGZpbmFsaXR5UHJvdmlkZXJLZXlzLCBzdGFraW5nVGltZWxvY2ssIHBhcmFtcyk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,cAAc,EACd,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,UAAsB,GACvB,EAAE;IACD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAChD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CA0DzB"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAM3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,cAAc,EACd,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,UAAsB,GACvB,EAAE;IACD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAChD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CA0DzB"}