pub struct MarketHeader {
pub authority: Pubkey,
pub mint: Pubkey,
pub oracle: Pubkey,
pub matcher: Pubkey,
pub pending_authority: Pubkey,
pub bump: u8,
pub vault_bump: u8,
pub _padding: [u8; 6],
}Expand description
Market account header (v1.0 layout) — stored at the beginning of the account data. The RiskEngine state follows immediately after, accessed via raw pointer because RiskEngine is ~1.165 MB and doesn’t derive Copy.
Layout version: v1 (introduced in percli v1.0.0). v0.9.x markets used a 136-byte
header without pending_authority — those accounts must be migrated via
migrate_header_v1 before any other instruction can run against them.
Fields§
Authority that created this market (can update params, rotate keys).
mint: PubkeySPL token mint for this market’s collateral.
oracle: PubkeyPyth price feed account for this market’s oracle.
matcher: PubkeyMatcher authority — the only signer allowed to submit trades.
Pending authority for two-step transfer. Pubkey::default() when no
transfer is in flight. Only the holder of this key can call
accept_authority to complete the handoff.
bump: u8Bump seed for the Market PDA.
vault_bump: u8Bump seed for the vault token account PDA.
_padding: [u8; 6]Padding for 8-byte alignment.
Implementations§
Trait Implementations§
Source§impl BorshDeserialize for MarketHeader
impl BorshDeserialize for MarketHeader
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 BorshSerialize for MarketHeader
impl BorshSerialize for MarketHeader
Source§impl Clone for MarketHeader
impl Clone for MarketHeader
Source§fn clone(&self) -> MarketHeader
fn clone(&self) -> MarketHeader
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MarketHeader
Auto Trait Implementations§
impl Freeze for MarketHeader
impl RefUnwindSafe for MarketHeader
impl Send for MarketHeader
impl Sync for MarketHeader
impl Unpin for MarketHeader
impl UnsafeUnpin for MarketHeader
impl UnwindSafe for MarketHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more