func NewShardMempool(stateDB csmt.TreeDatabase, stateSlot uint64, tipBlockHash chainhash.Hash, info state.ShardInfo) *ShardMempool {
	return &ShardMempool{
		mempool:      make(map[chainhash.Hash]*shardMempoolItem),
		mempoolOrder: nil,
		mempoolLock:  new(sync.RWMutex),
		stateManager: state.NewShardStateManager(stateDB, stateSlot, tipBlockHash, info),
		shardInfo: info,
	}
}
// NewShardMempool constructs a new shard mempool. This needs to keep track of fork choice and a state tree. Changes
// should be written to disk once finalized.
NewShardMempool constructs a new shard mempool. This needs to keep track of fork choice and a state tree. Changes
should be written to disk once finalized.
// NewShardMempool constructs a new shard mempool . This needs to keep track of fork choice and a state tree . Changes // should be written to disk once finalized .
func NewShardMempool(stateDB csmt.TreeDatabase, stateSlot uint64, tipBlockHash chainhash.Hash, info state.ShardInfo) *ShardMempool {
	return &ShardMempool{
		mempool:      make(map[chainhash.Hash]*shardMempoolItem),
		mempoolOrder: nil,
		mempoolLock:  new(sync.RWMutex),
		stateManager: state.NewShardStateManager(stateDB, stateSlot, tipBlockHash, info),
		shardInfo: info,
	}
}
func NewShardMempool ( stateDB csmt . TreeDatabase , stateSlot uint64 , tipBlockHash chainhash . Hash , info state . ShardInfo ) * ShardMempool { return & ShardMempool { mempool : make ( map [ chainhash . Hash ] * shardMempoolItem ) , mempoolOrder : nil , mempoolLock : new ( sync . RWMutex ) , stateManager : state . NewShardStateManager ( stateDB , stateSlot , tipBlockHash , info ) , shardInfo : info , } }
NewShardMempool constructs a new shard mempool.
NewShardMempool constructs a new shard mempool .