Expand description
§xORCA Rust Client
A Rust client library for interacting with the xORCA staking program on Solana.
§Features
- Type-safe interactions with the xORCA staking program
- WASM support for use in web applications
- Auto-generated code from the program IDL using Codama
- PDA utilities for Program Derived Address derivation
- Math utilities with WASM compilation support
- Serialization support with optional serde integration
§Quick Start
use xorca::*;
// Get the program ID
let program_id = XORCA_STAKING_PROGRAM_ID;
// Derive state address PDA
let (state_address, _bump) = find_state_address().unwrap();§Features
The crate supports several optional features:
serde- Enable serde serialization/deserializationfetch- Enable Solana client integration for fetching account datafloats- Enable floating-point math operations (default)wasm- Enable WASM compilation for web use
§License
This project is licensed under a custom license. See LICENSE for details.
Re-exports§
pub use conversion::*;pub use pda::*;
Modules§
- conversion
- Off-chain conversion helpers that mirror the on-chain staking math. These allow clients to predict xORCA/ORCA amounts using the exact same logic and virtual offsets as the program.
- pda
Structs§
- Initialize
- Accounts.
- Initialize
Builder - Instruction builder for
Initialize. - Initialize
Cpi initializeCPI instruction.- Initialize
CpiAccounts initializeCPI accounts.- Initialize
CpiBuilder - Instruction builder for
Initializevia CPI. - Initialize
Instruction Args - Initialize
Instruction Data - Pending
Withdraw - Set
- Accounts.
- SetBuilder
- Instruction builder for
Set. - SetCpi
setCPI instruction.- SetCpi
Accounts setCPI accounts.- SetCpi
Builder - Instruction builder for
Setvia CPI. - SetInstruction
Args - SetInstruction
Data - Stake
- Accounts.
- Stake
Builder - Instruction builder for
Stake. - Stake
Cpi stakeCPI instruction.- Stake
CpiAccounts stakeCPI accounts.- Stake
CpiBuilder - Instruction builder for
Stakevia CPI. - Stake
Instruction Args - Stake
Instruction Data - State
- Token
Account - Token
Mint - Unstake
- Accounts.
- Unstake
Builder - Instruction builder for
Unstake. - Unstake
Cpi unstakeCPI instruction.- Unstake
CpiAccounts unstakeCPI accounts.- Unstake
CpiBuilder - Instruction builder for
Unstakevia CPI. - Unstake
Instruction Args - Unstake
Instruction Data - Withdraw
- Accounts.
- Withdraw
Builder - Instruction builder for
Withdraw. - Withdraw
Cpi withdrawCPI instruction.- Withdraw
CpiAccounts withdrawCPI accounts.- Withdraw
CpiBuilder - Instruction builder for
Withdrawvia CPI. - Withdraw
Instruction Args - Withdraw
Instruction Data
Enums§
Constants§
- ID
xorca_staking_programprogram ID.- INITIALIZE_
DISCRIMINATOR - PENDING_
WITHDRAW_ DISCRIMINATOR - SET_
DISCRIMINATOR - STAKE_
DISCRIMINATOR - STATE_
DISCRIMINATOR - UNSTAKE_
DISCRIMINATOR - WITHDRAW_
DISCRIMINATOR - XORCA_
STAKING_ PROGRAM_ ID xorca_staking_programprogram ID.