Skip to content

Commit 152ce78

Browse files
committed
Code cleanup, removing duplicates of envelope decoding
There are several places in the code which implements logic of decoding byte array into Envelope, there is method available inside txutils.go called GetEnvelopeFromBlock, there is GetEnvelope from proputils.go and there is ExtractEnvelope from commonutils.go. This commits removes duplicate and switching to reuse single method from txutils.go. Change-Id: Ia7a963cfd0df85377ef4294d2dba33cca1eb904b Signed-off-by: Artem Barger <[email protected]>
1 parent 94e282f commit 152ce78

File tree

7 files changed

+8
-19
lines changed

7 files changed

+8
-19
lines changed

core/ledger/blkstorage/fsblkstorage/block_serialization.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ func extractMetadata(buf *ledgerutil.Buffer) (*common.BlockMetadata, error) {
199199
}
200200

201201
func extractTxID(txEnvelopBytes []byte) (string, error) {
202-
txEnvelope, err := utils.GetEnvelope(txEnvelopBytes)
202+
txEnvelope, err := utils.GetEnvelopeFromBlock(txEnvelopBytes)
203203
if err != nil {
204204
return "", err
205205
}

core/ledger/blkstorage/fsblkstorage/blockfile_mgr.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ func extractTransaction(txEnvelopeBytes []byte) (*pb.Transaction, error) {
575575
var txPayload *common.Payload
576576
var tx *pb.Transaction
577577

578-
if txEnvelope, err = putil.GetEnvelope(txEnvelopeBytes); err != nil {
578+
if txEnvelope, err = putil.GetEnvelopeFromBlock(txEnvelopeBytes); err != nil {
579579
return nil, err
580580
}
581581
if txPayload, err = putil.GetPayload(txEnvelope); err != nil {

core/system_chaincode/vscc/validator_onevalidsignature.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (vscc *ValidatorOneValidSignature) Invoke(stub shim.ChaincodeStubInterface)
6565
logger.Infof("VSCC invoked")
6666

6767
// get the envelope...
68-
env, err := utils.GetEnvelope(args[1])
68+
env, err := utils.GetEnvelopeFromBlock(args[1])
6969
if err != nil {
7070
logger.Errorf("VSCC error: GetEnvelope failed, err %s", err)
7171
return nil, err

protos/utils/commonutils.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ func ExtractEnvelope(block *cb.Block, index int) (*cb.Envelope, error) {
119119
return nil, fmt.Errorf("Envelope index out of bounds")
120120
}
121121
marshaledEnvelope := block.Data.Data[index]
122-
envelope := &cb.Envelope{}
123-
if err := proto.Unmarshal(marshaledEnvelope, envelope); err != nil {
122+
envelope, err := GetEnvelopeFromBlock(marshaledEnvelope)
123+
if err != nil {
124124
return nil, fmt.Errorf("Block data does not carry an envelope at index %d: %s", index, err)
125125
}
126126
return envelope, nil

protos/utils/proputils.go

+1-12
Original file line numberDiff line numberDiff line change
@@ -184,17 +184,6 @@ func GetSignatureHeader(bytes []byte) (*common.SignatureHeader, error) {
184184
return sh, nil
185185
}
186186

187-
// GetEnvelope Get Envelope from bytes
188-
func GetEnvelope(bytes []byte) (*common.Envelope, error) {
189-
env := &common.Envelope{}
190-
err := proto.Unmarshal(bytes, env)
191-
if err != nil {
192-
return nil, err
193-
}
194-
195-
return env, nil
196-
}
197-
198187
// CreateChaincodeProposal creates a proposal from given input
199188
func CreateChaincodeProposal(txid string, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte) (*peer.Proposal, error) {
200189
ccHdrExt := &peer.ChaincodeHeaderExtension{ChaincodeID: cis.ChaincodeSpec.ChaincodeID}
@@ -353,7 +342,7 @@ func GetBytesEnvelope(env *common.Envelope) ([]byte, error) {
353342

354343
// GetActionFromEnvelope extracts a ChaincodeAction message from a serialized Envelope
355344
func GetActionFromEnvelope(envBytes []byte) (*peer.ChaincodeAction, error) {
356-
env, err := GetEnvelope(envBytes)
345+
env, err := GetEnvelopeFromBlock(envBytes)
357346
if err != nil {
358347
return nil, err
359348
}

protos/utils/proputils_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ func TestEnvelope(t *testing.T) {
225225
return
226226
}
227227

228-
tx, err = GetEnvelope(envBytes)
228+
tx, err = GetEnvelopeFromBlock(envBytes)
229229
if err != nil {
230230
t.Fatalf("Could not unmarshal envelope, err %s\n", err)
231231
return

protos/utils/txutils.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func GetEnvelopeFromBlock(data []byte) (*common.Envelope, error) {
6666
var err error
6767
env := &common.Envelope{}
6868
if err = proto.Unmarshal(data, env); err != nil {
69-
return nil, fmt.Errorf("Error getting envelope(%s)\n", err)
69+
return nil, fmt.Errorf("Error getting envelope(%s)", err)
7070
}
7171

7272
return env, nil

0 commit comments

Comments
 (0)