tests

package
v0.12.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2023 License: GPL-3.0, LGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Forks = map[string]*params.ChainConfig{
	"Frontier": {
		ChainID: big.NewInt(1),
	},
	"Homestead": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
	},
	"EIP150": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		EIP150Block:    big.NewInt(0),
	},
	"EIP158": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		EIP150Block:    big.NewInt(0),
		EIP155Block:    big.NewInt(0),
		EIP158Block:    big.NewInt(0),
	},
	"Byzantium": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		EIP150Block:    big.NewInt(0),
		EIP155Block:    big.NewInt(0),
		EIP158Block:    big.NewInt(0),
		DAOForkBlock:   big.NewInt(0),
		ByzantiumBlock: big.NewInt(0),
	},
	"Constantinople": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		DAOForkBlock:        big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(10000000),
	},
	"ConstantinopleFix": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		DAOForkBlock:        big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(0),
	},
	"Istanbul": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		DAOForkBlock:        big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(0),
		IstanbulBlock:       big.NewInt(0),
	},
	"MuirGlacier": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		DAOForkBlock:        big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(0),
		IstanbulBlock:       big.NewInt(0),
		MuirGlacierBlock:    big.NewInt(0),
	},
	"FrontierToHomesteadAt5": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(5),
	},
	"HomesteadToEIP150At5": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		EIP150Block:    big.NewInt(5),
	},
	"HomesteadToDaoAt5": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		DAOForkBlock:   big.NewInt(5),
		DAOForkSupport: true,
	},
	"EIP158ToByzantiumAt5": {
		ChainID:        big.NewInt(1),
		HomesteadBlock: big.NewInt(0),
		EIP150Block:    big.NewInt(0),
		EIP155Block:    big.NewInt(0),
		EIP158Block:    big.NewInt(0),
		ByzantiumBlock: big.NewInt(5),
	},
	"ByzantiumToConstantinopleAt5": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(5),
	},
	"ByzantiumToConstantinopleFixAt5": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(5),
		PetersburgBlock:     big.NewInt(5),
	},
	"ConstantinopleFixToIstanbulAt5": {
		ChainID:             big.NewInt(1),
		HomesteadBlock:      big.NewInt(0),
		EIP150Block:         big.NewInt(0),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(0),
		IstanbulBlock:       big.NewInt(5),
	},
	"ApricotPhase1": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
	},
	"ApricotPhase2": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		MuirGlacierBlock:            big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
	},
	"ApricotPhase3": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		MuirGlacierBlock:            big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
	},
	"ApricotPhase4": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		MuirGlacierBlock:            big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
		ApricotPhase4BlockTimestamp: utils.NewUint64(0),
	},
	"ApricotPhase5": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
		ApricotPhase4BlockTimestamp: utils.NewUint64(0),
		ApricotPhase5BlockTimestamp: utils.NewUint64(0),
	},
	"Banff": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
		ApricotPhase4BlockTimestamp: utils.NewUint64(0),
		ApricotPhase5BlockTimestamp: utils.NewUint64(0),
		BanffBlockTimestamp:         utils.NewUint64(0),
	},
	"Cortina": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
		ApricotPhase4BlockTimestamp: utils.NewUint64(0),
		ApricotPhase5BlockTimestamp: utils.NewUint64(0),
		BanffBlockTimestamp:         utils.NewUint64(0),
		CortinaBlockTimestamp:       utils.NewUint64(0),
	},
	"DUpgrade": {
		ChainID:                     big.NewInt(1),
		HomesteadBlock:              big.NewInt(0),
		EIP150Block:                 big.NewInt(0),
		EIP155Block:                 big.NewInt(0),
		EIP158Block:                 big.NewInt(0),
		ByzantiumBlock:              big.NewInt(0),
		ConstantinopleBlock:         big.NewInt(0),
		PetersburgBlock:             big.NewInt(0),
		IstanbulBlock:               big.NewInt(0),
		ApricotPhase1BlockTimestamp: utils.NewUint64(0),
		ApricotPhase2BlockTimestamp: utils.NewUint64(0),
		ApricotPhase3BlockTimestamp: utils.NewUint64(0),
		ApricotPhase4BlockTimestamp: utils.NewUint64(0),
		ApricotPhase5BlockTimestamp: utils.NewUint64(0),
		BanffBlockTimestamp:         utils.NewUint64(0),
		CortinaBlockTimestamp:       utils.NewUint64(0),
		DUpgradeBlockTimestamp:      utils.NewUint64(0),
	},
}

Forks table defines supported forks and their chain config.

Functions

func AvailableForks

func AvailableForks() []string

AvailableForks returns the set of defined fork names

func FromHex

func FromHex(s string) ([]byte, error)

FromHex returns the bytes represented by the hexadecimal string s. s may be prefixed with "0x". This is copy-pasted from bytes.go, which does not return the error

func MakePreState

func MakePreState(db ethdb.Database, accounts core.GenesisAlloc, snapshotter bool) (*snapshot.Tree, *state.StateDB)

Types

type RLPTest

type RLPTest struct {
	// If the value of In is "INVALID" or "VALID", the test
	// checks whether Out can be decoded into a value of
	// type interface{}.
	//
	// For other JSON values, In is treated as a driver for
	// calls to rlp.Stream. The test also verifies that encoding
	// In produces the bytes in Out.
	In interface{}

	// Out is a hex-encoded RLP value.
	Out string
}

RLPTest is the JSON structure of a single RLP test.

func (*RLPTest) Run

func (t *RLPTest) Run() error

Run executes the test.

type UnsupportedForkError

type UnsupportedForkError struct {
	Name string
}

UnsupportedForkError is returned when a test requests a fork that isn't implemented.

func (UnsupportedForkError) Error

func (e UnsupportedForkError) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL