Przeglądaj źródła

rpc/api allow empty password

Bas van Kervel 10 lat temu
rodzic
commit
39e9560600
2 zmienionych plików z 4 dodań i 4 usunięć
  1. 2 2
      rpc/api/personal.go
  2. 2 2
      rpc/api/personal_args.go

+ 2 - 2
rpc/api/personal.go

@@ -110,7 +110,7 @@ func (self *personalApi) UnlockAccount(req *shared.Request) (interface{}, error)
 		return nil, shared.NewDecodeParamError(err.Error())
 	}
 
-	if len(args.Passphrase) == 0 {
+	if args.Passphrase == nil {
 		fe := self.xeth.Frontend()
 		if fe == nil {
 			return false, fmt.Errorf("No password provided")
@@ -121,6 +121,6 @@ func (self *personalApi) UnlockAccount(req *shared.Request) (interface{}, error)
 	am := self.ethereum.AccountManager()
 	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
 }

+ 2 - 2
rpc/api/personal_args.go

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