@bitgo-beta/utxo-staking 1.1.1-beta.34 → 1.1.1-beta.340

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.
Files changed (38) hide show
  1. package/dist/src/babylon/delegationMessage.d.ts +38 -0
  2. package/dist/src/babylon/delegationMessage.d.ts.map +1 -0
  3. package/dist/src/babylon/delegationMessage.js +261 -0
  4. package/dist/src/babylon/descriptor.d.ts +29 -0
  5. package/dist/src/babylon/descriptor.d.ts.map +1 -0
  6. package/dist/src/babylon/descriptor.js +78 -0
  7. package/dist/src/babylon/index.d.ts +5 -0
  8. package/dist/src/babylon/index.d.ts.map +1 -0
  9. package/dist/src/babylon/index.js +48 -0
  10. package/dist/src/babylon/network.d.ts +7 -0
  11. package/dist/src/babylon/network.d.ts.map +1 -0
  12. package/dist/src/babylon/network.js +66 -0
  13. package/dist/src/babylon/params.mainnet.json +118 -0
  14. package/dist/src/babylon/params.testnet.json +205 -0
  15. package/dist/src/babylon/stakingManager.d.ts +6 -0
  16. package/dist/src/babylon/stakingManager.d.ts.map +1 -0
  17. package/dist/src/babylon/stakingManager.js +116 -0
  18. package/dist/src/babylon/stakingParams.d.ts +39 -0
  19. package/dist/src/babylon/stakingParams.d.ts.map +1 -0
  20. package/dist/src/babylon/stakingParams.js +131 -0
  21. package/dist/src/coreDao/descriptor.d.ts +4 -2
  22. package/dist/src/coreDao/descriptor.d.ts.map +1 -1
  23. package/dist/src/coreDao/descriptor.js +11 -3
  24. package/dist/src/coreDao/opReturn.d.ts +1 -0
  25. package/dist/src/coreDao/opReturn.d.ts.map +1 -1
  26. package/dist/src/coreDao/opReturn.js +5 -2
  27. package/dist/src/coreDao/transaction.d.ts +15 -6
  28. package/dist/src/coreDao/transaction.d.ts.map +1 -1
  29. package/dist/src/coreDao/transaction.js +12 -4
  30. package/dist/src/index.d.ts +1 -0
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +26 -3
  33. package/dist/src/transaction.d.ts.map +1 -1
  34. package/dist/src/transaction.js +37 -2
  35. package/package.json +20 -7
  36. package/.eslintignore +0 -5
  37. package/.mocharc.yml +0 -8
  38. package/CHANGELOG.md +0 -43
@@ -0,0 +1,118 @@
1
+ [
2
+ {
3
+ "params": {
4
+ "covenant_pks": [
5
+ "d45c70d28f169e1f0c7f4a78e2bc73497afe585b70aa897955989068f3350aaa",
6
+ "4b15848e495a3a62283daaadb3f458a00859fe48e321f0121ebabbdd6698f9fa",
7
+ "23b29f89b45f4af41588dcaf0ca572ada32872a88224f311373917f1b37d08d1",
8
+ "d3c79b99ac4d265c2f97ac11e3232c07a598b020cf56c6f055472c893c0967ae",
9
+ "8242640732773249312c47ca7bdb50ca79f15f2ecc32b9c83ceebba44fb74df7",
10
+ "e36200aaa8dce9453567bba108bdc51f7f1174b97a65e4dc4402fc5de779d41c",
11
+ "cbdd028cfe32c1c1f2d84bfec71e19f92df509bba7b8ad31ca6c1a134fe09204",
12
+ "f178fcce82f95c524b53b077e6180bd2d779a9057fdff4255a0af95af918cee0",
13
+ "de13fc96ea6899acbdc5db3afaa683f62fe35b60ff6eb723dad28a11d2b12f8c"
14
+ ],
15
+ "covenant_quorum": 6,
16
+ "min_staking_value_sat": "500000",
17
+ "max_staking_value_sat": "5000000",
18
+ "min_staking_time_blocks": 64000,
19
+ "max_staking_time_blocks": 64000,
20
+ "slashing_pk_script": "agdiYWJ5bG9u",
21
+ "min_slashing_tx_fee_sat": "100000",
22
+ "slashing_rate": "0.001000000000000000",
23
+ "unbonding_time_blocks": 1008,
24
+ "unbonding_fee_sat": "64000",
25
+ "min_commission_rate": "0.030000000000000000",
26
+ "delegation_creation_base_gas_fee": "1095000",
27
+ "allow_list_expiration_height": "139920",
28
+ "btc_activation_height": 857910
29
+ }
30
+ },
31
+ {
32
+ "params": {
33
+ "covenant_pks": [
34
+ "d45c70d28f169e1f0c7f4a78e2bc73497afe585b70aa897955989068f3350aaa",
35
+ "4b15848e495a3a62283daaadb3f458a00859fe48e321f0121ebabbdd6698f9fa",
36
+ "23b29f89b45f4af41588dcaf0ca572ada32872a88224f311373917f1b37d08d1",
37
+ "d3c79b99ac4d265c2f97ac11e3232c07a598b020cf56c6f055472c893c0967ae",
38
+ "8242640732773249312c47ca7bdb50ca79f15f2ecc32b9c83ceebba44fb74df7",
39
+ "e36200aaa8dce9453567bba108bdc51f7f1174b97a65e4dc4402fc5de779d41c",
40
+ "cbdd028cfe32c1c1f2d84bfec71e19f92df509bba7b8ad31ca6c1a134fe09204",
41
+ "f178fcce82f95c524b53b077e6180bd2d779a9057fdff4255a0af95af918cee0",
42
+ "de13fc96ea6899acbdc5db3afaa683f62fe35b60ff6eb723dad28a11d2b12f8c"
43
+ ],
44
+ "covenant_quorum": 6,
45
+ "min_staking_value_sat": "500000",
46
+ "max_staking_value_sat": "50000000000",
47
+ "min_staking_time_blocks": 64000,
48
+ "max_staking_time_blocks": 64000,
49
+ "slashing_pk_script": "agdiYWJ5bG9u",
50
+ "min_slashing_tx_fee_sat": "100000",
51
+ "slashing_rate": "0.001000000000000000",
52
+ "unbonding_time_blocks": 1008,
53
+ "unbonding_fee_sat": "32000",
54
+ "min_commission_rate": "0.030000000000000000",
55
+ "delegation_creation_base_gas_fee": "1095000",
56
+ "allow_list_expiration_height": "139920",
57
+ "btc_activation_height": 864790
58
+ }
59
+ },
60
+ {
61
+ "params": {
62
+ "covenant_pks": [
63
+ "d45c70d28f169e1f0c7f4a78e2bc73497afe585b70aa897955989068f3350aaa",
64
+ "4b15848e495a3a62283daaadb3f458a00859fe48e321f0121ebabbdd6698f9fa",
65
+ "23b29f89b45f4af41588dcaf0ca572ada32872a88224f311373917f1b37d08d1",
66
+ "d3c79b99ac4d265c2f97ac11e3232c07a598b020cf56c6f055472c893c0967ae",
67
+ "8242640732773249312c47ca7bdb50ca79f15f2ecc32b9c83ceebba44fb74df7",
68
+ "e36200aaa8dce9453567bba108bdc51f7f1174b97a65e4dc4402fc5de779d41c",
69
+ "cbdd028cfe32c1c1f2d84bfec71e19f92df509bba7b8ad31ca6c1a134fe09204",
70
+ "f178fcce82f95c524b53b077e6180bd2d779a9057fdff4255a0af95af918cee0",
71
+ "de13fc96ea6899acbdc5db3afaa683f62fe35b60ff6eb723dad28a11d2b12f8c"
72
+ ],
73
+ "covenant_quorum": 6,
74
+ "min_staking_value_sat": "500000",
75
+ "max_staking_value_sat": "500000000000",
76
+ "min_staking_time_blocks": 64000,
77
+ "max_staking_time_blocks": 64000,
78
+ "slashing_pk_script": "agdiYWJ5bG9u",
79
+ "min_slashing_tx_fee_sat": "100000",
80
+ "slashing_rate": "0.001000000000000000",
81
+ "unbonding_time_blocks": 1008,
82
+ "unbonding_fee_sat": "32000",
83
+ "min_commission_rate": "0.030000000000000000",
84
+ "delegation_creation_base_gas_fee": "1095000",
85
+ "allow_list_expiration_height": "139920",
86
+ "btc_activation_height": 874088
87
+ }
88
+ },
89
+ {
90
+ "params": {
91
+ "covenant_pks": [
92
+ "d45c70d28f169e1f0c7f4a78e2bc73497afe585b70aa897955989068f3350aaa",
93
+ "4b15848e495a3a62283daaadb3f458a00859fe48e321f0121ebabbdd6698f9fa",
94
+ "23b29f89b45f4af41588dcaf0ca572ada32872a88224f311373917f1b37d08d1",
95
+ "d3c79b99ac4d265c2f97ac11e3232c07a598b020cf56c6f055472c893c0967ae",
96
+ "8242640732773249312c47ca7bdb50ca79f15f2ecc32b9c83ceebba44fb74df7",
97
+ "e36200aaa8dce9453567bba108bdc51f7f1174b97a65e4dc4402fc5de779d41c",
98
+ "f178fcce82f95c524b53b077e6180bd2d779a9057fdff4255a0af95af918cee0",
99
+ "de13fc96ea6899acbdc5db3afaa683f62fe35b60ff6eb723dad28a11d2b12f8c",
100
+ "cbdd028cfe32c1c1f2d84bfec71e19f92df509bba7b8ad31ca6c1a134fe09204"
101
+ ],
102
+ "covenant_quorum": 6,
103
+ "min_staking_value_sat": "500000",
104
+ "max_staking_value_sat": "500000000000",
105
+ "min_staking_time_blocks": 64000,
106
+ "max_staking_time_blocks": 64000,
107
+ "slashing_pk_script": "agdiYWJ5bG9u",
108
+ "min_slashing_tx_fee_sat": "100000",
109
+ "slashing_rate": "0.001000000000000000",
110
+ "unbonding_time_blocks": 1008,
111
+ "unbonding_fee_sat": "32000",
112
+ "min_commission_rate": "0.030000000000000000",
113
+ "delegation_creation_base_gas_fee": "1095000",
114
+ "allow_list_expiration_height": "139920",
115
+ "btc_activation_height": 891425
116
+ }
117
+ }
118
+ ]
@@ -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-beta/utxo-lib';
3
+ import * as vendor from '@bitgo-beta/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,sBAAsB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,2CAA2C,CAAC;AA4EpE,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,CAiBjC"}
@@ -0,0 +1,116 @@
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-beta/utxo-lib"));
40
+ const vendor = __importStar(require("@bitgo-beta/babylonlabs-io-btc-staking-ts"));
41
+ const pop_1 = require("@babylonlabs-io/babylon-proto-ts/dist/generated/babylon/btcstaking/v1/pop");
42
+ const stakingParams_1 = require("./stakingParams");
43
+ /**
44
+ * Subclass of BabylonBtcStakingManager with the sole purpose of forcing
45
+ * a ECDSA signature.
46
+ */
47
+ class BitGoStakingManager extends vendor.BabylonBtcStakingManager {
48
+ constructor(network, stakingParams, btcProvider, babylonProvider) {
49
+ super(network, stakingParams, btcProvider, babylonProvider);
50
+ }
51
+ /**
52
+ * Creates a proof of possession for the staker based on ECDSA signature.
53
+ *
54
+ * This is a parameterized version of the superclass method which infers
55
+ * the signature type from the stakerBtcAddress.
56
+ *
57
+ * @param bech32Address - The staker's bech32 address on the babylon network.
58
+ * @param stakerBtcAddress - The staker's BTC address.
59
+ * @param sigType - The signature type (BIP322 or ECDSA).
60
+ * @returns The proof of possession.
61
+ */
62
+ async createProofOfPossessionWithSigType(bech32Address, stakerBtcAddress, sigType) {
63
+ const signedBabylonAddress = await this.btcProvider.signMessage(vendor.SigningStep.PROOF_OF_POSSESSION, bech32Address, sigType === pop_1.BTCSigType.BIP322 ? 'bip322-simple' : 'ecdsa');
64
+ let btcSig;
65
+ if (sigType === pop_1.BTCSigType.BIP322) {
66
+ const bip322Sig = pop_1.BIP322Sig.fromPartial({
67
+ address: stakerBtcAddress,
68
+ sig: Buffer.from(signedBabylonAddress, 'base64'),
69
+ });
70
+ // Encode the BIP322 protobuf message to a Uint8Array
71
+ btcSig = pop_1.BIP322Sig.encode(bip322Sig).finish();
72
+ }
73
+ else {
74
+ // Encode the ECDSA signature to a Uint8Array
75
+ btcSig = Buffer.from(signedBabylonAddress, 'base64');
76
+ }
77
+ return {
78
+ btcSigType: sigType,
79
+ btcSig,
80
+ };
81
+ }
82
+ /**
83
+ * Creates a proof of possession for the staker based on ECDSA signature.
84
+ * @param bech32Address - The staker's bech32 address on the babylon network.
85
+ * @param stakerBtcAddress
86
+ * @returns The proof of possession.
87
+ */
88
+ async createProofOfPossession(bech32Address, stakerBtcAddress) {
89
+ // force the ECDSA signature type
90
+ return this.createProofOfPossessionWithSigType(bech32Address, stakerBtcAddress, pop_1.BTCSigType.ECDSA);
91
+ }
92
+ }
93
+ exports.mockBabylonProvider = {
94
+ signTransaction() {
95
+ throw new Error('Function not implemented.');
96
+ },
97
+ };
98
+ function createStakingManager(network, btcProvider, stakingParams, babylonProvider = exports.mockBabylonProvider) {
99
+ if (utxolib.isValidNetwork(network)) {
100
+ switch (network) {
101
+ case utxolib.networks.bitcoin:
102
+ network = bitcoinjslib.networks.bitcoin;
103
+ break;
104
+ case utxolib.networks.testnet:
105
+ case utxolib.networks.bitcoinTestnet4:
106
+ throw new Error('Unsupported bitcoin testnet network - only signet is supported');
107
+ case utxolib.networks.bitcoinPublicSignet:
108
+ network = bitcoinjslib.networks.testnet;
109
+ break;
110
+ default:
111
+ throw new Error('Unsupported network');
112
+ }
113
+ }
114
+ return new BitGoStakingManager(network, stakingParams ?? (0, stakingParams_1.getStakingParams)(network), btcProvider, babylonProvider);
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9zdGFraW5nTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvRkEsb0RBc0JDO0FBMUdELDREQUE4QztBQUM5Qyw4REFBZ0Q7QUFDaEQsa0ZBQW9FO0FBQ3BFLG1HQUltRjtBQUVuRixtREFBbUQ7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBTSxtQkFBb0IsU0FBUSxNQUFNLENBQUMsd0JBQXdCO0lBQy9ELFlBQ0UsT0FBNkIsRUFDN0IsYUFBOEMsRUFDOUMsV0FBK0IsRUFDL0IsZUFBdUM7UUFFdkMsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLGtDQUFrQyxDQUN0QyxhQUFxQixFQUNyQixnQkFBd0IsRUFDeEIsT0FBbUI7UUFFbkIsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUM3RCxNQUFNLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUN0QyxhQUFhLEVBQ2IsT0FBTyxLQUFLLGdCQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUQsQ0FBQztRQUVGLElBQUksTUFBa0IsQ0FBQztRQUN2QixJQUFJLE9BQU8sS0FBSyxnQkFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLGVBQVMsQ0FBQyxXQUFXLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQzthQUNqRCxDQUFDLENBQUM7WUFDSCxxREFBcUQ7WUFDckQsTUFBTSxHQUFHLGVBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTiw2Q0FBNkM7WUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU87WUFDTCxVQUFVLEVBQUUsT0FBTztZQUNuQixNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxhQUFxQixFQUFFLGdCQUF3QjtRQUMzRSxpQ0FBaUM7UUFDakMsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNGO0FBRVksUUFBQSxtQkFBbUIsR0FBMkI7SUFDekQsZUFBZTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUNsQyxPQUErQyxFQUMvQyxXQUErQixFQUMvQixhQUErQyxFQUMvQyxlQUFlLEdBQUcsMkJBQW1CO0lBRXJDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BDLFFBQVEsT0FBTyxFQUFFLENBQUM7WUFDaEIsS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87Z0JBQzNCLE9BQU8sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDeEMsTUFBTTtZQUNSLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDOUIsS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWU7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztZQUNwRixLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUMsbUJBQW1CO2dCQUN2QyxPQUFPLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksbUJBQW1CLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxJQUFBLGdDQUFnQixFQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNwSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB2ZW5kb3IgZnJvbSAnQGJpdGdvLWJldGEvYmFieWxvbmxhYnMtaW8tYnRjLXN0YWtpbmctdHMnO1xuaW1wb3J0IHtcbiAgQklQMzIyU2lnLFxuICBCVENTaWdUeXBlLFxuICBQcm9vZk9mUG9zc2Vzc2lvbkJUQyxcbn0gZnJvbSAnQGJhYnlsb25sYWJzLWlvL2JhYnlsb24tcHJvdG8tdHMvZGlzdC9nZW5lcmF0ZWQvYmFieWxvbi9idGNzdGFraW5nL3YxL3BvcCc7XG5cbmltcG9ydCB7IGdldFN0YWtpbmdQYXJhbXMgfSBmcm9tICcuL3N0YWtpbmdQYXJhbXMnO1xuXG4vKipcbiAqIFN1YmNsYXNzIG9mIEJhYnlsb25CdGNTdGFraW5nTWFuYWdlciB3aXRoIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZm9yY2luZ1xuICogYSBFQ0RTQSBzaWduYXR1cmUuXG4gKi9cbmNsYXNzIEJpdEdvU3Rha2luZ01hbmFnZXIgZXh0ZW5kcyB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgbmV0d29yazogYml0Y29pbmpzbGliLk5ldHdvcmssXG4gICAgc3Rha2luZ1BhcmFtczogdmVuZG9yLlZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSxcbiAgICBidGNQcm92aWRlcjogdmVuZG9yLkJ0Y1Byb3ZpZGVyLFxuICAgIGJhYnlsb25Qcm92aWRlcjogdmVuZG9yLkJhYnlsb25Qcm92aWRlclxuICApIHtcbiAgICBzdXBlcihuZXR3b3JrLCBzdGFraW5nUGFyYW1zLCBidGNQcm92aWRlciwgYmFieWxvblByb3ZpZGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHJvb2Ygb2YgcG9zc2Vzc2lvbiBmb3IgdGhlIHN0YWtlciBiYXNlZCBvbiBFQ0RTQSBzaWduYXR1cmUuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBwYXJhbWV0ZXJpemVkIHZlcnNpb24gb2YgdGhlIHN1cGVyY2xhc3MgbWV0aG9kIHdoaWNoIGluZmVyc1xuICAgKiB0aGUgc2lnbmF0dXJlIHR5cGUgZnJvbSB0aGUgc3Rha2VyQnRjQWRkcmVzcy5cbiAgICpcbiAgICogQHBhcmFtIGJlY2gzMkFkZHJlc3MgLSBUaGUgc3Rha2VyJ3MgYmVjaDMyIGFkZHJlc3Mgb24gdGhlIGJhYnlsb24gbmV0d29yay5cbiAgICogQHBhcmFtIHN0YWtlckJ0Y0FkZHJlc3MgLSBUaGUgc3Rha2VyJ3MgQlRDIGFkZHJlc3MuXG4gICAqIEBwYXJhbSBzaWdUeXBlIC0gVGhlIHNpZ25hdHVyZSB0eXBlIChCSVAzMjIgb3IgRUNEU0EpLlxuICAgKiBAcmV0dXJucyBUaGUgcHJvb2Ygb2YgcG9zc2Vzc2lvbi5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZVByb29mT2ZQb3NzZXNzaW9uV2l0aFNpZ1R5cGUoXG4gICAgYmVjaDMyQWRkcmVzczogc3RyaW5nLFxuICAgIHN0YWtlckJ0Y0FkZHJlc3M6IHN0cmluZyxcbiAgICBzaWdUeXBlOiBCVENTaWdUeXBlXG4gICk6IFByb21pc2U8UHJvb2ZPZlBvc3Nlc3Npb25CVEM+IHtcbiAgICBjb25zdCBzaWduZWRCYWJ5bG9uQWRkcmVzcyA9IGF3YWl0IHRoaXMuYnRjUHJvdmlkZXIuc2lnbk1lc3NhZ2UoXG4gICAgICB2ZW5kb3IuU2lnbmluZ1N0ZXAuUFJPT0ZfT0ZfUE9TU0VTU0lPTixcbiAgICAgIGJlY2gzMkFkZHJlc3MsXG4gICAgICBzaWdUeXBlID09PSBCVENTaWdUeXBlLkJJUDMyMiA/ICdiaXAzMjItc2ltcGxlJyA6ICdlY2RzYSdcbiAgICApO1xuXG4gICAgbGV0IGJ0Y1NpZzogVWludDhBcnJheTtcbiAgICBpZiAoc2lnVHlwZSA9PT0gQlRDU2lnVHlwZS5CSVAzMjIpIHtcbiAgICAgIGNvbnN0IGJpcDMyMlNpZyA9IEJJUDMyMlNpZy5mcm9tUGFydGlhbCh7XG4gICAgICAgIGFkZHJlc3M6IHN0YWtlckJ0Y0FkZHJlc3MsXG4gICAgICAgIHNpZzogQnVmZmVyLmZyb20oc2lnbmVkQmFieWxvbkFkZHJlc3MsICdiYXNlNjQnKSxcbiAgICAgIH0pO1xuICAgICAgLy8gRW5jb2RlIHRoZSBCSVAzMjIgcHJvdG9idWYgbWVzc2FnZSB0byBhIFVpbnQ4QXJyYXlcbiAgICAgIGJ0Y1NpZyA9IEJJUDMyMlNpZy5lbmNvZGUoYmlwMzIyU2lnKS5maW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5jb2RlIHRoZSBFQ0RTQSBzaWduYXR1cmUgdG8gYSBVaW50OEFycmF5XG4gICAgICBidGNTaWcgPSBCdWZmZXIuZnJvbShzaWduZWRCYWJ5bG9uQWRkcmVzcywgJ2Jhc2U2NCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBidGNTaWdUeXBlOiBzaWdUeXBlLFxuICAgICAgYnRjU2lnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHByb29mIG9mIHBvc3Nlc3Npb24gZm9yIHRoZSBzdGFrZXIgYmFzZWQgb24gRUNEU0Egc2lnbmF0dXJlLlxuICAgKiBAcGFyYW0gYmVjaDMyQWRkcmVzcyAtIFRoZSBzdGFrZXIncyBiZWNoMzIgYWRkcmVzcyBvbiB0aGUgYmFieWxvbiBuZXR3b3JrLlxuICAgKiBAcGFyYW0gc3Rha2VyQnRjQWRkcmVzc1xuICAgKiBAcmV0dXJucyBUaGUgcHJvb2Ygb2YgcG9zc2Vzc2lvbi5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZVByb29mT2ZQb3NzZXNzaW9uKGJlY2gzMkFkZHJlc3M6IHN0cmluZywgc3Rha2VyQnRjQWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxQcm9vZk9mUG9zc2Vzc2lvbkJUQz4ge1xuICAgIC8vIGZvcmNlIHRoZSBFQ0RTQSBzaWduYXR1cmUgdHlwZVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb29mT2ZQb3NzZXNzaW9uV2l0aFNpZ1R5cGUoYmVjaDMyQWRkcmVzcywgc3Rha2VyQnRjQWRkcmVzcywgQlRDU2lnVHlwZS5FQ0RTQSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG1vY2tCYWJ5bG9uUHJvdmlkZXI6IHZlbmRvci5CYWJ5bG9uUHJvdmlkZXIgPSB7XG4gIHNpZ25UcmFuc2FjdGlvbigpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdGFraW5nTWFuYWdlcihcbiAgbmV0d29yazogYml0Y29pbmpzbGliLk5ldHdvcmsgfCB1dHhvbGliLk5ldHdvcmssXG4gIGJ0Y1Byb3ZpZGVyOiB2ZW5kb3IuQnRjUHJvdmlkZXIsXG4gIHN0YWtpbmdQYXJhbXM/OiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdLFxuICBiYWJ5bG9uUHJvdmlkZXIgPSBtb2NrQmFieWxvblByb3ZpZGVyXG4pOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyIHtcbiAgaWYgKHV0eG9saWIuaXNWYWxpZE5ldHdvcmsobmV0d29yaykpIHtcbiAgICBzd2l0Y2ggKG5ldHdvcmspIHtcbiAgICAgIGNhc2UgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luOlxuICAgICAgICBuZXR3b3JrID0gYml0Y29pbmpzbGliLm5ldHdvcmtzLmJpdGNvaW47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQ6XG4gICAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pblRlc3RuZXQ0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGJpdGNvaW4gdGVzdG5ldCBuZXR3b3JrIC0gb25seSBzaWduZXQgaXMgc3VwcG9ydGVkJyk7XG4gICAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pblB1YmxpY1NpZ25ldDpcbiAgICAgICAgbmV0d29yayA9IGJpdGNvaW5qc2xpYi5uZXR3b3Jrcy50ZXN0bmV0O1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbmV0d29yaycpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3IEJpdEdvU3Rha2luZ01hbmFnZXIobmV0d29yaywgc3Rha2luZ1BhcmFtcyA/PyBnZXRTdGFraW5nUGFyYW1zKG5ldHdvcmspLCBidGNQcm92aWRlciwgYmFieWxvblByb3ZpZGVyKTtcbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import * as t from 'io-ts';
2
+ import * as tt from 'io-ts-types';
3
+ import * as utxolib from '@bitgo-beta/utxo-lib';
4
+ import { StakerInfo, StakingInputs, StakingParams, VersionedStakingParams } from '@bitgo-beta/babylonlabs-io-btc-staking-ts';
5
+ export { getBabylonParamByVersion, getBabylonParamByBtcHeight } from '@bitgo-beta/babylonlabs-io-btc-staking-ts';
6
+ import { BabylonDescriptorBuilder } from './descriptor';
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[];
30
+ export declare const testnetFinalityProvider0: Buffer<ArrayBuffer>;
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, }?: {
35
+ finalityProviderKeys?: Buffer[];
36
+ params?: StakingParams;
37
+ stakingTimelock?: number;
38
+ }): BabylonDescriptorBuilder;
39
+ //# sourceMappingURL=stakingParams.d.ts.map
@@ -0,0 +1 @@
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,sBAAsB,CAAC;AAChD,OAAO,EAEL,UAAU,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEjH,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"}