syntax = "proto3"; package p2p; option go_package = "github.com/centrifuge/centrifuge-protobufs/gen/go/p2p;p2ppb"; option java_multiple_files = true; option java_outer_classname = "P2pProto"; option java_package = "com.p2p"; import "coredocument/coredocument.proto"; import "google/protobuf/timestamp.proto"; message Header { uint32 network_identifier = 1; string node_version = 2; bytes sender_id = 3; // Body message type string type = 4; // sent timestamp google.protobuf.Timestamp timestamp = 5; } message Envelope { Header header = 1; bytes body = 2; } message SignatureRequest { coredocument.CoreDocument document = 1; } message SignatureResponse { repeated coredocument.Signature signatures = 1; } message AnchorDocumentRequest { coredocument.CoreDocument document = 1; } message AnchorDocumentResponse { bool accepted = 1; } enum AccessType { ACCESS_TYPE_INVALID = 0; ACCESS_TYPE_REQUESTER_VERIFICATION = 1; ACCESS_TYPE_NFT_OWNER_VERIFICATION = 2; ACCESS_TYPE_ACCESS_TOKEN_VERIFICATION = 3; } message GetDocumentRequest { bytes document_identifier = 1; AccessType access_type = 2; bytes nft_collection_id = 3; bytes nft_item_id = 4; AccessTokenRequest access_token_request = 5; } message AccessTokenRequest { bytes delegating_document_identifier = 1; bytes access_token_id = 2; } message GetDocumentResponse { coredocument.CoreDocument document = 1; }