github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/protobuf/txs.proto (about)

     1  syntax = 'proto3';
     2  
     3  option go_package = "github.com/hyperledger/burrow/txs";
     4  
     5  import "gogoproto/gogo.proto";
     6  
     7  import "crypto.proto";
     8  
     9  package txs;
    10  
    11  option (gogoproto.stable_marshaler_all) = true;
    12  option (gogoproto.marshaler_all) = true;
    13  option (gogoproto.unmarshaler_all) = true;
    14  // Enable custom Size method (Required by Marshal and Unmarshal).
    15  option (gogoproto.sizer_all) = true;
    16  // Enable registration with golang/protobuf for the grpc-gateway.
    17  option (gogoproto.goproto_registration) = true;
    18  // Enable generation of XXX_MessageName methods for grpc-go/status.
    19  option (gogoproto.messagename_all) = true;
    20  
    21  // An envelope contains both the signable Tx and the signatures for each input (in signatories)
    22  message Envelope {
    23      option (gogoproto.goproto_stringer) = false;
    24      repeated Signatory Signatories = 1 [(gogoproto.nullable) = false];
    25      // Canonical bytes of the Tx ready to be signed
    26      bytes Tx = 2 [(gogoproto.customtype) = "Tx"];
    27      enum EncodingType {
    28          JSON = 0;
    29          RLP = 1;
    30      }
    31      EncodingType Encoding = 3;
    32  
    33  }
    34  
    35  // Signatory contains signature and one or both of Address and PublicKey to identify the signer
    36  message Signatory {
    37      bytes Address = 1 [(gogoproto.customtype) = "github.com/hyperledger/burrow/crypto.Address"];
    38      crypto.PublicKey PublicKey = 2;
    39      crypto.Signature Signature = 4;
    40  }
    41  
    42  // BroadcastTx or Transaction receipt
    43  message Receipt {
    44      // Transaction type
    45      uint32 TxType = 1[(gogoproto.casttype) = "github.com/hyperledger/burrow/txs/payload.Type"];
    46      // The hash of the transaction that caused this event to be generated
    47      bytes TxHash = 2 [(gogoproto.customtype) = "github.com/hyperledger/burrow/binary.HexBytes", (gogoproto.nullable) = false];
    48      // Whether the transaction creates a contract
    49      bool CreatesContract = 3;
    50      // The address of the contract being called
    51      bytes ContractAddress = 4 [(gogoproto.customtype) = "github.com/hyperledger/burrow/crypto.Address", (gogoproto.nullable) = false];
    52  }