diff options
Diffstat (limited to 'rpc/api')
-rw-r--r-- | rpc/api/personal.go | 20 | ||||
-rw-r--r-- | rpc/api/personal_args.go | 34 | ||||
-rw-r--r-- | rpc/api/shh.go | 1 | ||||
-rw-r--r-- | rpc/api/utils.go | 1 |
4 files changed, 5 insertions, 51 deletions
diff --git a/rpc/api/personal.go b/rpc/api/personal.go index 6c73ac83d..1fb412612 100644 --- a/rpc/api/personal.go +++ b/rpc/api/personal.go @@ -36,7 +36,6 @@ var ( personalMapping = map[string]personalhandler{ "personal_listAccounts": (*personalApi).ListAccounts, "personal_newAccount": (*personalApi).NewAccount, - "personal_deleteAccount": (*personalApi).DeleteAccount, "personal_unlockAccount": (*personalApi).UnlockAccount, } ) @@ -105,28 +104,13 @@ func (self *personalApi) NewAccount(req *shared.Request) (interface{}, error) { return acc.Address.Hex(), err } -func (self *personalApi) DeleteAccount(req *shared.Request) (interface{}, error) { - args := new(DeleteAccountArgs) - if err := self.codec.Decode(req.Params, &args); err != nil { - return nil, shared.NewDecodeParamError(err.Error()) - } - - addr := common.HexToAddress(args.Address) - am := self.ethereum.AccountManager() - if err := am.DeleteAccount(addr, args.Passphrase); err == nil { - return true, nil - } else { - return false, err - } -} - func (self *personalApi) UnlockAccount(req *shared.Request) (interface{}, error) { args := new(UnlockAccountArgs) if err := self.codec.Decode(req.Params, &args); err != nil { 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") @@ -137,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 } diff --git a/rpc/api/personal_args.go b/rpc/api/personal_args.go index 5a584fb0c..73dc6285e 100644 --- a/rpc/api/personal_args.go +++ b/rpc/api/personal_args.go @@ -44,39 +44,9 @@ func (args *NewAccountArgs) UnmarshalJSON(b []byte) (err error) { return shared.NewInvalidTypeError("passhrase", "not a string") } -type DeleteAccountArgs struct { - Address string - Passphrase string -} - -func (args *DeleteAccountArgs) UnmarshalJSON(b []byte) (err error) { - var obj []interface{} - if err := json.Unmarshal(b, &obj); err != nil { - return shared.NewDecodeParamError(err.Error()) - } - - if len(obj) < 2 { - return shared.NewInsufficientParamsError(len(obj), 2) - } - - if addr, ok := obj[0].(string); ok { - args.Address = addr - } else { - return shared.NewInvalidTypeError("address", "not a string") - } - - if passhrase, ok := obj[1].(string); ok { - args.Passphrase = passhrase - } else { - return shared.NewInvalidTypeError("passhrase", "not a string") - } - - return nil -} - type UnlockAccountArgs struct { Address string - Passphrase string + Passphrase *string Duration int } @@ -100,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") } diff --git a/rpc/api/shh.go b/rpc/api/shh.go index 9ca6f9dda..60e805605 100644 --- a/rpc/api/shh.go +++ b/rpc/api/shh.go @@ -38,6 +38,7 @@ var ( "shh_newIdentity": (*shhApi).NewIdentity, "shh_newFilter": (*shhApi).NewFilter, "shh_uninstallFilter": (*shhApi).UninstallFilter, + "shh_getMessages": (*shhApi).GetMessages, "shh_getFilterChanges": (*shhApi).GetFilterChanges, } ) diff --git a/rpc/api/utils.go b/rpc/api/utils.go index 50c607d16..5072dc2cd 100644 --- a/rpc/api/utils.go +++ b/rpc/api/utils.go @@ -118,7 +118,6 @@ var ( "personal": []string{ "listAccounts", "newAccount", - "deleteAccount", "unlockAccount", }, "shh": []string{ |