forked from cerc-io/laconicd-deprecated
rpc: personal_listWallets
(#748)
* Problem: need to add JSON-RPC endpoint personal_listWallets Closes #745 * wallet level that manages accounts is not supported by keyring interface, will return nil * changelog entry * fix lint failure by exposing RawWallet as public * fix notes typo
This commit is contained in:
parent
32c905ab87
commit
f42f339d05
@ -52,6 +52,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
|||||||
* (rpc) [tharsis#733](https://github.com/tharsis/ethermint/pull/733) add JSON_RPC endpoint `personal_unpair`
|
* (rpc) [tharsis#733](https://github.com/tharsis/ethermint/pull/733) add JSON_RPC endpoint `personal_unpair`
|
||||||
* (rpc) [tharsis#740](https://github.com/tharsis/ethermint/pull/740) add JSON_RPC endpoint `personal_initializeWallet`
|
* (rpc) [tharsis#740](https://github.com/tharsis/ethermint/pull/740) add JSON_RPC endpoint `personal_initializeWallet`
|
||||||
* (rpc) [tharsis#743](https://github.com/tharsis/ethermint/pull/743) add JSON_RPC endpoint `debug_traceBlockByHash`
|
* (rpc) [tharsis#743](https://github.com/tharsis/ethermint/pull/743) add JSON_RPC endpoint `debug_traceBlockByHash`
|
||||||
|
* (rpc) [tharsis#748](https://github.com/tharsis/ethermint/pull/748) add JSON_RPC endpoint `personal_listWallets`
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
|
@ -238,3 +238,19 @@ func (api *PrivateAccountAPI) InitializeWallet(_ context.Context, url string) (s
|
|||||||
// TODO: Smartcard wallet not supported yet, refer to: https://github.com/ethereum/go-ethereum/blob/master/accounts/scwallet/README.md
|
// TODO: Smartcard wallet not supported yet, refer to: https://github.com/ethereum/go-ethereum/blob/master/accounts/scwallet/README.md
|
||||||
return "", fmt.Errorf("smartcard wallet not supported yet")
|
return "", fmt.Errorf("smartcard wallet not supported yet")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RawWallet is a JSON representation of an accounts.Wallet interface, with its
|
||||||
|
// data contents extracted into plain fields.
|
||||||
|
type RawWallet struct {
|
||||||
|
URL string `json:"url"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
Failure string `json:"failure,omitempty"`
|
||||||
|
Accounts []accounts.Account `json:"accounts,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ListWallets will return a list of wallets this node manages.
|
||||||
|
func (api *PrivateAccountAPI) ListWallets() []RawWallet {
|
||||||
|
api.logger.Debug("personal_ListWallets")
|
||||||
|
api.logger.Info("currently wallet level that manages accounts is not supported")
|
||||||
|
return ([]RawWallet)(nil)
|
||||||
|
}
|
||||||
|
@ -152,3 +152,11 @@ func TestPersonal_InitializeWallet(t *testing.T) {
|
|||||||
_, err := CallWithError("personal_initializeWallet", []interface{}{""})
|
_, err := CallWithError("personal_initializeWallet", []interface{}{""})
|
||||||
require.Equal(t, "smartcard wallet not supported yet", err.Error())
|
require.Equal(t, "smartcard wallet not supported yet", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPersonal_ListWallets(t *testing.T) {
|
||||||
|
rpcRes := Call(t, "personal_listWallets", []interface{}{})
|
||||||
|
var res []hexutil.Bytes
|
||||||
|
err := json.Unmarshal(rpcRes.Result, &res)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, ([]hexutil.Bytes)(nil), res)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user