github.com/Hnampk/fabric@v2.1.1+incompatible/core/ledger/kvledger/benchmark/chainmgmt/tx_envelope_gen.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package chainmgmt 8 9 import ( 10 "fmt" 11 12 "github.com/hyperledger/fabric-protos-go/common" 13 pb "github.com/hyperledger/fabric-protos-go/peer" 14 "github.com/hyperledger/fabric/core/ledger/kvledger/benchmark/mocks" 15 "github.com/hyperledger/fabric/msp" 16 "github.com/hyperledger/fabric/protoutil" 17 ) 18 19 const ( 20 dummyChainID = "myChain" 21 dummyCCName = "myChaincode" 22 useDummyProposal = true 23 ) 24 25 var ( 26 dummyCCID = &pb.ChaincodeID{Name: dummyCCName, Version: "v1"} 27 dummyProposal *pb.Proposal 28 mspLcl msp.MSP 29 signer msp.SigningIdentity 30 serializedSigner []byte 31 ) 32 33 func init() { 34 mspLcl = mocks.NewNoopMsp() 35 signer, _ = mspLcl.GetDefaultSigningIdentity() 36 serializedSigner, _ = signer.Serialize() 37 38 dummyProposal, _, _ = protoutil.CreateChaincodeProposal( 39 common.HeaderType_ENDORSER_TRANSACTION, dummyChainID, 40 &pb.ChaincodeInvocationSpec{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: dummyCCID}}, 41 serializedSigner) 42 } 43 44 func createTxEnv(simulationResults []byte) (*common.Envelope, error) { 45 var prop *pb.Proposal 46 var err error 47 if useDummyProposal { 48 prop = dummyProposal 49 } else { 50 prop, _, err = protoutil.CreateChaincodeProposal( 51 common.HeaderType_ENDORSER_TRANSACTION, 52 dummyChainID, 53 &pb.ChaincodeInvocationSpec{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: dummyCCID}}, 54 serializedSigner) 55 if err != nil { 56 return nil, err 57 } 58 } 59 presp, err := protoutil.CreateProposalResponse(prop.Header, prop.Payload, nil, simulationResults, nil, dummyCCID, signer) 60 if err != nil { 61 return nil, err 62 } 63 64 env, err := protoutil.CreateSignedTx(prop, signer, presp) 65 if err != nil { 66 return nil, err 67 } 68 return env, nil 69 } 70 71 func panicOnError(err error) { 72 if err != nil { 73 panic(fmt.Errorf("Error:%s", err)) 74 } 75 }