pub struct AMM {
pub virtual_liquidity: u128,
pub virtual_token_reserves: u128,
pub real_sol_reserves: u128,
pub real_token_reserves: u128,
pub initial_virtual_token_reserves: u128,
}Fields§
§virtual_liquidity: u128§virtual_token_reserves: u128§real_sol_reserves: u128§real_token_reserves: u128§initial_virtual_token_reserves: u128Implementations§
Source§impl AMM
impl AMM
pub fn new( virtual_liquidity: u128, virtual_token_reserves: u128, real_sol_reserves: u128, real_token_reserves: u128, initial_virtual_token_reserves: u128, ) -> Self
pub fn get_buy_price(&self, tokens: u128) -> Option<u128>
pub fn apply_buy(&mut self, real_liquidity: u128) -> Option<u128>
pub fn apply_sell(&mut self, virtual_amount: u128) -> Option<u128>
pub fn get_sell_price(&self, tokens: u128) -> Option<u128>
Trait Implementations§
Source§impl BorshDeserialize for AMMwhere
u128: BorshDeserialize,
impl BorshDeserialize for AMMwhere
u128: 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>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for AMMwhere
u128: BorshSerialize,
impl BorshSerialize for AMMwhere
u128: BorshSerialize,
impl Copy for AMM
Auto Trait Implementations§
impl Freeze for AMM
impl RefUnwindSafe for AMM
impl Send for AMM
impl Sync for AMM
impl Unpin for AMM
impl UnsafeUnpin for AMM
impl UnwindSafe for AMM
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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