@babylonlabs-io/ts-sdk 0.35.0 → 0.36.1
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/dist/buildAndBroadcastRefund-D4YqqClN.js +872 -0
- package/dist/buildAndBroadcastRefund-D4YqqClN.js.map +1 -0
- package/dist/buildAndBroadcastRefund-DSELaUiR.cjs +2 -0
- package/dist/buildAndBroadcastRefund-DSELaUiR.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +73 -69
- package/dist/tbv/core/clients/eth/types.d.ts +1 -0
- package/dist/tbv/core/clients/eth/types.d.ts.map +1 -1
- package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts +1 -0
- package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts.map +1 -1
- package/dist/tbv/core/clients/index.cjs +1 -1
- package/dist/tbv/core/clients/index.js +1 -1
- package/dist/tbv/core/clients/vault-provider/auth/gatedMethods.d.ts.map +1 -1
- package/dist/tbv/core/index.cjs +1 -1
- package/dist/tbv/core/index.js +66 -62
- package/dist/tbv/core/services/deposit/__tests__/validateOnChainParticipantKeys.test.d.ts +2 -0
- package/dist/tbv/core/services/deposit/__tests__/validateOnChainParticipantKeys.test.d.ts.map +1 -0
- package/dist/tbv/core/services/deposit/__tests__/verifyRegisteredVaultVersions.test.d.ts +2 -0
- package/dist/tbv/core/services/deposit/__tests__/verifyRegisteredVaultVersions.test.d.ts.map +1 -0
- package/dist/tbv/core/services/deposit/index.d.ts +8 -12
- package/dist/tbv/core/services/deposit/index.d.ts.map +1 -1
- package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts +21 -0
- package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts.map +1 -0
- package/dist/tbv/core/services/deposit/verifyRegisteredVaultVersions.d.ts +15 -0
- package/dist/tbv/core/services/deposit/verifyRegisteredVaultVersions.d.ts.map +1 -0
- package/dist/tbv/core/services/index.cjs +1 -1
- package/dist/tbv/core/services/index.js +23 -19
- package/dist/tbv/index.cjs +1 -1
- package/dist/tbv/index.js +66 -62
- package/dist/tbv/integrations/aave/constants.d.ts +15 -2
- package/dist/tbv/integrations/aave/constants.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/index.cjs +1 -1
- package/dist/tbv/integrations/aave/index.cjs.map +1 -1
- package/dist/tbv/integrations/aave/index.d.ts +1 -1
- package/dist/tbv/integrations/aave/index.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/index.js +94 -93
- package/dist/tbv/integrations/aave/index.js.map +1 -1
- package/dist/vault-registry-reader-CLnhAUN4.cjs +2 -0
- package/dist/vault-registry-reader-CLnhAUN4.cjs.map +1 -0
- package/dist/{vault-registry-reader-BBk0p-u-.js → vault-registry-reader-CrLodprY.js} +228 -197
- package/dist/vault-registry-reader-CrLodprY.js.map +1 -0
- package/package.json +1 -1
- package/dist/buildAndBroadcastRefund-BQ0CaL6Q.cjs +0 -2
- package/dist/buildAndBroadcastRefund-BQ0CaL6Q.cjs.map +0 -1
- package/dist/buildAndBroadcastRefund-DzX11N9S.js +0 -785
- package/dist/buildAndBroadcastRefund-DzX11N9S.js.map +0 -1
- package/dist/vault-registry-reader-BBk0p-u-.js.map +0 -1
- package/dist/vault-registry-reader-DQgnZilV.cjs +0 -2
- package/dist/vault-registry-reader-DQgnZilV.cjs.map +0 -1
|
@@ -5,10 +5,10 @@ import { D as be, J as re, e as _e } from "./types-TiIjyo2b.js";
|
|
|
5
5
|
import { X as R, C as L, s as C, S as ye, h as Pe } from "./bitcoin-B0S8SHCX.js";
|
|
6
6
|
import { H as T } from "./validation-CxqROCno.js";
|
|
7
7
|
import * as j from "@bitcoin-js/tiny-secp256k1-asmjs";
|
|
8
|
-
import { payments as we, Transaction as
|
|
8
|
+
import { payments as we, Transaction as U } from "bitcoinjs-lib";
|
|
9
9
|
import { Buffer as A } from "buffer";
|
|
10
|
-
import { s as
|
|
11
|
-
import { B as
|
|
10
|
+
import { s as z } from "./sha2-BYVxyZzX.js";
|
|
11
|
+
import { B as w } from "./BTCVaultRegistry.abi-DbJ5lsFJ.js";
|
|
12
12
|
import { P as _, A as F } from "./ProtocolParams.abi-DXu8L0Fn.js";
|
|
13
13
|
const W = new Set(Object.values(be)), ve = 200;
|
|
14
14
|
function l(t) {
|
|
@@ -16,7 +16,7 @@ function l(t) {
|
|
|
16
16
|
return ((e = JSON.stringify(t)) == null ? void 0 : e.slice(0, ve)) ?? "undefined";
|
|
17
17
|
}
|
|
18
18
|
const xe = "The vault provider returned an unexpected response. Please try again or contact support.";
|
|
19
|
-
class
|
|
19
|
+
class o extends Error {
|
|
20
20
|
constructor(n) {
|
|
21
21
|
super(xe);
|
|
22
22
|
p(this, "detail");
|
|
@@ -24,96 +24,96 @@ class s extends Error {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
const $ = 64;
|
|
27
|
-
function
|
|
27
|
+
function v(t) {
|
|
28
28
|
return typeof t == "string" && t.length > 0 && T.test(t);
|
|
29
29
|
}
|
|
30
30
|
function ie(t) {
|
|
31
31
|
return typeof t == "string" && t.length > 0;
|
|
32
32
|
}
|
|
33
33
|
function se(t, e) {
|
|
34
|
-
if (!
|
|
35
|
-
throw new
|
|
34
|
+
if (!v(t))
|
|
35
|
+
throw new o(
|
|
36
36
|
`VP response validation failed: "${e}" must be a non-empty hex string, got ${l(t)}`
|
|
37
37
|
);
|
|
38
38
|
}
|
|
39
39
|
function m(t, e) {
|
|
40
40
|
if (!ie(t))
|
|
41
|
-
throw new
|
|
41
|
+
throw new o(
|
|
42
42
|
`VP response validation failed: "${e}" must be a non-empty string, got ${l(t)}`
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
function oe(t, e) {
|
|
46
|
-
if (!
|
|
47
|
-
throw new
|
|
46
|
+
if (!v(t) || t.length !== R && t.length !== L)
|
|
47
|
+
throw new o(
|
|
48
48
|
`VP response validation failed: "${e}" must be a ${R} or ${L}-char hex string (BTC pubkey), got ${l(t)}`
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function Ve(t) {
|
|
52
52
|
const e = t.presigning;
|
|
53
53
|
if (e == null) return;
|
|
54
54
|
if (typeof e != "object" || Array.isArray(e))
|
|
55
|
-
throw new
|
|
55
|
+
throw new o(
|
|
56
56
|
'VP response validation failed: "progress.presigning" must be an object if present'
|
|
57
57
|
);
|
|
58
58
|
const n = e;
|
|
59
59
|
if (n.depositor_graph_created !== void 0 && typeof n.depositor_graph_created != "boolean")
|
|
60
|
-
throw new
|
|
60
|
+
throw new o(
|
|
61
61
|
`VP response validation failed: "progress.presigning.depositor_graph_created" must be a boolean if present, got ${l(n.depositor_graph_created)}`
|
|
62
62
|
);
|
|
63
63
|
if (n.vk_challenger_presigning_completed !== void 0 && typeof n.vk_challenger_presigning_completed != "number")
|
|
64
|
-
throw new
|
|
64
|
+
throw new o(
|
|
65
65
|
`VP response validation failed: "progress.presigning.vk_challenger_presigning_completed" must be a number if present, got ${l(n.vk_challenger_presigning_completed)}`
|
|
66
66
|
);
|
|
67
67
|
if (n.vk_challenger_presigning_total !== void 0 && typeof n.vk_challenger_presigning_total != "number")
|
|
68
|
-
throw new
|
|
68
|
+
throw new o(
|
|
69
69
|
`VP response validation failed: "progress.presigning.vk_challenger_presigning_total" must be a number if present, got ${l(n.vk_challenger_presigning_total)}`
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
function ae(t) {
|
|
73
73
|
if (t === null || typeof t != "object")
|
|
74
|
-
throw new
|
|
74
|
+
throw new o(
|
|
75
75
|
"VP response validation failed: getPeginStatus response is not an object"
|
|
76
76
|
);
|
|
77
77
|
const e = t;
|
|
78
|
-
if (!
|
|
79
|
-
throw new
|
|
78
|
+
if (!v(e.pegin_txid) || e.pegin_txid.length !== $)
|
|
79
|
+
throw new o(
|
|
80
80
|
`VP response validation failed: "pegin_txid" must be a ${$}-char hex string (txid), got ${l(e.pegin_txid)}`
|
|
81
81
|
);
|
|
82
82
|
if (typeof e.status != "string")
|
|
83
|
-
throw new
|
|
83
|
+
throw new o(
|
|
84
84
|
'VP response validation failed: "status" must be a string'
|
|
85
85
|
);
|
|
86
86
|
if (!W.has(e.status))
|
|
87
|
-
throw new
|
|
87
|
+
throw new o(
|
|
88
88
|
`VP response validation failed: unrecognized status "${e.status}". Expected one of: ${[...W].join(", ")}`
|
|
89
89
|
);
|
|
90
90
|
if (e.progress === null || typeof e.progress != "object" || Array.isArray(e.progress))
|
|
91
|
-
throw new
|
|
91
|
+
throw new o(
|
|
92
92
|
'VP response validation failed: "progress" must be an object'
|
|
93
93
|
);
|
|
94
|
-
if (
|
|
95
|
-
throw new
|
|
94
|
+
if (Ve(e.progress), typeof e.health_info != "string")
|
|
95
|
+
throw new o(
|
|
96
96
|
'VP response validation failed: "health_info" must be a string'
|
|
97
97
|
);
|
|
98
98
|
if (e.last_error !== void 0 && typeof e.last_error != "string")
|
|
99
|
-
throw new
|
|
99
|
+
throw new o(
|
|
100
100
|
`VP response validation failed: "last_error" must be a string if present, got ${l(e.last_error)}`
|
|
101
101
|
);
|
|
102
102
|
}
|
|
103
|
-
function
|
|
103
|
+
function Ae(t) {
|
|
104
104
|
if (t === null || typeof t != "object")
|
|
105
|
-
throw new
|
|
105
|
+
throw new o(
|
|
106
106
|
"VP response validation failed: requestDepositorPresignTransactions response is not an object"
|
|
107
107
|
);
|
|
108
108
|
const e = t;
|
|
109
109
|
if (!Array.isArray(e.txs))
|
|
110
|
-
throw new
|
|
110
|
+
throw new o(
|
|
111
111
|
'VP response validation failed: "txs" must be an array'
|
|
112
112
|
);
|
|
113
113
|
for (let n = 0; n < e.txs.length; n++)
|
|
114
114
|
$e(e.txs[n], `txs[${n}]`);
|
|
115
115
|
if (e.depositor_graph === null || typeof e.depositor_graph != "object")
|
|
116
|
-
throw new
|
|
116
|
+
throw new o(
|
|
117
117
|
'VP response validation failed: "depositor_graph" must be an object'
|
|
118
118
|
);
|
|
119
119
|
Re(
|
|
@@ -122,14 +122,14 @@ function Ve(t) {
|
|
|
122
122
|
}
|
|
123
123
|
function y(t, e) {
|
|
124
124
|
if (t === null || typeof t != "object")
|
|
125
|
-
throw new
|
|
125
|
+
throw new o(
|
|
126
126
|
`VP response validation failed: "${e}" must be an object`
|
|
127
127
|
);
|
|
128
128
|
se(t.tx_hex, `${e}.tx_hex`);
|
|
129
129
|
}
|
|
130
130
|
function $e(t, e) {
|
|
131
131
|
if (t === null || typeof t != "object")
|
|
132
|
-
throw new
|
|
132
|
+
throw new o(
|
|
133
133
|
`VP response validation failed: "${e}" must be an object`
|
|
134
134
|
);
|
|
135
135
|
const n = t;
|
|
@@ -137,15 +137,15 @@ function $e(t, e) {
|
|
|
137
137
|
}
|
|
138
138
|
function Te(t, e) {
|
|
139
139
|
if (t === null || typeof t != "object")
|
|
140
|
-
throw new
|
|
140
|
+
throw new o(
|
|
141
141
|
`VP response validation failed: "${e}" must be an object`
|
|
142
142
|
);
|
|
143
143
|
const n = t;
|
|
144
144
|
m(n.wots_pks_json, `${e}.wots_pks_json`), m(n.gc_wots_keys_json, `${e}.gc_wots_keys_json`);
|
|
145
145
|
}
|
|
146
|
-
function
|
|
146
|
+
function Se(t, e) {
|
|
147
147
|
if (t === null || typeof t != "object")
|
|
148
|
-
throw new
|
|
148
|
+
throw new o(
|
|
149
149
|
`VP response validation failed: "${e}" must be an object`
|
|
150
150
|
);
|
|
151
151
|
const n = t;
|
|
@@ -156,7 +156,7 @@ function ke(t, e) {
|
|
|
156
156
|
n.challenge_assert_y_tx,
|
|
157
157
|
`${e}.challenge_assert_y_tx`
|
|
158
158
|
), y(n.nopayout_tx, `${e}.nopayout_tx`), m(n.nopayout_psbt, `${e}.nopayout_psbt`), !Array.isArray(n.challenge_assert_connectors))
|
|
159
|
-
throw new
|
|
159
|
+
throw new o(
|
|
160
160
|
`VP response validation failed: "${e}.challenge_assert_connectors" must be an array`
|
|
161
161
|
);
|
|
162
162
|
for (let r = 0; r < n.challenge_assert_connectors.length; r++)
|
|
@@ -165,7 +165,7 @@ function ke(t, e) {
|
|
|
165
165
|
`${e}.challenge_assert_connectors[${r}]`
|
|
166
166
|
);
|
|
167
167
|
if (!Array.isArray(n.output_label_hashes))
|
|
168
|
-
throw new
|
|
168
|
+
throw new o(
|
|
169
169
|
`VP response validation failed: "${e}.output_label_hashes" must be an array`
|
|
170
170
|
);
|
|
171
171
|
for (let r = 0; r < n.output_label_hashes.length; r++)
|
|
@@ -174,61 +174,61 @@ function ke(t, e) {
|
|
|
174
174
|
`${e}.output_label_hashes[${r}]`
|
|
175
175
|
);
|
|
176
176
|
}
|
|
177
|
-
function
|
|
177
|
+
function ke(t) {
|
|
178
178
|
if (t === null || typeof t != "object")
|
|
179
|
-
throw new
|
|
179
|
+
throw new o(
|
|
180
180
|
"VP response validation failed: requestDepositorClaimerArtifacts response is not an object"
|
|
181
181
|
);
|
|
182
182
|
const e = t;
|
|
183
183
|
if (!ie(e.tx_graph_json))
|
|
184
|
-
throw new
|
|
184
|
+
throw new o(
|
|
185
185
|
`VP response validation failed: "tx_graph_json" must be a non-empty string, got ${l(e.tx_graph_json)}`
|
|
186
186
|
);
|
|
187
|
-
if (!
|
|
188
|
-
throw new
|
|
187
|
+
if (!v(e.verifying_key_hex))
|
|
188
|
+
throw new o(
|
|
189
189
|
`VP response validation failed: "verifying_key_hex" must be a non-empty hex string, got ${l(e.verifying_key_hex)}`
|
|
190
190
|
);
|
|
191
191
|
if (e.babe_sessions === null || typeof e.babe_sessions != "object")
|
|
192
|
-
throw new
|
|
192
|
+
throw new o(
|
|
193
193
|
'VP response validation failed: "babe_sessions" must be an object'
|
|
194
194
|
);
|
|
195
195
|
for (const [n, r] of Object.entries(
|
|
196
196
|
e.babe_sessions
|
|
197
197
|
)) {
|
|
198
198
|
if (r === null || typeof r != "object")
|
|
199
|
-
throw new
|
|
199
|
+
throw new o(
|
|
200
200
|
`VP response validation failed: "babe_sessions.${n}" must be an object`
|
|
201
201
|
);
|
|
202
|
-
const
|
|
203
|
-
if (!
|
|
204
|
-
throw new
|
|
205
|
-
`VP response validation failed: "babe_sessions.${n}.decryptor_artifacts_hex" must be a non-empty hex string, got ${l(
|
|
202
|
+
const s = r;
|
|
203
|
+
if (!v(s.decryptor_artifacts_hex))
|
|
204
|
+
throw new o(
|
|
205
|
+
`VP response validation failed: "babe_sessions.${n}.decryptor_artifacts_hex" must be a non-empty hex string, got ${l(s.decryptor_artifacts_hex)}`
|
|
206
206
|
);
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
function Ce(t) {
|
|
210
210
|
if (t === null || typeof t != "object")
|
|
211
|
-
throw new
|
|
211
|
+
throw new o(
|
|
212
212
|
"VP response validation failed: pegout status payload is not an object"
|
|
213
213
|
);
|
|
214
214
|
const e = t;
|
|
215
|
-
if (!
|
|
216
|
-
throw new
|
|
215
|
+
if (!v(e.pegin_txid) || e.pegin_txid.length !== $)
|
|
216
|
+
throw new o(
|
|
217
217
|
`VP response validation failed: "pegin_txid" must be a ${$}-char hex string (txid), got ${l(e.pegin_txid)}`
|
|
218
218
|
);
|
|
219
219
|
if (typeof e.found != "boolean")
|
|
220
|
-
throw new
|
|
220
|
+
throw new o(
|
|
221
221
|
`VP response validation failed: "found" must be a boolean, got ${l(e.found)}`
|
|
222
222
|
);
|
|
223
223
|
if (e.claimer !== null) {
|
|
224
224
|
if (typeof e.claimer != "object")
|
|
225
|
-
throw new
|
|
225
|
+
throw new o(
|
|
226
226
|
`VP response validation failed: "claimer" must be an object or null, got ${l(e.claimer)}`
|
|
227
227
|
);
|
|
228
228
|
Ie(e.claimer);
|
|
229
229
|
}
|
|
230
230
|
if (!Array.isArray(e.challengers))
|
|
231
|
-
throw new
|
|
231
|
+
throw new o(
|
|
232
232
|
`VP response validation failed: "challengers" must be an array, got ${l(e.challengers)}`
|
|
233
233
|
);
|
|
234
234
|
for (let n = 0; n < e.challengers.length; n++)
|
|
@@ -236,25 +236,25 @@ function Ce(t) {
|
|
|
236
236
|
}
|
|
237
237
|
function Ie(t) {
|
|
238
238
|
if (m(t.status, "claimer.status"), typeof t.failed != "boolean")
|
|
239
|
-
throw new
|
|
239
|
+
throw new o(
|
|
240
240
|
`VP response validation failed: "claimer.failed" must be a boolean, got ${l(t.failed)}`
|
|
241
241
|
);
|
|
242
242
|
if (m(t.claim_txid, "claimer.claim_txid"), m(t.claimer_pubkey, "claimer.claimer_pubkey"), m(t.assert_txid, "claimer.assert_txid"), t.challenger_pubkey !== null && typeof t.challenger_pubkey != "string")
|
|
243
|
-
throw new
|
|
243
|
+
throw new o(
|
|
244
244
|
`VP response validation failed: "claimer.challenger_pubkey" must be a string or null, got ${l(t.challenger_pubkey)}`
|
|
245
245
|
);
|
|
246
246
|
if (typeof t.created_at != "number")
|
|
247
|
-
throw new
|
|
247
|
+
throw new o(
|
|
248
248
|
`VP response validation failed: "claimer.created_at" must be a number, got ${l(t.created_at)}`
|
|
249
249
|
);
|
|
250
250
|
if (typeof t.updated_at != "number")
|
|
251
|
-
throw new
|
|
251
|
+
throw new o(
|
|
252
252
|
`VP response validation failed: "claimer.updated_at" must be a number, got ${l(t.updated_at)}`
|
|
253
253
|
);
|
|
254
254
|
}
|
|
255
255
|
function Ee(t, e) {
|
|
256
256
|
if (t === null || typeof t != "object")
|
|
257
|
-
throw new
|
|
257
|
+
throw new o(
|
|
258
258
|
`VP response validation failed: "challengers[${e}]" must be an object, got ${l(t)}`
|
|
259
259
|
);
|
|
260
260
|
const n = t;
|
|
@@ -265,17 +265,17 @@ function Ee(t, e) {
|
|
|
265
265
|
n.challenge_assert_y_txid,
|
|
266
266
|
`challengers[${e}].challenge_assert_y_txid`
|
|
267
267
|
), I(n.nopayout_txid, `challengers[${e}].nopayout_txid`), typeof n.created_at != "number")
|
|
268
|
-
throw new
|
|
268
|
+
throw new o(
|
|
269
269
|
`VP response validation failed: "challengers[${e}].created_at" must be a number, got ${l(n.created_at)}`
|
|
270
270
|
);
|
|
271
271
|
if (typeof n.updated_at != "number")
|
|
272
|
-
throw new
|
|
272
|
+
throw new o(
|
|
273
273
|
`VP response validation failed: "challengers[${e}].updated_at" must be a number, got ${l(n.updated_at)}`
|
|
274
274
|
);
|
|
275
275
|
}
|
|
276
276
|
function I(t, e) {
|
|
277
277
|
if (t !== null && typeof t != "string")
|
|
278
|
-
throw new
|
|
278
|
+
throw new o(
|
|
279
279
|
`VP response validation failed: "${e}" must be a string or null, got ${l(t)}`
|
|
280
280
|
);
|
|
281
281
|
}
|
|
@@ -291,62 +291,62 @@ function Ne(t) {
|
|
|
291
291
|
}
|
|
292
292
|
function ce(t, e, n) {
|
|
293
293
|
if (t === null || typeof t != "object")
|
|
294
|
-
throw new
|
|
294
|
+
throw new o(
|
|
295
295
|
`VP response validation failed: ${e} response is not an object`
|
|
296
296
|
);
|
|
297
297
|
const r = t;
|
|
298
298
|
if (!Array.isArray(r.results))
|
|
299
|
-
throw new
|
|
299
|
+
throw new o(
|
|
300
300
|
`VP response validation failed: "${e}.results" must be an array, got ${l(r.results)}`
|
|
301
301
|
);
|
|
302
|
-
for (let
|
|
303
|
-
const
|
|
304
|
-
if (
|
|
305
|
-
throw new
|
|
306
|
-
`VP response validation failed: "${e}.results[${
|
|
302
|
+
for (let s = 0; s < r.results.length; s++) {
|
|
303
|
+
const i = r.results[s];
|
|
304
|
+
if (i === null || typeof i != "object")
|
|
305
|
+
throw new o(
|
|
306
|
+
`VP response validation failed: "${e}.results[${s}]" must be an object, got ${l(i)}`
|
|
307
307
|
);
|
|
308
|
-
const a =
|
|
309
|
-
if (!
|
|
310
|
-
throw new
|
|
311
|
-
`VP response validation failed: "${e}.results[${
|
|
308
|
+
const a = i;
|
|
309
|
+
if (!v(a.pegin_txid) || a.pegin_txid.length !== $)
|
|
310
|
+
throw new o(
|
|
311
|
+
`VP response validation failed: "${e}.results[${s}].pegin_txid" must be a ${$}-char hex string, got ${l(a.pegin_txid)}`
|
|
312
312
|
);
|
|
313
313
|
if (a.error !== null && typeof a.error != "string")
|
|
314
|
-
throw new
|
|
315
|
-
`VP response validation failed: "${e}.results[${
|
|
314
|
+
throw new o(
|
|
315
|
+
`VP response validation failed: "${e}.results[${s}].error" must be a string or null, got ${l(a.error)}`
|
|
316
316
|
);
|
|
317
317
|
if (a.result === null && a.error === null)
|
|
318
|
-
throw new
|
|
319
|
-
`VP response validation failed: "${e}.results[${
|
|
318
|
+
throw new o(
|
|
319
|
+
`VP response validation failed: "${e}.results[${s}]" has neither "result" nor "error" populated`
|
|
320
320
|
);
|
|
321
321
|
if (a.result !== null && a.error !== null)
|
|
322
|
-
throw new
|
|
323
|
-
`VP response validation failed: "${e}.results[${
|
|
322
|
+
throw new o(
|
|
323
|
+
`VP response validation failed: "${e}.results[${s}]" has both "result" and "error" populated`
|
|
324
324
|
);
|
|
325
|
-
n(a,
|
|
325
|
+
n(a, s);
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
function Re(t) {
|
|
329
329
|
if (y(t.claim_tx, "depositor_graph.claim_tx"), y(t.assert_tx, "depositor_graph.assert_tx"), y(t.payout_tx, "depositor_graph.payout_tx"), m(t.payout_psbt, "depositor_graph.payout_psbt"), !Array.isArray(t.challenger_presign_data))
|
|
330
|
-
throw new
|
|
330
|
+
throw new o(
|
|
331
331
|
'VP response validation failed: "depositor_graph.challenger_presign_data" must be an array'
|
|
332
332
|
);
|
|
333
333
|
for (let e = 0; e < t.challenger_presign_data.length; e++)
|
|
334
|
-
|
|
334
|
+
Se(
|
|
335
335
|
t.challenger_presign_data[e],
|
|
336
336
|
`depositor_graph.challenger_presign_data[${e}]`
|
|
337
337
|
);
|
|
338
338
|
if (typeof t.offchain_params_version != "number")
|
|
339
|
-
throw new
|
|
339
|
+
throw new o(
|
|
340
340
|
'VP response validation failed: "depositor_graph.offchain_params_version" must be a number'
|
|
341
341
|
);
|
|
342
342
|
}
|
|
343
|
-
const
|
|
344
|
-
class
|
|
343
|
+
const He = 6e4;
|
|
344
|
+
class Oe {
|
|
345
345
|
constructor(e, n) {
|
|
346
346
|
p(this, "client");
|
|
347
347
|
const r = {
|
|
348
348
|
baseUrl: e,
|
|
349
|
-
timeout: (n == null ? void 0 : n.timeout) ??
|
|
349
|
+
timeout: (n == null ? void 0 : n.timeout) ?? He,
|
|
350
350
|
retries: n == null ? void 0 : n.retries,
|
|
351
351
|
retryDelay: n == null ? void 0 : n.retryDelay,
|
|
352
352
|
retryableFor: n == null ? void 0 : n.retryableFor,
|
|
@@ -362,7 +362,7 @@ class He {
|
|
|
362
362
|
*/
|
|
363
363
|
async requestDepositorPresignTransactions(e, n) {
|
|
364
364
|
const r = await this.client.call("vaultProvider_requestDepositorPresignTransactions", e, n);
|
|
365
|
-
return
|
|
365
|
+
return Ae(r), r;
|
|
366
366
|
}
|
|
367
367
|
/**
|
|
368
368
|
* Submit the depositor's pre-signatures for the payout transactions
|
|
@@ -393,7 +393,7 @@ class He {
|
|
|
393
393
|
*/
|
|
394
394
|
async requestDepositorClaimerArtifacts(e, n) {
|
|
395
395
|
const r = await this.client.call("vaultProvider_requestDepositorClaimerArtifacts", e, n);
|
|
396
|
-
return
|
|
396
|
+
return ke(r), r;
|
|
397
397
|
}
|
|
398
398
|
/** Get the current pegin status from the vault provider daemon. */
|
|
399
399
|
async getPeginStatus(e, n) {
|
|
@@ -426,31 +426,31 @@ function De(t, e) {
|
|
|
426
426
|
const n = /* @__PURE__ */ new Set();
|
|
427
427
|
for (const u of t)
|
|
428
428
|
n.add(u.toLowerCase());
|
|
429
|
-
const r = /* @__PURE__ */ new Map(),
|
|
429
|
+
const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set(), i = [], a = [];
|
|
430
430
|
for (const u of e) {
|
|
431
431
|
const h = u.pegin_txid.toLowerCase();
|
|
432
432
|
if (!n.has(h)) {
|
|
433
433
|
a.push(h);
|
|
434
434
|
continue;
|
|
435
435
|
}
|
|
436
|
-
if (
|
|
437
|
-
|
|
436
|
+
if (s.has(h)) {
|
|
437
|
+
i.push(h);
|
|
438
438
|
continue;
|
|
439
439
|
}
|
|
440
|
-
|
|
440
|
+
s.add(h), r.set(h, { result: u.result, error: u.error });
|
|
441
441
|
}
|
|
442
442
|
const c = [];
|
|
443
443
|
for (const u of n)
|
|
444
|
-
|
|
445
|
-
return { byTxid: r, missing: c, unexpected: a, duplicate:
|
|
444
|
+
s.has(u) || c.push(u);
|
|
445
|
+
return { byTxid: r, missing: c, unexpected: a, duplicate: i };
|
|
446
446
|
}
|
|
447
447
|
async function lt(t) {
|
|
448
448
|
const {
|
|
449
449
|
items: e,
|
|
450
450
|
getTxid: n,
|
|
451
451
|
batchCall: r,
|
|
452
|
-
onItem:
|
|
453
|
-
onMissing:
|
|
452
|
+
onItem: s,
|
|
453
|
+
onMissing: i,
|
|
454
454
|
onDuplicate: a,
|
|
455
455
|
onDuplicateBatch: c,
|
|
456
456
|
onWholeBatchError: u,
|
|
@@ -462,34 +462,34 @@ async function lt(t) {
|
|
|
462
462
|
`batchPollByProvider: batchSize must be a positive integer, got ${f}`
|
|
463
463
|
);
|
|
464
464
|
for (let P = 0; P < e.length; P += f) {
|
|
465
|
-
const
|
|
466
|
-
for (const d of
|
|
465
|
+
const x = e.slice(P, P + f), S = /* @__PURE__ */ new Map(), K = [];
|
|
466
|
+
for (const d of x) {
|
|
467
467
|
const b = n(d).toLowerCase();
|
|
468
|
-
|
|
468
|
+
S.set(b, d), K.push(b);
|
|
469
469
|
}
|
|
470
|
-
let
|
|
470
|
+
let V;
|
|
471
471
|
try {
|
|
472
|
-
const d = await r(
|
|
473
|
-
|
|
472
|
+
const d = await r(K);
|
|
473
|
+
V = De(K, d.results);
|
|
474
474
|
} catch (d) {
|
|
475
|
-
u(
|
|
475
|
+
u(x, d);
|
|
476
476
|
continue;
|
|
477
477
|
}
|
|
478
|
-
h &&
|
|
479
|
-
const
|
|
480
|
-
for (const d of
|
|
481
|
-
const b =
|
|
478
|
+
h && V.unexpected.length > 0 && h(V.unexpected);
|
|
479
|
+
const k = new Set(V.duplicate);
|
|
480
|
+
for (const d of k) {
|
|
481
|
+
const b = S.get(d);
|
|
482
482
|
b && a(b);
|
|
483
483
|
}
|
|
484
|
-
c &&
|
|
485
|
-
for (const d of
|
|
486
|
-
const b =
|
|
487
|
-
b &&
|
|
484
|
+
c && k.size > 0 && c(k.size);
|
|
485
|
+
for (const d of V.missing) {
|
|
486
|
+
const b = S.get(d);
|
|
487
|
+
b && i(b);
|
|
488
488
|
}
|
|
489
|
-
for (const [d, b] of
|
|
490
|
-
if (
|
|
491
|
-
const
|
|
492
|
-
|
|
489
|
+
for (const [d, b] of V.byTxid) {
|
|
490
|
+
if (k.has(d)) continue;
|
|
491
|
+
const q = S.get(d);
|
|
492
|
+
q && s(q, {
|
|
493
493
|
pegin_txid: d,
|
|
494
494
|
result: b.result,
|
|
495
495
|
error: b.error
|
|
@@ -497,24 +497,24 @@ async function lt(t) {
|
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
499
|
}
|
|
500
|
-
const je = "BIP0322-signed-message",
|
|
500
|
+
const je = "BIP0322-signed-message", Ke = "TapTweak", le = 32, Ue = 64;
|
|
501
501
|
function ue(t, e) {
|
|
502
|
-
const n = new TextEncoder().encode(t), r =
|
|
503
|
-
return
|
|
502
|
+
const n = new TextEncoder().encode(t), r = z(n), s = new Uint8Array(r.length * 2 + e.length);
|
|
503
|
+
return s.set(r, 0), s.set(r, r.length), s.set(e, r.length * 2), z(s);
|
|
504
504
|
}
|
|
505
505
|
function Fe(t) {
|
|
506
506
|
if (t.length !== le) return null;
|
|
507
|
-
const e = ue(
|
|
507
|
+
const e = ue(Ke, t), n = j.xOnlyPointAddTweak(t, e);
|
|
508
508
|
return n ? n.xOnlyPubkey : null;
|
|
509
509
|
}
|
|
510
510
|
function Me(t, e, n) {
|
|
511
|
-
if (e.length !== le || n.length !==
|
|
511
|
+
if (e.length !== le || n.length !== Ue) return !1;
|
|
512
512
|
try {
|
|
513
|
-
const r = ue(je, t),
|
|
513
|
+
const r = ue(je, t), s = we.p2tr({
|
|
514
514
|
internalPubkey: A.from(e)
|
|
515
515
|
});
|
|
516
|
-
if (!
|
|
517
|
-
const
|
|
516
|
+
if (!s.output) return !1;
|
|
517
|
+
const i = s.output, a = 0, c = new U();
|
|
518
518
|
c.version = 0, c.locktime = 0;
|
|
519
519
|
const u = A.concat([
|
|
520
520
|
A.from([0, 32]),
|
|
@@ -528,58 +528,58 @@ function Me(t, e, n) {
|
|
|
528
528
|
0,
|
|
529
529
|
// sequence = 0
|
|
530
530
|
u
|
|
531
|
-
), c.addOutput(
|
|
532
|
-
const h = new
|
|
531
|
+
), c.addOutput(i, a);
|
|
532
|
+
const h = new U();
|
|
533
533
|
h.version = 0, h.locktime = 0;
|
|
534
534
|
const f = c.getHash();
|
|
535
535
|
h.addInput(f, 0, 0), h.addOutput(A.from([106]), a);
|
|
536
536
|
const P = h.hashForWitnessV1(
|
|
537
537
|
0,
|
|
538
|
-
[
|
|
538
|
+
[i],
|
|
539
539
|
[a],
|
|
540
|
-
|
|
541
|
-
),
|
|
542
|
-
return
|
|
540
|
+
U.SIGHASH_DEFAULT
|
|
541
|
+
), x = Fe(e);
|
|
542
|
+
return x ? j.verifySchnorr(P, x, n) : !1;
|
|
543
543
|
} catch {
|
|
544
544
|
return !1;
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
|
-
function
|
|
547
|
+
function H(t, e) {
|
|
548
548
|
const n = (t & 7) << 5, r = typeof e == "bigint" ? e : BigInt(e);
|
|
549
549
|
if (r < 0n) throw new Error("cborHead: negative argument");
|
|
550
550
|
if (r < 24n) return new Uint8Array([n | Number(r)]);
|
|
551
551
|
if (r < 0x100n) return new Uint8Array([n | 24, Number(r)]);
|
|
552
552
|
if (r < 0x10000n) {
|
|
553
|
-
const
|
|
554
|
-
return new Uint8Array([n | 25,
|
|
553
|
+
const i = Number(r);
|
|
554
|
+
return new Uint8Array([n | 25, i >>> 8 & 255, i & 255]);
|
|
555
555
|
}
|
|
556
556
|
if (r < 0x100000000n) {
|
|
557
|
-
const
|
|
557
|
+
const i = Number(r);
|
|
558
558
|
return new Uint8Array([
|
|
559
559
|
n | 26,
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
560
|
+
i >>> 24 & 255,
|
|
561
|
+
i >>> 16 & 255,
|
|
562
|
+
i >>> 8 & 255,
|
|
563
|
+
i & 255
|
|
564
564
|
]);
|
|
565
565
|
}
|
|
566
|
-
const
|
|
567
|
-
|
|
568
|
-
for (let
|
|
569
|
-
|
|
570
|
-
return
|
|
566
|
+
const s = new Uint8Array(9);
|
|
567
|
+
s[0] = n | 27;
|
|
568
|
+
for (let i = 7; i >= 0; i--)
|
|
569
|
+
s[1 + i] = Number(r >> BigInt((7 - i) * 8)) & 255;
|
|
570
|
+
return s;
|
|
571
571
|
}
|
|
572
572
|
function he(...t) {
|
|
573
|
-
const e = t.reduce((
|
|
573
|
+
const e = t.reduce((s, i) => s + i.length, 0), n = new Uint8Array(e);
|
|
574
574
|
let r = 0;
|
|
575
|
-
for (const
|
|
576
|
-
n.set(
|
|
575
|
+
for (const s of t)
|
|
576
|
+
n.set(s, r), r += s.length;
|
|
577
577
|
return n;
|
|
578
578
|
}
|
|
579
579
|
function Q(t) {
|
|
580
|
-
const n = [
|
|
580
|
+
const n = [H(4, t.length)];
|
|
581
581
|
for (const r of t)
|
|
582
|
-
n.push(
|
|
582
|
+
n.push(H(0, r));
|
|
583
583
|
return he(...n);
|
|
584
584
|
}
|
|
585
585
|
function Le(t, e, n) {
|
|
@@ -587,8 +587,8 @@ function Le(t, e, n) {
|
|
|
587
587
|
throw new Error(
|
|
588
588
|
`encodeServerIdentityPayload: expires_at must be a non-negative safe integer, got ${n}`
|
|
589
589
|
);
|
|
590
|
-
const r =
|
|
591
|
-
return he(r,
|
|
590
|
+
const r = H(4, 3), s = Q(t), i = Q(e), a = H(0, n);
|
|
591
|
+
return he(r, s, i, a);
|
|
592
592
|
}
|
|
593
593
|
const Ge = new TextEncoder().encode(
|
|
594
594
|
"btc-auth.server-identity.v1"
|
|
@@ -604,11 +604,11 @@ function E(t) {
|
|
|
604
604
|
e[n] = parseInt(t.slice(n * 2, n * 2 + 2), 16);
|
|
605
605
|
return e;
|
|
606
606
|
}
|
|
607
|
-
function
|
|
608
|
-
const { proof: e, pinnedServerPubkey: n, now: r } = t,
|
|
609
|
-
if (
|
|
607
|
+
function qe(t) {
|
|
608
|
+
const { proof: e, pinnedServerPubkey: n, now: r } = t, s = t.maxLifetimeSecs ?? Xe, i = C(n).toLowerCase();
|
|
609
|
+
if (i.length !== R || !T.test(i))
|
|
610
610
|
throw new g(
|
|
611
|
-
`pinnedServerPubkey must be 32-byte hex; got ${
|
|
611
|
+
`pinnedServerPubkey must be 32-byte hex; got ${i.length} chars`,
|
|
612
612
|
"invalid_pubkey_encoding"
|
|
613
613
|
);
|
|
614
614
|
const a = C(e.server_pubkey).toLowerCase();
|
|
@@ -617,9 +617,9 @@ function ze(t) {
|
|
|
617
617
|
`server_pubkey must be 32-byte hex; got ${a.length} chars`,
|
|
618
618
|
"invalid_pubkey_encoding"
|
|
619
619
|
);
|
|
620
|
-
if (a !==
|
|
620
|
+
if (a !== i)
|
|
621
621
|
throw new g(
|
|
622
|
-
`server_pubkey does not match pinned value: expected ${
|
|
622
|
+
`server_pubkey does not match pinned value: expected ${i}, got ${a}`,
|
|
623
623
|
"pinned_pubkey_mismatch"
|
|
624
624
|
);
|
|
625
625
|
if (!Number.isSafeInteger(e.expires_at))
|
|
@@ -637,14 +637,14 @@ function ze(t) {
|
|
|
637
637
|
`server identity proof expired at ${e.expires_at}, now ${r}`,
|
|
638
638
|
"expired"
|
|
639
639
|
);
|
|
640
|
-
if (!Number.isSafeInteger(
|
|
640
|
+
if (!Number.isSafeInteger(s) || s <= 0)
|
|
641
641
|
throw new g(
|
|
642
|
-
`maxLifetimeSecs must be a positive safe integer; got ${JSON.stringify(
|
|
642
|
+
`maxLifetimeSecs must be a positive safe integer; got ${JSON.stringify(s)}`,
|
|
643
643
|
"invalid_max_lifetime"
|
|
644
644
|
);
|
|
645
|
-
if (e.expires_at - r >
|
|
645
|
+
if (e.expires_at - r > s)
|
|
646
646
|
throw new g(
|
|
647
|
-
`server identity proof expires too far in the future: expires_at=${e.expires_at}, now=${r}, max lifetime=${
|
|
647
|
+
`server identity proof expires too far in the future: expires_at=${e.expires_at}, now=${r}, max lifetime=${s}s`,
|
|
648
648
|
"expires_too_far"
|
|
649
649
|
);
|
|
650
650
|
const c = C(e.ephemeral_pubkey).toLowerCase();
|
|
@@ -682,10 +682,11 @@ function ze(t) {
|
|
|
682
682
|
"signature_verification_failed"
|
|
683
683
|
);
|
|
684
684
|
}
|
|
685
|
-
const
|
|
685
|
+
const ze = /* @__PURE__ */ new Set([
|
|
686
686
|
"vaultProvider_submitDepositorWotsKey",
|
|
687
687
|
"vaultProvider_submitDepositorPresignatures",
|
|
688
|
-
"vaultProvider_requestDepositorPresignTransactions"
|
|
688
|
+
"vaultProvider_requestDepositorPresignTransactions",
|
|
689
|
+
"vaultProvider_requestDepositorClaimerArtifacts"
|
|
689
690
|
]), We = 6e4, G = "auth_createDepositorToken";
|
|
690
691
|
function de(t, e) {
|
|
691
692
|
return new re({
|
|
@@ -757,7 +758,7 @@ class Je {
|
|
|
757
758
|
pegin_txid: this.peginTxid,
|
|
758
759
|
auth_anchor: this.authAnchorHex
|
|
759
760
|
});
|
|
760
|
-
if (
|
|
761
|
+
if (qe({
|
|
761
762
|
proof: r.server_identity,
|
|
762
763
|
pinnedServerPubkey: this.pinnedServerPubkey,
|
|
763
764
|
now: this.now()
|
|
@@ -765,16 +766,16 @@ class Je {
|
|
|
765
766
|
throw new Error(
|
|
766
767
|
`VpTokenProvider: invalid token in acquire response (expected non-empty string, got ${typeof r.token})`
|
|
767
768
|
);
|
|
768
|
-
const
|
|
769
|
-
if (!Number.isSafeInteger(r.expires_at) || r.expires_at <=
|
|
769
|
+
const s = this.now();
|
|
770
|
+
if (!Number.isSafeInteger(r.expires_at) || r.expires_at <= s || r.expires_at > J)
|
|
770
771
|
throw new Error(
|
|
771
|
-
`VpTokenProvider: invalid expires_at in acquire response (got ${JSON.stringify(r.expires_at)}; must be a safe integer in (${
|
|
772
|
+
`VpTokenProvider: invalid expires_at in acquire response (got ${JSON.stringify(r.expires_at)}; must be a safe integer in (${s}, ${J}])`
|
|
772
773
|
);
|
|
773
|
-
const
|
|
774
|
+
const i = {
|
|
774
775
|
token: r.token,
|
|
775
776
|
expiresAt: r.expires_at
|
|
776
777
|
};
|
|
777
|
-
return this.cached =
|
|
778
|
+
return this.cached = i, i;
|
|
778
779
|
} finally {
|
|
779
780
|
this.inFlight = null;
|
|
780
781
|
}
|
|
@@ -811,7 +812,7 @@ class Ye {
|
|
|
811
812
|
peginTxid: e.peginTxid,
|
|
812
813
|
authAnchorHex: e.authAnchorHex,
|
|
813
814
|
pinnedServerPubkey: e.pinnedServerPubkey,
|
|
814
|
-
authGatedMethods:
|
|
815
|
+
authGatedMethods: ze
|
|
815
816
|
});
|
|
816
817
|
return this.entries.set(e.peginTxid, {
|
|
817
818
|
provider: r,
|
|
@@ -857,7 +858,7 @@ function ut(t) {
|
|
|
857
858
|
authAnchorHex: t.authAnchorHex,
|
|
858
859
|
pinnedServerPubkey: t.pinnedServerPubkey
|
|
859
860
|
});
|
|
860
|
-
return new
|
|
861
|
+
return new Oe(t.baseUrl, {
|
|
861
862
|
...t.options,
|
|
862
863
|
tokenProvider: n
|
|
863
864
|
});
|
|
@@ -875,12 +876,12 @@ async function dt(t, e) {
|
|
|
875
876
|
contracts: [
|
|
876
877
|
{
|
|
877
878
|
address: e,
|
|
878
|
-
abi:
|
|
879
|
+
abi: w,
|
|
879
880
|
functionName: "protocolParams"
|
|
880
881
|
},
|
|
881
882
|
{
|
|
882
883
|
address: e,
|
|
883
|
-
abi:
|
|
884
|
+
abi: w,
|
|
884
885
|
functionName: "applicationRegistry"
|
|
885
886
|
}
|
|
886
887
|
],
|
|
@@ -891,9 +892,9 @@ async function dt(t, e) {
|
|
|
891
892
|
applicationRegistry: r
|
|
892
893
|
};
|
|
893
894
|
}
|
|
894
|
-
const M = 65535, Y = 1e4,
|
|
895
|
+
const M = 65535, Y = 1e4, O = 4294967295, Z = 255;
|
|
895
896
|
function X(t) {
|
|
896
|
-
if (!Number.isInteger(t) || t < 0 || t >
|
|
897
|
+
if (!Number.isInteger(t) || t < 0 || t > O)
|
|
897
898
|
throw new Error(
|
|
898
899
|
`Invalid offchainParamsVersion from contract: must be a uint32, got ${t}`
|
|
899
900
|
);
|
|
@@ -912,8 +913,8 @@ function N(t) {
|
|
|
912
913
|
`minPeginFeeRate must be positive, got ${t.minPeginFeeRate}`
|
|
913
914
|
), (!Number.isInteger(t.proverProgramVersion) || t.proverProgramVersion < 0 || t.proverProgramVersion > M) && e.push(
|
|
914
915
|
`proverProgramVersion must be a uint16, got ${t.proverProgramVersion}`
|
|
915
|
-
), (!Number.isInteger(t.minPrepeginDepth) || t.minPrepeginDepth <= 0 || t.minPrepeginDepth >
|
|
916
|
-
`minPrepeginDepth must be a uint32 in [1, ${
|
|
916
|
+
), (!Number.isInteger(t.minPrepeginDepth) || t.minPrepeginDepth <= 0 || t.minPrepeginDepth > O) && e.push(
|
|
917
|
+
`minPrepeginDepth must be a uint32 in [1, ${O}], got ${t.minPrepeginDepth}`
|
|
917
918
|
), t.babeTotalInstances <= 0 && e.push(
|
|
918
919
|
`babeTotalInstances must be positive, got ${t.babeTotalInstances}`
|
|
919
920
|
), t.babeInstancesToFinalize <= 0 && e.push(
|
|
@@ -943,7 +944,7 @@ function ge(t) {
|
|
|
943
944
|
throw new Error(`Invalid TBV protocol parameters: ${e.join("; ")}`);
|
|
944
945
|
}
|
|
945
946
|
function Ze(t) {
|
|
946
|
-
if (ge(t), N(t.offchainParams), !Number.isInteger(t.offchainParamsVersion) || t.offchainParamsVersion < 0 || t.offchainParamsVersion >
|
|
947
|
+
if (ge(t), N(t.offchainParams), !Number.isInteger(t.offchainParamsVersion) || t.offchainParamsVersion < 0 || t.offchainParamsVersion > O)
|
|
947
948
|
throw new Error(
|
|
948
949
|
`Invalid peg-in configuration: offchainParamsVersion must be a uint32, got ${t.offchainParamsVersion}`
|
|
949
950
|
);
|
|
@@ -1050,7 +1051,7 @@ class pt {
|
|
|
1050
1051
|
}
|
|
1051
1052
|
],
|
|
1052
1053
|
allowFailure: !1
|
|
1053
|
-
}), n = te(e[0]), r = B(e[1]),
|
|
1054
|
+
}), n = te(e[0]), r = B(e[1]), s = Number(e[2]), i = {
|
|
1054
1055
|
minimumPegInAmount: n.minimumPegInAmount,
|
|
1055
1056
|
maxPegInAmount: n.maxPegInAmount,
|
|
1056
1057
|
pegInAckTimeout: n.pegInAckTimeout,
|
|
@@ -1060,9 +1061,9 @@ class pt {
|
|
|
1060
1061
|
timelockRefund: r.tRefund,
|
|
1061
1062
|
minVpCommissionBps: r.minVpCommissionBps,
|
|
1062
1063
|
offchainParams: r,
|
|
1063
|
-
offchainParamsVersion:
|
|
1064
|
+
offchainParamsVersion: s
|
|
1064
1065
|
};
|
|
1065
|
-
return Ze(
|
|
1066
|
+
return Ze(i), i;
|
|
1066
1067
|
}
|
|
1067
1068
|
/**
|
|
1068
1069
|
* Fetch every historical offchain params version in a single multicall.
|
|
@@ -1078,17 +1079,17 @@ class pt {
|
|
|
1078
1079
|
const n = await this.getLatestOffchainParamsVersion();
|
|
1079
1080
|
if (n === 0)
|
|
1080
1081
|
return { byVersion: /* @__PURE__ */ new Map(), latestVersion: 0 };
|
|
1081
|
-
const r = Array.from({ length: n }, (c, u) => u + 1),
|
|
1082
|
+
const r = Array.from({ length: n }, (c, u) => u + 1), s = r.map((c) => ({
|
|
1082
1083
|
address: this.contractAddress,
|
|
1083
1084
|
abi: _,
|
|
1084
1085
|
functionName: "getOffchainParamsByVersion",
|
|
1085
1086
|
args: [c]
|
|
1086
|
-
})),
|
|
1087
|
-
contracts:
|
|
1087
|
+
})), i = await this.publicClient.multicall({
|
|
1088
|
+
contracts: s,
|
|
1088
1089
|
allowFailure: !1
|
|
1089
1090
|
}), a = /* @__PURE__ */ new Map();
|
|
1090
1091
|
for (let c = 0; c < r.length; c++) {
|
|
1091
|
-
const u = B(
|
|
1092
|
+
const u = B(i[c]);
|
|
1092
1093
|
try {
|
|
1093
1094
|
N(u), a.set(r[c], u);
|
|
1094
1095
|
} catch (h) {
|
|
@@ -1180,7 +1181,7 @@ class mt {
|
|
|
1180
1181
|
async getVaultProviderBtcPubKey(e) {
|
|
1181
1182
|
const r = (await this.publicClient.readContract({
|
|
1182
1183
|
address: this.contractAddress,
|
|
1183
|
-
abi:
|
|
1184
|
+
abi: w,
|
|
1184
1185
|
functionName: "getVaultProviderBTCKey",
|
|
1185
1186
|
args: [e]
|
|
1186
1187
|
})).toLowerCase();
|
|
@@ -1188,17 +1189,17 @@ class mt {
|
|
|
1188
1189
|
throw new Error(
|
|
1189
1190
|
`getVaultProviderBTCKey returned an unexpected value (vp=${e}, length ${r.length}, prefix "${r.slice(0, 2)}")`
|
|
1190
1191
|
);
|
|
1191
|
-
const
|
|
1192
|
-
if (!j.isXOnlyPoint(Pe(
|
|
1192
|
+
const s = r.slice(2);
|
|
1193
|
+
if (!j.isXOnlyPoint(Pe(s)))
|
|
1193
1194
|
throw new Error(
|
|
1194
1195
|
`getVaultProviderBTCKey returned a value that is not on the secp256k1 curve (vp=${e})`
|
|
1195
1196
|
);
|
|
1196
|
-
return
|
|
1197
|
+
return s;
|
|
1197
1198
|
}
|
|
1198
1199
|
async getVaultBasicInfo(e) {
|
|
1199
1200
|
const n = await this.publicClient.readContract({
|
|
1200
1201
|
address: this.contractAddress,
|
|
1201
|
-
abi:
|
|
1202
|
+
abi: w,
|
|
1202
1203
|
functionName: "getBtcVaultBasicInfo",
|
|
1203
1204
|
args: [e]
|
|
1204
1205
|
});
|
|
@@ -1215,7 +1216,7 @@ class mt {
|
|
|
1215
1216
|
async getVaultProtocolInfo(e) {
|
|
1216
1217
|
const n = await this.publicClient.readContract({
|
|
1217
1218
|
address: this.contractAddress,
|
|
1218
|
-
abi:
|
|
1219
|
+
abi: w,
|
|
1219
1220
|
functionName: "getBtcVaultProtocolInfo",
|
|
1220
1221
|
args: [e]
|
|
1221
1222
|
}), r = Number(n.offchainParamsVersion);
|
|
@@ -1233,6 +1234,36 @@ class mt {
|
|
|
1233
1234
|
vaultProviderCommissionBps: n.vaultProviderCommissionBps
|
|
1234
1235
|
};
|
|
1235
1236
|
}
|
|
1237
|
+
async getProtocolInfoBatch(e) {
|
|
1238
|
+
return e.length === 0 ? [] : (await this.publicClient.multicall({
|
|
1239
|
+
contracts: e.map((r) => ({
|
|
1240
|
+
address: this.contractAddress,
|
|
1241
|
+
abi: w,
|
|
1242
|
+
functionName: "getBtcVaultProtocolInfo",
|
|
1243
|
+
args: [r]
|
|
1244
|
+
})),
|
|
1245
|
+
allowFailure: !1
|
|
1246
|
+
})).map((r, s) => {
|
|
1247
|
+
const i = r;
|
|
1248
|
+
if (!i.depositorSignedPeginTx || i.depositorSignedPeginTx === "0x")
|
|
1249
|
+
throw new Error(
|
|
1250
|
+
`Vault ${e[s]} not found on-chain or has no pegin transaction`
|
|
1251
|
+
);
|
|
1252
|
+
return {
|
|
1253
|
+
depositorSignedPeginTx: i.depositorSignedPeginTx,
|
|
1254
|
+
universalChallengersVersion: i.universalChallengersVersion,
|
|
1255
|
+
appVaultKeepersVersion: i.appVaultKeepersVersion,
|
|
1256
|
+
offchainParamsVersion: i.offchainParamsVersion,
|
|
1257
|
+
verifiedAt: i.verifiedAt,
|
|
1258
|
+
depositorWotsPkHash: i.depositorWotsPkHash,
|
|
1259
|
+
hashlock: i.hashlock,
|
|
1260
|
+
htlcVout: i.htlcVout,
|
|
1261
|
+
depositorPopSignature: i.depositorPopSignature,
|
|
1262
|
+
prePeginTxHash: i.prePeginTxHash,
|
|
1263
|
+
vaultProviderCommissionBps: i.vaultProviderCommissionBps
|
|
1264
|
+
};
|
|
1265
|
+
});
|
|
1266
|
+
}
|
|
1236
1267
|
async getVaultData(e) {
|
|
1237
1268
|
const [n, r] = await Promise.all([
|
|
1238
1269
|
this.getVaultBasicInfo(e),
|
|
@@ -1253,28 +1284,28 @@ class mt {
|
|
|
1253
1284
|
return e.length === 0 ? [] : (await this.publicClient.multicall({
|
|
1254
1285
|
contracts: e.map((r) => ({
|
|
1255
1286
|
address: this.contractAddress,
|
|
1256
|
-
abi:
|
|
1287
|
+
abi: w,
|
|
1257
1288
|
functionName: "getBtcVaultProtocolInfo",
|
|
1258
1289
|
args: [r]
|
|
1259
1290
|
})),
|
|
1260
1291
|
allowFailure: !1
|
|
1261
1292
|
})).map((r) => {
|
|
1262
|
-
const
|
|
1263
|
-
if (!
|
|
1293
|
+
const s = r;
|
|
1294
|
+
if (!s.depositorSignedPeginTx || s.depositorSignedPeginTx === "0x")
|
|
1264
1295
|
throw new Error(
|
|
1265
1296
|
"Vault not found on-chain or has no pegin transaction while reading offchain params version"
|
|
1266
1297
|
);
|
|
1267
|
-
const
|
|
1268
|
-
return X(
|
|
1298
|
+
const i = Number(s.offchainParamsVersion);
|
|
1299
|
+
return X(i), i;
|
|
1269
1300
|
});
|
|
1270
1301
|
}
|
|
1271
1302
|
}
|
|
1272
1303
|
export {
|
|
1273
1304
|
g as S,
|
|
1274
|
-
|
|
1275
|
-
|
|
1305
|
+
Oe as V,
|
|
1306
|
+
o as a,
|
|
1276
1307
|
lt as b,
|
|
1277
|
-
|
|
1308
|
+
qe as c,
|
|
1278
1309
|
Ye as d,
|
|
1279
1310
|
pe as e,
|
|
1280
1311
|
ut as f,
|
|
@@ -1287,6 +1318,6 @@ export {
|
|
|
1287
1318
|
mt as m,
|
|
1288
1319
|
ht as p,
|
|
1289
1320
|
dt as r,
|
|
1290
|
-
|
|
1321
|
+
ke as v
|
|
1291
1322
|
};
|
|
1292
|
-
//# sourceMappingURL=vault-registry-reader-
|
|
1323
|
+
//# sourceMappingURL=vault-registry-reader-CrLodprY.js.map
|