#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ContractVersion {
pub family: &'static str,
pub version: u32,
pub baseline: bool,
pub reader: &'static str,
pub writer: &'static str,
pub lowering_to_previous: &'static str,
}
pub const CONTRACT_VERSIONS: &[ContractVersion] = &[
ContractVersion {
family: "policy_bundle",
version: 1,
baseline: false,
reader: "policy_bundle_v1",
writer: "policy_bundle_v1",
lowering_to_previous: "not_applicable",
},
ContractVersion {
family: "policy_bundle",
version: 2,
baseline: true,
reader: "policy_bundle_v2",
writer: "policy_bundle_v2",
lowering_to_previous: "refuse",
},
ContractVersion {
family: "decision_event",
version: 1,
baseline: false,
reader: "decision_event_v1",
writer: "decision_event_v1",
lowering_to_previous: "not_applicable",
},
ContractVersion {
family: "decision_event",
version: 2,
baseline: true,
reader: "decision_event_v2",
writer: "decision_event_v2",
lowering_to_previous: "refuse",
},
];
pub const SUPPORT_HEADER: &str = "OpenLatch-Contract-Support";
pub const SELECTED_HEADER: &str = "OpenLatch-Contract-Selected";