Skip to content

Commit 99df3fd

Browse files
authored
Validate electra attestationData index received by BN (#9430)
1 parent 700257a commit 99df3fd

File tree

14 files changed

+2021
-1818
lines changed

14 files changed

+2021
-1818
lines changed

data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/v3/newBlindedBlockELECTRA.json

Lines changed: 191 additions & 185 deletions
Large diffs are not rendered by default.

data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/v3/newBlindedBlockFULU.json

Lines changed: 191 additions & 185 deletions
Large diffs are not rendered by default.

data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/v3/newBlockContentsELECTRA.json

Lines changed: 213 additions & 213 deletions
Large diffs are not rendered by default.

data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/v3/newBlockContentsFULU.json

Lines changed: 395 additions & 280 deletions
Large diffs are not rendered by default.
Lines changed: 33 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,38 @@
11
{
2-
"version": "electra",
3-
"data": [
4-
{
5-
"aggregation_bits": "0x9827585d426605f0a23b9e5655df2c9b501c6282a5f6fae2fd7d5e0bdb68956e5b396afdfa9429f71e6e46ce94b24c59a4ca399550d1eccd9132ddc8c623328fd26ffad9a0d317fa12c74fe24eaaed6af7c42ab575d7d1d67fc4c3f1a42ebfba009b6ffc09671e81630d44851d5881782c1e25b9bb224b6f3e326221dfe891a480eb8fb6b93496a3836eb84d14bdd14706b06561622086cc5b5599be5c85252c2fb381141967c86c0aac570904117a3ae74d23572cdacff735639f1be45bcb7361cfbaf2970c5a0ec22004c4bfcfa8f75398984d07612c95523f1f39d17ed2b606cdd95e2ce4f41553918ac38030fbd280fc33c4c12a96052807f2e0cbbe1dcbac4a17e4c8a6041077468bb47e4c556e28153f8eff2c061036fb2dee285a45df386ac52ff9f4338aa06e169d04880eac988fca2453ae6f4fd72ee2e298aa82319001e10d82a03c58fbf9015fa2cb58f20f29c18c92fe321e9b9bcb061767b1054cbf99d3f34a82a63c4b43e00f928632ea40e7846ce450781b307841950923059e7d45b4b142c0e3dbcf5c6ae6733a2131ac6b9d66294b9823ea4e321c3e30c4b2f4f1660816aa665d8bdebe4a7ff38c772b1f9d2ebca10af70e90314668d75881b704d819dd7c4073599477d281bcb9e45842cb1f4b5942854ca83e2318285b24420bf0e53ce2d713ad1ec83f5336e1a4cf8d08b5bde5314e2566093d2793a8430d666e8995f5e71991e930fc45abfc67a7de0e7fcd27adb94334377ea703e3c7f39e0a92f5fb0c28e0e4ca92218e6fae157a74f97bf49ed75921a55d87fb97e04d879d4928c348fa2e79db213918f98f1089854dfac64845051f78e647101eb5c5dd339d7bd3f156fd22bb544e59adc6074d583814284a40c7608b5d6429ae02fdfc9cd873554b9f7c0a81f6b69f856ed66075c94877e2a6d7a298a688d2329ca50d6b4585f005e62ab163ef5603f26f998ff1cd48ee6cc509a2d8b497c8a533344fde12a300e4319bf5b54aaacff6bc222f2fcf3d20ed2cdcc54e6a3040f3fec9abd95dfafe5aa0383cbd3f7b5c71dba07422b717c5e65db1a95b2691b8ebafcdebbfb8febe622f49c1b48affd7a7c24693592ebe69834d65c74fa2cf025e36115dc345f7c16da37659fb58646f8f98819ff70c38c825b75ae3ef61f9b3f127c4b294dc04340c11e5f03fb370f445028488354017392d09e17fc2bbe60d76b99acdda94a846d431ece3b6311e55e95836c768aa39e6485d0b4cd6ae5f5e9c8fc4ec8359505edb76e622ae2ea4f42e6b9424cdd5953109eeba188718f4b17eda005f3c87c52070f0e97972e0ba48adbae11045262e27ee3f1f17ea1bca8888f58cc4a1a830bc00935cbe8982563daeb1e60ad9e373bc2a980b7032bf3013369d5d23d3763e499cb3950610aff05a4df9a8752c1b4b0eb3e94a97f34ae7896201",
6-
"data": {
7-
"slot": "4669978815449698508",
8-
"index": "4668326327938047084",
9-
"beacon_block_root": "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f",
10-
"source": {
11-
"epoch": "542310465",
12-
"root": "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379"
13-
},
14-
"target": {
15-
"epoch": "542695214",
16-
"root": "0x1f86d83f0bf91cc0d7e07410828140e0dddbb331dc20b6743f9f79e549b50b11"
17-
}
2+
"version" : "electra",
3+
"data" : [ {
4+
"aggregation_bits" : "0x9827585d426605f0a23b9e5655df2c9b501c6282a5f6fae2fd7d5e0bdb68956e5b396afdfa9429f71e6e46ce94b24c59a4ca399550d1eccd9132ddc8c623328fd26ffad9a0d317fa12c74fe24eaaed6af7c42ab575d7d1d67fc4c3f1a42ebfba009b6ffc09671e81630d44851d5881782c1e25b9bb224b6f3e326221dfe891a480eb8fb6b93496a3836eb84d14bdd14706b06561622086cc5b5599be5c85252c2fb381141967c86c0aac570904117a3ae74d23572cdacff735639f1be45bcb7361cfbaf2970c5a0ec22004c4bfcfa8f75398984d07612c95523f1f39d17ed2b606cdd95e2ce4f41553918ac38030fbd280fc33c4c12a96052807f2e0cbbe1dcbac4a17e4c8a6041077468bb47e4c556e28153f8eff2c061036fb2dee285a45df386ac52ff9f4338aa06e169d04880eac988fca2453ae6f4fd72ee2e298aa82319001e10d82a03c58fbf9015fa2cb58f20f29c18c92fe321e9b9bcb061767b1054cbf99d3f34a82a63c4b43e00f928632ea40e7846ce450781b307841950923059e7d45b4b142c0e3dbcf5c6ae6733a2131ac6b9d66294b9823ea4e321c3e30c4b2f4f1660816aa665d8bdebe4a7ff38c772b1f9d2ebca10af70e90314668d75881b704d819dd7c4073599477d281bcb9e45842cb1f4b5942854ca83e2318285b24420bf0e53ce2d713ad1ec83f5336e1a4cf8d08b5bde5314e2566093d2793a8430d666e8995f5e71991e930fc45abfc67a7de0e7fcd27adb94334377ea703e3c7f39e0a92f5fb0c28e0e4ca92218e6fae157a74f97bf49ed75921a55d87fb97e04d879d4928c348fa2e79db213918f98f1089854dfac64845051f78e647101eb5c5dd339d7bd3f156fd22bb544e59adc6074d583814284a40c7608b5d6429ae02fdfc9cd873554b9f7c0a81f6b69f856ed66075c94877e2a6d7a298a688d2329ca50d6b4585f005e62ab163ef5603f26f998ff1cd48ee6cc509a2d8b497c8a533344fde12a300e4319bf5b54aaacff6bc222f2fcf3d20ed2cdcc54e6a3040f3fec9abd95dfafe5aa0383cbd3f7b5c71dba07422b717c5e65db1a95b2691b8ebafcdebbfb8febe622f49c1b48affd7a7c24693592ebe69834d65c74fa2cf025e36115dc345f7c16da37659fb58646f8f98819ff70c38c825b75ae3ef61f9b3f127c4b294dc04340c11e5f03fb370f445028488354017392d09e17fc2bbe60d76b99acdda94a846d431ece3b6311e55e95836c768aa39e6485d0b4cd6ae5f5e9c8fc4ec8359505edb76e622ae2ea4f42e6b9424cdd5953109eeba188718f4b17eda005f3c87c52070f0e97972e0ba48adbae11045262e27ee3f1f17ea1bca8888f58cc4a1a830bc00935cbe8982563daeb1e60ad9e373bc2a980b7032bf3013369d5d23d3763e499cb3950610aff05a4df9a8752c1b4b0eb3e94a97f34ae7896201",
5+
"data" : {
6+
"slot" : "4669978815449698508",
7+
"index" : "0",
8+
"beacon_block_root" : "0x103ac9406cdc59b89027eb1c9e97f607dd5fdccfa8fb2da4eaeea9d25032add9",
9+
"source" : {
10+
"epoch" : "542502839",
11+
"root" : "0x8200a6402ca295554fb9562193cc71d60272d63beeaf2201fdf53e846e77f919"
1812
},
19-
"signature": "0xb3a22ab9ec46aec35a9dacfb9036375ea1528041a926cb9d2d315ab964e82be5d6990e7fef2343f2dbb4c2b7dd74687f11144beaeb5758ebe349762b4dbde5e67bbc8d89a95a803c6610631d178249917cbf0d8b11bd8740f3cb767c843aa88c",
20-
"committee_bits": "0x04"
13+
"target" : {
14+
"epoch" : "542887588",
15+
"root" : "0x5cbeb140ec0ad7cb653388caecba483cf66bd817821ed18ca1f3b7f3b9b58a04"
16+
}
2117
},
22-
{
23-
"aggregation_bits": "0x068f248a19e0065e3d86f2db7b742100545602fae9889b1427720965c55584c5fec8484375d473375bc802f420147d851c20a849feb07b9b4ffcdc2119fb4bfdae17b9116c38549a914d5848808a3017e8fb82decc0caf21a51cb028d23c45b03509655d2510caf3d6dd77fa99d1c4f2e89b4f55f7378df63d9d4acb4866a16291277bb2b08224673fe90ed61405adcad442bcaa3d55606d42e6e01b60500ced943da0e81a8d532c5e8848f6b80506bdf703f1f36c90ee9fe87b49ef271cb8692d432216f40c1ebfacb950fa168ffa266c7415e83d2d87206886f536ed0ce246217b033699effe833076c5e2e5f45692b613e8719b49d145c0cfaa3da4c66f3773fc7346bf69f2d47922037212e51547d8da220fb10ce0997113ffaadd6262248af50b2ff495359ac3c3965b5a1a673fcb23ecdd446a837d866a60c1b9223af42be00c8edf99568188fd32416e8e6d8ff154a6c1e2105fc004a0e0a50a09057a72fc5c8bb1eda79b1169f97bd1db1d485f5de88e9db2939f2e8ecca1a640ab299f5ef5811e153041c28fbd13982a537b55af8033ca2fc33bbcb817db4383793b76564accccaeaed6ac2d21559088cb84e8fe2a031cfa9ebeabe9d33149ca53d79b20712a4b262d3233cce7d722cbd58be811f4fcf1d053241ad419bf599540dc90c52460ee54d0b808b1f65a8c88f10ffd3af40773c4f74d7c82949648598e7880a1e19e68f4eff92e4df5bacb39c6388519fd2ebaa26879ec1f5251e2607a82229733eb13ae666ce88fec52281b2ff5fd609585d49c734d3afb69bf79a666cbda6d863e6780900480f8995c73fc6eb588f5b4adf096bc06cc83d0db27b8d72b237dcc2a7af1bf75777dde87d6e57ae756dcaa99d3f42f09d32a0cef128dc73332136b2a5e1541a2bf6d660623e8c09d5034dbab8fc6afaaee97be2bad3e964b44456be3873820bb4a72948c849d4577474fa207a2fcc25a9a3edf64aa70f25b578a7bceab054dccdf1a26c38fa2ac39c7352ace5683b4b51ae4a8e9c275be4b9a4f78c5a2f7dbe2e256841907fd21d5d9352abcafb00f2e08b95f2bf4dfa11ca5cd53ca17d188b8c7c2e988c40e8527e3de08e5a519dc47f92d126336fa53b423914c9142a58b4353c56dfa27a26d97278c4468cfe1803c5c400198baeb6e5b2a4483cfbd7146ddcc92b9471663ba1292f9755db6463f53887c5a21386417cc0f8e31e0d0c347cbb525d21b6d1f95c6674efb7861690e61dd6e9bf1119cb3429175bd37fca4c2f5fb6b20234f63a6ae6ae56e32df7b1dc622b13465cc4cf313d68933dfa38baf65d4458b57d83e84f1e4fc2e0fd654f4d12476917a50830be5635659f33db11924834e6a8e63fc36bef07e8f7c122f24cd752dcbd7bb53fe23bdf2578743c3b1e93a94710baad858de9feb9293586c410547ee5445fbb05a6201",
24-
"data": {
25-
"slot": "4592312065610838826",
26-
"index": "4597269519555858506",
27-
"beacon_block_root": "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1",
28-
"source": {
29-
"epoch": "534038364",
30-
"root": "0xcbafa33faaa1f62b763b1697f350f91515f7aa53462f2500db29d9eff71c7ef1"
31-
},
32-
"target": {
33-
"epoch": "534423113",
34-
"root": "0xa56daf3f6a0a38a28bb547404c3fd07b08f1ac2fd99dd38b7f27525f425b0fdc"
35-
}
18+
"signature" : "0xae401f767ab1917f925fe299ad51a57d52f7cc80deb1cc20fa2b3aa983e4e4d23056d79f01f3c97e29c8905da17e70e30c2a3f6bdd83dbc4ddf530e02e8f4d7ba22260e12e5f5fe7875b48e79660615b275597e87b2d33e076664b3da1737852",
19+
"committee_bits" : "0x08"
20+
}, {
21+
"aggregation_bits" : "0xb4a12e84d6e7598e246347c9df0778036a543cf20a90811be8c174b87cc98e0e0ba76fd9c7076eb7a9e484775545f6d5f2250b82098ec29be0e58139a4f463a2114f5321f6eec21a7b42baed386ceef459fbd893203af7ba9fcd9a66026acd536f0dc4e94bf34d909acd179b6aa21b824682d768d2d1d60682db4c0416dc9580432f4646a680f5f28857fabf55aa4c3fb5e97c2607fdf744013208f3db52ba768bd7ad4949a4a5ddd7d268ed35f6a3724f49761f9c4ff623695bec713896100742b7e0e96b3f174595d21b82a5acff69f98885460e338639bd25b48adfdcfb1d07b040bacf552a17e369197d0711717a54944a551f8c56a1335d6a443d61786f381ad4fb3f8f09b712a11873966c6cbf4d07a4a5cd94e31e62afa527fb6d9ea89fb34113d87b3b1362ff84178844083b3671bd124f55252e5b191e62e5b7d2e855e95a0e763640f66a118f68da7647977f054536732226b4c4f8f2f2f0343d8dedd482f768c44d6bdf02082f84b810de7e9c8a8a6b814d656e0658d3621f33afa5071990f2aeb6185a55480d680d5e29665b346e85042a179c53a0dbee34a9d2cf7b94ecf8c281480f62921c7342fd6f9a7ee67e82de66ccfbbd25e3f837c67b898d27a6c813359591765da5c6759aa0db50da7dea05c5c7bfada3558aa93520b9c0112259209d4bfa7c7726f42839c9ef843043bf0b94575e0343756d6941239f8e415d18fabda4a6fb0591efefedd42c3eca44dc5b59984c70cee492a56d2775458969436c84d3fe832418be9c846f02e6eb3e42551501a3bd52a6053d2bf871ff7dee2d1ac5d2f8c25df024180cb41db400b5d900223c82aa6bd004e21b76e54215ce42135c7eadb9a040a8c037f03d78e51547839fe5ffee36cf644e6cae322c6d693fd3be559d0ed33c69ef8344ce7b2a24b925dd930255d043e8c8594b9c66cb6c532f8abcc7c9ce9b7ed021626819ed475683fab0e56b7bef0cc8e2752ac4ee832415857938e8ea116fd4f24ac04abdb8724caff5cc5177ad602bef1f204b93073257c003b2212b6530fd727b137617ac1c38f3b3fc35304207a2efcbde58d98969662edd9b106693470648b8ef990b8ee13225d0cf13bbda2e641b4f5bfcb2f3bdb76e7876f5158e3090bcf5f948cd664096de909b159238c0c7215ade5f99e2564915d9dc2d8c9027bc953fdd2ce35087153140184d6937bda748c3a9d3d5823bc4f9930ad5c9a49bb373cacdf79171bf7d4cfa721df814afa791bdafb5f5bd63a8774788d6d78d03de10e4024fcef5ca151f5219e0d15044d3bec782973e14680d73600b26f5b19617424ce9630d5f6aeae6072a0e604c79d4ff7b9233fa364aa87d9798e431f430f259be293c9e8c23ecea773f60cc6af4abc5a74dec81e5fabbd79678c991abf3fc1f44192e2be4fd2e8f71aa22b7fabbdbc1ee01",
22+
"data" : {
23+
"slot" : "4593964548827522954",
24+
"index" : "0",
25+
"beacon_block_root" : "0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6",
26+
"source" : {
27+
"epoch" : "535192610",
28+
"root" : "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1"
3629
},
37-
"signature": "0x8f2f048d2061f5e290f2fcbe3ba5ab2d85fb62db534e5e49d985475e3ac39e317db50af5dbc2fd94c81284c10c3ff5930b21b375837f13de2cb209aa8804af037f75dde5900da65d98d717bdee5549f3de2f544b576e860a001fb69b5ac82e5f",
38-
"committee_bits": "0x00"
39-
}
40-
]
30+
"target" : {
31+
"epoch" : "534038364",
32+
"root" : "0xcbafa33faaa1f62b763b1697f350f91515f7aa53462f2500db29d9eff71c7ef1"
33+
}
34+
},
35+
"signature" : "0x9776d892cbc6c914554d0153158c9a7c72164e9f60d3fe5816bdaf08a9bf3ca67d77a9c1d6431ba3294ec9032424322b0ab9e9a58fb0b9d8de93946ff414d2bef1f58da9f4a9b1e585c57571a6c8c8c2c0aa1c574939b7acd228d3f35d7b6e6e",
36+
"committee_bits" : "0x02"
37+
} ]
4138
}

data/beaconrestapi/src/test/resources/tech/pegasys/teku/beaconrestapi/handlers/v2/beacon/getAttesterSlashingsELECTRA.json

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010
],
1111
"data": {
1212
"slot": "4660063907559659148",
13-
"index": "4658411424342975020",
14-
"beacon_block_root": "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379",
13+
"index": "0",
14+
"beacon_block_root": "0x8200a6402ca295554fb9562193cc71d60272d63beeaf2201fdf53e846e77f919",
1515
"source": {
16-
"epoch": "542695214",
17-
"root": "0x1f86d83f0bf91cc0d7e07410828140e0dddbb331dc20b6743f9f79e549b50b11"
16+
"epoch": "542887588",
17+
"root": "0x5cbeb140ec0ad7cb653388caecba483cf66bd817821ed18ca1f3b7f3b9b58a04"
1818
},
1919
"target": {
20-
"epoch": "535384985",
21-
"root": "0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb"
20+
"epoch": "535577359",
21+
"root": "0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b"
2222
}
2323
},
24-
"signature": "0xae757bc04a0f7ee8e8d1668c8de3fd4ca45ca7e8f7ad7d3323350213956386cfc97094f156a7d6ab2d3ebe6a7eb7ce2c10d0d32091ee4867224ef5856bff529e9f0c2cb9c0085a28f6a47d75aae926913f681a6b21e25b093b78e3cf188bb6be"
24+
"signature": "0x992e2695a49aaedcb373280f375a08adaafafff0bab131d48674136f5e452c8bb0797618eeb99bc3a4835bca2bd6aec6067807e927604548997a795d7ba982a5274f0d1d55624a8c7b66973c6e717f3c46bd2d92bc1696d3173751a6b0bf6a63"
2525
},
2626
"attestation_2": {
2727
"attesting_indices": [
@@ -30,63 +30,63 @@
3030
"4668326327938047084"
3131
],
3232
"data": {
33-
"slot": "4593964548827522954",
34-
"index": "4592312065610838826",
35-
"beacon_block_root": "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26",
33+
"slot": "4602226973500878187",
34+
"index": "0",
35+
"beacon_block_root": "0x6b0ac13f8a279ad3abec11bed1a49214f6e7af79b643595df6a38706b338e93b",
3636
"source": {
37-
"epoch": "535000236",
38-
"root": "0xb88ea93f0a5617e780f8ae6b1fc8e4480ff4abc18f66fc45ada895271cbcc666"
37+
"epoch": "534615487",
38+
"root": "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26"
3939
},
4040
"target": {
41-
"epoch": "533845989",
42-
"root": "0x924cb53fcabe585d9672e01478b6bbae02eead9d22d5aad151a60e9768fa5751"
41+
"epoch": "535000236",
42+
"root": "0xb88ea93f0a5617e780f8ae6b1fc8e4480ff4abc18f66fc45ada895271cbcc666"
4343
}
4444
},
45-
"signature": "0x93bcd24f4a430255688b4a9a548da6f88a03bcf775104980edb7e818a3eb26f40ed8981681e4c92e4f02360fcc91bfdf062466e46c2a11058d2200e378fec149f13445aa520ea8e87bd94d3b260478c4ac0a92c27a3af35dae1e843e4112e05c"
45+
"signature": "0xb8f4f7eb7f1ff3eb3923e6bf36b3a0865c80f47fb8e5dbe8830751f66bd8a06a3a1e06b7b2dec66556b532721018ce940c982953c8c6176125c7dd2ba1e8cb944e10e4a14905f7135a477810872518cbac085dfc69c1759d64dab5e225a5f16c"
4646
}
4747
},
4848
{
4949
"attestation_1": {
5050
"attesting_indices": [
51-
"4579092195582398506",
52-
"4584049649527418186",
53-
"4582397162015766762"
51+
"4589007099177470570",
52+
"4580744678799082634",
53+
"4579092195582398506"
5454
],
5555
"data": {
56-
"slot": "4627014230341074699",
57-
"index": "4625361742829423275",
58-
"beacon_block_root": "0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650",
56+
"slot": "4584049649527418186",
57+
"index": "0",
58+
"beacon_block_root": "0xf1f1973fea38b5b560c1e4ed9a6222b021fda877b2c07674362c6080acdeec06",
5959
"source": {
60-
"epoch": "538847725",
61-
"root": "0x3af91e408b6da58558bd9d0797174a4392b7bf5950b8ccba1a914f820d2b7390"
60+
"epoch": "538655350",
61+
"root": "0x00963040ab8a07b778f467851c7d0cdc7faec2a32d5e528c900d85297e084df0"
6262
},
6363
"target": {
64-
"epoch": "537693478",
65-
"root": "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b"
64+
"epoch": "539040099",
65+
"root": "0xda533c406bf3482d8e6e992e756be34172a8c47fc1cc0018350bfe98c946deda"
6666
}
6767
},
68-
"signature": "0x89253547c4da2415ab254923840e8988872bb213d72482da53998afaf78d3d4be75b3d45dafa853e297c274286792098167a69856d813f5b38d1eecbca1a63d67e6f38acd72149931b5b9bf53d45b94c3b2b81d7183c1f18836bf1dbbd7e019a"
68+
"signature": "0x8bfc6e1a1c76bdafb4d491ce02a35effde6d7362eb32c03f119c47c12fb2b49e7656bbd4702ba02560fd7fe117f2c74e02142ce46176ebf269d5b34a48a65525e35db6cc446965e86e22e9d8adf5abe92315690b6de5f4591769487539fed52a"
6969
},
7070
"attestation_2": {
7171
"attesting_indices": [
72-
"4579092195582398506",
73-
"4584049649527418186",
74-
"4582397162015766762"
72+
"4589007099177470570",
73+
"4580744678799082634",
74+
"4579092195582398506"
7575
],
7676
"data": {
77-
"slot": "4613794356017667083",
78-
"index": "4612141872800982955",
79-
"beacon_block_root": "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5",
77+
"slot": "4618751809962686763",
78+
"index": "0",
79+
"beacon_block_root": "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b",
8080
"source": {
81-
"epoch": "537308729",
82-
"root": "0xd301f03f8bca9fac02d5d762345eeeabc4cfb7e903fe128c889a6bc4e0312ee6"
81+
"epoch": "538078227",
82+
"root": "0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb"
8383
},
8484
"target": {
85-
"epoch": "536154483",
86-
"root": "0xacbffb3f4b33e122174f090c8d4cc511b7c9b9c5966cc1172c98e4332b70bfd0"
85+
"epoch": "536923980",
86+
"root": "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5"
8787
}
8888
},
89-
"signature": "0x987deb6cea81585136778dd3825ee4bc58bbbf1f007b9d2c819c4441de0c6c4f727aef2aa8e373231d451f3f2ee72a7e0e4e6d8e3f24c0c0371fe0bf37fed52eab8615b90cb16cfd74d7d47f9de296c35481ece0c3f2b23a25e9085515e6d0e4"
89+
"signature": "0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65"
9090
}
9191
}
9292
]

ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/util/DataStructureUtil.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,8 +807,12 @@ public AttestationData randomAttestationData() {
807807
}
808808

809809
public AttestationData randomAttestationData(final UInt64 slot) {
810+
final UInt64 index =
811+
spec.atSlot(slot).getMilestone().isGreaterThanOrEqualTo(SpecMilestone.ELECTRA)
812+
? ZERO
813+
: randomUInt64();
810814
return new AttestationData(
811-
slot, randomUInt64(), randomBytes32(), randomCheckpoint(), randomCheckpoint());
815+
slot, index, randomBytes32(), randomCheckpoint(), randomCheckpoint());
812816
}
813817

814818
public AttestationData randomAttestationData(final UInt64 slot, final UInt64 committeeIndex) {

validator/client/src/main/java/tech/pegasys/teku/validator/client/duties/attestations/AttestationProductionDuty.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import tech.pegasys.teku.infrastructure.ssz.collections.SszBitvector;
3333
import tech.pegasys.teku.infrastructure.unsigned.UInt64;
3434
import tech.pegasys.teku.spec.Spec;
35+
import tech.pegasys.teku.spec.SpecMilestone;
3536
import tech.pegasys.teku.spec.datastructures.operations.Attestation;
3637
import tech.pegasys.teku.spec.datastructures.operations.AttestationData;
3738
import tech.pegasys.teku.spec.datastructures.operations.AttestationSchema;
@@ -215,13 +216,19 @@ private SafeFuture<ProductionResult<Attestation>> signAttestationForValidatorInC
215216
.exceptionally(error -> ProductionResult.failure(validator.publicKey(), error));
216217
}
217218

218-
private static void validateAttestationData(
219-
final UInt64 slot, final AttestationData attestationData) {
219+
private void validateAttestationData(final UInt64 slot, final AttestationData attestationData) {
220220
checkArgument(
221221
attestationData.getSlot().equals(slot),
222222
"Unsigned attestation slot (%s) does not match expected slot %s",
223223
attestationData.getSlot(),
224224
slot);
225+
226+
if (spec.atSlot(slot).getMilestone().isGreaterThanOrEqualTo(SpecMilestone.ELECTRA)) {
227+
checkArgument(
228+
attestationData.getIndex().equals(UInt64.ZERO),
229+
"Unsigned attestation slot (%s) must have index 0",
230+
slot);
231+
}
225232
}
226233

227234
private SafeFuture<ProductionResult<Attestation>> signAttestationForValidator(

0 commit comments

Comments
 (0)