#[repr(u8)]pub enum KeeperAction<Address> {
UpdateOraclePrices {
prices: Vec<OraclePriceUpdateArgs>,
publish_timestamp: UnixTimestampMicros,
},
UpdateMarkPrices {
prices: Vec<MarkPriceUpdateArgs>,
publish_timestamp: UnixTimestampMicros,
},
UpdatePremiumIndexes {
market_ids: Vec<MarketId>,
},
UpdateFunding {
market_ids: Vec<MarketId>,
},
AddTradingCredits {
user_address: Address,
amount: PositiveDecimal,
},
RemoveTradingCredits {
user_address: Address,
amount: PositiveDecimal,
},
UpdateUserFeeTier {
address: Address,
fee_tier: FeeTier,
},
UpdateUserFeeDiscountBps {
address: Address,
fee_discount_bps: u16,
},
SetCumulativeReferralRewards {
address: Address,
asset_id: AssetId,
amount: PositiveDecimal,
},
}Expand description
Keeper operations requiring specific admin privileges.
These operations are typically called by automated keepers/bots and require specific admin types (Pricing, Funding, Credits, FeeTier, Referrals). However, one can also update all admin addresses with it.
Variants§
UpdateOraclePrices
Update oracle prices (PricingAdmin).
UpdateMarkPrices
Update mark prices (PricingAdmin).
UpdatePremiumIndexes
Update premium indexes for markets (PricingAdmin).
UpdateFunding
Update funding rates for markets (FundingAdmin).
AddTradingCredits
Add trading credits to a user (CreditsAdmin).
RemoveTradingCredits
Remove trading credits from a user (CreditsAdmin).
UpdateUserFeeTier
Update user’s fee tier (FeeTierAdmin).
UpdateUserFeeDiscountBps
Update a given user’s fee discount (in bps) (FeeTierAdmin).
SetCumulativeReferralRewards
Set a user’s cumulative referral rewards to an absolute amount (ReferralsAdmin).
Implementations§
Source§impl<Address> KeeperAction<Address>
impl<Address> KeeperAction<Address>
Sourcepub fn required_admin_type(&self) -> AdminType
pub fn required_admin_type(&self) -> AdminType
Returns the specific admin type required for this keeper operation.
Trait Implementations§
Source§impl<Address> AsRef<str> for KeeperAction<Address>
impl<Address> AsRef<str> for KeeperAction<Address>
Source§impl<Address> BorshDeserialize for KeeperAction<Address>where
Address: BorshDeserialize,
impl<Address> BorshDeserialize for KeeperAction<Address>where
Address: BorshDeserialize,
fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl<Address> BorshSerialize for KeeperAction<Address>where
Address: BorshSerialize,
impl<Address> BorshSerialize for KeeperAction<Address>where
Address: BorshSerialize,
Source§impl<Address: Clone> Clone for KeeperAction<Address>
impl<Address: Clone> Clone for KeeperAction<Address>
Source§fn clone(&self) -> KeeperAction<Address>
fn clone(&self) -> KeeperAction<Address>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Address: Debug> Debug for KeeperAction<Address>
impl<Address: Debug> Debug for KeeperAction<Address>
Source§impl<'de, Address> Deserialize<'de> for KeeperAction<Address>where
Address: Deserialize<'de>,
impl<'de, Address> Deserialize<'de> for KeeperAction<Address>where
Address: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<Address> EnumExt for KeeperAction<Address>where
Address: BorshDeserialize,
impl<Address> EnumExt for KeeperAction<Address>where
Address: BorshDeserialize,
Source§impl<'_enum, Address> From<&'_enum KeeperAction<Address>> for KeeperActionDiscriminants
impl<'_enum, Address> From<&'_enum KeeperAction<Address>> for KeeperActionDiscriminants
Source§fn from(val: &'_enum KeeperAction<Address>) -> KeeperActionDiscriminants
fn from(val: &'_enum KeeperAction<Address>) -> KeeperActionDiscriminants
Source§impl<Address> From<KeeperAction<Address>> for CallMessage<Address>
impl<Address> From<KeeperAction<Address>> for CallMessage<Address>
Source§fn from(v: KeeperAction<Address>) -> Self
fn from(v: KeeperAction<Address>) -> Self
Source§impl<Address> From<KeeperAction<Address>> for KeeperActionDiscriminants
impl<Address> From<KeeperAction<Address>> for KeeperActionDiscriminants
Source§fn from(val: KeeperAction<Address>) -> KeeperActionDiscriminants
fn from(val: KeeperAction<Address>) -> KeeperActionDiscriminants
Source§impl<Address: Hash> Hash for KeeperAction<Address>
impl<Address: Hash> Hash for KeeperAction<Address>
Source§impl<Address: JsonSchema> JsonSchema for KeeperAction<Address>
impl<Address: JsonSchema> JsonSchema for KeeperAction<Address>
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more