pub struct TestValidatorGenesis {
pub rent: Rent,
pub validator_exit: Arc<RwLock<Exit>>,
pub start_progress: Arc<RwLock<ValidatorStartProgress>>,
pub authorized_voter_keypairs: Arc<RwLock<Vec<Arc<Keypair>>>>,
pub staked_nodes_overrides: Arc<RwLock<HashMap<Pubkey, u64>>>,
pub max_ledger_shreds: Option<u64>,
pub max_genesis_archive_unpacked_size: Option<u64>,
pub geyser_plugin_config_files: Option<Vec<PathBuf>>,
pub log_messages_bytes_limit: Option<usize>,
pub transaction_account_lock_limit: Option<usize>,
pub tpu_enable_udp: bool,
pub geyser_plugin_manager: Arc<RwLock<GeyserPluginManager>>,
/* private fields */
}
Fields§
§rent: Rent
§validator_exit: Arc<RwLock<Exit>>
§start_progress: Arc<RwLock<ValidatorStartProgress>>
§staked_nodes_overrides: Arc<RwLock<HashMap<Pubkey, u64>>>
§max_ledger_shreds: Option<u64>
§max_genesis_archive_unpacked_size: Option<u64>
§geyser_plugin_config_files: Option<Vec<PathBuf>>
§log_messages_bytes_limit: Option<usize>
§transaction_account_lock_limit: Option<usize>
§tpu_enable_udp: bool
§geyser_plugin_manager: Arc<RwLock<GeyserPluginManager>>
Implementations§
Source§impl TestValidatorGenesis
impl TestValidatorGenesis
Sourcepub fn deactivate_features(&mut self, deactivate_list: &[Pubkey]) -> &mut Self
pub fn deactivate_features(&mut self, deactivate_list: &[Pubkey]) -> &mut Self
Adds features to deactivate to a set, eliminating redundancies
during initialize_ledger
, if member of the set is not a Feature
it will be silently ignored
pub fn ledger_path<P: Into<PathBuf>>(&mut self, ledger_path: P) -> &mut Self
pub fn tower_storage( &mut self, tower_storage: Arc<dyn TowerStorage>, ) -> &mut Self
Sourcepub fn ledger_exists(ledger_path: &Path) -> bool
pub fn ledger_exists(ledger_path: &Path) -> bool
Check if a given TestValidator ledger has already been initialized
pub fn tpu_enable_udp(&mut self, tpu_enable_udp: bool) -> &mut Self
pub fn fee_rate_governor( &mut self, fee_rate_governor: FeeRateGovernor, ) -> &mut Self
pub fn ticks_per_slot(&mut self, ticks_per_slot: u64) -> &mut Self
pub fn epoch_schedule(&mut self, epoch_schedule: EpochSchedule) -> &mut Self
pub fn inflation(&mut self, inflation: Inflation) -> &mut Self
pub fn rent(&mut self, rent: Rent) -> &mut Self
pub fn rpc_config(&mut self, rpc_config: JsonRpcConfig) -> &mut Self
pub fn pubsub_config(&mut self, pubsub_config: PubSubConfig) -> &mut Self
pub fn rpc_port(&mut self, rpc_port: u16) -> &mut Self
pub fn faucet_addr(&mut self, faucet_addr: Option<SocketAddr>) -> &mut Self
pub fn warp_slot(&mut self, warp_slot: Slot) -> &mut Self
pub fn gossip_host(&mut self, gossip_host: IpAddr) -> &mut Self
pub fn gossip_port(&mut self, gossip_port: u16) -> &mut Self
pub fn port_range(&mut self, port_range: PortRange) -> &mut Self
pub fn bind_ip_addr(&mut self, bind_ip_addr: IpAddr) -> &mut Self
pub fn compute_unit_limit(&mut self, compute_unit_limit: u64) -> &mut Self
Sourcepub fn add_account(
&mut self,
address: Pubkey,
account: AccountSharedData,
) -> &mut Self
pub fn add_account( &mut self, address: Pubkey, account: AccountSharedData, ) -> &mut Self
Add an account to the test environment
pub fn add_accounts<T>(&mut self, accounts: T) -> &mut Self
pub fn clone_accounts<T>(
&mut self,
addresses: T,
rpc_client: &RpcClient,
skip_missing: bool,
) -> Result<&mut Self, String>where
T: IntoIterator<Item = Pubkey>,
pub fn deep_clone_address_lookup_table_accounts<T>(
&mut self,
addresses: T,
rpc_client: &RpcClient,
) -> Result<&mut Self, String>where
T: IntoIterator<Item = Pubkey>,
pub fn clone_programdata_accounts<T>(
&mut self,
addresses: T,
rpc_client: &RpcClient,
skip_missing: bool,
) -> Result<&mut Self, String>where
T: IntoIterator<Item = Pubkey>,
pub fn clone_upgradeable_programs<T>(
&mut self,
addresses: T,
rpc_client: &RpcClient,
) -> Result<&mut Self, String>where
T: IntoIterator<Item = Pubkey>,
pub fn clone_feature_set( &mut self, rpc_client: &RpcClient, ) -> Result<&mut Self, String>
pub fn add_accounts_from_json_files( &mut self, accounts: &[AccountInfo<'_>], ) -> Result<&mut Self, String>
pub fn add_accounts_from_directories<T, P>( &mut self, dirs: T, ) -> Result<&mut Self, String>
Sourcepub fn add_account_with_file_data(
&mut self,
address: Pubkey,
lamports: u64,
owner: Pubkey,
filename: &str,
) -> &mut Self
pub fn add_account_with_file_data( &mut self, address: Pubkey, lamports: u64, owner: Pubkey, filename: &str, ) -> &mut Self
Add an account to the test environment with the account data in the provided filename
Sourcepub fn add_account_with_base64_data(
&mut self,
address: Pubkey,
lamports: u64,
owner: Pubkey,
data_base64: &str,
) -> &mut Self
pub fn add_account_with_base64_data( &mut self, address: Pubkey, lamports: u64, owner: Pubkey, data_base64: &str, ) -> &mut Self
Add an account to the test environment with the account data in the provided as a base 64 string
Sourcepub fn add_program(
&mut self,
program_name: &str,
program_id: Pubkey,
) -> &mut Self
pub fn add_program( &mut self, program_name: &str, program_id: Pubkey, ) -> &mut Self
Add a SBF program to the test environment.
program_name
will also used to locate the SBF shared object in the current or fixtures
directory.
Sourcepub fn add_upgradeable_programs_with_path(
&mut self,
programs: &[UpgradeableProgramInfo],
) -> &mut Self
pub fn add_upgradeable_programs_with_path( &mut self, programs: &[UpgradeableProgramInfo], ) -> &mut Self
Add a list of upgradeable programs to the test environment.
Sourcepub fn start_with_mint_address(
&self,
mint_address: Pubkey,
socket_addr_space: SocketAddrSpace,
) -> Result<TestValidator, Box<dyn Error>>
pub fn start_with_mint_address( &self, mint_address: Pubkey, socket_addr_space: SocketAddrSpace, ) -> Result<TestValidator, Box<dyn Error>>
Start a test validator with the address of the mint account that will receive tokens created at genesis.
Sourcepub fn start_with_mint_address_and_geyser_plugin_rpc(
&self,
mint_address: Pubkey,
socket_addr_space: SocketAddrSpace,
rpc_to_plugin_manager_receiver: Option<Receiver<GeyserPluginManagerRequest>>,
) -> Result<TestValidator, Box<dyn Error>>
pub fn start_with_mint_address_and_geyser_plugin_rpc( &self, mint_address: Pubkey, socket_addr_space: SocketAddrSpace, rpc_to_plugin_manager_receiver: Option<Receiver<GeyserPluginManagerRequest>>, ) -> Result<TestValidator, Box<dyn Error>>
Start a test validator with the address of the mint account that will receive tokens created at genesis. Augments admin rpc service with dynamic geyser plugin manager if the geyser plugin service is enabled at startup.
Sourcepub fn start(&self) -> (TestValidator, Keypair)
pub fn start(&self) -> (TestValidator, Keypair)
Start a test validator
Returns a new TestValidator
as well as the keypair for the mint account that will receive tokens
created at genesis.
This function panics on initialization failure.
Sourcepub fn start_with_socket_addr_space(
&self,
socket_addr_space: SocketAddrSpace,
) -> (TestValidator, Keypair)
pub fn start_with_socket_addr_space( &self, socket_addr_space: SocketAddrSpace, ) -> (TestValidator, Keypair)
Start a test validator with the given SocketAddrSpace
Returns a new TestValidator
as well as the keypair for the mint account that will receive tokens
created at genesis.
This function panics on initialization failure.
pub async fn start_async(&self) -> (TestValidator, Keypair)
pub async fn start_async_with_socket_addr_space( &self, socket_addr_space: SocketAddrSpace, ) -> (TestValidator, Keypair)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TestValidatorGenesis
impl !RefUnwindSafe for TestValidatorGenesis
impl Send for TestValidatorGenesis
impl Sync for TestValidatorGenesis
impl Unpin for TestValidatorGenesis
impl !UnwindSafe for TestValidatorGenesis
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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