forked from cerc-io/plugeth
fixed stack level
This commit is contained in:
parent
fd5c5b2969
commit
c59c826ab4
@ -85,9 +85,6 @@
|
||||
|
||||
function refresh() {
|
||||
document.querySelector("#balance").innerHTML = contract.call({from:eth.coinbase}).balance(eth.coinbase);
|
||||
|
||||
var table = document.querySelector("#table_body");
|
||||
table.innerHTML = ""; // clear
|
||||
}
|
||||
|
||||
function transact() {
|
||||
|
@ -2,8 +2,9 @@ package vm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/ethereum/go-ethereum/params"
|
||||
"math/big"
|
||||
|
||||
"github.com/ethereum/go-ethereum/params"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -37,8 +38,8 @@ func baseCheck(op OpCode, stack *stack, gas *big.Int) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if r.stackPush && len(stack.data)-r.stackPop+1 > int(params.StackLimit.Int64()) {
|
||||
return fmt.Errorf("stack limit reached (%d)", params.StackLimit.Int64())
|
||||
if r.stackPush && len(stack.data)-r.stackPop > int(params.StackLimit.Int64()) {
|
||||
return fmt.Errorf("stack limit reached %d (%d)", len(stack.data), params.StackLimit.Int64())
|
||||
}
|
||||
|
||||
gas.Add(gas, r.gas)
|
||||
|
@ -81,6 +81,13 @@ func RunVmTest(p string, t *testing.T) {
|
||||
helper.CreateFileTests(t, p, &tests)
|
||||
|
||||
for name, test := range tests {
|
||||
/*
|
||||
vm.Debug = true
|
||||
helper.Logger.SetLogLevel(5)
|
||||
if name != "Call1MB1024Calldepth" {
|
||||
continue
|
||||
}
|
||||
*/
|
||||
db, _ := ethdb.NewMemDatabase()
|
||||
statedb := state.New(common.Hash{}, db)
|
||||
for addr, account := range test.Pre {
|
||||
@ -311,3 +318,24 @@ func TestStateTransaction(t *testing.T) {
|
||||
const fn = "../files/StateTests/stTransactionTest.json"
|
||||
RunVmTest(fn, t)
|
||||
}
|
||||
|
||||
func TestCallCreateCallCode(t *testing.T) {
|
||||
const fn = "../files/StateTests/stCallCreateCallCodeTest.json"
|
||||
RunVmTest(fn, t)
|
||||
}
|
||||
|
||||
func TestMemory(t *testing.T) {
|
||||
const fn = "../files/StateTests/stMemoryTest.json"
|
||||
RunVmTest(fn, t)
|
||||
}
|
||||
|
||||
func TestQuadraticComplexity(t *testing.T) {
|
||||
t.Skip() // takes too long
|
||||
const fn = "../files/StateTests/stQuadraticComplexityTest.json"
|
||||
RunVmTest(fn, t)
|
||||
}
|
||||
|
||||
func TestSolidity(t *testing.T) {
|
||||
const fn = "../files/StateTests/stSolidityTest.json"
|
||||
RunVmTest(fn, t)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user