@@ -77,7 +77,7 @@ func (t *Token) ToClear(meta *Metadata, pp *noghv1.PublicParams) (*token.Token,
7777 }
7878 // check that token matches meta
7979 if ! com .Equals (t .Data ) {
80- return nil , errors . New ( "cannot retrieve token in the clear: output does not match provided opening" )
80+ return nil , ErrTokenMismatch
8181 }
8282 return & token.Token {
8383 Type : meta .Type ,
@@ -88,10 +88,10 @@ func (t *Token) ToClear(meta *Metadata, pp *noghv1.PublicParams) (*token.Token,
8888
8989func (t * Token ) Validate (checkOwner bool ) error {
9090 if checkOwner && len (t .Owner ) == 0 {
91- return errors . Errorf ( "token owner cannot be empty" )
91+ return ErrEmptyOwner
9292 }
9393 if t .Data == nil {
94- return errors . Errorf ( "token data cannot be empty" )
94+ return ErrEmptyTokenData
9595 }
9696 return nil
9797}
@@ -202,18 +202,24 @@ func (m *Metadata) Clone() *Metadata {
202202 }
203203}
204204
205- func (m * Metadata ) Validate () error {
205+ // Validate checks that Metadata is well-formed.
206+ // If checkIssuer is true, it checks that the Issuer field is set.
207+ // If checkIssuer is false, it checks that the Issuer field is not set.
208+ func (m * Metadata ) Validate (checkIssuer bool ) error {
206209 if len (m .Type ) == 0 {
207- return errors . New ( "missing Type" )
210+ return ErrEmptyType
208211 }
209212 if m .Value == nil {
210- return errors . New ( "missing Value" )
213+ return ErrEmptyValue
211214 }
212215 if m .BlindingFactor == nil {
213- return errors . New ( "missing BlindingFactor" )
216+ return ErrEmptyBlindingFactor
214217 }
215- if len (m .Issuer ) == 0 {
216- return errors .New ("missing Issuer" )
218+ if checkIssuer && len (m .Issuer ) == 0 {
219+ return ErrMissingIssuer
220+ }
221+ if ! checkIssuer && len (m .Issuer ) != 0 {
222+ return ErrUnexpectedIssuer
217223 }
218224 return nil
219225}
@@ -222,7 +228,7 @@ func commit(vector []*math.Zr, generators []*math.G1, c *math.Curve) (*math.G1,
222228 com := c .NewG1 ()
223229 for i := range vector {
224230 if vector [i ] == nil {
225- return nil , errors . New ( "cannot commit a nil element" )
231+ return nil , ErrNilCommitElement
226232 }
227233 com .Add (generators [i ].Mul (vector [i ]))
228234 }
@@ -237,19 +243,19 @@ type UpgradeWitness struct {
237243
238244func (u * UpgradeWitness ) Validate () error {
239245 if u .FabToken == nil {
240- return errors . New ( "missing FabToken" )
246+ return ErrMissingFabToken
241247 }
242248 if len (u .FabToken .Owner ) == 0 {
243- return errors . New ( "missing FabToken.Owner" )
249+ return ErrMissingFabTokenOwner
244250 }
245251 if len (u .FabToken .Type ) == 0 {
246- return errors . New ( "missing FabToken.Type" )
252+ return ErrMissingFabTokenType
247253 }
248254 if len (u .FabToken .Quantity ) == 0 {
249- return errors . New ( "missing FabToken.Quantity" )
255+ return ErrMissingFabTokenQuantity
250256 }
251257 if u .BlindingFactor == nil {
252- return errors . New ( "missing BlindingFactor" )
258+ return ErrMissingUpgradeBlindingFactor
253259 }
254260 return nil
255261}
0 commit comments