@obolnetwork/obol-sdk 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,136 @@
1
+ import { UintNumberType, } from '@chainsafe/ssz/lib/type/uint';
2
+ import { strToUint8Array } from '../utils';
3
+ import { builderRegistrationContainer, depositDataContainer, newCreatorContainerType, newOperatorContainerType, validatorsContainerType, } from './sszTypes';
4
+ import { ByteListType, ByteVectorType, ContainerType, ListBasicType, ListCompositeType, fromHexString, } from '@chainsafe/ssz';
5
+ import { verifyDVV1X8 } from './v1.8.0';
6
+ /**
7
+ * Returns the containerized cluster definition
8
+ * @param cluster ClusterDefinition to calculate the type from
9
+ * @returns SSZ Containerized type of cluster input
10
+ */
11
+ export const clusterDefinitionContainerTypeV1X10 = (configOnly) => {
12
+ let returnedContainerType = {
13
+ uuid: new ByteListType(64),
14
+ name: new ByteListType(256),
15
+ version: new ByteListType(16),
16
+ timestamp: new ByteListType(32),
17
+ num_validators: new UintNumberType(8),
18
+ threshold: new UintNumberType(8),
19
+ dkg_algorithm: new ByteListType(32),
20
+ fork_version: new ByteVectorType(4),
21
+ operators: new ListCompositeType(newOperatorContainerType(configOnly), 256),
22
+ creator: newCreatorContainerType(configOnly),
23
+ validators: new ListCompositeType(validatorsContainerType, 65536),
24
+ deposit_amounts: new ListBasicType(new UintNumberType(8), 256),
25
+ consensus_protocol: new ByteListType(256),
26
+ target_gas_limit: new UintNumberType(8),
27
+ };
28
+ if (!configOnly) {
29
+ returnedContainerType = Object.assign(Object.assign({}, returnedContainerType), { config_hash: new ByteVectorType(32) });
30
+ }
31
+ return new ContainerType(returnedContainerType);
32
+ };
33
+ export const hashClusterDefinitionV1X10 = (cluster, configOnly) => {
34
+ const definitionType = clusterDefinitionContainerTypeV1X10(configOnly);
35
+ const val = definitionType.defaultValue();
36
+ // order should be same as charon https://github.com/ObolNetwork/charon/blob/main/cluster/ssz.go#L276
37
+ val.uuid = strToUint8Array(cluster.uuid);
38
+ val.name = strToUint8Array(cluster.name);
39
+ val.version = strToUint8Array(cluster.version);
40
+ val.timestamp = strToUint8Array(cluster.timestamp);
41
+ val.num_validators = cluster.num_validators;
42
+ val.threshold = cluster.threshold;
43
+ val.dkg_algorithm = strToUint8Array(cluster.dkg_algorithm);
44
+ val.fork_version = fromHexString(cluster.fork_version);
45
+ val.operators = cluster.operators.map(operator => {
46
+ return configOnly
47
+ ? { address: fromHexString(operator.address) }
48
+ : {
49
+ address: fromHexString(operator.address),
50
+ enr: strToUint8Array(operator.enr),
51
+ config_signature: fromHexString(operator.config_signature),
52
+ enr_signature: fromHexString(operator.enr_signature),
53
+ };
54
+ });
55
+ val.creator = configOnly
56
+ ? { address: fromHexString(cluster.creator.address) }
57
+ : {
58
+ address: fromHexString(cluster.creator.address),
59
+ config_signature: fromHexString(cluster.creator.config_signature),
60
+ };
61
+ val.validators = cluster.validators.map(validator => {
62
+ return {
63
+ fee_recipient_address: fromHexString(validator.fee_recipient_address),
64
+ withdrawal_address: fromHexString(validator.withdrawal_address),
65
+ };
66
+ });
67
+ if (cluster.deposit_amounts) {
68
+ val.deposit_amounts = cluster.deposit_amounts.map((amount) => {
69
+ return parseInt(amount);
70
+ });
71
+ }
72
+ if (cluster.consensus_protocol) {
73
+ val.consensus_protocol = strToUint8Array(cluster.consensus_protocol);
74
+ }
75
+ if (cluster.target_gas_limit) {
76
+ val.target_gas_limit = cluster.target_gas_limit;
77
+ }
78
+ if (!configOnly) {
79
+ val.config_hash = fromHexString(cluster.config_hash);
80
+ }
81
+ return val;
82
+ };
83
+ // cluster lock
84
+ const dvContainerTypeV1X10 = new ContainerType({
85
+ distributed_public_key: new ByteVectorType(48),
86
+ public_shares: new ListCompositeType(new ByteVectorType(48), 256),
87
+ partial_deposit_data: new ListCompositeType(depositDataContainer, 256),
88
+ builder_registration: builderRegistrationContainer,
89
+ });
90
+ /**
91
+ * @returns SSZ Containerized type of cluster lock
92
+ */
93
+ const clusterLockContainerTypeV1X10 = () => {
94
+ return new ContainerType({
95
+ cluster_definition: clusterDefinitionContainerTypeV1X10(false),
96
+ distributed_validators: new ListCompositeType(dvContainerTypeV1X10, 65536),
97
+ });
98
+ };
99
+ /**
100
+ * @param cluster The published cluster lock
101
+ * @returns The lock hash in of the corresponding cluster
102
+ */
103
+ export const hashClusterLockV1X10 = (cluster) => {
104
+ const lockType = clusterLockContainerTypeV1X10();
105
+ const val = lockType.defaultValue();
106
+ // Check if we can replace with definition_hash
107
+ val.cluster_definition = hashClusterDefinitionV1X10(cluster.cluster_definition, false);
108
+ val.distributed_validators = cluster.distributed_validators.map(dValidator => {
109
+ var _a, _b, _c, _d, _e;
110
+ return {
111
+ distributed_public_key: fromHexString(dValidator.distributed_public_key),
112
+ public_shares: dValidator.public_shares.map(publicShare => fromHexString(publicShare)),
113
+ // should be fixed
114
+ partial_deposit_data: dValidator.partial_deposit_data.map(depositData => {
115
+ return {
116
+ pubkey: fromHexString(depositData.pubkey),
117
+ withdrawal_credentials: fromHexString(depositData.withdrawal_credentials),
118
+ amount: parseInt(depositData.amount),
119
+ signature: fromHexString(depositData.signature),
120
+ };
121
+ }),
122
+ builder_registration: {
123
+ message: {
124
+ fee_recipient: fromHexString((_a = dValidator.builder_registration) === null || _a === void 0 ? void 0 : _a.message.fee_recipient),
125
+ gas_limit: (_b = dValidator.builder_registration) === null || _b === void 0 ? void 0 : _b.message.gas_limit,
126
+ timestamp: (_c = dValidator.builder_registration) === null || _c === void 0 ? void 0 : _c.message.timestamp,
127
+ pubkey: fromHexString((_d = dValidator.builder_registration) === null || _d === void 0 ? void 0 : _d.message.pubkey),
128
+ },
129
+ signature: fromHexString((_e = dValidator.builder_registration) === null || _e === void 0 ? void 0 : _e.signature),
130
+ },
131
+ };
132
+ });
133
+ return '0x' + Buffer.from(lockType.hashTreeRoot(val).buffer).toString('hex');
134
+ };
135
+ // DV verification
136
+ export const verifyDVV1X10 = verifyDVV1X8;
@@ -507,3 +507,422 @@ export const clusterLockWithSafe = {
507
507
  '0x4067921a5257efe4ceb103f2129faaa7a502781157b3b54e5efca559c558c2b43b89f30962e87df88fbf62250049a31888fcd62735d54b7553e5dc75c3b6ae0901',
508
508
  ],
509
509
  };
510
+ export const clusterLockV1X10 = {
511
+ cluster_definition: {
512
+ name: 'example lock',
513
+ creator: {
514
+ address: '',
515
+ config_signature: '',
516
+ },
517
+ operators: [
518
+ {
519
+ address: '',
520
+ enr: 'enr:-HW4QJNtMzqCeJ-l-JN-uONrvfhSYkKCen2pRsNj2_pn8uNmNk4bxrzuPYeUjQHuTojaQt4ELS1CepOs4aGljEVqDZyAgmlkgnY0iXNlY3AyNTZrMaECF8sxcrJIbKqz0Dt8zZuQDAa0vCXNOb6WyGK3PNCZUDI',
521
+ config_signature: '',
522
+ enr_signature: '',
523
+ },
524
+ {
525
+ address: '',
526
+ enr: 'enr:-HW4QEj4LAV6Xev497wJVTaLop8Y2HlpW5RJLy-HkfT9Kjx-Z67IKK6tTqBKbXLbNN0MwQrGmVu1sw2JOeJkssxij2qAgmlkgnY0iXNlY3AyNTZrMaEDEoKd19TAME7YyO1cvoRreBy3vN1HoLRiCDmQAU0COxU',
527
+ config_signature: '',
528
+ enr_signature: '',
529
+ },
530
+ {
531
+ address: '',
532
+ enr: 'enr:-HW4QHd3-FamFyvFDHLFxHU6DssgXsMrnX6qeU_AS9fTbj9DaJQs_q9iI_pi8-ZkBnVSo7gsmlmoWLolZLCPl5yHA_yAgmlkgnY0iXNlY3AyNTZrMaECD_aXBgaLIUORjLGL_HocQtfs-TnIq9VAAeaVpuuBwwo',
533
+ config_signature: '',
534
+ enr_signature: '',
535
+ },
536
+ {
537
+ address: '',
538
+ enr: 'enr:-HW4QK9efd0AfPkPTi0TxNmspICmRG54f4HjPs3eN6e6n_BoPij_xg_Kb-x6M3VyOvl1ROy5X-3cS5lHo-FhBImATJCAgmlkgnY0iXNlY3AyNTZrMaECKFnfFst3gAbEwSfLbywjMLPEjy8hUTVCy6ksj-61uGw',
539
+ config_signature: '',
540
+ enr_signature: '',
541
+ },
542
+ ],
543
+ uuid: '7D726A65-0AF6-7D4F-F10D-6F27A7ACE5C7',
544
+ version: 'v1.10.0',
545
+ timestamp: '2025-02-17T15:49:47Z',
546
+ num_validators: 10,
547
+ threshold: 3,
548
+ validators: [
549
+ {
550
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
551
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
552
+ },
553
+ {
554
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
555
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
556
+ },
557
+ {
558
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
559
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
560
+ },
561
+ {
562
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
563
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
564
+ },
565
+ {
566
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
567
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
568
+ },
569
+ {
570
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
571
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
572
+ },
573
+ {
574
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
575
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
576
+ },
577
+ {
578
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
579
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
580
+ },
581
+ {
582
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
583
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
584
+ },
585
+ {
586
+ fee_recipient_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
587
+ withdrawal_address: '0x0678D7f743842A8971B188E963D00Cb42D98495d',
588
+ },
589
+ ],
590
+ dkg_algorithm: 'default',
591
+ fork_version: '0x01017000',
592
+ deposit_amounts: null,
593
+ consensus_protocol: '',
594
+ target_gas_limit: 36000000,
595
+ config_hash: '0x2700238afeaa957dacc43211cdf23905b612e6ed80bf0a599354a68b266c7baf',
596
+ definition_hash: '0x7915f44717bce28d9cd36125a239b3fd914d400c4dbb9c64881aba3cfa6d9ac5',
597
+ },
598
+ distributed_validators: [
599
+ {
600
+ distributed_public_key: '0xa29bd09509ffc5f362cbd5f10c5a9dba0d4802589b0664c42a5b2556501c0ad061fefa700a2ce0df7fc91af72eab4310',
601
+ public_shares: [
602
+ '0xaaf1632118dd7efe84a61b3d445e3b61f2de6fac9d87ab40fbb67898b0fb91796eb7a23e591b89b7c5f2f956a7b0650d',
603
+ '0x9409497283da0356a72b6650950f4844b2397b117fdb168ffff467ae0a672c40cdbeff4c4a328625e05c09dac279f607',
604
+ '0xb1342e2292acbd64e2be97c51ea6839aea24494f9d831f5b72f8a4cc6ac750b47c9a84dca8a254af2a4b62cdc4c9b907',
605
+ '0xa41a184fe8fc538133f44420a025a1f273db267a06afa3b9bf29c3f5d6faad94b45cd1e42320d6c97d0b7d7dc844d705',
606
+ ],
607
+ builder_registration: {
608
+ message: {
609
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
610
+ gas_limit: 36000000,
611
+ timestamp: 1696000704,
612
+ pubkey: '0xa29bd09509ffc5f362cbd5f10c5a9dba0d4802589b0664c42a5b2556501c0ad061fefa700a2ce0df7fc91af72eab4310',
613
+ },
614
+ signature: '0xa4ec7861b875dddb3a34bcf2421a1059e2ad932c18fd770433bc40384543f62469adcd1412d5f3b1b4067838ef976a25013d4e9dcc40acfd54e4e68aeb0600894d0534f29acbaad7e2c57dcd0eb5faefec8c9b6149d134e10a512139278d08ce',
615
+ },
616
+ partial_deposit_data: [
617
+ {
618
+ pubkey: '0xa29bd09509ffc5f362cbd5f10c5a9dba0d4802589b0664c42a5b2556501c0ad061fefa700a2ce0df7fc91af72eab4310',
619
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
620
+ amount: '1000000000',
621
+ signature: '0xa1517e300c9f415435c22209aaddb8964870b7d8c820ea7d4699ac97102591518706cea360deb6249f186f07e7b19da70508a6a82151b72449cb85282e982b910651930313499ff4c9eefccb5e9df1bf58b1fff5958d798e4a764ee0e95e56af',
622
+ },
623
+ {
624
+ pubkey: '0xa29bd09509ffc5f362cbd5f10c5a9dba0d4802589b0664c42a5b2556501c0ad061fefa700a2ce0df7fc91af72eab4310',
625
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
626
+ amount: '32000000000',
627
+ signature: '0xa28610e3eae820ccc5a43e609f37b2a642f02451c532111d141894be151c120825b8bb84b2acff684a7df7815d8182d518df3bc21570e822019dafb40b8ba7eb26db24233f717e9968dbbb17e2acac5e371036b853bc569159fc037758a12e14',
628
+ },
629
+ ],
630
+ },
631
+ {
632
+ distributed_public_key: '0xb196c2559d6c6a61b2683c69f9d7ce187b5860dd1f315a159f023cadcb2844a67f082a71803af55faf0b1969ecd32598',
633
+ public_shares: [
634
+ '0x81d3169fe5d7b6258173d2c138190f04e6952970f9fd719103f5a77841fe0d96673ae3725e4d0bb1a7b5d1df8aaf846f',
635
+ '0xb4882f9d978c2aa5bd7d3366f7e0884d7eea3e5057d37723e5c888bb4a2ec145243cfbedb3e9560c8be3bddc48516eb5',
636
+ '0xa2000c765143b8ae368f33958db2b0430a182b791784e4f49f7422d8c014ccd25f516e43d6d0d187dab02a2d7bdbd56b',
637
+ '0xa64148bc168fa8c0fa9ab33066db7f38799678d76f789f29faee1fb11e1b44804ac7ebd4cdd67b593945d8b9d91f3087',
638
+ ],
639
+ builder_registration: {
640
+ message: {
641
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
642
+ gas_limit: 36000000,
643
+ timestamp: 1696000704,
644
+ pubkey: '0xb196c2559d6c6a61b2683c69f9d7ce187b5860dd1f315a159f023cadcb2844a67f082a71803af55faf0b1969ecd32598',
645
+ },
646
+ signature: '0x8ebc2b0db69c28a0dfed47e6e80e6e0b8655ff3df026afd65641d4061a94ca51e5167a61b1a0d68f630df031bb52445f032166656551f81f1ce650a8fee7ad3a22def957ca6b4ec18b2a020428d0c899e8eccedb05c5115fc37cf53befeb5367',
647
+ },
648
+ partial_deposit_data: [
649
+ {
650
+ pubkey: '0xb196c2559d6c6a61b2683c69f9d7ce187b5860dd1f315a159f023cadcb2844a67f082a71803af55faf0b1969ecd32598',
651
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
652
+ amount: '1000000000',
653
+ signature: '0xae9d45a4e8f1df6bb86a8c7780833256acd669c0610ffcd3255ccf18472fdaf0448b51f82a72a12db4ee1595f273f8cb115e0637f6bf2da8bdcb51956924609d826da800aa01a0e5a55be46e0b3459d92eb63f121f5dda7338574d153fa30535',
654
+ },
655
+ {
656
+ pubkey: '0xb196c2559d6c6a61b2683c69f9d7ce187b5860dd1f315a159f023cadcb2844a67f082a71803af55faf0b1969ecd32598',
657
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
658
+ amount: '32000000000',
659
+ signature: '0xa78bbbeece086cb5fe37dd1d4f350f83e396bfd773b6b58f0da94b3aec7196ecf9fe30d006aeb3c1b79ddd6ee53d0f9c03bafb3171f882be92c4d14586ac3e3262ad67ca522e3b729c896ad63c09628f34061796adc0575791e0e1906f480c37',
660
+ },
661
+ ],
662
+ },
663
+ {
664
+ distributed_public_key: '0xaf6b1d71aec29a67f549a0c4da43d38c4c5240c17282d5d09c5aed4f34d4503a0867485f7f7459f7523db335245bd193',
665
+ public_shares: [
666
+ '0xa6eeabdbf9752b8fdedcc57899b2dffde3a45d8682236fcb89f5fe5c0bb82a1fefa6d0559275eb51721d28727a9e3110',
667
+ '0xb7464ec1b1338cd5c70432913b03d1ce69d90ee9975e8067142ed32498e3c5255199e534a25534ffecd04962e7974802',
668
+ '0xa63d83df66850086a4f6d4d4c36d43a1604802d1a4a9de55dc80e80a5ab67c78d9ec083fce70b4f16b35b6e912f4347b',
669
+ '0x8c9824f5b8352b73b1aeb95c18f70a6af6ad049c6a3710886d9b03fb5bdec049df869226dadd7d7b795d95fe77b3c2f4',
670
+ ],
671
+ builder_registration: {
672
+ message: {
673
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
674
+ gas_limit: 36000000,
675
+ timestamp: 1696000704,
676
+ pubkey: '0xaf6b1d71aec29a67f549a0c4da43d38c4c5240c17282d5d09c5aed4f34d4503a0867485f7f7459f7523db335245bd193',
677
+ },
678
+ signature: '0xa28a417a58eaa6ef62892f13c8d38af6e41d98096b072b46592e6b1c115ee825e059aa475138e35b3b7c329e7c2bcbd60973afb711902687e58ff492e89b961863a529fa885853f388206612aaa53d9a246e633cdb9efe88f795a62fe12a69be',
679
+ },
680
+ partial_deposit_data: [
681
+ {
682
+ pubkey: '0xaf6b1d71aec29a67f549a0c4da43d38c4c5240c17282d5d09c5aed4f34d4503a0867485f7f7459f7523db335245bd193',
683
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
684
+ amount: '1000000000',
685
+ signature: '0xb4978905968a1340075ba031d6527cc72fed83d672071b2c7cf72483e35971a16d9b236a5dbaaeda6d165bb79ad46d7c04738cd6498de31cf13257e760f5cd4235fd55614015cfc630922d830bd8cf2de6fc1357dbf2f0e7975c089f2d385c13',
686
+ },
687
+ {
688
+ pubkey: '0xaf6b1d71aec29a67f549a0c4da43d38c4c5240c17282d5d09c5aed4f34d4503a0867485f7f7459f7523db335245bd193',
689
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
690
+ amount: '32000000000',
691
+ signature: '0x95e9b2d7b85969220347c6e98e1e754d2137210c8a395f0991492e58402dfd94985f7294ec3e1a934a97c97b68812daf0ba4c9871076a3f681e3b599ac3e4f68615916b325ab236ba14f7ee4ae902d51f919e8caa66b5b9b4bab755f730ebea1',
692
+ },
693
+ ],
694
+ },
695
+ {
696
+ distributed_public_key: '0xa4a55050ac22ede26a5382bcc8ee39fe4723212aca6e6d82f0b6ee7612b091661c7ef471616ee6991c32d728ca05ac80',
697
+ public_shares: [
698
+ '0x86577d10723191be29c214fcaefee042f8cdb7d999f9083bb3ed55d15313fb6bb00830165ce9070da79a782e4ab7b92b',
699
+ '0xac868ad9fb5bd6e62e7ffb4b9efee388ef528d121efc5a2ce80419f50398a6e3d8d28b8573d7abd8a0cea8274a5fa85b',
700
+ '0x81cd78ad2fdaa7c83d42183040762995e5c58f280307bda88072c0951d266a3df6bb31593a60cb84dfc320ada32e9cde',
701
+ '0x87691840c6e0d0393126deb50af960f365beb81bb3229adfc464b1bc74ce04baf6ec8208b71fb2cd182ea77ef97c748e',
702
+ ],
703
+ builder_registration: {
704
+ message: {
705
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
706
+ gas_limit: 36000000,
707
+ timestamp: 1696000704,
708
+ pubkey: '0xa4a55050ac22ede26a5382bcc8ee39fe4723212aca6e6d82f0b6ee7612b091661c7ef471616ee6991c32d728ca05ac80',
709
+ },
710
+ signature: '0xb3ab9972d6b940ad1041d601c11dddc411c5818d0ec1edbbb229838af8a879b6a304ed17e56cc849a4ad3a3369210d8b0c28de86d1db9ae14f80ea1703e21e4a5f8c98df1f51515647b81fa11ad30495c66b89fb6f724bb4e149f3cd1b084de5',
711
+ },
712
+ partial_deposit_data: [
713
+ {
714
+ pubkey: '0xa4a55050ac22ede26a5382bcc8ee39fe4723212aca6e6d82f0b6ee7612b091661c7ef471616ee6991c32d728ca05ac80',
715
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
716
+ amount: '1000000000',
717
+ signature: '0x858cea17b45ed31df1de2df1f190fca0088a6b7d74eb38e2a886fe34446c94aa8b6e3d274e50598f20e0a555d2092c740b39322642de7ce7ed1491f999fd061c105a82ac1c3165c3f223de7b8d99329b8457f39cb41cdd7ed876575dae4dcb14',
718
+ },
719
+ {
720
+ pubkey: '0xa4a55050ac22ede26a5382bcc8ee39fe4723212aca6e6d82f0b6ee7612b091661c7ef471616ee6991c32d728ca05ac80',
721
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
722
+ amount: '32000000000',
723
+ signature: '0xb3f922804f8c868beeb5cceb584ec9cb599af309272d6d60b6a7ea5d8ede143d2d09a5c0be6fd3a999c4e7db0ef23210194e9a9c6dda4cae73facb86f68ccd4a59dcf5ea0631afd93fc1ae6dba3b51e56439d2a7be6fcfff545666524eed772c',
724
+ },
725
+ ],
726
+ },
727
+ {
728
+ distributed_public_key: '0xabfc595bba9191aa8967678fc45843cf361b355bfb04ee29b1841a124f845cea1f0fd65829bffdedd3d15f48e0537006',
729
+ public_shares: [
730
+ '0xb6103288e5c889f4167b573e6e3577bfef79b0721d6901496915bf1b4a16134f3ffb69ffe682e1722227b9985b5469d6',
731
+ '0x80c40fe7122e00c3a0ea1ec1182dc6e634b8eb12129edf91a3bf39901a2d918acc2f55ea65072934e102e9b83f1b2cf5',
732
+ '0x83051a711d2b294c1330050b98e6bdc7112c668d2ebe3b6cc02f7a8aceceae355a88d777b5cef9c1c8d374a732d25690',
733
+ '0xa2020bbc227f75fc9d15afa33a8bee48c3e407373a3497aecff73ab5260232be99f1c0a141e1c410998a6d3d5efba0e5',
734
+ ],
735
+ builder_registration: {
736
+ message: {
737
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
738
+ gas_limit: 36000000,
739
+ timestamp: 1696000704,
740
+ pubkey: '0xabfc595bba9191aa8967678fc45843cf361b355bfb04ee29b1841a124f845cea1f0fd65829bffdedd3d15f48e0537006',
741
+ },
742
+ signature: '0x89ba92023febda1ce85596f1014faf2e0f0a7de6d4c34a898e0b134c7e945cd2209ec3f04bfb898d7b5873f60b134eda095474ff1b6839c4d3e38e7389b76131857822be0797038f3f6b1d2393c169d1236ed9603ee12afe8160eef573b4f95c',
743
+ },
744
+ partial_deposit_data: [
745
+ {
746
+ pubkey: '0xabfc595bba9191aa8967678fc45843cf361b355bfb04ee29b1841a124f845cea1f0fd65829bffdedd3d15f48e0537006',
747
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
748
+ amount: '1000000000',
749
+ signature: '0x91220bfd317b5a5749141b3e2b559e3dc457f5a82bc19d72816469e75cdaac3130e5b878b00aeed752025ad2b628511f0d928deae63997a576e50f6fd29c851c7a37b8e73753589464b26806c7a7ed22adf2d770a4c48cf47f0ce9bad0648557',
750
+ },
751
+ {
752
+ pubkey: '0xabfc595bba9191aa8967678fc45843cf361b355bfb04ee29b1841a124f845cea1f0fd65829bffdedd3d15f48e0537006',
753
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
754
+ amount: '32000000000',
755
+ signature: '0x8e085bea5fb0328d594ad5919b065b5eef07d191d0cb77c431145165e0217f4ea4462a9c24f80b213031c3f6cd25c61c0d5b67480d92f6c402083b84ef056377c9bd2d5bf3c5e1105a45d82110492d809994067672f460e950fbcfed7bec2b64',
756
+ },
757
+ ],
758
+ },
759
+ {
760
+ distributed_public_key: '0x8903a3bfea54bece2a094f0b32200f11000b53b7c9c51af670350f5b59c803564d6daa4685fd57bd2fbab00c0eef2db1',
761
+ public_shares: [
762
+ '0xb277a594864fe70e03882c8a4da57e898f8dfdb53bf9d50055c7b0463c3234a7c33cfc7a5912e2ee935e001e56a93ac0',
763
+ '0xa5f8a06dadd4d590d6a12c299862b9753e7cd40bb35e2301c1b70818032b2a6d6b5f791811822391e06b846f5dff49e4',
764
+ '0xa27e43e26e406b6eba609c23ffa15a2e342595aeb255b15a122bbe83474f8bdbd99d463129ea3553b5edebdd42b91a25',
765
+ '0x884456ab08879a07d36aa7127ad3b6a9e1efc9fc8a2edac842f9bd92dbe147ee30b2540c67464a2775db55670dbfbd90',
766
+ ],
767
+ builder_registration: {
768
+ message: {
769
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
770
+ gas_limit: 36000000,
771
+ timestamp: 1696000704,
772
+ pubkey: '0x8903a3bfea54bece2a094f0b32200f11000b53b7c9c51af670350f5b59c803564d6daa4685fd57bd2fbab00c0eef2db1',
773
+ },
774
+ signature: '0xb57df3ed71970f51d8f16577c4285ffab19d8cf9ec7e39fe6ccb41d02a0f97725b6b9dd53a08684633d047c8accd1b1310286db798bf1432ffc6252510dd0108393c4cfe517c4d5cdcbca7468cb4d1c36ad1f4d375e137eb428947039e00ee07',
775
+ },
776
+ partial_deposit_data: [
777
+ {
778
+ pubkey: '0x8903a3bfea54bece2a094f0b32200f11000b53b7c9c51af670350f5b59c803564d6daa4685fd57bd2fbab00c0eef2db1',
779
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
780
+ amount: '1000000000',
781
+ signature: '0xb117b392658024d3186ebb1ae05a504d121d6d5bb7e7202546585ec568c91f16721291d84a5b823fa0b843eaf73e7aa0157e99cf295de8f4da1025a724fd6839944319d249662bcafd4e5741bb6612f9bae4dcf33f77fe1346916403903e9770',
782
+ },
783
+ {
784
+ pubkey: '0x8903a3bfea54bece2a094f0b32200f11000b53b7c9c51af670350f5b59c803564d6daa4685fd57bd2fbab00c0eef2db1',
785
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
786
+ amount: '32000000000',
787
+ signature: '0xb9c7bca45073392af87964f6d71af90538b091b9a64075504143fe3191b1379e1f75953754b98f3327ca11315cfa5c251487c0f40f34533f5cd742d9c971fdf8b8bdca4653684500bc415287010b88a46f6accd88e4221732a33b2324555e844',
788
+ },
789
+ ],
790
+ },
791
+ {
792
+ distributed_public_key: '0x982d31edf85a4e2c29c62847b6ed1763f4b9bfcc2856670e874ae3a070abfd98935a38990cca4f64bfbcab0a54c04c9f',
793
+ public_shares: [
794
+ '0x9075526824bf7179c533486f08a9a082d7370a64f23bc8de86e58e674573a780fbf704d94b954c068ee63406d9014912',
795
+ '0xb6718f7d2558153b99724ab442dd583c840fd8cf752c37b3ab586ed050a7514711f8ac2ff48f06f0ca893ad3b8a543ae',
796
+ '0xa66ba35304358d96b34ca79ccb6a969b67f2578de038bce5c41d1ab6e8cfdf34e5fa383fb32dbd4058e821e922ff6f0b',
797
+ '0x8fa6f6966534e7a91ae03db663bfba571f9a4ff2dbbb57592b177011667b5f0dd7f8ab676cfa7f48f8d1ece5c1cbfbb2',
798
+ ],
799
+ builder_registration: {
800
+ message: {
801
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
802
+ gas_limit: 36000000,
803
+ timestamp: 1696000704,
804
+ pubkey: '0x982d31edf85a4e2c29c62847b6ed1763f4b9bfcc2856670e874ae3a070abfd98935a38990cca4f64bfbcab0a54c04c9f',
805
+ },
806
+ signature: '0xa0510be1b9bf6c9f97407626c9b380e9bafe1ed96b2261e0f225677f1ac9efe2cdb2b56d629e8bc086095e3ad2a60295177345503e5f14a6df57fed30dc24ce074bfa24f2439482ce141879c53b49275c8f8d109e445b9e36033a6c09701c202',
807
+ },
808
+ partial_deposit_data: [
809
+ {
810
+ pubkey: '0x982d31edf85a4e2c29c62847b6ed1763f4b9bfcc2856670e874ae3a070abfd98935a38990cca4f64bfbcab0a54c04c9f',
811
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
812
+ amount: '1000000000',
813
+ signature: '0xb7e4c2ee9690cd281ad9dcabf0ea7586c732aed7e027eecee3d5a5610fa46637a56588c1ee3aa8e5a0ac91994aac2e70103ebe8d3bfa2413dd98f8fc79a1e09d1e768e59e1d52f4241959f49026c23d11f8f3bab658c6022094294f7b745b280',
814
+ },
815
+ {
816
+ pubkey: '0x982d31edf85a4e2c29c62847b6ed1763f4b9bfcc2856670e874ae3a070abfd98935a38990cca4f64bfbcab0a54c04c9f',
817
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
818
+ amount: '32000000000',
819
+ signature: '0x9164396591df8bd49b9cfea0a19f5445e0c14e6e49c63fe38e00e4acc66cadf4b9073a37721fb9939b9df636e64cff710f91365d982e08e81842922122fe2d49469361d971550ea8a71d1389c747c01e672b64e89cea385e962a52e7998f0967',
820
+ },
821
+ ],
822
+ },
823
+ {
824
+ distributed_public_key: '0x8cec3bdc06a20450f3137355759efd7af9e21faebb7ea3f6f29f4a459cc6f44b1f026938475d00383e5e9d4b6cca517d',
825
+ public_shares: [
826
+ '0xb7ea8aa6504bd4ad7615f0878ccdd24d349135bab3b3be57d90953e6c33c1291c6417ce9da2882529b79afae48858817',
827
+ '0xb7f710b736344713eb017f6d5a5c6253f47b7cb725bfc3760e64cef1c66c04c0eecc56f9dbcec910d25d6f25b765eafd',
828
+ '0xa1b8221d72e55096b6588021055791e460e604c02a88d773f2adbf9c8a784cb52c3230796442ea1c003d34b4f6bed89f',
829
+ '0xaf56808edfb9399959f05a824105b49caece347f12485fa089c5f42c259cf482fcd88ef7fc5190229bbec2886b76d2ef',
830
+ ],
831
+ builder_registration: {
832
+ message: {
833
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
834
+ gas_limit: 36000000,
835
+ timestamp: 1696000704,
836
+ pubkey: '0x8cec3bdc06a20450f3137355759efd7af9e21faebb7ea3f6f29f4a459cc6f44b1f026938475d00383e5e9d4b6cca517d',
837
+ },
838
+ signature: '0xb22bed0c097bea7f709a5b07a488db105ab97aadb29a962a64d4b873a5cba025bccc2204b0fd2c963e9ba9fb62c921b00836bb27d0122fca483c97f3709802d5c7bfc5997e05306d555ef015e83c2649996d72a1fab6b003fa572d37dba5a6a0',
839
+ },
840
+ partial_deposit_data: [
841
+ {
842
+ pubkey: '0x8cec3bdc06a20450f3137355759efd7af9e21faebb7ea3f6f29f4a459cc6f44b1f026938475d00383e5e9d4b6cca517d',
843
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
844
+ amount: '1000000000',
845
+ signature: '0xa9a9fb8b74c2ec7f6fce1c3ab5b18450199f73f82bb3876759b9cbe6188fa57eeedb072e198ad5d6e50343bac28a6fe4005d4487a8ecc0d20ba0b8ab50cdb2b88eb74edb204ac97a666f166e5c8fca144028265dd1e8e25103568b508f8cb707',
846
+ },
847
+ {
848
+ pubkey: '0x8cec3bdc06a20450f3137355759efd7af9e21faebb7ea3f6f29f4a459cc6f44b1f026938475d00383e5e9d4b6cca517d',
849
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
850
+ amount: '32000000000',
851
+ signature: '0xa82a1bdb4af68cc5432796185aa31eec3b19a0350d2af2ec737293cd1512e652beeff817aaa4ef2def7acd5c3b3ea4ab12264f1cb580ca94f91d8462cd2c79bbfb7c6fd33dd7075a2a758e508850a6fe1632126f99901eb0d8c47a5b15bd3dc1',
852
+ },
853
+ ],
854
+ },
855
+ {
856
+ distributed_public_key: '0xa4b5fab5061fc9ef70f9d2b49a67020b18a363189087b8e8a2a496b284dff50af1e5f94ec185de2cbaaf3e5083ee49ac',
857
+ public_shares: [
858
+ '0xa148f613fb6e6a66d4ec2c451fa18d8b6f9da7e0fedbd50c93129e5d7db4cfc5fc7eb73fcdf3344775e8ddd5c6a9701c',
859
+ '0xabe0a5fa29a3c50d670cad50b74301afdb6c69b5be1444a9966cd7bac09a8af17ca5ec0eee5c631c8a2fc5ab28517b12',
860
+ '0x9523a5bc93ed484254850fe5efbb6e63cbc42537c453d7bcef77ca832b7bfb2b1ecf59db8a0ea37928eae30cde21407a',
861
+ '0x90bacf891ad4c74107ee3abc0a5c776374654285c9a254b44d44b98cd84a7961502dd904e9729e1c10b44d5cd6b39600',
862
+ ],
863
+ builder_registration: {
864
+ message: {
865
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
866
+ gas_limit: 36000000,
867
+ timestamp: 1696000704,
868
+ pubkey: '0xa4b5fab5061fc9ef70f9d2b49a67020b18a363189087b8e8a2a496b284dff50af1e5f94ec185de2cbaaf3e5083ee49ac',
869
+ },
870
+ signature: '0xa653f58f67e88fbc2bff28b9c8ad2b1b077307a0203d93e272c41322b588682665682b89249afb394a3d16a4f38f8a380e9da882baa2799d8183a99956aaf00e399b433b46a788a4f066cbd1f366455fcaebc67426b752766bb609632215e087',
871
+ },
872
+ partial_deposit_data: [
873
+ {
874
+ pubkey: '0xa4b5fab5061fc9ef70f9d2b49a67020b18a363189087b8e8a2a496b284dff50af1e5f94ec185de2cbaaf3e5083ee49ac',
875
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
876
+ amount: '1000000000',
877
+ signature: '0xa704c1fd7ce386489a1d8e7880c0eaeaf8fae7df8cd8e121af01df9f02868692dab57d49198e7d3f39051f558b6d7209072851ca64c2d5dc9018d24c3623104763b256f2c411e89077212909f7f9af38349a34aeecfb0091ce11a2750dad1587',
878
+ },
879
+ {
880
+ pubkey: '0xa4b5fab5061fc9ef70f9d2b49a67020b18a363189087b8e8a2a496b284dff50af1e5f94ec185de2cbaaf3e5083ee49ac',
881
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
882
+ amount: '32000000000',
883
+ signature: '0x8a6fce6441c11ebea96eeaa6e393c4f8e7e9125a16f8aa581401d5e89d30f346ab8412498f7afe7e6319bee2af986bb508c564e11fe788d8bd749712a9303167e11bafc9af3fa56766178f2d1370b192bdfafdbf9a277903c8117d3d3b777463',
884
+ },
885
+ ],
886
+ },
887
+ {
888
+ distributed_public_key: '0x83aaa2f21b55e2abce7f58de816b4c30887d78f58970dd75cae579a735d2f4b90dd6296117d1344773ee89ce1e1028be',
889
+ public_shares: [
890
+ '0xa7bad556974c056c1caf97fed8c97a2c1652eb8b1336188fd26909ef3856e35a280e1782eacde6918342f219af55a26b',
891
+ '0x8a70c5e9738a12d9b6dd6fa25f03880d3424808495d459561b03f01c82fd8231c5c378000f77f903af1611c3719ab06a',
892
+ '0xa425fc0bfbf980f3b3ea2c5aee31040cb46c40545d3acbfdee1b0f4fc2a1729a6ed70b431a1f2e51cafe6bbc2fd5a389',
893
+ '0x932535a5f6004721c15d13c97a238ad9c3b727b4eb0c505f655cf27e60c9f9fc09c1608121f127f2454b08c4b7b842d7',
894
+ ],
895
+ builder_registration: {
896
+ message: {
897
+ fee_recipient: '0x0678d7f743842a8971b188e963d00cb42d98495d',
898
+ gas_limit: 36000000,
899
+ timestamp: 1696000704,
900
+ pubkey: '0x83aaa2f21b55e2abce7f58de816b4c30887d78f58970dd75cae579a735d2f4b90dd6296117d1344773ee89ce1e1028be',
901
+ },
902
+ signature: '0x80c050afcfc11eeb19452cb1d752a5f651e97a20a855677c99a57052beac4e0f42dcd3772bfa36cf7c473397cb62be5113412bfb39bbdcfb0e7a27eec1908bb82432b759abee785d85977f2f65cf527a01a1f1d09d61848565ff25fa0ed1c475',
903
+ },
904
+ partial_deposit_data: [
905
+ {
906
+ pubkey: '0x83aaa2f21b55e2abce7f58de816b4c30887d78f58970dd75cae579a735d2f4b90dd6296117d1344773ee89ce1e1028be',
907
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
908
+ amount: '1000000000',
909
+ signature: '0xac349ac800221919a2b82e8422ba1ccc9996a466134b6983c07ac41b053229700630f452c71f75fd95ed26887ca52e9d0d858281e73262a818160b30fd41fc6bd5f52ce0257e5ff0097a280d91bffdcd2fbf62f86d6769803f181e0c0ccd9043',
910
+ },
911
+ {
912
+ pubkey: '0x83aaa2f21b55e2abce7f58de816b4c30887d78f58970dd75cae579a735d2f4b90dd6296117d1344773ee89ce1e1028be',
913
+ withdrawal_credentials: '0x0200000000000000000000000678d7f743842a8971b188e963d00cb42d98495d',
914
+ amount: '32000000000',
915
+ signature: '0xa5febb16def6c0557900be42a2dbe9485e840429ea4987dea4a321a33821fa86da938fc6febb6aef2851016e91a0ba1002f8393ce5a7b546c7f2b905105b5e62456da3d31a7f113b2a1958fd1aacc7ce629f31130d9540344f2efc358fe3113d',
916
+ },
917
+ ],
918
+ },
919
+ ],
920
+ signature_aggregate: '0xb13e0a39e847d96ae417c9b7b0f828084f02dacd0af7ad7f8722416c418a8d044fb0ac28cfa25d8be1b9b3e59851c3f200d7ee29568e9e3b5ce087adceb9a5e3d25ed6148ccc37bb909fe34526140f4fb851a70734d44f443acbeeec077c6fa6',
921
+ lock_hash: '0x3b6fc91acfb03ef4e8dd549bad50e21d70abafea82a3678ef52a3804b0751d10',
922
+ node_signatures: [
923
+ '0x789d87147d04cea272cf1152560a0e632a92359018393e2588f21e90a81010a7068a46ff2944861a53dd7a4bc5335a9b0c00fa5074a6f620f48ee5f750dfef3401',
924
+ '0x3f2c27b0c2bfa73a9b23cef8879a277336112f4feaf43e0df72517eb45089715189a5a48d2f693d5ffe366a793bc0d76a3e3aac399e91ad9edbcab1775c17de301',
925
+ '0x9175f02eb9a8aed897b5ab1914fbda43fef59482592517299c892c582cae3b584aa923fa693099527fd9b3dc359ba4df85290ee040fbb3d610baf343f68cc66701',
926
+ '0xa13aecbd615d2a4903d9480e1178efa319db4fbfcbaef2915e666d56cb1be208772be32c42733e24a6e994f4e5e7de5591807869fb6b96438e2c3cafb4f1a5bd01',
927
+ ],
928
+ };
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { ethers, JsonRpcProvider } from 'ethers';
11
11
  import { Client, validateClusterLock } from '../src/index';
12
- import { clusterConfigV1X7, clusterConfigV1X8, clusterLockV1X6, clusterLockV1X7, clusterLockV1X8, clusterLockWithSafe, nullDepositAmountsClusterLockV1X8, } from './fixtures.js';
12
+ import { clusterConfigV1X7, clusterConfigV1X8, clusterLockV1X10, clusterLockV1X6, clusterLockV1X7, clusterLockV1X8, clusterLockWithSafe, nullDepositAmountsClusterLockV1X8, } from './fixtures.js';
13
13
  import { SDK_VERSION } from '../src/constants';
14
14
  import { Base } from '../src/base';
15
15
  import { validatePayload } from '../src/ajv';
@@ -185,6 +185,7 @@ describe('Cluster Client without a signer', () => {
185
185
  version: 'Cluster with safe address v1.8.0',
186
186
  clusterLock: clusterLockWithSafe,
187
187
  },
188
+ { version: 'v1.10.0', clusterLock: clusterLockV1X10 },
188
189
  ])("$version: 'should return true on verified cluster lock'", ({ clusterLock }) => __awaiter(void 0, void 0, void 0, function* () {
189
190
  const isValidLock = yield validateClusterLock(clusterLock);
190
191
  expect(isValidLock).toEqual(true);
@@ -4,6 +4,7 @@ import { type RewardsSplitPayload, type ClusterDefinition, type ClusterLock, typ
4
4
  export * from './types.js';
5
5
  export * from './services.js';
6
6
  export * from './verification/signature-validator.js';
7
+ export * from './verification/common.js';
7
8
  /**
8
9
  * Obol sdk Client can be used for creating, managing and activating distributed validators.
9
10
  */
@@ -93,6 +93,10 @@ export interface ClusterDefinition extends ClusterPayload {
93
93
  num_validators: number;
94
94
  /** The hash of the cluster definition. */
95
95
  definition_hash?: string;
96
+ /** The consensus protocol e.g qbft. */
97
+ consensus_protocol?: string;
98
+ /** The target gas limit where default is 30M. */
99
+ target_gas_limit?: number;
96
100
  }
97
101
  /**
98
102
  * Split Recipient Keys
@@ -0,0 +1,37 @@
1
+ import { UintNumberType } from '@chainsafe/ssz/lib/type/uint';
2
+ import { type creatorAddressWrapperType, type creatorContainerType, type operatorAddressWrapperType, type operatorContainerType, validatorsContainerType } from './sszTypes';
3
+ import { ByteListType, ByteVectorType, ContainerType, ListBasicType, ListCompositeType } from '@chainsafe/ssz';
4
+ import { type ValueOfFields } from '@chainsafe/ssz/lib/view/container';
5
+ import { type ClusterDefinition, type ClusterLock } from '../types';
6
+ type DefinitionFieldsV1X10 = {
7
+ uuid: ByteListType;
8
+ name: ByteListType;
9
+ version: ByteListType;
10
+ timestamp: ByteListType;
11
+ num_validators: UintNumberType;
12
+ threshold: UintNumberType;
13
+ dkg_algorithm: ByteListType;
14
+ fork_version: ByteVectorType;
15
+ operators: ListCompositeType<typeof operatorContainerType | typeof operatorAddressWrapperType>;
16
+ creator: typeof creatorContainerType | typeof creatorAddressWrapperType;
17
+ validators: ListCompositeType<typeof validatorsContainerType>;
18
+ deposit_amounts: ListBasicType<UintNumberType>;
19
+ consensus_protocol: ByteListType;
20
+ target_gas_limit: UintNumberType;
21
+ config_hash?: ByteVectorType;
22
+ };
23
+ type DefinitionContainerTypeV1X10 = ContainerType<DefinitionFieldsV1X10>;
24
+ /**
25
+ * Returns the containerized cluster definition
26
+ * @param cluster ClusterDefinition to calculate the type from
27
+ * @returns SSZ Containerized type of cluster input
28
+ */
29
+ export declare const clusterDefinitionContainerTypeV1X10: (configOnly: boolean) => DefinitionContainerTypeV1X10;
30
+ export declare const hashClusterDefinitionV1X10: (cluster: ClusterDefinition, configOnly: boolean) => ValueOfFields<DefinitionFieldsV1X10>;
31
+ /**
32
+ * @param cluster The published cluster lock
33
+ * @returns The lock hash in of the corresponding cluster
34
+ */
35
+ export declare const hashClusterLockV1X10: (cluster: ClusterLock) => string;
36
+ export declare const verifyDVV1X10: (clusterLock: ClusterLock) => boolean;
37
+ export {};