templar_curator_primitives/policy/
cap_group_adapter.rs1use templar_vault_kernel::Wad;
4
5use super::cap_group::CapGroupRecord;
6
7#[must_use]
11pub fn cap_group_record_absolute_cap(record: &CapGroupRecord) -> u128 {
12 record.cap.absolute_cap.map(|cap| cap.get()).unwrap_or(0)
13}
14
15#[must_use]
19pub fn cap_group_record_relative_cap(record: &CapGroupRecord) -> Wad {
20 record.cap.relative_cap.unwrap_or(Wad::one())
21}
22
23pub fn set_cap_group_record_absolute_cap(record: &mut CapGroupRecord, absolute_cap: u128) {
25 let relative_cap = cap_group_record_relative_cap(record);
26 record.cap = super::cap_group::CapGroup::builder()
27 .absolute_cap(absolute_cap)
28 .relative_cap(relative_cap)
29 .build();
30}
31
32pub fn set_cap_group_record_relative_cap(record: &mut CapGroupRecord, relative_cap: Wad) {
34 let absolute_cap = cap_group_record_absolute_cap(record);
35 record.cap = super::cap_group::CapGroup::builder()
36 .absolute_cap(absolute_cap)
37 .relative_cap(relative_cap)
38 .build();
39}