surfpool-sdk crate'i, Surfnet struct'ı merkezli küçük bir yüzey sunar. Bu
sayfa tüm genel öğeleri listeler; açıklayıcı kullanım için
Genel Bakış ile başlayan kılavuzlara bakın.
Crate Kök Dışa Aktarmaları
| Öğe | Tür | Notlar |
|---|---|---|
Surfnet | struct | Çalışan Surfnet örneği — RPC/WS uç noktaları, ödeyici, cheatcode'lar |
SurfnetBuilder | struct | Surfnet::builder() tarafından kullanılan akıcı builder |
Cheatcodes<'_> | struct | Surfnet::cheatcodes() tarafından döndürülen ödünç alınmış cheatcode yardımcısı |
SurfnetError | enum | SDK'nın döndürdüğü tüm hata varyantları |
SurfnetResult<T> | tür takma adı | Result<T, SurfnetError> |
Keypair | yeniden dışa aktarma | solana_keypair::Keypair |
Pubkey | yeniden dışa aktarma | solana_pubkey::Pubkey |
Signer | yeniden dışa aktarma | solana_signer::Signer |
RpcClient | yeniden dışa aktarma | solana_rpc_client::rpc_client::RpcClient |
BlockProductionMode | yeniden dışa aktarma | surfpool_types::BlockProductionMode |
SimnetCommand | yeniden dışa aktarma | surfpool_types::SimnetCommand |
SimnetEvent | yeniden dışa aktarma | surfpool_types::SimnetEvent |
SvmFeatureConfig | yeniden dışa aktarma | surfpool_types::SvmFeatureConfig |
Surfnet
pub struct Surfnet { /* private */ }
Yapıcılar
impl Surfnet {pub async fn start() -> SurfnetResult<Self>;pub fn builder() -> SurfnetBuilder;}
Erişimciler
impl Surfnet {pub fn rpc_url(&self) -> &str;pub fn ws_url(&self) -> &str;pub fn payer(&self) -> &Keypair;pub fn instance_id(&self) -> &str;pub fn rpc_client(&self) -> RpcClient;pub fn cheatcodes(&self) -> Cheatcodes<'_>;pub fn events(&self) -> &crossbeam_channel::Receiver<SimnetEvent>;pub fn send_command(&self, cmd: SimnetCommand) -> SurfnetResult<()>;}
Yaşam Döngüsü
impl Surfnet {pub fn stop(&mut self) -> SurfnetResult<()>;}impl Drop for Surfnet { /* calls stop() if not already stopped */ }
stop, çalışma zamanının portlarını serbest bırakmasını beklerken beş saniyeye
kadar bloke eder. Drop sırasında oluşan hata sessizdir; açık bir stop
sırasında oluşan hata ise bir SurfnetError::Runtime döndürür.
SurfnetBuilder
pub struct SurfnetBuilder { /* private */ }
Her setter Self döndürür, böylece çağrılar zincirlenebilir. Son çağrı
start().await'dir.
impl SurfnetBuilder {pub fn offline(self, offline: bool) -> Self;pub fn remote_rpc_url(self, url: impl Into<String>) -> Self;pub fn block_production_mode(self, mode: BlockProductionMode) -> Self;pub fn slot_time_ms(self, ms: u64) -> Self;pub fn airdrop_addresses(self, addrs: Vec<Pubkey>) -> Self;pub fn airdrop_sol(self, lamports: u64) -> Self;pub fn skip_blockhash_check(self, skip: bool) -> Self;pub fn payer(self, payer: Keypair) -> Self;pub fn enable_feature(self, feature_id: Pubkey) -> Self;pub fn disable_feature(self, feature_id: Pubkey) -> Self;pub fn feature_config(self, config: SvmFeatureConfig) -> Self;pub async fn start(self) -> SurfnetResult<Surfnet>;}
Cheatcode'lar
pub struct Cheatcodes<'a> { /* private */ }
SOL Fonlama
impl<'a> Cheatcodes<'a> {pub fn fund_sol(&self, address: &Pubkey, lamports: u64) -> SurfnetResult<()>;pub fn fund_sol_many(&self, accounts: &[(&Pubkey, u64)]) -> SurfnetResult<()>;}
Token Fonlama
impl<'a> Cheatcodes<'a> {pub fn fund_token(&self,owner: &Pubkey,mint: &Pubkey,amount: u64,token_program: Option<&Pubkey>,) -> SurfnetResult<()>;pub fn fund_token_many(&self,owners: &[&Pubkey],mint: &Pubkey,amount: u64,token_program: Option<&Pubkey>,) -> SurfnetResult<()>;pub fn set_token_balance(&self,owner: &Pubkey,mint: &Pubkey,amount: u64,token_program: Option<&Pubkey>,) -> SurfnetResult<()>;pub fn get_ata(&self,owner: &Pubkey,mint: &Pubkey,token_program: Option<&Pubkey>,) -> Pubkey;}
Hesap Mutasyonu
impl<'a> Cheatcodes<'a> {pub fn set_account(&self,address: &Pubkey,lamports: u64,data: &[u8],owner: &Pubkey,) -> SurfnetResult<()>;pub fn execute<B: CheatcodeBuilder>(&self, builder: B) -> SurfnetResult<()>;}
Zaman Yolculuğu
impl<'a> Cheatcodes<'a> {pub fn time_travel_to_slot(&self, slot: u64) -> SurfnetResult<EpochInfo>;pub fn time_travel_to_epoch(&self, epoch: u64) -> SurfnetResult<EpochInfo>;pub fn time_travel_to_timestamp(&self, timestamp_ms: u64) -> SurfnetResult<EpochInfo>;}
Program Dağıtımı
impl<'a> Cheatcodes<'a> {pub fn deploy_program(&self, program_name: &str) -> SurfnetResult<Pubkey>;pub fn deploy(&self, builder: DeployProgram) -> SurfnetResult<Pubkey>;}
CheatcodeBuilder Trait
pub trait CheatcodeBuilder {const METHOD: &'static str;fn build(self) -> serde_json::Value;}
Bunu, henüz tipli bir builder tarafından sarmalanmamış özel JSON-RPC cheatcode'ları için uygulayın.
Builder'lar
Tüm builder'lar surfpool_sdk::cheatcodes::builders içinde yer alır.
SetAccount
pub struct SetAccount { /* private */ }impl SetAccount {pub fn new(address: Pubkey) -> Self;pub fn lamports(self, lamports: u64) -> Self;pub fn data(self, data: Vec<u8>) -> Self;pub fn owner(self, owner: Pubkey) -> Self;pub fn rent_epoch(self, epoch: u64) -> Self;pub fn executable(self, executable: bool) -> Self;}
SetTokenAccount
pub struct SetTokenAccount { /* private */ }impl SetTokenAccount {pub fn new(owner: Pubkey, mint: Pubkey) -> Self;pub fn amount(self, amount: u64) -> Self;pub fn delegate(self, delegate: Pubkey) -> Self;pub fn clear_delegate(self) -> Self;pub fn state(self, state: impl Into<String>) -> Self;pub fn delegated_amount(self, amount: u64) -> Self;pub fn close_authority(self, authority: Pubkey) -> Self;pub fn clear_close_authority(self) -> Self;pub fn token_program(self, program: Pubkey) -> Self;}
ResetAccount
pub struct ResetAccount { /* private */ }impl ResetAccount {pub fn new(address: Pubkey) -> Self;pub fn include_owned_accounts(self, include: bool) -> Self;}
StreamAccount
pub struct StreamAccount { /* private */ }impl StreamAccount {pub fn new(address: Pubkey) -> Self;pub fn include_owned_accounts(self, include: bool) -> Self;}
DeployProgram
pub struct DeployProgram { /* private */ }impl DeployProgram {pub fn new(program_id: Pubkey) -> Self;pub fn from_keypair_path(path: impl AsRef<Path>) -> SurfnetResult<Self>;pub fn so_path(self, path: impl Into<PathBuf>) -> Self;pub fn so_bytes(self, bytes: Vec<u8>) -> Self;pub fn idl_path(self, path: impl Into<PathBuf>) -> Self;}
SurfnetError
#[derive(Debug)]pub enum SurfnetError {PortAllocation(String),Startup(String),Runtime(String),Cheatcode(String),Aborted(String),}
| Varyant | Neden |
|---|---|
PortAllocation | RPC veya WebSocket için boş bir porta bağlanılamadı. |
Startup | Çalışma zamanı başlatılamadı. |
Runtime | Çalışma zamanı iş parçacığı panikleyerek veya beklenmedik şekilde sonlandı. |
Cheatcode | Bir cheatcode JSON-RPC çağrısı hata döndürdü. |
Aborted | Çalışma zamanı, başlatma sırasında kapatıldı veya iptal edildi. |
Crate, SurfnetError üzerinde std::error::Error ve Display uygular;
dolayısıyla ? ve anyhow ile kutudan çıktığı gibi çalışır.
Is this page helpful?