// ChainCreator defines the methods necessary to simulate channel creation.
type ChainCreator interface {
// NewChannelConfig returns a template config for a new channel.
NewChannelConfig(envConfigUpdate *cb.Envelope) (channelconfig.Resources, error)
// CreateBundle parses the config into resources
CreateBundle(channelID string, config *cb.Config) (channelconfig.Resources, error)
// ChannelsCount returns the count of channels which currently exist.
ChannelsCount() int
}
// LimitedSupport defines the subset of the channel resources required by the systemchannel filter.
type LimitedSupport interface {
OrdererConfig() (channelconfig.Orderer, bool)
}
// SystemChainFilter implements the filter.Rule interface.
type SystemChainFilter struct {
cc ChainCreator
support LimitedSupport
}