Skip to content

Commit a32bd38

Browse files
authored
Merge pull request #45 from hyperledger-labs/bump-to-go-1-21
Bump Go version to 1.21
2 parents 3c78ac1 + 10894c1 commit a32bd38

19 files changed

+229
-425
lines changed

.github/workflows/go.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Set up Go
1717
uses: actions/setup-go@v2
1818
with:
19-
go-version: 1.16
19+
go-version: 1.21
2020

2121
- name: Build
2222
run: go build -v ./...

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
[![Go Report Card](https://goreportcard.com/badge/github.com/hyperledger-labs/cc-tools)](https://goreportcard.com/report/github.com/hyperledger-labs/cc-tools)
44
[![GoDoc](https://godoc.org/github.com/hyperledger-labs/cc-tools?status.svg)](https://godoc.org/github.com/hyperledger-labs/cc-tools)
55

6-
This project is a GoLedger open-source project aimed at providing tools for Hyperledger Fabric chaincode development in Golang. This might have breaking changes before we arrive at release v1.0.0.
6+
This project is a GoLedger open-source project aimed at providing tools for Hyperledger Fabric chaincode development in Golang.
77

88
## Getting Started
99

1010
Make sure you visit the repository [hyperledger-labs/cc-tools-demo](https://github.com/hyperledger-labs/cc-tools-demo), which is a template of a functional chaincode that uses cc-tools and provides ready-to-use scripts to deploy development networks. This is our preferred way of working, but you can feel free to import the package and assemble the chaincode as you choose.
1111

12-
CC Tools has been tested with Hyperledger Fabric 1.x and 2.x realeases.
12+
CC Tools has been tested with Hyperledger Fabric v2.2, v2.4 and v2.5 releases.
1313

1414
## Features
1515
- Standard asset data mapping (and their properties)

assets/get.go

-3
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ func get(stub *sw.StubWrapper, pvtCollection, key string, committed bool) (*Asse
4141
return nil, errors.WrapErrorWithStatus(err, "failed to unmarshal asset from ledger", 500)
4242
}
4343

44-
delete(response, "@lastTouchBy")
45-
4644
return &response, nil
4745
}
4846

@@ -181,7 +179,6 @@ func getRecursive(stub *sw.StubWrapper, pvtCollection, key string, keysChecked [
181179
return nil, errors.WrapErrorWithStatus(err, "failed to unmarshal asset from ledger", 500)
182180
}
183181

184-
delete(response, "@lastTouchBy")
185182
keysCheckedInScope := make([]string, 0)
186183

187184
for k, v := range response {

assets/put.go

-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ func (a *Asset) put(stub *sw.StubWrapper) (map[string]interface{}, errors.ICCErr
4848
return nil, errors.WrapError(err, "failed to write asset to ledger")
4949
}
5050

51-
delete(*a, "@lastTouchBy")
52-
5351
return *a, nil
5452
}
5553

assets/search.go

-2
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ func Search(stub *sw.StubWrapper, request map[string]interface{}, privateCollect
9999
data = asset
100100
}
101101

102-
delete(data, "@lastTouchBy")
103-
104102
searchResult = append(searchResult, data)
105103
}
106104

go.mod

+19-12
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,37 @@
11
module github.com/hyperledger-labs/cc-tools
22

3-
go 1.14
3+
go 1.21
44

55
require (
6-
github.com/fsnotify/fsnotify v1.4.9 // indirect
7-
github.com/golang/protobuf v1.4.3
8-
github.com/google/go-cmp v0.5.4 // indirect
6+
github.com/golang/protobuf v1.5.3
97
github.com/google/uuid v1.3.0
108
github.com/hyperledger/fabric v2.1.1+incompatible
119
github.com/hyperledger/fabric-chaincode-go v0.0.0-20210603161043-af0e3898842a
1210
github.com/hyperledger/fabric-protos-go v0.0.0-20210528200356-82833ecdac31
11+
github.com/stretchr/testify v1.6.1
12+
)
13+
14+
require (
15+
github.com/davecgh/go-spew v1.1.1 // indirect
16+
github.com/fsnotify/fsnotify v1.4.9 // indirect
1317
github.com/kr/text v0.2.0 // indirect
1418
github.com/miekg/pkcs11 v1.0.3 // indirect
1519
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
1620
github.com/pkg/errors v0.9.1 // indirect
21+
github.com/pmezard/go-difflib v1.0.0 // indirect
1722
github.com/spf13/viper v1.7.1 // indirect
18-
github.com/stretchr/testify v1.6.1
1923
github.com/sykesm/zap-logfmt v0.0.4 // indirect
24+
go.uber.org/atomic v1.6.0 // indirect
25+
go.uber.org/multierr v1.5.0 // indirect
2026
go.uber.org/zap v1.16.0 // indirect
21-
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect
22-
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b // indirect
23-
golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect
24-
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa // indirect
25-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
26-
google.golang.org/grpc v1.35.0 // indirect
27+
golang.org/x/crypto v0.21.0 // indirect
28+
golang.org/x/net v0.23.0 // indirect
29+
golang.org/x/sys v0.18.0 // indirect
30+
golang.org/x/text v0.14.0 // indirect
31+
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
32+
google.golang.org/grpc v1.56.3 // indirect
33+
google.golang.org/protobuf v1.30.0 // indirect
2734
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
2835
gopkg.in/yaml.v2 v2.4.0 // indirect
29-
gopkg.in/yaml.v3 v3.0.0 // indirect
36+
gopkg.in/yaml.v3 v3.0.1 // indirect
3037
)

go.sum

+28-65
Large diffs are not rendered by default.

test/assets_get_test.go

+31-30
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ func TestGetAsset(t *testing.T) {
1616

1717
// State setup
1818
expectedResponse := assets.Asset{
19-
"@key": "person:47061146-c642-51a1-844a-bf0b17cb5e19",
20-
"@lastTx": "createAsset",
21-
"@assetType": "person",
22-
"name": "Maria",
23-
"id": "31820792048",
24-
"height": 0.0,
19+
"@key": "person:47061146-c642-51a1-844a-bf0b17cb5e19",
20+
"@lastTouchBy": "org1MSP",
21+
"@lastTx": "createAsset",
22+
"@assetType": "person",
23+
"name": "Maria",
24+
"id": "31820792048",
25+
"height": 0.0,
2526
}
2627
stub.MockTransactionStart("setupGetAsset")
2728
setupState, _ := json.Marshal(expectedResponse)
@@ -92,9 +93,6 @@ func TestGetManyAssets(t *testing.T) {
9293
stub.PutState("person:916c708a-1d6c-5c4f-8f12-d9d36f2aad27", setupState)
9394
stub.MockTransactionEnd("setupGetManyAssets")
9495

95-
delete(asset1, "@lastTouchBy")
96-
delete(asset2, "@lastTouchBy")
97-
delete(asset3, "@lastTouchBy")
9896
expectedResponse := []*assets.Asset{&asset1, &asset2, &asset3}
9997

10098
assetKeys := []assets.Key{
@@ -163,7 +161,6 @@ func TestGetCommittedAsset(t *testing.T) {
163161
t.FailNow()
164162
}
165163

166-
delete(expectedResponse, "@lastTouchBy")
167164
if !reflect.DeepEqual(*gotAsset, expectedResponse) {
168165
log.Println("these should be deeply equal")
169166
log.Println(expectedResponse)
@@ -219,18 +216,20 @@ func TestGetRecursive(t *testing.T) {
219216
"@key": "book:a36a2920-c405-51c3-b584-dcd758338cb5",
220217
}
221218
expectedResponse := map[string]interface{}{
222-
"@key": "book:a36a2920-c405-51c3-b584-dcd758338cb5",
223-
"@lastTx": "createAsset",
224-
"@assetType": "book",
225-
"title": "Meu Nome é Maria",
226-
"author": "Maria Viana",
219+
"@key": "book:a36a2920-c405-51c3-b584-dcd758338cb5",
220+
"@lastTouchBy": "org2MSP",
221+
"@lastTx": "createAsset",
222+
"@assetType": "book",
223+
"title": "Meu Nome é Maria",
224+
"author": "Maria Viana",
227225
"currentTenant": map[string]interface{}{
228-
"@key": "person:47061146-c642-51a1-844a-bf0b17cb5e19",
229-
"@lastTx": "createAsset",
230-
"@assetType": "person",
231-
"name": "Maria",
232-
"id": "31820792048",
233-
"height": 0.0,
226+
"@key": "person:47061146-c642-51a1-844a-bf0b17cb5e19",
227+
"@lastTouchBy": "org1MSP",
228+
"@lastTx": "createAsset",
229+
"@assetType": "person",
230+
"name": "Maria",
231+
"id": "31820792048",
232+
"height": 0.0,
234233
},
235234
"genres": []interface{}{"biography", "non-fiction"},
236235
"published": "2019-05-06T22:12:41Z",
@@ -296,16 +295,18 @@ func TestGetRecursiveWithPvtData(t *testing.T) {
296295
"@key": "library:37262f3f-5f08-5649-b488-e5abaad266e1",
297296
}
298297
expectedResponse := map[string]interface{}{
299-
"@assetType": "library",
300-
"@key": "library:37262f3f-5f08-5649-b488-e5abaad266e1",
301-
"@lastTx": "createAsset",
302-
"name": "Biblioteca Maria da Silva",
298+
"@assetType": "library",
299+
"@key": "library:37262f3f-5f08-5649-b488-e5abaad266e1",
300+
"@lastTouchBy": "org3MSP",
301+
"@lastTx": "createAsset",
302+
"name": "Biblioteca Maria da Silva",
303303
"entranceCode": map[string]interface{}{
304-
"@assetType": "secret",
305-
"@key": "secret:73a3f9a7-eb91-5f4d-b1bb-c0487e90f40b",
306-
"@lastTx": "createAsset",
307-
"secretName": "testSecret",
308-
"secret": "this is very secret",
304+
"@assetType": "secret",
305+
"@key": "secret:73a3f9a7-eb91-5f4d-b1bb-c0487e90f40b",
306+
"@lastTouchBy": "org2MSP",
307+
"@lastTx": "createAsset",
308+
"secretName": "testSecret",
309+
"secret": "this is very secret",
309310
},
310311
}
311312

0 commit comments

Comments
 (0)