Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ebuchman-badsig
Conflicts: core/transaction_pool.go
This commit is contained in:
commit
207b6c50fb
|
@ -301,7 +301,7 @@ func (gui *Gui) insertTransaction(window string, tx *types.Transaction) {
|
|||
addr := gui.address()
|
||||
|
||||
var inout string
|
||||
if bytes.Compare(tx.Sender(), addr) == 0 {
|
||||
if bytes.Compare(tx.From(), addr) == 0 {
|
||||
inout = "send"
|
||||
} else {
|
||||
inout = "recv"
|
||||
|
@ -321,7 +321,7 @@ func (gui *Gui) insertTransaction(window string, tx *types.Transaction) {
|
|||
if send.Len() != 0 {
|
||||
s = strings.Trim(send.Str(), "\x00")
|
||||
} else {
|
||||
s = ethutil.Bytes2Hex(tx.Sender())
|
||||
s = ethutil.Bytes2Hex(tx.From())
|
||||
}
|
||||
if rec.Len() != 0 {
|
||||
r = strings.Trim(rec.Str(), "\x00")
|
||||
|
@ -453,7 +453,7 @@ func (gui *Gui) update() {
|
|||
tx := ev.Tx
|
||||
object := state.GetAccount(gui.address())
|
||||
|
||||
if bytes.Compare(tx.Sender(), gui.address()) == 0 {
|
||||
if bytes.Compare(tx.From(), gui.address()) == 0 {
|
||||
object.SubAmount(tx.Value())
|
||||
|
||||
gui.txDb.Put(tx.Hash(), tx.RlpEncode())
|
||||
|
|
|
@ -116,7 +116,11 @@ func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error {
|
|||
}
|
||||
|
||||
// Get the sender
|
||||
sender := pool.chainManager.State().GetAccount(tx.Sender())
|
||||
senderAddr := tx.From()
|
||||
if senderAddr == nil {
|
||||
return fmt.Errorf("invalid sender")
|
||||
}
|
||||
sender := pool.chainManager.State().GetAccount(senderAddr)
|
||||
|
||||
totAmount := new(big.Int).Set(tx.Value())
|
||||
// Make sure there's enough in the sender's account. Having insufficient
|
||||
|
@ -193,7 +197,7 @@ func (pool *TxPool) RemoveInvalid(state *state.StateDB) {
|
|||
|
||||
for e := pool.pool.Front(); e != nil; e = e.Next() {
|
||||
tx := e.Value.(*types.Transaction)
|
||||
sender := state.GetAccount(tx.Sender())
|
||||
sender := state.GetAccount(tx.From())
|
||||
err := pool.ValidateTransaction(tx)
|
||||
if err != nil || sender.Nonce >= tx.Nonce() {
|
||||
pool.pool.Remove(e)
|
||||
|
|
|
@ -77,7 +77,7 @@ func (self *Transaction) SetNonce(nonce uint64) {
|
|||
}
|
||||
|
||||
func (self *Transaction) From() []byte {
|
||||
return self.Sender()
|
||||
return self.sender()
|
||||
}
|
||||
|
||||
func (self *Transaction) To() []byte {
|
||||
|
@ -114,12 +114,12 @@ func (tx *Transaction) PublicKey() []byte {
|
|||
return pubkey
|
||||
}
|
||||
|
||||
func (tx *Transaction) Sender() []byte {
|
||||
func (tx *Transaction) sender() []byte {
|
||||
pubkey := tx.PublicKey()
|
||||
|
||||
// Validate the returned key.
|
||||
// Return nil if public key isn't in full format
|
||||
if len(pubkey) != 0 && pubkey[0] != 4 {
|
||||
if len(pubkey) == 0 || pubkey[0] != 4 {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -187,7 +187,7 @@ func (tx *Transaction) String() string {
|
|||
`,
|
||||
tx.Hash(),
|
||||
len(tx.recipient) == 0,
|
||||
tx.Sender(),
|
||||
tx.From(),
|
||||
tx.recipient,
|
||||
tx.nonce,
|
||||
tx.gasPrice,
|
||||
|
|
|
@ -100,7 +100,7 @@ func NewJSTx(tx *types.Transaction, state *state.StateDB) *JSTransaction {
|
|||
if receiver == "0000000000000000000000000000000000000000" {
|
||||
receiver = ethutil.Bytes2Hex(core.AddressFromMessage(tx))
|
||||
}
|
||||
sender := ethutil.Bytes2Hex(tx.Sender())
|
||||
sender := ethutil.Bytes2Hex(tx.From())
|
||||
createsContract := core.MessageCreatesContract(tx)
|
||||
|
||||
var data string
|
||||
|
|
Loading…
Reference in New Issue