{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":493933757,"defaultBranch":"main","name":"ssv-spec","ownerLogin":"ssvlabs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-05-19T05:32:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/33198961?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1722369361.0","currentOid":""},"activityList":{"items":[{"before":"6921f5808616fbb53e1a0dc67091c9759301d668","after":"96429fb2deb11f5cf71b7e06f1424f3e1d523df9","ref":"refs/heads/dev","pushedAt":"2024-08-14T14:03:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MatheusFranco99","name":null,"path":"/MatheusFranco99","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48058141?s=80&v=4"},"commit":{"message":"Meta - Update to go1.22 (#474)\n\n* Update go1.20 to go1.22\r\n\r\n* Update go.sum with mod tidy","shortMessageHtmlLink":"Meta - Update to go1.22 (#474)"}},{"before":"a32f56eb8c71527f57feddc20542635d62369bd4","after":"a717b469cd24435a1c81132ac24124f6f55be823","ref":"refs/heads/attack-sim","pushedAt":"2024-08-02T13:14:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkrolevets","name":"Pavel Krolevets","path":"/pavelkrolevets","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2865727?s=80&v=4"},"commit":{"message":"add broadcast raw method","shortMessageHtmlLink":"add broadcast raw method"}},{"before":"a4380ac421c1029a038cfec0e0baadb43552abed","after":null,"ref":"refs/heads/v0.3.7-b","pushedAt":"2024-07-30T19:54:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"}},{"before":null,"after":"a4380ac421c1029a038cfec0e0baadb43552abed","ref":"refs/heads/0.3.7-b","pushedAt":"2024-07-30T19:54:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Update go eth2 lib (#470)\n\n* update go.mod\r\n\r\n* go get\r\n\r\n* make generate-jsons\r\n\r\n* go mod tidy\r\n\r\n* fix generate.go\r\n\r\n* generate again\r\n\r\n* update to 21.9\r\n\r\n* generate","shortMessageHtmlLink":"Update go eth2 lib (#470)"}},{"before":"ebb60143f17ea25edf09edeb398559d764b0e01b","after":"a4380ac421c1029a038cfec0e0baadb43552abed","ref":"refs/heads/v0.3.7-b","pushedAt":"2024-07-30T19:46:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Update go eth2 lib (#470)\n\n* update go.mod\r\n\r\n* go get\r\n\r\n* make generate-jsons\r\n\r\n* go mod tidy\r\n\r\n* fix generate.go\r\n\r\n* generate again\r\n\r\n* update to 21.9\r\n\r\n* generate","shortMessageHtmlLink":"Update go eth2 lib (#470)"}},{"before":"9712055c9b3288a0755de2a48b438edbb3f4bfa4","after":null,"ref":"refs/tags/v0.3.7-c","pushedAt":"2024-07-30T09:34:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"olegshmuelov","name":null,"path":"/olegshmuelov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45327364?s=80&v=4"}},{"before":null,"after":"ebb60143f17ea25edf09edeb398559d764b0e01b","ref":"refs/heads/v0.3.7-b","pushedAt":"2024-07-30T08:38:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Spec - Partial Signature Verification Aggregation (#369)\n\n* Add SignedSSVMessage\r\n\r\n* Add SSZ encoding\r\n\r\n* Test structures for SignedSSVMessage\r\n\r\n* Test utils and encoding test\r\n\r\n* Tests\r\n\r\n* Generate tests\r\n\r\n* Adapt message validation\r\n\r\n* Fix expected error; Bring back commented tests\r\n\r\n* Add comment on signature\r\n\r\n* Adjust ssz-max in SignedSSVMessage\r\n\r\n* Include RSA check in test\r\n\r\n* Generate JSONs\r\n\r\n* Optimistic approach in pre-consensus messages\r\n\r\n* Extend optimistic approach to pre-consensus\r\n\r\n* Extend to post-consensus\r\n\r\n* Add approach to validator reg. and exit duties\r\n\r\n* Add errors\r\n\r\n* Rename fall back function\r\n\r\n* Check duplicated signature case\r\n\r\n* Add in-committee check\r\n\r\n* Fix unknown signer error messages\r\n\r\n* Drop expected error in invalid signature since it's deprecated\r\n\r\n* Change invalid beacon sig test to trigger error once quorum is reached\r\n\r\n* Drop errors in invalid then quorum test\r\n\r\n* GenerateTests\r\n\r\n* Fall back and verify for all roots\r\n\r\n* Test: Invalid quorum then valid quorum\r\n\r\n* Test: invalid quorum then valid quorum for pre-consensus\r\n\r\n* Fix name\r\n\r\n* Generate tests\r\n\r\n* Fix lint\r\n\r\n* remove commits from signed ssv message branch\r\n\r\n* Fix revert issues. Generate tests\r\n\r\n* Simplify if clause","shortMessageHtmlLink":"Spec - Partial Signature Verification Aggregation (#369)"}},{"before":null,"after":"fce9169bbc26238144974d3410f599133475c653","ref":"refs/heads/fix-leftover-error-check","pushedAt":"2024-07-26T00:13:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MatheusFranco99","name":null,"path":"/MatheusFranco99","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48058141?s=80&v=4"},"commit":{"message":"Align argument variable name to type","shortMessageHtmlLink":"Align argument variable name to type"}},{"before":"e0ef1418c7c5965ebfc22cc8483aafdd3d05ab5c","after":"a32f56eb8c71527f57feddc20542635d62369bd4","ref":"refs/heads/attack-sim","pushedAt":"2024-07-25T09:48:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkrolevets","name":"Pavel Krolevets","path":"/pavelkrolevets","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2865727?s=80&v=4"},"commit":{"message":"generate fastssz","shortMessageHtmlLink":"generate fastssz"}},{"before":"7adef2ac3ea6529bed1c52a70469e365733e5ec2","after":"e0ef1418c7c5965ebfc22cc8483aafdd3d05ab5c","ref":"refs/heads/attack-sim","pushedAt":"2024-07-25T09:31:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkrolevets","name":"Pavel Krolevets","path":"/pavelkrolevets","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2865727?s=80&v=4"},"commit":{"message":"increase allowed size","shortMessageHtmlLink":"increase allowed size"}},{"before":null,"after":"7adef2ac3ea6529bed1c52a70469e365733e5ec2","ref":"refs/heads/attack-sim","pushedAt":"2024-07-25T09:11:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pavelkrolevets","name":"Pavel Krolevets","path":"/pavelkrolevets","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2865727?s=80&v=4"},"commit":{"message":"BeaconNode: Submit multiple attestation duties (#428)\n\n* Update BN interface to submit multiple attestations\r\n\r\n* Adjust CommitteeRunner to submit multiple attestations at once\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions","shortMessageHtmlLink":"BeaconNode: Submit multiple attestation duties (#428)"}},{"before":null,"after":"f2e70e857cff5908f9aafb8d8cfd528da411ddbb","ref":"refs/heads/upgrade-go-eth2","pushedAt":"2024-07-24T19:01:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"generate-jsons","shortMessageHtmlLink":"generate-jsons"}},{"before":"9f64a7b067de2a4ec68075a709b7b8d390a3703e","after":"6921f5808616fbb53e1a0dc67091c9759301d668","ref":"refs/heads/dev","pushedAt":"2024-07-22T13:27:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Spec - check att and sync duties exist before submitting (#468)","shortMessageHtmlLink":"Spec - check att and sync duties exist before submitting (#468)"}},{"before":"3d5887fc6016010eeebf9c56bf86a1acdbb7f6fb","after":null,"ref":"refs/heads/feature/filter-committee-duty-shares","pushedAt":"2024-07-22T13:23:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"}},{"before":"ccf408d1ecd87a4ab631885409d679f10c3fd080","after":"9f64a7b067de2a4ec68075a709b7b8d390a3703e","ref":"refs/heads/dev","pushedAt":"2024-07-22T13:23:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Spec - filter committee duties per slot validator duties (#467)\n\n* Filter shares for slot `CommitteeRunner` based on validators that have duty for that slot.\r\n\r\n* Filter duty and create share map according to owned validators\r\n\r\n* Add test: start duty with no shares for duty's validators\r\n\r\n* Add test: happy flow for committee with fraction of duty's validators\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions\r\n\r\n---------\r\n\r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>","shortMessageHtmlLink":"Spec - filter committee duties per slot validator duties (#467)"}},{"before":null,"after":"ccf408d1ecd87a4ab631885409d679f10c3fd080","ref":"refs/heads/dev","pushedAt":"2024-07-22T12:36:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Committee Based Consensus - Alan Fork (#421)\n\n* init wip\r\n\r\n* process consensus msg wip\r\n\r\n* Replace to \"attestation and sync committee\" tests. Duties tests\r\n\r\n* new share and operator\r\n\r\n* cluster validations\r\n\r\n* add methods to operator and share\r\n\r\n* validation with message ID\r\n\r\n* beacon types encoding\r\n\r\n* use operator instead of share\r\n\r\n* more changes to cluster runner\r\n\r\n* beacon_types.go + partial_sig\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* post consensus\r\n\r\n* use operators\r\n\r\n* shares\r\n\r\n* shares\r\n\r\n* more error fixes\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* more error fixes\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* fix one more conflict\r\n\r\n* fix more conflicts\r\n\r\n* resolved merge conflicts\r\n\r\n* comment out code in validator.go\r\n\r\n* remove operator id from signer\r\n\r\n* rename\r\n\r\n* more changes\r\n\r\n* more changes\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* runner roles\r\n\r\n* use operator ID in messages again\r\n\r\n* fix preconsensus justifications\r\n\r\n* cluster runner finds validators\r\n\r\n* use committee to verify partial sig\r\n\r\n* renaming, some helpers added, adopted to work with ssv.RoleCluster\r\n\r\n* added missing .QBFTController to access the share. Added primitive getValPubKeyByValIdx impl\r\n\r\n* Implemented valid test for runners/new_duty\r\n\r\n* added decided.go tests\r\n\r\n* rename cluster to committee\r\n\r\n* add GetOperatorSigner\r\n\r\n* fix runner signatures\r\n\r\n* add operator signer to validator registration\r\n\r\n* Decode CD for BeaconVote\r\n\r\n* delete legacy runners\r\n\r\n* rename files\r\n\r\n* fixed most of the /runners/newduty/ tests. #384\r\n\r\n* stop duties\r\n\r\n* stop duties\r\n\r\n* cutoff round\r\n\r\n* fix newduty/test.go\r\n\r\n* added changes to post_invalid_decided.go\r\n\r\n* fixed some compilation errors\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* value check\r\n\r\n* New message structures with RSA signature (#382)\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* Fix merge issues\r\n\r\n* use OPERATORID\r\n\r\nCo-authored-by: Matus Kysel \r\n\r\n* use struct map\r\n\r\n* delete unused getters\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\nCo-authored-by: Matus Kysel \r\n\r\n* add comments\r\n\r\n* no need for comment actually\r\n\r\n* validations for post consensus msg\r\n\r\n* work with beaconVote and consensus_data in seperate\r\n\r\n* delete unneccessary fields\r\n\r\n* fic errors\r\n\r\n* Fix StartDuty\r\n\r\n* fixed circular dependencies\r\n\r\n* partially fixed /ssv\r\n\r\n* fix testingutil\r\n\r\n* fix types\r\n\r\n* removed partial quorum & fixed qbft tests\r\n\r\n* fixed run_test.go\r\n\r\n* Fix msg processing spectest in ssv\r\n\r\n* fixed valcheck/test.go\r\n\r\n* Fix ssv runner tests\r\n\r\n* fixed lint errors\r\n\r\n* Implement panics in runners\r\n\r\n* Fix type tests; Delete old attestation and sync committee CD tests\r\n\r\n* Fix qbft test specs and roots\r\n\r\n* Generate JSON tests\r\n\r\n* Solve some errors in ssv tests (fix unknown validator check, add validator index field, fix cgo issue, fix nil pointer issues)\r\n\r\n* Add custom json marshal for runner state. Fix typo that broke tests\r\n\r\n* Fix typos, implementation and testing utils\r\n\r\n* Fix ssv test issues. Fix consensus data fields\r\n\r\n* Fix typo. Comment old attestation valcheck tests\r\n\r\n* Generate JSON tests. Removed unused functions for lint\r\n\r\n* minor runner fixes\r\n\r\n* Add custom encoding for start duty test (to deal with the duty interface)\r\n\r\n* fixed linter error + commented all non-working tests\r\n\r\n* Re-enable all tests and generate JSON\r\n\r\n* Refactor testing duties\r\n\r\n* Consensus not started and decided tests\r\n\r\n* Add tests: duplciate duty, finished, first height, not decided\r\n\r\n* Add tests: post (future, invalid, wrong) decided\r\n\r\n* Make validator receive Duty to start duty (and not BeaconDuty)\r\n\r\n* Make MsgProcessingSpecTest handle duty interface. Add valid consensus msg test\r\n\r\n* Fix CommitteeRunner type assertion\r\n\r\n* Fix sync committee post-consensus signed object\r\n\r\n* Add consensus valid decided test\r\n\r\n* Generate JSON tests\r\n\r\n* Add tests: valid decided 7, 10, 13\r\n\r\n* Fix expected root and object calculation. Test: post finish attestation\r\n\r\n* Add consensus tests: post finish, post decided, past msg and invalid signature\r\n\r\n* Add tests: invalid decided, future msg, future decided and future decided no instance\r\n\r\n* Generate JSON tests\r\n\r\n* Add post consensus tests: valid, unknown signer, unordered roots\r\n\r\n* Deprecate DomainCommittee. Add test: too many roots\r\n\r\n* Add post consensus tests: quorum and too few roots\r\n\r\n* Add post consensus tests: pre decided, post quorum, post finish, no running duty, nil msg\r\n\r\n* Add post consensus tests: invalid msg (slot, msg, operator sig), invalid then quorum, invalid quorum then valid quorum\r\n\r\n* Add post consensus tests: invalid (msg sig, root, value, beacon sig), incosistent signer, duplicate msg (diff root, diff root then quorum)\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint (unreachable code)\r\n\r\n* Add new post-consensus test: wrong validator index\r\n\r\n* rename bloxapp->ssvlabs\r\n\r\n* solve more conflicts\r\n\r\n* generate ssz\r\n\r\n* more bloxapp->ssvlabs\r\n\r\n* fix error\r\n\r\n* remove double line\r\n\r\n* fix test\r\n\r\n* generate jsons\r\n\r\n* fix qbft roots and generate jsons\r\n\r\n* add TODO\r\n\r\n* review comments rename sender\r\n\r\n* better comment\r\n\r\n* fix typo\r\n\r\n* change int to round\r\n\r\n* functions not in use\r\n\r\n* clusterID -> committee ID\r\n\r\n* mistmatch typo\r\n\r\n* rename in generate.go\r\n\r\n* commit suspicious files\r\n\r\n* PR comments\r\n\r\n* use encoder interface\r\n\r\n* Alan Domain (#394)\r\n\r\n* Add Alan Domain\r\n\r\n* add to mainnet forks\r\n\r\n* Fix value check (#396)\r\n\r\n* use ValidaotrPK\r\n\r\n* update value_check.go\r\n\r\n* fix error\r\n\r\n* fix tests\r\n\r\n* add attestation_slashable check to post_consensus\r\n\r\n* fix signature\r\n\r\n* fix committee_runner.go\r\n\r\n* add test stubs\r\n\r\n* fix all tests\r\n\r\n* nolint\r\n\r\n* new tests.json\r\n\r\n* fix slashable.go\r\n\r\n* make value_check fail if there's a majority of slashable attestations\r\n\r\n* add committeeIndex\r\n\r\n* check only in consensus data\r\n\r\n* delete unneeded test\r\n\r\n* fix -1\r\n\r\n* use same committeeIndex\r\n\r\n* Fix role mapping in MapDutyToRunnerRole (#397)\r\n\r\n* Fix role mapping in MapDutyToRunnerRole\r\n\r\n* Replace types.MapDutyToRunnerRole(data.Duty.Type) with data.Duty.RunnerRole()\r\n\r\n* Convert unit test for MapDutyToRunnerRole into duty spec tests\r\n\r\n* Cluster consensus tests (#391)\r\n\r\n* Define wrong beacon vote in testingutils\r\n\r\n* Add validator pubkeys in testingutils\r\n\r\n* Add tests: start duties (attestation, sync committee, mixed, non duties)\r\n\r\n* Add tests: maximum possible duties, valid CD, wrong CD, decided\r\n\r\n* Generate JSON tests\r\n\r\n* Add testing utils for 500 validators shares\r\n\r\n* Add testing util for committee runner with multiple shares\r\n\r\n* Allow PartialSignatureMessages to have at most 1000 signature messages\r\n\r\n* Add post consensus message for decided test with 500 validators\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint\r\n\r\n* Apply suggestions\r\n\r\n* Fix CommitteeMsgID to use ClusterID\r\n\r\n* Make MsgProcessingSpecTest use Committee object for CommitteeRunner instead of Validator\r\n\r\n* Add validation and nil check for Committee\r\n\r\n* Adjust tests errors. Add happy flow test\r\n\r\n* Generate JSON tests\r\n\r\n* Introduces spec test for Committee. Refactor msg and beacon root comparison\r\n\r\n* Refactor TestingShare\r\n\r\n* CommitteeRunnerWithShareMap and BaseCommittee testing utils\r\n\r\n* Add share to Committee\r\n\r\n* Add MultiTest for Committee\r\n\r\n* Change committee tests directory and spec type\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor test to encompass multiple number of validators in one test file\r\n\r\n* Fix committee runner: track submitted duties, validators for sync committee, beacon object for sync committee\r\n\r\n* Add test: partially invalid quorum (bad root) then valid quorum\r\n\r\n* Generate JSON tests\r\n\r\n* Change CommitteeRunner to check validity of reconstructed signature for all duties\r\n\r\n* Add test: partially invalid quorum (bad beacon sig) then valid quorum\r\n\r\n* Fix lint issue due to merge\r\n\r\n* Add test: Happy flow for the committee spec test\r\n\r\n* Fix CommitteeRunner: return BeaconObject based on validator and root\r\n\r\n* Add test: mixed committees\r\n\r\n* Testing util: add slot to post consensus sync committee message\r\n\r\n* Fix Committee: Track highest duty slot for a general duty type\r\n\r\n* Add test: past msg. Fix committee spec test\r\n\r\n* Change CommitteeRunner: Drop slot from submitted duties map and reset it upon new duty\r\n\r\n* Apply suggestions\r\n\r\n* Fix lint issues\r\n\r\n* Remove deprecated syncMsg.ValidatorIndex fix\r\n\r\n* Rename past msg test. Add stub tests\r\n\r\n* Test: CommitteeRunner - Proposal with consensus data (#399)\r\n\r\n* Refactor previous test names to use beacon vote\r\n\r\n* Add test: proposal with consensus data\r\n\r\n* Generate JSON tests\r\n\r\n* Tests: Past msg for committee (#403)\r\n\r\n* Add test: past msg for finished duty\r\n\r\n* Add test: past msg for duty that does not exist\r\n\r\n* Tests: BeaconVote encoding and value check tests (#402)\r\n\r\n* Add encoding test\r\n\r\n* Extend KeyManager testing util to store slashable data root per validator\r\n\r\n* Extend value check test to allow using slashable root per validator\r\n\r\n* Add tests: majority and minority slashable\r\n\r\n* Add duty value check test cases for the committee role\r\n\r\n* Apply suggestions\r\n\r\n* zip json (#407)\r\n\r\n* Tests: Cluster consensus - Several duties (#401)\r\n\r\n* Refactor existing committee tests to the new committeesingleduty package\r\n\r\n* Implement singleton pattern for TestingVerifier for speed-up\r\n\r\n* Extend \"compare output\" functionality to handle msgs asynchronicity\r\n\r\n* Use new network for each new committee runner; fix slot/height in some testingutil messages\r\n\r\n* Add test: sequenced decided duties\r\n\r\n* Add test: sequenced happy flow duties\r\n\r\n* Fix: avoid concurrent read and writes\r\n\r\n* Fix Committee: Add nil check to BeaconDuty\r\n\r\n* Add test: shuffled decided duties\r\n\r\n* Compare output messages in asynchornous order only for committee spec test (go back to original compare function)\r\n\r\n* Reduce size of tests.json by removing big tests\r\n\r\n* Add test: shuffled happy flow duties with the same validators\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor input, output and beacon root to testing utils\r\n\r\n* Refactor committee tests utils (input, output, beacon roots)\r\n\r\n* Add test: shuffled happy flow duties with different validators\r\n\r\n* Add test: failed duties then successful duties\r\n\r\n* Improve test comment\r\n\r\n* Enable test cases with 500 validators\r\n\r\n* Add cache to TestingKeyManager to speed up tests\r\n\r\n* add json.gz\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* up go-eth2-client (#408)\r\n\r\n* Added Committee Validation to Message (#395)\r\n\r\n* rename clusterID to committeeID\r\n\r\n* add missing validate message\r\n\r\n* fix bad copy\r\n\r\n* fix runner\r\n\r\n* fix base runner\r\n\r\n* fix getID for future decided no instance\r\n\r\n* generate jsons\r\n\r\n* fix lint\r\n\r\n* add test\r\n\r\n* generate jsons\r\n\r\n* mov wrong_message_id.go\r\n\r\n* add jsons\r\n\r\n* generate json again\r\n\r\n* non-empty messages\r\n\r\n* Revert \"rename clusterID to committeeID\"\r\n\r\nThis reverts commit 7272f3d60ef24c3a400a6864b9d2ec9708ca4fd4.\r\n\r\n* fix back to bad name\r\n\r\n* regenerate jsons\r\n\r\n* regenerate more jsons\r\n\r\n* Cluster consensus fixes (#390)\r\n\r\n* small fixes\r\n\r\n* fix errors\r\n\r\n* add comment\r\n\r\n* delete expected error from tests\r\n\r\n* add error and fix test\r\n\r\n* add expected error\r\n\r\n* add more expected error\r\n\r\n* fix committee_runner.go and tests\r\n\r\n* restore_pastmsg\r\n\r\n* Remove test cases with 500 validators (#409)\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* Validate empty duties (#410)\r\n\r\n* validate beacon duties are not empty\r\n\r\n* add no duty test\r\n\r\n* fix comment and don't use multispectest\r\n\r\n* Allow committee duties to run in parallel (#412)\r\n\r\n* delete filter\r\n\r\n* add slashing protection for attestations\r\n\r\n* working version of test\r\n\r\n* add comment\r\n\r\n* add to all tests\r\n\r\n* remove isStopped\r\n\r\n* fix ssz encoding\r\n\r\n* add jsons\r\n\r\n* key manager clone\r\n\r\n* remove expected error from test\r\n\r\n* fix shuffled haapy_flow_duties\r\n\r\n* generate jsons\r\n\r\n* properly generate, marshal and unmarshal json\r\n\r\n* Refactor TestingKeyManager to hold an immutable structure (TestingKeyStorage) that holds the keys\r\n\r\n* Remove double-check to solve race condition\r\n\r\n* Fix race condition in singleton double-check\r\n\r\n* Remove extra newline\r\n\r\n---------\r\n\r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\n\r\n* Fix DomainType in CommitteeRunner (#414)\r\n\r\n* Fix DomainType used in MsgID\r\n\r\n* Remove TODO text\r\n\r\n* Fix race condition in testing verifier\r\n\r\n* Use sync.Once for singleton constructor\r\n\r\n* Remove unnecessary lock usage in creation\r\n\r\n* Fix/api (#416)\r\n\r\n* It could be that roots will be missing.. we still want to proceed\r\n\r\n* make GetAttestations parameters optional\r\n\r\n* Fix runner state in MessageProcessingSpecTest (#413)\r\n\r\n* Fix runner's empty state in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Revert to use always test.Runner for state. Use test.Runner in CreateRunnerFn\r\n\r\n* Refactor BaseCommitteeWithRunnerSample to BaseCommitteeWithCreatorFieldsFromRunner\r\n\r\n* Fix quorum (#417)\r\n\r\n* change position of variable so name will make sense\r\n\r\n* new way to get quorum\r\n\r\n* return uint64 for ssz\r\n\r\n* make ssz\r\n\r\n* fix errors\r\n\r\n* add operator test and delete unneccessary share test\r\n\r\n* delete share tests\r\n\r\n* change all tests\r\n\r\n* generate jsons\r\n\r\n* fix test\r\n\r\n* remove quorum from runner\r\n\r\n* add threshold to newduty test\r\n\r\n* generate jsons\r\n\r\n* generate more jsons\r\n\r\n* fix json\r\n\r\n* fix proposal and prepare\r\n\r\n* fix roundchange and commit\r\n\r\n* fix rest of tests\r\n\r\n* fix types\r\n\r\n* more jsons\r\n\r\n* Rename structures (#420)\r\n\r\n* Rename Operator->CommitteeMember and CommitteeMember->Operator\r\n\r\n* Remove fixed post root strings\r\n\r\n* Generate JSON tests\r\n\r\n* Generate SSV JSON tests\r\n\r\n* Align structures' comments\r\n\r\n* Remove old comment\r\n\r\n* Rename qbft.Controller.Share to CommitteeMember\r\n\r\n* Rename qbft.State.Share to CommitteeMember\r\n\r\n* Generate JSON tests. Fix BaseRunner's Share's JSON mapping\r\n\r\n* remove TODOs\r\n\r\n* Remove needless constructor (#424)\r\n\r\n* refactor function\r\n\r\n* remove needless constructor\r\n\r\n* refactor signing\r\n\r\n* Alan - New message sizes (#398)\r\n\r\n* use domain from controller (#425)\r\n\r\n* BeaconNode: Submit multiple attestation duties (#428)\r\n\r\n* Update BN interface to submit multiple attestations\r\n\r\n* Adjust CommitteeRunner to submit multiple attestations at once\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions\r\n\r\n* Change Spec.MD (#426)\r\n\r\n* use committee mapping\r\n\r\n* remove all sync protocols\r\n\r\n* rename BeaconDuty -> ValidatorDuty\r\n\r\n* delete unused function\r\n\r\n* ConsensusData update (#431)\r\n\r\n* Change BeaconVote location\r\n\r\n* Rename ConsensusData to ValidatorConsensusData\r\n\r\n* Propagate ConsensusData renaming to ValidatorConsensusData\r\n\r\n* Propagate renaming to testingutils and maxmsgsize tests\r\n\r\n* Rename ConsensusDataTest to ValidatorConsensusDataTest\r\n\r\n* Propagate renaming to ssv tests\r\n\r\n* Rename directory from consensusdata to validatorconsensusdata\r\n\r\n* Generate JSON tests\r\n\r\n* rename argument in NewMsgID function\r\n\r\n* Move json utils to a testutils file (#432)\r\n\r\n* Move all qbft encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* Move all ssv encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* add comment\r\n\r\n* use encoder interface (#438)\r\n\r\n* Remove convenience functions (#435)\r\n\r\n* Remove CreateValidatorConsensusData convenience function\r\n\r\n* Remove GetOperatorIDs function from SignedSSVMessage\r\n\r\n* Remove SSVMessageToSignedSSVMessage convenience function\r\n\r\n* Remove PartialSignatureMessagesToSignedSSVMessage convenience function\r\n\r\n* Remove NewBeaconVote convenience function\r\n\r\n* Calculate CommitteeID when creating message IDs (#433)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generate files\r\n\r\n* Use PEM exclusively (#430)\r\n\r\n* use pem\r\n\r\n* generate jsons\r\n\r\n* update ssz size\r\n\r\n* update ssz size\r\n\r\n* Delete preconsensus justifications (#436)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generte files\r\n\r\n* delete preconsensus justifications\r\n\r\n* remove justifications from consensus_data.go\r\n\r\n* remove justifications from tests\r\n\r\n* one more fix\r\n\r\n* generate files\r\n\r\n* fix lint\r\n\r\n* fix message size\r\n\r\n* fix encoding\r\n\r\n* correct comment\r\n\r\n* generate files\r\n\r\n* fix size again\r\n\r\n* generate files\r\n\r\n* Update ssv/committee_runner.go\r\n\r\nCo-authored-by: rehs0y \r\n\r\n* Add ProcessingMessage structure to QBFT (#440)\r\n\r\n* Add ProcessingMessage structure\r\n\r\n* Use ProcessingMessage in MsgContainer and State\r\n\r\n* Use ProcessingMessage in qbft Instance and associated functions\r\n\r\n* Use ProcessingMessage in qbft controller\r\n\r\n* Update qbft tests with ProcessingMessage\r\n\r\n* Update ssv tests with ProcessingMessage\r\n\r\n* Use ProcessingMessage in p2p msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Use ProcessingMessage validation (unify validations)\r\n\r\n* Adjust test error string\r\n\r\n* Remove ProcessingMessage from ssz generation\r\n\r\n* Remove unnecessary decoding check\r\n\r\n* Use GetShare to avoid duplicated code (#443)\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Refactor PartialSigContainer.HasSigner: avoid duplication code and rename (#444)\r\n\r\n* Use GetSignature in HasSigner to avoid duplicated code\r\n\r\n* Rename HasSinger to HasSignature since we're looking for a signature\r\n\r\n* Fix RunnerRole argument name (#445)\r\n\r\n* Use naming in complex nested map (#446)\r\n\r\n* Use naming to improve readability of nested map\r\n\r\n* Add comment to better explain nested map\r\n\r\n* Apply suggestion\r\n\r\n* remove ECRecover\r\n\r\n* Complete SignedSSVMessage tests (#441)\r\n\r\n* Add SignedSSVMessage missing tests\r\n\r\n* Rename file according to test name\r\n\r\n* Add missing SignedSSVMessages tests in qbft\r\n\r\n* Add missing SignedSSVMessages tests in ssv postconsensus\r\n\r\n* Add missing SignedSSVMessages tests in ssv preconsensus\r\n\r\n* Generate JSON tests\r\n\r\n* Remove SignedSSVMessage tests from QBFT/messages\r\n\r\n* Add SignedSSVMessage validation tests in SSV/Runner/Consensus\r\n\r\n* Generate JSON tests\r\n\r\n* Generate JSON tests\r\n\r\n* CommitteeRunner: allow signatures of unknown validators (#442)\r\n\r\n* Do validator index validation, in psig messages, for validator duties only\r\n\r\n* Drop expected error (unknown validator index) for committee runners\r\n\r\n* Add quorum of invalid validator index test to trigger \"could not find validators for root\"\r\n\r\n* Allow unsyced validators set: use \"continue\" if a validator is not found for a root in CommitteeRunner\r\n\r\n* Test quorum for unknown validator index and a known one (tests the continue command)\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestion\r\n\r\n* Remove unknown validator edge case error\r\n\r\n* Remove deprecated error in tests. Make explicit the ValidatorIndex associated with the submitted beacon root.\r\n\r\n* Take RSA Signer and Verification out of configuration (#447)\r\n\r\n* make operator signer concrete type\r\n\r\n* add RSA verifier\r\n\r\n* move verify code\r\n\r\n* use signer and verifier\r\n\r\n* more fixes\r\n\r\n* fix tests\r\n\r\n* fix config\r\n\r\n* more fixes\r\n\r\n* fix qbft tool\r\n\r\n* sign correctly\r\n\r\n* generate-jsons\r\n\r\n* remove testing verifier\r\n\r\n* generate jsons\r\n\r\n* omit json\r\n\r\n* omit operator signer from json\r\n\r\n* fix jsons\r\n\r\n* Cleanup (#450)\r\n\r\n* remove empty files\r\n\r\n* remove unused crypto functions\r\n\r\n* move deposit data file to testutils\r\n\r\n* Remove leftover: HighestDutySlotMap in CommitteeAlias (#456)\r\n\r\n* Remove deprecated HighestDutySlotMap field from CommitteeAlias\r\n\r\n* Generate JSON tests\r\n\r\n* TestingKeyManager: Slashing by Slot (#449)\r\n\r\n* Use slots instead of data root to do slashing check\r\n\r\n* Adjust ValCheck SpecTest to use slashable slots\r\n\r\n* Adjust test cases\r\n\r\n* Add test case for a valid BeaconVote with a slot that is different than the slashable slot\r\n\r\n* Fix ValueCheck in testing runners (#457)\r\n\r\n* add share pubkey to proposer check in tests\r\n\r\n* add share pubkey to runner in testutils\r\n\r\n* fix test runner to use correct km in valcheck\r\n\r\n* Change baseRunnerWithShareMap to use ValueCheck with the same KeyManager\r\n\r\n* Remove extra unnecessary value check\r\n\r\n* Revert \"Remove extra unnecessary value check\"\r\n\r\nThis reverts commit 4027756764cdf27a64316c78b5f93dff0be29e50.\r\n\r\n* Drop extra redundant slashing check\r\n\r\n* Fix slashingRoot added for concurrent slashing decideds check\r\n\r\n* Align new error in test\r\n\r\n* Remove unused functions\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* remove comment\r\n\r\n* add comment\r\n\r\n* moved decided value to runner\r\n\r\n* Simplify comparison methods (#461)\r\n\r\n* Fix CompareSignedSSVMessageOutputMessages. Refactor and simplify comparison methods\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor to remove duplicated code\r\n\r\n* update ssz\r\n\r\n* make generate-ssz\r\n\r\n* use global cutoff time of 12\r\n\r\n---------\r\n\r\nCo-authored-by: Lior Rutenberg \r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\nCo-authored-by: Anton Korpusenko \r\nCo-authored-by: Matus Kysel \r\nCo-authored-by: Nikita Kryuchkov \r\nCo-authored-by: rehs0y ","shortMessageHtmlLink":"Committee Based Consensus - Alan Fork (#421)"}},{"before":"1e05ab1ee6c877a3b47dc65c2eca5338fc43fea7","after":"3d5887fc6016010eeebf9c56bf86a1acdbb7f6fb","ref":"refs/heads/feature/filter-committee-duty-shares","pushedAt":"2024-07-22T10:37:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MatheusFranco99","name":null,"path":"/MatheusFranco99","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48058141?s=80&v=4"},"commit":{"message":"Apply suggestions","shortMessageHtmlLink":"Apply suggestions"}},{"before":"940c8a3322c7d1bb3f8f38a253ccf4426a7d1ece","after":"1e05ab1ee6c877a3b47dc65c2eca5338fc43fea7","ref":"refs/heads/feature/filter-committee-duty-shares","pushedAt":"2024-07-22T09:06:32.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"MatheusFranco99","name":null,"path":"/MatheusFranco99","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48058141?s=80&v=4"},"commit":{"message":"Generate JSON tests","shortMessageHtmlLink":"Generate JSON tests"}},{"before":"ccf408d1ecd87a4ab631885409d679f10c3fd080","after":"719ab7a1101153af0fe0ce78cf1d787e1b3371f3","ref":"refs/heads/fix/check-duties-exist","pushedAt":"2024-07-22T08:00:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"y0sher","name":"rehs0y","path":"/y0sher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2600603?s=80&v=4"},"commit":{"message":"check att and sync duties exist before submitting","shortMessageHtmlLink":"check att and sync duties exist before submitting"}},{"before":null,"after":"ccf408d1ecd87a4ab631885409d679f10c3fd080","ref":"refs/heads/fix/check-duties-exist","pushedAt":"2024-07-22T08:00:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"y0sher","name":"rehs0y","path":"/y0sher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2600603?s=80&v=4"},"commit":{"message":"Committee Based Consensus - Alan Fork (#421)\n\n* init wip\r\n\r\n* process consensus msg wip\r\n\r\n* Replace to \"attestation and sync committee\" tests. Duties tests\r\n\r\n* new share and operator\r\n\r\n* cluster validations\r\n\r\n* add methods to operator and share\r\n\r\n* validation with message ID\r\n\r\n* beacon types encoding\r\n\r\n* use operator instead of share\r\n\r\n* more changes to cluster runner\r\n\r\n* beacon_types.go + partial_sig\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* post consensus\r\n\r\n* use operators\r\n\r\n* shares\r\n\r\n* shares\r\n\r\n* more error fixes\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* more error fixes\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* fix one more conflict\r\n\r\n* fix more conflicts\r\n\r\n* resolved merge conflicts\r\n\r\n* comment out code in validator.go\r\n\r\n* remove operator id from signer\r\n\r\n* rename\r\n\r\n* more changes\r\n\r\n* more changes\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* runner roles\r\n\r\n* use operator ID in messages again\r\n\r\n* fix preconsensus justifications\r\n\r\n* cluster runner finds validators\r\n\r\n* use committee to verify partial sig\r\n\r\n* renaming, some helpers added, adopted to work with ssv.RoleCluster\r\n\r\n* added missing .QBFTController to access the share. Added primitive getValPubKeyByValIdx impl\r\n\r\n* Implemented valid test for runners/new_duty\r\n\r\n* added decided.go tests\r\n\r\n* rename cluster to committee\r\n\r\n* add GetOperatorSigner\r\n\r\n* fix runner signatures\r\n\r\n* add operator signer to validator registration\r\n\r\n* Decode CD for BeaconVote\r\n\r\n* delete legacy runners\r\n\r\n* rename files\r\n\r\n* fixed most of the /runners/newduty/ tests. #384\r\n\r\n* stop duties\r\n\r\n* stop duties\r\n\r\n* cutoff round\r\n\r\n* fix newduty/test.go\r\n\r\n* added changes to post_invalid_decided.go\r\n\r\n* fixed some compilation errors\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* value check\r\n\r\n* New message structures with RSA signature (#382)\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* Fix merge issues\r\n\r\n* use OPERATORID\r\n\r\nCo-authored-by: Matus Kysel \r\n\r\n* use struct map\r\n\r\n* delete unused getters\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\nCo-authored-by: Matus Kysel \r\n\r\n* add comments\r\n\r\n* no need for comment actually\r\n\r\n* validations for post consensus msg\r\n\r\n* work with beaconVote and consensus_data in seperate\r\n\r\n* delete unneccessary fields\r\n\r\n* fic errors\r\n\r\n* Fix StartDuty\r\n\r\n* fixed circular dependencies\r\n\r\n* partially fixed /ssv\r\n\r\n* fix testingutil\r\n\r\n* fix types\r\n\r\n* removed partial quorum & fixed qbft tests\r\n\r\n* fixed run_test.go\r\n\r\n* Fix msg processing spectest in ssv\r\n\r\n* fixed valcheck/test.go\r\n\r\n* Fix ssv runner tests\r\n\r\n* fixed lint errors\r\n\r\n* Implement panics in runners\r\n\r\n* Fix type tests; Delete old attestation and sync committee CD tests\r\n\r\n* Fix qbft test specs and roots\r\n\r\n* Generate JSON tests\r\n\r\n* Solve some errors in ssv tests (fix unknown validator check, add validator index field, fix cgo issue, fix nil pointer issues)\r\n\r\n* Add custom json marshal for runner state. Fix typo that broke tests\r\n\r\n* Fix typos, implementation and testing utils\r\n\r\n* Fix ssv test issues. Fix consensus data fields\r\n\r\n* Fix typo. Comment old attestation valcheck tests\r\n\r\n* Generate JSON tests. Removed unused functions for lint\r\n\r\n* minor runner fixes\r\n\r\n* Add custom encoding for start duty test (to deal with the duty interface)\r\n\r\n* fixed linter error + commented all non-working tests\r\n\r\n* Re-enable all tests and generate JSON\r\n\r\n* Refactor testing duties\r\n\r\n* Consensus not started and decided tests\r\n\r\n* Add tests: duplciate duty, finished, first height, not decided\r\n\r\n* Add tests: post (future, invalid, wrong) decided\r\n\r\n* Make validator receive Duty to start duty (and not BeaconDuty)\r\n\r\n* Make MsgProcessingSpecTest handle duty interface. Add valid consensus msg test\r\n\r\n* Fix CommitteeRunner type assertion\r\n\r\n* Fix sync committee post-consensus signed object\r\n\r\n* Add consensus valid decided test\r\n\r\n* Generate JSON tests\r\n\r\n* Add tests: valid decided 7, 10, 13\r\n\r\n* Fix expected root and object calculation. Test: post finish attestation\r\n\r\n* Add consensus tests: post finish, post decided, past msg and invalid signature\r\n\r\n* Add tests: invalid decided, future msg, future decided and future decided no instance\r\n\r\n* Generate JSON tests\r\n\r\n* Add post consensus tests: valid, unknown signer, unordered roots\r\n\r\n* Deprecate DomainCommittee. Add test: too many roots\r\n\r\n* Add post consensus tests: quorum and too few roots\r\n\r\n* Add post consensus tests: pre decided, post quorum, post finish, no running duty, nil msg\r\n\r\n* Add post consensus tests: invalid msg (slot, msg, operator sig), invalid then quorum, invalid quorum then valid quorum\r\n\r\n* Add post consensus tests: invalid (msg sig, root, value, beacon sig), incosistent signer, duplicate msg (diff root, diff root then quorum)\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint (unreachable code)\r\n\r\n* Add new post-consensus test: wrong validator index\r\n\r\n* rename bloxapp->ssvlabs\r\n\r\n* solve more conflicts\r\n\r\n* generate ssz\r\n\r\n* more bloxapp->ssvlabs\r\n\r\n* fix error\r\n\r\n* remove double line\r\n\r\n* fix test\r\n\r\n* generate jsons\r\n\r\n* fix qbft roots and generate jsons\r\n\r\n* add TODO\r\n\r\n* review comments rename sender\r\n\r\n* better comment\r\n\r\n* fix typo\r\n\r\n* change int to round\r\n\r\n* functions not in use\r\n\r\n* clusterID -> committee ID\r\n\r\n* mistmatch typo\r\n\r\n* rename in generate.go\r\n\r\n* commit suspicious files\r\n\r\n* PR comments\r\n\r\n* use encoder interface\r\n\r\n* Alan Domain (#394)\r\n\r\n* Add Alan Domain\r\n\r\n* add to mainnet forks\r\n\r\n* Fix value check (#396)\r\n\r\n* use ValidaotrPK\r\n\r\n* update value_check.go\r\n\r\n* fix error\r\n\r\n* fix tests\r\n\r\n* add attestation_slashable check to post_consensus\r\n\r\n* fix signature\r\n\r\n* fix committee_runner.go\r\n\r\n* add test stubs\r\n\r\n* fix all tests\r\n\r\n* nolint\r\n\r\n* new tests.json\r\n\r\n* fix slashable.go\r\n\r\n* make value_check fail if there's a majority of slashable attestations\r\n\r\n* add committeeIndex\r\n\r\n* check only in consensus data\r\n\r\n* delete unneeded test\r\n\r\n* fix -1\r\n\r\n* use same committeeIndex\r\n\r\n* Fix role mapping in MapDutyToRunnerRole (#397)\r\n\r\n* Fix role mapping in MapDutyToRunnerRole\r\n\r\n* Replace types.MapDutyToRunnerRole(data.Duty.Type) with data.Duty.RunnerRole()\r\n\r\n* Convert unit test for MapDutyToRunnerRole into duty spec tests\r\n\r\n* Cluster consensus tests (#391)\r\n\r\n* Define wrong beacon vote in testingutils\r\n\r\n* Add validator pubkeys in testingutils\r\n\r\n* Add tests: start duties (attestation, sync committee, mixed, non duties)\r\n\r\n* Add tests: maximum possible duties, valid CD, wrong CD, decided\r\n\r\n* Generate JSON tests\r\n\r\n* Add testing utils for 500 validators shares\r\n\r\n* Add testing util for committee runner with multiple shares\r\n\r\n* Allow PartialSignatureMessages to have at most 1000 signature messages\r\n\r\n* Add post consensus message for decided test with 500 validators\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint\r\n\r\n* Apply suggestions\r\n\r\n* Fix CommitteeMsgID to use ClusterID\r\n\r\n* Make MsgProcessingSpecTest use Committee object for CommitteeRunner instead of Validator\r\n\r\n* Add validation and nil check for Committee\r\n\r\n* Adjust tests errors. Add happy flow test\r\n\r\n* Generate JSON tests\r\n\r\n* Introduces spec test for Committee. Refactor msg and beacon root comparison\r\n\r\n* Refactor TestingShare\r\n\r\n* CommitteeRunnerWithShareMap and BaseCommittee testing utils\r\n\r\n* Add share to Committee\r\n\r\n* Add MultiTest for Committee\r\n\r\n* Change committee tests directory and spec type\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor test to encompass multiple number of validators in one test file\r\n\r\n* Fix committee runner: track submitted duties, validators for sync committee, beacon object for sync committee\r\n\r\n* Add test: partially invalid quorum (bad root) then valid quorum\r\n\r\n* Generate JSON tests\r\n\r\n* Change CommitteeRunner to check validity of reconstructed signature for all duties\r\n\r\n* Add test: partially invalid quorum (bad beacon sig) then valid quorum\r\n\r\n* Fix lint issue due to merge\r\n\r\n* Add test: Happy flow for the committee spec test\r\n\r\n* Fix CommitteeRunner: return BeaconObject based on validator and root\r\n\r\n* Add test: mixed committees\r\n\r\n* Testing util: add slot to post consensus sync committee message\r\n\r\n* Fix Committee: Track highest duty slot for a general duty type\r\n\r\n* Add test: past msg. Fix committee spec test\r\n\r\n* Change CommitteeRunner: Drop slot from submitted duties map and reset it upon new duty\r\n\r\n* Apply suggestions\r\n\r\n* Fix lint issues\r\n\r\n* Remove deprecated syncMsg.ValidatorIndex fix\r\n\r\n* Rename past msg test. Add stub tests\r\n\r\n* Test: CommitteeRunner - Proposal with consensus data (#399)\r\n\r\n* Refactor previous test names to use beacon vote\r\n\r\n* Add test: proposal with consensus data\r\n\r\n* Generate JSON tests\r\n\r\n* Tests: Past msg for committee (#403)\r\n\r\n* Add test: past msg for finished duty\r\n\r\n* Add test: past msg for duty that does not exist\r\n\r\n* Tests: BeaconVote encoding and value check tests (#402)\r\n\r\n* Add encoding test\r\n\r\n* Extend KeyManager testing util to store slashable data root per validator\r\n\r\n* Extend value check test to allow using slashable root per validator\r\n\r\n* Add tests: majority and minority slashable\r\n\r\n* Add duty value check test cases for the committee role\r\n\r\n* Apply suggestions\r\n\r\n* zip json (#407)\r\n\r\n* Tests: Cluster consensus - Several duties (#401)\r\n\r\n* Refactor existing committee tests to the new committeesingleduty package\r\n\r\n* Implement singleton pattern for TestingVerifier for speed-up\r\n\r\n* Extend \"compare output\" functionality to handle msgs asynchronicity\r\n\r\n* Use new network for each new committee runner; fix slot/height in some testingutil messages\r\n\r\n* Add test: sequenced decided duties\r\n\r\n* Add test: sequenced happy flow duties\r\n\r\n* Fix: avoid concurrent read and writes\r\n\r\n* Fix Committee: Add nil check to BeaconDuty\r\n\r\n* Add test: shuffled decided duties\r\n\r\n* Compare output messages in asynchornous order only for committee spec test (go back to original compare function)\r\n\r\n* Reduce size of tests.json by removing big tests\r\n\r\n* Add test: shuffled happy flow duties with the same validators\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor input, output and beacon root to testing utils\r\n\r\n* Refactor committee tests utils (input, output, beacon roots)\r\n\r\n* Add test: shuffled happy flow duties with different validators\r\n\r\n* Add test: failed duties then successful duties\r\n\r\n* Improve test comment\r\n\r\n* Enable test cases with 500 validators\r\n\r\n* Add cache to TestingKeyManager to speed up tests\r\n\r\n* add json.gz\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* up go-eth2-client (#408)\r\n\r\n* Added Committee Validation to Message (#395)\r\n\r\n* rename clusterID to committeeID\r\n\r\n* add missing validate message\r\n\r\n* fix bad copy\r\n\r\n* fix runner\r\n\r\n* fix base runner\r\n\r\n* fix getID for future decided no instance\r\n\r\n* generate jsons\r\n\r\n* fix lint\r\n\r\n* add test\r\n\r\n* generate jsons\r\n\r\n* mov wrong_message_id.go\r\n\r\n* add jsons\r\n\r\n* generate json again\r\n\r\n* non-empty messages\r\n\r\n* Revert \"rename clusterID to committeeID\"\r\n\r\nThis reverts commit 7272f3d60ef24c3a400a6864b9d2ec9708ca4fd4.\r\n\r\n* fix back to bad name\r\n\r\n* regenerate jsons\r\n\r\n* regenerate more jsons\r\n\r\n* Cluster consensus fixes (#390)\r\n\r\n* small fixes\r\n\r\n* fix errors\r\n\r\n* add comment\r\n\r\n* delete expected error from tests\r\n\r\n* add error and fix test\r\n\r\n* add expected error\r\n\r\n* add more expected error\r\n\r\n* fix committee_runner.go and tests\r\n\r\n* restore_pastmsg\r\n\r\n* Remove test cases with 500 validators (#409)\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* Validate empty duties (#410)\r\n\r\n* validate beacon duties are not empty\r\n\r\n* add no duty test\r\n\r\n* fix comment and don't use multispectest\r\n\r\n* Allow committee duties to run in parallel (#412)\r\n\r\n* delete filter\r\n\r\n* add slashing protection for attestations\r\n\r\n* working version of test\r\n\r\n* add comment\r\n\r\n* add to all tests\r\n\r\n* remove isStopped\r\n\r\n* fix ssz encoding\r\n\r\n* add jsons\r\n\r\n* key manager clone\r\n\r\n* remove expected error from test\r\n\r\n* fix shuffled haapy_flow_duties\r\n\r\n* generate jsons\r\n\r\n* properly generate, marshal and unmarshal json\r\n\r\n* Refactor TestingKeyManager to hold an immutable structure (TestingKeyStorage) that holds the keys\r\n\r\n* Remove double-check to solve race condition\r\n\r\n* Fix race condition in singleton double-check\r\n\r\n* Remove extra newline\r\n\r\n---------\r\n\r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\n\r\n* Fix DomainType in CommitteeRunner (#414)\r\n\r\n* Fix DomainType used in MsgID\r\n\r\n* Remove TODO text\r\n\r\n* Fix race condition in testing verifier\r\n\r\n* Use sync.Once for singleton constructor\r\n\r\n* Remove unnecessary lock usage in creation\r\n\r\n* Fix/api (#416)\r\n\r\n* It could be that roots will be missing.. we still want to proceed\r\n\r\n* make GetAttestations parameters optional\r\n\r\n* Fix runner state in MessageProcessingSpecTest (#413)\r\n\r\n* Fix runner's empty state in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Revert to use always test.Runner for state. Use test.Runner in CreateRunnerFn\r\n\r\n* Refactor BaseCommitteeWithRunnerSample to BaseCommitteeWithCreatorFieldsFromRunner\r\n\r\n* Fix quorum (#417)\r\n\r\n* change position of variable so name will make sense\r\n\r\n* new way to get quorum\r\n\r\n* return uint64 for ssz\r\n\r\n* make ssz\r\n\r\n* fix errors\r\n\r\n* add operator test and delete unneccessary share test\r\n\r\n* delete share tests\r\n\r\n* change all tests\r\n\r\n* generate jsons\r\n\r\n* fix test\r\n\r\n* remove quorum from runner\r\n\r\n* add threshold to newduty test\r\n\r\n* generate jsons\r\n\r\n* generate more jsons\r\n\r\n* fix json\r\n\r\n* fix proposal and prepare\r\n\r\n* fix roundchange and commit\r\n\r\n* fix rest of tests\r\n\r\n* fix types\r\n\r\n* more jsons\r\n\r\n* Rename structures (#420)\r\n\r\n* Rename Operator->CommitteeMember and CommitteeMember->Operator\r\n\r\n* Remove fixed post root strings\r\n\r\n* Generate JSON tests\r\n\r\n* Generate SSV JSON tests\r\n\r\n* Align structures' comments\r\n\r\n* Remove old comment\r\n\r\n* Rename qbft.Controller.Share to CommitteeMember\r\n\r\n* Rename qbft.State.Share to CommitteeMember\r\n\r\n* Generate JSON tests. Fix BaseRunner's Share's JSON mapping\r\n\r\n* remove TODOs\r\n\r\n* Remove needless constructor (#424)\r\n\r\n* refactor function\r\n\r\n* remove needless constructor\r\n\r\n* refactor signing\r\n\r\n* Alan - New message sizes (#398)\r\n\r\n* use domain from controller (#425)\r\n\r\n* BeaconNode: Submit multiple attestation duties (#428)\r\n\r\n* Update BN interface to submit multiple attestations\r\n\r\n* Adjust CommitteeRunner to submit multiple attestations at once\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions\r\n\r\n* Change Spec.MD (#426)\r\n\r\n* use committee mapping\r\n\r\n* remove all sync protocols\r\n\r\n* rename BeaconDuty -> ValidatorDuty\r\n\r\n* delete unused function\r\n\r\n* ConsensusData update (#431)\r\n\r\n* Change BeaconVote location\r\n\r\n* Rename ConsensusData to ValidatorConsensusData\r\n\r\n* Propagate ConsensusData renaming to ValidatorConsensusData\r\n\r\n* Propagate renaming to testingutils and maxmsgsize tests\r\n\r\n* Rename ConsensusDataTest to ValidatorConsensusDataTest\r\n\r\n* Propagate renaming to ssv tests\r\n\r\n* Rename directory from consensusdata to validatorconsensusdata\r\n\r\n* Generate JSON tests\r\n\r\n* rename argument in NewMsgID function\r\n\r\n* Move json utils to a testutils file (#432)\r\n\r\n* Move all qbft encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* Move all ssv encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* add comment\r\n\r\n* use encoder interface (#438)\r\n\r\n* Remove convenience functions (#435)\r\n\r\n* Remove CreateValidatorConsensusData convenience function\r\n\r\n* Remove GetOperatorIDs function from SignedSSVMessage\r\n\r\n* Remove SSVMessageToSignedSSVMessage convenience function\r\n\r\n* Remove PartialSignatureMessagesToSignedSSVMessage convenience function\r\n\r\n* Remove NewBeaconVote convenience function\r\n\r\n* Calculate CommitteeID when creating message IDs (#433)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generate files\r\n\r\n* Use PEM exclusively (#430)\r\n\r\n* use pem\r\n\r\n* generate jsons\r\n\r\n* update ssz size\r\n\r\n* update ssz size\r\n\r\n* Delete preconsensus justifications (#436)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generte files\r\n\r\n* delete preconsensus justifications\r\n\r\n* remove justifications from consensus_data.go\r\n\r\n* remove justifications from tests\r\n\r\n* one more fix\r\n\r\n* generate files\r\n\r\n* fix lint\r\n\r\n* fix message size\r\n\r\n* fix encoding\r\n\r\n* correct comment\r\n\r\n* generate files\r\n\r\n* fix size again\r\n\r\n* generate files\r\n\r\n* Update ssv/committee_runner.go\r\n\r\nCo-authored-by: rehs0y \r\n\r\n* Add ProcessingMessage structure to QBFT (#440)\r\n\r\n* Add ProcessingMessage structure\r\n\r\n* Use ProcessingMessage in MsgContainer and State\r\n\r\n* Use ProcessingMessage in qbft Instance and associated functions\r\n\r\n* Use ProcessingMessage in qbft controller\r\n\r\n* Update qbft tests with ProcessingMessage\r\n\r\n* Update ssv tests with ProcessingMessage\r\n\r\n* Use ProcessingMessage in p2p msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Use ProcessingMessage validation (unify validations)\r\n\r\n* Adjust test error string\r\n\r\n* Remove ProcessingMessage from ssz generation\r\n\r\n* Remove unnecessary decoding check\r\n\r\n* Use GetShare to avoid duplicated code (#443)\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Refactor PartialSigContainer.HasSigner: avoid duplication code and rename (#444)\r\n\r\n* Use GetSignature in HasSigner to avoid duplicated code\r\n\r\n* Rename HasSinger to HasSignature since we're looking for a signature\r\n\r\n* Fix RunnerRole argument name (#445)\r\n\r\n* Use naming in complex nested map (#446)\r\n\r\n* Use naming to improve readability of nested map\r\n\r\n* Add comment to better explain nested map\r\n\r\n* Apply suggestion\r\n\r\n* remove ECRecover\r\n\r\n* Complete SignedSSVMessage tests (#441)\r\n\r\n* Add SignedSSVMessage missing tests\r\n\r\n* Rename file according to test name\r\n\r\n* Add missing SignedSSVMessages tests in qbft\r\n\r\n* Add missing SignedSSVMessages tests in ssv postconsensus\r\n\r\n* Add missing SignedSSVMessages tests in ssv preconsensus\r\n\r\n* Generate JSON tests\r\n\r\n* Remove SignedSSVMessage tests from QBFT/messages\r\n\r\n* Add SignedSSVMessage validation tests in SSV/Runner/Consensus\r\n\r\n* Generate JSON tests\r\n\r\n* Generate JSON tests\r\n\r\n* CommitteeRunner: allow signatures of unknown validators (#442)\r\n\r\n* Do validator index validation, in psig messages, for validator duties only\r\n\r\n* Drop expected error (unknown validator index) for committee runners\r\n\r\n* Add quorum of invalid validator index test to trigger \"could not find validators for root\"\r\n\r\n* Allow unsyced validators set: use \"continue\" if a validator is not found for a root in CommitteeRunner\r\n\r\n* Test quorum for unknown validator index and a known one (tests the continue command)\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestion\r\n\r\n* Remove unknown validator edge case error\r\n\r\n* Remove deprecated error in tests. Make explicit the ValidatorIndex associated with the submitted beacon root.\r\n\r\n* Take RSA Signer and Verification out of configuration (#447)\r\n\r\n* make operator signer concrete type\r\n\r\n* add RSA verifier\r\n\r\n* move verify code\r\n\r\n* use signer and verifier\r\n\r\n* more fixes\r\n\r\n* fix tests\r\n\r\n* fix config\r\n\r\n* more fixes\r\n\r\n* fix qbft tool\r\n\r\n* sign correctly\r\n\r\n* generate-jsons\r\n\r\n* remove testing verifier\r\n\r\n* generate jsons\r\n\r\n* omit json\r\n\r\n* omit operator signer from json\r\n\r\n* fix jsons\r\n\r\n* Cleanup (#450)\r\n\r\n* remove empty files\r\n\r\n* remove unused crypto functions\r\n\r\n* move deposit data file to testutils\r\n\r\n* Remove leftover: HighestDutySlotMap in CommitteeAlias (#456)\r\n\r\n* Remove deprecated HighestDutySlotMap field from CommitteeAlias\r\n\r\n* Generate JSON tests\r\n\r\n* TestingKeyManager: Slashing by Slot (#449)\r\n\r\n* Use slots instead of data root to do slashing check\r\n\r\n* Adjust ValCheck SpecTest to use slashable slots\r\n\r\n* Adjust test cases\r\n\r\n* Add test case for a valid BeaconVote with a slot that is different than the slashable slot\r\n\r\n* Fix ValueCheck in testing runners (#457)\r\n\r\n* add share pubkey to proposer check in tests\r\n\r\n* add share pubkey to runner in testutils\r\n\r\n* fix test runner to use correct km in valcheck\r\n\r\n* Change baseRunnerWithShareMap to use ValueCheck with the same KeyManager\r\n\r\n* Remove extra unnecessary value check\r\n\r\n* Revert \"Remove extra unnecessary value check\"\r\n\r\nThis reverts commit 4027756764cdf27a64316c78b5f93dff0be29e50.\r\n\r\n* Drop extra redundant slashing check\r\n\r\n* Fix slashingRoot added for concurrent slashing decideds check\r\n\r\n* Align new error in test\r\n\r\n* Remove unused functions\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* remove comment\r\n\r\n* add comment\r\n\r\n* moved decided value to runner\r\n\r\n* Simplify comparison methods (#461)\r\n\r\n* Fix CompareSignedSSVMessageOutputMessages. Refactor and simplify comparison methods\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor to remove duplicated code\r\n\r\n* update ssz\r\n\r\n* make generate-ssz\r\n\r\n* use global cutoff time of 12\r\n\r\n---------\r\n\r\nCo-authored-by: Lior Rutenberg \r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\nCo-authored-by: Anton Korpusenko \r\nCo-authored-by: Matus Kysel \r\nCo-authored-by: Nikita Kryuchkov \r\nCo-authored-by: rehs0y ","shortMessageHtmlLink":"Committee Based Consensus - Alan Fork (#421)"}},{"before":"4411fffcbd421b7b9e9f96833d492c1de3d584be","after":"940c8a3322c7d1bb3f8f38a253ccf4426a7d1ece","ref":"refs/heads/feature/filter-committee-duty-shares","pushedAt":"2024-07-17T15:36:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"y0sher","name":"rehs0y","path":"/y0sher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2600603?s=80&v=4"},"commit":{"message":"Filter shares for slot `CommitteeRunner` based on validators that have duty for that slot.","shortMessageHtmlLink":"Filter shares for slot CommitteeRunner based on validators that hav…"}},{"before":null,"after":"4411fffcbd421b7b9e9f96833d492c1de3d584be","ref":"refs/heads/feature/filter-committee-duty-shares","pushedAt":"2024-07-17T15:30:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"y0sher","name":"rehs0y","path":"/y0sher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2600603?s=80&v=4"},"commit":{"message":"Filter shares for slot `CommitteeRunner` based on validators that have duty for that slot.","shortMessageHtmlLink":"Filter shares for slot CommitteeRunner based on validators that hav…"}},{"before":null,"after":"3e14afbc647a90539ea9b44337cb2771bcdc828f","ref":"refs/heads/feat/filter-committee-duty-shares","pushedAt":"2024-07-17T14:34:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"y0sher","name":"rehs0y","path":"/y0sher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2600603?s=80&v=4"},"commit":{"message":"Filter shares for slot `CommitteeRunner` based on validators that have duty for that slot.","shortMessageHtmlLink":"Filter shares for slot CommitteeRunner based on validators that hav…"}},{"before":null,"after":"7adef2ac3ea6529bed1c52a70469e365733e5ec2","ref":"refs/heads/tmp-160724-spec-align","pushedAt":"2024-07-16T12:15:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nkryuchkov","name":"Nikita Kryuchkov","path":"/nkryuchkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24493220?s=80&v=4"},"commit":{"message":"BeaconNode: Submit multiple attestation duties (#428)\n\n* Update BN interface to submit multiple attestations\r\n\r\n* Adjust CommitteeRunner to submit multiple attestations at once\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions","shortMessageHtmlLink":"BeaconNode: Submit multiple attestation duties (#428)"}},{"before":"89ac2ac87245aea1e5e3da298adfac802344d68b","after":"ccf408d1ecd87a4ab631885409d679f10c3fd080","ref":"refs/heads/main","pushedAt":"2024-07-14T20:16:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Committee Based Consensus - Alan Fork (#421)\n\n* init wip\r\n\r\n* process consensus msg wip\r\n\r\n* Replace to \"attestation and sync committee\" tests. Duties tests\r\n\r\n* new share and operator\r\n\r\n* cluster validations\r\n\r\n* add methods to operator and share\r\n\r\n* validation with message ID\r\n\r\n* beacon types encoding\r\n\r\n* use operator instead of share\r\n\r\n* more changes to cluster runner\r\n\r\n* beacon_types.go + partial_sig\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* post consensus\r\n\r\n* use operators\r\n\r\n* shares\r\n\r\n* shares\r\n\r\n* more error fixes\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* more error fixes\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* fix one more conflict\r\n\r\n* fix more conflicts\r\n\r\n* resolved merge conflicts\r\n\r\n* comment out code in validator.go\r\n\r\n* remove operator id from signer\r\n\r\n* rename\r\n\r\n* more changes\r\n\r\n* more changes\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* runner roles\r\n\r\n* use operator ID in messages again\r\n\r\n* fix preconsensus justifications\r\n\r\n* cluster runner finds validators\r\n\r\n* use committee to verify partial sig\r\n\r\n* renaming, some helpers added, adopted to work with ssv.RoleCluster\r\n\r\n* added missing .QBFTController to access the share. Added primitive getValPubKeyByValIdx impl\r\n\r\n* Implemented valid test for runners/new_duty\r\n\r\n* added decided.go tests\r\n\r\n* rename cluster to committee\r\n\r\n* add GetOperatorSigner\r\n\r\n* fix runner signatures\r\n\r\n* add operator signer to validator registration\r\n\r\n* Decode CD for BeaconVote\r\n\r\n* delete legacy runners\r\n\r\n* rename files\r\n\r\n* fixed most of the /runners/newduty/ tests. #384\r\n\r\n* stop duties\r\n\r\n* stop duties\r\n\r\n* cutoff round\r\n\r\n* fix newduty/test.go\r\n\r\n* added changes to post_invalid_decided.go\r\n\r\n* fixed some compilation errors\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* fix committee_runner broadcasting\r\n\r\n* value check\r\n\r\n* New message structures with RSA signature (#382)\r\n\r\n* Extend SignedSSVMessage to multiple signers and add FullData\r\n\r\n* Update tests and utils to multiple signers change\r\n\r\n* Deprecate SignedMessage and use SignedSSVMessage\r\n\r\n* Deprecate SignedMessage in testingutil\r\n\r\n* Deprecate SignedMessage in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate SignedPartialSignature to use PartialSignatureMessages\r\n\r\n* Deprecate SignedPartialSignature in testingutils\r\n\r\n* Deprecate SignedPartialSignature in tests\r\n\r\n* Fix lint issues. Add change to msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Apply renaming suggestions\r\n\r\n* Generate JSON tests\r\n\r\n* Deprecate ShareSigner, KeyManager and DKGSigner\r\n\r\n* Fix merge issues\r\n\r\n* use OPERATORID\r\n\r\nCo-authored-by: Matus Kysel \r\n\r\n* use struct map\r\n\r\n* delete unused getters\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\nCo-authored-by: Matus Kysel \r\n\r\n* add comments\r\n\r\n* no need for comment actually\r\n\r\n* validations for post consensus msg\r\n\r\n* work with beaconVote and consensus_data in seperate\r\n\r\n* delete unneccessary fields\r\n\r\n* fic errors\r\n\r\n* Fix StartDuty\r\n\r\n* fixed circular dependencies\r\n\r\n* partially fixed /ssv\r\n\r\n* fix testingutil\r\n\r\n* fix types\r\n\r\n* removed partial quorum & fixed qbft tests\r\n\r\n* fixed run_test.go\r\n\r\n* Fix msg processing spectest in ssv\r\n\r\n* fixed valcheck/test.go\r\n\r\n* Fix ssv runner tests\r\n\r\n* fixed lint errors\r\n\r\n* Implement panics in runners\r\n\r\n* Fix type tests; Delete old attestation and sync committee CD tests\r\n\r\n* Fix qbft test specs and roots\r\n\r\n* Generate JSON tests\r\n\r\n* Solve some errors in ssv tests (fix unknown validator check, add validator index field, fix cgo issue, fix nil pointer issues)\r\n\r\n* Add custom json marshal for runner state. Fix typo that broke tests\r\n\r\n* Fix typos, implementation and testing utils\r\n\r\n* Fix ssv test issues. Fix consensus data fields\r\n\r\n* Fix typo. Comment old attestation valcheck tests\r\n\r\n* Generate JSON tests. Removed unused functions for lint\r\n\r\n* minor runner fixes\r\n\r\n* Add custom encoding for start duty test (to deal with the duty interface)\r\n\r\n* fixed linter error + commented all non-working tests\r\n\r\n* Re-enable all tests and generate JSON\r\n\r\n* Refactor testing duties\r\n\r\n* Consensus not started and decided tests\r\n\r\n* Add tests: duplciate duty, finished, first height, not decided\r\n\r\n* Add tests: post (future, invalid, wrong) decided\r\n\r\n* Make validator receive Duty to start duty (and not BeaconDuty)\r\n\r\n* Make MsgProcessingSpecTest handle duty interface. Add valid consensus msg test\r\n\r\n* Fix CommitteeRunner type assertion\r\n\r\n* Fix sync committee post-consensus signed object\r\n\r\n* Add consensus valid decided test\r\n\r\n* Generate JSON tests\r\n\r\n* Add tests: valid decided 7, 10, 13\r\n\r\n* Fix expected root and object calculation. Test: post finish attestation\r\n\r\n* Add consensus tests: post finish, post decided, past msg and invalid signature\r\n\r\n* Add tests: invalid decided, future msg, future decided and future decided no instance\r\n\r\n* Generate JSON tests\r\n\r\n* Add post consensus tests: valid, unknown signer, unordered roots\r\n\r\n* Deprecate DomainCommittee. Add test: too many roots\r\n\r\n* Add post consensus tests: quorum and too few roots\r\n\r\n* Add post consensus tests: pre decided, post quorum, post finish, no running duty, nil msg\r\n\r\n* Add post consensus tests: invalid msg (slot, msg, operator sig), invalid then quorum, invalid quorum then valid quorum\r\n\r\n* Add post consensus tests: invalid (msg sig, root, value, beacon sig), incosistent signer, duplicate msg (diff root, diff root then quorum)\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint (unreachable code)\r\n\r\n* Add new post-consensus test: wrong validator index\r\n\r\n* rename bloxapp->ssvlabs\r\n\r\n* solve more conflicts\r\n\r\n* generate ssz\r\n\r\n* more bloxapp->ssvlabs\r\n\r\n* fix error\r\n\r\n* remove double line\r\n\r\n* fix test\r\n\r\n* generate jsons\r\n\r\n* fix qbft roots and generate jsons\r\n\r\n* add TODO\r\n\r\n* review comments rename sender\r\n\r\n* better comment\r\n\r\n* fix typo\r\n\r\n* change int to round\r\n\r\n* functions not in use\r\n\r\n* clusterID -> committee ID\r\n\r\n* mistmatch typo\r\n\r\n* rename in generate.go\r\n\r\n* commit suspicious files\r\n\r\n* PR comments\r\n\r\n* use encoder interface\r\n\r\n* Alan Domain (#394)\r\n\r\n* Add Alan Domain\r\n\r\n* add to mainnet forks\r\n\r\n* Fix value check (#396)\r\n\r\n* use ValidaotrPK\r\n\r\n* update value_check.go\r\n\r\n* fix error\r\n\r\n* fix tests\r\n\r\n* add attestation_slashable check to post_consensus\r\n\r\n* fix signature\r\n\r\n* fix committee_runner.go\r\n\r\n* add test stubs\r\n\r\n* fix all tests\r\n\r\n* nolint\r\n\r\n* new tests.json\r\n\r\n* fix slashable.go\r\n\r\n* make value_check fail if there's a majority of slashable attestations\r\n\r\n* add committeeIndex\r\n\r\n* check only in consensus data\r\n\r\n* delete unneeded test\r\n\r\n* fix -1\r\n\r\n* use same committeeIndex\r\n\r\n* Fix role mapping in MapDutyToRunnerRole (#397)\r\n\r\n* Fix role mapping in MapDutyToRunnerRole\r\n\r\n* Replace types.MapDutyToRunnerRole(data.Duty.Type) with data.Duty.RunnerRole()\r\n\r\n* Convert unit test for MapDutyToRunnerRole into duty spec tests\r\n\r\n* Cluster consensus tests (#391)\r\n\r\n* Define wrong beacon vote in testingutils\r\n\r\n* Add validator pubkeys in testingutils\r\n\r\n* Add tests: start duties (attestation, sync committee, mixed, non duties)\r\n\r\n* Add tests: maximum possible duties, valid CD, wrong CD, decided\r\n\r\n* Generate JSON tests\r\n\r\n* Add testing utils for 500 validators shares\r\n\r\n* Add testing util for committee runner with multiple shares\r\n\r\n* Allow PartialSignatureMessages to have at most 1000 signature messages\r\n\r\n* Add post consensus message for decided test with 500 validators\r\n\r\n* Generate JSON tests\r\n\r\n* Fix lint\r\n\r\n* Apply suggestions\r\n\r\n* Fix CommitteeMsgID to use ClusterID\r\n\r\n* Make MsgProcessingSpecTest use Committee object for CommitteeRunner instead of Validator\r\n\r\n* Add validation and nil check for Committee\r\n\r\n* Adjust tests errors. Add happy flow test\r\n\r\n* Generate JSON tests\r\n\r\n* Introduces spec test for Committee. Refactor msg and beacon root comparison\r\n\r\n* Refactor TestingShare\r\n\r\n* CommitteeRunnerWithShareMap and BaseCommittee testing utils\r\n\r\n* Add share to Committee\r\n\r\n* Add MultiTest for Committee\r\n\r\n* Change committee tests directory and spec type\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor test to encompass multiple number of validators in one test file\r\n\r\n* Fix committee runner: track submitted duties, validators for sync committee, beacon object for sync committee\r\n\r\n* Add test: partially invalid quorum (bad root) then valid quorum\r\n\r\n* Generate JSON tests\r\n\r\n* Change CommitteeRunner to check validity of reconstructed signature for all duties\r\n\r\n* Add test: partially invalid quorum (bad beacon sig) then valid quorum\r\n\r\n* Fix lint issue due to merge\r\n\r\n* Add test: Happy flow for the committee spec test\r\n\r\n* Fix CommitteeRunner: return BeaconObject based on validator and root\r\n\r\n* Add test: mixed committees\r\n\r\n* Testing util: add slot to post consensus sync committee message\r\n\r\n* Fix Committee: Track highest duty slot for a general duty type\r\n\r\n* Add test: past msg. Fix committee spec test\r\n\r\n* Change CommitteeRunner: Drop slot from submitted duties map and reset it upon new duty\r\n\r\n* Apply suggestions\r\n\r\n* Fix lint issues\r\n\r\n* Remove deprecated syncMsg.ValidatorIndex fix\r\n\r\n* Rename past msg test. Add stub tests\r\n\r\n* Test: CommitteeRunner - Proposal with consensus data (#399)\r\n\r\n* Refactor previous test names to use beacon vote\r\n\r\n* Add test: proposal with consensus data\r\n\r\n* Generate JSON tests\r\n\r\n* Tests: Past msg for committee (#403)\r\n\r\n* Add test: past msg for finished duty\r\n\r\n* Add test: past msg for duty that does not exist\r\n\r\n* Tests: BeaconVote encoding and value check tests (#402)\r\n\r\n* Add encoding test\r\n\r\n* Extend KeyManager testing util to store slashable data root per validator\r\n\r\n* Extend value check test to allow using slashable root per validator\r\n\r\n* Add tests: majority and minority slashable\r\n\r\n* Add duty value check test cases for the committee role\r\n\r\n* Apply suggestions\r\n\r\n* zip json (#407)\r\n\r\n* Tests: Cluster consensus - Several duties (#401)\r\n\r\n* Refactor existing committee tests to the new committeesingleduty package\r\n\r\n* Implement singleton pattern for TestingVerifier for speed-up\r\n\r\n* Extend \"compare output\" functionality to handle msgs asynchronicity\r\n\r\n* Use new network for each new committee runner; fix slot/height in some testingutil messages\r\n\r\n* Add test: sequenced decided duties\r\n\r\n* Add test: sequenced happy flow duties\r\n\r\n* Fix: avoid concurrent read and writes\r\n\r\n* Fix Committee: Add nil check to BeaconDuty\r\n\r\n* Add test: shuffled decided duties\r\n\r\n* Compare output messages in asynchornous order only for committee spec test (go back to original compare function)\r\n\r\n* Reduce size of tests.json by removing big tests\r\n\r\n* Add test: shuffled happy flow duties with the same validators\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor input, output and beacon root to testing utils\r\n\r\n* Refactor committee tests utils (input, output, beacon roots)\r\n\r\n* Add test: shuffled happy flow duties with different validators\r\n\r\n* Add test: failed duties then successful duties\r\n\r\n* Improve test comment\r\n\r\n* Enable test cases with 500 validators\r\n\r\n* Add cache to TestingKeyManager to speed up tests\r\n\r\n* add json.gz\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* up go-eth2-client (#408)\r\n\r\n* Added Committee Validation to Message (#395)\r\n\r\n* rename clusterID to committeeID\r\n\r\n* add missing validate message\r\n\r\n* fix bad copy\r\n\r\n* fix runner\r\n\r\n* fix base runner\r\n\r\n* fix getID for future decided no instance\r\n\r\n* generate jsons\r\n\r\n* fix lint\r\n\r\n* add test\r\n\r\n* generate jsons\r\n\r\n* mov wrong_message_id.go\r\n\r\n* add jsons\r\n\r\n* generate json again\r\n\r\n* non-empty messages\r\n\r\n* Revert \"rename clusterID to committeeID\"\r\n\r\nThis reverts commit 7272f3d60ef24c3a400a6864b9d2ec9708ca4fd4.\r\n\r\n* fix back to bad name\r\n\r\n* regenerate jsons\r\n\r\n* regenerate more jsons\r\n\r\n* Cluster consensus fixes (#390)\r\n\r\n* small fixes\r\n\r\n* fix errors\r\n\r\n* add comment\r\n\r\n* delete expected error from tests\r\n\r\n* add error and fix test\r\n\r\n* add expected error\r\n\r\n* add more expected error\r\n\r\n* fix committee_runner.go and tests\r\n\r\n* restore_pastmsg\r\n\r\n* Remove test cases with 500 validators (#409)\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* Validate empty duties (#410)\r\n\r\n* validate beacon duties are not empty\r\n\r\n* add no duty test\r\n\r\n* fix comment and don't use multispectest\r\n\r\n* Allow committee duties to run in parallel (#412)\r\n\r\n* delete filter\r\n\r\n* add slashing protection for attestations\r\n\r\n* working version of test\r\n\r\n* add comment\r\n\r\n* add to all tests\r\n\r\n* remove isStopped\r\n\r\n* fix ssz encoding\r\n\r\n* add jsons\r\n\r\n* key manager clone\r\n\r\n* remove expected error from test\r\n\r\n* fix shuffled haapy_flow_duties\r\n\r\n* generate jsons\r\n\r\n* properly generate, marshal and unmarshal json\r\n\r\n* Refactor TestingKeyManager to hold an immutable structure (TestingKeyStorage) that holds the keys\r\n\r\n* Remove double-check to solve race condition\r\n\r\n* Fix race condition in singleton double-check\r\n\r\n* Remove extra newline\r\n\r\n---------\r\n\r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\n\r\n* Fix DomainType in CommitteeRunner (#414)\r\n\r\n* Fix DomainType used in MsgID\r\n\r\n* Remove TODO text\r\n\r\n* Fix race condition in testing verifier\r\n\r\n* Use sync.Once for singleton constructor\r\n\r\n* Remove unnecessary lock usage in creation\r\n\r\n* Fix/api (#416)\r\n\r\n* It could be that roots will be missing.. we still want to proceed\r\n\r\n* make GetAttestations parameters optional\r\n\r\n* Fix runner state in MessageProcessingSpecTest (#413)\r\n\r\n* Fix runner's empty state in tests\r\n\r\n* Generate JSON tests\r\n\r\n* Revert to use always test.Runner for state. Use test.Runner in CreateRunnerFn\r\n\r\n* Refactor BaseCommitteeWithRunnerSample to BaseCommitteeWithCreatorFieldsFromRunner\r\n\r\n* Fix quorum (#417)\r\n\r\n* change position of variable so name will make sense\r\n\r\n* new way to get quorum\r\n\r\n* return uint64 for ssz\r\n\r\n* make ssz\r\n\r\n* fix errors\r\n\r\n* add operator test and delete unneccessary share test\r\n\r\n* delete share tests\r\n\r\n* change all tests\r\n\r\n* generate jsons\r\n\r\n* fix test\r\n\r\n* remove quorum from runner\r\n\r\n* add threshold to newduty test\r\n\r\n* generate jsons\r\n\r\n* generate more jsons\r\n\r\n* fix json\r\n\r\n* fix proposal and prepare\r\n\r\n* fix roundchange and commit\r\n\r\n* fix rest of tests\r\n\r\n* fix types\r\n\r\n* more jsons\r\n\r\n* Rename structures (#420)\r\n\r\n* Rename Operator->CommitteeMember and CommitteeMember->Operator\r\n\r\n* Remove fixed post root strings\r\n\r\n* Generate JSON tests\r\n\r\n* Generate SSV JSON tests\r\n\r\n* Align structures' comments\r\n\r\n* Remove old comment\r\n\r\n* Rename qbft.Controller.Share to CommitteeMember\r\n\r\n* Rename qbft.State.Share to CommitteeMember\r\n\r\n* Generate JSON tests. Fix BaseRunner's Share's JSON mapping\r\n\r\n* remove TODOs\r\n\r\n* Remove needless constructor (#424)\r\n\r\n* refactor function\r\n\r\n* remove needless constructor\r\n\r\n* refactor signing\r\n\r\n* Alan - New message sizes (#398)\r\n\r\n* use domain from controller (#425)\r\n\r\n* BeaconNode: Submit multiple attestation duties (#428)\r\n\r\n* Update BN interface to submit multiple attestations\r\n\r\n* Adjust CommitteeRunner to submit multiple attestations at once\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestions\r\n\r\n* Change Spec.MD (#426)\r\n\r\n* use committee mapping\r\n\r\n* remove all sync protocols\r\n\r\n* rename BeaconDuty -> ValidatorDuty\r\n\r\n* delete unused function\r\n\r\n* ConsensusData update (#431)\r\n\r\n* Change BeaconVote location\r\n\r\n* Rename ConsensusData to ValidatorConsensusData\r\n\r\n* Propagate ConsensusData renaming to ValidatorConsensusData\r\n\r\n* Propagate renaming to testingutils and maxmsgsize tests\r\n\r\n* Rename ConsensusDataTest to ValidatorConsensusDataTest\r\n\r\n* Propagate renaming to ssv tests\r\n\r\n* Rename directory from consensusdata to validatorconsensusdata\r\n\r\n* Generate JSON tests\r\n\r\n* rename argument in NewMsgID function\r\n\r\n* Move json utils to a testutils file (#432)\r\n\r\n* Move all qbft encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* Move all ssv encoding, decoding and root methods to a separate json_testutils file\r\n\r\n* add comment\r\n\r\n* use encoder interface (#438)\r\n\r\n* Remove convenience functions (#435)\r\n\r\n* Remove CreateValidatorConsensusData convenience function\r\n\r\n* Remove GetOperatorIDs function from SignedSSVMessage\r\n\r\n* Remove SSVMessageToSignedSSVMessage convenience function\r\n\r\n* Remove PartialSignatureMessagesToSignedSSVMessage convenience function\r\n\r\n* Remove NewBeaconVote convenience function\r\n\r\n* Calculate CommitteeID when creating message IDs (#433)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generate files\r\n\r\n* Use PEM exclusively (#430)\r\n\r\n* use pem\r\n\r\n* generate jsons\r\n\r\n* update ssz size\r\n\r\n* update ssz size\r\n\r\n* Delete preconsensus justifications (#436)\r\n\r\n* add DomainType to CommitteeMember\r\n\r\n* give domain value in tests and fix generate\r\n\r\n* generte files\r\n\r\n* delete preconsensus justifications\r\n\r\n* remove justifications from consensus_data.go\r\n\r\n* remove justifications from tests\r\n\r\n* one more fix\r\n\r\n* generate files\r\n\r\n* fix lint\r\n\r\n* fix message size\r\n\r\n* fix encoding\r\n\r\n* correct comment\r\n\r\n* generate files\r\n\r\n* fix size again\r\n\r\n* generate files\r\n\r\n* Update ssv/committee_runner.go\r\n\r\nCo-authored-by: rehs0y \r\n\r\n* Add ProcessingMessage structure to QBFT (#440)\r\n\r\n* Add ProcessingMessage structure\r\n\r\n* Use ProcessingMessage in MsgContainer and State\r\n\r\n* Use ProcessingMessage in qbft Instance and associated functions\r\n\r\n* Use ProcessingMessage in qbft controller\r\n\r\n* Update qbft tests with ProcessingMessage\r\n\r\n* Update ssv tests with ProcessingMessage\r\n\r\n* Use ProcessingMessage in p2p msg validation\r\n\r\n* Generate JSON tests\r\n\r\n* Use ProcessingMessage validation (unify validations)\r\n\r\n* Adjust test error string\r\n\r\n* Remove ProcessingMessage from ssz generation\r\n\r\n* Remove unnecessary decoding check\r\n\r\n* Use GetShare to avoid duplicated code (#443)\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Use GetShare to avoid duplicated code\r\n\r\n* Refactor PartialSigContainer.HasSigner: avoid duplication code and rename (#444)\r\n\r\n* Use GetSignature in HasSigner to avoid duplicated code\r\n\r\n* Rename HasSinger to HasSignature since we're looking for a signature\r\n\r\n* Fix RunnerRole argument name (#445)\r\n\r\n* Use naming in complex nested map (#446)\r\n\r\n* Use naming to improve readability of nested map\r\n\r\n* Add comment to better explain nested map\r\n\r\n* Apply suggestion\r\n\r\n* remove ECRecover\r\n\r\n* Complete SignedSSVMessage tests (#441)\r\n\r\n* Add SignedSSVMessage missing tests\r\n\r\n* Rename file according to test name\r\n\r\n* Add missing SignedSSVMessages tests in qbft\r\n\r\n* Add missing SignedSSVMessages tests in ssv postconsensus\r\n\r\n* Add missing SignedSSVMessages tests in ssv preconsensus\r\n\r\n* Generate JSON tests\r\n\r\n* Remove SignedSSVMessage tests from QBFT/messages\r\n\r\n* Add SignedSSVMessage validation tests in SSV/Runner/Consensus\r\n\r\n* Generate JSON tests\r\n\r\n* Generate JSON tests\r\n\r\n* CommitteeRunner: allow signatures of unknown validators (#442)\r\n\r\n* Do validator index validation, in psig messages, for validator duties only\r\n\r\n* Drop expected error (unknown validator index) for committee runners\r\n\r\n* Add quorum of invalid validator index test to trigger \"could not find validators for root\"\r\n\r\n* Allow unsyced validators set: use \"continue\" if a validator is not found for a root in CommitteeRunner\r\n\r\n* Test quorum for unknown validator index and a known one (tests the continue command)\r\n\r\n* Generate JSON tests\r\n\r\n* Apply suggestion\r\n\r\n* Remove unknown validator edge case error\r\n\r\n* Remove deprecated error in tests. Make explicit the ValidatorIndex associated with the submitted beacon root.\r\n\r\n* Take RSA Signer and Verification out of configuration (#447)\r\n\r\n* make operator signer concrete type\r\n\r\n* add RSA verifier\r\n\r\n* move verify code\r\n\r\n* use signer and verifier\r\n\r\n* more fixes\r\n\r\n* fix tests\r\n\r\n* fix config\r\n\r\n* more fixes\r\n\r\n* fix qbft tool\r\n\r\n* sign correctly\r\n\r\n* generate-jsons\r\n\r\n* remove testing verifier\r\n\r\n* generate jsons\r\n\r\n* omit json\r\n\r\n* omit operator signer from json\r\n\r\n* fix jsons\r\n\r\n* Cleanup (#450)\r\n\r\n* remove empty files\r\n\r\n* remove unused crypto functions\r\n\r\n* move deposit data file to testutils\r\n\r\n* Remove leftover: HighestDutySlotMap in CommitteeAlias (#456)\r\n\r\n* Remove deprecated HighestDutySlotMap field from CommitteeAlias\r\n\r\n* Generate JSON tests\r\n\r\n* TestingKeyManager: Slashing by Slot (#449)\r\n\r\n* Use slots instead of data root to do slashing check\r\n\r\n* Adjust ValCheck SpecTest to use slashable slots\r\n\r\n* Adjust test cases\r\n\r\n* Add test case for a valid BeaconVote with a slot that is different than the slashable slot\r\n\r\n* Fix ValueCheck in testing runners (#457)\r\n\r\n* add share pubkey to proposer check in tests\r\n\r\n* add share pubkey to runner in testutils\r\n\r\n* fix test runner to use correct km in valcheck\r\n\r\n* Change baseRunnerWithShareMap to use ValueCheck with the same KeyManager\r\n\r\n* Remove extra unnecessary value check\r\n\r\n* Revert \"Remove extra unnecessary value check\"\r\n\r\nThis reverts commit 4027756764cdf27a64316c78b5f93dff0be29e50.\r\n\r\n* Drop extra redundant slashing check\r\n\r\n* Fix slashingRoot added for concurrent slashing decideds check\r\n\r\n* Align new error in test\r\n\r\n* Remove unused functions\r\n\r\n---------\r\n\r\nCo-authored-by: Gal Rogozinski \r\n\r\n* remove comment\r\n\r\n* add comment\r\n\r\n* moved decided value to runner\r\n\r\n* Simplify comparison methods (#461)\r\n\r\n* Fix CompareSignedSSVMessageOutputMessages. Refactor and simplify comparison methods\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor to remove duplicated code\r\n\r\n* update ssz\r\n\r\n* make generate-ssz\r\n\r\n* use global cutoff time of 12\r\n\r\n---------\r\n\r\nCo-authored-by: Lior Rutenberg \r\nCo-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>\r\nCo-authored-by: Anton Korpusenko \r\nCo-authored-by: Matus Kysel \r\nCo-authored-by: Nikita Kryuchkov \r\nCo-authored-by: rehs0y ","shortMessageHtmlLink":"Committee Based Consensus - Alan Fork (#421)"}},{"before":"ea752996b65541c9094861825d4501842c667f3f","after":"0cbc8252c0fe9fc0b60528e6edea8d51cdea8bd3","ref":"refs/heads/alan","pushedAt":"2024-07-14T12:00:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"use global cutoff time of 12","shortMessageHtmlLink":"use global cutoff time of 12"}},{"before":"39f29b608ab8204f55165d9dbe13654be9e527d8","after":"ea752996b65541c9094861825d4501842c667f3f","ref":"refs/heads/alan","pushedAt":"2024-07-14T08:30:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"make generate-ssz","shortMessageHtmlLink":"make generate-ssz"}},{"before":"4f57870b2edf69bc5a292235ca4724f9d2184b23","after":null,"ref":"refs/heads/fix-msg-comparison","pushedAt":"2024-07-11T16:32:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"}},{"before":"a5c83723ed31f3bd4fba44e398fd6637edd47172","after":"39f29b608ab8204f55165d9dbe13654be9e527d8","ref":"refs/heads/alan","pushedAt":"2024-07-11T16:31:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GalRogozinski","name":"Gal Rogozinski","path":"/GalRogozinski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7954839?s=80&v=4"},"commit":{"message":"Simplify comparison methods (#461)\n\n* Fix CompareSignedSSVMessageOutputMessages. Refactor and simplify comparison methods\r\n\r\n* Generate JSON tests\r\n\r\n* Refactor to remove duplicated code","shortMessageHtmlLink":"Simplify comparison methods (#461)"}},{"before":"c8da0d142d2fb12f8a0ce3638b4904c9fde14865","after":"4f57870b2edf69bc5a292235ca4724f9d2184b23","ref":"refs/heads/fix-msg-comparison","pushedAt":"2024-07-11T15:54:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MatheusFranco99","name":null,"path":"/MatheusFranco99","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48058141?s=80&v=4"},"commit":{"message":"Refactor to remove duplicated code","shortMessageHtmlLink":"Refactor to remove duplicated code"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEmlM_dwA","startCursor":null,"endCursor":null}},"title":"Activity · ssvlabs/ssv-spec"}