Files
prysm/runtime/interop/generate_genesis_state_test.go
Bastin 92bd211e4d upgrade v6 to v7 (#15989)
* upgrade v6 to v7

* changelog

* update-go-ssz
2025-11-06 16:16:23 +00:00

37 lines
1.3 KiB
Go

package interop_test
import (
"testing"
"time"
"github.com/OffchainLabs/prysm/v7/beacon-chain/core/transition"
"github.com/OffchainLabs/prysm/v7/config/params"
"github.com/OffchainLabs/prysm/v7/container/trie"
eth "github.com/OffchainLabs/prysm/v7/proto/prysm/v1alpha1"
"github.com/OffchainLabs/prysm/v7/runtime/interop"
"github.com/OffchainLabs/prysm/v7/testing/assert"
"github.com/OffchainLabs/prysm/v7/testing/require"
)
func TestGenerateGenesisState(t *testing.T) {
numValidators := uint64(64)
privKeys, pubKeys, err := interop.DeterministicallyGenerateKeys(0 /*startIndex*/, numValidators)
require.NoError(t, err)
depositDataItems, depositDataRoots, err := interop.DepositDataFromKeys(privKeys, pubKeys)
require.NoError(t, err)
tr, err := trie.GenerateTrieFromItems(depositDataRoots, params.BeaconConfig().DepositContractTreeDepth)
require.NoError(t, err)
deposits, err := interop.GenerateDepositsFromData(depositDataItems, tr)
require.NoError(t, err)
root, err := tr.HashTreeRoot()
require.NoError(t, err)
genesisState, err := transition.GenesisBeaconState(t.Context(), deposits, 0, &eth.Eth1Data{
DepositRoot: root[:],
DepositCount: uint64(len(deposits)),
})
require.NoError(t, err)
want := int(numValidators)
assert.Equal(t, want, genesisState.NumValidators())
assert.Equal(t, time.Unix(0, 0), genesisState.GenesisTime())
}