core: actually convert transaction pool

This commit is contained in:
Felix Lange
2015-03-17 12:16:21 +01:00
parent ee7202fa00
commit 17c5ba2b6b
3 changed files with 19 additions and 17 deletions

View File

@ -5,7 +5,6 @@ import (
"math/big"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/vm"
)
@ -57,13 +56,8 @@ type Message interface {
Data() []byte
}
func AddressFromMessage(msg Message) []byte {
// Generate a new address
return crypto.Sha3(common.NewValue([]interface{}{msg.From(), msg.Nonce()}).Encode())[12:]
}
func MessageCreatesContract(msg Message) bool {
return len(msg.To()) == 0
return msg.To() == nil
}
func MessageGasValue(msg Message) *big.Int {
@ -93,13 +87,18 @@ func (self *StateTransition) Coinbase() *state.StateObject {
return self.state.GetOrNewStateObject(self.coinbase)
}
func (self *StateTransition) From() *state.StateObject {
return self.state.GetOrNewStateObject(self.msg.From())
f, _ := self.msg.From()
return self.state.GetOrNewStateObject(f)
}
func (self *StateTransition) To() *state.StateObject {
if self.msg != nil && MessageCreatesContract(self.msg) {
if self.msg == nil {
return nil
}
return self.state.GetOrNewStateObject(self.msg.To())
to := self.msg.To()
if to == nil {
return nil // contract creation
}
return self.state.GetOrNewStateObject(*to)
}
func (self *StateTransition) UseGas(amount *big.Int) error {