+type signTxsReq struct {
+ Txs []*txbuilder.Template `json:"transactions"`
+ Password string `json:"password"`
+}
+
+type signTxsResp struct {
+ Txs []*txbuilder.Template `json:"transaction"`
+ SignComplete bool `json:"sign_complete"`
+}
+
+func (n *Node) SignTxs(tpls []*txbuilder.Template, password string) ([]*txbuilder.Template, error) {
+ url := "/sign-transactions"
+ payload, err := json.Marshal(&signTxsReq{Txs: tpls, Password: password})
+ if err != nil {
+ return nil, errors.Wrap(err, "json marshal")
+ }
+
+ resp := &signTxsResp{}
+ if err := n.request(url, payload, resp); err != nil {
+ return nil, err
+ }
+
+ if !resp.SignComplete {
+ return nil, errors.New("sign fail")
+ }
+
+ return resp.Txs, nil
+}
+