@@ -7,7 +7,6 @@ SPDX-License-Identifier: Apache-2.0
77package msp
88
99import (
10- "fmt"
1110 "sync"
1211
1312 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric/core/generic/msp/driver"
@@ -103,8 +102,7 @@ func (s *service) Config() driver.Config {
103102}
104103
105104func (s * service ) DefaultMSP () string {
106- // TODO implement me
107- panic ("implement me" )
105+ return s .config .DefaultMSP ()
108106}
109107
110108func (s * service ) SignerService () driver.SignerService {
@@ -131,20 +129,23 @@ func (s *service) DefaultIdentity() view.Identity {
131129 return s .defaultIdentity
132130}
133131
134- func (s * service ) AnonymousIdentity () view.Identity {
135- id := s .Identity ("idemix" )
132+ func (s * service ) AnonymousIdentity () (view.Identity , error ) {
133+ id , err := s .Identity ("idemix" )
134+ if err != nil {
135+ return nil , errors .WithMessagef (err , "failed to get default anonymous identity labelled `idemix`" )
136+ }
136137 if err := s .binderService .Bind (s .defaultViewIdentity , id ); err != nil {
137- panic (err )
138+ return nil , errors . WithMessagef (err , "failed to bind identity [%s] to default [%s]" , id , s . defaultViewIdentity )
138139 }
139- return id
140+ return id , nil
140141}
141142
142- func (s * service ) Identity (label string ) view.Identity {
143+ func (s * service ) Identity (label string ) ( view.Identity , error ) {
143144 id , err := s .GetIdentityByID (label )
144145 if err != nil {
145- panic (err )
146+ return nil , errors . WithMessagef (err , "failed to get identity [%s]" , label )
146147 }
147- return id
148+ return id , nil
148149}
149150
150151func (s * service ) IsMe (id view.Identity ) bool {
@@ -253,7 +254,9 @@ func (s *service) RegisterIdemixMSP(id string, path string, mspID string) error
253254 }
254255
255256 s .deserializerManager .AddDeserializer (provider )
256- s .AddMSP (id , IdemixMSP , provider .EnrollmentID (), idemix .NewIdentityCache (provider .Identity , s .cacheSize , nil ).Identity )
257+ if err := s .AddMSP (id , IdemixMSP , provider .EnrollmentID (), idemix .NewIdentityCache (provider .Identity , s .cacheSize , nil ).Identity ); err != nil {
258+ return errors .Wrapf (err , "failed adding idemix msp [%s] to [%s]" , id , path )
259+ }
257260 logger .Debugf ("added IdemixMSP msp for id %s with cache of size %d" , id + "@" + provider .EnrollmentID (), s .cacheSize )
258261 return nil
259262}
@@ -268,7 +271,9 @@ func (s *service) RegisterX509MSP(id string, path string, mspID string) error {
268271 }
269272
270273 s .deserializerManager .AddDeserializer (provider )
271- s .AddMSP (id , BccspMSP , provider .EnrollmentID (), provider .Identity )
274+ if err := s .AddMSP (id , BccspMSP , provider .EnrollmentID (), provider .Identity ); err != nil {
275+ return errors .Wrapf (err , "failed adding bccsp msp [%s] to [%s]" , id , path )
276+ }
272277
273278 return nil
274279}
@@ -292,14 +297,14 @@ func (s *service) Refresh() error {
292297 return nil
293298}
294299
295- func (s * service ) AddMSP (name string , mspType string , enrollmentID string , IdentityGetter fdriver.GetIdentityFunc ) {
300+ func (s * service ) AddMSP (name string , mspType string , enrollmentID string , IdentityGetter fdriver.GetIdentityFunc ) error {
296301 if mspType == BccspMSP && s .binderService != nil {
297302 id , _ , err := IdentityGetter (nil )
298303 if err != nil {
299- panic ( fmt . Sprintf ( "cannot get identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err ) )
304+ return errors . Wrapf ( err , "cannot get identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err )
300305 }
301306 if err := s .binderService .Bind (s .defaultViewIdentity , id ); err != nil {
302- panic ( fmt . Sprintf ( "cannot bind identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err ) )
307+ return errors . Wrapf ( err , "cannot bind identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err )
303308 }
304309 }
305310
@@ -312,7 +317,7 @@ func (s *service) AddMSP(name string, mspType string, enrollmentID string, Ident
312317 if mspType == BccspMSP {
313318 id , _ , err := IdentityGetter (nil )
314319 if err != nil {
315- panic ( fmt . Sprintf ( "cannot get identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err ) )
320+ return errors . Wrapf ( err , "cannot get identity for [%s,%s,%s][%s]" , name , mspType , enrollmentID , err )
316321 }
317322 s .bccspMspsByIdentity [id .String ()] = msp
318323 logger .Debugf ("add bccsp msp for id %s, identity [%s]" , name + "@" + enrollmentID , id .String ())
@@ -325,6 +330,7 @@ func (s *service) AddMSP(name string, mspType string, enrollmentID string, Ident
325330 s .mspsByEnrollmentID [enrollmentID ] = msp
326331 }
327332 s .msps = append (s .msps , msp )
333+ return nil
328334}
329335
330336func (s * service ) PutIdentityLoader (idType string , loader driver.IdentityLoader ) {
0 commit comments