pub struct MarginUser {
    pub version: u8,
    pub margin_account: Pubkey,
    pub market: Pubkey,
    pub claims: Pubkey,
    pub collateral: Pubkey,
    pub underlying_settlement: Pubkey,
    pub ticket_settlement: Pubkey,
    pub debt: Debt,
    pub assets: Assets,
}
Expand description

An acocunt used to track margin users of the market

Fields

version: u8

used to determine if a migration step is needed before user actions are allowed

margin_account: Pubkey

The margin account used for signing actions

market: Pubkey

The Market for the market

claims: Pubkey

Token account used by the margin program to track the debt

collateral: Pubkey

Token account used by the margin program to track the collateral value of positions which are internal to fixed-term market, such as SplitTicket, ClaimTicket, and open orders. this does not represent underlying tokens or ticket tokens, those are registered independently in margin

underlying_settlement: Pubkey

The settle instruction is permissionless, therefore the user must specify upon margin account creation the address to send owed tokens

ticket_settlement: Pubkey

The settle instruction is permissionless, therefore the user must specify upon margin account creation the address to send owed tickets

debt: Debt

The amount of debt that must be collateralized or repaid This debt is expressed in terms of the underlying token - not tickets

assets: Assets

Accounting used to track assets in custody of the fixed term market

Trait Implementations

Deserializes previously initialized account data. Should fail for all uninitialized accounts, where the bytes are zeroed. Implementations should be unique to a particular account type so that one can never successfully deserialize the data of one account type into another. For example, if the SPL token program were to implement this trait, it should be impossible to deserialize a Mint account into a token Account. Read more
Deserializes account data without checking the account discriminator. This should only be used on account initialization, when the bytes of the account are zeroed. Read more
Serializes the account data into writer.
Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.