return program.ControlProgram, nil
}
-// DeleteAccount deletes the account's ID or alias matching accountInfo.
-func (m *Manager) DeleteAccount(in struct {
+// AccountInfo
+type Info struct {
AccountInfo string `json:"account_info"`
-}) (err error) {
+}
+
+// DeleteAccount deletes the account's ID or alias matching accountInfo.
+func (m *Manager) DeleteAccount(aliasOrId string) (err error) {
account := &Account{}
- if account, err = m.FindByAlias(nil, in.AccountInfo); err != nil {
- if account, err = m.findByID(nil, in.AccountInfo); err != nil {
+ if account, err = m.FindByAlias(nil, aliasOrId); err != nil {
+ if account, err = m.findByID(nil, aliasOrId); err != nil {
return err
}
}
testutil.FatalErr(t, err)
}
- cases := []struct {
- AccountInfo string `json:"account_info"`
- }{
- {AccountInfo: account1.Alias},
- {AccountInfo: account2.ID},
- }
-
- if err = m.DeleteAccount(cases[0]); err != nil {
+ if err = m.DeleteAccount(account1.Alias); err != nil {
testutil.FatalErr(t, err)
}
t.Errorf("expected account %v should be deleted", found)
}
- if err = m.DeleteAccount(cases[1]); err != nil {
+ if err = m.DeleteAccount(account2.ID); err != nil {
testutil.FatalErr(t, err)
}
return NewSuccessResponse(annotatedAccount)
}
+// AccountInfo
+type AccountInfo struct {
+ Info string `json:"account_info"`
+}
+
// POST /delete-account
-func (a *API) deleteAccount(ctx context.Context, in struct {
- AccountInfo string `json:"account_info"`
-}) Response {
- if err := a.wallet.AccountMgr.DeleteAccount(in); err != nil {
+func (a *API) deleteAccount(ctx context.Context, in AccountInfo) Response {
+ if err := a.wallet.AccountMgr.DeleteAccount(in.Info); err != nil {
return NewErrorResponse(err)
}
return NewSuccessResponse(nil)
newAccount, err := w.AccountMgr.Create(nil, []chainkd.XPub{xpub.XPub}, SINGLE, accountAlias)
if err != nil {
+ w.Hsm.XDelete(xpub.XPub, auth)
return nil, err
}
if err := w.recoveryAccountWalletDB(newAccount, xpub, index, keyAlias); err != nil {
+ w.AccountMgr.DeleteAccount(newAccount.ID)
+ w.Hsm.XDelete(xpub.XPub, auth)
return nil, err
}
return xpub, nil
t.Fatal(err)
}
- accountInfo := struct {
- AccountInfo string `json:"account_info"`
- }{AccountInfo: acnt1.Alias}
-
- w.AccountMgr.DeleteAccount(accountInfo)
+ w.AccountMgr.DeleteAccount(acnt1.Alias)
acnt2, err := w.ImportAccountPrivKey(xprv, xpub.Alias, pwd, 0, acnt1.Alias)
if err != nil {