diff --git a/simulators/ethereum/consensus/forks.go b/simulators/ethereum/consensus/forks.go new file mode 100644 index 0000000000..fe3a024f9c --- /dev/null +++ b/simulators/ethereum/consensus/forks.go @@ -0,0 +1,313 @@ +package main + +var envForks = map[string]map[string]int{ + "Frontier": { + "HIVE_FORK_HOMESTEAD": 2000, + "HIVE_FORK_DAO_BLOCK": 2000, + "HIVE_FORK_TANGERINE": 2000, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "Homestead": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_DAO_BLOCK": 2000, + "HIVE_FORK_TANGERINE": 2000, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "EIP150": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "EIP158": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "Byzantium": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "Constantinople": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "ConstantinopleFix": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "Istanbul": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "Berlin": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 2000, + }, + "FrontierToHomesteadAt5": { + "HIVE_FORK_HOMESTEAD": 5, + "HIVE_FORK_DAO_BLOCK": 2000, + "HIVE_FORK_TANGERINE": 2000, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "HomesteadToEIP150At5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 5, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "HomesteadToDaoAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_DAO_BLOCK": 5, + "HIVE_FORK_TANGERINE": 2000, + "HIVE_FORK_SPURIOUS": 2000, + "HIVE_FORK_BYZANTIUM": 2000, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "EIP158ToByzantiumAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 5, + "HIVE_FORK_CONSTANTINOPLE": 2000, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "ByzantiumToConstantinopleAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 5, + "HIVE_FORK_PETERSBURG": 2000, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "ByzantiumToConstantinopleFixAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 5, + "HIVE_FORK_PETERSBURG": 5, + "HIVE_FORK_ISTANBUL": 2000, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "ConstantinopleFixToIstanbulAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 5, + "HIVE_FORK_BERLIN": 2000, + "HIVE_FORK_LONDON": 2000, + }, + "IstanbulToBerlinAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 5, + "HIVE_FORK_LONDON": 2000, + }, + "BerlinToLondonAt5": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 5, + }, + "London": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + }, + "ArrowGlacierToMergeAtDiffC0000": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 786432, + }, + "Merge": { // Remove once Paris replaces Merge + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + }, + "Paris": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + }, + "Shanghai": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + "HIVE_SHANGHAI_TIMESTAMP": 0, + }, + "MergeToShanghaiAtTime15k": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + "HIVE_SHANGHAI_TIMESTAMP": 15000, + }, + "Cancun": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + "HIVE_SHANGHAI_TIMESTAMP": 0, + "HIVE_CANCUN_TIMESTAMP": 0, + }, + "ShanghaiToCancunAtTime15k": { + "HIVE_FORK_HOMESTEAD": 0, + "HIVE_FORK_TANGERINE": 0, + "HIVE_FORK_SPURIOUS": 0, + "HIVE_FORK_BYZANTIUM": 0, + "HIVE_FORK_CONSTANTINOPLE": 0, + "HIVE_FORK_PETERSBURG": 0, + "HIVE_FORK_ISTANBUL": 0, + "HIVE_FORK_BERLIN": 0, + "HIVE_FORK_LONDON": 0, + "HIVE_FORK_MERGE": 0, + "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, + "HIVE_SHANGHAI_TIMESTAMP": 0, + "HIVE_CANCUN_TIMESTAMP": 15000, + }, +} \ No newline at end of file diff --git a/simulators/ethereum/consensus/main.go b/simulators/ethereum/consensus/main.go index d08cd79b26..ba854dde64 100644 --- a/simulators/ethereum/consensus/main.go +++ b/simulators/ethereum/consensus/main.go @@ -19,314 +19,6 @@ import ( "github.com/ethereum/hive/hivesim" ) -type envvars map[string]int - -var ruleset = map[string]envvars{ - "Frontier": { - "HIVE_FORK_HOMESTEAD": 2000, - "HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 2000, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "Homestead": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 2000, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "EIP150": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "EIP158": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "Byzantium": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "Constantinople": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "ConstantinopleFix": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "Istanbul": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "Berlin": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 2000, - }, - "FrontierToHomesteadAt5": { - "HIVE_FORK_HOMESTEAD": 5, - "HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 2000, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "HomesteadToEIP150At5": { - "HIVE_FORK_HOMESTEAD": 0, - // "HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 5, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "HomesteadToDaoAt5": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_DAO_BLOCK": 5, - "HIVE_FORK_TANGERINE": 2000, - "HIVE_FORK_SPURIOUS": 2000, - "HIVE_FORK_BYZANTIUM": 2000, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "EIP158ToByzantiumAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 5, - "HIVE_FORK_CONSTANTINOPLE": 2000, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "ByzantiumToConstantinopleAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 5, - "HIVE_FORK_PETERSBURG": 2000, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "ByzantiumToConstantinopleFixAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 5, - "HIVE_FORK_PETERSBURG": 5, - "HIVE_FORK_ISTANBUL": 2000, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "ConstantinopleFixToIstanbulAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 5, - "HIVE_FORK_BERLIN": 2000, - "HIVE_FORK_LONDON": 2000, - }, - "IstanbulToBerlinAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 5, - "HIVE_FORK_LONDON": 2000, - }, - "BerlinToLondonAt5": { - "HIVE_FORK_HOMESTEAD": 0, - //"HIVE_FORK_DAO_BLOCK": 2000, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 5, - }, - "London": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - }, - "ArrowGlacierToMergeAtDiffC0000": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 786432, - }, - "Merge": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_FORK_MERGE": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, - }, - "Shanghai": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_FORK_MERGE": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, - "HIVE_SHANGHAI_TIMESTAMP": 0, - }, - "MergeToShanghaiAtTime15k": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_FORK_MERGE": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, - "HIVE_SHANGHAI_TIMESTAMP": 15000, - }, - "Cancun": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_FORK_MERGE": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, - "HIVE_SHANGHAI_TIMESTAMP": 0, - "HIVE_CANCUN_TIMESTAMP": 0, - }, - "ShanghaiToCancunAtTime15k": { - "HIVE_FORK_HOMESTEAD": 0, - "HIVE_FORK_TANGERINE": 0, - "HIVE_FORK_SPURIOUS": 0, - "HIVE_FORK_BYZANTIUM": 0, - "HIVE_FORK_CONSTANTINOPLE": 0, - "HIVE_FORK_PETERSBURG": 0, - "HIVE_FORK_ISTANBUL": 0, - "HIVE_FORK_BERLIN": 0, - "HIVE_FORK_LONDON": 0, - "HIVE_FORK_MERGE": 0, - "HIVE_TERMINAL_TOTAL_DIFFICULTY": 0, - "HIVE_SHANGHAI_TIMESTAMP": 0, - "HIVE_CANCUN_TIMESTAMP": 15000, - }, -} - func main() { suite := hivesim.Suite{ Name: "consensus", @@ -470,7 +162,7 @@ type testcase struct { // validate returns error if the test's chain rules are not supported. func (tc *testcase) validate() error { net := tc.blockTest.json.Network - if _, exist := ruleset[net]; !exist { + if _, exist := envForks[net]; !exist { return fmt.Errorf("network `%v` not defined in ruleset", net) } return nil @@ -539,9 +231,9 @@ func (tc *testcase) run(t *hivesim.T) { // updateEnv sets environment variables from the test func (tc *testcase) updateEnv(env hivesim.Params) { - // Environment variables for rules. - rules := ruleset[tc.blockTest.json.Network] - for k, v := range rules { + // Environment variables for fork rules + forks := envForks[tc.blockTest.json.Network] + for k, v := range forks { env[k] = fmt.Sprintf("%d", v) } // Possibly disable POW.