@@ -10,7 +10,6 @@ import (
10
10
"encoding/json"
11
11
"fmt"
12
12
"io/ioutil"
13
- "os"
14
13
"strings"
15
14
16
15
"github.com/golang/protobuf/proto"
@@ -34,12 +33,12 @@ import (
34
33
func checkSpec (spec * pb.ChaincodeSpec ) error {
35
34
// Don't allow nil value
36
35
if spec == nil {
37
- return errors .New ("Expected chaincode specification, nil received" )
36
+ return errors .New ("expected chaincode specification, nil received" )
38
37
}
39
38
40
39
platform , err := platforms .Find (spec .Type )
41
40
if err != nil {
42
- return fmt .Errorf ("Failed to determine platform type: %s" , err )
41
+ return fmt .Errorf ("failed to determine platform type: %s" , err )
43
42
}
44
43
45
44
return platform .ValidateSpec (spec )
@@ -56,7 +55,7 @@ func getChaincodeDeploymentSpec(spec *pb.ChaincodeSpec, crtPkg bool) (*pb.Chainc
56
55
57
56
codePackageBytes , err = container .GetChaincodePackageBytes (spec )
58
57
if err != nil {
59
- err = fmt .Errorf ("Error getting chaincode package bytes: %s" , err )
58
+ err = fmt .Errorf ("error getting chaincode package bytes: %s" , err )
60
59
return nil , err
61
60
}
62
61
}
@@ -74,7 +73,7 @@ func getChaincodeSpec(cmd *cobra.Command) (*pb.ChaincodeSpec, error) {
74
73
// Build the spec
75
74
input := & pb.ChaincodeInput {}
76
75
if err := json .Unmarshal ([]byte (chaincodeCtorJSON ), & input ); err != nil {
77
- return spec , fmt .Errorf ("Chaincode argument error: %s" , err )
76
+ return spec , fmt .Errorf ("chaincode argument error: %s" , err )
78
77
}
79
78
80
79
chaincodeLang = strings .ToUpper (chaincodeLang )
@@ -83,7 +82,7 @@ func getChaincodeSpec(cmd *cobra.Command) (*pb.ChaincodeSpec, error) {
83
82
} else {
84
83
logger .Debug ("java chaincode disabled" )
85
84
if pb .ChaincodeSpec_Type_value [chaincodeLang ] == int32 (pb .ChaincodeSpec_JAVA ) {
86
- return nil , fmt .Errorf ("Java chaincode is work-in-progress and disabled" )
85
+ return nil , fmt .Errorf ("java chaincode is work-in-progress and disabled" )
87
86
}
88
87
}
89
88
spec = & pb.ChaincodeSpec {
@@ -94,7 +93,7 @@ func getChaincodeSpec(cmd *cobra.Command) (*pb.ChaincodeSpec, error) {
94
93
return spec , nil
95
94
}
96
95
97
- func chaincodeInvokeOrQuery (cmd * cobra.Command , args [] string , invoke bool , cf * ChaincodeCmdFactory ) (err error ) {
96
+ func chaincodeInvokeOrQuery (cmd * cobra.Command , invoke bool , cf * ChaincodeCmdFactory ) (err error ) {
98
97
spec , err := getChaincodeSpec (cmd )
99
98
if err != nil {
100
99
return err
@@ -117,43 +116,42 @@ func chaincodeInvokeOrQuery(cmd *cobra.Command, args []string, invoke bool, cf *
117
116
logger .Debugf ("ESCC invoke result: %v" , proposalResp )
118
117
pRespPayload , err := putils .GetProposalResponsePayload (proposalResp .Payload )
119
118
if err != nil {
120
- return fmt .Errorf ("Error while unmarshaling proposal response payload: %s" , err )
119
+ return fmt .Errorf ("error while unmarshaling proposal response payload: %s" , err )
121
120
}
122
121
ca , err := putils .GetChaincodeAction (pRespPayload .Extension )
123
122
if err != nil {
124
- return fmt .Errorf ("Error while unmarshaling chaincode action: %s" , err )
123
+ return fmt .Errorf ("error while unmarshaling chaincode action: %s" , err )
125
124
}
126
125
logger .Warningf ("Endorsement failure during invoke. chaincode result: %v" , ca .Response )
127
126
} else {
128
127
logger .Debugf ("ESCC invoke result: %v" , proposalResp )
129
128
pRespPayload , err := putils .GetProposalResponsePayload (proposalResp .Payload )
130
129
if err != nil {
131
- return fmt .Errorf ("Error while unmarshaling proposal response payload: %s" , err )
130
+ return fmt .Errorf ("error while unmarshaling proposal response payload: %s" , err )
132
131
}
133
132
ca , err := putils .GetChaincodeAction (pRespPayload .Extension )
134
133
if err != nil {
135
- return fmt .Errorf ("Error while unmarshaling chaincode action: %s" , err )
134
+ return fmt .Errorf ("error while unmarshaling chaincode action: %s" , err )
136
135
}
137
136
logger .Infof ("Chaincode invoke successful. result: %v" , ca .Response )
138
137
}
139
138
} else {
140
139
if proposalResp == nil {
141
- return fmt .Errorf ("Error query %s by endorsing: %s" , chainFuncName , err )
140
+ return fmt .Errorf ("error query %s by endorsing: %s" , chainFuncName , err )
142
141
}
143
142
143
+ if chaincodeQueryRaw && chaincodeQueryHex {
144
+ return fmt .Errorf ("options --raw (-r) and --hex (-x) are not compatible" )
145
+ }
144
146
if chaincodeQueryRaw {
145
- if chaincodeQueryHex {
146
- return fmt .Errorf ("Options --raw (-r) and --hex (-x) are not compatible" )
147
- }
148
- fmt .Print ("Query Result (Raw): " )
149
- os .Stdout .Write (proposalResp .Response .Payload )
150
- } else {
151
- if chaincodeQueryHex {
152
- fmt .Printf ("Query Result: %x\n " , proposalResp .Response .Payload )
153
- } else {
154
- fmt .Printf ("Query Result: %s\n " , string (proposalResp .Response .Payload ))
155
- }
147
+ fmt .Println (proposalResp .Response .Payload )
148
+ return nil
149
+ }
150
+ if chaincodeQueryHex {
151
+ fmt .Printf ("%x\n " , proposalResp .Response .Payload )
152
+ return nil
156
153
}
154
+ fmt .Println (string (proposalResp .Response .Payload ))
157
155
}
158
156
return nil
159
157
}
@@ -214,20 +212,20 @@ func getCollectionConfigFromBytes(cconfBytes []byte) ([]byte, error) {
214
212
ccarray = append (ccarray , cc )
215
213
}
216
214
217
- ccp := & pcommon.CollectionConfigPackage {ccarray }
215
+ ccp := & pcommon.CollectionConfigPackage {Config : ccarray }
218
216
return proto .Marshal (ccp )
219
217
}
220
218
221
219
func checkChaincodeCmdParams (cmd * cobra.Command ) error {
222
220
//we need chaincode name for everything, including deploy
223
221
if chaincodeName == common .UndefinedParamValue {
224
- return fmt .Errorf ("Must supply value for %s name parameter. " , chainFuncName )
222
+ return fmt .Errorf ("must supply value for %s name parameter" , chainFuncName )
225
223
}
226
224
227
225
if cmd .Name () == instantiateCmdName || cmd .Name () == installCmdName ||
228
226
cmd .Name () == upgradeCmdName || cmd .Name () == packageCmdName {
229
227
if chaincodeVersion == common .UndefinedParamValue {
230
- return fmt .Errorf ("Chaincode version is not provided for %s" , cmd .Name ())
228
+ return fmt .Errorf ("chaincode version is not provided for %s" , cmd .Name ())
231
229
}
232
230
}
233
231
@@ -248,7 +246,7 @@ func checkChaincodeCmdParams(cmd *cobra.Command) error {
248
246
if policy != common .UndefinedParamValue {
249
247
p , err := cauthdsl .FromString (policy )
250
248
if err != nil {
251
- return fmt .Errorf ("Invalid policy %s" , policy )
249
+ return fmt .Errorf ("invalid policy %s" , policy )
252
250
}
253
251
policyMarshalled = putils .MarshalOrPanic (p )
254
252
}
@@ -270,7 +268,7 @@ func checkChaincodeCmdParams(cmd *cobra.Command) error {
270
268
var f interface {}
271
269
err := json .Unmarshal ([]byte (chaincodeCtorJSON ), & f )
272
270
if err != nil {
273
- return fmt .Errorf ("Chaincode argument error: %s" , err )
271
+ return fmt .Errorf ("chaincode argument error: %s" , err )
274
272
}
275
273
m := f .(map [string ]interface {})
276
274
sm := make (map [string ]interface {})
@@ -305,24 +303,24 @@ func InitCmdFactory(isEndorserRequired, isOrdererRequired bool) (*ChaincodeCmdFa
305
303
if isEndorserRequired {
306
304
endorserClient , err = common .GetEndorserClientFnc ()
307
305
if err != nil {
308
- return nil , fmt .Errorf ("Error getting endorser client %s: %s" , chainFuncName , err )
306
+ return nil , fmt .Errorf ("error getting endorser client %s: %s" , chainFuncName , err )
309
307
}
310
308
}
311
309
312
310
signer , err := common .GetDefaultSignerFnc ()
313
311
if err != nil {
314
- return nil , fmt .Errorf ("Error getting default signer: %s" , err )
312
+ return nil , fmt .Errorf ("error getting default signer: %s" , err )
315
313
}
316
314
317
315
var broadcastClient common.BroadcastClient
318
316
if isOrdererRequired {
319
317
if len (common .OrderingEndpoint ) == 0 {
320
318
orderingEndpoints , err := common .GetOrdererEndpointOfChainFnc (channelID , signer , endorserClient )
321
319
if err != nil {
322
- return nil , fmt .Errorf ("Error getting (%s) orderer endpoint: %s" , channelID , err )
320
+ return nil , fmt .Errorf ("error getting (%s) orderer endpoint: %s" , channelID , err )
323
321
}
324
322
if len (orderingEndpoints ) == 0 {
325
- return nil , fmt .Errorf ("Error no orderer endpoint got for %s" , channelID )
323
+ return nil , fmt .Errorf ("error no orderer endpoint got for %s" , channelID )
326
324
}
327
325
logger .Infof ("Get chain(%s) orderer endpoint: %s" , channelID , orderingEndpoints [0 ])
328
326
// override viper env
@@ -332,7 +330,7 @@ func InitCmdFactory(isEndorserRequired, isOrdererRequired bool) (*ChaincodeCmdFa
332
330
broadcastClient , err = common .GetBroadcastClientFnc ()
333
331
334
332
if err != nil {
335
- return nil , fmt .Errorf ("Error getting broadcast client: %s" , err )
333
+ return nil , fmt .Errorf ("error getting broadcast client: %s" , err )
336
334
}
337
335
}
338
336
return & ChaincodeCmdFactory {
@@ -367,7 +365,7 @@ func ChaincodeInvokeOrQuery(
367
365
368
366
creator , err := signer .Serialize ()
369
367
if err != nil {
370
- return nil , fmt .Errorf ("Error serializing identity for %s: %s" , signer .GetIdentifier (), err )
368
+ return nil , fmt .Errorf ("error serializing identity for %s: %s" , signer .GetIdentifier (), err )
371
369
}
372
370
373
371
funcName := "invoke"
@@ -379,26 +377,26 @@ func ChaincodeInvokeOrQuery(
379
377
var tMap map [string ][]byte
380
378
if transient != "" {
381
379
if err := json .Unmarshal ([]byte (transient ), & tMap ); err != nil {
382
- return nil , fmt .Errorf ("Error parsing transient string: %s" , err )
380
+ return nil , fmt .Errorf ("error parsing transient string: %s" , err )
383
381
}
384
382
}
385
383
386
384
var prop * pb.Proposal
387
385
prop , _ , err = putils .CreateChaincodeProposalWithTransient (pcommon .HeaderType_ENDORSER_TRANSACTION , cID , invocation , creator , tMap )
388
386
if err != nil {
389
- return nil , fmt .Errorf ("Error creating proposal %s: %s" , funcName , err )
387
+ return nil , fmt .Errorf ("error creating proposal %s: %s" , funcName , err )
390
388
}
391
389
392
390
var signedProp * pb.SignedProposal
393
391
signedProp , err = putils .GetSignedProposal (prop , signer )
394
392
if err != nil {
395
- return nil , fmt .Errorf ("Error creating signed proposal %s: %s" , funcName , err )
393
+ return nil , fmt .Errorf ("error creating signed proposal %s: %s" , funcName , err )
396
394
}
397
395
398
396
var proposalResp * pb.ProposalResponse
399
397
proposalResp , err = endorserClient .ProcessProposal (context .Background (), signedProp )
400
398
if err != nil {
401
- return nil , fmt .Errorf ("Error endorsing %s: %s" , funcName , err )
399
+ return nil , fmt .Errorf ("error endorsing %s: %s" , funcName , err )
402
400
}
403
401
404
402
if invoke {
@@ -409,12 +407,12 @@ func ChaincodeInvokeOrQuery(
409
407
// assemble a signed transaction (it's an Envelope message)
410
408
env , err := putils .CreateSignedTx (prop , signer , proposalResp )
411
409
if err != nil {
412
- return proposalResp , fmt .Errorf ("Could not assemble transaction, err %s" , err )
410
+ return proposalResp , fmt .Errorf ("could not assemble transaction, err %s" , err )
413
411
}
414
412
415
413
// send the envelope for ordering
416
414
if err = bc .Send (env ); err != nil {
417
- return proposalResp , fmt .Errorf ("Error sending transaction %s: %s" , funcName , err )
415
+ return proposalResp , fmt .Errorf ("error sending transaction %s: %s" , funcName , err )
418
416
}
419
417
}
420
418
}
0 commit comments