Skip to main content

dpp/identity/identity_public_key/v1/accessors/
mod.rs

1use crate::fee::Credits;
2use crate::identity::contract_bounds::ContractBounds;
3use crate::identity::identity_public_key::accessors::v0::{
4    IdentityPublicKeyGettersV0, IdentityPublicKeySettersV0,
5};
6use crate::identity::identity_public_key::accessors::v1::IdentityPublicKeyGettersV1;
7use crate::identity::identity_public_key::v1::IdentityPublicKeyV1;
8use crate::identity::KeyType;
9use crate::identity::Purpose;
10use crate::identity::SecurityLevel;
11use crate::identity::{KeyID, TimestampMillis};
12use platform_value::BinaryData;
13
14impl IdentityPublicKeyGettersV0 for IdentityPublicKeyV1 {
15    fn id(&self) -> KeyID {
16        self.id
17    }
18
19    fn purpose(&self) -> Purpose {
20        self.purpose
21    }
22
23    fn security_level(&self) -> SecurityLevel {
24        self.security_level
25    }
26
27    fn key_type(&self) -> KeyType {
28        self.key_type
29    }
30
31    fn read_only(&self) -> bool {
32        self.read_only
33    }
34
35    fn data(&self) -> &BinaryData {
36        &self.data
37    }
38
39    fn data_owned(self) -> BinaryData {
40        self.data
41    }
42
43    fn disabled_at(&self) -> Option<TimestampMillis> {
44        self.disabled_at
45    }
46
47    fn is_disabled(&self) -> bool {
48        self.disabled_at.is_some()
49    }
50
51    fn contract_bounds(&self) -> Option<&ContractBounds> {
52        self.contract_bounds.as_ref()
53    }
54}
55
56impl IdentityPublicKeyGettersV1 for IdentityPublicKeyV1 {
57    fn total_budget(&self) -> Option<Credits> {
58        self.total_budget
59    }
60
61    fn expires_at(&self) -> Option<TimestampMillis> {
62        self.expires_at
63    }
64}
65
66impl IdentityPublicKeySettersV0 for IdentityPublicKeyV1 {
67    fn set_id(&mut self, id: KeyID) {
68        self.id = id;
69    }
70
71    fn set_purpose(&mut self, purpose: Purpose) {
72        self.purpose = purpose;
73    }
74
75    fn set_security_level(&mut self, security_level: SecurityLevel) {
76        self.security_level = security_level;
77    }
78
79    fn set_key_type(&mut self, key_type: KeyType) {
80        self.key_type = key_type;
81    }
82
83    fn set_read_only(&mut self, read_only: bool) {
84        self.read_only = read_only;
85    }
86
87    fn set_data(&mut self, data: BinaryData) {
88        self.data = data;
89    }
90
91    fn set_disabled_at(&mut self, timestamp_millis: u64) {
92        self.disabled_at = Some(timestamp_millis);
93    }
94
95    fn remove_disabled_at(&mut self) {
96        self.disabled_at = None;
97    }
98}