pub struct TransactionBuilder {}Implementations§
Source§impl TransactionBuilder
impl TransactionBuilder
Sourcepub fn build_create_with_fee_payer_proof(
fee_payer: TnPubkey,
start_slot: u64,
fee_payer_state_proof: &StateProof,
) -> Result<Transaction>
pub fn build_create_with_fee_payer_proof( fee_payer: TnPubkey, start_slot: u64, fee_payer_state_proof: &StateProof, ) -> Result<Transaction>
Build balance transfer transaction
Sourcepub fn build_transfer(
fee_payer: TnPubkey,
program: TnPubkey,
to_account: TnPubkey,
amount: u64,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_transfer( fee_payer: TnPubkey, program: TnPubkey, to_account: TnPubkey, amount: u64, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build balance transfer transaction for EOA program (tn_eoa_program.c)
This creates a transaction that calls the TRANSFER instruction of the EOA program, which transfers balance from one account to another.
§Arguments
fee_payer- The account paying the transaction fee (also the from_account for the transfer)program- The EOA program pubkey (typically EOA_PROGRAM constant = all zeros)to_account- The destination account receiving the transferamount- The amount to transferfee- Transaction feenonce- Account noncestart_slot- Starting slot for transaction validity
Sourcepub fn build_create_account(
fee_payer: TnPubkey,
program: TnPubkey,
target_account: TnPubkey,
seed: &str,
state_proof: Option<&[u8]>,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_create_account( fee_payer: TnPubkey, program: TnPubkey, target_account: TnPubkey, seed: &str, state_proof: Option<&[u8]>, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build regular account creation transaction (with optional state proof)
Sourcepub fn build_create_ephemeral_account(
fee_payer: TnPubkey,
program: TnPubkey,
target_account: TnPubkey,
seed: &[u8; 32],
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_create_ephemeral_account( fee_payer: TnPubkey, program: TnPubkey, target_account: TnPubkey, seed: &[u8; 32], fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build account creation transaction
Sourcepub fn build_resize_account(
fee_payer: TnPubkey,
program: TnPubkey,
target_account: TnPubkey,
new_size: u64,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_resize_account( fee_payer: TnPubkey, program: TnPubkey, target_account: TnPubkey, new_size: u64, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build account resize transaction
Sourcepub fn build_compress_account(
fee_payer: TnPubkey,
program: TnPubkey,
target_account: TnPubkey,
state_proof: &[u8],
fee: u64,
nonce: u64,
start_slot: u64,
account_size: u32,
) -> Result<Transaction>
pub fn build_compress_account( fee_payer: TnPubkey, program: TnPubkey, target_account: TnPubkey, state_proof: &[u8], fee: u64, nonce: u64, start_slot: u64, account_size: u32, ) -> Result<Transaction>
Build account compression transaction
Source§impl TransactionBuilder
impl TransactionBuilder
Sourcepub fn build_uploader_create(
fee_payer: TnPubkey,
uploader_program: TnPubkey,
meta_account: TnPubkey,
buffer_account: TnPubkey,
buffer_size: u32,
expected_hash: [u8; 32],
seed: &[u8],
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_uploader_create( fee_payer: TnPubkey, uploader_program: TnPubkey, meta_account: TnPubkey, buffer_account: TnPubkey, buffer_size: u32, expected_hash: [u8; 32], seed: &[u8], fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build uploader program CREATE transaction
Sourcepub fn build_uploader_write(
fee_payer: TnPubkey,
uploader_program: TnPubkey,
meta_account: TnPubkey,
buffer_account: TnPubkey,
data: &[u8],
offset: u32,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_uploader_write( fee_payer: TnPubkey, uploader_program: TnPubkey, meta_account: TnPubkey, buffer_account: TnPubkey, data: &[u8], offset: u32, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build uploader program WRITE transaction
Sourcepub fn build_uploader_finalize(
fee_payer: TnPubkey,
uploader_program: TnPubkey,
meta_account: TnPubkey,
buffer_account: TnPubkey,
buffer_size: u32,
expected_hash: [u8; 32],
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_uploader_finalize( fee_payer: TnPubkey, uploader_program: TnPubkey, meta_account: TnPubkey, buffer_account: TnPubkey, buffer_size: u32, expected_hash: [u8; 32], fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build uploader program FINALIZE transaction
Sourcepub fn build_uploader_destroy(
fee_payer: TnPubkey,
uploader_program: TnPubkey,
meta_account: TnPubkey,
buffer_account: TnPubkey,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_uploader_destroy( fee_payer: TnPubkey, uploader_program: TnPubkey, meta_account: TnPubkey, buffer_account: TnPubkey, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build uploader program DESTROY transaction
Sourcepub fn build_manager_create(
fee_payer: TnPubkey,
manager_program: TnPubkey,
meta_account: TnPubkey,
program_account: TnPubkey,
srcbuf_account: TnPubkey,
authority_account: TnPubkey,
srcbuf_offset: u32,
srcbuf_size: u32,
seed: &[u8],
is_ephemeral: bool,
meta_proof: Option<&[u8]>,
program_proof: Option<&[u8]>,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_manager_create( fee_payer: TnPubkey, manager_program: TnPubkey, meta_account: TnPubkey, program_account: TnPubkey, srcbuf_account: TnPubkey, authority_account: TnPubkey, srcbuf_offset: u32, srcbuf_size: u32, seed: &[u8], is_ephemeral: bool, meta_proof: Option<&[u8]>, program_proof: Option<&[u8]>, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build manager program CREATE transaction
Sourcepub fn build_manager_upgrade(
fee_payer: TnPubkey,
manager_program: TnPubkey,
meta_account: TnPubkey,
program_account: TnPubkey,
srcbuf_account: TnPubkey,
srcbuf_offset: u32,
srcbuf_size: u32,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_manager_upgrade( fee_payer: TnPubkey, manager_program: TnPubkey, meta_account: TnPubkey, program_account: TnPubkey, srcbuf_account: TnPubkey, srcbuf_offset: u32, srcbuf_size: u32, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build manager program UPGRADE transaction
Sourcepub fn build_manager_set_pause(
fee_payer: TnPubkey,
manager_program: TnPubkey,
meta_account: TnPubkey,
program_account: TnPubkey,
is_paused: bool,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_manager_set_pause( fee_payer: TnPubkey, manager_program: TnPubkey, meta_account: TnPubkey, program_account: TnPubkey, is_paused: bool, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build manager program SET_PAUSE transaction
Sourcepub fn build_manager_simple(
fee_payer: TnPubkey,
manager_program: TnPubkey,
meta_account: TnPubkey,
program_account: TnPubkey,
instruction_type: u8,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_manager_simple( fee_payer: TnPubkey, manager_program: TnPubkey, meta_account: TnPubkey, program_account: TnPubkey, instruction_type: u8, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build manager program simple transactions (DESTROY, FINALIZE, CLAIM_AUTHORITY)
Build manager program SET_AUTHORITY transaction
Sourcepub fn build_test_uploader_create(
fee_payer: TnPubkey,
test_uploader_program: TnPubkey,
target_account: TnPubkey,
account_sz: u32,
seed: &[u8],
is_ephemeral: bool,
state_proof: Option<&[u8]>,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_test_uploader_create( fee_payer: TnPubkey, test_uploader_program: TnPubkey, target_account: TnPubkey, account_sz: u32, seed: &[u8], is_ephemeral: bool, state_proof: Option<&[u8]>, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build test uploader program CREATE transaction
Sourcepub fn build_test_uploader_write(
fee_payer: TnPubkey,
test_uploader_program: TnPubkey,
target_account: TnPubkey,
offset: u32,
data: &[u8],
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_test_uploader_write( fee_payer: TnPubkey, test_uploader_program: TnPubkey, target_account: TnPubkey, offset: u32, data: &[u8], fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build test uploader program WRITE transaction
Sourcepub fn build_decompress2(
fee_payer: TnPubkey,
program: TnPubkey,
target_account: TnPubkey,
meta_account: TnPubkey,
data_account: TnPubkey,
data_offset: u32,
state_proof: &[u8],
fee: u64,
nonce: u64,
start_slot: u64,
data_sz: u32,
) -> Result<Transaction>
pub fn build_decompress2( fee_payer: TnPubkey, program: TnPubkey, target_account: TnPubkey, meta_account: TnPubkey, data_account: TnPubkey, data_offset: u32, state_proof: &[u8], fee: u64, nonce: u64, start_slot: u64, data_sz: u32, ) -> Result<Transaction>
Build account decompression transaction using DECOMPRESS2 (separate meta and data accounts)
Source§impl TransactionBuilder
impl TransactionBuilder
Sourcepub fn build_token_initialize_mint(
fee_payer: TnPubkey,
token_program: TnPubkey,
mint_account: TnPubkey,
mint_authority: TnPubkey,
freeze_authority: Option<TnPubkey>,
decimals: u8,
ticker: &str,
seed: [u8; 32],
state_proof: Vec<u8>,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_initialize_mint( fee_payer: TnPubkey, token_program: TnPubkey, mint_account: TnPubkey, mint_authority: TnPubkey, freeze_authority: Option<TnPubkey>, decimals: u8, ticker: &str, seed: [u8; 32], state_proof: Vec<u8>, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program InitializeMint transaction
Sourcepub fn build_token_initialize_account(
fee_payer: TnPubkey,
token_program: TnPubkey,
token_account: TnPubkey,
mint_account: TnPubkey,
owner: TnPubkey,
seed: [u8; 32],
state_proof: Vec<u8>,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_initialize_account( fee_payer: TnPubkey, token_program: TnPubkey, token_account: TnPubkey, mint_account: TnPubkey, owner: TnPubkey, seed: [u8; 32], state_proof: Vec<u8>, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program InitializeAccount transaction
Sourcepub fn build_token_transfer(
fee_payer: TnPubkey,
token_program: TnPubkey,
source_account: TnPubkey,
dest_account: TnPubkey,
_authority: TnPubkey,
amount: u64,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_transfer( fee_payer: TnPubkey, token_program: TnPubkey, source_account: TnPubkey, dest_account: TnPubkey, _authority: TnPubkey, amount: u64, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program Transfer transaction
Sourcepub fn build_token_mint_to(
fee_payer: TnPubkey,
token_program: TnPubkey,
mint_account: TnPubkey,
dest_account: TnPubkey,
authority: TnPubkey,
amount: u64,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_mint_to( fee_payer: TnPubkey, token_program: TnPubkey, mint_account: TnPubkey, dest_account: TnPubkey, authority: TnPubkey, amount: u64, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program MintTo transaction
Sourcepub fn build_token_burn(
fee_payer: TnPubkey,
token_program: TnPubkey,
token_account: TnPubkey,
mint_account: TnPubkey,
authority: TnPubkey,
amount: u64,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_burn( fee_payer: TnPubkey, token_program: TnPubkey, token_account: TnPubkey, mint_account: TnPubkey, authority: TnPubkey, amount: u64, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program Burn transaction
Sourcepub fn build_token_freeze_account(
fee_payer: TnPubkey,
token_program: TnPubkey,
token_account: TnPubkey,
mint_account: TnPubkey,
authority: TnPubkey,
fee: u64,
nonce: u64,
start_slot: u64,
) -> Result<Transaction>
pub fn build_token_freeze_account( fee_payer: TnPubkey, token_program: TnPubkey, token_account: TnPubkey, mint_account: TnPubkey, authority: TnPubkey, fee: u64, nonce: u64, start_slot: u64, ) -> Result<Transaction>
Build token program FreezeAccount transaction
Trait Implementations§
Source§impl Clone for TransactionBuilder
impl Clone for TransactionBuilder
Source§fn clone(&self) -> TransactionBuilder
fn clone(&self) -> TransactionBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more