syntax = "proto3";
package pub.odf.identity.v1;
enum SigningCurve {
UNSIGNED = 0;
SECP256K1 = 1;
ED25519 = 2;
}
// Endorse a public key of another user
message Endorsement {
// UNIX timestamp of this endorsement
uint32 timestamp = 1;
// UNIX timestamp of expiration of endorsement
uint32 expires = 7;
// Elliptic curve used to sign the public key
SigningCurve curve = 2;
// Random data prepended to the data being signed
bytes salt = 3;
// The 33 bytes compressed public key being endorsed
bytes public_key = 4;
// The signature of the above public key, about 70 bytes
bytes signature = 5;
// The transaction ID/hash of the transaction giving the signer
// the authority to endorse
bytes authority_txid = 6;
}