Merge branch 'release/0.9.36' into develop

This commit is contained in:
Jeffrey Wilcke 2015-07-07 15:13:11 +02:00
commit 0c9c5439d4
3 changed files with 21 additions and 14 deletions

View File

@ -49,7 +49,7 @@ import (
const ( const (
ClientIdentifier = "Geth" ClientIdentifier = "Geth"
Version = "0.9.35" Version = "0.9.36"
) )
var ( var (
@ -458,17 +458,20 @@ func execJSFiles(ctx *cli.Context) {
func unlockAccount(ctx *cli.Context, am *accounts.Manager, addr string, i int) (addrHex, auth string) { func unlockAccount(ctx *cli.Context, am *accounts.Manager, addr string, i int) (addrHex, auth string) {
var err error var err error
addrHex = utils.ParamToAddress(addr, am) addrHex, err = utils.ParamToAddress(addr, am)
// Attempt to unlock the account 3 times if err == nil {
attempts := 3 // Attempt to unlock the account 3 times
for tries := 0; tries < attempts; tries++ { attempts := 3
msg := fmt.Sprintf("Unlocking account %s | Attempt %d/%d", addr, tries+1, attempts) for tries := 0; tries < attempts; tries++ {
auth = getPassPhrase(ctx, msg, false, i) msg := fmt.Sprintf("Unlocking account %s | Attempt %d/%d", addr, tries+1, attempts)
err = am.Unlock(common.HexToAddress(addrHex), auth) auth = getPassPhrase(ctx, msg, false, i)
if err == nil { err = am.Unlock(common.HexToAddress(addrHex), auth)
break if err == nil {
break
}
} }
} }
if err != nil { if err != nil {
utils.Fatalf("Unlock account failed '%v'", err) utils.Fatalf("Unlock account failed '%v'", err)
} }

View File

@ -369,6 +369,10 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
clientID += "/" + customName clientID += "/" + customName
} }
am := MakeAccountManager(ctx) am := MakeAccountManager(ctx)
etherbase, err := ParamToAddress(ctx.GlobalString(EtherbaseFlag.Name), am)
if err != nil {
glog.V(logger.Error).Infoln("WARNING: No etherbase set and no accounts found as default")
}
return &eth.Config{ return &eth.Config{
Name: common.MakeName(clientID, version), Name: common.MakeName(clientID, version),
@ -380,7 +384,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
LogFile: ctx.GlobalString(LogFileFlag.Name), LogFile: ctx.GlobalString(LogFileFlag.Name),
Verbosity: ctx.GlobalInt(VerbosityFlag.Name), Verbosity: ctx.GlobalInt(VerbosityFlag.Name),
LogJSON: ctx.GlobalString(LogJSONFlag.Name), LogJSON: ctx.GlobalString(LogJSONFlag.Name),
Etherbase: common.HexToAddress(ParamToAddress(ctx.GlobalString(EtherbaseFlag.Name), am)), Etherbase: common.HexToAddress(etherbase),
MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name), MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
AccountManager: am, AccountManager: am,
VmDebug: ctx.GlobalBool(VMDebugFlag.Name), VmDebug: ctx.GlobalBool(VMDebugFlag.Name),
@ -508,7 +512,7 @@ func StartPProf(ctx *cli.Context) {
}() }()
} }
func ParamToAddress(addr string, am *accounts.Manager) (addrHex string) { func ParamToAddress(addr string, am *accounts.Manager) (addrHex string, err error) {
if !((len(addr) == 40) || (len(addr) == 42)) { // with or without 0x if !((len(addr) == 40) || (len(addr) == 42)) { // with or without 0x
index, err := strconv.Atoi(addr) index, err := strconv.Atoi(addr)
if err != nil { if err != nil {
@ -517,7 +521,7 @@ func ParamToAddress(addr string, am *accounts.Manager) (addrHex string) {
addrHex, err = am.AddressByIndex(index) addrHex, err = am.AddressByIndex(index)
if err != nil { if err != nil {
Fatalf("%v", err) return "", err
} }
} else { } else {
addrHex = addr addrHex = addr

View File

@ -141,7 +141,7 @@ func testEth(t *testing.T) (ethereum *eth.Ethereum, err error) {
AccountManager: am, AccountManager: am,
MaxPeers: 0, MaxPeers: 0,
PowTest: true, PowTest: true,
Etherbase: testAddress, Etherbase: common.HexToAddress(testAddress),
}) })
if err != nil { if err != nil {