Skip to content

Commit 29fbf4e

Browse files
committed
fix linter
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com> # Conflicts: # integration/nwo/token/common/utils.go # token/core/zkatdlog/nogh/v1/issue/issuer_test.go # token/core/zkatdlog/nogh/v1/transfer/transfer_test.go # token/core/zkatdlog/nogh/v1/transfer_test.go # token/core/zkatdlog/nogh/v1/validator/testutils/env.go # token/services/identity/idemix/crypto/config.go # token/services/network/fabric/tcc/tcc.go # token/services/ttx/finality/listener.go
1 parent e322948 commit 29fbf4e

File tree

20 files changed

+1857
-62
lines changed

20 files changed

+1857
-62
lines changed

token/core/zkatdlog/nogh/v1/validator/testutils/env.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ func prepareTransfer(
463463
if benchCase.NumOutputs <= 0 {
464464
return nil, nil, nil, nil, errors.Errorf("invalid number of outputs [%d]", benchCase.NumOutputs)
465465
}
466-
outputValue := sumInputs / uint64(benchCase.NumOutputs)
466+
outputValue := sumInputs / uint64(benchCase.NumOutputs) //nolint:gosec
467467
sumOutputs := uint64(0)
468468
outValues := make([]uint64, benchCase.NumOutputs)
469469
for i := range benchCase.NumOutputs {

token/sdk/db/checks.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import (
1111
"github.com/hyperledger-labs/fabric-token-sdk/token/services/auditor"
1212
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/auditdb"
1313
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/common"
14-
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/ttxdb"
1514
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
16-
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx"
15+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep"
1716
)
1817

1918
type AuditorCheckServiceProvider struct {
@@ -31,7 +30,7 @@ func NewAuditorCheckServiceProvider(tmsProvider common.TokenManagementServicePro
3130
}
3231

3332
func (a *AuditorCheckServiceProvider) CheckService(id token.TMSID, adb *auditdb.StoreService, tdb *tokens.Service) (auditor.CheckService, error) {
34-
return common.NewChecksService(append(common.NewDefaultCheckers(a.tmsProvider, a.networkProvider, adb, tdb, id), a.checkers...)), nil
33+
return common.NewChecksService(append(common.NewDefaultCheckers(a.tmsProvider, a.networkProvider, adb, id), a.checkers...)), nil
3534
}
3635

3736
type OwnerCheckServiceProvider struct {
@@ -48,6 +47,6 @@ func NewOwnerCheckServiceProvider(tmsProvider common.TokenManagementServiceProvi
4847
}
4948
}
5049

51-
func (a *OwnerCheckServiceProvider) CheckService(id token.TMSID, txdb *ttxdb.StoreService, tdb *tokens.Service) (ttx.CheckService, error) {
52-
return common.NewChecksService(append(common.NewDefaultCheckers(a.tmsProvider, a.networkProvider, txdb, tdb, id), a.checkers...)), nil
50+
func (a *OwnerCheckServiceProvider) CheckService(id token.TMSID, adb dep.StoreService, _ dep.TokensService) (dep.CheckService, error) {
51+
return common.NewChecksService(append(common.NewDefaultCheckers(a.tmsProvider, a.networkProvider, adb, id), a.checkers...)), nil
5352
}

token/sdk/dig/providers.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ package sdk
88

99
import (
1010
driver2 "github.com/hyperledger-labs/fabric-smart-client/platform/common/driver"
11+
"github.com/hyperledger-labs/fabric-token-sdk/token"
1112
"github.com/hyperledger-labs/fabric-token-sdk/token/core"
1213
"github.com/hyperledger-labs/fabric-token-sdk/token/driver"
1314
dbdriver "github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/driver"
1415
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/multiplexed"
16+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
17+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx"
18+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep"
1519
"go.uber.org/dig"
1620
)
1721

@@ -29,3 +33,27 @@ func newTokenDriverService(in struct {
2933
}) *core.TokenDriverService {
3034
return core.NewTokenDriverService(in.Drivers)
3135
}
36+
37+
type TokensServiceManager struct {
38+
sm *tokens.ServiceManager
39+
}
40+
41+
func NewTokensServiceManager(sm *tokens.ServiceManager) *TokensServiceManager {
42+
return &TokensServiceManager{sm: sm}
43+
}
44+
45+
func (t *TokensServiceManager) ServiceByTMSId(tmsid token.TMSID) (dep.TokensService, error) {
46+
return t.sm.ServiceByTMSId(tmsid)
47+
}
48+
49+
type StoreServiceManager struct {
50+
sm ttx.StoreServiceManager
51+
}
52+
53+
func NewStoreServiceManager(sm ttx.StoreServiceManager) *StoreServiceManager {
54+
return &StoreServiceManager{sm: sm}
55+
}
56+
57+
func (t *StoreServiceManager) StoreServiceByTMSId(tmsid token.TMSID) (dep.StoreService, error) {
58+
return t.sm.StoreServiceByTMSId(tmsid)
59+
}

token/sdk/dig/sdk.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ func (p *SDK) Install() error {
182182
p.Container().Provide(wrapper2.NewTransactionDBProvider, dig.As(new(dep.TransactionDBProvider))),
183183
p.Container().Provide(wrapper2.NewAuditDBProvider, dig.As(new(dep.AuditDBProvider))),
184184
p.Container().Provide(wrapper2.NewStorageProvider),
185-
p.Container().Provide(digutils.Identity[*tokens.ServiceManager](), dig.As(new(ttx.TokensServiceManager))),
185+
p.Container().Provide(NewTokensServiceManager, dig.As(new(ttx.TokensServiceManager))),
186+
p.Container().Provide(NewStoreServiceManager, dig.As(new(dep.StoreServiceManager))),
186187
p.Container().Provide(digutils.Identity[*db.OwnerCheckServiceProvider](), dig.As(new(ttx.CheckServiceProvider))),
187188
p.Container().Provide(ttx.NewServiceManager),
188189
p.Container().Provide(ttx.NewMetrics),

token/services/storage/db/common/checks.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
"github.com/hyperledger-labs/fabric-token-sdk/token/services/logging"
1919
"github.com/hyperledger-labs/fabric-token-sdk/token/services/network"
2020
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/driver"
21-
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
2221
"github.com/hyperledger-labs/fabric-token-sdk/token/services/utils"
2322
token2 "github.com/hyperledger-labs/fabric-token-sdk/token/token"
2423
)
@@ -72,12 +71,11 @@ type DefaultCheckers struct {
7271
tmsProvider TokenManagementServiceProvider
7372
networkProvider NetworkProvider
7473
db TokenTransactionDB
75-
tokenDB *tokens.Service
7674
tmsID token.TMSID
7775
}
7876

79-
func NewDefaultCheckers(tmsProvider TokenManagementServiceProvider, networkProvider NetworkProvider, db TokenTransactionDB, tokenDB *tokens.Service, tmsID token.TMSID) []NamedChecker {
80-
checkers := &DefaultCheckers{tmsProvider: tmsProvider, networkProvider: networkProvider, db: db, tokenDB: tokenDB, tmsID: tmsID}
77+
func NewDefaultCheckers(tmsProvider TokenManagementServiceProvider, networkProvider NetworkProvider, db TokenTransactionDB, tmsID token.TMSID) []NamedChecker {
78+
checkers := &DefaultCheckers{tmsProvider: tmsProvider, networkProvider: networkProvider, db: db, tmsID: tmsID}
8179

8280
return []NamedChecker{
8381
{

token/services/ttx/db.go

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import (
1414
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1515
"github.com/hyperledger-labs/fabric-token-sdk/token"
1616
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage"
17-
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/ttxdb"
18-
"github.com/hyperledger-labs/fabric-token-sdk/token/services/tokens"
1917
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep"
2018
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/dep/db"
2119
"github.com/hyperledger-labs/fabric-token-sdk/token/services/ttx/finality"
@@ -33,22 +31,18 @@ type (
3331

3432
const txIdLabel tracing.LabelName = "tx_id"
3533

36-
type CheckService interface {
37-
Check(ctx context.Context) ([]string, error)
38-
}
39-
40-
// Service is the interface for the owner service
34+
// Service provides access to the token transaction store and related services for a specific TMS.
4135
type Service struct {
4236
networkProvider dep.NetworkProvider
4337
tmsID token.TMSID
44-
ttxStoreService *ttxdb.StoreService
45-
tokensService *tokens.Service
38+
ttxStoreService dep.StoreService
39+
tokensService dep.TokensService
4640
tmsProvider dep.TokenManagementServiceProvider
4741
finalityTracer trace.Tracer
48-
checkService CheckService
42+
checkService dep.CheckService
4943
}
5044

51-
// Append adds the passed transaction to the database
45+
// Append adds the passed transaction to the database and registers a finality listener.
5246
func (a *Service) Append(ctx context.Context, tx *Transaction) error {
5347
// append request to the db
5448
if err := a.ttxStoreService.AppendTransactionRecord(ctx, tx.Request()); err != nil {
@@ -83,13 +77,13 @@ func (a *Service) Append(ctx context.Context, tx *Transaction) error {
8377
return nil
8478
}
8579

86-
// SetStatus sets the status of the audit records with the passed transaction id to the passed status
80+
// SetStatus sets the status of the transaction with the given ID.
8781
func (a *Service) SetStatus(ctx context.Context, txID string, status storage.TxStatus, message string) error {
8882
return a.ttxStoreService.SetStatus(ctx, txID, status, message)
8983
}
9084

91-
// GetStatus return the status of the given transaction id.
92-
// It returns an error if no transaction with that id is found
85+
// GetStatus returns the status of the given transaction ID.
86+
// It returns an error if no transaction with that ID is found.
9387
func (a *Service) GetStatus(ctx context.Context, txID string) (TxStatus, string, error) {
9488
st, sm, err := a.ttxStoreService.GetStatus(ctx, txID)
9589
if err != nil {
@@ -99,19 +93,22 @@ func (a *Service) GetStatus(ctx context.Context, txID string) (TxStatus, string,
9993
return st, sm, nil
10094
}
10195

102-
// GetTokenRequest returns the token request bound to the passed transaction id, if available.
96+
// GetTokenRequest returns the token request bound to the passed transaction ID, if available.
10397
func (a *Service) GetTokenRequest(ctx context.Context, txID string) ([]byte, error) {
10498
return a.ttxStoreService.GetTokenRequest(ctx, txID)
10599
}
106100

101+
// AppendTransactionEndorseAck records an endorsement acknowledgement for the given transaction ID.
107102
func (a *Service) AppendTransactionEndorseAck(ctx context.Context, txID string, id view.Identity, sigma []byte) error {
108103
return a.ttxStoreService.AddTransactionEndorsementAck(ctx, txID, id, sigma)
109104
}
110105

106+
// GetTransactionEndorsementAcks returns all endorsement acknowledgements for the given transaction ID.
111107
func (a *Service) GetTransactionEndorsementAcks(ctx context.Context, id string) (map[string][]byte, error) {
112108
return a.ttxStoreService.GetTransactionEndorsementAcks(ctx, id)
113109
}
114110

111+
// Check performs a consistency check on the underlying database.
115112
func (a *Service) Check(ctx context.Context) ([]string, error) {
116113
return a.checkService.Check(ctx)
117114
}

token/services/ttx/dep/auditor/mock/service.go

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

token/services/ttx/dep/auditor/mock/service_provider.go

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

token/services/ttx/dep/auditor/mock/store_service.go

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

token/services/ttx/dep/manager.go

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/*
2+
Copyright IBM Corp. All Rights Reserved.
3+
4+
SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
package dep
8+
9+
import (
10+
"context"
11+
12+
cdriver "github.com/hyperledger-labs/fabric-smart-client/platform/common/driver"
13+
"github.com/hyperledger-labs/fabric-token-sdk/token"
14+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage"
15+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/driver"
16+
"github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/ttxdb"
17+
)
18+
19+
// CheckService defines the interface for the check service.
20+
//
21+
//go:generate counterfeiter -o mock/check_service.go -fake-name CheckService . CheckService
22+
type CheckService interface {
23+
// Check performs a consistency check on the underlying database.
24+
Check(ctx context.Context) ([]string, error)
25+
}
26+
27+
// CheckServiceProvider defines the interface for the check service provider.
28+
//
29+
//go:generate counterfeiter -o mock/check_service_provider.go -fake-name CheckServiceProvider . CheckServiceProvider
30+
type CheckServiceProvider interface {
31+
// CheckService returns a CheckService instance for the given TMS ID and related services.
32+
CheckService(id token.TMSID, adb StoreService, tdb TokensService) (CheckService, error)
33+
}
34+
35+
// TokensService defines the interface for the tokens service.
36+
// It manages the lifecycle and caching of token requests.
37+
//
38+
//go:generate counterfeiter -o mock/tokens_service.go -fake-name TokensService . TokensService
39+
type TokensService interface {
40+
// CacheRequest stores the given request in the cache.
41+
CacheRequest(ctx context.Context, tmsID token.TMSID, request *token.Request) error
42+
// GetCachedTokenRequest returns the cached token request for the given transaction ID.
43+
GetCachedTokenRequest(txID string) (*token.Request, []byte)
44+
// Append appends the given request to the storage.
45+
Append(ctx context.Context, tmsID token.TMSID, txID token.RequestAnchor, request *token.Request) error
46+
}
47+
48+
// TokensServiceManager defines the interface for the tokens service manager.
49+
//
50+
//go:generate counterfeiter -o mock/tokens_service_manager.go -fake-name TokensServiceManager . TokensServiceManager
51+
type TokensServiceManager interface {
52+
// ServiceByTMSId returns the TokensService instance for the given TMS ID.
53+
ServiceByTMSId(token.TMSID) (TokensService, error)
54+
}
55+
56+
// StoreService defines the interface for the ttx store service.
57+
// It provides methods for querying and managing transaction records and token requests.
58+
//
59+
//go:generate counterfeiter -o mock/store_service.go -fake-name StoreService . StoreService
60+
type StoreService interface {
61+
// Transactions returns a list of transaction records that match the given criteria.
62+
Transactions(ctx context.Context, params ttxdb.QueryTransactionsParams, pagination cdriver.Pagination) (*cdriver.PageIterator[*storage.TransactionRecord], error)
63+
// TokenRequests returns an iterator over the token requests matching the passed params.
64+
TokenRequests(ctx context.Context, params ttxdb.QueryTokenRequestsParams) (driver.TokenRequestIterator, error)
65+
// AppendTransactionRecord appends the transaction record for the given request.
66+
AppendTransactionRecord(ctx context.Context, req *token.Request) error
67+
// SetStatus sets the status of the transaction with the given ID.
68+
SetStatus(ctx context.Context, txID string, status storage.TxStatus, message string) error
69+
// GetStatus returns the status of the transaction with the given ID.
70+
GetStatus(ctx context.Context, txID string) (storage.TxStatus, string, error)
71+
// GetTokenRequest returns the token request for the given transaction ID.
72+
GetTokenRequest(ctx context.Context, txID string) ([]byte, error)
73+
// AddTransactionEndorsementAck records an endorsement acknowledgement for the given transaction ID.
74+
AddTransactionEndorsementAck(ctx context.Context, txID string, id token.Identity, sigma []byte) error
75+
// GetTransactionEndorsementAcks returns all endorsement acknowledgements for the given transaction ID.
76+
GetTransactionEndorsementAcks(ctx context.Context, txID string) (map[string][]byte, error)
77+
}
78+
79+
// StoreServiceManager defines the interface for the ttx store service manager.
80+
//
81+
//go:generate counterfeiter -o mock/store_service_manager.go -fake-name StoreServiceManager . StoreServiceManager
82+
type StoreServiceManager interface {
83+
// StoreServiceByTMSId returns the StoreService instance for the given TMS ID.
84+
StoreServiceByTMSId(token.TMSID) (StoreService, error)
85+
}

0 commit comments

Comments
 (0)