)
const (
- maxTxChanSize = 10000
+ maxTxChanSize = 10000
+ maxFilterAddressSize = 50
+ maxFilterAddressCount = 1000
)
// Chain is the interface for Bytom core
}
func (sm *SyncManager) handleBlockMsg(peer *peer, msg *BlockMessage) {
- sm.blockKeeper.processBlock(peer.ID(), msg.GetBlock())
+ block, err := msg.GetBlock()
+ if err != nil {
+ return
+ }
+ sm.blockKeeper.processBlock(peer.ID(), block)
}
func (sm *SyncManager) handleBlocksMsg(peer *peer, msg *BlocksMessage) {
}
func (sm *SyncManager) handleFilterAddMsg(peer *peer, msg *FilterAddMessage) {
- peer.filterAdds.Add(hex.EncodeToString(msg.Address))
+ peer.addFilterAddress(msg.Address)
}
func (sm *SyncManager) handleFilterClearMsg(peer *peer) {
}
func (sm *SyncManager) handleFilterLoadMsg(peer *peer, msg *FilterLoadMessage) {
- if len(msg.Addresses) == 0 {
- log.Info("the addresses is empty from filter load message")
- return
- }
peer.addFilterAddresses(msg.Addresses)
}
func (sm *SyncManager) handleGetMerkleBlockMsg(peer *peer, msg *GetMerkleBlockMessage) {
var err error
- var block *types.Block
+ var block *types.Block
if msg.Height != 0 {
block, err = sm.chain.GetBlockByHeight(msg.Height)
} else {