@obolnetwork/obol-sdk 1.0.15 → 1.0.16
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/cjs/package.json +1 -1
- package/dist/cjs/src/index.js +11 -9
- package/dist/cjs/src/services.js +1 -1
- package/dist/cjs/src/verification/v1.8.0.js +1 -1
- package/dist/cjs/test/fixtures.js +64 -69
- package/dist/esm/package.json +1 -1
- package/dist/esm/src/index.js +11 -9
- package/dist/esm/src/services.js +1 -1
- package/dist/esm/src/verification/v1.8.0.js +1 -1
- package/dist/esm/test/fixtures.js +64 -69
- package/dist/types/src/index.d.ts +11 -9
- package/dist/types/src/services.d.ts +1 -1
- package/package.json +1 -1
- package/src/index.ts +11 -9
- package/src/services.ts +1 -1
- package/src/verification/v1.8.0.ts +1 -1
package/dist/cjs/package.json
CHANGED
package/dist/cjs/src/index.js
CHANGED
|
@@ -53,11 +53,13 @@ class Client extends base_js_1.Base {
|
|
|
53
53
|
this.signer = signer;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
* Accepts Obol terms and conditions to be able to create or update data.
|
|
57
|
+
* @returns {Promise<string>} terms and conditions acceptance success message.
|
|
58
|
+
* @throws On unverified signature or wrong hash.
|
|
59
|
+
*
|
|
60
|
+
* An example of how to use acceptObolLatestTermsAndConditions:
|
|
61
|
+
* [acceptObolLatestTermsAndConditions](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L44)
|
|
62
|
+
*/
|
|
61
63
|
acceptObolLatestTermsAndConditions() {
|
|
62
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
63
65
|
if (!this.signer) {
|
|
@@ -99,7 +101,7 @@ class Client extends base_js_1.Base {
|
|
|
99
101
|
* @throws On duplicate entries, missing or wrong cluster keys.
|
|
100
102
|
*
|
|
101
103
|
* An example of how to use createClusterDefinition:
|
|
102
|
-
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
104
|
+
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L59)
|
|
103
105
|
*/
|
|
104
106
|
createClusterDefinition(newCluster) {
|
|
105
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -139,7 +141,7 @@ class Client extends base_js_1.Base {
|
|
|
139
141
|
* @throws On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.
|
|
140
142
|
*
|
|
141
143
|
* An example of how to use acceptClusterDefinition:
|
|
142
|
-
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
144
|
+
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L106)
|
|
143
145
|
*/
|
|
144
146
|
acceptClusterDefinition(operatorPayload, configHash) {
|
|
145
147
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -172,7 +174,7 @@ class Client extends base_js_1.Base {
|
|
|
172
174
|
* @throws On not found config hash.
|
|
173
175
|
*
|
|
174
176
|
* An example of how to use getClusterDefinition:
|
|
175
|
-
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
177
|
+
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L74)
|
|
176
178
|
*/
|
|
177
179
|
getClusterDefinition(configHash) {
|
|
178
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -188,7 +190,7 @@ class Client extends base_js_1.Base {
|
|
|
188
190
|
* @throws On not found cluster definition or lock.
|
|
189
191
|
*
|
|
190
192
|
* An example of how to use getClusterLock:
|
|
191
|
-
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
193
|
+
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L89)
|
|
192
194
|
*/
|
|
193
195
|
getClusterLock(configHash) {
|
|
194
196
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/cjs/src/services.js
CHANGED
|
@@ -18,7 +18,7 @@ const common_js_1 = require("./verification/common.js");
|
|
|
18
18
|
* @throws on missing keys or values.
|
|
19
19
|
*
|
|
20
20
|
* An example of how to use validateClusterLock:
|
|
21
|
-
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
21
|
+
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L127)
|
|
22
22
|
*/
|
|
23
23
|
const validateClusterLock = (lock) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
24
|
try {
|
|
@@ -147,7 +147,7 @@ const verifyDVV1X8 = (clusterLock) => {
|
|
|
147
147
|
}
|
|
148
148
|
// Deposit Data Verification
|
|
149
149
|
for (let j = 0; j < validator.partial_deposit_data.length; j++) {
|
|
150
|
-
const depositData = validator.partial_deposit_data[
|
|
150
|
+
const depositData = validator.partial_deposit_data[j];
|
|
151
151
|
const { isValidDepositData, depositDataMsg } = (0, common_1.verifyDepositData)(distributedPublicKey, depositData, clusterLock.cluster_definition.validators[i].withdrawal_address, clusterLock.cluster_definition.fork_version);
|
|
152
152
|
if (!isValidDepositData) {
|
|
153
153
|
return false;
|
|
@@ -195,125 +195,120 @@ exports.clusterConfigV1X8 = {
|
|
|
195
195
|
};
|
|
196
196
|
exports.clusterLockV1X8 = {
|
|
197
197
|
cluster_definition: {
|
|
198
|
-
name: '
|
|
198
|
+
name: 'xxxx',
|
|
199
199
|
creator: {
|
|
200
|
-
address: '
|
|
201
|
-
config_signature: '
|
|
200
|
+
address: '0x86B8145c98e5BD25BA722645b15eD65f024a87EC',
|
|
201
|
+
config_signature: '0xd30b182fadbc2c5b2bb3f3f6ed6ac2588f297ceb610ed5509bf3e5a25a9b30c70f8a09ef1d2c8e1dbe5ff441299fe66ec677734cc08beec87e94b7effcb089701b'
|
|
202
202
|
},
|
|
203
203
|
operators: [
|
|
204
204
|
{
|
|
205
|
-
address: '
|
|
206
|
-
enr: 'enr:-
|
|
207
|
-
config_signature: '
|
|
208
|
-
enr_signature: '
|
|
205
|
+
address: '0x86B8145c98e5BD25BA722645b15eD65f024a87EC',
|
|
206
|
+
enr: 'enr:-HW4QLlrtMjFLGkFT1bwdGbvZQlH8hLi0M2g44JAxEYP3BZmYpcsy9Q56HPPD87fMucjvLv4-obEFacpsg0ehRilbHeAgmlkgnY0iXNlY3AyNTZrMaEDRaa5o2aSgqyFq_ERZcQTztrOij1mFtXX1bJuVI6ieak',
|
|
207
|
+
config_signature: '0x3df771ecfc9ae2d01da9249dc636a42893e48759c0fa5c51f5e5e14f3ea4513233d1e3bbdd0e11d4b67c8a907201fd08225a75a1e2d6f510a439d6b15f0c36341c',
|
|
208
|
+
enr_signature: '0x3fe2a124dabe3d517e4c274074b3529d36d9528ca6fa8a4e74ef356f86a07c1462fe72a5336421c2647be7babc4ce1835c2101133e0779cf81d4a8d8cb9fe5591c'
|
|
209
209
|
},
|
|
210
210
|
{
|
|
211
|
-
address: '
|
|
212
|
-
enr: 'enr:-
|
|
213
|
-
config_signature: '
|
|
214
|
-
enr_signature: '
|
|
211
|
+
address: '0xC35CfCd67b9C27345a54EDEcC1033F2284148c81',
|
|
212
|
+
enr: 'enr:-Iu4QNbiUUUwT18LynBbVPJhNxvzQsaSpUr40mQTWscnZaqKb6vAlvV8j-eDDR3E0wjMQumGRbGm2IAb5_k4bVWJiVGAgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQPOiodUji0ohgJb5sNK1hgv8g6xO5_znZz3NkkBkyYyKIN0Y3CCDhqDdWRwgg4u',
|
|
213
|
+
config_signature: '0x12d19d6fc4c1a5d9e7be09f47c2f2357dd89f47aba8ae0185f5345e08bcc3adc324bdd51e68a12c3ca34c604d786cfde5f0798aa928dac496edb16c70e7086551b',
|
|
214
|
+
enr_signature: '0xa3d49832dfaf0ad87c5796f9bc151009343da70b91fd53bee3645baa63d001d3207662da8f67b3a20f2ee30c9cacb24a5719a78dc24e030c8ac93e7b3b46bf881b'
|
|
215
215
|
},
|
|
216
216
|
{
|
|
217
|
-
address: '
|
|
218
|
-
enr: 'enr:-
|
|
219
|
-
config_signature: '
|
|
220
|
-
enr_signature: '
|
|
217
|
+
address: '0x33807D6F1DCe44b9C599fFE03640762A6F08C496',
|
|
218
|
+
enr: 'enr:-Iu4QJyserRukhG0Vgi2csu7GjpHYUGufNEbZ8Q7ZBrcZUb0KqpL5QzHonkh1xxHlxatTxrIcX_IS5J3SEWR_sa0ptGAgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQMAUgEqczOjevyculnUIofhCj0DkgJudErM7qCYIvIkzIN0Y3CCDhqDdWRwgg4u',
|
|
219
|
+
config_signature: '0x665d287c46921aad0dde389291b982f24dbbeb4b7ce5ee7bbc4a7d1fb55134f7136889eb3ce70208a7f276b9d4aefb1fbc6159476934567e5bf11765b2c9649b1b',
|
|
220
|
+
enr_signature: '0xc32d5ea29569b01354d48ddaf56df1481a5ae618ffb47602ef40e0e77357de5f23a5258923be5fa06ecce20f5692847860c25c38b97a4e306c94decd99c0519a1b'
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
address: '0xc6e76F72Ea672FAe05C357157CfC37720F0aF26f',
|
|
224
|
+
enr: 'enr:-HW4QKJTwXC6Chw6zbnA3HFZi6Jo0DkIgjKy4eUBpsSOGnAeWE6ChEjEyk_6R6Qrm7jI-iqfs3_HYxiKde8vFgvHHrCAgmlkgnY0iXNlY3AyNTZrMaECfFKQH4spdZCHqrKVz1Q02xYla6J_RQECDNNYBRWdzv8',
|
|
225
|
+
config_signature: '0x610f7be9c7c38878cde1cb391de08eee2f86e62f31f450843b4e37164e738fc8769046e53ad1f018f54ddaf858ff372d22169702c60d68bda19c96fdd20150b61c',
|
|
226
|
+
enr_signature: '0xe2977c79f63b8fe6cb6551efec0cf69041c7f4aaa8ea338997a397450ee946023b03ccb70ad3cc97b1319e1eea9f7472a2ca161bc8b33acdcde689d84c7e771c1b'
|
|
221
227
|
}
|
|
222
228
|
],
|
|
223
|
-
uuid: '
|
|
229
|
+
uuid: 'bc2fec0c-0b8b-4415-bf48-1e96b07f50eb',
|
|
224
230
|
version: 'v1.8.0',
|
|
225
|
-
timestamp: '2024-
|
|
231
|
+
timestamp: '2024-05-24T15:04:08.322Z',
|
|
226
232
|
num_validators: 2,
|
|
227
233
|
threshold: 3,
|
|
228
234
|
validators: [
|
|
229
235
|
{
|
|
230
|
-
fee_recipient_address: '
|
|
231
|
-
withdrawal_address: '
|
|
236
|
+
fee_recipient_address: '0x7aC193bF9a9C6e6DD6302969E8Ea6EdF6df490d8',
|
|
237
|
+
withdrawal_address: '0x9e0AC0078F10d28E875577bb3A4A9EDAB60c03EC'
|
|
232
238
|
},
|
|
233
239
|
{
|
|
234
|
-
fee_recipient_address: '
|
|
235
|
-
withdrawal_address: '
|
|
240
|
+
fee_recipient_address: '0x7aC193bF9a9C6e6DD6302969E8Ea6EdF6df490d8',
|
|
241
|
+
withdrawal_address: '0x9e0AC0078F10d28E875577bb3A4A9EDAB60c03EC'
|
|
236
242
|
}
|
|
237
243
|
],
|
|
238
|
-
dkg_algorithm: '
|
|
239
|
-
fork_version: '
|
|
244
|
+
dkg_algorithm: 'default',
|
|
245
|
+
fork_version: '0x01017000',
|
|
240
246
|
deposit_amounts: [
|
|
241
|
-
'
|
|
242
|
-
'16000000000',
|
|
243
|
-
'8000000000'
|
|
247
|
+
'32000000000'
|
|
244
248
|
],
|
|
245
|
-
config_hash: '
|
|
246
|
-
definition_hash: '
|
|
249
|
+
config_hash: '0xb2601f51d277f699acb8ea3b9fb4fc68087c0f1f2c6ae83d00fdd853a6cddb31',
|
|
250
|
+
definition_hash: '0x2a9d52b1dd13fd91661d81e3786512ffdcc3689e2ec97105add153f543c642b4'
|
|
247
251
|
},
|
|
248
252
|
distributed_validators: [
|
|
249
253
|
{
|
|
250
|
-
distributed_public_key: '
|
|
254
|
+
distributed_public_key: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27',
|
|
251
255
|
public_shares: [
|
|
252
|
-
'
|
|
253
|
-
'
|
|
254
|
-
'
|
|
256
|
+
'0x849db297f690a26e76d5930f99eac9e3f95d9232256d6e39124fe071745b43c8b5418c733b06683aa240a2a0e44b9b8f',
|
|
257
|
+
'0xa1051bf5692153d5bc418946763bb5c82780a05e97bd5b258ea7abe6705047628edd8277366f6b5d0469abfee18988d9',
|
|
258
|
+
'0x87d0342e5dc49a0a0c8f08ec011da3bd859a333bfc46ddd0a194485aa5aa954b7c18d05a2c1ae148d4dc45331101f496',
|
|
259
|
+
'0xa4fa0e971e1a5e38ebe89c6457bc9316b3dd0933660b17e1c717ac148f8340a5db20d867c7a24758c701f6b6bec4d552'
|
|
255
260
|
],
|
|
256
261
|
builder_registration: {
|
|
257
262
|
message: {
|
|
258
|
-
fee_recipient: '
|
|
263
|
+
fee_recipient: '0x7ac193bf9a9c6e6dd6302969e8ea6edf6df490d8',
|
|
259
264
|
gas_limit: 30000000,
|
|
260
|
-
timestamp:
|
|
261
|
-
pubkey: '
|
|
265
|
+
timestamp: 1696000704,
|
|
266
|
+
pubkey: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27'
|
|
262
267
|
},
|
|
263
|
-
signature: '
|
|
268
|
+
signature: '0xb39977fe7c45bab28cfd1bcf356a71b0557187a75e0dfa0facaf5eddba05988c0da85800a4b4528704df44f280913ebc125eb3f9c091d6dd220c92dfcc3c80bc7a9ed2f1b96bffaeaa1053cf117b02b48eb755139c5623b6e61dd92c27d15813'
|
|
264
269
|
},
|
|
265
270
|
partial_deposit_data: [
|
|
266
271
|
{
|
|
267
|
-
pubkey: '
|
|
268
|
-
withdrawal_credentials: '
|
|
269
|
-
amount: '
|
|
270
|
-
signature: '
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
pubkey: '0x87382e8cc3e2c9c2d03ac1af7ae0bcc1be468c596a8a8b8059153ca9ce7746d459dd0603858e858355cb96d67a2a87a7',
|
|
274
|
-
withdrawal_credentials: '0x01000000000000000000000081855ad8681d0d86d1e91e00167939cb6694d2c4',
|
|
275
|
-
amount: '16000000000',
|
|
276
|
-
signature: '0xac5bcb369e8dde110604f6ae829a3432f82a99b0a996e15f4be6426acbe690a1aadb4b365d8b10a36737b2cd8c7f561214d4e4df3626cc9664f663111d15efbd8d18cffff5c3eff407fe2cc478244caea7f9f2afee83a0ae8aa2587365b8e54a'
|
|
272
|
+
pubkey: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27',
|
|
273
|
+
withdrawal_credentials: '0x0100000000000000000000009e0ac0078f10d28e875577bb3a4a9edab60c03ec',
|
|
274
|
+
amount: '32000000000',
|
|
275
|
+
signature: '0x9861022ca71cf18aad49a201b023356b8c5ca090086614b681cb84a54327caeff53c0a71c5f55f49976114bb86de2ad6052d174d7948e6c8a924d9bfbbbc2181fad967d818454c6c4f7cffb7bb93dc2c4f4c87fc5598cb4582fa08eff0c7bc08'
|
|
277
276
|
}
|
|
278
277
|
]
|
|
279
278
|
},
|
|
280
279
|
{
|
|
281
|
-
distributed_public_key: '
|
|
280
|
+
distributed_public_key: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479',
|
|
282
281
|
public_shares: [
|
|
283
|
-
'
|
|
284
|
-
'
|
|
285
|
-
'
|
|
282
|
+
'0x8279ae646839d946a622d096296ffcccd289e8c49ea2308560bbb731c63d4b49ea46db817a955e47634edbded4919d82',
|
|
283
|
+
'0xa8a12b5b645b015c55515b3220395e015fc051c58bf243e1b638770652c67f863852f9190e3e182aa86b99823b4cf28d',
|
|
284
|
+
'0xb0c557f812060bb1c409e5324c7b54f35fee8f1180c714e60784f7df6a58e3ba3da6cc8b3cebc01975f9f41efcd777cb',
|
|
285
|
+
'0xa7a8576c3b21221f2a6adefc41b4c1f979ee0761e9a7ff50d30434d1a0c4e7fc505b308636801925e698286b802de421'
|
|
286
286
|
],
|
|
287
287
|
builder_registration: {
|
|
288
288
|
message: {
|
|
289
|
-
fee_recipient: '
|
|
289
|
+
fee_recipient: '0x7ac193bf9a9c6e6dd6302969e8ea6edf6df490d8',
|
|
290
290
|
gas_limit: 30000000,
|
|
291
|
-
timestamp:
|
|
292
|
-
pubkey: '
|
|
291
|
+
timestamp: 1696000704,
|
|
292
|
+
pubkey: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479'
|
|
293
293
|
},
|
|
294
|
-
signature: '
|
|
294
|
+
signature: '0x8dcb54028adb8f5601b6ab20ded381dabb6739b3e506df795a279043997908c7d38a68b8e8dda27516165f18e437a84603935bfefc1a83befbd1a90ac43fcc7fb0eed81122852a2ee71fef414aa8879198da239527036b0eaebcdc88d6eca3d1'
|
|
295
295
|
},
|
|
296
296
|
partial_deposit_data: [
|
|
297
297
|
{
|
|
298
|
-
pubkey: '
|
|
299
|
-
withdrawal_credentials: '
|
|
300
|
-
amount: '
|
|
301
|
-
signature: '
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
pubkey: '0x90b5773dc3dc11480a7ebf68005980ca26be65fad6565ce655f0a9e24083a7ad2e22d7102368a8292fcd18021272a87a',
|
|
305
|
-
withdrawal_credentials: '0x0100000000000000000000005fb90badb37c5821b6d95526a41a9504680b4e7c',
|
|
306
|
-
amount: '16000000000',
|
|
307
|
-
signature: '0x94d9db7b4527e6eb308d387f168089a51d1deffc2c985faf1f7f8e82fbc9cb93c7f10c6a7bbca4fc25a1cfc95de28432037cf7727c1db0ad6d1fb0f1813d5904fba4ab8aebfeccfcded2f915bd48fb46155131b24adb0ba5e764d7ff6d3c82a5'
|
|
298
|
+
pubkey: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479',
|
|
299
|
+
withdrawal_credentials: '0x0100000000000000000000009e0ac0078f10d28e875577bb3a4a9edab60c03ec',
|
|
300
|
+
amount: '32000000000',
|
|
301
|
+
signature: '0x95ee68e5191d34e10f567ab0f565cd927211b29be9ab830d39bf74d0486aee7bff78d8fe12d455cb40ec707378eea1040a9d80806f82afa58295de9d4db2dccc48cfaf3c98e9020c6b5c8a9aacf5bbfc7e316871f505000304d9d39b7ad5c5d8'
|
|
308
302
|
}
|
|
309
303
|
]
|
|
310
304
|
}
|
|
311
305
|
],
|
|
312
|
-
signature_aggregate: '
|
|
313
|
-
lock_hash: '
|
|
306
|
+
signature_aggregate: '0x81ab6319191e3b9065f14231a71fe480b4a45e5e5db4a064faa19a31d04b9cb55fa88b8aa3c966b054b97ae7db2233ee060ae333c5ca3a55ed16b9a3de1894087901cb2d3a177de1cd40030c93301c23ca3edd28dfd1ad04e210b7e2c7625f89',
|
|
307
|
+
lock_hash: '0x186e7e61fb49373d9034d101f2f08429cb379bfcc2f7fa5e9598e8a14ae13ed7',
|
|
314
308
|
node_signatures: [
|
|
315
|
-
'
|
|
316
|
-
'
|
|
317
|
-
'
|
|
309
|
+
'0xd4b1b6f7b363015b9d1c1c4f199fffc3f9238b7326fdfc5059b175519b05c90a022a18bf2e3eae7d7b0e833384131c2e7be17cc78f6ca23644ae345904dc2d2601',
|
|
310
|
+
'0xc186f930d8d281ab3999fb0ff62b5d96045a4e2330d9d8b300d5d1014f6b4bd925d9c2fedbb53047a49d4008f82600f46e1131b981222c5e423c12b1c9fd544900',
|
|
311
|
+
'0xbc0831fa82b1a70e17eb4fe6f79249a8f5aab1d1f196dd07e32766eb27e72354757d7146b64fca4ad4efa554f7a5d4e7ef835aab6348e9afa37c9eeab069ff4e01',
|
|
312
|
+
'0x0135f307831fa58ff64f9af46e00b92e2375162646af88f6991ba6f98a8c262f2c41846af59da68eadb8ff9c94db42ee8005bd4236e5897635573db2911460aa00'
|
|
318
313
|
]
|
|
319
314
|
};
|
package/dist/esm/package.json
CHANGED
package/dist/esm/src/index.js
CHANGED
|
@@ -36,11 +36,13 @@ export class Client extends Base {
|
|
|
36
36
|
this.signer = signer;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
* Accepts Obol terms and conditions to be able to create or update data.
|
|
40
|
+
* @returns {Promise<string>} terms and conditions acceptance success message.
|
|
41
|
+
* @throws On unverified signature or wrong hash.
|
|
42
|
+
*
|
|
43
|
+
* An example of how to use acceptObolLatestTermsAndConditions:
|
|
44
|
+
* [acceptObolLatestTermsAndConditions](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L44)
|
|
45
|
+
*/
|
|
44
46
|
acceptObolLatestTermsAndConditions() {
|
|
45
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
48
|
if (!this.signer) {
|
|
@@ -82,7 +84,7 @@ export class Client extends Base {
|
|
|
82
84
|
* @throws On duplicate entries, missing or wrong cluster keys.
|
|
83
85
|
*
|
|
84
86
|
* An example of how to use createClusterDefinition:
|
|
85
|
-
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
87
|
+
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L59)
|
|
86
88
|
*/
|
|
87
89
|
createClusterDefinition(newCluster) {
|
|
88
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -122,7 +124,7 @@ export class Client extends Base {
|
|
|
122
124
|
* @throws On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.
|
|
123
125
|
*
|
|
124
126
|
* An example of how to use acceptClusterDefinition:
|
|
125
|
-
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
127
|
+
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L106)
|
|
126
128
|
*/
|
|
127
129
|
acceptClusterDefinition(operatorPayload, configHash) {
|
|
128
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -155,7 +157,7 @@ export class Client extends Base {
|
|
|
155
157
|
* @throws On not found config hash.
|
|
156
158
|
*
|
|
157
159
|
* An example of how to use getClusterDefinition:
|
|
158
|
-
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
160
|
+
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L74)
|
|
159
161
|
*/
|
|
160
162
|
getClusterDefinition(configHash) {
|
|
161
163
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -171,7 +173,7 @@ export class Client extends Base {
|
|
|
171
173
|
* @throws On not found cluster definition or lock.
|
|
172
174
|
*
|
|
173
175
|
* An example of how to use getClusterLock:
|
|
174
|
-
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
176
|
+
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L89)
|
|
175
177
|
*/
|
|
176
178
|
getClusterLock(configHash) {
|
|
177
179
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/esm/src/services.js
CHANGED
|
@@ -15,7 +15,7 @@ import { isValidClusterLock } from './verification/common.js';
|
|
|
15
15
|
* @throws on missing keys or values.
|
|
16
16
|
*
|
|
17
17
|
* An example of how to use validateClusterLock:
|
|
18
|
-
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
18
|
+
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L127)
|
|
19
19
|
*/
|
|
20
20
|
export const validateClusterLock = (lock) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
21
|
try {
|
|
@@ -141,7 +141,7 @@ export const verifyDVV1X8 = (clusterLock) => {
|
|
|
141
141
|
}
|
|
142
142
|
// Deposit Data Verification
|
|
143
143
|
for (let j = 0; j < validator.partial_deposit_data.length; j++) {
|
|
144
|
-
const depositData = validator.partial_deposit_data[
|
|
144
|
+
const depositData = validator.partial_deposit_data[j];
|
|
145
145
|
const { isValidDepositData, depositDataMsg } = verifyDepositData(distributedPublicKey, depositData, clusterLock.cluster_definition.validators[i].withdrawal_address, clusterLock.cluster_definition.fork_version);
|
|
146
146
|
if (!isValidDepositData) {
|
|
147
147
|
return false;
|
|
@@ -192,125 +192,120 @@ export const clusterConfigV1X8 = {
|
|
|
192
192
|
};
|
|
193
193
|
export const clusterLockV1X8 = {
|
|
194
194
|
cluster_definition: {
|
|
195
|
-
name: '
|
|
195
|
+
name: 'xxxx',
|
|
196
196
|
creator: {
|
|
197
|
-
address: '
|
|
198
|
-
config_signature: '
|
|
197
|
+
address: '0x86B8145c98e5BD25BA722645b15eD65f024a87EC',
|
|
198
|
+
config_signature: '0xd30b182fadbc2c5b2bb3f3f6ed6ac2588f297ceb610ed5509bf3e5a25a9b30c70f8a09ef1d2c8e1dbe5ff441299fe66ec677734cc08beec87e94b7effcb089701b'
|
|
199
199
|
},
|
|
200
200
|
operators: [
|
|
201
201
|
{
|
|
202
|
-
address: '
|
|
203
|
-
enr: 'enr:-
|
|
204
|
-
config_signature: '
|
|
205
|
-
enr_signature: '
|
|
202
|
+
address: '0x86B8145c98e5BD25BA722645b15eD65f024a87EC',
|
|
203
|
+
enr: 'enr:-HW4QLlrtMjFLGkFT1bwdGbvZQlH8hLi0M2g44JAxEYP3BZmYpcsy9Q56HPPD87fMucjvLv4-obEFacpsg0ehRilbHeAgmlkgnY0iXNlY3AyNTZrMaEDRaa5o2aSgqyFq_ERZcQTztrOij1mFtXX1bJuVI6ieak',
|
|
204
|
+
config_signature: '0x3df771ecfc9ae2d01da9249dc636a42893e48759c0fa5c51f5e5e14f3ea4513233d1e3bbdd0e11d4b67c8a907201fd08225a75a1e2d6f510a439d6b15f0c36341c',
|
|
205
|
+
enr_signature: '0x3fe2a124dabe3d517e4c274074b3529d36d9528ca6fa8a4e74ef356f86a07c1462fe72a5336421c2647be7babc4ce1835c2101133e0779cf81d4a8d8cb9fe5591c'
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
|
-
address: '
|
|
209
|
-
enr: 'enr:-
|
|
210
|
-
config_signature: '
|
|
211
|
-
enr_signature: '
|
|
208
|
+
address: '0xC35CfCd67b9C27345a54EDEcC1033F2284148c81',
|
|
209
|
+
enr: 'enr:-Iu4QNbiUUUwT18LynBbVPJhNxvzQsaSpUr40mQTWscnZaqKb6vAlvV8j-eDDR3E0wjMQumGRbGm2IAb5_k4bVWJiVGAgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQPOiodUji0ohgJb5sNK1hgv8g6xO5_znZz3NkkBkyYyKIN0Y3CCDhqDdWRwgg4u',
|
|
210
|
+
config_signature: '0x12d19d6fc4c1a5d9e7be09f47c2f2357dd89f47aba8ae0185f5345e08bcc3adc324bdd51e68a12c3ca34c604d786cfde5f0798aa928dac496edb16c70e7086551b',
|
|
211
|
+
enr_signature: '0xa3d49832dfaf0ad87c5796f9bc151009343da70b91fd53bee3645baa63d001d3207662da8f67b3a20f2ee30c9cacb24a5719a78dc24e030c8ac93e7b3b46bf881b'
|
|
212
212
|
},
|
|
213
213
|
{
|
|
214
|
-
address: '
|
|
215
|
-
enr: 'enr:-
|
|
216
|
-
config_signature: '
|
|
217
|
-
enr_signature: '
|
|
214
|
+
address: '0x33807D6F1DCe44b9C599fFE03640762A6F08C496',
|
|
215
|
+
enr: 'enr:-Iu4QJyserRukhG0Vgi2csu7GjpHYUGufNEbZ8Q7ZBrcZUb0KqpL5QzHonkh1xxHlxatTxrIcX_IS5J3SEWR_sa0ptGAgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQMAUgEqczOjevyculnUIofhCj0DkgJudErM7qCYIvIkzIN0Y3CCDhqDdWRwgg4u',
|
|
216
|
+
config_signature: '0x665d287c46921aad0dde389291b982f24dbbeb4b7ce5ee7bbc4a7d1fb55134f7136889eb3ce70208a7f276b9d4aefb1fbc6159476934567e5bf11765b2c9649b1b',
|
|
217
|
+
enr_signature: '0xc32d5ea29569b01354d48ddaf56df1481a5ae618ffb47602ef40e0e77357de5f23a5258923be5fa06ecce20f5692847860c25c38b97a4e306c94decd99c0519a1b'
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
address: '0xc6e76F72Ea672FAe05C357157CfC37720F0aF26f',
|
|
221
|
+
enr: 'enr:-HW4QKJTwXC6Chw6zbnA3HFZi6Jo0DkIgjKy4eUBpsSOGnAeWE6ChEjEyk_6R6Qrm7jI-iqfs3_HYxiKde8vFgvHHrCAgmlkgnY0iXNlY3AyNTZrMaECfFKQH4spdZCHqrKVz1Q02xYla6J_RQECDNNYBRWdzv8',
|
|
222
|
+
config_signature: '0x610f7be9c7c38878cde1cb391de08eee2f86e62f31f450843b4e37164e738fc8769046e53ad1f018f54ddaf858ff372d22169702c60d68bda19c96fdd20150b61c',
|
|
223
|
+
enr_signature: '0xe2977c79f63b8fe6cb6551efec0cf69041c7f4aaa8ea338997a397450ee946023b03ccb70ad3cc97b1319e1eea9f7472a2ca161bc8b33acdcde689d84c7e771c1b'
|
|
218
224
|
}
|
|
219
225
|
],
|
|
220
|
-
uuid: '
|
|
226
|
+
uuid: 'bc2fec0c-0b8b-4415-bf48-1e96b07f50eb',
|
|
221
227
|
version: 'v1.8.0',
|
|
222
|
-
timestamp: '2024-
|
|
228
|
+
timestamp: '2024-05-24T15:04:08.322Z',
|
|
223
229
|
num_validators: 2,
|
|
224
230
|
threshold: 3,
|
|
225
231
|
validators: [
|
|
226
232
|
{
|
|
227
|
-
fee_recipient_address: '
|
|
228
|
-
withdrawal_address: '
|
|
233
|
+
fee_recipient_address: '0x7aC193bF9a9C6e6DD6302969E8Ea6EdF6df490d8',
|
|
234
|
+
withdrawal_address: '0x9e0AC0078F10d28E875577bb3A4A9EDAB60c03EC'
|
|
229
235
|
},
|
|
230
236
|
{
|
|
231
|
-
fee_recipient_address: '
|
|
232
|
-
withdrawal_address: '
|
|
237
|
+
fee_recipient_address: '0x7aC193bF9a9C6e6DD6302969E8Ea6EdF6df490d8',
|
|
238
|
+
withdrawal_address: '0x9e0AC0078F10d28E875577bb3A4A9EDAB60c03EC'
|
|
233
239
|
}
|
|
234
240
|
],
|
|
235
|
-
dkg_algorithm: '
|
|
236
|
-
fork_version: '
|
|
241
|
+
dkg_algorithm: 'default',
|
|
242
|
+
fork_version: '0x01017000',
|
|
237
243
|
deposit_amounts: [
|
|
238
|
-
'
|
|
239
|
-
'16000000000',
|
|
240
|
-
'8000000000'
|
|
244
|
+
'32000000000'
|
|
241
245
|
],
|
|
242
|
-
config_hash: '
|
|
243
|
-
definition_hash: '
|
|
246
|
+
config_hash: '0xb2601f51d277f699acb8ea3b9fb4fc68087c0f1f2c6ae83d00fdd853a6cddb31',
|
|
247
|
+
definition_hash: '0x2a9d52b1dd13fd91661d81e3786512ffdcc3689e2ec97105add153f543c642b4'
|
|
244
248
|
},
|
|
245
249
|
distributed_validators: [
|
|
246
250
|
{
|
|
247
|
-
distributed_public_key: '
|
|
251
|
+
distributed_public_key: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27',
|
|
248
252
|
public_shares: [
|
|
249
|
-
'
|
|
250
|
-
'
|
|
251
|
-
'
|
|
253
|
+
'0x849db297f690a26e76d5930f99eac9e3f95d9232256d6e39124fe071745b43c8b5418c733b06683aa240a2a0e44b9b8f',
|
|
254
|
+
'0xa1051bf5692153d5bc418946763bb5c82780a05e97bd5b258ea7abe6705047628edd8277366f6b5d0469abfee18988d9',
|
|
255
|
+
'0x87d0342e5dc49a0a0c8f08ec011da3bd859a333bfc46ddd0a194485aa5aa954b7c18d05a2c1ae148d4dc45331101f496',
|
|
256
|
+
'0xa4fa0e971e1a5e38ebe89c6457bc9316b3dd0933660b17e1c717ac148f8340a5db20d867c7a24758c701f6b6bec4d552'
|
|
252
257
|
],
|
|
253
258
|
builder_registration: {
|
|
254
259
|
message: {
|
|
255
|
-
fee_recipient: '
|
|
260
|
+
fee_recipient: '0x7ac193bf9a9c6e6dd6302969e8ea6edf6df490d8',
|
|
256
261
|
gas_limit: 30000000,
|
|
257
|
-
timestamp:
|
|
258
|
-
pubkey: '
|
|
262
|
+
timestamp: 1696000704,
|
|
263
|
+
pubkey: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27'
|
|
259
264
|
},
|
|
260
|
-
signature: '
|
|
265
|
+
signature: '0xb39977fe7c45bab28cfd1bcf356a71b0557187a75e0dfa0facaf5eddba05988c0da85800a4b4528704df44f280913ebc125eb3f9c091d6dd220c92dfcc3c80bc7a9ed2f1b96bffaeaa1053cf117b02b48eb755139c5623b6e61dd92c27d15813'
|
|
261
266
|
},
|
|
262
267
|
partial_deposit_data: [
|
|
263
268
|
{
|
|
264
|
-
pubkey: '
|
|
265
|
-
withdrawal_credentials: '
|
|
266
|
-
amount: '
|
|
267
|
-
signature: '
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
pubkey: '0x87382e8cc3e2c9c2d03ac1af7ae0bcc1be468c596a8a8b8059153ca9ce7746d459dd0603858e858355cb96d67a2a87a7',
|
|
271
|
-
withdrawal_credentials: '0x01000000000000000000000081855ad8681d0d86d1e91e00167939cb6694d2c4',
|
|
272
|
-
amount: '16000000000',
|
|
273
|
-
signature: '0xac5bcb369e8dde110604f6ae829a3432f82a99b0a996e15f4be6426acbe690a1aadb4b365d8b10a36737b2cd8c7f561214d4e4df3626cc9664f663111d15efbd8d18cffff5c3eff407fe2cc478244caea7f9f2afee83a0ae8aa2587365b8e54a'
|
|
269
|
+
pubkey: '0xa33ae80f967a669d8df3ae769acc114577fab185d53e10154b0b50cc0cf9b9f35e466a318f174e8cecdc12173d95cb27',
|
|
270
|
+
withdrawal_credentials: '0x0100000000000000000000009e0ac0078f10d28e875577bb3a4a9edab60c03ec',
|
|
271
|
+
amount: '32000000000',
|
|
272
|
+
signature: '0x9861022ca71cf18aad49a201b023356b8c5ca090086614b681cb84a54327caeff53c0a71c5f55f49976114bb86de2ad6052d174d7948e6c8a924d9bfbbbc2181fad967d818454c6c4f7cffb7bb93dc2c4f4c87fc5598cb4582fa08eff0c7bc08'
|
|
274
273
|
}
|
|
275
274
|
]
|
|
276
275
|
},
|
|
277
276
|
{
|
|
278
|
-
distributed_public_key: '
|
|
277
|
+
distributed_public_key: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479',
|
|
279
278
|
public_shares: [
|
|
280
|
-
'
|
|
281
|
-
'
|
|
282
|
-
'
|
|
279
|
+
'0x8279ae646839d946a622d096296ffcccd289e8c49ea2308560bbb731c63d4b49ea46db817a955e47634edbded4919d82',
|
|
280
|
+
'0xa8a12b5b645b015c55515b3220395e015fc051c58bf243e1b638770652c67f863852f9190e3e182aa86b99823b4cf28d',
|
|
281
|
+
'0xb0c557f812060bb1c409e5324c7b54f35fee8f1180c714e60784f7df6a58e3ba3da6cc8b3cebc01975f9f41efcd777cb',
|
|
282
|
+
'0xa7a8576c3b21221f2a6adefc41b4c1f979ee0761e9a7ff50d30434d1a0c4e7fc505b308636801925e698286b802de421'
|
|
283
283
|
],
|
|
284
284
|
builder_registration: {
|
|
285
285
|
message: {
|
|
286
|
-
fee_recipient: '
|
|
286
|
+
fee_recipient: '0x7ac193bf9a9c6e6dd6302969e8ea6edf6df490d8',
|
|
287
287
|
gas_limit: 30000000,
|
|
288
|
-
timestamp:
|
|
289
|
-
pubkey: '
|
|
288
|
+
timestamp: 1696000704,
|
|
289
|
+
pubkey: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479'
|
|
290
290
|
},
|
|
291
|
-
signature: '
|
|
291
|
+
signature: '0x8dcb54028adb8f5601b6ab20ded381dabb6739b3e506df795a279043997908c7d38a68b8e8dda27516165f18e437a84603935bfefc1a83befbd1a90ac43fcc7fb0eed81122852a2ee71fef414aa8879198da239527036b0eaebcdc88d6eca3d1'
|
|
292
292
|
},
|
|
293
293
|
partial_deposit_data: [
|
|
294
294
|
{
|
|
295
|
-
pubkey: '
|
|
296
|
-
withdrawal_credentials: '
|
|
297
|
-
amount: '
|
|
298
|
-
signature: '
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
pubkey: '0x90b5773dc3dc11480a7ebf68005980ca26be65fad6565ce655f0a9e24083a7ad2e22d7102368a8292fcd18021272a87a',
|
|
302
|
-
withdrawal_credentials: '0x0100000000000000000000005fb90badb37c5821b6d95526a41a9504680b4e7c',
|
|
303
|
-
amount: '16000000000',
|
|
304
|
-
signature: '0x94d9db7b4527e6eb308d387f168089a51d1deffc2c985faf1f7f8e82fbc9cb93c7f10c6a7bbca4fc25a1cfc95de28432037cf7727c1db0ad6d1fb0f1813d5904fba4ab8aebfeccfcded2f915bd48fb46155131b24adb0ba5e764d7ff6d3c82a5'
|
|
295
|
+
pubkey: '0xaa888bf805bec7da7ac18dea3afefbf5b8510cbf76367229dab830b3ecdd4533b9d50fb9fcb454df5cbe08e4b31e8479',
|
|
296
|
+
withdrawal_credentials: '0x0100000000000000000000009e0ac0078f10d28e875577bb3a4a9edab60c03ec',
|
|
297
|
+
amount: '32000000000',
|
|
298
|
+
signature: '0x95ee68e5191d34e10f567ab0f565cd927211b29be9ab830d39bf74d0486aee7bff78d8fe12d455cb40ec707378eea1040a9d80806f82afa58295de9d4db2dccc48cfaf3c98e9020c6b5c8a9aacf5bbfc7e316871f505000304d9d39b7ad5c5d8'
|
|
305
299
|
}
|
|
306
300
|
]
|
|
307
301
|
}
|
|
308
302
|
],
|
|
309
|
-
signature_aggregate: '
|
|
310
|
-
lock_hash: '
|
|
303
|
+
signature_aggregate: '0x81ab6319191e3b9065f14231a71fe480b4a45e5e5db4a064faa19a31d04b9cb55fa88b8aa3c966b054b97ae7db2233ee060ae333c5ca3a55ed16b9a3de1894087901cb2d3a177de1cd40030c93301c23ca3edd28dfd1ad04e210b7e2c7625f89',
|
|
304
|
+
lock_hash: '0x186e7e61fb49373d9034d101f2f08429cb379bfcc2f7fa5e9598e8a14ae13ed7',
|
|
311
305
|
node_signatures: [
|
|
312
|
-
'
|
|
313
|
-
'
|
|
314
|
-
'
|
|
306
|
+
'0xd4b1b6f7b363015b9d1c1c4f199fffc3f9238b7326fdfc5059b175519b05c90a022a18bf2e3eae7d7b0e833384131c2e7be17cc78f6ca23644ae345904dc2d2601',
|
|
307
|
+
'0xc186f930d8d281ab3999fb0ff62b5d96045a4e2330d9d8b300d5d1014f6b4bd925d9c2fedbb53047a49d4008f82600f46e1131b981222c5e423c12b1c9fd544900',
|
|
308
|
+
'0xbc0831fa82b1a70e17eb4fe6f79249a8f5aab1d1f196dd07e32766eb27e72354757d7146b64fca4ad4efa554f7a5d4e7ef835aab6348e9afa37c9eeab069ff4e01',
|
|
309
|
+
'0x0135f307831fa58ff64f9af46e00b92e2375162646af88f6991ba6f98a8c262f2c41846af59da68eadb8ff9c94db42ee8005bd4236e5897635573db2911460aa00'
|
|
315
310
|
]
|
|
316
311
|
};
|
|
@@ -23,11 +23,13 @@ export declare class Client extends Base {
|
|
|
23
23
|
chainId?: number;
|
|
24
24
|
}, signer?: Signer);
|
|
25
25
|
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
* Accepts Obol terms and conditions to be able to create or update data.
|
|
27
|
+
* @returns {Promise<string>} terms and conditions acceptance success message.
|
|
28
|
+
* @throws On unverified signature or wrong hash.
|
|
29
|
+
*
|
|
30
|
+
* An example of how to use acceptObolLatestTermsAndConditions:
|
|
31
|
+
* [acceptObolLatestTermsAndConditions](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L44)
|
|
32
|
+
*/
|
|
31
33
|
acceptObolLatestTermsAndConditions(): Promise<string>;
|
|
32
34
|
/**
|
|
33
35
|
* Creates a cluster definition which contains cluster configuration.
|
|
@@ -36,7 +38,7 @@ export declare class Client extends Base {
|
|
|
36
38
|
* @throws On duplicate entries, missing or wrong cluster keys.
|
|
37
39
|
*
|
|
38
40
|
* An example of how to use createClusterDefinition:
|
|
39
|
-
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
41
|
+
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L59)
|
|
40
42
|
*/
|
|
41
43
|
createClusterDefinition(newCluster: ClusterPayload): Promise<string>;
|
|
42
44
|
/**
|
|
@@ -47,7 +49,7 @@ export declare class Client extends Base {
|
|
|
47
49
|
* @throws On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.
|
|
48
50
|
*
|
|
49
51
|
* An example of how to use acceptClusterDefinition:
|
|
50
|
-
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
52
|
+
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L106)
|
|
51
53
|
*/
|
|
52
54
|
acceptClusterDefinition(operatorPayload: OperatorPayload, configHash: string): Promise<ClusterDefinition>;
|
|
53
55
|
/**
|
|
@@ -56,7 +58,7 @@ export declare class Client extends Base {
|
|
|
56
58
|
* @throws On not found config hash.
|
|
57
59
|
*
|
|
58
60
|
* An example of how to use getClusterDefinition:
|
|
59
|
-
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
61
|
+
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L74)
|
|
60
62
|
*/
|
|
61
63
|
getClusterDefinition(configHash: string): Promise<ClusterDefinition>;
|
|
62
64
|
/**
|
|
@@ -65,7 +67,7 @@ export declare class Client extends Base {
|
|
|
65
67
|
* @throws On not found cluster definition or lock.
|
|
66
68
|
*
|
|
67
69
|
* An example of how to use getClusterLock:
|
|
68
|
-
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
70
|
+
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L89)
|
|
69
71
|
*/
|
|
70
72
|
getClusterLock(configHash: string): Promise<ClusterLock>;
|
|
71
73
|
}
|
|
@@ -6,6 +6,6 @@ import { type ClusterLock } from './types.js';
|
|
|
6
6
|
* @throws on missing keys or values.
|
|
7
7
|
*
|
|
8
8
|
* An example of how to use validateClusterLock:
|
|
9
|
-
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
9
|
+
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L127)
|
|
10
10
|
*/
|
|
11
11
|
export declare const validateClusterLock: (lock: ClusterLock) => Promise<boolean>;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -51,11 +51,13 @@ export class Client extends Base {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
* Accepts Obol terms and conditions to be able to create or update data.
|
|
55
|
+
* @returns {Promise<string>} terms and conditions acceptance success message.
|
|
56
|
+
* @throws On unverified signature or wrong hash.
|
|
57
|
+
*
|
|
58
|
+
* An example of how to use acceptObolLatestTermsAndConditions:
|
|
59
|
+
* [acceptObolLatestTermsAndConditions](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L44)
|
|
60
|
+
*/
|
|
59
61
|
async acceptObolLatestTermsAndConditions (): Promise<string> {
|
|
60
62
|
if (!this.signer) { throw new Error('Signer is required in acceptObolTermsAndConditions') }
|
|
61
63
|
|
|
@@ -100,7 +102,7 @@ export class Client extends Base {
|
|
|
100
102
|
* @throws On duplicate entries, missing or wrong cluster keys.
|
|
101
103
|
*
|
|
102
104
|
* An example of how to use createClusterDefinition:
|
|
103
|
-
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
105
|
+
* [createObolCluster](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L59)
|
|
104
106
|
*/
|
|
105
107
|
async createClusterDefinition (newCluster: ClusterPayload): Promise<string> {
|
|
106
108
|
if (!this.signer) { throw new Error('Signer is required in createClusterDefinition') }
|
|
@@ -158,7 +160,7 @@ export class Client extends Base {
|
|
|
158
160
|
* @throws On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.
|
|
159
161
|
*
|
|
160
162
|
* An example of how to use acceptClusterDefinition:
|
|
161
|
-
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
163
|
+
* [acceptClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L106)
|
|
162
164
|
*/
|
|
163
165
|
async acceptClusterDefinition (
|
|
164
166
|
operatorPayload: OperatorPayload,
|
|
@@ -210,7 +212,7 @@ export class Client extends Base {
|
|
|
210
212
|
* @throws On not found config hash.
|
|
211
213
|
*
|
|
212
214
|
* An example of how to use getClusterDefinition:
|
|
213
|
-
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
215
|
+
* [getObolClusterDefinition](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L74)
|
|
214
216
|
*/
|
|
215
217
|
async getClusterDefinition (configHash: string): Promise<ClusterDefinition> {
|
|
216
218
|
const clusterDefinition: ClusterDefinition = await this.request(
|
|
@@ -229,7 +231,7 @@ export class Client extends Base {
|
|
|
229
231
|
* @throws On not found cluster definition or lock.
|
|
230
232
|
*
|
|
231
233
|
* An example of how to use getClusterLock:
|
|
232
|
-
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
234
|
+
* [getObolClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L89)
|
|
233
235
|
*/
|
|
234
236
|
async getClusterLock (configHash: string): Promise<ClusterLock> {
|
|
235
237
|
const lock: ClusterLock = await this.request(
|
package/src/services.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { isValidClusterLock } from './verification/common.js'
|
|
|
8
8
|
* @throws on missing keys or values.
|
|
9
9
|
*
|
|
10
10
|
* An example of how to use validateClusterLock:
|
|
11
|
-
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts)
|
|
11
|
+
* [validateClusterLock](https://github.com/ObolNetwork/obol-sdk-examples/blob/main/TS-Example/index.ts#L127)
|
|
12
12
|
*/
|
|
13
13
|
export const validateClusterLock = async (
|
|
14
14
|
lock: ClusterLock,
|
|
@@ -205,7 +205,7 @@ export const verifyDVV1X8 = (clusterLock: ClusterLock): boolean => {
|
|
|
205
205
|
|
|
206
206
|
// Deposit Data Verification
|
|
207
207
|
for (let j = 0; j < (validator.partial_deposit_data as DepositData[]).length; j++) {
|
|
208
|
-
const depositData = (validator.partial_deposit_data as DepositData[])[
|
|
208
|
+
const depositData = (validator.partial_deposit_data as DepositData[])[j]
|
|
209
209
|
const { isValidDepositData, depositDataMsg } = verifyDepositData(
|
|
210
210
|
distributedPublicKey,
|
|
211
211
|
depositData as Partial<DepositData>,
|