#[non_exhaustive]#[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>,
},
UpdateOraclePricesWithPythProofs {
prices: Vec<OraclePriceUpdateWithPythProofArgs>,
publish_timestamp: UnixTimestampMicros,
},
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 (Non-exhaustive)§
This enum is marked as non-exhaustive
UpdateOraclePrices
Update oracle prices (PricingAdmin).
UpdateMarkPrices
Update mark prices (PricingAdmin).
UpdatePremiumIndexes
Update premium indexes for markets (PricingAdmin).
UpdateOraclePricesWithPythProofs
Update oracle prices using signed Pyth payloads (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 (const: unstable) · 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 moreSource§impl<Address: Ord> Ord for KeeperAction<Address>
impl<Address: Ord> Ord for KeeperAction<Address>
Source§fn cmp(&self, other: &KeeperAction<Address>) -> Ordering
fn cmp(&self, other: &KeeperAction<Address>) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<Address: PartialEq> PartialEq for KeeperAction<Address>
impl<Address: PartialEq> PartialEq for KeeperAction<Address>
Source§fn eq(&self, other: &KeeperAction<Address>) -> bool
fn eq(&self, other: &KeeperAction<Address>) -> bool
self and other values to be equal, and is used by ==.Source§impl<Address: PartialOrd> PartialOrd for KeeperAction<Address>
impl<Address: PartialOrd> PartialOrd for KeeperAction<Address>
Source§impl<Address> Serialize for KeeperAction<Address>where
Address: Serialize,
impl<Address> Serialize for KeeperAction<Address>where
Address: Serialize,
Source§impl<Address> UniversalWallet for KeeperAction<Address>where
__SovVirtualWallet_KeeperAction_UpdateOraclePrices: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateMarkPrices: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdatePremiumIndexes: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateOraclePricesWithPythProofs: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateFunding: UniversalWallet,
__SovVirtualWallet_KeeperAction_AddTradingCredits<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_RemoveTradingCredits<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateUserFeeTier<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateUserFeeDiscountBps<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_SetCumulativeReferralRewards<Address>: UniversalWallet,
Self: 'static,
impl<Address> UniversalWallet for KeeperAction<Address>where
__SovVirtualWallet_KeeperAction_UpdateOraclePrices: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateMarkPrices: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdatePremiumIndexes: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateOraclePricesWithPythProofs: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateFunding: UniversalWallet,
__SovVirtualWallet_KeeperAction_AddTradingCredits<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_RemoveTradingCredits<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateUserFeeTier<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_UpdateUserFeeDiscountBps<Address>: UniversalWallet,
__SovVirtualWallet_KeeperAction_SetCumulativeReferralRewards<Address>: UniversalWallet,
Self: 'static,
Source§fn scaffold() -> Item<IndexLinking>
fn scaffold() -> Item<IndexLinking>
Link::Placeholder.Source§fn get_child_links(schema: &mut Schema) -> Vec<Link>
fn get_child_links(schema: &mut Schema) -> Vec<Link>
Link connecting the child to the parent. Read moreSource§fn get_child_templates(schema: &mut Schema) -> TransactionTemplateSet
fn get_child_templates(schema: &mut Schema) -> TransactionTemplateSet
Source§fn write_schema(schema: &mut Schema) -> Link
fn write_schema(schema: &mut Schema) -> Link
Source§fn make_root_of(schema: &mut Schema)
fn make_root_of(schema: &mut Schema)
Source§fn make_linkable(schema: &mut Schema) -> Link
fn make_linkable(schema: &mut Schema) -> Link
Source§fn id_override() -> Option<ItemId>
fn id_override() -> Option<ItemId>
OverrideSchema trait.