Skip to content

Commit b106f94

Browse files
authored
Pass MerklizeOption[s] to MerklizeJSONLD (#69)
* Pass MerklizeOption[s] to MerklizeJSONLD * Add merklizer options to ParseClaim method
1 parent 577711f commit b106f94

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

json/parser.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ func (s Parser) ParseClaim(ctx context.Context, credential verifiable.W3CCredent
4747
SubjectPosition: verifiable.CredentialSubjectPositionIndex,
4848
MerklizedRootPosition: verifiable.CredentialMerklizedRootPositionNone,
4949
Updatable: false,
50+
MerklizerOpts: nil,
5051
}
5152
}
5253

@@ -92,7 +93,7 @@ func (s Parser) ParseClaim(ctx context.Context, credential verifiable.W3CCredent
9293

9394
switch opts.MerklizedRootPosition {
9495
case verifiable.CredentialMerklizedRootPositionIndex:
95-
mkRoot, err := credential.Merklize(ctx)
96+
mkRoot, err := credential.Merklize(ctx, opts.MerklizerOpts...)
9697
if err != nil {
9798
return nil, err
9899
}
@@ -101,7 +102,7 @@ func (s Parser) ParseClaim(ctx context.Context, credential verifiable.W3CCredent
101102
return nil, err
102103
}
103104
case verifiable.CredentialMerklizedRootPositionValue:
104-
mkRoot, err := credential.Merklize(ctx)
105+
mkRoot, err := credential.Merklize(ctx, opts.MerklizerOpts...)
105106
if err != nil {
106107
return nil, err
107108
}

processor/processor.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55

66
core "github.com/iden3/go-iden3-core"
7+
"github.com/iden3/go-schema-processor/merklize"
78
"github.com/iden3/go-schema-processor/verifiable"
89
"github.com/pkg/errors"
910
)
@@ -45,6 +46,7 @@ type CoreClaimOptions struct {
4546
SubjectPosition string `json:"subjectPosition"`
4647
MerklizedRootPosition string `json:"merklizedRootPosition"`
4748
Updatable bool `json:"updatable"`
49+
MerklizerOpts []merklize.MerklizeOption
4850
}
4951

5052
var (

verifiable/credential.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ type W3CCredential struct {
2727
}
2828

2929
// Merklize merklizes verifiable credential
30-
func (vc *W3CCredential) Merklize(ctx context.Context) (*merklize.Merklizer, error) {
30+
func (vc *W3CCredential) Merklize(ctx context.Context,
31+
opts ...merklize.MerklizeOption) (*merklize.Merklizer, error) {
3132

3233
credentialBytes, err := json.Marshal(vc)
3334
if err != nil {
@@ -46,7 +47,8 @@ func (vc *W3CCredential) Merklize(ctx context.Context) (*merklize.Merklizer, err
4647
return nil, err
4748
}
4849

49-
mk, err := merklize.MerklizeJSONLD(ctx, bytes.NewReader(credentialWithoutProofBytes))
50+
mk, err := merklize.MerklizeJSONLD(ctx,
51+
bytes.NewReader(credentialWithoutProofBytes), opts...)
5052
if err != nil {
5153
return nil, err
5254
}

0 commit comments

Comments
 (0)