github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/core/ledger/kvledger/benchmark/chainmgmt/tx_envelope_gen.go (about)

     1  /*
     2  Copyright hechain. 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/hechain20/hechain/core/ledger/kvledger/benchmark/mocks"
    13  	"github.com/hechain20/hechain/msp"
    14  	"github.com/hechain20/hechain/protoutil"
    15  	"github.com/hyperledger/fabric-protos-go/common"
    16  	pb "github.com/hyperledger/fabric-protos-go/peer"
    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  }