Replace transaction traits with structs
Also: * SystemTransaction::new -> new_account * SystemTransaction::new_create -> new_program_account
This commit is contained in:
@@ -6,33 +6,27 @@ use crate::pubkey::Pubkey;
|
||||
use crate::signature::Keypair;
|
||||
use crate::transaction::Transaction;
|
||||
|
||||
pub trait LoaderTransaction {
|
||||
fn loader_write(
|
||||
pub struct LoaderTransaction {}
|
||||
|
||||
impl LoaderTransaction {
|
||||
pub fn new_write(
|
||||
from_keypair: &Keypair,
|
||||
loader: Pubkey,
|
||||
offset: u32,
|
||||
bytes: Vec<u8>,
|
||||
last_id: Hash,
|
||||
fee: u64,
|
||||
) -> Self;
|
||||
|
||||
fn loader_finalize(from_keypair: &Keypair, loader: Pubkey, last_id: Hash, fee: u64) -> Self;
|
||||
}
|
||||
|
||||
impl LoaderTransaction for Transaction {
|
||||
fn loader_write(
|
||||
from_keypair: &Keypair,
|
||||
loader: Pubkey,
|
||||
offset: u32,
|
||||
bytes: Vec<u8>,
|
||||
last_id: Hash,
|
||||
fee: u64,
|
||||
) -> Self {
|
||||
) -> Transaction {
|
||||
let instruction = LoaderInstruction::Write { offset, bytes };
|
||||
Transaction::new(from_keypair, &[], loader, &instruction, last_id, fee)
|
||||
}
|
||||
|
||||
fn loader_finalize(from_keypair: &Keypair, loader: Pubkey, last_id: Hash, fee: u64) -> Self {
|
||||
pub fn new_finalize(
|
||||
from_keypair: &Keypair,
|
||||
loader: Pubkey,
|
||||
last_id: Hash,
|
||||
fee: u64,
|
||||
) -> Transaction {
|
||||
let instruction = LoaderInstruction::Finalize;
|
||||
Transaction::new(from_keypair, &[], loader, &instruction, last_id, fee)
|
||||
}
|
||||
|
Reference in New Issue
Block a user