#[non_exhaustive]#[repr(u8)]pub enum AdminAction<Address> {
Show 34 variants
InitPerpMarket {
args: InitPerpMarketArgs,
},
UpdatePerpMarket {
args: UpdatePerpMarketArgs,
},
InitSpotMarket {
args: InitSpotMarketArgs,
},
UpdateSpotMarket {
args: UpdateSpotMarketArgs,
},
HaltPerpMarket {
market_id: MarketId,
settlement_price: PositiveDecimal,
},
UnhaltPerpMarket {
market_id: MarketId,
},
HaltSpotMarket {
market_id: MarketId,
},
UnhaltSpotMarket {
market_id: MarketId,
},
PruneMarket {
market_id: MarketId,
},
DeleteMarket {
market_id: MarketId,
},
CleanupUserMarketState {
market_id: MarketId,
users: Vec<Address>,
},
UpdatePerpLeverageTable {
market_id: MarketId,
args: SurrogateLeverageTableArgs,
},
DeleteAsset {
asset_id: AssetId,
},
InitAssetInfo {
args: InitAssetInfoArgs,
},
UpdateAssetInfo {
args: UpdateAssetInfoArgs,
},
InitAssetInfoV1 {
args: InitAssetInfoArgsV1,
},
UpdateAssetInfoV1 {
args: UpdateAssetInfoArgsV1,
},
InitBorrowLendPool {
args: InitBorrowLendPoolArgs,
},
UpdateBorrowLendPool {
args: UpdateBorrowLendPoolArgs,
},
HaltBorrowLendPool {
asset_id: AssetId,
},
UnhaltBorrowLendPool {
asset_id: AssetId,
},
UpdateGlobalConfig {
args: UpdateGlobalConfigArgs<Address>,
},
UpdatePerpLiquidationConfig {
args: UpdatePerpLiquidationConfigArgs,
},
UpdateGlobalVaultConfig {
args: UpdateGlobalVaultConfigArgs,
},
UpdateAdmin {
admin_type: AdminType,
new_admin: Address,
},
UpdateGlobalConfigV1 {
args: UpdateGlobalConfigArgsV1<Address>,
},
WithdrawFromTreasury {
asset_id: AssetId,
amount: PositiveDecimal,
to: Address,
},
CancelOrders {
cancels: Vec<(MarketId, OrderId, Address)>,
},
CancelTriggerOrders {
cancels: Vec<(MarketId, TriggerOrderId, Address)>,
},
ForceSettlePerpPosition {
market_id: MarketId,
users: Vec<Address>,
},
AutoDeleverage {
counterparty_a: Address,
counterparty_a_sub_account_index: Option<u8>,
counterparty_b: Address,
counterparty_b_sub_account_index: Option<u8>,
market_id: MarketId,
size: Option<PositiveDecimal>,
settlement_price: PositiveDecimal,
},
Deposit {
user_address: Address,
asset_id: AssetId,
amount: PositiveDecimal,
},
ForceRemoveDelegate {
delegator: Address,
delegate: Address,
},
InitProtocolVault {
args: CreateVaultArgs<Address>,
},
}Expand description
Protocol admin operations.
These operations require Protocol admin authorization and are used for protocol-level configuration, market management, and emergency actions.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InitPerpMarket
Initialize a new perp market.
Fields
args: InitPerpMarketArgsUpdatePerpMarket
Update perp market configuration.
Fields
args: UpdatePerpMarketArgsInitSpotMarket
Initialize a new spot market.
Fields
args: InitSpotMarketArgsUpdateSpotMarket
Update spot market configuration.
Fields
args: UpdateSpotMarketArgsHaltPerpMarket
Halt a perp market with settlement price.
UnhaltPerpMarket
Unhalt a perp market.
HaltSpotMarket
Halt a spot market.
UnhaltSpotMarket
Unhalt a spot market.
PruneMarket
Prune market data.
DeleteMarket
Delete a market.
CleanupUserMarketState
Cleanup user market state.
UpdatePerpLeverageTable
Update perp market leverage table.
DeleteAsset
Delete an asset.
InitAssetInfo
Initialize asset info.
Fields
args: InitAssetInfoArgsUpdateAssetInfo
Update asset info.
Fields
args: UpdateAssetInfoArgsInitAssetInfoV1
Initialize asset info with Pyth Lazer feed configuration.
Fields
args: InitAssetInfoArgsV1UpdateAssetInfoV1
Update asset info with Pyth Lazer feed configuration.
Fields
args: UpdateAssetInfoArgsV1InitBorrowLendPool
Initialize a borrow/lend pool.
Fields
args: InitBorrowLendPoolArgsUpdateBorrowLendPool
Update borrow/lend pool configuration.
Fields
HaltBorrowLendPool
Halt a borrow/lend pool.
UnhaltBorrowLendPool
Unhalt a borrow/lend pool.
UpdateGlobalConfig
Update global configuration.
Fields
args: UpdateGlobalConfigArgs<Address>UpdatePerpLiquidationConfig
Update perp liquidation configuration.
Fields
UpdateGlobalVaultConfig
Update global vault configuration.
Fields
UpdateAdmin
Update admin addresses.
UpdateGlobalConfigV1
Update global configuration with Pyth Lazer trusted signers.
Fields
args: UpdateGlobalConfigArgsV1<Address>WithdrawFromTreasury
Withdraw from protocol treasury.
CancelOrders
Force cancel user orders.
CancelTriggerOrders
Force cancel user trigger orders.
Fields
cancels: Vec<(MarketId, TriggerOrderId, Address)>ForceSettlePerpPosition
Force settle perp positions.
AutoDeleverage
Auto-deleverage positions.
Fields
counterparty_a: Addresscounterparty_b: Addresssize: Option<PositiveDecimal>settlement_price: PositiveDecimalDeposit
Admin deposit to any user account (creates account if needed). Funds come from the admin’s wallet.
ForceRemoveDelegate
InitProtocolVault
Initialize a new protocol-owned vault.
Behaves identically to a user-created vault but is flagged with
AccountVariant::ProtocolVault so future protocol-specific behavior
(e.g. governance-only withdrawals, fee exemptions) can branch on it.
Fields
args: CreateVaultArgs<Address>Trait Implementations§
Source§impl<Address> AsRef<str> for AdminAction<Address>
impl<Address> AsRef<str> for AdminAction<Address>
Source§impl<Address> BorshDeserialize for AdminAction<Address>where
Address: BorshDeserialize,
impl<Address> BorshDeserialize for AdminAction<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 AdminAction<Address>where
Address: BorshSerialize,
impl<Address> BorshSerialize for AdminAction<Address>where
Address: BorshSerialize,
Source§impl<Address: Clone> Clone for AdminAction<Address>
impl<Address: Clone> Clone for AdminAction<Address>
Source§fn clone(&self) -> AdminAction<Address>
fn clone(&self) -> AdminAction<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 AdminAction<Address>
impl<Address: Debug> Debug for AdminAction<Address>
Source§impl<'de, Address> Deserialize<'de> for AdminAction<Address>where
Address: Deserialize<'de>,
impl<'de, Address> Deserialize<'de> for AdminAction<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 AdminAction<Address>where
Address: BorshDeserialize,
impl<Address> EnumExt for AdminAction<Address>where
Address: BorshDeserialize,
Source§impl<'_enum, Address> From<&'_enum AdminAction<Address>> for AdminActionDiscriminants
impl<'_enum, Address> From<&'_enum AdminAction<Address>> for AdminActionDiscriminants
Source§fn from(val: &'_enum AdminAction<Address>) -> AdminActionDiscriminants
fn from(val: &'_enum AdminAction<Address>) -> AdminActionDiscriminants
Source§impl<Address> From<AdminAction<Address>> for AdminActionDiscriminants
impl<Address> From<AdminAction<Address>> for AdminActionDiscriminants
Source§fn from(val: AdminAction<Address>) -> AdminActionDiscriminants
fn from(val: AdminAction<Address>) -> AdminActionDiscriminants
Source§impl<Address> From<AdminAction<Address>> for CallMessage<Address>
impl<Address> From<AdminAction<Address>> for CallMessage<Address>
Source§fn from(v: AdminAction<Address>) -> Self
fn from(v: AdminAction<Address>) -> Self
Source§impl<Address: Hash> Hash for AdminAction<Address>
impl<Address: Hash> Hash for AdminAction<Address>
Source§impl<Address: JsonSchema> JsonSchema for AdminAction<Address>
impl<Address: JsonSchema> JsonSchema for AdminAction<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 AdminAction<Address>
impl<Address: Ord> Ord for AdminAction<Address>
Source§fn cmp(&self, other: &AdminAction<Address>) -> Ordering
fn cmp(&self, other: &AdminAction<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 AdminAction<Address>
impl<Address: PartialEq> PartialEq for AdminAction<Address>
Source§fn eq(&self, other: &AdminAction<Address>) -> bool
fn eq(&self, other: &AdminAction<Address>) -> bool
self and other values to be equal, and is used by ==.Source§impl<Address: PartialOrd> PartialOrd for AdminAction<Address>
impl<Address: PartialOrd> PartialOrd for AdminAction<Address>
Source§impl<Address> Serialize for AdminAction<Address>where
Address: Serialize,
impl<Address> Serialize for AdminAction<Address>where
Address: Serialize,
Source§impl<Address> UniversalWallet for AdminAction<Address>where
__SovVirtualWallet_AdminAction_InitPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_InitSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_PruneMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_DeleteMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_CleanupUserMarketState<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpLeverageTable: UniversalWallet,
__SovVirtualWallet_AdminAction_DeleteAsset: UniversalWallet,
__SovVirtualWallet_AdminAction_InitAssetInfo: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAssetInfo: UniversalWallet,
__SovVirtualWallet_AdminAction_InitAssetInfoV1: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAssetInfoV1: UniversalWallet,
__SovVirtualWallet_AdminAction_InitBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalConfig<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpLiquidationConfig: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalVaultConfig: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAdmin<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalConfigV1<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_WithdrawFromTreasury<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_CancelOrders<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_CancelTriggerOrders<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_ForceSettlePerpPosition<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_AutoDeleverage<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_Deposit<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_ForceRemoveDelegate<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_InitProtocolVault<Address>: UniversalWallet,
Self: 'static,
impl<Address> UniversalWallet for AdminAction<Address>where
__SovVirtualWallet_AdminAction_InitPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_InitSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltPerpMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltSpotMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_PruneMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_DeleteMarket: UniversalWallet,
__SovVirtualWallet_AdminAction_CleanupUserMarketState<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpLeverageTable: UniversalWallet,
__SovVirtualWallet_AdminAction_DeleteAsset: UniversalWallet,
__SovVirtualWallet_AdminAction_InitAssetInfo: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAssetInfo: UniversalWallet,
__SovVirtualWallet_AdminAction_InitAssetInfoV1: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAssetInfoV1: UniversalWallet,
__SovVirtualWallet_AdminAction_InitBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_HaltBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UnhaltBorrowLendPool: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalConfig<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdatePerpLiquidationConfig: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalVaultConfig: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateAdmin<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_UpdateGlobalConfigV1<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_WithdrawFromTreasury<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_CancelOrders<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_CancelTriggerOrders<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_ForceSettlePerpPosition<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_AutoDeleverage<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_Deposit<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_ForceRemoveDelegate<Address>: UniversalWallet,
__SovVirtualWallet_AdminAction_InitProtocolVault<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.