erigon-pulse/cl/transition/impl/eth2/block_processing_test.go
2023-06-14 10:01:00 +07:00

29 lines
950 B
Go

package eth2_test
import (
_ "embed"
"testing"
"github.com/stretchr/testify/require"
"github.com/ledgerwatch/erigon/cl/clparams"
"github.com/ledgerwatch/erigon/cl/cltypes"
"github.com/ledgerwatch/erigon/cl/phase1/core/state"
"github.com/ledgerwatch/erigon/cl/transition"
"github.com/ledgerwatch/erigon/cl/utils"
)
//go:embed statechange/test_data/block_processing/capella_block.ssz_snappy
var capellaBlock []byte
//go:embed statechange/test_data/block_processing/capella_state.ssz_snappy
var capellaState []byte
func TestBlockProcessing(t *testing.T) {
s := state.New(&clparams.MainnetBeaconConfig)
require.NoError(t, utils.DecodeSSZSnappy(s, capellaState, int(clparams.CapellaVersion)))
block := &cltypes.SignedBeaconBlock{}
require.NoError(t, utils.DecodeSSZSnappy(block, capellaBlock, int(clparams.CapellaVersion)))
require.NoError(t, transition.TransitionState(s, block, true)) // All checks already made in transition state
}