diff --git a/snow/consensus/snowman/consensus_test.go b/snow/consensus/snowman/consensus_test.go index 9ea3256131ef..6ad9519afaac 100644 --- a/snow/consensus/snowman/consensus_test.go +++ b/snow/consensus/snowman/consensus_test.go @@ -521,6 +521,10 @@ func RecordPollSplitVoteNoChangeTest(t *testing.T, factory Factory) { firstBlock := snowmantest.BuildChild(snowmantest.Genesis) secondBlock := snowmantest.BuildChild(snowmantest.Genesis) + // Ensure that the blocks have at least one bit as a common prefix + for firstBlock.IDV.Bit(0) != secondBlock.IDV.Bit(0) { + secondBlock = snowmantest.BuildChild(snowmantest.Genesis) + } require.NoError(sm.Add(firstBlock)) require.NoError(sm.Add(secondBlock)) diff --git a/snow/snowtest/context.go b/snow/snowtest/context.go index 68a04491db36..8beb985b91fc 100644 --- a/snow/snowtest/context.go +++ b/snow/snowtest/context.go @@ -12,6 +12,8 @@ import ( "github.com/stretchr/testify/require" "github.com/ava-labs/avalanchego/api/metrics" + "github.com/ava-labs/avalanchego/chains/atomic" + "github.com/ava-labs/avalanchego/database/memdb" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow" "github.com/ava-labs/avalanchego/snow/validators/validatorstest" @@ -19,12 +21,13 @@ import ( "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/crypto/bls/signer/localsigner" "github.com/ava-labs/avalanchego/utils/logging" + "github.com/ava-labs/avalanchego/vms/platformvm/warp" ) var ( + PChainID = constants.PlatformChainID XChainID = ids.GenerateTestID() CChainID = ids.GenerateTestID() - PChainID = constants.PlatformChainID AVAXAssetID = ids.GenerateTestID() errMissing = errors.New("missing") @@ -56,9 +59,12 @@ func Context(tb testing.TB, chainID ids.ID) *snow.Context { require.NoError(err) publicKey := secretKey.PublicKey() + memory := atomic.NewMemory(memdb.New()) + sharedMemory := memory.NewSharedMemory(chainID) + aliaser := ids.NewAliaser() - require.NoError(aliaser.Alias(constants.PlatformChainID, "P")) - require.NoError(aliaser.Alias(constants.PlatformChainID, constants.PlatformChainID.String())) + require.NoError(aliaser.Alias(PChainID, "P")) + require.NoError(aliaser.Alias(PChainID, PChainID.String())) require.NoError(aliaser.Alias(XChainID, "X")) require.NoError(aliaser.Alias(XChainID, XChainID.String())) require.NoError(aliaser.Alias(CChainID, "C")) @@ -69,15 +75,12 @@ func Context(tb testing.TB, chainID ids.ID) *snow.Context { return 0, nil }, GetSubnetIDF: func(_ context.Context, chainID ids.ID) (ids.ID, error) { - subnetID, ok := map[ids.ID]ids.ID{ - constants.PlatformChainID: constants.PrimaryNetworkID, - XChainID: constants.PrimaryNetworkID, - CChainID: constants.PrimaryNetworkID, - }[chainID] - if !ok { + switch chainID { + case PChainID, XChainID, CChainID: + return constants.PrimaryNetworkID, nil + default: return ids.Empty, errMissing } - return subnetID, nil }, } @@ -85,7 +88,7 @@ func Context(tb testing.TB, chainID ids.ID) *snow.Context { NetworkID: constants.UnitTestID, SubnetID: constants.PrimaryNetworkID, ChainID: chainID, - NodeID: ids.EmptyNodeID, + NodeID: ids.GenerateTestNodeID(), PublicKey: publicKey, NetworkUpgrades: upgradetest.GetConfig(upgradetest.Latest), @@ -93,9 +96,12 @@ func Context(tb testing.TB, chainID ids.ID) *snow.Context { CChainID: CChainID, AVAXAssetID: AVAXAssetID, - Log: logging.NoLog{}, - BCLookup: aliaser, - Metrics: metrics.NewPrefixGatherer(), + Log: logging.NoLog{}, + SharedMemory: sharedMemory, + BCLookup: aliaser, + Metrics: metrics.NewPrefixGatherer(), + + WarpSigner: warp.NewSigner(secretKey, constants.UnitTestID, chainID), ValidatorState: validatorState, ChainDataDir: tb.TempDir(),