Skip to content

Commit 3f4cd32

Browse files
sreenidhidrIBMadecaro
authored andcommitted
issue fix
1 parent 43be1d7 commit 3f4cd32

File tree

4 files changed

+21
-40
lines changed

4 files changed

+21
-40
lines changed

token/services/ttx/accept.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1818
"github.com/hyperledger-labs/fabric-token-sdk/token"
1919
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
20+
session2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2021
"github.com/pkg/errors"
2122
"go.opentelemetry.io/otel/trace"
2223
"go.uber.org/zap/zapcore"
@@ -132,16 +133,11 @@ func (s *AcceptView) respondToSignatureRequests(context view.Context) error {
132133
if logger.IsEnabledFor(zapcore.DebugLevel) {
133134
logger.Debugf("Receiving signature request...")
134135
}
135-
136-
msg, err := ReadMessage(session, time.Minute)
136+
jsonSession := session2.JSON(context)
137+
err := jsonSession.ReceiveWithTimeout(signatureRequest, time.Minute)
137138
if err != nil {
138139
return errors.Wrap(err, "failed reading signature request")
139140
}
140-
// TODO: check what is signed...
141-
err = Unmarshal(msg, signatureRequest)
142-
if err != nil {
143-
return errors.Wrap(err, "failed unmarshalling signature request")
144-
}
145141
}
146142
span.AddEvent("Fetched request from session")
147143
tms := token.GetManagementService(context, token.WithTMS(s.tx.Network(), s.tx.Channel(), s.tx.Namespace()))

token/services/ttx/auditor.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/hyperledger-labs/fabric-token-sdk/token/services/db/driver"
2121
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
2222
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttxdb"
23+
session2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2324
view3 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/view"
2425
"github.com/pkg/errors"
2526
"go.opentelemetry.io/otel/trace"
@@ -146,11 +147,15 @@ func (a *AuditingViewInitiator) Call(context view.Context) (interface{}, error)
146147
// Receive signature
147148
logger.Debugf("Receiving signature for [%s]", a.tx.ID())
148149
span.AddEvent("start_receiving")
149-
signature, err := ReadMessage(session, time.Minute)
150+
jsonSession := session2.NewFromSession(context, session)
151+
signature, err := jsonSession.ReceiveRawWithTimeout(time.Minute)
150152
if err != nil {
151153
span.RecordError(err)
152154
return nil, errors.WithMessage(err, "failed to read audit event")
153155
}
156+
if len(signature) == 0 {
157+
return nil, errors.New("Empty signature data.")
158+
}
154159
span.AddEvent("received_message")
155160
logger.Debugf("reply received from %s", a.tx.Opts.Auditor)
156161

token/services/ttx/endorse.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/hyperledger-labs/fabric-token-sdk/token/services/identity/multisig"
2424
"github.com/hyperledger-labs/fabric-token-sdk/token/services/network"
2525
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
26+
session2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2627
"github.com/pkg/errors"
2728
"go.opentelemetry.io/otel/trace"
2829
"go.uber.org/zap/zapcore"
@@ -349,7 +350,8 @@ func (c *CollectEndorsementsView) signRemote(context view.Context, party view.Id
349350
return nil, errors.Wrap(err, "failed sending transaction content")
350351
}
351352

352-
sigma, err := ReadMessage(session, time.Minute)
353+
jsonSession := session2.NewFromSession(context, session)
354+
sigma, err := jsonSession.ReceiveRawWithTimeout(time.Minute)
353355
if err != nil {
354356
return nil, errors.Wrap(err, "failed reading message")
355357
}
@@ -554,7 +556,8 @@ func (c *CollectEndorsementsView) distributeEvnToParty(context view.Context, ent
554556
}
555557

556558
span.AddEvent("Wait for ack")
557-
sigma, err := ReadMessage(session, 1*time.Minute)
559+
jsonSession := session2.NewFromSession(context, session)
560+
sigma, err := jsonSession.ReceiveRawWithTimeout(time.Minute)
558561
if err != nil {
559562
return errors.Wrapf(err, "failed reading message on session [%s]", session.Info().ID)
560563
}
@@ -736,8 +739,8 @@ func (f *ReceiveTransactionView) Call(context view.Context) (interface{}, error)
736739
span := trace.SpanFromContext(context.Context())
737740
span.AddEvent("start_receive_transaction_view")
738741
defer span.AddEvent("end_receive_transaction_view")
739-
740-
msg, err := ReadMessage(context.Session(), time.Minute*4)
742+
jsonSession := session2.JSON(context)
743+
msg, err := jsonSession.ReceiveRawWithTimeout(time.Minute * 4)
741744
if err != nil {
742745
span.RecordError(err)
743746
}
@@ -845,7 +848,8 @@ func (s *EndorseView) Call(context view.Context) (interface{}, error) {
845848
if logger.IsEnabledFor(zapcore.DebugLevel) {
846849
logger.Debugf("Receiving signature request...")
847850
}
848-
srRaw, err = ReadMessage(session, time.Minute)
851+
jsonSession := session2.JSON(context)
852+
srRaw, err = jsonSession.ReceiveRawWithTimeout(time.Minute)
849853
if err != nil {
850854
return nil, errors.Wrap(err, "failed reading signature request")
851855
}

token/services/ttx/multisig/spend.go

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@ SPDX-License-Identifier: Apache-2.0
77
package multisig
88

99
import (
10-
"runtime/debug"
1110
"slices"
1211
"time"
1312

1413
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
15-
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash"
1614
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1715
token2 "github.com/hyperledger-labs/fabric-token-sdk/token"
1816
"github.com/hyperledger-labs/fabric-token-sdk/token/core/common/encoding/json"
@@ -21,23 +19,13 @@ import (
2119
"github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2220
"github.com/hyperledger-labs/fabric-token-sdk/token/token"
2321
"go.opentelemetry.io/otel/trace"
24-
"go.uber.org/zap/zapcore"
2522
)
2623

2724
// SpendRequest is the request to spend a token
2825
type SpendRequest struct {
2926
Token *token.UnspentToken
3027
}
3128

32-
func NewSpendRequestFromBytes(msg []byte) (*SpendRequest, error) {
33-
request := &SpendRequest{}
34-
err := json.Unmarshal(msg, request)
35-
if err != nil {
36-
return nil, errors.Wrap(err, "failed unmarshalling spendRequest")
37-
}
38-
return request, nil
39-
}
40-
4129
func ReceiveSpendRequest(context view.Context, opts ...ttx.TxOption) (*SpendRequest, error) {
4230
logger.Debugf("receive a new spendRequest...")
4331
requestBoxed, err := context.RunView(NewReceiveSpendRequestView(), view.WithSameContext())
@@ -66,25 +54,13 @@ func (f *ReceiveSpendRequestView) Call(context view.Context) (interface{}, error
6654
span := trace.SpanFromContext(context.Context())
6755
span.AddEvent("start_receive_spendRequest_view")
6856
defer span.AddEvent("end_receive_spendRequest_view")
69-
70-
msg, err := ttx.ReadMessage(context.Session(), time.Minute*4)
57+
tx := &SpendRequest{}
58+
jsonSession := session.JSON(context)
59+
err := jsonSession.ReceiveWithTimeout(tx, time.Minute*4)
7160
if err != nil {
7261
span.RecordError(err)
7362
}
7463
span.AddEvent("receive_tx")
75-
76-
if logger.IsEnabledFor(zapcore.DebugLevel) {
77-
logger.Debugf("ReceiveSpendRequestView: received spendRequest, len [%d][%s]", len(msg), hash.Hashable(msg))
78-
}
79-
if len(msg) == 0 {
80-
info := context.Session().Info()
81-
logger.Errorf("received empty message, session closed [%s:%v], [%s]", info.ID, info.Closed, string(debug.Stack()))
82-
return nil, errors.Errorf("received empty message, session closed [%s:%v]", info.ID, info.Closed)
83-
}
84-
tx, err := NewSpendRequestFromBytes(msg)
85-
if err != nil {
86-
return nil, errors.Wrap(err, "failed to receive spendRequest")
87-
}
8864
return tx, nil
8965
}
9066

0 commit comments

Comments
 (0)