From e8abb02f24d3e7ca611495f84d265719e01b5093 Mon Sep 17 00:00:00 2001 From: axaysagathiya Date: Fri, 5 Jan 2024 21:04:56 +0530 Subject: [PATCH] remove ProspectiveParachainsMode type Removed ProspectiveParachainsMode defined in collatorprotocol package and used the same type defined in parachaintypes package. --- dot/parachain/collator-protocol/message.go | 6 +-- .../collator-protocol/message_test.go | 28 ++++++------- .../collator-protocol/validator_side.go | 41 ++++++------------- 3 files changed, 30 insertions(+), 45 deletions(-) diff --git a/dot/parachain/collator-protocol/message.go b/dot/parachain/collator-protocol/message.go index 64e1988b19..42a27185f7 100644 --- a/dot/parachain/collator-protocol/message.go +++ b/dot/parachain/collator-protocol/message.go @@ -256,7 +256,7 @@ func (cpvs CollatorProtocolValidatorSide) enqueueCollation( logger.Error("candidate relay parent went out of view for valid advertisement") return ErrRelayParentUnknown } - if perRelayParent.prospectiveParachainMode.isEnabled { + if perRelayParent.prospectiveParachainMode.IsEnabled { return cpvs.fetchCollation(pendingCollation) } else { logger.Debug("a collation has already been seconded") @@ -334,7 +334,7 @@ func (cpvs *CollatorProtocolValidatorSide) handleAdvertisement(relayParent commo } // Note: Prospective Parachain mode would be set or edited when the view gets updated. - if perRelayParent.prospectiveParachainMode.isEnabled && prospectiveCandidate == nil { + if perRelayParent.prospectiveParachainMode.IsEnabled && prospectiveCandidate == nil { // Expected v2 advertisement. return ErrProtocolMismatch } @@ -366,7 +366,7 @@ func (cpvs *CollatorProtocolValidatorSide) handleAdvertisement(relayParent commo } /*NOTE:---------------------------------------Matters only in V2----------------------------------------------*/ - isSecondingAllowed := !perRelayParent.prospectiveParachainMode.isEnabled || cpvs.canSecond( + isSecondingAllowed := !perRelayParent.prospectiveParachainMode.IsEnabled || cpvs.canSecond( collatorParaID, relayParent, prospectiveCandidate.CandidateHash, diff --git a/dot/parachain/collator-protocol/message_test.go b/dot/parachain/collator-protocol/message_test.go index 82db19de53..3ed7f5b4a1 100644 --- a/dot/parachain/collator-protocol/message_test.go +++ b/dot/parachain/collator-protocol/message_test.go @@ -415,7 +415,7 @@ func TestHandleCollationMessageAdvertiseCollation(t *testing.T) { peerData map[peer.ID]PeerData perRelayParent map[common.Hash]PerRelayParent net Network - activeLeaves map[common.Hash]ProspectiveParachainsMode + activeLeaves map[common.Hash]parachaintypes.ProspectiveParachainsMode errString string }{ { @@ -509,8 +509,8 @@ func TestHandleCollationMessageAdvertiseCollation(t *testing.T) { perRelayParent: map[common.Hash]PerRelayParent{ testRelayParent: { assignment: &testParaID, - prospectiveParachainMode: ProspectiveParachainsMode{ - isEnabled: true, + prospectiveParachainMode: parachaintypes.ProspectiveParachainsMode{ + IsEnabled: true, }, }, }, @@ -561,7 +561,7 @@ func TestHandleCollationMessageAdvertiseCollation(t *testing.T) { }, peerID) return net }(), - activeLeaves: map[common.Hash]ProspectiveParachainsMode{}, + activeLeaves: map[common.Hash]parachaintypes.ProspectiveParachainsMode{}, errString: ErrSecondedLimitReached.Error(), }, } @@ -608,10 +608,10 @@ func TestInsertAdvertisement(t *testing.T) { testCases := []struct { description string peerData PeerData - relayParentMode ProspectiveParachainsMode + relayParentMode parachaintypes.ProspectiveParachainsMode candidateHash *parachaintypes.CandidateHash implicitView ImplicitView - activeLeaves map[common.Hash]ProspectiveParachainsMode + activeLeaves map[common.Hash]parachaintypes.ProspectiveParachainsMode err error }{ { @@ -632,9 +632,9 @@ func TestInsertAdvertisement(t *testing.T) { PeerState: Collating, }, }, - relayParentMode: ProspectiveParachainsMode{}, + relayParentMode: parachaintypes.ProspectiveParachainsMode{}, candidateHash: nil, - activeLeaves: map[common.Hash]ProspectiveParachainsMode{}, + activeLeaves: map[common.Hash]parachaintypes.ProspectiveParachainsMode{}, err: ErrOutOfView, }, { @@ -651,11 +651,11 @@ func TestInsertAdvertisement(t *testing.T) { }, }, }, - relayParentMode: ProspectiveParachainsMode{}, + relayParentMode: parachaintypes.ProspectiveParachainsMode{}, candidateHash: nil, - activeLeaves: map[common.Hash]ProspectiveParachainsMode{ + activeLeaves: map[common.Hash]parachaintypes.ProspectiveParachainsMode{ relayParent: { - isEnabled: false, + IsEnabled: false, }, }, err: ErrDuplicateAdvertisement, @@ -672,11 +672,11 @@ func TestInsertAdvertisement(t *testing.T) { }, }, }, - relayParentMode: ProspectiveParachainsMode{}, + relayParentMode: parachaintypes.ProspectiveParachainsMode{}, candidateHash: &candidateHash, - activeLeaves: map[common.Hash]ProspectiveParachainsMode{ + activeLeaves: map[common.Hash]parachaintypes.ProspectiveParachainsMode{ relayParent: { - isEnabled: false, + IsEnabled: false, }, }, }, diff --git a/dot/parachain/collator-protocol/validator_side.go b/dot/parachain/collator-protocol/validator_side.go index a4874a5669..0b3e2fa96a 100644 --- a/dot/parachain/collator-protocol/validator_side.go +++ b/dot/parachain/collator-protocol/validator_side.go @@ -173,19 +173,19 @@ func (peerData *PeerData) SetCollating(collatorID parachaintypes.CollatorID, par func IsRelayParentInImplicitView( relayParent common.Hash, - relayParentMode ProspectiveParachainsMode, + relayParentMode parachaintypes.ProspectiveParachainsMode, implicitView ImplicitView, - activeLeaves map[common.Hash]ProspectiveParachainsMode, + activeLeaves map[common.Hash]parachaintypes.ProspectiveParachainsMode, paraID parachaintypes.ParaID, ) bool { - if !relayParentMode.isEnabled { + if !relayParentMode.IsEnabled { _, ok := activeLeaves[relayParent] return ok } for hash, mode := range activeLeaves { knownAllowedRelayParent := implicitView.KnownAllowedRelayParentsUnder(hash, paraID) - if mode.isEnabled && knownAllowedRelayParent.String() == relayParent.String() { + if mode.IsEnabled && knownAllowedRelayParent.String() == relayParent.String() { return true } } @@ -198,10 +198,10 @@ func IsRelayParentInImplicitView( // declared itself a collator. func (peerData *PeerData) InsertAdvertisement( onRelayParent common.Hash, - relayParentMode ProspectiveParachainsMode, + relayParentMode parachaintypes.ProspectiveParachainsMode, candidateHash *parachaintypes.CandidateHash, implicitView ImplicitView, - activeLeaves map[common.Hash]ProspectiveParachainsMode, + activeLeaves map[common.Hash]parachaintypes.ProspectiveParachainsMode, ) (isAdvertisementInvalid bool, err error) { switch peerData.state.PeerState { case Connected: @@ -212,14 +212,14 @@ func (peerData *PeerData) InsertAdvertisement( return false, ErrOutOfView } - if relayParentMode.isEnabled { + if relayParentMode.IsEnabled { // relayParentMode.maxCandidateDepth candidates, ok := peerData.state.CollatingPeerState.advertisements[onRelayParent] if ok && slices.Contains[[]parachaintypes.CandidateHash](candidates, *candidateHash) { return false, ErrDuplicateAdvertisement } - if len(candidates) > int(relayParentMode.maxCandidateDepth) { + if len(candidates) > int(relayParentMode.MaxCandidateDepth) { return false, ErrPeerLimitReached } candidates = append(candidates, *candidateHash) @@ -331,7 +331,7 @@ type CollatorProtocolValidatorSide struct { /// support prospective parachains. This mapping works as a replacement for /// [`polkadot_node_network_protocol::View`] and can be dropped once the transition /// to asynchronous backing is done. - activeLeaves map[common.Hash]ProspectiveParachainsMode + activeLeaves map[common.Hash]parachaintypes.ProspectiveParachainsMode // Collations that we have successfully requested from peers and waiting // on validation. @@ -353,23 +353,8 @@ func (f fetchedCollationInfo) String() string { f.relayParent.String(), f.paraID, f.candidateHash.Value.String(), f.collatorID) } -// Prospective parachains mode of a relay parent. Defined by -// the Runtime API version. -// -// Needed for the period of transition to asynchronous backing. -type ProspectiveParachainsMode struct { - // if disabled, there are no prospective parachains. Runtime API does not have support for `async_backing_params` - isEnabled bool - - // these values would be present only if `isEnabled` is true - - // The maximum number of para blocks between the para head in a relay parent and a new candidate. - // Restricts nodes from building arbitrary long chains and spamming other validators. - maxCandidateDepth uint -} - type PerRelayParent struct { - prospectiveParachainMode ProspectiveParachainsMode + prospectiveParachainMode parachaintypes.ProspectiveParachainsMode assignment *parachaintypes.ParaID collations Collations } @@ -384,10 +369,10 @@ type Collations struct { } // IsSecondedLimitReached check the limit of seconded candidates for a given para has been reached. -func (collations Collations) IsSecondedLimitReached(relayParentMode ProspectiveParachainsMode) bool { +func (collations Collations) IsSecondedLimitReached(relayParentMode parachaintypes.ProspectiveParachainsMode) bool { var secondedLimit uint - if relayParentMode.isEnabled { - secondedLimit = relayParentMode.maxCandidateDepth + 1 + if relayParentMode.IsEnabled { + secondedLimit = relayParentMode.MaxCandidateDepth + 1 } else { secondedLimit = 1 }