Further changes to enable the shanghai fork as well as redefining the random opcode
This commit is contained in:
parent
2a41f9d36f
commit
98464ca463
@ -60,6 +60,11 @@ func NewEVMInterpreter(evm *EVM) *EVMInterpreter {
|
||||
table = &cancunInstructionSet
|
||||
case evm.chainRules.IsShanghai:
|
||||
table = &shanghaiInstructionSet
|
||||
// begin PluGeth injection
|
||||
if !evm.chainRules.IsMerge {
|
||||
table[RANDOM] = frontierInstructionSet[DIFFICULTY]
|
||||
}
|
||||
// end PluGeth injection
|
||||
case evm.chainRules.IsMerge:
|
||||
table = &mergeInstructionSet
|
||||
case evm.chainRules.IsLondon:
|
||||
@ -72,10 +77,12 @@ func NewEVMInterpreter(evm *EVM) *EVMInterpreter {
|
||||
table = &constantinopleInstructionSet
|
||||
case evm.chainRules.IsByzantium:
|
||||
table = &byzantiumInstructionSet
|
||||
|
||||
// begin PluGeth injection
|
||||
case evm.chainRules.IsEIP160:
|
||||
// end PluGeth injection
|
||||
table = &spuriousDragonInstructionSet
|
||||
// end PluGeth injection
|
||||
|
||||
case evm.chainRules.IsEIP150:
|
||||
table = &tangerineWhistleInstructionSet
|
||||
case evm.chainRules.IsHomestead:
|
||||
|
@ -933,7 +933,11 @@ func (c *ChainConfig) Rules(num *big.Int, isMerge bool, timestamp uint64) Rules
|
||||
IsBerlin: c.IsBerlin(num),
|
||||
IsLondon: c.IsLondon(num),
|
||||
IsMerge: isMerge,
|
||||
IsShanghai: isMerge && c.IsShanghai(num, timestamp),
|
||||
// IsShanghai: isMerge && c.IsShanghai(num, timestamp),
|
||||
// the above is being commented and replaced with the plugeth code below to hotwire the chainrules to allow shanghai without the merge
|
||||
// begin PluGeth injection
|
||||
IsShanghai: c.IsShanghai(num, timestamp),
|
||||
// end PluGeth injection
|
||||
IsCancun: isMerge && c.IsCancun(num, timestamp),
|
||||
IsPrague: isMerge && c.IsPrague(num, timestamp),
|
||||
IsVerkle: isMerge && c.IsVerkle(num, timestamp),
|
||||
|
Loading…
Reference in New Issue
Block a user