// POST /list-accounts
func (a *API) listAccounts(ctx context.Context, filter struct {
- ID string `json:"id"`
+ ID string `json:"id"`
+ Alias string `json:"alias"`
}) Response {
- accounts, err := a.wallet.AccountMgr.ListAccounts(filter.ID)
+ accountID := filter.ID
+ if filter.Alias != "" {
+ acc, err := a.wallet.AccountMgr.FindByAlias(filter.Alias)
+ if err != nil {
+ return NewErrorResponse(err)
+ }
+ accountID = acc.ID
+ }
+
+ accounts, err := a.wallet.AccountMgr.ListAccounts(accountID)
if err != nil {
log.Errorf("listAccounts: %v", err)
return NewErrorResponse(err)
createAccountCmd.PersistentFlags().StringVarP(&accountToken, "access", "a", "", "access token")
listAccountsCmd.PersistentFlags().StringVar(&accountID, "id", "", "account ID")
+ listAccountsCmd.PersistentFlags().StringVar(&accountAlias, "alias", "", "account alias")
listAddressesCmd.PersistentFlags().StringVar(&accountID, "id", "", "account ID")
listAddressesCmd.PersistentFlags().StringVar(&accountAlias, "alias", "", "account alias")
Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
filter := struct {
- ID string `json:"id"`
- }{ID: accountID}
+ ID string `json:"id"`
+ Alias string `json:"alias"`
+ }{ID: accountID, Alias: accountAlias}
data, exitCode := util.ClientCall("/list-accounts", &filter)
if exitCode != util.Success {