Skip to content
This repository has been archived by the owner on Feb 17, 2025. It is now read-only.

Commit

Permalink
Changing the forced batch tests to use genesisBlockNumber from the te…
Browse files Browse the repository at this point in the history
…st.genesis.config.json.

Signed-off-by: Nikolay Nedkov <nikolai_nedkov@yahoo.com>
  • Loading branch information
Psykepro committed Oct 18, 2023
1 parent a96fd9f commit d005c03
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 18 deletions.
10 changes: 8 additions & 2 deletions ci/e2e-group10/forced_batches_vector_group2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"testing"
"time"

"github.com/0xPolygonHermez/zkevm-node/config"
"github.com/0xPolygonHermez/zkevm-node/etherman/smartcontracts/polygonzkevm"
"github.com/0xPolygonHermez/zkevm-node/hex"
"github.com/0xPolygonHermez/zkevm-node/log"
Expand All @@ -30,7 +31,11 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
}
vectorFilesDir := "./../vectors/src/state-transition/forced-tx/group2"
ctx := context.Background()
err := filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
genesisFileAsStr, err := config.LoadGenesisFileAsString("../../test/config/test.genesis.config.json")
require.NoError(t, err)
genesisConfig, err := config.LoadGenesisFromJSONString(genesisFileAsStr)
require.NoError(t, err)
err = filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
Expand Down Expand Up @@ -59,7 +64,8 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
log.Info("# Setting Genesis #")
log.Info("###################")
genesisActions := vectors.GenerateGenesisActions(testCase.Genesis)
require.NoError(t, opsman.SetGenesis(genesisActions))

require.NoError(t, opsman.SetGenesis(genesisConfig.Genesis.GenesisBlockNum, genesisActions))
require.NoError(t, opsman.Setup())

// Check initial root
Expand Down
9 changes: 7 additions & 2 deletions ci/e2e-group11/forced_batches_vector_group3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"testing"
"time"

"github.com/0xPolygonHermez/zkevm-node/config"
"github.com/0xPolygonHermez/zkevm-node/etherman/smartcontracts/polygonzkevm"
"github.com/0xPolygonHermez/zkevm-node/hex"
"github.com/0xPolygonHermez/zkevm-node/log"
Expand All @@ -34,7 +35,11 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
}
vectorFilesDir := "./../vectors/src/state-transition/forced-tx/group3"
ctx := context.Background()
err := filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
genesisFileAsStr, err := config.LoadGenesisFileAsString("../../test/config/test.genesis.config.json")
require.NoError(t, err)
genesisConfig, err := config.LoadGenesisFromJSONString(genesisFileAsStr)
require.NoError(t, err)
err = filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
Expand Down Expand Up @@ -63,7 +68,7 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
log.Info("# Setting Genesis #")
log.Info("###################")
genesisActions := vectors.GenerateGenesisActions(testCase.Genesis)
require.NoError(t, opsman.SetGenesis(genesisActions))
require.NoError(t, opsman.SetGenesis(genesisConfig.Genesis.GenesisBlockNum, genesisActions))
require.NoError(t, opsman.Setup())

// Check initial root
Expand Down
9 changes: 7 additions & 2 deletions ci/e2e-group9/forced_batches_vector_group1_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"testing"
"time"

"github.com/0xPolygonHermez/zkevm-node/config"
"github.com/0xPolygonHermez/zkevm-node/etherman/smartcontracts/polygonzkevm"
"github.com/0xPolygonHermez/zkevm-node/hex"
"github.com/0xPolygonHermez/zkevm-node/log"
Expand All @@ -34,7 +35,11 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
}
vectorFilesDir := "./../vectors/src/state-transition/forced-tx/group1"
ctx := context.Background()
err := filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
genesisFileAsStr, err := config.LoadGenesisFileAsString("../../test/config/test.genesis.config.json")
require.NoError(t, err)
genesisConfig, err := config.LoadGenesisFromJSONString(genesisFileAsStr)
require.NoError(t, err)
err = filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
Expand Down Expand Up @@ -63,7 +68,7 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
log.Info("# Setting Genesis #")
log.Info("###################")
genesisActions := vectors.GenerateGenesisActions(testCase.Genesis)
require.NoError(t, opsman.SetGenesis(genesisActions))
require.NoError(t, opsman.SetGenesis(genesisConfig.Genesis.GenesisBlockNum, genesisActions))
require.NoError(t, opsman.SetForkID(forkID6))
require.NoError(t, opsman.Setup())

Expand Down
12 changes: 7 additions & 5 deletions config/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,23 @@ func (cfg *Config) loadNetworkConfig(ctx *cli.Context) {
networkJSON = TestnetNetworkConfigJSON
case string(custom):
var err error
networkJSON, err = loadGenesisFileAsString(ctx)
cfgPath := ctx.String(FlagCustomNetwork)
networkJSON, err = LoadGenesisFileAsString(cfgPath)
if err != nil {
panic(err.Error())
}
default:
log.Fatalf("unsupported --network value. Must be one of: [%s, %s, %s]", mainnet, testnet, custom)
}
config, err := loadGenesisFromJSONString(networkJSON)
config, err := LoadGenesisFromJSONString(networkJSON)
if err != nil {
panic(fmt.Errorf("failed to load genesis configuration from file. Error: %v", err))
}
cfg.NetworkConfig = config
}

func loadGenesisFileAsString(ctx *cli.Context) (string, error) {
cfgPath := ctx.String(FlagCustomNetwork)
// LoadGenesisFileAsString loads the genesis file as a string
func LoadGenesisFileAsString(cfgPath string) (string, error) {
if cfgPath != "" {
f, err := os.Open(cfgPath) //nolint:gosec
if err != nil {
Expand All @@ -109,7 +110,8 @@ func loadGenesisFileAsString(ctx *cli.Context) (string, error) {
}
}

func loadGenesisFromJSONString(jsonStr string) (NetworkConfig, error) {
// LoadGenesisFromJSONString loads the genesis file from JSON string
func LoadGenesisFromJSONString(jsonStr string) (NetworkConfig, error) {
var cfg NetworkConfig

var cfgJSON GenesisFromJSON
Expand Down
9 changes: 7 additions & 2 deletions test/e2e/forced_batches_vector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"testing"
"time"

"github.com/0xPolygonHermez/zkevm-node/config"
"github.com/0xPolygonHermez/zkevm-node/etherman/smartcontracts/polygonzkevm"
"github.com/0xPolygonHermez/zkevm-node/hex"
"github.com/0xPolygonHermez/zkevm-node/log"
Expand All @@ -34,7 +35,11 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
}
vectorFilesDir := "./../vectors/src/state-transition/forced-tx"
ctx := context.Background()
err := filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
genesisFileAsStr, err := config.LoadGenesisFileAsString("../config/test.genesis.config.json")
require.NoError(t, err)
genesisConfig, err := config.LoadGenesisFromJSONString(genesisFileAsStr)
require.NoError(t, err)
err = filepath.Walk(vectorFilesDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
Expand Down Expand Up @@ -63,7 +68,7 @@ func TestForcedBatchesVectorFiles(t *testing.T) {
log.Info("# Setting Genesis #")
log.Info("###################")
genesisActions := vectors.GenerateGenesisActions(testCase.Genesis)
require.NoError(t, opsman.SetGenesis(genesisActions))
require.NoError(t, opsman.SetGenesis(genesisConfig.Genesis.GenesisBlockNum, genesisActions))
require.NoError(t, opsman.Setup())

// Check initial root
Expand Down
7 changes: 6 additions & 1 deletion test/e2e/state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"strconv"
"testing"

"github.com/0xPolygonHermez/zkevm-node/config"
"github.com/0xPolygonHermez/zkevm-node/encoding"
"github.com/0xPolygonHermez/zkevm-node/state"
"github.com/0xPolygonHermez/zkevm-node/test/operations"
Expand All @@ -30,6 +31,10 @@ func TestStateTransition(t *testing.T) {
// Load test vectors
testCases, err := vectors.LoadStateTransitionTestCases("./../vectors/src/state-transition/no-data/general.json")
require.NoError(t, err)
genesisFileAsStr, err := config.LoadGenesisFileAsString("../config/test.genesis.config.json")
require.NoError(t, err)
genesisConfig, err := config.LoadGenesisFromJSONString(genesisFileAsStr)
require.NoError(t, err)

for _, testCase := range testCases {
t.Run(testCase.Description, func(t *testing.T) {
Expand All @@ -54,7 +59,7 @@ func TestStateTransition(t *testing.T) {
for _, gacc := range testCase.GenesisAccounts {
genesisAccounts[gacc.Address] = gacc.Balance.Int
}
require.NoError(t, opsman.SetGenesisAccountsBalance(genesisAccounts))
require.NoError(t, opsman.SetGenesisAccountsBalance(genesisConfig.Genesis.GenesisBlockNum, genesisAccounts))

// Check initial root
require.NoError(t, opsman.CheckVirtualRoot(testCase.ExpectedOldRoot))
Expand Down
8 changes: 4 additions & 4 deletions test/operations/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func (m *Manager) CheckConsolidatedRoot(expectedRoot string) error {
}

// SetGenesisAccountsBalance creates the genesis block in the state.
func (m *Manager) SetGenesisAccountsBalance(genesisAccounts map[string]big.Int) error {
func (m *Manager) SetGenesisAccountsBalance(genesisBlockNumber uint64, genesisAccounts map[string]big.Int) error {
var genesisActions []*state.GenesisAction
for address, balanceValue := range genesisAccounts {
action := &state.GenesisAction{
Expand All @@ -148,12 +148,12 @@ func (m *Manager) SetGenesisAccountsBalance(genesisAccounts map[string]big.Int)
genesisActions = append(genesisActions, action)
}

return m.SetGenesis(genesisActions)
return m.SetGenesis(genesisBlockNumber, genesisActions)
}

func (m *Manager) SetGenesis(genesisActions []*state.GenesisAction) error {
func (m *Manager) SetGenesis(genesisBlockNumber uint64, genesisActions []*state.GenesisAction) error {
genesisBlock := state.Block{
BlockNumber: 102,
BlockNumber: genesisBlockNumber,
BlockHash: state.ZeroHash,
ParentHash: state.ZeroHash,
ReceivedAt: time.Now(),
Expand Down

0 comments on commit d005c03

Please sign in to comment.