use super::{EndpointMutabilityMetadata, MethodPayableMetadata};
#[derive(Clone, Debug)]
pub struct InitMetadata {
pub payable: MethodPayableMetadata,
pub allow_multiple_var_args: bool,
}
#[derive(Clone, Debug)]
pub struct EndpointMetadata {
pub public_name: syn::Ident,
pub payable: MethodPayableMetadata,
pub only_owner: bool,
pub only_admin: bool,
pub only_user_account: bool,
pub mutability: EndpointMutabilityMetadata,
pub allow_multiple_var_args: bool,
}
#[derive(Clone, Debug)]
pub struct CallbackMetadata {
pub callback_name: syn::Ident,
pub allow_multiple_var_args: bool,
}
#[derive(Clone, Debug)]
pub enum PublicRole {
Init(InitMetadata),
Upgrade(InitMetadata),
Endpoint(EndpointMetadata),
Callback(CallbackMetadata),
CallbackRaw,
CallbackPromise(CallbackMetadata),
Private,
}