rpc/api allow empty password

pull/1739/head
Bas van Kervel 9 years ago
parent 6ec13e7e2b
commit 39e9560600
  1. 4
      rpc/api/personal.go
  2. 4
      rpc/api/personal_args.go

@ -110,7 +110,7 @@ func (self *personalApi) UnlockAccount(req *shared.Request) (interface{}, error)
return nil, shared.NewDecodeParamError(err.Error()) return nil, shared.NewDecodeParamError(err.Error())
} }
if len(args.Passphrase) == 0 { if args.Passphrase == nil {
fe := self.xeth.Frontend() fe := self.xeth.Frontend()
if fe == nil { if fe == nil {
return false, fmt.Errorf("No password provided") return false, fmt.Errorf("No password provided")
@ -121,6 +121,6 @@ func (self *personalApi) UnlockAccount(req *shared.Request) (interface{}, error)
am := self.ethereum.AccountManager() am := self.ethereum.AccountManager()
addr := common.HexToAddress(args.Address) addr := common.HexToAddress(args.Address)
err := am.TimedUnlock(addr, args.Passphrase, time.Duration(args.Duration)*time.Second) err := am.TimedUnlock(addr, *args.Passphrase, time.Duration(args.Duration)*time.Second)
return err == nil, err return err == nil, err
} }

@ -46,7 +46,7 @@ func (args *NewAccountArgs) UnmarshalJSON(b []byte) (err error) {
type UnlockAccountArgs struct { type UnlockAccountArgs struct {
Address string Address string
Passphrase string Passphrase *string
Duration int Duration int
} }
@ -70,7 +70,7 @@ func (args *UnlockAccountArgs) UnmarshalJSON(b []byte) (err error) {
if len(obj) >= 2 && obj[1] != nil { if len(obj) >= 2 && obj[1] != nil {
if passphrasestr, ok := obj[1].(string); ok { if passphrasestr, ok := obj[1].(string); ok {
args.Passphrase = passphrasestr args.Passphrase = &passphrasestr
} else { } else {
return shared.NewInvalidTypeError("passphrase", "not a string") return shared.NewInvalidTypeError("passphrase", "not a string")
} }

Loading…
Cancel
Save