github.com/yimialmonte/fabric@v2.1.1+incompatible/common/tools/protolator/protoext/peerext/transaction.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package peerext 8 9 import ( 10 "fmt" 11 12 "github.com/golang/protobuf/proto" 13 "github.com/hyperledger/fabric-protos-go/common" 14 "github.com/hyperledger/fabric-protos-go/peer" 15 ) 16 17 type TransactionAction struct { // nothing was testing this 18 *peer.TransactionAction 19 } 20 21 func (ta *TransactionAction) Underlying() proto.Message { 22 return ta.TransactionAction 23 } 24 25 func (ta *TransactionAction) StaticallyOpaqueFields() []string { 26 return []string{"header", "payload"} 27 } 28 29 func (ta *TransactionAction) StaticallyOpaqueFieldProto(name string) (proto.Message, error) { 30 switch name { 31 case ta.StaticallyOpaqueFields()[0]: 32 return &common.SignatureHeader{}, nil 33 case ta.StaticallyOpaqueFields()[1]: 34 return &peer.ChaincodeActionPayload{}, nil 35 default: 36 return nil, fmt.Errorf("not a marshaled field: %s", name) 37 } 38 } 39 40 type ChaincodeActionPayload struct { 41 *peer.ChaincodeActionPayload 42 } 43 44 func (cap *ChaincodeActionPayload) Underlying() proto.Message { 45 return cap.ChaincodeActionPayload 46 } 47 48 func (cap *ChaincodeActionPayload) StaticallyOpaqueFields() []string { 49 return []string{"chaincode_proposal_payload"} 50 } 51 52 func (cap *ChaincodeActionPayload) StaticallyOpaqueFieldProto(name string) (proto.Message, error) { 53 if name != cap.StaticallyOpaqueFields()[0] { 54 return nil, fmt.Errorf("not a marshaled field: %s", name) 55 } 56 return &peer.ChaincodeProposalPayload{}, nil 57 } 58 59 type ChaincodeEndorsedAction struct { 60 *peer.ChaincodeEndorsedAction 61 } 62 63 func (cae *ChaincodeEndorsedAction) Underlying() proto.Message { 64 return cae.ChaincodeEndorsedAction 65 } 66 67 func (cae *ChaincodeEndorsedAction) StaticallyOpaqueFields() []string { 68 return []string{"proposal_response_payload"} 69 } 70 71 func (cae *ChaincodeEndorsedAction) StaticallyOpaqueFieldProto(name string) (proto.Message, error) { 72 if name != cae.StaticallyOpaqueFields()[0] { 73 return nil, fmt.Errorf("not a marshaled field: %s", name) 74 } 75 return &peer.ProposalResponsePayload{}, nil 76 }