OSDN Git Service

fix
authorHAOYUatHZ <haoyu@protonmail.com>
Thu, 13 Jun 2019 13:37:09 +0000 (21:37 +0800)
committerHAOYUatHZ <haoyu@protonmail.com>
Thu, 13 Jun 2019 13:37:09 +0000 (21:37 +0800)
federation/common/const.go
federation/synchron/mainchain_keeper.go

index 663c66a..e843f9e 100644 (file)
@@ -2,8 +2,9 @@ package common
 
 const (
        CrossTxPendingStatus uint8 = iota
-       CrossTxCompletedStatus
        CrossTxRejectedStatus
+       CrossTxSubmittedStatus
+       CrossTxCompletedStatus
 )
 
 const (
index f009099..b614d1e 100644 (file)
@@ -236,16 +236,20 @@ func (m *mainchainKeeper) getCrossChainInputs(crossTransactionID uint64, tx *btm
 }
 
 func (m *mainchainKeeper) processWithdrawalTx(chain *orm.Chain, block *btmTypes.Block, txIndex uint64, tx *btmTypes.Tx) error {
-       /*
-               ormTx := &orm.CrossTransaction{
-                       ChainID:         chain.ID,
-                       DestBlockHeight: sql.NullInt64{Valid: false},
-                       DestBlockHash:   sql.NullString{Valid: false},
-                       DestTxIndex:     sql.NullInt64{Valid: false},
-                       DestTxHash:      sql.NullString{Valid: false},
-                       // Status         uint8
-               }
-       */
+       blockHash := block.Hash()
+
+       if err := m.db.Where(&orm.CrossTransaction{
+               ChainID:    chain.ID,
+               DestTxHash: sql.NullString{tx.ID.String(), true},
+               Status:     common.CrossTxSubmittedStatus,
+       }).UpdateColumn(&orm.CrossTransaction{
+               DestBlockHeight: sql.NullInt64{int64(block.Height), true},
+               DestBlockHash:   sql.NullString{blockHash.String(), true},
+               DestTxIndex:     sql.NullInt64{int64(txIndex), true},
+               Status:          common.CrossTxCompletedStatus,
+       }).Error; err != nil {
+               return err
+       }
 
        return nil
 }