syntax = "proto3"; package ra; message LibP2PInitInfo { bytes encodedBytes = 1; bytes tpmSignature = 2;//sign based on public key of keypair not the encoded bytes bytes teaId = 3; uint32 blockHeightAtSign = 4; bytes blockHashAtSign = 5; } message VerifyIdRequest{ uint32 nonce = 1; bytes tpmSignature = 2;//sign based on public key of keypair not the encoded bytes bytes teaId = 3; uint32 blockHeightAtSign = 4; bytes blockHashAtSign = 5; bytes publicKey = 7; string replyTo = 6; } message VerifyIdResponse{ uint32 nonce = 1; bytes publicKey = 2; bool result = 3; uint32 blockHeightAtSign = 4; uint32 blockHeightAtVerify = 6; string error = 5; } message PutPeerUrlResponse{ repeated string list = 1; } message TeaNodeProfile{ uint32 profileVersion = 1; bytes body = 2; } message RANode { bytes teaId = 1; bool isPass = 2; } message NodeProfile{ bytes ephemeralPublicKey = 1;//Generated by TPM everytime when tea node starts. It is expired when shutdown. string profileCid = 2;//IPFS Cid to store profile object->TeaNodeProfile bytes teaId = 3;//The node's TPM ID which generates ephemeralPublicKey and sign repeated string publicUrls = 4;//Public URLs if this node is a bootstrap node. If would be [] if this node does not provide public service string peerId = 5;//ipfs peer id used for peer 2 peer communication repeated RANode raNodes = 6; string status = 7; } message TeaNodeUpdateProfileRequest{ bytes ephemeralPublicKey = 1;//Generated by TPM everytime when tea node starts. It is expired when shutdown. string profileCid = 2;//IPFS Cid to store profile object->TeaNodeProfile bytes teaId = 3;//The node's TPM ID which generates ephemeralPublicKey and sign repeated string publicUrls = 4;//Public URLs if this node is a bootstrap node. If would be [] if this node does not provide public service string peerId = 5;//ipfs peer id used for peer 2 peer communication } message TeaNodeResponse{ string accountId = 1; NodeProfile nodeProfile = 2; } message VerifyTeaNodeProfileIntegrityResponse{ bool success = 1; } message CommitRaResultRequest { bytes teaId = 1; bytes targetTeaId = 2; bool isPass = 3; bytes signature = 4; } message CommitRaResultResponse { string accountId = 1; bytes teaId = 2; bytes targetTeaId = 3; bool isPass = 4; string targetStatus = 5; } message AsyncPullCidDataRequest { string cid = 1; bytes payload = 2; bool pin = 3; } message AsyncPullCidDataResponse { bytes data = 1; bytes payload = 2; bool pin = 3; } message AsyncPullCidDataResponseForNats { string cid = 1; bytes payload = 2; }