diff options
Diffstat (limited to 'xeth')
-rw-r--r-- | xeth/types.go | 3 | ||||
-rw-r--r-- | xeth/xeth.go | 9 |
2 files changed, 9 insertions, 3 deletions
diff --git a/xeth/types.go b/xeth/types.go index 1d6a0c5ca..cc06a8dcd 100644 --- a/xeth/types.go +++ b/xeth/types.go @@ -149,7 +149,8 @@ func NewTx(tx *types.Transaction) *Transaction { if to := tx.To(); to != nil { receiver = to.Hex() } else { - receiver = core.AddressFromMessage(tx).Hex() + from, _ := tx.From() + receiver = crypto.CreateAddress(from, tx.Nonce()).Hex() } createsContract := core.MessageCreatesContract(tx) diff --git a/xeth/xeth.go b/xeth/xeth.go index 0dbedff43..2a1366fe1 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -802,7 +802,12 @@ func (self *XEth) PushTx(encodedTx string) (string, error) { } if tx.To() == nil { - addr := core.AddressFromMessage(tx) + from, err := tx.From() + if err != nil { + return "", err + } + + addr := crypto.CreateAddress(from, tx.Nonce()) glog.V(logger.Info).Infof("Tx(%x) created: %x\n", tx.Hash(), addr) return addr.Hex(), nil } else { @@ -969,7 +974,7 @@ func (self *XEth) Transact(fromStr, toStr, nonceStr, valueStr, gasStr, gasPriceS } if contractCreation { - addr := core.AddressFromMessage(tx) + addr := crypto.CreateAddress(from, nonce) glog.V(logger.Info).Infof("Tx(%x) created: %x\n", tx.Hash(), addr) return addr.Hex(), nil } else { |