lit_node_core/models/
ability.rs

1use serde::{Deserialize, Serialize};
2use std::fmt;
3
4#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
5pub enum LitAbility {
6    // Used by top level auth sigs
7    AccessControlConditionDecryption,
8    AccessControlConditionSigning,
9    PKPSigning,
10    LitActionExecution,
11    PaymentDelegationAuth,
12}
13
14impl fmt::Display for LitAbility {
15    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
16        match self {
17            LitAbility::AccessControlConditionDecryption => {
18                write!(f, "access-control-condition-decryption")
19            }
20            LitAbility::AccessControlConditionSigning => {
21                write!(f, "access-control-condition-signing")
22            }
23            LitAbility::PKPSigning => write!(f, "pkp-signing"),
24            LitAbility::LitActionExecution => write!(f, "lit-action-execution"),
25            LitAbility::PaymentDelegationAuth => write!(f, "lit-payment-delegation"),
26        }
27    }
28}