Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge from upstream #31

Open
wants to merge 83 commits into
base: staging
Choose a base branch
from
Open

merge from upstream #31

wants to merge 83 commits into from

Conversation

aayush-rockx
Copy link

No description provided.

alonmuroch and others added 30 commits December 13, 2022 12:40
* WIP msg validation func

* QBFT spec tests pass, didn't remove legacy validation

* qbft tests pass + removed old validation

* passes tests + json
* validate msg round against state round

* allow future round change message to be processed

* fix tests

* change round for every consensus message and revert previous change

* fix tests
* align duty struct + beacon interface

* sync committee subnet id

* sync committee spec vars

* align beacon intefrace

* pass tests

* remove json ignore

* aggregate panic and bug fixes

* align interface

* updated roots

* post invalid decided fix

* post consensus validaiton fix

* fix tests

* json update
* WIP

* finished

* json tests + lint

* fix + json
* spec tests pass

* added blidned block flag in runner

* testing beacon block transactions

* blinded block integration

* all tests pass

* WIP blinded block tests

* NowTestNetwork genesis time fix

* refactor beacon test network

* WIP validator registration runnner

* WIP validator registration tests

* validator registration pre consensus tests

* validator registration runner consensus and post consensus tests

* compiles

* added missing tests

* support decided blinded/ regular dynamically

* blinded block pre consensus tests

* blinded block consensus tests

* blinded block post consensus tests

* rebase fix

* mod tidy

* change domain application value + tests

* consensus data validation spec test

* post consensus spec tests pass

* new duty, consensus, sync committee, proposer and pre consensus spec test aligment

* all ssv tests pass + json

* qbft tests pass + json

* lint
* share ssz

* ssv message ssz

- change domain type to [4]byte
- change message id to [58]byte

* SSZ encoding generate

- Duty
- ConsensusData
- other adjustments

* QBFT ssz

- signed message + message ssz encoding
- full data on signed message, root in message
- remove stage specific data for a more stream lined message struct

* add pre consensus justifications to consensus data

* fix previous

* change root to [32]byte{}

* spec test stubs

* building WIP

* qbft commit tests build

* decided spec tests compile

* added slot to partial signatures

* Make tests compilable (ssvlabs#156)

* Make tests compilable

* Simplify futuremsg.Cleanup

* Fix operator ID in `proposal.FutureRound`

* Fix issues in roundchange.HappyFlow

* Fix issue `ks.Shares[2], types.OperatorID(2), 3` -> `ks.Shares[3], types.OperatorID(3), 2`

* Fix WrongProposer

* Fix roundchange.AfterProposal

* Fix roundchange.RoundChangePartialQuorum

* Fix CommitDataInvalid

* Fix prepare.UnknownSigner

* Fix DuplicateMsgQuorumPreparedRCFirst

* Fix proposal.FutureRound

* Fix proposal.FutureRoundPrevNotPrepared

* Fix issues in generators of testing messages

* Use DecidingMsgsForHeight

* Set FullData for prepare multi signer message

* Fix InputValue and DecidedVal in qbft controller spectests

* Revert "Fix InputValue and DecidedVal in qbft controller spectests"

This reverts commit 25f1531.

* Fix DecidedVal in controller/decided tests

* Fix DecidedVal in NoInstanceRunning and LateCommit

* Fix proposal message in CurrentInstancePastRound

* Fix proposal message and decided value in latemsg.LateCommitPastRound

* Fix signers in proposal.FutureRoundPrevNotPrepared

* Set FullData when creating testing round change message

* Change start value for qbft base instance to TestingQBFTFullData

* Adjust round change message in roundchange.HappyFlow

* Fix output message in roundchange.F1Speedup

* Fix round change messages in roundchange.F1SpeedupPrevPrepared and roundchange.F1SpeedupPrevPrepared

* Fix issues in sanity futuremsg tests

* Fix signers in startinstance.PostFutureDecided

* remove full data on marshaling justifications + tests

* fix test import cycle

* fix linting

* partial sig slot validation + tests

* ssv full happy flow spec passes

* Remove irrelevant tests

* Remove irrelevant tests [2]

* Fix futuremsg.InvalidMsg

* Fix processmsg.InvalidIdentifier

* Remove irrelevant tests [3]

* Remove irrelevant tests [4]

* Fix round change message validation for MsgSpecTest type

* Remove messages.RoundChangeDataInvalidPreparedValue

* Fix issues with DecidedVal and lack of RC justifications in latemsg tests

* Fix some startinstance and processmsg tests

* Add a TODO to check InvalidRoundChangeJustificationPrepared test

* validRoundChange->validRoundChangeForData

---------

Co-authored-by: Alon Muroch <[email protected]>
Co-authored-by: aaron <[email protected]>
Co-authored-by: aaron-blox <[email protected]>

* Fix failing tests

* Make tests compilable

* Simplify futuremsg.Cleanup

* Fix operator ID in `proposal.FutureRound`

* Fix issues in roundchange.HappyFlow

* Fix issue `ks.Shares[2], types.OperatorID(2), 3` -> `ks.Shares[3], types.OperatorID(3), 2`

* Fix WrongProposer

* Fix roundchange.AfterProposal

* Fix roundchange.RoundChangePartialQuorum

* Fix CommitDataInvalid

* Fix prepare.UnknownSigner

* Fix DuplicateMsgQuorumPreparedRCFirst

* Fix proposal.FutureRound

* Fix proposal.FutureRoundPrevNotPrepared

* Add a comment

* Fix tests.HappyFlow

* Fix tests.SevenOperators

* Fix tests.TenOperators

* Fix tests.ThirteenOperators

* Fix prepare.HappyFlow

* Fix commit.HappyFlow

* Fix issues in generators of testing messages

* sanity tests

* WIP spec testsd

* WIP base sanity tests

* Use DecidingMsgsForHeight

* Set FullData for prepare multi signer message

* Fix InputValue and DecidedVal in qbft controller spectests

* Fix proposal.CurrentRoundPrevPrepared()

* Fix proposal.PastRoundProposalPrevPrepared()

* Revert "Fix InputValue and DecidedVal in qbft controller spectests"

This reverts commit 25f1531.

* Fix DecidedVal in controller/decided tests

* Fix decided.HasQuorum()

* Fix decided.LateDecidedBiggerQuorum(), decided.LateDecidedSmallerQuorum(), decided.DuplicateMsg()

* Fix DecidedVal in NoInstanceRunning and LateCommit

* Fix proposal message in CurrentInstancePastRound

* Fix decided.CurrentInstancePastRound

* Fix decided.CurrentInstanceFutureRound

* Fix proposal message and decided value in latemsg.LateCommitPastRound

* Fix startinstance.EmptyValue, startinstance.NilValue, startinstance.Valid

* Fix processmsg.NoInstanceRunning()

* Fix latemsg.LateCommit()

* Fix latemsg.LateCommitPastRound()

* Fix signers in proposal.FutureRoundPrevNotPrepared

* Fix:
	proposal.FirstRoundJustification(),
	proposal.FutureRoundPrevNotPrepared(),
	proposal.FutureRound(),
	proposal.NoRCJustification(),
	proposal.WrongProposer(),
	proposal.WrongSignature(),

* Set FullData when creating testing round change message

* Fix proposal: CurrentRoundPrevPrepared, FutureRound, FutureRoundPrevNotPrepared, PreparedPreviouslyJustification

* Update roots for controller tests

* Remove PreparedPreviouslyJustificationDebug

* Change start value for qbft base instance to TestingQBFTFullData

* Adjust round change message in roundchange.HappyFlow

* Fix roundchange.HappyFlow

* Fix output message in roundchange.F1Speedup

* Fix round change messages in roundchange.F1SpeedupPrevPrepared and roundchange.F1SpeedupPrevPrepared

* Fix roots in remaining sanity round change tests

* Fix issues in sanity futuremsg tests

* Fix remaining sanity futuremsg tests

* Add proposal.InvalidFullData test

* Fix root in proposal.CurrentRoundPrevNotPrepared

* Fix checks if H(data) != root

* Fix signers in startinstance.PostFutureDecided

* remove full data on marshaling justifications + tests

* fix test import cycle

* fix linting

* partial sig slot validation + tests

* ssv full happy flow spec passes

* Remove irrelevant tests

* Remove irrelevant tests [2]

* Fix futuremsg.InvalidMsg

* Fix processmsg.InvalidIdentifier

* Remove irrelevant tests [3]

* Remove irrelevant tests [4]

* Fix round change message validation for MsgSpecTest type

* Remove messages.RoundChangeDataInvalidPreparedValue

* Fix issues with DecidedVal and lack of RC justifications in latemsg tests

* Fix some startinstance and processmsg tests

* Add a TODO to check InvalidRoundChangeJustificationPrepared test

* validRoundChange->validRoundChangeForData

* Fix roots of some tests; fix missing justification in some proposal tests; add FullData to `TestingPrepareMessageWithParams`

* Fix issues after merging

* Uncomment sanity tests

* Remove duplicated sanity tests

* Fix a comment in proposal.InvalidFullData

* Create helper functions receiving identifiers for all futuremsg tests

* Remove duplicated tests

* Fix root for NotPreparedPreviouslyJustification

---------

Co-authored-by: Alon Muroch <[email protected]>
Co-authored-by: aaron <[email protected]>
Co-authored-by: aaron-blox <[email protected]>

* ssz: fix ssv sanity tests (ssvlabs#162)

* Make tests compilable

* Simplify futuremsg.Cleanup

* Fix operator ID in `proposal.FutureRound`

* Fix issues in roundchange.HappyFlow

* Fix issue `ks.Shares[2], types.OperatorID(2), 3` -> `ks.Shares[3], types.OperatorID(3), 2`

* Fix WrongProposer

* Fix roundchange.AfterProposal

* Fix roundchange.RoundChangePartialQuorum

* Fix CommitDataInvalid

* Fix prepare.UnknownSigner

* Fix DuplicateMsgQuorumPreparedRCFirst

* Fix proposal.FutureRound

* Fix proposal.FutureRoundPrevNotPrepared

* Add a comment

* Fix tests.HappyFlow

* Fix tests.SevenOperators

* Fix tests.TenOperators

* Fix tests.ThirteenOperators

* Fix prepare.HappyFlow

* Fix commit.HappyFlow

* Fix issues in generators of testing messages

* sanity tests

* WIP spec testsd

* WIP base sanity tests

* Use DecidingMsgsForHeight

* Set FullData for prepare multi signer message

* Fix InputValue and DecidedVal in qbft controller spectests

* Fix proposal.CurrentRoundPrevPrepared()

* Fix proposal.PastRoundProposalPrevPrepared()

* Revert "Fix InputValue and DecidedVal in qbft controller spectests"

This reverts commit 25f1531.

* Fix DecidedVal in controller/decided tests

* Fix decided.HasQuorum()

* Fix decided.LateDecidedBiggerQuorum(), decided.LateDecidedSmallerQuorum(), decided.DuplicateMsg()

* Fix DecidedVal in NoInstanceRunning and LateCommit

* Fix proposal message in CurrentInstancePastRound

* Fix decided.CurrentInstancePastRound

* Fix decided.CurrentInstanceFutureRound

* Fix proposal message and decided value in latemsg.LateCommitPastRound

* Fix startinstance.EmptyValue, startinstance.NilValue, startinstance.Valid

* Fix processmsg.NoInstanceRunning()

* Fix latemsg.LateCommit()

* Fix latemsg.LateCommitPastRound()

* Fix signers in proposal.FutureRoundPrevNotPrepared

* Fix:
	proposal.FirstRoundJustification(),
	proposal.FutureRoundPrevNotPrepared(),
	proposal.FutureRound(),
	proposal.NoRCJustification(),
	proposal.WrongProposer(),
	proposal.WrongSignature(),

* Set FullData when creating testing round change message

* Fix proposal: CurrentRoundPrevPrepared, FutureRound, FutureRoundPrevNotPrepared, PreparedPreviouslyJustification

* Update roots for controller tests

* Remove PreparedPreviouslyJustificationDebug

* Change start value for qbft base instance to TestingQBFTFullData

* Adjust round change message in roundchange.HappyFlow

* Fix roundchange.HappyFlow

* Fix output message in roundchange.F1Speedup

* Fix round change messages in roundchange.F1SpeedupPrevPrepared and roundchange.F1SpeedupPrevPrepared

* Fix roots in remaining sanity round change tests

* Fix issues in sanity futuremsg tests

* Fix remaining sanity futuremsg tests

* Add proposal.InvalidFullData test

* Fix root in proposal.CurrentRoundPrevNotPrepared

* Fix checks if H(data) != root

* Fix signers in startinstance.PostFutureDecided

* remove full data on marshaling justifications + tests

* fix test import cycle

* fix linting

* partial sig slot validation + tests

* ssv full happy flow spec passes

* Remove irrelevant tests

* Remove irrelevant tests [2]

* Fix futuremsg.InvalidMsg

* Fix processmsg.InvalidIdentifier

* Remove irrelevant tests [3]

* Remove irrelevant tests [4]

* Fix round change message validation for MsgSpecTest type

* Remove messages.RoundChangeDataInvalidPreparedValue

* Fix issues with DecidedVal and lack of RC justifications in latemsg tests

* Fix some startinstance and processmsg tests

* Add a TODO to check InvalidRoundChangeJustificationPrepared test

* validRoundChange->validRoundChangeForData

* Fix roots of some tests; fix missing justification in some proposal tests; add FullData to `TestingPrepareMessageWithParams`

* Fix issues after merging

* Uncomment sanity tests

* Remove duplicated sanity tests

* Fix a comment in proposal.InvalidFullData

* Create helper functions receiving identifiers for all futuremsg tests

* Remove duplicated tests

* Fix root for NotPreparedPreviouslyJustification

* Fix timeout tests

* Fix justification validation for MsgSpecTest

* Simplify identifier usage in testingutils

* Delete messages.RoundChangeDataInvalidPreparedRound()

* Remove messages.SignedMsgSigTooLong and messages.SignedMsgSigTooShort

* Rename testing variables

* Fix generating proposal message with different root and proposal.DuplicateMsgDifferentValue

* Mark tests that have issues other that different instance roots with TODOs

* Remove outdated TODO from startinstance.PostFutureDecided

* Update TODO comments

* Comment out accidentally uncommented tests

* Fix proposal.PreparedPreviouslyNoPrepareJustificationQuorum

* Fix proposal.InvalidPrepareJustificationValue

* Fix proposal.InvalidPrepareJustificationRound

* Delete commit.InvalidCommitData and prepare.InvalidPrepareData

* Mark decided.CurrentInstancePastRound and decided.CurrentInstanceFutureRound as fixed

* Fix decided.CurrentInstance

* Delete roundchange.JustificationInvalidPrepareData

* Delete roundchange.JustificationWrongValue

* Fix decided.CurrentInstance root

* Remove roundchange.InvalidRoundChangeData

* Fix issues in remaining round change tests

* Fix decided.InvalidValCheckData

* Mark decided.InvalidValCheckData as fixed

* Mark recently fixed round change tests as fixed

* Delete proposal.JustificationsValueNotJustified

* Fix ssv sanity tests

* Remove debug print

* Fix DecidingMsgsForHeight

* Fix returned error if no running duty on consensus message processing

* Fix consensus.PostFinish test

* Delete messages.RoundChangeDataInvalidJustifications

* Attempt to fix consensus.PostFinish

* Revert roundchange.JustificationWrongValue removal

* Revert roundchange.JustificationWrongValue removal in all_tests.go

* Fix roundchange.JustificationWrongValue

* Comment out roundchange.JustificationWrongValue

* Fix consensus.NoRunningDuty

---------

Co-authored-by: Alon Muroch <[email protected]>
Co-authored-by: aaron <[email protected]>
Co-authored-by: aaron-blox <[email protected]>

* ssz: fix remaining qbft and ssv tests (ssvlabs#164)

* Make tests compilable

* Simplify futuremsg.Cleanup

* Fix operator ID in `proposal.FutureRound`

* Fix issues in roundchange.HappyFlow

* Fix issue `ks.Shares[2], types.OperatorID(2), 3` -> `ks.Shares[3], types.OperatorID(3), 2`

* Fix WrongProposer

* Fix roundchange.AfterProposal

* Fix roundchange.RoundChangePartialQuorum

* Fix CommitDataInvalid

* Fix prepare.UnknownSigner

* Fix DuplicateMsgQuorumPreparedRCFirst

* Fix proposal.FutureRound

* Fix proposal.FutureRoundPrevNotPrepared

* Add a comment

* Fix tests.HappyFlow

* Fix tests.SevenOperators

* Fix tests.TenOperators

* Fix tests.ThirteenOperators

* Fix prepare.HappyFlow

* Fix commit.HappyFlow

* Fix issues in generators of testing messages

* sanity tests

* WIP spec testsd

* WIP base sanity tests

* Use DecidingMsgsForHeight

* Set FullData for prepare multi signer message

* Fix InputValue and DecidedVal in qbft controller spectests

* Fix proposal.CurrentRoundPrevPrepared()

* Fix proposal.PastRoundProposalPrevPrepared()

* Revert "Fix InputValue and DecidedVal in qbft controller spectests"

This reverts commit 25f1531.

* Fix DecidedVal in controller/decided tests

* Fix decided.HasQuorum()

* Fix decided.LateDecidedBiggerQuorum(), decided.LateDecidedSmallerQuorum(), decided.DuplicateMsg()

* Fix DecidedVal in NoInstanceRunning and LateCommit

* Fix proposal message in CurrentInstancePastRound

* Fix decided.CurrentInstancePastRound

* Fix decided.CurrentInstanceFutureRound

* Fix proposal message and decided value in latemsg.LateCommitPastRound

* Fix startinstance.EmptyValue, startinstance.NilValue, startinstance.Valid

* Fix processmsg.NoInstanceRunning()

* Fix latemsg.LateCommit()

* Fix latemsg.LateCommitPastRound()

* Fix signers in proposal.FutureRoundPrevNotPrepared

* Fix:
	proposal.FirstRoundJustification(),
	proposal.FutureRoundPrevNotPrepared(),
	proposal.FutureRound(),
	proposal.NoRCJustification(),
	proposal.WrongProposer(),
	proposal.WrongSignature(),

* Set FullData when creating testing round change message

* Fix proposal: CurrentRoundPrevPrepared, FutureRound, FutureRoundPrevNotPrepared, PreparedPreviouslyJustification

* Update roots for controller tests

* Remove PreparedPreviouslyJustificationDebug

* Change start value for qbft base instance to TestingQBFTFullData

* Adjust round change message in roundchange.HappyFlow

* Fix roundchange.HappyFlow

* Fix output message in roundchange.F1Speedup

* Fix round change messages in roundchange.F1SpeedupPrevPrepared and roundchange.F1SpeedupPrevPrepared

* Fix roots in remaining sanity round change tests

* Fix issues in sanity futuremsg tests

* Fix remaining sanity futuremsg tests

* Add proposal.InvalidFullData test

* Fix root in proposal.CurrentRoundPrevNotPrepared

* Fix checks if H(data) != root

* Fix signers in startinstance.PostFutureDecided

* remove full data on marshaling justifications + tests

* fix test import cycle

* fix linting

* partial sig slot validation + tests

* ssv full happy flow spec passes

* Remove irrelevant tests

* Remove irrelevant tests [2]

* Fix futuremsg.InvalidMsg

* Fix processmsg.InvalidIdentifier

* Remove irrelevant tests [3]

* Remove irrelevant tests [4]

* Fix round change message validation for MsgSpecTest type

* Remove messages.RoundChangeDataInvalidPreparedValue

* Fix issues with DecidedVal and lack of RC justifications in latemsg tests

* Fix some startinstance and processmsg tests

* Add a TODO to check InvalidRoundChangeJustificationPrepared test

* validRoundChange->validRoundChangeForData

* Fix roots of some tests; fix missing justification in some proposal tests; add FullData to `TestingPrepareMessageWithParams`

* Fix issues after merging

* Uncomment sanity tests

* Remove duplicated sanity tests

* Fix a comment in proposal.InvalidFullData

* Create helper functions receiving identifiers for all futuremsg tests

* Remove duplicated tests

* Fix root for NotPreparedPreviouslyJustification

* Fix timeout tests

* Fix justification validation for MsgSpecTest

* Simplify identifier usage in testingutils

* Delete messages.RoundChangeDataInvalidPreparedRound()

* Remove messages.SignedMsgSigTooLong and messages.SignedMsgSigTooShort

* Rename testing variables

* Fix generating proposal message with different root and proposal.DuplicateMsgDifferentValue

* Mark tests that have issues other that different instance roots with TODOs

* Remove outdated TODO from startinstance.PostFutureDecided

* Update TODO comments

* Comment out accidentally uncommented tests

* Fix proposal.PreparedPreviouslyNoPrepareJustificationQuorum

* Fix proposal.InvalidPrepareJustificationValue

* Fix proposal.InvalidPrepareJustificationRound

* Delete commit.InvalidCommitData and prepare.InvalidPrepareData

* Mark decided.CurrentInstancePastRound and decided.CurrentInstanceFutureRound as fixed

* Fix decided.CurrentInstance

* Delete roundchange.JustificationInvalidPrepareData

* Delete roundchange.JustificationWrongValue

* Fix decided.CurrentInstance root

* Remove roundchange.InvalidRoundChangeData

* Fix issues in remaining round change tests

* Fix decided.InvalidValCheckData

* Mark decided.InvalidValCheckData as fixed

* Mark recently fixed round change tests as fixed

* Delete proposal.JustificationsValueNotJustified

* Fix ssv sanity tests

* Remove debug print

* Fix DecidingMsgsForHeight

* Fix returned error if no running duty on consensus message processing

* Fix consensus.PostFinish test

* Fix ssv tests

* Fix qbft tests

* Fix preconsensus.InvalidMessageSlot test name

* Generate JSONs

* Fix consensus.NoRunningDuty

* Fix tests in message_container_test.go

* Generate JSONs

* Fix running consensus.PostFinish from TestJSON

* Generate JSONs

* Fix consensus.PostFinish

* Generate JSONs

---------

Co-authored-by: Alon Muroch <[email protected]>
Co-authored-by: aaron <[email protected]>
Co-authored-by: aaron-blox <[email protected]>

* types encoding tests + json (ssvlabs#169)

* increase test timeout to 25min

---------

Co-authored-by: Alon Muroch <[email protected]>
Co-authored-by: Nikita Kryuchkov <[email protected]>
Co-authored-by: aaron <[email protected]>
Co-authored-by: aaron-blox <[email protected]>
…ssvlabs#167)

* fix: missing `Slot` in `PartialSignatureMessages` construction

* test for correct slots in `MsgProcessingSpecTest`
* WIP comparable state spec tests

* qbft happy flow with state

* WIP ssv comparison works

* comparables (to be deleted_)

* removed custom diff

* revert changes to pass tests

* helper functions for ssv state comparison

* happy flow sync committee state comparison

* wip happy flow sync committee state comparison

* state comparison struct + separating state comparison to files with suffix "_sc"

* qbft state comparison refactor

* all ssv spec tests
* fixed github pipline + json testing

* fix prev

* fix create json test

* lint fix

* fix prev
* SSV spec tests speed up

* qbft spec tests speed fix

* ssv json spec test sparallel

* revert back to single make test
* message max size fixes + calculation

* regenerate ssz

* increase max SSVMessage data size to accommodate qbtf signed message

* fixes + explanations

* regenerate ssz and json specs (recerted qbft message size to not break)
* copied all changes

* lint fix

* merge fixes

* fixed merge first height future message

* fix no running instance test

* spec test naming issue resolved

* lint fix

* TMP - faster ssv tests

* fixes

* all tests pass + json

* last few fixes

* move isFutureMessage outside of func

* Update qbft/spectest/tests/controller/futuremsg/first_height_not_started.go

Co-authored-by: Gal Rogozinski <[email protected]>

* Update qbft/spectest/tests/controller/futuremsg/first_height_started.go

Co-authored-by: Gal Rogozinski <[email protected]>

* remvoe cosnensus/no_running_consensus_instance test

In the past it tested cases in which a consensus message is received but no running qbft instance is present.
After a few changes in the code (over the past few months) in such cases it will either be a future message or carrying a pre-consensus in which case a qbft instance will be started.

Essentially it doesn't test anything anymore

* bundled fixes from review

* highest decided comparison readability

* renaming func

* invalid data func comment

* merge fixes

* fix expected error

* Update ssv/spectest/tests/runner/pre_consensus_justifications/invalid_msg_type.go

* Update ssv/spectest/tests/runner/pre_consensus_justifications/invalid_slot.go

* fix comment of auto suggestion

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* Fix decided.InvalidFullData and proposal.InvalidValueCheck

* Implement messages.MarshalJustifications, messages.MarshalJustificationsWithFullData, messages.UnmarshalJustifications

* Fix MarshalJustifications and MarshalJustificationsWithFullData

* Fix code review requests

* resolve merge conflicts

* make generate-jsons

---------

Co-authored-by: olegshmuelov <[email protected]>
Co-authored-by: Gal Rogozinski <[email protected]>
* move rootgetter interface to types package

* use existing interface & move to independent file

* get rid of RootRegister map global state

* use Root interface everywhere possible
* Implementation

* upgrade go-eth2-client v0.15.8

* proposerCalls interface change

* versioned block spec tests

* generate test json

* include all versioned block spec tests

* remove unused fields

* use block version instead of hardcoded

* keep only Bellatrix block version
* ssv comparable state

* use qbft state comparison struct

* rename import pkg name

* add sc to controller spectest

* add sc to controller sync spec test

* Pr/215 ssv comparable state (#2)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* wrong message type check

* generate json
olegshmuelov and others added 29 commits June 13, 2023 10:51
* implementation

* tmp

* remove unused

* use latest go-eth2-client version

* use latest go-eth2-client version

* return block data as versioned & hashroot

* improve log

* upgrade go-eth2-client v0.15.8

* proposerCalls interface change

* versioned block spec tests

* generate test json

* include all versioned block spec tests

* remove unused fields

* use block version instead of hardcoded

* keep only bellatrix block version

* mention github issue

* SSV comparable state ssvlabs#215

* use proper package names

* Create beacon_node_versioned.go

* Create ssv_msgs_versioned.go

* versioned state comparison example

* TestProposerWithJustificationsConsensusData versioned example

* versioned TestingProposerDutyNextEpoch example

* versioned PostConsensusWrongProposerMsg example

* versioned PostConsensusWrongSigProposerMsg example

* versioned PostConsensusProposerTooManyRootsMsg example

* versioned PostConsensusSigProposerWrongBeaconSignerMsg example

* return testing blocks as versioned

* use TestingProposerDuty versioned slot

* add versioned PostConsensusProposerTooFewRootsMsg

* versioned PostConsensusProposerTooFewRootsMsg example

* versioned runner decided msgs

* randao versioned

* versioned PreConsensusRandaoMsg SSVDecidingMsgs example

* versioned PreConsensusRandaoNextEpochMsg example

* versioned PreConsensusRandaoDifferentEpochMsg example

* versioned PreConsensusRandaoTooManyRootsMsg example

* versioned PreConsensusRandaoTooFewRootsMsg example

* versioned PreConsensusRandaoWrongBeaconSigMsg example

* versioned PreConsensusRandaoDifferentSignerMsg example

* go fmt ./...

* use versioned PreConsensusRandaoMsg

* use versioned TestingProposerDuty

* delete redundant tests (#1)

* remove (versioned) name

* remove unused

* versioned GetBeaconBlock/GetBlindedBeaconBlock

* fix merge conflict

* use TestingDutySlotBellatrixNextEpoch

* add versioned TestingInvalidDutySlot

* versioned TestingInvalidDutySlot example

* versioned TestingInvalidDutySlot example2

* add an issue comment

* versioned messages tests

* versioned runner consensus

* versioned runner/duties/newduty

* versioned runner/duties/proposer

* versioned runner/full_happy_flow

* versioned runner/postconsensus

* versioned runner/pre_consensus_justifications

* versioned runner/preconsensus

* versioned valcheck/valcheckduty

* versioned consensusdata/proposer

* versioned beacon_node_test

* remove non-versioned funcs

* ssz withdrawals

* capella support

* versioned SSZWithdrawalsMarshaling

* introduce versioned epoch + use goerli capella epoch fork

* remove versioned block IsEmpty func

* review adjustments

* beacon_node_consts

* multi version FullHappyFlow example

* ExpectedDecidingMsgsForHeightWithRoot

* ExpectedSSVDecidingMsgsV

* use ExpectedSSVDecidingMsgsV

* adjust multi version FullHappyFlow example

* future_decided sc test

* post_decided sc test

* post_finish sc test

* valid_decided sc test

* valid_decided_7_operators sc test

* comparable StartNewRunnerDutySpecTest

* decided sc test

* not_decided sc test

* duplicate_msg sc test

* duplicate_msg_different_roots sc test

* inconsistent_beacon_signer sc test

* post_quorum sc test

* pre_decided sc test

* quorum sc test

* quorum_7_operators sc test

* unknown_signer sc test

* preconsensus/duplicate_msg sc test

* preconsensus/no_running_duty sc test

* preconsensus/post_decided_sc sc test

* preconsensus/post_finish sc test

* preconsensus/post_quorum sc test

* preconsensus/quorum sc test

* preconsensus/quorum_7_operators sc test

* preconsensus/unknown_signer sc test

* multi version TestBeaconBlockRoot

* fix deadlock

* add required fields to pass json tests

* fix test comment

* fix test

* preconsensus/duplicate_msg full sc test

* preconsensus/no_running_duty full sc test

* preconsensus/post_decided full sc test

* preconsensus/post_finish full sc test

* preconsensus/post_quorum full sc test

* preconsensus/quorum full sc test

* preconsensus/quorum_7_operators full sc test

* preconsensus/unknown_signer full sc test

* root -> runner (#11)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* implementation

* tmp

* remove unused

* use latest go-eth2-client version

* use latest go-eth2-client version

* return block data as versioned & hashroot

* improve log

* upgrade go-eth2-client v0.15.8

* proposerCalls interface change

* versioned block spec tests

* generate test json

* include all versioned block spec tests

* remove unused fields

* use block version instead of hardcoded

* keep only bellatrix block version

* mention github issue

* SSV comparable state ssvlabs#215

* use proper package names

* Create beacon_node_versioned.go

* Create ssv_msgs_versioned.go

* versioned state comparison example

* TestProposerWithJustificationsConsensusData versioned example

* versioned TestingProposerDutyNextEpoch example

* versioned PostConsensusWrongProposerMsg example

* versioned PostConsensusWrongSigProposerMsg example

* versioned PostConsensusProposerTooManyRootsMsg example

* versioned PostConsensusSigProposerWrongBeaconSignerMsg example

* return testing blocks as versioned

* use TestingProposerDuty versioned slot

* add versioned PostConsensusProposerTooFewRootsMsg

* versioned PostConsensusProposerTooFewRootsMsg example

* versioned runner decided msgs

* randao versioned

* versioned PreConsensusRandaoMsg SSVDecidingMsgs example

* versioned PreConsensusRandaoNextEpochMsg example

* versioned PreConsensusRandaoDifferentEpochMsg example

* versioned PreConsensusRandaoTooManyRootsMsg example

* versioned PreConsensusRandaoTooFewRootsMsg example

* versioned PreConsensusRandaoWrongBeaconSigMsg example

* versioned PreConsensusRandaoDifferentSignerMsg example

* go fmt ./...

* use versioned PreConsensusRandaoMsg

* use versioned TestingProposerDuty

* delete redundant tests (#1)

* remove (versioned) name

* remove unused

* versioned GetBeaconBlock/GetBlindedBeaconBlock

* fix merge conflict

* use TestingDutySlotBellatrixNextEpoch

* add versioned TestingInvalidDutySlot

* versioned TestingInvalidDutySlot example

* versioned TestingInvalidDutySlot example2

* add an issue comment

* versioned messages tests

* versioned runner consensus

* versioned runner/duties/newduty

* versioned runner/duties/proposer

* versioned runner/full_happy_flow

* versioned runner/postconsensus

* versioned runner/pre_consensus_justifications

* versioned runner/preconsensus

* versioned valcheck/valcheckduty

* versioned consensusdata/proposer

* versioned beacon_node_test

* remove non-versioned funcs

* ssz withdrawals

* capella support

* versioned SSZWithdrawalsMarshaling

* introduce versioned epoch + use goerli capella epoch fork

* remove versioned block IsEmpty func

* review adjustments

* beacon_node_consts

* multi version FullHappyFlow example

* ExpectedDecidingMsgsForHeightWithRoot

* ExpectedSSVDecidingMsgsV

* use ExpectedSSVDecidingMsgsV

* adjust multi version FullHappyFlow example

* future_decided sc test

* post_decided sc test

* post_finish sc test

* valid_decided sc test

* valid_decided_7_operators sc test

* comparable StartNewRunnerDutySpecTest

* decided sc test

* not_decided sc test

* duplicate_msg sc test

* duplicate_msg_different_roots sc test

* inconsistent_beacon_signer sc test

* post_quorum sc test

* pre_decided sc test

* quorum sc test

* quorum_7_operators sc test

* unknown_signer sc test

* preconsensus/duplicate_msg sc test

* preconsensus/no_running_duty sc test

* preconsensus/post_decided_sc sc test

* preconsensus/post_finish sc test

* preconsensus/post_quorum sc test

* preconsensus/quorum sc test

* preconsensus/quorum_7_operators sc test

* preconsensus/unknown_signer sc test

* multi version TestBeaconBlockRoot

* fix deadlock

* add required fields to pass json tests

* fix test comment

* fix test

* postconsensus/duplicate_msg sc full test

* postconsensus/duplicate_msg_different_roots full sc test

* postconsensus/inconsistent_beacon_signer full sc test

* postconsensus/post_quorum full sc test

* postconsensus/pre_decided full sc test

* postconsensus/quorum full sc test

* postconsensus/quorum_7_operators full sc test

* postconsensus/unknown_signer full sc test

* fix comment (#8)

* root -> runner (#10)

* add comments (#15)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* implementation

* tmp

* remove unused

* use latest go-eth2-client version

* use latest go-eth2-client version

* return block data as versioned & hashroot

* improve log

* upgrade go-eth2-client v0.15.8

* proposerCalls interface change

* versioned block spec tests

* generate test json

* include all versioned block spec tests

* remove unused fields

* use block version instead of hardcoded

* keep only bellatrix block version

* mention github issue

* SSV comparable state ssvlabs#215

* use proper package names

* Create beacon_node_versioned.go

* Create ssv_msgs_versioned.go

* versioned state comparison example

* TestProposerWithJustificationsConsensusData versioned example

* versioned TestingProposerDutyNextEpoch example

* versioned PostConsensusWrongProposerMsg example

* versioned PostConsensusWrongSigProposerMsg example

* versioned PostConsensusProposerTooManyRootsMsg example

* versioned PostConsensusSigProposerWrongBeaconSignerMsg example

* return testing blocks as versioned

* use TestingProposerDuty versioned slot

* add versioned PostConsensusProposerTooFewRootsMsg

* versioned PostConsensusProposerTooFewRootsMsg example

* versioned runner decided msgs

* randao versioned

* versioned PreConsensusRandaoMsg SSVDecidingMsgs example

* versioned PreConsensusRandaoNextEpochMsg example

* versioned PreConsensusRandaoDifferentEpochMsg example

* versioned PreConsensusRandaoTooManyRootsMsg example

* versioned PreConsensusRandaoTooFewRootsMsg example

* versioned PreConsensusRandaoWrongBeaconSigMsg example

* versioned PreConsensusRandaoDifferentSignerMsg example

* go fmt ./...

* use versioned PreConsensusRandaoMsg

* use versioned TestingProposerDuty

* delete redundant tests (#1)

* remove (versioned) name

* remove unused

* versioned GetBeaconBlock/GetBlindedBeaconBlock

* fix merge conflict

* use TestingDutySlotBellatrixNextEpoch

* add versioned TestingInvalidDutySlot

* versioned TestingInvalidDutySlot example

* versioned TestingInvalidDutySlot example2

* add an issue comment

* versioned messages tests

* versioned runner consensus

* versioned runner/duties/newduty

* versioned runner/duties/proposer

* versioned runner/full_happy_flow

* versioned runner/postconsensus

* versioned runner/pre_consensus_justifications

* versioned runner/preconsensus

* versioned valcheck/valcheckduty

* versioned consensusdata/proposer

* versioned beacon_node_test

* remove non-versioned funcs

* ssz withdrawals

* capella support

* versioned SSZWithdrawalsMarshaling

* introduce versioned epoch + use goerli capella epoch fork

* remove versioned block IsEmpty func

* review adjustments

* beacon_node_consts

* multi version FullHappyFlow example

* ExpectedDecidingMsgsForHeightWithRoot

* ExpectedSSVDecidingMsgsV

* use ExpectedSSVDecidingMsgsV

* adjust multi version FullHappyFlow example

* future_decided sc test

* post_decided sc test

* post_finish sc test

* valid_decided sc test

* valid_decided_7_operators sc test

* comparable StartNewRunnerDutySpecTest

* decided sc test

* not_decided sc test

* duplicate_msg sc test

* duplicate_msg_different_roots sc test

* inconsistent_beacon_signer sc test

* post_quorum sc test

* pre_decided sc test

* quorum sc test

* quorum_7_operators sc test

* unknown_signer sc test

* preconsensus/duplicate_msg sc test

* preconsensus/no_running_duty sc test

* preconsensus/post_decided_sc sc test

* preconsensus/post_finish sc test

* preconsensus/post_quorum sc test

* preconsensus/quorum sc test

* preconsensus/quorum_7_operators sc test

* preconsensus/unknown_signer sc test

* multi version TestBeaconBlockRoot

* fix deadlock

* add required fields to pass json tests

* fix test comment

* fix test

* rearrange full_happy_flow_sc

* newduty/decided full sc test

* newduty/not_decided full sc test

* add comments (#7)

* change root -> runner + comments (#9)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* implementation

* tmp

* remove unused

* use latest go-eth2-client version

* use latest go-eth2-client version

* return block data as versioned & hashroot

* improve log

* upgrade go-eth2-client v0.15.8

* proposerCalls interface change

* versioned block spec tests

* generate test json

* include all versioned block spec tests

* remove unused fields

* use block version instead of hardcoded

* keep only bellatrix block version

* mention github issue

* SSV comparable state ssvlabs#215

* use proper package names

* Create beacon_node_versioned.go

* Create ssv_msgs_versioned.go

* versioned state comparison example

* TestProposerWithJustificationsConsensusData versioned example

* versioned TestingProposerDutyNextEpoch example

* versioned PostConsensusWrongProposerMsg example

* versioned PostConsensusWrongSigProposerMsg example

* versioned PostConsensusProposerTooManyRootsMsg example

* versioned PostConsensusSigProposerWrongBeaconSignerMsg example

* return testing blocks as versioned

* use TestingProposerDuty versioned slot

* add versioned PostConsensusProposerTooFewRootsMsg

* versioned PostConsensusProposerTooFewRootsMsg example

* versioned runner decided msgs

* randao versioned

* versioned PreConsensusRandaoMsg SSVDecidingMsgs example

* versioned PreConsensusRandaoNextEpochMsg example

* versioned PreConsensusRandaoDifferentEpochMsg example

* versioned PreConsensusRandaoTooManyRootsMsg example

* versioned PreConsensusRandaoTooFewRootsMsg example

* versioned PreConsensusRandaoWrongBeaconSigMsg example

* versioned PreConsensusRandaoDifferentSignerMsg example

* go fmt ./...

* use versioned PreConsensusRandaoMsg

* use versioned TestingProposerDuty

* delete redundant tests (#1)

* remove (versioned) name

* remove unused

* versioned GetBeaconBlock/GetBlindedBeaconBlock

* fix merge conflict

* use TestingDutySlotBellatrixNextEpoch

* add versioned TestingInvalidDutySlot

* versioned TestingInvalidDutySlot example

* versioned TestingInvalidDutySlot example2

* add an issue comment

* versioned messages tests

* versioned runner consensus

* versioned runner/duties/newduty

* versioned runner/duties/proposer

* versioned runner/full_happy_flow

* versioned runner/postconsensus

* versioned runner/pre_consensus_justifications

* versioned runner/preconsensus

* versioned valcheck/valcheckduty

* versioned consensusdata/proposer

* versioned beacon_node_test

* remove non-versioned funcs

* ssz withdrawals

* capella support

* versioned SSZWithdrawalsMarshaling

* introduce versioned epoch + use goerli capella epoch fork

* remove versioned block IsEmpty func

* review adjustments

* beacon_node_consts

* multi version FullHappyFlow example

* ExpectedDecidingMsgsForHeightWithRoot

* ExpectedSSVDecidingMsgsV

* use ExpectedSSVDecidingMsgsV

* adjust multi version FullHappyFlow example

* future_decided sc test

* post_decided sc test

* post_finish sc test

* valid_decided sc test

* valid_decided_7_operators sc test

* comparable StartNewRunnerDutySpecTest

* decided sc test

* not_decided sc test

* duplicate_msg sc test

* duplicate_msg_different_roots sc test

* inconsistent_beacon_signer sc test

* post_quorum sc test

* pre_decided sc test

* quorum sc test

* quorum_7_operators sc test

* unknown_signer sc test

* preconsensus/duplicate_msg sc test

* preconsensus/no_running_duty sc test

* preconsensus/post_decided_sc sc test

* preconsensus/post_finish sc test

* preconsensus/post_quorum sc test

* preconsensus/quorum sc test

* preconsensus/quorum_7_operators sc test

* preconsensus/unknown_signer sc test

* multi version TestBeaconBlockRoot

* fix deadlock

* add required fields to pass json tests

* fix test comment

* fix test

* future_decided full sc test

* post_decided full sc test

* post_finish full sc test

* valid_decided full sc test

* valid_decided_7_operators full sc test

* fix ssvlabs#250

* generate tests.json

* unwrap slice (#6)

* Fix comments (#12)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
…abs#192)

* implementation

* comparable check

* no signers test

* unknown signer test

* wrong sig test

* late commit test

* late_commit_past_instance test

* late_prepare test

* late_prepare_past_instance test

* late_proposal test

* late_proposal_past_instance fix test

* late_round_change test

* late_round_change_past_instance test

* generate qbft tests json for fixed late_proposal_past_instance test

* add sc to controller spectest

* add sc to controller sync spec test

* merge conflicts

* add sc to controller sync spec test

* rm duplicate interface

* set signed messages functionality

* ExpectedDecidingMsgsForHeightWithRoot

* clean code + expected decided msgs

* clean code + expected decided msgs

* fix merge conflicts

* Pr/192 (#5)

* generated test json

* Init Containers (#13)

* hard code height and decided

* add comments (#14)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* json state comparison for qbft msg processing

* prev

* qbft controller spec json state comparison

* ssv based json state comparison

* msg processing state comparison

* ssv multi msg processing test json state comparison

* update jsons after pull

* fix json tests

* require hardcoded post root to equal json loaded SC root

* naming refactor

* use log (#2)

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* proof spec test

* change method signature

* fix typo

* add override state comparison

* fix comment

* new duty post state and msg processing multi

* solve circular dependency

* fix main

* new duties jsons

* override state comparisons

* handle error

* fix missing call

* fix error

* fix newduty

* Update ssv/spectest/generate/main.go

Co-authored-by: rehs0y <[email protected]>

---------

Co-authored-by: rehs0y <[email protected]>
… next one to start (ssvlabs#274)

* remove prev qbft instance decided restriction

* instance cutoff

* all qbft tests work

* remove runner can start new duty func

* qbft instance start for epoch not slot

* more changes

- controller force stop all instances on new instance
- runner starts instance with slot not epoch

* remove future message processing

* prevent starting an instance with height <= than current

* cutoff to round 15

* added stub tests

* revet to pass qbft tests

- revert removing future messages (opened issue)
- fix test
- fix controller spec test (input height)
- fix can process messages check

* override test comparison and refactor

* fix controller

* fix old SC - now we don't store late commits in containers

* better error message

* fix controller_spectest bug

* revert override

* fix roots (json didn't change)

* no late message in containers

* fix post future decided

* fix late prepare past instance

* fix late proposal past instance

* fix late round change past instance

* fix previous decided

* prev not decided json looks ok

* past round changes fixes

* Update qbft/controller.go

Co-authored-by: Gal Rogozinski <[email protected]>

* fix error

* typo

Co-authored-by: rehs0y <[email protected]>

* fix lint errors

* Update qbft/instance.go

Co-authored-by: rehs0y <[email protected]>

* delete TODO

* Single duty instance - Fix SSV Tests (#4)

* fix happy_flow partially

* fix happy_flow

* use cmp for comparisons

* separate deciding messages for ssv and qbft

* fix qbft test

* proof spec test

* change method signature

* fix typo

* add override state comparison

* propose decide regular

* sync committee all are aggregators

* sync committee none and some are aggregators

* precon invalid msg slot

* precon valid msg

* finish syncCommitteeAggreagtorProofSpecTest

* invalid_decided_value.go

* postconsensus/invalid_decided_value.go

* consensus/validmsg

* precon/quorum 10 operators

* consensus/valid_decided 10 operators

* consensus/valid_decided 13 operators

* preconcensus/ quorum 13 operators

* postconsensus predecided

* future decided

* preconsensus post quorum

* preconsensus quorum

* consensus post decided

* pre consensus quorum 7 operator

* valid decided

* valid decided 7 Operators

* consensus post finish

* fix comment

* new duty post state and msg processing multi

* solve circular dependency

* fix main

* new duties jsons

* override state comparisons

* handle error

* fix missing call

* fix error

* fix newduty

* add consensus future decided.json

* add stubs for missing tests

* finished.go

* finished.go

* valid newduty

* post_invalid_decided

* consensus not started

* post future decided

* decided.go

* not_decided.go

* fix post_invalid_decided

* post_wrong_decided

* fix comments

* remove TODO

* add duplicate_duty to all tests

* add tests.json

* wrap error

* fix error message

* fix error message

* fix error message

* fix duplicate duty finished

* fix missing output messages

* Update ssv/spectest/generate/main.go

Co-authored-by: rehs0y <[email protected]>

* undo capella

* add missing roots

* add missing roots

* generate json

* fix error

* expected error var

* revert run test

* added missing roots

* added missing roots

* added missing roots

* remove TODOs

* remove TODOs

---------

Co-authored-by: rehs0y <[email protected]>

* fix round 15

---------

Co-authored-by: Gal Rogozinski <[email protected]>
Co-authored-by: rehs0y <[email protected]>
* wip fix sc-names

* make unmarshal ssv generic

* newduty

* controller spec test

* msg_processing_spectest

* panic on err

* fix mkdir

* fix bug

* missing require no error

* ssv fix multi folder name

* fix helpers and override in multi_msg

* fix ssv main.go

* genertate and read files in correct place

* qbft tests working

* ssv tests pass

* better log

* "delete fmt import"

* generate-json

* rename helper function
* add roots

* add tests.json
* refactor: skip `QBFTController` assertion in `ValidatorRegistrationRunner.StartNewDuty`

* comment

* refactor

* don't start old duties

* fix tests

* fix post_wrong_decided

* fix post_wrong_decided

* fix post_future_decided

* fix duplicate_duty_finished

* validator registration tests

* add new line

* add tests.json

* fix duplicate_duty_finish

* add tests.json

* duplicate duty fix

* add tests.json

* remove comment

* duplicate duty not finished

* update json

---------

Co-authored-by: moshe-blox <[email protected]>
* don't broadcast messages if you can't process them

* prepare forced stop

* commit forced stop

* RC forced stop

* proposal force stop

* fix proposal hash

* post cutoff proposal

* post cutoff proposal

* post cutoff proposal

* post cutoff roundchange

* all tests

* add rounds

* fix post cutoffs roots

* marshal force stop when true

* delete force_stop_previous since other tests cover this

* equal heights running instance

* delete unused state comparison

* lower height

* start new instance tests

* add tests.json

* use pointer receiver

* add missing SC

* past instance sc fix

* fix multi decided roots

* fix prev_decided

* add tests.json

* post_invalid decided fix

* fix finished

* fix decided duty

* fix not decided duty

* generate json

* move json marshalling to a dedicated file
* remove future msg

* remove backwards compatability

* update states

* clean tests

* regenerate ssv tests

* revert message validation comment

* more jsons

* fix error messages

* don't sync upon decided.go

* fix run_test

* remove sync

* remove sync from tests

* tests.json

* delete comment

* return error

* fix tests

* tests.json

* fix error

* fix tests

* delete future_msg.go
* First commit: new PartialSig, BeaconNode call, BeaconRole, Runner

* Fix beacon node mock to include new duty call

* Refactor and add consensus data case check

* Testing utils for voluntary exit

* Refactor; Fix domain type; Add first test for voluntary exit

* Add too many and too few roots tests and quorum tests

* Refactoring BeaconNode call

* Add tests: pre_consensus, post_consensus, consensus, pre_consensus_justification, full_happy_flow, new_duty
* drop blinded block rejection

* generate JSONs

* Added test for Runner receiving different type of block (normal/blinded)

* Merge with branch 'main'

* Separate blinded test from full happy flow test

* Move tests; Add tests to all_tests file

* Revert to previous types/tests.json

---------

Co-authored-by: Matheus Franco <[email protected]>
* holesky support

* removed unused dep

* revert go.mod

---------

Co-authored-by: Gal Rogozinski <[email protected]>
* take care of height equals 0 case

* new duty first height tests

* fix broadcast messages
…svlabs#318)

* fix validator registration + voluntary exit start duty when prev not finished

* add condition for non-beacon duty

* duplicate_duty_finished.go

* duplicate duty not finished

* change error message

* fix error in tests

* finished.go

* ssv msgs

* TestingValidatorRegistrationBySlot

* VoluntaryExitBySlot

* remove TestingEpoch2

* consensus not started

* finished.go

* fix finished

* remove test one

* tests.json

* fix comment

---------

Co-authored-by: Alon Muroch <[email protected]>
* Merge with Alon's code for fork support

* Update according to SIP DomainType spec

* Drop controller's domain and update tests

* Drop unnecessary domain argument in controller.

* Fix controller constructors.

* Remove SetIdentifier; json-> ssz encoding.

* Applied comments suggestions

* Update according to comments. Revert ssz

* generate jsons

---------

Co-authored-by: Gal Rogozinski <[email protected]>
@aayush-rockx aayush-rockx changed the title Bloxapp main merge from upstream Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants