From 05a04236b9f7d85f40fcdc3e3ad88cc2fa311bfe Mon Sep 17 00:00:00 2001 From: tersec Date: Fri, 6 Jan 2023 11:36:18 +0000 Subject: [PATCH] add EIP4844 epoch detection for gossip transition tests (#4466) --- tests/test_gossip_transition.nim | 593 +++++++++++++++++++++++++------ 1 file changed, 490 insertions(+), 103 deletions(-) diff --git a/tests/test_gossip_transition.nim b/tests/test_gossip_transition.nim index 56e59cd46..b79531db3 100644 --- a/tests/test_gossip_transition.nim +++ b/tests/test_gossip_transition.nim @@ -1,5 +1,5 @@ # beacon_chain -# Copyright (c) 2021-2022 Status Research & Development GmbH +# Copyright (c) 2021-2023 Status Research & Development GmbH # Licensed and distributed under either of # * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT). # * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0). @@ -12,109 +12,496 @@ import ./testutil, ../beacon_chain/spec/[forks, network] -template getTargetGossipState(a, b, c, d: int, e: Epoch, isBehind: bool): auto = - getTargetGossipState(a.Epoch, b.Epoch, c.Epoch, d.Epoch, e, isBehind) +template getTargetGossipState(a, b, c, d, e: int, isBehind: bool): auto = + getTargetGossipState(a.Epoch, b.Epoch, c.Epoch, d.Epoch, e.Epoch, isBehind) suite "Gossip fork transition": test "Gossip fork transition": check: - getTargetGossipState(0, 1, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(7, 2, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 0, 2, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(4, 2, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(1, 2, 3, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(9, 2, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 2, 3, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(5, 0, 1, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(7, 2, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 0, 5, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(8, 1, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(8, 3, 4, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(4, 1, 2, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(0, 1, 4, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(9, 1, 4, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(9, 2, 4, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(4, 0, 1, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(1, 1, 5, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(2, 0, 0, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(7, 1, 5, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 1, 3, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(8, 4, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(3, 0, 4, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(1, 2, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(1, 0, 1, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(6, 0, 3, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(0, 4, 5, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(3, 0, 3, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(5, 1, 3, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(4, 3, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(6, 1, 2, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(8, 3, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(1, 4, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0} - getTargetGossipState(2, 5, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0} - getTargetGossipState(5, 3, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 1, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 2, 4, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(7, 3, 5, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 0, 1, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(0, 1, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(7, 0, 1, 4, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(6, 0, 4, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(3, 0, 0, 1, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(2, 1, 3, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(8, 0, 2, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(7, 0, 1, 4, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(8, 1, 2, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(3, 0, 2, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(9, 1, 2, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 1, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(0, 3, 4, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(9, 1, 3, 4, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(1, 1, 4, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair} - getTargetGossipState(5, 1, 4, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(7, 0, 5, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(9, 0, 0, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(5, 0, 0, 0, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(9, 2, 3, 4, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(3, 0, 0, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(0, 0, 1, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(4, 1, 4, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(4, 1, 2, 3, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 1, 3, 4, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(4, 0, 0, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(8, 0, 3, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(2, 2, 3, 4, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(6, 2, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(3, 0, 6, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(1, 1, 2, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(2, 2, 4, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(9, 0, 3, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(4, 1, 3, 7, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(7, 0, 0, 3, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(0, 2, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0} - getTargetGossipState(2, 0, 1, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(9, 1, 6, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 3, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(2, 0, 0, 3, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(3, 1, 3, 4, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(7, 0, 1, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(2, 0, 3, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(2, 0, 2, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(1, 2, 4, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} - getTargetGossipState(8, 0, 2, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 1, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(6, 4, 5, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(3, 0, 5, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(4, 0, 2, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(4, 4, 5, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(3, 0, 4, 5, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(6, 0, 2, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(2, 1, 2, 3, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(1, 0, 5, 6, FAR_FUTURE_EPOCH, true) == {} - getTargetGossipState(5, 2, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} - getTargetGossipState(8, 0, 1, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(4, 2, 5, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(1, 1, 2, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} - getTargetGossipState(9, 1, 4, 6, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Capella} - getTargetGossipState(1, 0, 0, 5, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Bellatrix} - getTargetGossipState(0, 0, 5, 7, FAR_FUTURE_EPOCH, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 0, 1, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 4, 7, 9, 11, true) == {} + getTargetGossipState( 3, 0, 5, 6, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 2, 6, 10, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 4, 6, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 2, 4, 9, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 2, 3, 5, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 9, 0, 4, 8, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 7, 1, 2, 3, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState(11, 3, 4, 5, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 0, 1, 2, 3, true) == {} + getTargetGossipState(10, 0, 6, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 1, 3, 4, 7, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 3, 7, 10, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState(10, 0, 5, 8, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 8, 1, 3, 6, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 1, 4, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 3, 0, 5, 7, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 3, 2, 3, 4, 7, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 4, 3, 6, 7, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 2, 6, 7, 9, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(11, 1, 5, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 2, 7, 10, true) == {} + getTargetGossipState( 2, 1, 2, 3, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 4, 0, 4, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 4, 5, 7, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 0, 0, 4, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 5, 7, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 0, 2, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 1, 2, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 0, 2, 3, 6, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 2, 2, 6, 8, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 0, 6, 8, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 8, 0, 0, 2, 3, true) == {} + getTargetGossipState( 4, 3, 7, 8, 9, true) == {} + getTargetGossipState( 0, 0, 2, 5, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 1, 3, 4, 5, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 5, 2, 6, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 7, 0, 1, 4, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 3, 2, 3, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 3, 5, 9, 11, true) == {} + getTargetGossipState( 9, 3, 6, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 1, 2, 8, 9, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 6, 2, 7, 8, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 3, 4, 6, 7, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 1, 3, 5, 8, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 1, 2, 5, 8, 10, true) == {} + getTargetGossipState( 9, 4, 5, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 5, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 1, 5, 7, 9, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 0, 2, 6, 8, 10, true) == {} + getTargetGossipState( 8, 0, 5, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 4, 7, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 2, 3, 5, 7, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 1, 3, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 5, 6, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 2, 5, 8, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(11, 1, 5, 9, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 3, 6, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 3, 0, 1, 6, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 1, 6, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 2, 3, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 2, 8, 9, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 3, 1, 3, 4, 5, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState(11, 2, 7, 10, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 3, 5, 10, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 5, 2, 6, 8, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 2, 6, 8, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 2, 0, 1, 4, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 1, 4, 6, 10, true) == {} + getTargetGossipState( 4, 0, 6, 7, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 7, 3, 4, 7, 8, true) == {} + getTargetGossipState( 1, 0, 0, 6, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 1, 3, 6, 10, true) == {} + getTargetGossipState( 7, 2, 3, 7, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 3, 2, 4, 5, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 4, 5, 7, 8, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 1, 3, 7, 8, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 8, 0, 1, 6, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 1, 5, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 1, 6, 8, 10, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 0, 1, 2, 3, 7, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(11, 2, 4, 5, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 1, 5, 7, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 7, 0, 3, 5, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 0, 3, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 2, 7, 8, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 3, 5, 6, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 0, 4, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 0, 3, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 4, 1, 2, 4, 6, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 0, 2, 4, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 1, 0, 2, 7, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 1, 2, 5, 7, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(10, 0, 1, 8, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 1, 3, 4, 5, true) == {} + getTargetGossipState(11, 0, 2, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 7, 2, 7, 8, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 0, 0, 5, 6, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 4, 2, 6, 8, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 2, 2, 6, 7, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 2, 8, 9, 10, true) == {} + getTargetGossipState( 8, 1, 2, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 0, 1, 2, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 7, 0, 1, 8, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 3, 1, 7, 9, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 2, 6, 7, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 2, 3, 5, 7, 10, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(10, 4, 5, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 1, 4, 5, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 2, 7, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 8, 1, 5, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 1, 3, 7, 9, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 3, 4, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 1, 5, 9, 10, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 3, 4, 6, 7, 8, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(11, 4, 5, 6, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 2, 4, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(11, 0, 3, 5, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 3, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState(11, 1, 7, 8, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 0, 1, 3, 4, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 3, 4, 5, 7, 9, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(10, 3, 6, 8, 9, true) == {} + getTargetGossipState( 6, 7, 9, 10, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 7, 2, 4, 5, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 0, 6, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 4, 2, 3, 7, 10, true) == {} + getTargetGossipState( 3, 0, 2, 3, 5, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 4, 6, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 2, 6, 9, 11, true) == {} + getTargetGossipState( 7, 0, 1, 3, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 6, 8, 11, true) == {} + getTargetGossipState( 6, 2, 4, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 1, 3, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 0, 5, 7, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 0, 4, 7, true) == {} + getTargetGossipState( 0, 1, 2, 5, 9, true) == {} + getTargetGossipState( 6, 2, 3, 10, 11, true) == {} + getTargetGossipState( 5, 1, 5, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(10, 3, 5, 7, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 3, 0, 1, 2, 5, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 0, 1, 7, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 0, 5, 7, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 0, 1, 3, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 5, 7, 8, 9, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 0, 0, 0, 1, 11, true) == {} + getTargetGossipState( 6, 1, 4, 5, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 2, 4, 5, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 5, 8, 9, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState(10, 2, 5, 6, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 1, 2, 5, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 1, 5, 6, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 5, 0, 0, 1, 4, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 0, 2, 5, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 7, 3, 4, 8, 10, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 9, 1, 6, 9, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 5, 4, 5, 7, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 2, 8, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 0, 2, 4, 7, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState(11, 1, 4, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 6, 8, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 0, 1, 6, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 1, 3, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 2, 2, 5, 6, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 1, 0, 4, 5, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 0, 2, 3, 8, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 6, 7, 8, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 2, 2, 4, 6, 7, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 2, 5, 6, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 5, 8, 9, 10, true) == {} + getTargetGossipState( 0, 0, 3, 5, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 0, 1, 2, 4, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 5, 7, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 8, 1, 3, 6, 9, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 1, 5, 6, 7, 8, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 5, 0, 5, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 0, 0, 2, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 4, 6, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 5, 9, 10, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState(10, 3, 5, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 0, 1, 2, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 0, 5, 8, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 1, 1, 2, 8, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 4, 7, 9, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState(10, 0, 1, 6, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 3, 5, 6, 9, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 4, 0, 1, 6, 7, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 1, 2, 5, 6, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 9, 0, 6, 9, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 2, 5, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 2, 6, 9, true) == {} + getTargetGossipState( 5, 1, 5, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 0, 0, 1, 5, 7, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 4, 5, 6, 7, true) == {} + getTargetGossipState( 6, 1, 2, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 0, 3, 4, 8, false) == {BeaconStateFork.Capella} + getTargetGossipState( 3, 1, 3, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 0, 3, 5, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 1, 2, 5, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 1, 3, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 0, 3, 4, 7, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState(11, 4, 7, 8, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 2, 3, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 4, 1, 2, 8, 10, true) == {} + getTargetGossipState( 6, 3, 5, 6, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 1, 3, 4, 9, 10, true) == {} + getTargetGossipState( 7, 0, 4, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 1, 0, 5, 7, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 7, 3, 4, 7, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(10, 5, 7, 8, 9, true) == {} + getTargetGossipState( 9, 1, 3, 4, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 1, 8, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 4, 7, 11, true) == {} + getTargetGossipState( 3, 0, 2, 5, 11, true) == {} + getTargetGossipState( 5, 1, 3, 7, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 2, 3, 8, 10, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 6, 0, 4, 5, 10, true) == {} + getTargetGossipState( 9, 0, 0, 4, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 7, 2, 3, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 2, 4, 7, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 4, 1, 6, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 1, 2, 9, 11, true) == {} + getTargetGossipState( 6, 1, 6, 7, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 2, 2, 6, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 0, 1, 6, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 9, 1, 2, 5, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 6, 1, 2, 5, 11, true) == {} + getTargetGossipState( 5, 3, 4, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 0, 2, 5, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 7, 1, 4, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 0, 4, 7, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 4, 6, 8, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState(11, 1, 2, 4, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 6, 8, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 1, 0, 9, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 9, 1, 2, 6, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 1, 6, 8, 11, true) == {} + getTargetGossipState( 6, 1, 4, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 2, 3, 5, 8, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 1, 2, 3, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 4, 3, 6, 8, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 0, 2, 4, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 0, 1, 6, 10, true) == {} + getTargetGossipState( 3, 1, 9, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 7, 2, 6, 8, 10, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 7, 2, 3, 7, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 5, 8, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 3, 6, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 0, 0, 5, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 2, 6, 7, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 2, 2, 3, 5, 7, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState(10, 2, 7, 8, 10, true) == {} + getTargetGossipState( 5, 0, 4, 5, 9, true) == {} + getTargetGossipState( 5, 0, 1, 2, 3, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 2, 3, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 1, 3, 4, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 0, 1, 3, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 9, 0, 4, 10, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 4, 1, 5, 7, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 0, 1, 4, 7, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 5, 8, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(11, 2, 3, 5, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 6, 7, 9, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 3, 4, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 1, 2, 3, 6, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 0, 3, 4, 5, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 5, 3, 6, 7, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 5, 7, 8, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 1, 3, 7, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 3, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 2, 3, 4, true) == {} + getTargetGossipState( 1, 0, 1, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 0, 6, 7, 8, true) == {} + getTargetGossipState( 4, 0, 1, 4, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState(11, 4, 5, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 1, 4, 5, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 0, 2, 4, 7, true) == {} + getTargetGossipState( 6, 3, 8, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 3, 0, 1, 7, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 0, 6, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 7, 2, 4, 6, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState(10, 0, 3, 5, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 0, 5, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 2, 8, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 3, 0, 1, 5, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 0, 0, 3, 4, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 2, 4, 5, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 0, 0, 3, 8, false) == {BeaconStateFork.Capella} + getTargetGossipState( 4, 0, 2, 5, 6, true) == {} + getTargetGossipState( 2, 0, 2, 3, 5, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 8, 0, 5, 6, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 7, 0, 2, 5, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 1, 2, 5, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 0, 3, 6, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 0, 0, 2, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 1, 2, 7, 8, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 5, 0, 1, 2, 8, false) == {BeaconStateFork.Capella} + getTargetGossipState( 5, 3, 6, 9, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 4, 5, 9, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 1, 5, 6, 7, false) == {BeaconStateFork.Altair} + getTargetGossipState( 3, 0, 0, 4, 8, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 3, 0, 0, 1, 4, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 2, 5, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 4, 7, 8, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 6, 0, 3, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 2, 3, 5, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 1, 6, 10, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 1, 4, 7, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 4, 5, 7, 9, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 8, 10, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 5, 0, 1, 4, 5, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 2, 7, 8, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 7, 3, 6, 7, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState(10, 3, 4, 7, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 2, 3, 5, 8, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState(11, 1, 2, 3, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 2, 8, 9, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 1, 1, 5, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 2, 2, 9, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 0, 0, 1, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 8, 2, 4, 6, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 1, 0, 3, 5, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 2, 3, 4, 9, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 8, 1, 2, 4, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 4, 5, 6, 7, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 5, 3, 7, 9, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 3, 0, 5, 6, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 4, 6, 9, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 5, 8, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 2, 3, 4, 5, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 3, 5, 6, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState(11, 5, 6, 7, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 2, 6, 8, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 1, 3, 6, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 0, 0, 1, 3, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 2, 6, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 1, 3, 5, 6, 7, false) == {BeaconStateFork.Phase0} + getTargetGossipState(10, 3, 4, 5, 8, true) == {} + getTargetGossipState( 8, 3, 7, 8, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 5, 1, 3, 6, 10, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 1, 0, 1, 2, 7, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 0, 0, 5, 6, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 9, 2, 4, 5, 8, true) == {} + getTargetGossipState( 1, 0, 0, 2, 10, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 3, 0, 3, 7, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(10, 2, 3, 5, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 3, 6, 9, 10, true) == {} + getTargetGossipState( 4, 2, 3, 8, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 1, 3, 10, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 0, 5, 7, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 2, 3, 7, 8, true) == {} + getTargetGossipState( 8, 2, 4, 7, 9, true) == {} + getTargetGossipState(10, 4, 5, 6, 8, true) == {} + getTargetGossipState( 1, 1, 2, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 3, 5, 6, 8, 9, true) == {} + getTargetGossipState( 7, 0, 0, 1, 6, true) == {} + getTargetGossipState( 8, 0, 4, 5, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 0, 6, 8, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 0, 1, 4, 8, 10, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(10, 0, 0, 0, 4, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 3, 5, 9, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 1, 4, 10, 11, true) == {} + getTargetGossipState(11, 1, 8, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 1, 4, 5, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 3, 4, 8, 10, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 5, 7, 8, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 6, 0, 1, 3, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 0, 2, 6, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 3, 0, 5, 9, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 0, 6, 7, 9, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 6, 7, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 2, 3, 4, 8, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState(10, 6, 7, 9, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 5, 1, 2, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(10, 4, 7, 9, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 0, 0, 2, 3, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 6, 0, 5, 7, 8, true) == {} + getTargetGossipState(10, 1, 2, 3, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 3, 3, 5, 7, 8, true) == {} + getTargetGossipState( 7, 1, 2, 3, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 6, 3, 4, 7, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 4, 0, 3, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 0, 0, 0, 2, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 3, 6, 7, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 0, 2, 4, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 4, 9, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 3, 5, 6, 10, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 4, 7, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 9, 0, 5, 8, 10, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 5, 4, 5, 7, 9, true) == {} + getTargetGossipState( 4, 0, 1, 2, 3, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 2, 8, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(10, 0, 1, 4, 5, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 4, 5, 8, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 7, 1, 3, 7, 11, true) == {} + getTargetGossipState(11, 0, 1, 2, 10, true) == {} + getTargetGossipState( 8, 1, 4, 8, 10, true) == {} + getTargetGossipState( 2, 2, 3, 9, 11, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 3, 2, 6, 8, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 7, 0, 7, 8, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 7, 0, 5, 6, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 9, 10, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 9, 4, 5, 6, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 9, 1, 4, 6, 8, true) == {} + getTargetGossipState( 4, 0, 3, 8, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 0, 2, 3, 6, 10, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 9, 2, 4, 7, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 3, 0, 3, 7, 9, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 1, 2, 3, 8, true) == {} + getTargetGossipState( 0, 2, 3, 6, 8, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 7, 6, 9, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 1, 5, 8, 11, true) == {} + getTargetGossipState( 4, 1, 2, 5, 11, true) == {} + getTargetGossipState( 0, 4, 6, 10, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 7, 3, 6, 9, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 0, 4, 6, 7, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 2, 4, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 4, 6, 7, 8, 10, true) == {} + getTargetGossipState(11, 0, 1, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 0, 1, 2, 3, 4, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 3, 5, 6, 7, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 8, 0, 2, 3, 5, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 6, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 1, 2, 3, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 3, 6, 10, true) == {} + getTargetGossipState( 0, 2, 7, 8, 9, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 2, 1, 2, 4, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 6, 0, 2, 7, 8, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 0, 1, 6, 7, 9, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 1, 5, 7, 9, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 1, 1, 8, 9, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 9, 2, 6, 8, 11, true) == {} + getTargetGossipState( 3, 0, 4, 8, 10, false) == {BeaconStateFork.Altair, BeaconStateFork.Bellatrix} + getTargetGossipState( 9, 2, 3, 9, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 0, 1, 2, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(11, 0, 3, 8, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 2, 4, 5, 6, false) == {BeaconStateFork.Altair} + getTargetGossipState( 1, 1, 3, 6, 8, false) == {BeaconStateFork.Altair} + getTargetGossipState( 5, 1, 3, 6, 9, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 5, 1, 3, 6, 10, true) == {} + getTargetGossipState( 3, 2, 3, 8, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 2, 1, 2, 3, 10, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 3, 0, 1, 9, 10, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 0, 1, 3, 7, 9, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 2, 3, 6, 10, 11, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 2, 0, 4, 6, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 0, 8, 9, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 0, 0, 4, 6, 9, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 1, 2, 3, 4, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 4, 0, 3, 4, 7, false) == {BeaconStateFork.Capella} + getTargetGossipState( 0, 2, 3, 8, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 0, 3, 5, 7, 10, true) == {} + getTargetGossipState( 9, 0, 0, 3, 7, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 2, 1, 5, 6, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState(10, 2, 3, 6, 10, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 5, 0, 4, 6, 11, true) == {} + getTargetGossipState( 1, 1, 3, 4, 5, false) == {BeaconStateFork.Altair} + getTargetGossipState(11, 1, 7, 8, 11, true) == {} + getTargetGossipState( 3, 1, 5, 7, 9, true) == {} + getTargetGossipState( 6, 0, 2, 5, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 4, 0, 1, 4, 9, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 4, 8, 9, 11, true) == {} + getTargetGossipState(10, 0, 1, 2, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState(10, 1, 3, 7, 11, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 3, 2, 5, 6, 7, false) == {BeaconStateFork.Altair} + getTargetGossipState( 9, 4, 9, 10, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 2, 2, 4, 9, 10, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 2, 4, 10, 11, true) == {} + getTargetGossipState(11, 0, 8, 10, 11, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 7, 0, 1, 7, 8, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 4, 2, 8, 10, 11, false) == {BeaconStateFork.Altair} + getTargetGossipState( 8, 5, 6, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 8, 1, 5, 8, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 6, 1, 6, 7, 11, false) == {BeaconStateFork.Bellatrix, BeaconStateFork.Capella} + getTargetGossipState( 9, 3, 4, 5, 6, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 1, 0, 3, 4, 7, false) == {BeaconStateFork.Altair} + getTargetGossipState( 6, 1, 2, 3, 11, false) == {BeaconStateFork.Capella} + getTargetGossipState( 1, 2, 5, 9, 10, false) == {BeaconStateFork.Phase0, BeaconStateFork.Altair} + getTargetGossipState( 5, 0, 5, 7, 8, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 8, 0, 3, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState(11, 3, 6, 7, 8, false) == {BeaconStateFork.EIP4844} + getTargetGossipState( 3, 6, 7, 9, 10, true) == {} + getTargetGossipState( 7, 1, 6, 10, 11, false) == {BeaconStateFork.Bellatrix} + getTargetGossipState( 0, 6, 9, 10, 11, false) == {BeaconStateFork.Phase0} + getTargetGossipState( 4, 1, 2, 3, 5, false) == {BeaconStateFork.Capella, BeaconStateFork.EIP4844} + getTargetGossipState( 9, 1, 2, 7, 8, false) == {BeaconStateFork.EIP4844}