pub struct Signer { /* private fields */ }Expand description
High-performance signer.
Implementations§
Source§impl Signer
impl Signer
Sourcepub fn new(keypair: Keypair, signature_domain: SignatureDomain) -> Self
pub fn new(keypair: Keypair, signature_domain: SignatureDomain) -> Self
Create a signer.
Sourcepub fn with_nonce_manager(
keypair: Keypair,
signature_domain: SignatureDomain,
nonce_manager: NonceManager,
) -> Self
pub fn with_nonce_manager( keypair: Keypair, signature_domain: SignatureDomain, nonce_manager: NonceManager, ) -> Self
Create a signer with nonce management.
Sourcepub fn without_order_id(self) -> Self
pub fn without_order_id(self) -> Self
Disable optional pre-computed order ID generation.
Sourcepub fn with_order_id(self) -> Self
pub fn with_order_id(self) -> Self
Enable optional pre-computed order ID generation.
Sourcepub fn computes_order_id(&self) -> bool
pub fn computes_order_id(&self) -> bool
Check whether order ID generation is enabled.
Sourcepub fn set_order_id(&mut self, enabled: bool)
pub fn set_order_id(&mut self, enabled: bool)
Set whether single-order ID generation is enabled.
Sourcepub fn with_batch_order_ids(self) -> Self
pub fn with_batch_order_ids(self) -> Self
Enable optional pre-computed batch order IDs for multi-order transactions.
When enabled, sign_group() and grouped legacy batch methods include order_ids.
Default is disabled to avoid extra hashing work in hot paths.
Sourcepub fn without_batch_order_ids(self) -> Self
pub fn without_batch_order_ids(self) -> Self
Disable optional pre-computed batch order IDs.
Sourcepub fn computes_batch_order_ids(&self) -> bool
pub fn computes_batch_order_ids(&self) -> bool
Check whether batch order ID generation is enabled.
Sourcepub fn set_batch_order_ids(&mut self, enabled: bool)
pub fn set_batch_order_ids(&mut self, enabled: bool)
Set whether batch order ID generation is enabled.
Sourcepub const fn signature_domain(&self) -> SignatureDomain
pub const fn signature_domain(&self) -> SignatureDomain
Network identity committed into every transaction signature.
Sourcepub fn sign_bytes(&self, message: &[u8]) -> String
pub fn sign_bytes(&self, message: &[u8]) -> String
Sign raw bytes and return base58 signature.
Sourcepub fn sign_action(
&mut self,
action: &Action,
nonce: u64,
account: &Pubkey,
) -> Result<SignedTransaction>
pub fn sign_action( &mut self, action: &Action, nonce: u64, account: &Pubkey, ) -> Result<SignedTransaction>
Low-level signing entrypoint.
Sourcepub fn sign_action_self(
&mut self,
action: &Action,
nonce: u64,
) -> Result<SignedTransaction>
pub fn sign_action_self( &mut self, action: &Action, nonce: u64, ) -> Result<SignedTransaction>
Sign using signer pubkey as account.
Sourcepub fn sign(
&mut self,
item: OrderItem,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign( &mut self, item: OrderItem, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a single order item.
Sourcepub fn sign_all(
&self,
items: Vec<OrderItem>,
base_nonce: Option<u64>,
) -> Result<Vec<SignedTransaction>>
pub fn sign_all( &self, items: Vec<OrderItem>, base_nonce: Option<u64>, ) -> Result<Vec<SignedTransaction>>
Sign multiple independent items in parallel.
Sourcepub fn sign_group(
&mut self,
items: Vec<OrderItem>,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_group( &mut self, items: Vec<OrderItem>, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign multiple items atomically as one transaction.
Sourcepub fn sign_faucet(&mut self, nonce: Option<u64>) -> Result<SignedTransaction>
pub fn sign_faucet(&mut self, nonce: Option<u64>) -> Result<SignedTransaction>
Sign a faucet action.
Sourcepub fn sign_agent_wallet(
&mut self,
agent: Pubkey,
delete: bool,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_agent_wallet( &mut self, agent: Pubkey, delete: bool, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign agent wallet creation/deletion.
Sourcepub fn sign_approve_commission_fee(
&mut self,
to: Pubkey,
fee: u8,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_approve_commission_fee( &mut self, to: Pubkey, fee: u8, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign builder-code recipient approval.
Builder codes are encoded as commission fees on the wire.
Sourcepub fn sign_approve_builder_code(
&mut self,
to: Pubkey,
fee: u8,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_approve_builder_code( &mut self, to: Pubkey, fee: u8, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign builder-code recipient approval.
Sourcepub fn sign_revoke_commission_fee(
&mut self,
to: Pubkey,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_revoke_commission_fee( &mut self, to: Pubkey, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign builder-code recipient revocation.
Sourcepub fn sign_revoke_builder_code(
&mut self,
to: Pubkey,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_revoke_builder_code( &mut self, to: Pubkey, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign builder-code recipient revocation.
Sourcepub fn sign_update_liquidator_config(
&mut self,
config: LiquidatorConfig,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_update_liquidator_config( &mut self, config: LiquidatorConfig, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a liquidator config update (liq).
Sourcepub fn sign_user_settings(
&mut self,
settings: UserSettings,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_user_settings( &mut self, settings: UserSettings, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign user settings update.
Sourcepub fn sign_oracle_prices(
&mut self,
oracles: Vec<OraclePrice>,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_oracle_prices( &mut self, oracles: Vec<OraclePrice>, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign one or more oracle price updates (px actions).
Sourcepub fn sign_pyth_oracle(
&mut self,
oracles: Vec<PythOraclePrice>,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_pyth_oracle( &mut self, oracles: Vec<PythOraclePrice>, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a batch Pyth oracle update (o action).
Sourcepub fn sign_whitelist_faucet(
&mut self,
target: Pubkey,
whitelist: bool,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_whitelist_faucet( &mut self, target: Pubkey, whitelist: bool, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign whitelist faucet access update (admin).
Sourcepub fn sign_create_sub_account(
&mut self,
sub_account: CreateSubAccount,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_create_sub_account( &mut self, sub_account: CreateSubAccount, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a sub-account creation (optionally with initial margin transfer).
Sourcepub fn sign_remove_sub_account(
&mut self,
to_remove: Pubkey,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_remove_sub_account( &mut self, to_remove: Pubkey, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a sub-account removal.
Sourcepub fn sign_rename_sub_account(
&mut self,
rename: RenameSubAccount,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_rename_sub_account( &mut self, rename: RenameSubAccount, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a sub-account rename.
Sourcepub fn sign_transfer(
&mut self,
transfer: Transfer,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_transfer( &mut self, transfer: Transfer, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a margin transfer between accounts.
Sourcepub fn sign_withdraw(
&mut self,
withdraw: Withdraw,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_withdraw( &mut self, withdraw: Withdraw, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a portfolio withdraw.
Sourcepub fn sign_withdraw_lock_recover(
&mut self,
recover: WithdrawLockRecover,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_withdraw_lock_recover( &mut self, recover: WithdrawLockRecover, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a withdraw-lock recovery.
Sourcepub fn sign_create_multisig(
&mut self,
create_multisig: CreateMultisig,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_create_multisig( &mut self, create_multisig: CreateMultisig, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig creation.
Sourcepub fn sign_multisig_propose(
&mut self,
propose: MultisigPropose,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_multisig_propose( &mut self, propose: MultisigPropose, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig proposal.
Sourcepub fn sign_multisig_approve(
&mut self,
approve: MultisigApprove,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_multisig_approve( &mut self, approve: MultisigApprove, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig approval.
Sourcepub fn sign_multisig_reject(
&mut self,
reject: MultisigReject,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_multisig_reject( &mut self, reject: MultisigReject, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig rejection.
Sourcepub fn sign_multisig_cancel(
&mut self,
cancel: MultisigCancel,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_multisig_cancel( &mut self, cancel: MultisigCancel, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig cancellation.
Sourcepub fn sign_multisig_execute(
&mut self,
execute: MultisigExecute,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_multisig_execute( &mut self, execute: MultisigExecute, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig execution.
Sourcepub fn sign_update_multisig_policy(
&mut self,
update: UpdateMultisigPolicy,
nonce: Option<u64>,
) -> Result<SignedTransaction>
pub fn sign_update_multisig_policy( &mut self, update: UpdateMultisigPolicy, nonce: Option<u64>, ) -> Result<SignedTransaction>
Sign a multisig policy update.
Sourcepub fn sign_order(
&mut self,
orders: Vec<OrderItem>,
nonce: Option<u64>,
) -> Result<SignedTransaction>
👎Deprecated since 0.2.0: Use sign(), sign_all(), or sign_group() instead
pub fn sign_order( &mut self, orders: Vec<OrderItem>, nonce: Option<u64>, ) -> Result<SignedTransaction>
Use sign(), sign_all(), or sign_group() instead
Deprecated compatibility alias.
Sourcepub fn sign_orders_batch(
&self,
order_batches: Vec<Vec<OrderItem>>,
base_nonce: Option<u64>,
) -> Result<Vec<SignedTransaction>>
👎Deprecated since 0.2.0: Use sign_all() for simple batches
pub fn sign_orders_batch( &self, order_batches: Vec<Vec<OrderItem>>, base_nonce: Option<u64>, ) -> Result<Vec<SignedTransaction>>
Use sign_all() for simple batches
Deprecated compatibility alias.
Auto Trait Implementations§
impl !Freeze for Signer
impl RefUnwindSafe for Signer
impl Send for Signer
impl Sync for Signer
impl Unpin for Signer
impl UnsafeUnpin for Signer
impl UnwindSafe for Signer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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