OSDN Git Service

revert
authorHAOYUatHZ <haoyu@protonmail.com>
Wed, 19 Jun 2019 11:54:37 +0000 (19:54 +0800)
committerHAOYUatHZ <haoyu@protonmail.com>
Wed, 19 Jun 2019 11:54:37 +0000 (19:54 +0800)
federation/synchron/mainchain_keeper.go
federation/synchron/sidechain_keeper.go

index 2909f3c..836a831 100644 (file)
@@ -39,7 +39,8 @@ func NewMainchainKeeper(db *gorm.DB, assetStore *database.AssetStore, cfg *confi
                node:       service.NewNode(cfg.Mainchain.Upstream),
                chainName:  cfg.Mainchain.Name,
                assetStore: assetStore,
-               fedProg:    util.ParseFedProg(cfg.Warders, cfg.Quorum),
+               // TODO:
+               fedProg: util.SegWitWrap(util.ParseFedProg(cfg.Warders, cfg.Quorum)),
        }
 }
 
@@ -195,8 +196,13 @@ func (m *mainchainKeeper) processDepositTx(chain *orm.Chain, block *types.Block,
                return err
        }
 
-       // batch insert
-       return m.db.Create(crossChainInputs).Error
+       for _, input := range crossChainInputs {
+               if err := m.db.Create(input).Error; err != nil {
+                       return errors.Wrap(err, fmt.Sprintf("create DepositFromMainchain input: txid(%s), pos(%d)", tx.ID.String(), input.SourcePos))
+               }
+       }
+
+       return nil
 }
 
 func (m *mainchainKeeper) getCrossChainReqs(crossTransactionID uint64, tx *types.Tx, statusFail bool) ([]*orm.CrossTransactionReq, error) {
index 2f3dae2..cb91e16 100644 (file)
@@ -210,8 +210,13 @@ func (s *sidechainKeeper) processWithdrawalTx(chain *orm.Chain, block *types.Blo
                return err
        }
 
-       // batch insert
-       return s.db.Create(crossChainOutputs).Error
+       for _, output := range crossChainOutputs {
+               if err := s.db.Create(output).Error; err != nil {
+                       return errors.Wrap(err, fmt.Sprintf("create WithdrawalFromSidechain output: txid(%s), pos(%d)", tx.ID.String(), output.SourcePos))
+               }
+       }
+
+       return nil
 }
 
 func (s *sidechainKeeper) getCrossChainReqs(crossTransactionID uint64, tx *types.Tx, statusFail bool) ([]*orm.CrossTransactionReq, error) {