Skip to content

Commit bcd6516

Browse files
changes reverted
Signed-off-by: sreenidhi <[email protected]>
1 parent 64ded0c commit bcd6516

File tree

4 files changed

+53
-57
lines changed

4 files changed

+53
-57
lines changed

Diff for: token/services/ttx/accept.go

+9-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package ttx
99
import (
1010
"encoding/base64"
1111
"fmt"
12+
"time"
1213

1314
view2 "github.com/hyperledger-labs/fabric-smart-client/platform/view"
1415
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash"
@@ -132,15 +133,17 @@ func (s *AcceptView) respondToSignatureRequests(context view.Context) error {
132133
if logger.IsEnabledFor(zapcore.DebugLevel) {
133134
logger.Debugf("Receiving signature request...")
134135
}
135-
if context == nil {
136-
return errors.New("Failed to read context. context is empty")
137-
//WithMessage("failed to read audit event")
138-
}
139-
jsonsession := session2.JSON(context)
140-
err := jsonsession.Receive(signatureRequest)
136+
jsonSession := session2.JSON(context)
137+
err := jsonSession.ReceiveWithTimeout(signatureRequest, time.Minute)
138+
//msg, err := ReadMessage(session, time.Minute)
141139
if err != nil {
142140
return errors.Wrap(err, "failed reading signature request")
143141
}
142+
// TODO: check what is signed...
143+
// err = Unmarshal(msg, signatureRequest)
144+
// if err != nil {
145+
// return errors.Wrap(err, "failed unmarshalling signature request")
146+
// }
144147
}
145148
span.AddEvent("Fetched request from session")
146149
tms := token.GetManagementService(context, token.WithTMS(s.tx.Network(), s.tx.Channel(), s.tx.Namespace()))

Diff for: token/services/ttx/auditor.go

+2-7
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package ttx
99
import (
1010
"context"
1111
"encoding/base64"
12+
"time"
1213

1314
view2 "github.com/hyperledger-labs/fabric-smart-client/platform/view"
1415
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash"
@@ -19,7 +20,6 @@ import (
1920
"github.com/hyperledger-labs/fabric-token-sdk/token/services/db/driver"
2021
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
2122
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttxdb"
22-
session2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2323
view3 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/view"
2424
"github.com/pkg/errors"
2525
"go.opentelemetry.io/otel/trace"
@@ -146,12 +146,7 @@ func (a *AuditingViewInitiator) Call(context view.Context) (interface{}, error)
146146
// Receive signature
147147
logger.Debugf("Receiving signature for [%s]", a.tx.ID())
148148
span.AddEvent("start_receiving")
149-
if context == nil {
150-
return nil, errors.New("Failed to read context. context is empty")
151-
//WithMessage("failed to read audit event")
152-
}
153-
jsonsession := session2.JSON(context)
154-
signature, err := jsonsession.ReceiveRaw()
149+
signature, err := ReadMessage(session, time.Minute)
155150
if err != nil {
156151
span.RecordError(err)
157152
return nil, errors.WithMessage(err, "failed to read audit event")

Diff for: token/services/ttx/endorse.go

+14-35
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
errors2 "errors"
1212
"fmt"
1313
"reflect"
14+
"runtime/debug"
15+
"time"
1416

1517
"github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/collections"
1618
view2 "github.com/hyperledger-labs/fabric-smart-client/platform/view"
@@ -21,7 +23,6 @@ import (
2123
"github.com/hyperledger-labs/fabric-token-sdk/token/services/identity/multisig"
2224
"github.com/hyperledger-labs/fabric-token-sdk/token/services/network"
2325
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
24-
session2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2526
"github.com/pkg/errors"
2627
"go.opentelemetry.io/otel/trace"
2728
"go.uber.org/zap/zapcore"
@@ -347,15 +348,12 @@ func (c *CollectEndorsementsView) signRemote(context view.Context, party view.Id
347348
if err != nil {
348349
return nil, errors.Wrap(err, "failed sending transaction content")
349350
}
350-
if context == nil {
351-
return nil, errors.New("Failed to read context. context is empty")
352-
//WithMessage("failed to read audit event")
353-
}
354-
jsonSession := session2.JSON(context)
355-
sigma, err := jsonSession.ReceiveRaw()
351+
352+
sigma, err := ReadMessage(session, time.Minute)
356353
if err != nil {
357354
return nil, errors.Wrap(err, "failed reading message")
358355
}
356+
359357
verifier, err := verifierGetter(party)
360358
if err != nil {
361359
return nil, errors.Wrapf(err, "failed getting verifier for [%s]", party)
@@ -556,14 +554,7 @@ func (c *CollectEndorsementsView) distributeEvnToParty(context view.Context, ent
556554
}
557555

558556
span.AddEvent("Wait for ack")
559-
//sigma, err := ReadMessage(session, 1*time.Minute)
560-
if context == nil {
561-
return errors.New("Failed to read context. context is empty")
562-
//WithMessage("failed to read audit event")
563-
}
564-
jsonsession := session2.JSON(context)
565-
sigma, err := jsonsession.ReceiveRaw()
566-
//sigma, err := ReadMessage(session, time.Minute*4)
557+
sigma, err := ReadMessage(session, 1*time.Minute)
567558
if err != nil {
568559
return errors.Wrapf(err, "failed reading message on session [%s]", session.Info().ID)
569560
}
@@ -745,12 +736,8 @@ func (f *ReceiveTransactionView) Call(context view.Context) (interface{}, error)
745736
span := trace.SpanFromContext(context.Context())
746737
span.AddEvent("start_receive_transaction_view")
747738
defer span.AddEvent("end_receive_transaction_view")
748-
if context == nil {
749-
return nil, errors.New("Failed to read context. context is empty")
750-
//WithMessage("failed to read audit event")
751-
}
752-
jsonsession := session2.JSON(context)
753-
msg, err := jsonsession.ReceiveRaw()
739+
740+
msg, err := ReadMessage(context.Session(), time.Minute*4)
754741
if err != nil {
755742
span.RecordError(err)
756743
}
@@ -761,6 +748,7 @@ func (f *ReceiveTransactionView) Call(context view.Context) (interface{}, error)
761748
}
762749
if len(msg) == 0 {
763750
info := context.Session().Info()
751+
logger.Errorf("received empty message, session closed [%s:%v]: [%s]", info.ID, info.Closed, string(debug.Stack()))
764752
return nil, errors.Errorf("received empty message, session closed [%s:%v]", info.ID, info.Closed)
765753
}
766754
tx, err := NewTransactionFromBytes(context, msg)
@@ -853,29 +841,20 @@ func (s *EndorseView) Call(context view.Context) (interface{}, error) {
853841
if err := kvss.(*kvs.KVS).Get(k, &srRaw); err != nil {
854842
return nil, errors.Wrap(err, "failed to to store signature request")
855843
}
856-
err = Unmarshal(srRaw, signatureRequest)
857-
if err != nil {
858-
return nil, errors.Wrap(err, "failed unmarshalling signature request")
859-
}
860844
} else {
861845
if logger.IsEnabledFor(zapcore.DebugLevel) {
862846
logger.Debugf("Receiving signature request...")
863847
}
864-
if context == nil {
865-
return nil, errors.New("Failed to read context. context is empty")
866-
//WithMessage("failed to read audit event")
867-
}
868-
jsonsession := session2.JSON(context)
869-
err := jsonsession.Receive(signatureRequest)
848+
srRaw, err = ReadMessage(session, time.Minute)
870849
if err != nil {
871850
return nil, errors.Wrap(err, "failed reading signature request")
872851
}
873852
}
874853
// TODO: check what is signed...
875-
// err = Unmarshal(srRaw, signatureRequest)
876-
// if err != nil {
877-
// return nil, errors.Wrap(err, "failed unmarshalling signature request")
878-
// }
854+
err = Unmarshal(srRaw, signatureRequest)
855+
if err != nil {
856+
return nil, errors.Wrap(err, "failed unmarshalling signature request")
857+
}
879858

880859
sigService := s.tx.TokenService().SigService()
881860
if !sigService.IsMe(signatureRequest.Signer) {

Diff for: token/services/ttx/multisig/spend.go

+28-9
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ SPDX-License-Identifier: Apache-2.0
77
package multisig
88

99
import (
10+
"runtime/debug"
1011
"slices"
1112
"time"
1213

1314
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
15+
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash"
1416
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1517
token2 "github.com/hyperledger-labs/fabric-token-sdk/token"
1618
"github.com/hyperledger-labs/fabric-token-sdk/token/core/common/encoding/json"
@@ -19,13 +21,23 @@ import (
1921
"github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/json/session"
2022
"github.com/hyperledger-labs/fabric-token-sdk/token/token"
2123
"go.opentelemetry.io/otel/trace"
24+
"go.uber.org/zap/zapcore"
2225
)
2326

2427
// SpendRequest is the request to spend a token
2528
type SpendRequest struct {
2629
Token *token.UnspentToken
2730
}
2831

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+
2941
func ReceiveSpendRequest(context view.Context, opts ...ttx.TxOption) (*SpendRequest, error) {
3042
logger.Debugf("receive a new spendRequest...")
3143
requestBoxed, err := context.RunView(NewReceiveSpendRequestView(), view.WithSameContext())
@@ -54,19 +66,26 @@ func (f *ReceiveSpendRequestView) Call(context view.Context) (interface{}, error
5466
span := trace.SpanFromContext(context.Context())
5567
span.AddEvent("start_receive_spendRequest_view")
5668
defer span.AddEvent("end_receive_spendRequest_view")
57-
request := &SpendRequest{}
58-
if context == nil {
59-
return nil, errors.New("Failed to read context. context is empty")
60-
//WithMessage("failed to read audit event")
61-
}
62-
jsonsession := session.JSON(context)
63-
err := jsonsession.Receive(request)
69+
70+
msg, err := ttx.ReadMessage(context.Session(), time.Minute*4)
6471
if err != nil {
6572
span.RecordError(err)
66-
return nil, err
6773
}
6874
span.AddEvent("receive_tx")
69-
return request, nil
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+
}
88+
return tx, nil
7089
}
7190

7291
// SpendResponse is the response to a SpendRequest

0 commit comments

Comments
 (0)