dpp/identity/identity_public_key/accessors/v0/
mod.rs1use crate::identity::contract_bounds::ContractBounds;
2use crate::identity::identity_public_key::KeyID;
3use crate::identity::KeyType;
4use crate::identity::Purpose;
5use crate::identity::SecurityLevel;
6use crate::identity::TimestampMillis;
7use platform_value::BinaryData;
8
9pub trait IdentityPublicKeyGettersV0 {
11 fn id(&self) -> KeyID;
13
14 fn purpose(&self) -> Purpose;
16
17 fn security_level(&self) -> SecurityLevel;
19
20 fn key_type(&self) -> KeyType;
22
23 fn read_only(&self) -> bool;
25
26 fn data(&self) -> &BinaryData;
28
29 fn data_owned(self) -> BinaryData;
31
32 fn disabled_at(&self) -> Option<TimestampMillis>;
34
35 fn is_disabled(&self) -> bool;
37
38 fn contract_bounds(&self) -> Option<&ContractBounds>;
40}
41
42pub trait IdentityPublicKeySettersV0 {
44 fn set_id(&mut self, id: KeyID);
46
47 fn set_purpose(&mut self, purpose: Purpose);
49
50 fn set_security_level(&mut self, security_level: SecurityLevel);
52
53 fn set_key_type(&mut self, key_type: KeyType);
55
56 fn set_read_only(&mut self, read_only: bool);
58
59 fn set_data(&mut self, data: BinaryData);
61
62 fn set_disabled_at(&mut self, timestamp_millis: u64);
64 fn remove_disabled_at(&mut self);
65}