fixed call nonce/empty trie bug

This commit is contained in:
zsfelfoldi 2016-06-29 18:28:28 +02:00
parent 8c3701c7c5
commit 68ae0c411d
2 changed files with 11 additions and 1 deletions

View file

@ -579,10 +579,15 @@ func (s *PublicBlockChainAPI) doCall(ctx context.Context, args CallArgs, blockNr
} else {
addr = args.From
}
nonce, err := state.GetNonce(ctx, addr)
if err != nil {
return "0x", common.Big0, err
}
// Assemble the CALL invocation
msg := callmsg{
addr: addr,
nonce: nonce,
to: args.To,
gas: args.Gas.BigInt(),
gasPrice: args.GasPrice.BigInt(),
@ -698,10 +703,15 @@ func (s *PublicBlockChainAPI) TraceCall(ctx context.Context, args CallArgs, bloc
} else {
addr = args.From
}
nonce, err := state.GetNonce(ctx, addr)
if err != nil {
return nil, err
}
// Assemble the CALL invocation
msg := callmsg{
addr: addr,
nonce: nonce,
to: args.To,
gas: args.Gas.BigInt(),
gasPrice: args.GasPrice.BigInt(),

View file

@ -102,7 +102,7 @@ func NewStateObject(address common.Address, odr OdrBackend) *StateObject {
codeHash: emptyCodeHash,
storage: make(Storage),
}
object.trie = NewLightTrie(nil, odr, true)
object.trie = NewLightTrie(&TrieID{}, odr, true)
return object
}