Crate turdle_client
source ·Expand description
Re-exports
pub use test_generator::TestGenerator;
pub use anchor_client;
pub use anchor_client::anchor_lang;
pub use anchor_client::solana_sdk;
pub use anyhow;
pub use futures;
pub use serial_test;
pub use tokio;
pub use error_reporter::*;
Modules
- The
idl
module contains structs and functions for Anchor program code parsing.
Structs
Client
allows you to send typed RPC requests to a Solana cluster.Commander
allows you to start localnet, build programs, run tests and do other useful operations.- The
Error
type, a wrapper around a dynamic error type. - A directive for a single invocation of a Solana program.
- A vanilla Ed25519 key pair
- Localnet (the validator process) handle.
- The address of a Solana account.
Tester
is used primarily by#[trdelnik_test]
macro.
Enums
Traits
- An extension trait for
Future
s that provides a variety of convenient adapters. - Defines the id of a program.
- Calculates the data for an instruction invocation, where the data is
Sha256(<namespace>:<method_name>)[..8] || BorshSerialize(args)
.args
is a borsh serialized struct of named fields for each argument given to an instruction. - Utility trait for printing transaction results.
- The
Signer
trait declares operations that all digital signature providers must support. It is the primary interface by which signers are specified inTransaction
signing interfaces - The
TempClone
trait is used as a workaround for making non-cloneable foreign types cloneable. - Transformation to
AccountMeta
structs.
Functions
- Returns a recognisable
Keypair
/ wallet that can be used for the mint account for example. The public key will start withTxxx
, where xxx are the three digits of the number. You shouldn’t call the method with the samen
twice.o
is used instead of0
, as0
is not part of the base58 charset. Then
must be a number between0
and255
. - Returns a recognisable Keypair of your created program. The public key will start with
Pxx
, where xx are the three digits of the number.o
is used instead of0
, as0
is not part of the base58 charset. You shouldn’t call the method with the samen
twice. Then
must be a number between0
and29
. - Generate a random keypair.
- Returns a system wallet (wallet which is owned by the system) but it is not required, you can also use the
keypair
method bellow. The public key will start withSxx
, where xx are the three digits of the number. You shouldn’t call the method with the samen
twice.o
is used instead of0
, as0
is not part of the base58 charset. Returns a recognisableKeypair
. This is NOT the same asanchor_lang::system_program::System::id()
! Then
must be a number between0
and29
.
Attribute Macros
- Define a fixture that you can use in all
rstest
’s test arguments. You should just mark your function as#[fixture]
and then use it as a test’s argument. Fixture functions can also use other fixtures. - The attribute that you should use for your tests. Your annotated function’s arguments can be injected with
[fixture]
s, provided by parametrized cases or by value lists. - The macro starts the Solana validator (localnet), runs your program test and then shuts down the validator.