#[repr(u8)]pub enum ManifestInstruction {
Show 14 variants
CreateMarket = 0,
ClaimSeat = 1,
Deposit = 2,
Withdraw = 3,
Swap = 4,
Expand = 5,
BatchUpdate = 6,
GlobalCreate = 7,
GlobalAddTrader = 8,
GlobalDeposit = 9,
GlobalWithdraw = 10,
GlobalEvict = 11,
GlobalClean = 12,
SwapV2 = 13,
}Expand description
Instructions available for the Manifest program
Variants§
CreateMarket = 0
Create a market
ClaimSeat = 1
Allocate a seat
Deposit = 2
Deposit
Withdraw = 3
Withdraw
Swap = 4
Places an order using funds in a wallet instead of on deposit
Expand = 5
Expand a market.
This is not used in normal operations because expansion happens within instructions that could require it. This is useful for when rent payer != transaction signer.
BatchUpdate = 6
Batch update with multiple place orders and cancels.
GlobalCreate = 7
Create global account for a given token.
GlobalAddTrader = 8
Add a trader to the global account.
GlobalDeposit = 9
Deposit into global account for a given token.
GlobalWithdraw = 10
Withdraw from global account for a given token.
GlobalEvict = 11
Evict another trader from the global account.
GlobalClean = 12
Removes an order from a market that cannot be filled. There are 3 reasons. It is expired, the global trader got evicted, or the global trader no longer has deposited the funds to back the order. This function results in cleaner orderbooks which helps reduce variance and thus compute unit estimates for traders. It is incentivized by receiving gas prepayment deposits. This is not required for normal operation of market. It exists as a deterrent to unfillable and unmaintained global spam.
SwapV2 = 13
Places an order using funds in a wallet instead of on deposit. Separates the owner of the token accounts and the payer. This allows routers to swap and have intermediate hops go through PDAs, rather than all token accounts owned by the user.
Implementations§
Trait Implementations§
Source§impl Clone for ManifestInstruction
impl Clone for ManifestInstruction
Source§fn clone(&self) -> ManifestInstruction
fn clone(&self) -> ManifestInstruction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ManifestInstruction
impl Debug for ManifestInstruction
Source§impl PartialEq for ManifestInstruction
impl PartialEq for ManifestInstruction
Source§impl TryFrom<u8> for ManifestInstruction
impl TryFrom<u8> for ManifestInstruction
Source§type Error = TryFromPrimitiveError<ManifestInstruction>
type Error = TryFromPrimitiveError<ManifestInstruction>
impl Copy for ManifestInstruction
impl Eq for ManifestInstruction
impl StructuralPartialEq for ManifestInstruction
Auto Trait Implementations§
impl Freeze for ManifestInstruction
impl RefUnwindSafe for ManifestInstruction
impl Send for ManifestInstruction
impl Sync for ManifestInstruction
impl Unpin for ManifestInstruction
impl UnwindSafe for ManifestInstruction
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> DerefOrBorrow<T> for Twhere
T: ?Sized,
impl<T> DerefOrBorrow<T> for Twhere
T: ?Sized,
fn deref_or_borrow(&self) -> &T
Source§impl<T> DerefOrBorrowMut<T> for Twhere
T: ?Sized,
impl<T> DerefOrBorrowMut<T> for Twhere
T: ?Sized,
fn deref_or_borrow_mut(&mut self) -> &mut T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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