Golang implemented sidechain for Bytom
修订版 | 63fcd63fc38aaa85e3f9ad3eb22d8e604bd507d9 (tree) |
---|---|
时间 | 2019-06-20 19:22:34 |
作者 | HAOYUatHZ <haoyu@prot...> |
Commiter | HAOYUatHZ |
fix
@@ -3,6 +3,7 @@ package federation | ||
3 | 3 | import ( |
4 | 4 | "database/sql" |
5 | 5 | "encoding/hex" |
6 | + "encoding/json" | |
6 | 7 | "time" |
7 | 8 | |
8 | 9 | btmTypes "github.com/bytom/protocol/bc/types" |
@@ -278,12 +279,27 @@ func (w *warder) signDestTx(destTx interface{}, ormTx *orm.CrossTransaction) err | ||
278 | 279 | return errors.New("cross-chain tx status error") |
279 | 280 | } |
280 | 281 | |
281 | - _ /*signData*/, err := w.getSignData(destTx) | |
282 | + signData, err := w.getSignData(destTx) | |
282 | 283 | if err != nil { |
283 | 284 | return errors.New("getSignData") |
284 | 285 | } |
285 | 286 | |
286 | - return w.db.Model(nil).Where(nil).UpdateColumn(nil).Error | |
287 | + // TODO: compose | |
288 | + | |
289 | + b, err := json.Marshal(signData) | |
290 | + if err != nil { | |
291 | + return errors.Wrap(err, "marshal signData") | |
292 | + } | |
293 | + | |
294 | + return w.db.Model(&orm.CrossTransactionSign{}). | |
295 | + Where(&orm.CrossTransactionSign{ | |
296 | + CrossTransactionID: ormTx.ID, | |
297 | + WarderID: w.position, | |
298 | + }). | |
299 | + UpdateColumn(&orm.CrossTransactionSign{ | |
300 | + Signatures: string(b), | |
301 | + Status: common.CrossTxSignCompletedStatus, | |
302 | + }).Error | |
287 | 303 | } |
288 | 304 | |
289 | 305 | func (w *warder) getSignData(destTx interface{}) ([]string, error) { |