342ae7ce7d
The EVM was previously initialised and created for every CALL, CALLCODE, DELEGATECALL and CREATE. This PR changes this behaviour so that the same EVM can be used through the session and beyond as long as the Environment sticks around.
25 lines
488 B
Go
25 lines
488 B
Go
package vm
|
|
|
|
import (
|
|
"math/big"
|
|
"testing"
|
|
|
|
"github.com/ethereum/go-ethereum/params"
|
|
)
|
|
|
|
func TestInit(t *testing.T) {
|
|
params.HomesteadBlock = big.NewInt(1)
|
|
|
|
jumpTable := newJumpTable(big.NewInt(0))
|
|
if jumpTable[DELEGATECALL].valid {
|
|
t.Error("Expected DELEGATECALL not to be present")
|
|
}
|
|
|
|
for _, n := range []int64{1, 2, 100} {
|
|
jumpTable := newJumpTable(big.NewInt(n))
|
|
if !jumpTable[DELEGATECALL].valid {
|
|
t.Error("Expected DELEGATECALL to be present for block", n)
|
|
}
|
|
}
|
|
}
|