func NewPvtNsCollFilter() PvtNsCollFilter {
	return make(map[string]PvtCollFilter)
}
NewPvtNsCollFilter constructs an empty PvtNsCollFilter
package ledger
import (
	"github.com/golang/protobuf/proto"
	commonledger "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/common/ledger"
	"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/common"
	"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/ledger/rwset"
	"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer"
)
type PeerLedgerProvider interface {
	Initialize(statelisteners StateListeners)
	Create(genesisBlock *common.Block) (PeerLedger, error)
	Open(ledgerID string) (PeerLedger, error)
	Exists(ledgerID string) (bool, error)
	List() ([]string, error)
	Close()
}
type PeerLedger interface {
	commonledger.Ledger
	GetTransactionByID(txID string) (*peer.ProcessedTransaction, error)
	GetBlockByHash(blockHash []byte) (*common.Block, error)
	GetBlockByTxID(txID string) (*common.Block, error)
	GetTxValidationCodeByTxID(txID string) (peer.TxValidationCode, error)
	NewTxSimulator(txid string) (TxSimulator, error)
	NewQueryExecutor() (QueryExecutor, error)
	NewHistoryQueryExecutor() (HistoryQueryExecutor, error)
	GetPvtDataAndBlockByNum(blockNum uint64, filter PvtNsCollFilter) (*BlockAndPvtData, error)
	GetPvtDataByNum(blockNum uint64, filter PvtNsCollFilter) ([]*TxPvtData, error)
	CommitWithPvtData(blockAndPvtdata *BlockAndPvtData) error
	PurgePrivateData(maxBlockNumToRetain uint64) error
	PrivateDataMinBlockNum() (uint64, error)
	Prune(policy commonledger.PrunePolicy) error
}
type ValidatedLedger interface {
	commonledger.Ledger
}
type QueryExecutor interface {
	GetState(namespace string, key string) ([]byte, error)
	GetStateMultipleKeys(namespace string, keys []string) ([][]byte, error)
	GetStateRangeScanIterator(namespace string, startKey string, endKey string) (commonledger.ResultsIterator, error)
	ExecuteQuery(namespace, query string) (commonledger.ResultsIterator, error)
	GetPrivateData(namespace, collection, key string) ([]byte, error)
	GetPrivateDataMultipleKeys(namespace, collection string, keys []string) ([][]byte, error)
	GetPrivateDataRangeScanIterator(namespace, collection, startKey, endKey string) (commonledger.ResultsIterator, error)
	ExecuteQueryOnPrivateData(namespace, collection, query string) (commonledger.ResultsIterator, error)
	Done()
}
type HistoryQueryExecutor interface {
	GetHistoryForKey(namespace string, key string) (commonledger.ResultsIterator, error)
}
type TxSimulator interface {
	QueryExecutor
	SetState(namespace string, key string, value []byte) error
	DeleteState(namespace string, key string) error
	SetStateMultipleKeys(namespace string, kvs map[string][]byte) error
	ExecuteUpdate(query string) error
	SetPrivateData(namespace, collection, key string, value []byte) error
	SetPrivateDataMultipleKeys(namespace, collection string, kvs map[string][]byte) error
	DeletePrivateData(namespace, collection, key string) error
	GetTxSimulationResults() (*TxSimulationResults, error)
}
type TxPvtData struct {
	SeqInBlock uint64
	WriteSet   *rwset.TxPvtReadWriteSet
}
type MissingPrivateData struct {
	TxId       string
	SeqInBlock int
	Namespace  string
	Collection string
}
type BlockAndPvtData struct {
	Block        *common.Block
	BlockPvtData map[uint64]*TxPvtData
	Missing      []MissingPrivateData
}
type PvtCollFilter map[string]bool
type PvtNsCollFilter map[string]PvtCollFilter