X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=application%2Fmov%2Fmov_core.go;h=4a08cf5ae9176151529f11417442cccf601522a2;hp=76154dcd645584fa00c836980033db176cb69bd3;hb=17f4bcc8867173431177e8e3372ada9ad68b208c;hpb=88db157954fb9c10c8d16829542e14394b3ac294 diff --git a/application/mov/mov_core.go b/application/mov/mov_core.go index 76154dcd..4a08cf5a 100644 --- a/application/mov/mov_core.go +++ b/application/mov/mov_core.go @@ -53,10 +53,15 @@ func NewCoreWithDB(store *database.LevelDBMovStore, startBlockHeight uint64) *Co // ApplyBlock parse pending order and cancel from the the transactions of block // and add pending order to the dex db, remove cancel order from dex db. func (m *Core) ApplyBlock(block *types.Block) error { - if block.Height <= m.startBlockHeight { + if block.Height < m.startBlockHeight { return nil } + if block.Height == m.startBlockHeight { + blockHash := block.Hash() + return m.InitChainStatus(&blockHash) + } + if err := m.validateMatchedTxSequence(block.Transactions); err != nil { return err } @@ -113,6 +118,11 @@ func (m *Core) DetachBlock(block *types.Block) error { return nil } + if block.Height == m.startBlockHeight { + m.movStore.Clear() + return nil + } + deleteOrders, addOrders, err := decodeTxsOrders(block.Transactions) if err != nil { return err