OSDN Git Service

move request handle methods to API struct (#470)
[bytom/bytom-spv.git] / blockchain / hsm.go
index 46b0f6b..36635af 100644 (file)
@@ -20,26 +20,26 @@ func init() {
        errorFormatter.Errors[pseudohsm.ErrTooManyAliasesToList] = httperror.Info{400, "BTM802", "Too many aliases to list"}
 }
 
-func (bcr *BlockchainReactor) pseudohsmCreateKey(ctx context.Context, in struct {
+func (a *API) pseudohsmCreateKey(ctx context.Context, in struct {
        Alias    string `json:"alias"`
        Password string `json:"password"`
 }) Response {
-       xpub, err := bcr.wallet.Hsm.XCreate(in.Alias, in.Password)
+       xpub, err := a.wallet.Hsm.XCreate(in.Alias, in.Password)
        if err != nil {
                return NewErrorResponse(err)
        }
        return NewSuccessResponse(xpub)
 }
 
-func (bcr *BlockchainReactor) pseudohsmListKeys(ctx context.Context) Response {
-       return NewSuccessResponse(bcr.wallet.Hsm.ListKeys())
+func (a *API) pseudohsmListKeys(ctx context.Context) Response {
+       return NewSuccessResponse(a.wallet.Hsm.ListKeys())
 }
 
-func (bcr *BlockchainReactor) pseudohsmDeleteKey(ctx context.Context, x struct {
+func (a *API) pseudohsmDeleteKey(ctx context.Context, x struct {
        Password string       `json:"password"`
        XPub     chainkd.XPub `json:"xpub"`
 }) Response {
-       if err := bcr.wallet.Hsm.XDelete(x.XPub, x.Password); err != nil {
+       if err := a.wallet.Hsm.XDelete(x.XPub, x.Password); err != nil {
                return NewErrorResponse(err)
        }
        return NewSuccessResponse(nil)
@@ -50,11 +50,11 @@ type signResp struct {
        SignComplete bool                `json:"sign_complete"`
 }
 
-func (bcr *BlockchainReactor) pseudohsmSignTemplates(ctx context.Context, x struct {
+func (a *API) pseudohsmSignTemplates(ctx context.Context, x struct {
        Password string             `json:"password"`
        Txs      txbuilder.Template `json:"transaction"`
 }) Response {
-       if err := txbuilder.Sign(ctx, &x.Txs, nil, x.Password, bcr.pseudohsmSignTemplate); err != nil {
+       if err := txbuilder.Sign(ctx, &x.Txs, nil, x.Password, a.pseudohsmSignTemplate); err != nil {
                log.WithField("build err", err).Error("fail on sign transaction.")
                return NewErrorResponse(err)
        }
@@ -62,21 +62,21 @@ func (bcr *BlockchainReactor) pseudohsmSignTemplates(ctx context.Context, x stru
        return NewSuccessResponse(&signResp{Tx: &x.Txs, SignComplete: txbuilder.SignProgress(&x.Txs)})
 }
 
-func (bcr *BlockchainReactor) pseudohsmSignTemplate(ctx context.Context, xpub chainkd.XPub, path [][]byte, data [32]byte, password string) ([]byte, error) {
-       return bcr.wallet.Hsm.XSign(xpub, path, data[:], password)
+func (a *API) pseudohsmSignTemplate(ctx context.Context, xpub chainkd.XPub, path [][]byte, data [32]byte, password string) ([]byte, error) {
+       return a.wallet.Hsm.XSign(xpub, path, data[:], password)
 }
 
 type ResetPasswordResp struct {
        Changed bool `json:"changed"`
 }
 
-func (bcr *BlockchainReactor) pseudohsmResetPassword(ctx context.Context, ins struct {
+func (a *API) pseudohsmResetPassword(ctx context.Context, ins struct {
        XPub        chainkd.XPub `json:"xpub"`
        OldPassword string       `json:"old_password"`
        NewPassword string       `json:"new_password"`
 }) Response {
        resp := &ResetPasswordResp{Changed: false}
-       if err := bcr.wallet.Hsm.ResetPassword(ins.XPub, ins.OldPassword, ins.NewPassword); err != nil {
+       if err := a.wallet.Hsm.ResetPassword(ins.XPub, ins.OldPassword, ins.NewPassword); err != nil {
                return NewSuccessResponse(resp)
        }
        resp.Changed = true