-
Notifications
You must be signed in to change notification settings - Fork 0
/
ops.proto
70 lines (61 loc) · 1.81 KB
/
ops.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
syntax = "proto3";
import "types.proto"
///////////////
// Rules
///////////////
// Before rules are evaluated, an "owner" of the entry is
// an Alias computed from the MappingKeyType. The
// following is a table of key types and their
// corresponding owners.
//
// Email -> `domain` field is the owner
// Url -> `domain` field is the owner
// Alias -> the alias is the owner
// Returns true if one of the CA-based signatures
// provided in the EntryUpdate matches the owner
// of the entry.
//
// Always returns false it `enabled` is not set.
message OpOwnerCASignature {
bool enabled = 1;
}
// Returns true if one of the Keynet-based signatures
// provided in the EntryUpdate matches the owner
// of the entry.
//
// Always returns false it `enabled` is not set.
message OpOwnerSignature {
bool enabled = 1;
}
// Returns true if one of the Keynet-based signatures
// provided in the EntryUpdate matches the an alias in the list
// specified in the operation.
//
// Always returns false if the alias field is not defined
message OpThirdPartySignature {
repeated type.Alias alias = 1;
}
// Returns true if n of m signatures match the aliases
// specified in the operation.
//
// Always returns false if either of the fields are not defined.
message OpNOfMSignatures {
repeated types.Alias alias = 1; // optional
int required_number = 2; // optional
}
// Returns true if the current epoch is greater than the
// epoch specified in the operation.
//
// Always returns false if the epoch field is not defined.
message OpLockoutEpoch {
int epoch = 1;
}
message Operation {
op oneof {
OpOwnerCASignature ca_sig = 1;
OpOwnerSignature owner_sig = 2;
OpThirdPartySignature third_party_sig = 3;
OpNOfMSignatures n_of_m_sig = 3;
OpLockoutEpoch lockout_epoch = 4;
}
}