#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct Timestamp {
pub seconds: ::prost::alloc::string::String,
pub nanos: ::prost::alloc::string::String,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct Credential {
pub public_key: ::prost::alloc::string::String,
pub r#type: super::super::common::v1::CredentialType,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct Quorum {
#[serde(default)]
pub threshold: i32,
#[serde(default)]
pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct Feature {
pub name: super::super::common::v1::FeatureName,
#[serde(default)]
pub value: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct SmartContractInterfaceReference {
pub smart_contract_interface_id: ::prost::alloc::string::String,
pub smart_contract_address: ::prost::alloc::string::String,
pub digest: ::prost::alloc::string::String,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct EarnConfig {
#[serde(default)]
pub version: u32,
#[serde(default)]
pub wrappers: ::prost::alloc::vec::Vec<EarnWrapper>,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct EarnWrapper {
pub vault_address: ::prost::alloc::string::String,
pub chain_caip2: ::prost::alloc::string::String,
pub wrapper_address: ::prost::alloc::string::String,
pub splitter_address: ::prost::alloc::string::String,
pub provider: EarnProvider,
pub deploy_nonce: ::prost::alloc::string::String,
pub client_fee_bps: ::prost::alloc::string::String,
pub client_fee_wallet: ::prost::alloc::string::String,
pub turnkey_fee_bps: ::prost::alloc::string::String,
pub turnkey_fee_wallet: ::prost::alloc::string::String,
pub underlying_asset: ::prost::alloc::string::String,
#[serde(default)]
pub deposits_disabled: bool,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct EarnWrapperPayload {
pub organization_id: ::prost::alloc::string::String,
#[serde(default)]
pub wrapper: ::core::option::Option<EarnWrapper>,
}
#[derive(Debug)]
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq)]
pub struct SignedEarnWrapper {
#[serde(default)]
pub payload: ::core::option::Option<EarnWrapperPayload>,
#[serde(default)]
pub signature: ::core::option::Option<super::super::models::v1::Signature>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum EarnProvider {
#[serde(rename = "EARN_PROVIDER_UNSPECIFIED")]
Unspecified = 0,
#[serde(rename = "EARN_PROVIDER_MORPHO")]
Morpho = 1,
#[serde(rename = "EARN_PROVIDER_AAVE")]
Aave = 2,
}
impl EarnProvider {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "EARN_PROVIDER_UNSPECIFIED",
Self::Morpho => "EARN_PROVIDER_MORPHO",
Self::Aave => "EARN_PROVIDER_AAVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EARN_PROVIDER_UNSPECIFIED" => Some(Self::Unspecified),
"EARN_PROVIDER_MORPHO" => Some(Self::Morpho),
"EARN_PROVIDER_AAVE" => Some(Self::Aave),
_ => None,
}
}
}