From b2b1241dd74137b8c17aa70b2225f76297ca00cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 10 Apr 2015 11:20:04 +0300 Subject: [PATCH 1/2] cmd/mist: fix #640, panic converting nil recipient to hex. Fetching the recipient address from a transaction was changed to return nil instead of a zero-address, but this code path was not updated, so whenever a contract was created, a nil panic occured. --- xeth/types.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xeth/types.go b/xeth/types.go index 7390924740..1be5e109ca 100644 --- a/xeth/types.go +++ b/xeth/types.go @@ -140,8 +140,11 @@ type Transaction struct { func NewTx(tx *types.Transaction) *Transaction { hash := tx.Hash().Hex() - receiver := tx.To().Hex() - if len(receiver) == 0 { + + var receiver string + if to := tx.To(); to != nil { + receiver = to.Hex() + } else { receiver = core.AddressFromMessage(tx).Hex() } sender, _ := tx.From() From d1729acd2bb15401e6b9b6a41bd753b122771d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 10 Apr 2015 11:43:08 +0300 Subject: [PATCH 2/2] cmd/mist: fix another nil recipient address panic. --- cmd/mist/gui.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go index d37d6f81b8..66614478c5 100644 --- a/cmd/mist/gui.go +++ b/cmd/mist/gui.go @@ -238,13 +238,11 @@ func (gui *Gui) insertTransaction(window string, tx *types.Transaction) { inout = "recv" } - var ( - ptx = xeth.NewTx(tx) - send = from.Hex() - rec = tx.To().Hex() - ) - ptx.Sender = send - ptx.Address = rec + ptx := xeth.NewTx(tx) + ptx.Sender = from.Hex() + if to := tx.To(); to != nil { + ptx.Address = to.Hex() + } if window == "post" { //gui.getObjectByName("transactionView").Call("addTx", ptx, inout)