#[repr(u8)]pub enum AdminAction<Address> {
Show 31 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,
},
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,
},
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§
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: UpdateAssetInfoArgsInitBorrowLendPool
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.
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 · 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 more