aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzelig <viktor.tron@gmail.com>2015-07-27 16:50:29 +0800
committerzelig <viktor.tron@gmail.com>2015-07-27 16:50:29 +0800
commit1356daad276b849a192c84834d78a6cf32d739eb (patch)
treeccb95f6de7633c83016a90a6e87873f00d2b5b56
parentd18d256442e2dc3413ebd9f571e1a5f6be366c09 (diff)
downloadgo-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.tar.gz
go-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.tar.zst
go-tangerine-1356daad276b849a192c84834d78a6cf32d739eb.zip
etherbase defaults to first account even if created during the session
-rw-r--r--cmd/geth/js_test.go3
-rw-r--r--eth/backend.go6
2 files changed, 7 insertions, 2 deletions
diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go
index aebf2d552..67c36dfe7 100644
--- a/cmd/geth/js_test.go
+++ b/cmd/geth/js_test.go
@@ -159,7 +159,7 @@ func TestAccounts(t *testing.T) {
defer os.RemoveAll(tmp)
checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`"]`)
- checkEvalJSON(t, repl, `eth.coinbase`, `null`)
+ checkEvalJSON(t, repl, `eth.coinbase`, `"`+testAddress+`"`)
val, err := repl.re.Run(`personal.newAccount("password")`)
if err != nil {
t.Errorf("expected no error, got %v", err)
@@ -170,6 +170,7 @@ func TestAccounts(t *testing.T) {
}
checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`","`+addr+`"]`)
+
}
func TestBlockChain(t *testing.T) {
diff --git a/eth/backend.go b/eth/backend.go
index cba1b3939..4b8c4858f 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -489,7 +489,11 @@ func (s *Ethereum) StartMining(threads int) error {
func (s *Ethereum) Etherbase() (eb common.Address, err error) {
eb = s.etherbase
if (eb == common.Address{}) {
- err = fmt.Errorf("etherbase address must be explicitly specified")
+ addr, e := s.AccountManager().AddressByIndex(0)
+ if e != nil {
+ err = fmt.Errorf("etherbase address must be explicitly specified")
+ }
+ eb = common.HexToAddress(addr)
}
return
}