utils

package
Version: v1.4.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChannelHeader added in v1.1.0

func ChannelHeader(env *cb.Envelope) (*cb.ChannelHeader, error)

ChannelHeader returns the *cb.ChannelHeader for a given *cb.Envelope.

func ChannelID added in v1.1.0

func ChannelID(env *cb.Envelope) (string, error)

ChannelID returns the Channel ID for a given *cb.Envelope.

func CheckTxID added in v1.4.0

func CheckTxID(txid string, nonce, creator []byte) error

CheckTxID checks that txid is equal to the Hash computed over the concatenation of nonce and creator.

func ComputeProposalBinding

func ComputeProposalBinding(proposal *peer.Proposal) ([]byte, error)

ComputeProposalBinding computes the binding of a proposal

func ComputeTxID added in v1.4.0

func ComputeTxID(nonce, creator []byte) (string, error)

ComputeTxID computes TxID as the Hash computed over the concatenation of nonce and creator.

func CopyBlockMetadata

func CopyBlockMetadata(src *cb.Block, dst *cb.Block)

CopyBlockMetadata copies metadata from one block into another

func CreateChaincodeProposal

func CreateChaincodeProposal(typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte) (*peer.Proposal, string, error)

CreateChaincodeProposal creates a proposal from given input. It returns the proposal and the transaction id associated to the proposal

func CreateChaincodeProposalWithTransient

func CreateChaincodeProposalWithTransient(typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte, transientMap map[string][]byte) (*peer.Proposal, string, error)

CreateChaincodeProposalWithTransient creates a proposal from given input It returns the proposal and the transaction id associated to the proposal

func CreateChaincodeProposalWithTxIDAndTransient added in v1.2.0

func CreateChaincodeProposalWithTxIDAndTransient(typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte, txid string, transientMap map[string][]byte) (*peer.Proposal, string, error)

CreateChaincodeProposalWithTxIDAndTransient creates a proposal from given input. It returns the proposal and the transaction id associated with the proposal

func CreateChaincodeProposalWithTxIDNonceAndTransient

func CreateChaincodeProposalWithTxIDNonceAndTransient(txid string, typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, nonce, creator []byte, transientMap map[string][]byte) (*peer.Proposal, string, error)

CreateChaincodeProposalWithTxIDNonceAndTransient creates a proposal from given input

func CreateDeployProposalFromCDS

func CreateDeployProposalFromCDS(
	chainID string,
	cds *peer.ChaincodeDeploymentSpec,
	creator []byte,
	policy []byte,
	escc []byte,
	vscc []byte,
	collectionConfig []byte) (*peer.Proposal, string, error)

CreateDeployProposalFromCDS returns a deploy proposal given a serialized identity and a ChaincodeDeploymentSpec

func CreateGetChaincodesProposal added in v1.1.0

func CreateGetChaincodesProposal(chainID string, creator []byte) (*peer.Proposal, string, error)

CreateGetChaincodesProposal returns a GETCHAINCODES proposal given a serialized identity

func CreateGetInstalledChaincodesProposal added in v1.1.0

func CreateGetInstalledChaincodesProposal(creator []byte) (*peer.Proposal, string, error)

CreateGetInstalledChaincodesProposal returns a GETINSTALLEDCHAINCODES proposal given a serialized identity

func CreateInstallProposalFromCDS

func CreateInstallProposalFromCDS(ccpack proto.Message, creator []byte) (*peer.Proposal, string, error)

CreateInstallProposalFromCDS returns a install proposal given a serialized identity and a ChaincodeDeploymentSpec

func CreateNonce

func CreateNonce() ([]byte, error)

CreateNonce generates a nonce using the common/crypto package.

func CreateNonceOrPanic

func CreateNonceOrPanic() []byte

CreateNonceOrPanic generates a nonce using the common/crypto package and panics if this operation fails.

func CreateProposalFromCIS

func CreateProposalFromCIS(typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte) (*peer.Proposal, string, error)

CreateProposalFromCIS returns a proposal given a serialized identity and a ChaincodeInvocationSpec

func CreateProposalFromCISAndTxid added in v1.1.0

func CreateProposalFromCISAndTxid(txid string, typ common.HeaderType, chainID string, cis *peer.ChaincodeInvocationSpec, creator []byte) (*peer.Proposal, string, error)

CreateProposalFromCISAndTxid returns a proposal given a serialized identity and a ChaincodeInvocationSpec

func CreateProposalResponse

func CreateProposalResponse(hdrbytes []byte, payl []byte, response *peer.Response, results []byte, events []byte, ccid *peer.ChaincodeID, visibility []byte, signingEndorser msp.SigningIdentity) (*peer.ProposalResponse, error)

CreateProposalResponse creates a proposal response.

func CreateProposalResponseFailure

func CreateProposalResponseFailure(hdrbytes []byte, payl []byte, response *peer.Response, results []byte, events []byte, ccid *peer.ChaincodeID, visibility []byte) (*peer.ProposalResponse, error)

CreateProposalResponseFailure creates a proposal response for cases where endorsement proposal fails either due to a endorsement failure or a chaincode failure (chaincode response status >= shim.ERRORTHRESHOLD)

func CreateSignedEnvelope

func CreateSignedEnvelope(txType common.HeaderType, channelID string, signer crypto.LocalSigner, dataMsg proto.Message, msgVersion int32, epoch uint64) (*common.Envelope, error)

CreateSignedEnvelope creates a signed envelope of the desired type, with marshaled dataMsg and signs it

func CreateSignedEnvelopeWithTLSBinding added in v1.1.0

func CreateSignedEnvelopeWithTLSBinding(txType common.HeaderType, channelID string, signer crypto.LocalSigner, dataMsg proto.Message, msgVersion int32, epoch uint64, tlsCertHash []byte) (*common.Envelope, error)

CreateSignedEnvelopeWithTLSBinding creates a signed envelope of the desired type, with marshaled dataMsg and signs it. It also includes a TLS cert hash into the channel header

func CreateSignedTx

func CreateSignedTx(proposal *peer.Proposal, signer msp.SigningIdentity, resps ...*peer.ProposalResponse) (*common.Envelope, error)

CreateSignedTx assembles an Envelope message from proposal, endorsements, and a signer. This function should be called by a client when it has collected enough endorsements for a proposal to create a transaction and submit it to peers for ordering

func CreateUpgradeProposalFromCDS

func CreateUpgradeProposalFromCDS(
	chainID string,
	cds *peer.ChaincodeDeploymentSpec,
	creator []byte,
	policy []byte,
	escc []byte,
	vscc []byte,
	collectionConfig []byte) (*peer.Proposal, string, error)

CreateUpgradeProposalFromCDS returns a upgrade proposal given a serialized identity and a ChaincodeDeploymentSpec

func EnvelopeToConfigUpdate added in v1.4.0

func EnvelopeToConfigUpdate(configtx *cb.Envelope) (*cb.ConfigUpdateEnvelope, error)

EnvelopeToConfigUpdate is used to extract a ConfigUpdateEnvelope from an envelope of type CONFIG_UPDATE

func ExtractEnvelope

func ExtractEnvelope(block *cb.Block, index int) (*cb.Envelope, error)

ExtractEnvelope retrieves the requested envelope from a given block and unmarshals it

func ExtractEnvelopeOrPanic

func ExtractEnvelopeOrPanic(block *cb.Block, index int) *cb.Envelope

ExtractEnvelopeOrPanic retrieves the requested envelope from a given block and unmarshals it -- it panics if either of these operations fail

func ExtractPayload

func ExtractPayload(envelope *cb.Envelope) (*cb.Payload, error)

ExtractPayload retrieves the payload of a given envelope and unmarshals it.

func ExtractPayloadOrPanic

func ExtractPayloadOrPanic(envelope *cb.Envelope) *cb.Payload

ExtractPayloadOrPanic retrieves the payload of a given envelope and unmarshals it -- it panics if either of these operations fail

func GetActionFromEnvelope

func GetActionFromEnvelope(envBytes []byte) (*peer.ChaincodeAction, error)

GetActionFromEnvelope extracts a ChaincodeAction message from a serialized Envelope TODO: fix function name as per FAB-11831

func GetActionFromEnvelopeMsg added in v1.4.0

func GetActionFromEnvelopeMsg(env *common.Envelope) (*peer.ChaincodeAction, error)

func GetBlockFromBlockBytes

func GetBlockFromBlockBytes(blockBytes []byte) (*cb.Block, error)

GetBlockFromBlockBytes marshals the bytes into Block

func GetBytesChaincodeActionPayload

func GetBytesChaincodeActionPayload(cap *peer.ChaincodeActionPayload) ([]byte, error)

GetBytesChaincodeActionPayload get the bytes of ChaincodeActionPayload from the message

func GetBytesChaincodeEvent

func GetBytesChaincodeEvent(event *peer.ChaincodeEvent) ([]byte, error)

GetBytesChaincodeEvent gets the bytes of ChaincodeEvent

func GetBytesChaincodeProposalPayload

func GetBytesChaincodeProposalPayload(cpp *peer.ChaincodeProposalPayload) ([]byte, error)

GetBytesChaincodeProposalPayload gets the chaincode proposal payload

func GetBytesEnvelope

func GetBytesEnvelope(env *common.Envelope) ([]byte, error)

GetBytesEnvelope get the bytes of Envelope from the message

func GetBytesHeader

func GetBytesHeader(hdr *common.Header) ([]byte, error)

GetBytesHeader get the bytes of Header from the message

func GetBytesPayload

func GetBytesPayload(payl *common.Payload) ([]byte, error)

GetBytesPayload get the bytes of Payload from the message

func GetBytesProposal

func GetBytesProposal(prop *peer.Proposal) ([]byte, error)

GetBytesProposal returns the bytes of a proposal message

func GetBytesProposalPayloadForTx

func GetBytesProposalPayloadForTx(payload *peer.ChaincodeProposalPayload, visibility []byte) ([]byte, error)

GetBytesProposalPayloadForTx takes a ChaincodeProposalPayload and returns its serialized version according to the visibility field

func GetBytesProposalResponse

func GetBytesProposalResponse(pr *peer.ProposalResponse) ([]byte, error)

GetBytesProposalResponse gets proposal bytes response

func GetBytesProposalResponsePayload

func GetBytesProposalResponsePayload(hash []byte, response *peer.Response, result []byte, event []byte, ccid *peer.ChaincodeID) ([]byte, error)

GetBytesProposalResponsePayload gets proposal response payload

func GetBytesResponse

func GetBytesResponse(res *peer.Response) ([]byte, error)

GetBytesResponse gets the bytes of Response

func GetBytesSignatureHeader

func GetBytesSignatureHeader(hdr *common.SignatureHeader) ([]byte, error)

GetBytesSignatureHeader get the bytes of SignatureHeader from the message

func GetBytesTransaction

func GetBytesTransaction(tx *peer.Transaction) ([]byte, error)

GetBytesTransaction get the bytes of Transaction from the message

func GetChainIDFromBlock

func GetChainIDFromBlock(block *cb.Block) (string, error)

GetChainIDFromBlock returns chain ID in the block

func GetChainIDFromBlockBytes

func GetChainIDFromBlockBytes(bytes []byte) (string, error)

GetChainIDFromBlockBytes returns chain ID given byte array which represents the block

func GetChaincodeAction

func GetChaincodeAction(caBytes []byte) (*peer.ChaincodeAction, error)

GetChaincodeAction gets the ChaincodeAction given chaicnode action bytes

func GetChaincodeActionPayload

func GetChaincodeActionPayload(capBytes []byte) (*peer.ChaincodeActionPayload, error)

GetChaincodeActionPayload Get ChaincodeActionPayload from bytes

func GetChaincodeDeploymentSpec

func GetChaincodeDeploymentSpec(code []byte, pr *platforms.Registry) (*peer.ChaincodeDeploymentSpec, error)

GetChaincodeDeploymentSpec returns a ChaincodeDeploymentSpec given args

func GetChaincodeEvents

func GetChaincodeEvents(eBytes []byte) (*peer.ChaincodeEvent, error)

GetChaincodeEvents gets the ChaincodeEvents given chaincode event bytes

func GetChaincodeHeaderExtension

func GetChaincodeHeaderExtension(hdr *common.Header) (*peer.ChaincodeHeaderExtension, error)

GetChaincodeHeaderExtension get chaincode header extension given header

func GetChaincodeInvocationSpec

func GetChaincodeInvocationSpec(prop *peer.Proposal) (*peer.ChaincodeInvocationSpec, error)

GetChaincodeInvocationSpec get the ChaincodeInvocationSpec from the proposal

func GetChaincodeProposalContext

func GetChaincodeProposalContext(prop *peer.Proposal) ([]byte, map[string][]byte, error)

GetChaincodeProposalContext returns creator and transient

func GetChaincodeProposalPayload

func GetChaincodeProposalPayload(bytes []byte) (*peer.ChaincodeProposalPayload, error)

GetChaincodeProposalPayload Get ChaincodeProposalPayload from bytes

func GetEnvelopeFromBlock

func GetEnvelopeFromBlock(data []byte) (*common.Envelope, error)

GetEnvelopeFromBlock gets an envelope from a block's Data field.

func GetHeader

func GetHeader(bytes []byte) (*common.Header, error)

GetHeader Get Header from bytes

func GetLastConfigIndexFromBlock

func GetLastConfigIndexFromBlock(block *cb.Block) (uint64, error)

GetLastConfigIndexFromBlock retrieves the index of the last config block as encoded in the block metadata

func GetLastConfigIndexFromBlockOrPanic

func GetLastConfigIndexFromBlockOrPanic(block *cb.Block) uint64

GetLastConfigIndexFromBlockOrPanic retrieves the index of the last config block as encoded in the block metadata, or panics on error

func GetMetadataFromBlock

func GetMetadataFromBlock(block *cb.Block, index cb.BlockMetadataIndex) (*cb.Metadata, error)

GetMetadataFromBlock retrieves metadata at the specified index.

func GetMetadataFromBlockOrPanic

func GetMetadataFromBlockOrPanic(block *cb.Block, index cb.BlockMetadataIndex) *cb.Metadata

GetMetadataFromBlockOrPanic retrieves metadata at the specified index, or panics on error

func GetNonce

func GetNonce(prop *peer.Proposal) ([]byte, error)

GetNonce returns the nonce used in Proposal

func GetOrComputeTxIDFromEnvelope added in v1.4.2

func GetOrComputeTxIDFromEnvelope(txEnvelopBytes []byte) (string, error)

GetOrComputeTxIDFromEnvelope gets the txID present in a given transaction envelope. If the txID is empty, it constructs the txID from nonce and creator fields in the envelope.

func GetPayload

func GetPayload(e *common.Envelope) (*common.Payload, error)

GetPayload Get Payload from Envelope message

func GetPayloads

GetPayloads gets the underlying payload objects in a TransactionAction

func GetProposal

func GetProposal(propBytes []byte) (*peer.Proposal, error)

GetProposal returns a Proposal message from its bytes

func GetProposalHash1

func GetProposalHash1(header *common.Header, ccPropPayl []byte, visibility []byte) ([]byte, error)

GetProposalHash1 gets the proposal hash bytes after sanitizing the chaincode proposal payload according to the rules of visibility

func GetProposalHash2

func GetProposalHash2(header *common.Header, ccPropPayl []byte) ([]byte, error)

GetProposalHash2 gets the proposal hash - this version is called by the committer where the visibility policy has already been enforced and so we already get what we have to get in ccPropPayl

func GetProposalResponse

func GetProposalResponse(prBytes []byte) (*peer.ProposalResponse, error)

GetProposalResponse given proposal in bytes

func GetProposalResponsePayload

func GetProposalResponsePayload(prpBytes []byte) (*peer.ProposalResponsePayload, error)

GetProposalResponsePayload gets the proposal response payload

func GetResponse

func GetResponse(resBytes []byte) (*peer.Response, error)

GetResponse gets the Response given response bytes

func GetSignatureHeader

func GetSignatureHeader(bytes []byte) (*common.SignatureHeader, error)

GetSignatureHeader Get SignatureHeader from bytes

func GetSignedProposal

func GetSignedProposal(prop *peer.Proposal, signer msp.SigningIdentity) (*peer.SignedProposal, error)

GetSignedProposal returns a signed proposal given a Proposal message and a signing identity

func GetTransaction

func GetTransaction(txBytes []byte) (*peer.Transaction, error)

GetTransaction Get Transaction from bytes

func InitBlockMetadata

func InitBlockMetadata(block *cb.Block)

InitBlockMetadata copies metadata from one block into another

func IsConfigBlock

func IsConfigBlock(block *cb.Block) bool

IsConfigBlock validates whenever given block contains configuration update transaction

func MakeChannelHeader

func MakeChannelHeader(headerType cb.HeaderType, version int32, chainID string, epoch uint64) *cb.ChannelHeader

MakeChannelHeader creates a ChannelHeader.

func MakePayloadHeader

func MakePayloadHeader(ch *cb.ChannelHeader, sh *cb.SignatureHeader) *cb.Header

MakePayloadHeader creates a Payload Header.

func MakeSignatureHeader

func MakeSignatureHeader(serializedCreatorCertChain []byte, nonce []byte) *cb.SignatureHeader

MakeSignatureHeader creates a SignatureHeader.

func Marshal

func Marshal(pb proto.Message) ([]byte, error)

Marshal serializes a protobuf message.

func MarshalOrPanic

func MarshalOrPanic(pb proto.Message) []byte

MarshalOrPanic serializes a protobuf message and panics if this operation fails

func MockSignedEndorserProposal2OrPanic

func MockSignedEndorserProposal2OrPanic(chainID string, cs *peer.ChaincodeSpec, signer msp.SigningIdentity) (*peer.SignedProposal, *peer.Proposal)

func MockSignedEndorserProposalOrPanic

func MockSignedEndorserProposalOrPanic(chainID string, cs *peer.ChaincodeSpec, creator, signature []byte) (*peer.SignedProposal, *peer.Proposal)

MockSignedEndorserProposalOrPanic creates a SignedProposal with the passed arguments

func NewSignatureHeaderOrPanic

func NewSignatureHeaderOrPanic(signer crypto.LocalSigner) *cb.SignatureHeader

NewSignatureHeaderOrPanic returns a signature header and panics on error.

func SetTxID

func SetTxID(channelHeader *cb.ChannelHeader, signatureHeader *cb.SignatureHeader) error

SetTxID generates a transaction id based on the provided signature header and sets the TxId field in the channel header

func SignOrPanic

func SignOrPanic(signer crypto.LocalSigner, msg []byte) []byte

SignOrPanic signs a message and panics on error.

func UnmarshalBlock added in v1.1.0

func UnmarshalBlock(encoded []byte) (*cb.Block, error)

UnmarshalBlock unmarshals bytes to an Block structure

func UnmarshalBlockOrPanic added in v1.1.0

func UnmarshalBlockOrPanic(encoded []byte) *cb.Block

UnmarshalBlockOrPanic unmarshals bytes to an Block structure or panics on error

func UnmarshalChaincodeDeploymentSpec added in v1.3.0

func UnmarshalChaincodeDeploymentSpec(cdsBytes []byte) (*peer.ChaincodeDeploymentSpec, error)

UnmarshalChaincodeDeploymentSpec unmarshals a ChaincodeDeploymentSpec from the provided bytes

func UnmarshalChaincodeID

func UnmarshalChaincodeID(bytes []byte) (*pb.ChaincodeID, error)

UnmarshalChaincodeID returns a ChaincodeID from bytes

func UnmarshalChannelHeader

func UnmarshalChannelHeader(bytes []byte) (*cb.ChannelHeader, error)

UnmarshalChannelHeader returns a ChannelHeader from bytes

func UnmarshalChannelHeaderOrPanic added in v1.1.0

func UnmarshalChannelHeaderOrPanic(bytes []byte) *cb.ChannelHeader

UnmarshalChannelHeaderOrPanic unmarshals bytes to a ChannelHeader or panics on error

func UnmarshalEnvelope

func UnmarshalEnvelope(encoded []byte) (*cb.Envelope, error)

UnmarshalEnvelope unmarshals bytes to an Envelope structure

func UnmarshalEnvelopeOfType

func UnmarshalEnvelopeOfType(envelope *cb.Envelope, headerType cb.HeaderType, message proto.Message) (*cb.ChannelHeader, error)

UnmarshalEnvelopeOfType unmarshals an envelope of the specified type, including unmarshaling the payload data

func UnmarshalEnvelopeOrPanic

func UnmarshalEnvelopeOrPanic(encoded []byte) *cb.Envelope

UnmarshalEnvelopeOrPanic unmarshals bytes to an Envelope structure or panics on error

func UnmarshalPayload

func UnmarshalPayload(encoded []byte) (*cb.Payload, error)

UnmarshalPayload unmarshals bytes to a Payload structure

func UnmarshalPayloadOrPanic

func UnmarshalPayloadOrPanic(encoded []byte) *cb.Payload

UnmarshalPayloadOrPanic unmarshals bytes to a Payload structure or panics on error

func UnmarshalSignatureHeader added in v1.4.2

func UnmarshalSignatureHeader(bytes []byte) (*cb.SignatureHeader, error)

UnmarshalSignatureHeader unmarshals bytes to a SignatureHeader.

func UnmarshalSignatureHeaderOrPanic added in v1.4.2

func UnmarshalSignatureHeaderOrPanic(bytes []byte) *cb.SignatureHeader

UnmarshalSignatureHeaderOrPanic unmarshals bytes to a SignatureHeader.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL