github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/sawtooth-supply-chain-master/protos/proposal.proto (about)

     1  // Copyright 2017 Intel Corporation
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  // -----------------------------------------------------------------------------
    15  
    16  syntax = "proto3";
    17  
    18  
    19  message Proposal {
    20    enum Role {
    21      OWNER = 0;
    22      CUSTODIAN = 1;
    23      REPORTER = 2;
    24    }
    25  
    26    enum Status {
    27      OPEN = 0;
    28      ACCEPTED = 1;
    29      REJECTED = 2;
    30      CANCELED = 3;
    31    }
    32  
    33    string record_id = 1;
    34  
    35    // The time at which the Proposal was created
    36    uint64 timestamp = 2;
    37  
    38    // The public key of the Agent sending the Proposal. This Agent must
    39    // be the owner of the Record (or the custodian, if the Proposal is
    40    // to transfer custodianship).
    41    string issuing_agent = 3;
    42  
    43    // The public key of the Agent to whom the Proposal is sent.
    44    string receiving_agent = 4;
    45  
    46    // What the Proposal is for -- transferring ownership, transferring
    47    // custodianship, or authorizing a reporter.
    48    Role role = 5;
    49  
    50    // The names of properties for which the reporter is being authorized
    51    // (empty for owner or custodian transfers)
    52    repeated string properties = 6;
    53  
    54    // The status of the Proposal. For a given Record and receiving
    55    // Agent, there can be only one open Proposal at a time for each
    56    // role.
    57    Status status = 7;
    58  
    59    // The human-readable terms of transfer.
    60    string terms = 8;
    61  }
    62  
    63  
    64  message ProposalContainer {
    65    repeated Proposal entries = 1;
    66  }