Skip to content

Commit 1bac2d7

Browse files
committed
fix
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>
1 parent ea48e72 commit 1bac2d7

File tree

6 files changed

+21
-14
lines changed

6 files changed

+21
-14
lines changed

docs/core/extension/zkatdlog/nogh/v2/driver/base.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (d *base) newWalletService(
8585
}
8686

8787
// interop deserializer
88-
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSenderSignerDeserializer(deserializerManager))
88+
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSignerDeserializer(deserializerManager))
8989

9090
// Prepare roles
9191
roleFactory := role.NewFactory(

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (d *base) newWalletService(
7070
}
7171

7272
// interop deserializer
73-
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSenderSignerDeserializer(deserializerManager))
73+
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSignerDeserializer(deserializerManager))
7474

7575
// Prepare roles
7676
keyStore := x509.NewKeyStore(baseKeyStore)

token/core/zkatdlog/nogh/v1/driver/base.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (d *base) newWalletService(
8585
}
8686

8787
// interop deserializer
88-
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSenderSignerDeserializer(deserializerManager))
88+
deserializerManager.AddTypedSignerDeserializer(htlc.ScriptType, htlc.NewSignerDeserializer(deserializerManager))
8989

9090
// Prepare roles
9191
roleFactory := role.NewFactory(

token/services/identity/deserializer/signer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ func (v *TypedSignerDeserializerMultiplex) DeserializeSigner(ctx context.Context
4747
logger.DebugfContext(ctx, "deserializing [%s] with type [%s]", id, si.Type)
4848
var errs []error
4949
for _, deserializer := range dess {
50-
verifier, err := deserializer.DeserializeSigner(ctx, si.Type, si.Identity)
50+
signer, err := deserializer.DeserializeSigner(ctx, si.Type, si.Identity)
5151
if err != nil {
5252
errs = append(errs, err)
5353
continue
5454
}
55-
return verifier, nil
55+
return signer, nil
5656
}
5757
return nil, errors.Wrapf(errors2.Join(errs...), "failed to deserialize verifier for [%s]", si.Type)
5858
}

token/services/identity/idemix/km_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,10 +427,7 @@ func testKeyManager_DeserializeSigner(t *testing.T, configPath string, curveID m
427427
assert.NoError(t, err)
428428

429429
// this must work
430-
des := deserializer.NewTypedSignerDeserializerMultiplex()
431-
des.AddTypedSignerDeserializer(keyManager.IdentityType(), &TypedSignerDeserializer{KeyManager: keyManager})
432-
des.AddTypedSignerDeserializer(keyManager2.IdentityType(), &TypedSignerDeserializer{KeyManager: keyManager2})
433-
signer, err = des.DeserializeSigner(t.Context(), id)
430+
signer, err = keyManager.DeserializeSigner(t.Context(), id)
434431
assert.NoError(t, err)
435432
verifier, err = keyManager.DeserializeVerifier(t.Context(), id)
436433
assert.NoError(t, err)

token/services/identity/interop/htlc/deserializer.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package htlc
88

99
import (
1010
"context"
11+
errors2 "errors"
1112

1213
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
1314
"github.com/hyperledger-labs/fabric-token-sdk/token/core/common/encoding/json"
@@ -165,17 +166,17 @@ func GetScriptSenderAndRecipient(id []byte) (sender, recipient driver.Identity,
165166
return script.Sender, script.Recipient, nil
166167
}
167168

168-
type SenderSignerDeserializer struct {
169+
type SignerDeserializer struct {
169170
manager idriver.SignerDeserializerManager
170171
}
171172

172-
func NewSenderSignerDeserializer(manager idriver.SignerDeserializerManager) *SenderSignerDeserializer {
173-
return &SenderSignerDeserializer{
173+
func NewSignerDeserializer(manager idriver.SignerDeserializerManager) *SignerDeserializer {
174+
return &SignerDeserializer{
174175
manager: manager,
175176
}
176177
}
177178

178-
func (d *SenderSignerDeserializer) DeserializeSigner(ctx context.Context, typ idriver.IdentityType, raw []byte) (driver.Signer, error) {
179+
func (d *SignerDeserializer) DeserializeSigner(ctx context.Context, typ idriver.IdentityType, raw []byte) (driver.Signer, error) {
179180
if typ != htlc.ScriptType {
180181
return nil, errors.Errorf("invalid type, got [%s], expected [%s]", typ, htlc.ScriptType)
181182
}
@@ -185,5 +186,14 @@ func (d *SenderSignerDeserializer) DeserializeSigner(ctx context.Context, typ id
185186
if err != nil {
186187
return nil, errors.Errorf("failed to unmarshal TypedIdentity as an htlc script")
187188
}
188-
return d.manager.DeserializeSigner(ctx, script.Sender)
189+
s, err := d.manager.DeserializeSigner(ctx, script.Sender)
190+
if err != nil {
191+
// try the recipient
192+
var err2 error
193+
s, err2 = d.manager.DeserializeSigner(ctx, script.Recipient)
194+
if err2 != nil {
195+
return nil, errors.Wrapf(errors2.Join(err, err2), "failed deserializing signer")
196+
}
197+
}
198+
return s, nil
189199
}

0 commit comments

Comments
 (0)