Skip to content

Commit 7f097fd

Browse files
authored
fabtoken driver: custom IssueExtraValidators and AuditingExtraValidators. #1139 (#1148)
Signed-off-by: Angelo De Caro <[email protected]>
1 parent 6b755dd commit 7f097fd

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

token/core/fabtoken/v1/driver/base.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (d *base) PublicParametersFromBytes(params []byte) (driver.PublicParameters
3737
func (d *base) DefaultValidator(pp driver.PublicParameters) (driver.Validator, error) {
3838
logger := logging.DriverLoggerFromPP("token-sdk.driver.fabtoken", string(core.DriverIdentifierFromPP(pp)))
3939
deserializer := NewDeserializer()
40-
return validator.NewValidator(logger, pp.(*core2.PublicParams), deserializer), nil
40+
return validator.NewValidator(logger, pp.(*core2.PublicParams), deserializer, nil, nil, nil), nil
4141
}
4242

4343
func (d *base) newWalletService(

token/core/fabtoken/v1/service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ func NewService(
6666
}
6767

6868
func (s *Service) Validator() (driver.Validator, error) {
69-
return validator.NewValidator(s.Logger, s.PublicParametersManager.PublicParams(context.Background()), s.Deserializer()), nil
69+
return validator.NewValidator(s.Logger, s.PublicParametersManager.PublicParams(context.Background()), s.Deserializer(), nil, nil, nil), nil
7070
}

token/core/fabtoken/v1/validator/validator.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,24 +48,33 @@ type Context = common.Context[*setup.PublicParams, *actions.Output, *actions.Tra
4848

4949
type Validator = common.Validator[*setup.PublicParams, *actions.Output, *actions.TransferAction, *actions.IssueAction, driver.Deserializer]
5050

51-
func NewValidator(logger logging.Logger, pp *setup.PublicParams, deserializer driver.Deserializer, extraValidators ...ValidateTransferFunc) *Validator {
51+
func NewValidator(
52+
logger logging.Logger,
53+
pp *setup.PublicParams,
54+
deserializer driver.Deserializer,
55+
extraTransferValidators []ValidateTransferFunc,
56+
extraIssuerValidators []ValidateIssueFunc,
57+
extraAuditorValidators []ValidateAuditingFunc,
58+
) *Validator {
5259
transferValidators := []ValidateTransferFunc{
5360
TransferActionValidate,
5461
TransferSignatureValidate,
5562
TransferBalanceValidate,
5663
TransferHTLCValidate,
5764
common.TransferApplicationDataValidate[*setup.PublicParams, *actions.Output, *actions.TransferAction, *actions.IssueAction, driver.Deserializer],
5865
}
59-
transferValidators = append(transferValidators, extraValidators...)
66+
transferValidators = append(transferValidators, extraTransferValidators...)
6067

6168
issueValidators := []ValidateIssueFunc{
6269
IssueValidate,
6370
common.IssueApplicationDataValidate[*setup.PublicParams, *actions.Output, *actions.TransferAction, *actions.IssueAction, driver.Deserializer],
6471
}
72+
issueValidators = append(issueValidators, extraIssuerValidators...)
6573

6674
auditingValidators := []ValidateAuditingFunc{
6775
common.AuditingSignaturesValidate[*setup.PublicParams, *actions.Output, *actions.TransferAction, *actions.IssueAction, driver.Deserializer],
6876
}
77+
auditingValidators = append(auditingValidators, extraAuditorValidators...)
6978

7079
return common.NewValidator[*setup.PublicParams, *actions.Output, *actions.TransferAction, *actions.IssueAction, driver.Deserializer](
7180
logger,

0 commit comments

Comments
 (0)