pub struct JitProxyClient { /* private fields */ }
Implementations§
Source§impl JitProxyClient
impl JitProxyClient
pub fn new( drift_client: DriftClient, config: Option<RpcSendTransactionConfig>, cu_params: Option<ComputeBudgetParams>, ) -> Self
pub fn update_config(&mut self, config: RpcSendTransactionConfig)
pub fn update_cu_params(&mut self, cu_params: ComputeBudgetParams)
Sourcepub async fn build_jit_tx(
&self,
taker_order_id: u32,
taker_params: &JitTakerParams,
jit_ix_params: JitIxParams,
maker_params: (&Pubkey, &User),
) -> SdkResult<VersionedMessage>
pub async fn build_jit_tx( &self, taker_order_id: u32, taker_params: &JitTakerParams, jit_ix_params: JitIxParams, maker_params: (&Pubkey, &User), ) -> SdkResult<VersionedMessage>
Build a jit tx
taker_params
JIT taker account params
taker_order_id
order Id of the JIT order
jit_ix_params
bounds for the JIT fill
maker_params
tuple (pubkey, data) of maker’s sub-account
Sourcepub async fn build_swift_ix(
&self,
signed_order_info: &SignedOrderInfo,
taker_params: &JitTakerParams,
jit_ix_params: &JitIxParams,
maker_pubkey: &Pubkey,
maker_account_data: &User,
) -> SdkResult<VersionedMessage>
pub async fn build_swift_ix( &self, signed_order_info: &SignedOrderInfo, taker_params: &JitTakerParams, jit_ix_params: &JitIxParams, maker_pubkey: &Pubkey, maker_account_data: &User, ) -> SdkResult<VersionedMessage>
Build a swift fill tx against a taker order given by taker_params
signed_order_info
Fastlane (order) message to place-and-make against
taker_params
taker account params
jit_params
config for the JIT proxy
maker_pubkey
address of the maker’s subaccount
maker_account_data
Maker’s (User) account data corresponding with the maker_pubkey
Returns a Solana VersionedMessage
ready for signing
Sourcepub async fn jit(
&self,
taker_order_id: u32,
taker_params: &JitTakerParams,
jit_params: JitIxParams,
maker_authority: &Pubkey,
sub_account_id: Option<u16>,
) -> SdkResult<Signature>
pub async fn jit( &self, taker_order_id: u32, taker_params: &JitTakerParams, jit_params: JitIxParams, maker_authority: &Pubkey, sub_account_id: Option<u16>, ) -> SdkResult<Signature>
Send a jit tx with given params
taker_order_id
Id of the order to take against
taker_params
taker account data for the tx
jit_params
bounds for the JIT fill
maker_authority
the maker’s authority key
sub_account_id
the maker’s sub-account for the fill
Sourcepub async fn try_swift_fill(
&self,
signed_order_info: &SignedOrderInfo,
taker_params: &JitTakerParams,
jit_params: &JitIxParams,
maker_authority: &Pubkey,
sub_account_id: Option<u16>,
) -> SdkResult<Signature>
pub async fn try_swift_fill( &self, signed_order_info: &SignedOrderInfo, taker_params: &JitTakerParams, jit_params: &JitIxParams, maker_authority: &Pubkey, sub_account_id: Option<u16>, ) -> SdkResult<Signature>
Try fill against a swift order with JIT-proxy protection
signed_order_info
the swift order info
taker_params
taker account data for the tx
jit_params
bounds for the JIT fill
maker_authority
the maker’s authority key
sub_account_id
the maker’s sub-account for the fill
Trait Implementations§
Source§impl Clone for JitProxyClient
impl Clone for JitProxyClient
Source§fn clone(&self) -> JitProxyClient
fn clone(&self) -> JitProxyClient
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for JitProxyClient
impl !RefUnwindSafe for JitProxyClient
impl Send for JitProxyClient
impl Sync for JitProxyClient
impl Unpin for JitProxyClient
impl !UnwindSafe for JitProxyClient
Blanket Implementations§
Source§impl<T> AlignerFor<1> for T
impl<T> AlignerFor<1> for T
Source§impl<T> AlignerFor<1024> for T
impl<T> AlignerFor<1024> for T
Source§type Aligner = AlignTo1024<T>
type Aligner = AlignTo1024<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<128> for T
impl<T> AlignerFor<128> for T
Source§type Aligner = AlignTo128<T>
type Aligner = AlignTo128<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<16> for T
impl<T> AlignerFor<16> for T
Source§impl<T> AlignerFor<16384> for T
impl<T> AlignerFor<16384> for T
Source§type Aligner = AlignTo16384<T>
type Aligner = AlignTo16384<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<2> for T
impl<T> AlignerFor<2> for T
Source§impl<T> AlignerFor<2048> for T
impl<T> AlignerFor<2048> for T
Source§type Aligner = AlignTo2048<T>
type Aligner = AlignTo2048<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<256> for T
impl<T> AlignerFor<256> for T
Source§type Aligner = AlignTo256<T>
type Aligner = AlignTo256<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<32> for T
impl<T> AlignerFor<32> for T
Source§impl<T> AlignerFor<32768> for T
impl<T> AlignerFor<32768> for T
Source§type Aligner = AlignTo32768<T>
type Aligner = AlignTo32768<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<4> for T
impl<T> AlignerFor<4> for T
Source§impl<T> AlignerFor<4096> for T
impl<T> AlignerFor<4096> for T
Source§type Aligner = AlignTo4096<T>
type Aligner = AlignTo4096<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<512> for T
impl<T> AlignerFor<512> for T
Source§type Aligner = AlignTo512<T>
type Aligner = AlignTo512<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.Source§impl<T> AlignerFor<64> for T
impl<T> AlignerFor<64> for T
Source§impl<T> AlignerFor<8> for T
impl<T> AlignerFor<8> for T
Source§impl<T> AlignerFor<8192> for T
impl<T> AlignerFor<8192> for T
Source§type Aligner = AlignTo8192<T>
type Aligner = AlignTo8192<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
Source§impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
Source§fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
Source§fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
Source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset
. Read moreSource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset
. Read moreSource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset
. Read moreSource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset
. Read moreSource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset
) with value
,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset
) with value
,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read moreSource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped
, except that the function takes &mut Self
.
Useful for functions that take &mut Self
instead of Self
.Source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more