@@ -28,41 +28,41 @@ import (
2828 "go.opentelemetry.io/otel/trace"
2929)
3030
31- type VaultConstructor = func (configService driver.ConfigService , channel string , drivers []driver2.NamedDriver , metricsProvider metrics.Provider , tracerProvider trace.TracerProvider ) (* vault.Vault , driver.TXIDStore , error )
31+ type VaultConstructor = func (
32+ configService driver.ConfigService ,
33+ channel string ,
34+ drivers []driver2.NamedDriver ,
35+ metricsProvider metrics.Provider ,
36+ tracerProvider trace.TracerProvider ,
37+ ) (* vault.Vault , driver.TXIDStore , error )
3238type LedgerConstructor func (
3339 channelName string ,
40+ nw driver.FabricNetworkService ,
3441 chaincodeManager driver.ChaincodeManager ,
35- localMembership driver.LocalMembership ,
36- configService driver.ConfigService ,
37- transactionManager driver.TransactionManager ,
38- ) driver.Ledger
42+ ) (driver.Ledger , error )
3943type RWSetLoaderConstructor func (
40- network string ,
4144 channel string ,
45+ nw driver.FabricNetworkService ,
4246 envelopeService driver.EnvelopeService ,
4347 transactionService driver.EndorserTransactionService ,
44- transactionManager driver.TransactionManager ,
4548 vault driver.RWSetInspector ,
46- ) driver.RWSetLoader
49+ ) ( driver.RWSetLoader , error )
4750type CommitterConstructor func (
48- configService driver.ConfigService ,
51+ nw driver.FabricNetworkService ,
4952 channelConfig driver.ChannelConfig ,
5053 vault driver.Vault ,
5154 envelopeService driver.EnvelopeService ,
5255 ledger driver.Ledger ,
5356 rwsetLoaderService driver.RWSetLoader ,
54- processorManager driver.ProcessorManager ,
5557 eventsPublisher events.Publisher ,
5658 channelMembershipService * membership.Service ,
57- orderingService committer.OrderingService ,
5859 fabricFinality committer.FabricFinality ,
59- transactionManager driver.TransactionManager ,
6060 dependencyResolver committer.DependencyResolver ,
6161 quiet bool ,
6262 listenerManager driver.ListenerManager ,
6363 tracerProvider trace.TracerProvider ,
6464 metricsProvider metrics.Provider ,
65- ) * committer. Committer
65+ ) ( CommitterService , error )
6666
6767type ChannelProvider interface {
6868 NewChannel (nw driver.FabricNetworkService , name string , quiet bool ) (driver.Channel , error )
@@ -120,19 +120,20 @@ func NewChannelProvider(
120120}
121121
122122func (p * provider ) NewChannel (nw driver.FabricNetworkService , channelName string , quiet bool ) (driver.Channel , error ) {
123- networkOrderingService , ok := nw .(committer.OrderingService )
124- if ! ok {
125- return nil , errors .Errorf ("fabric network service does not implement committer.OrderingService" )
126- }
127-
128123 // Channel configuration
129124 channelConfig , err := p .channelConfigProvider .GetChannelConfig (nw .Name (), channelName )
130125 if err != nil {
131126 return nil , err
132127 }
133128
134129 // Vault
135- vault , txIDStore , err := p .newVault (nw .ConfigService (), channelName , p .drivers , p .metricsProvider , p .tracerProvider )
130+ vault , txIDStore , err := p .newVault (
131+ nw .ConfigService (),
132+ channelName ,
133+ p .drivers ,
134+ p .metricsProvider ,
135+ p .tracerProvider ,
136+ )
136137 if err != nil {
137138 return nil , err
138139 }
@@ -159,7 +160,16 @@ func (p *provider) NewChannel(nw driver.FabricNetworkService, channelName string
159160 channelMembershipService := membership .NewService ()
160161
161162 // Committers
162- rwSetLoaderService := p .newRWSetLoader (nw .Name (), channelName , envelopeService , transactionService , nw .TransactionManager (), vault )
163+ rwSetLoaderService , err := p .newRWSetLoader (
164+ channelName ,
165+ nw ,
166+ envelopeService ,
167+ transactionService ,
168+ vault ,
169+ )
170+ if err != nil {
171+ return nil , errors .WithMessagef (err , "failed creating RWSetLoader for channel [%s]" , channelName )
172+ }
163173
164174 chaincodeManagerService := chaincode .NewManager (
165175 nw .Name (),
@@ -176,36 +186,35 @@ func (p *provider) NewChannel(nw driver.FabricNetworkService, channelName string
176186 channelMembershipService ,
177187 )
178188
179- ledgerService := p .newLedger (
189+ ledgerService , err := p .newLedger (
180190 channelName ,
191+ nw ,
181192 chaincodeManagerService ,
182- nw .LocalMembership (),
183- nw .ConfigService (),
184- nw .TransactionManager (),
185193 )
194+ if err != nil {
195+ return nil , errors .WithMessagef (err , "failed creating ledger for channel [%s]" , channelName )
196+ }
186197
187- committerService := p .newCommitter (
188- nw . ConfigService () ,
198+ committerService , err := p .newCommitter (
199+ nw ,
189200 channelConfig ,
190201 vault ,
191202 envelopeService ,
192203 ledgerService ,
193204 rwSetLoaderService ,
194- nw .ProcessorManager (),
195205 p .publisher ,
196206 channelMembershipService ,
197- networkOrderingService ,
198207 fabricFinality ,
199- nw .TransactionManager (),
200208 p .dependencyResolver ,
201209 quiet ,
202210 p .listenerManagerProvider .NewManager (),
203211 p .tracerProvider ,
204212 p .metricsProvider ,
205213 )
206214 if err != nil {
207- return nil , err
215+ return nil , errors . WithMessagef ( err , "failed creating committer for channel [%s]" , channelName )
208216 }
217+
209218 // Finality
210219 finalityService := committerService
211220 chaincodeManagerService .Finality = finalityService
0 commit comments