Skip to content

Commit

Permalink
Fix formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
hyckomatej committed Feb 17, 2025
1 parent b3c8af0 commit d0cbc00
Show file tree
Hide file tree
Showing 47 changed files with 4,836 additions and 4,531 deletions.
6 changes: 2 additions & 4 deletions crates/client/tests/test_fuzz.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ async fn verify_instructions(template: &Template) {
let generated_instructions = template.get_instructions();

for (name, generated_content) in generated_instructions {
let expected_path =
construct_path(&format!("fuzz_template/instructions/{}.rs", name));
let expected_path = construct_path(&format!("fuzz_template/instructions/{}.rs", name));
let expected_content = fs::read_to_string(&expected_path)?;
let formatted_content = Commander::format_program_code_nightly(&generated_content).await?;

Expand Down Expand Up @@ -82,8 +81,7 @@ async fn verify_transactions(template: &Template) {
let generated_transactions = template.get_transactions();

for (name, generated_content) in generated_transactions {
let expected_path =
construct_path(&format!("fuzz_template/transactions/{}.rs", name));
let expected_path = construct_path(&format!("fuzz_template/transactions/{}.rs", name));
let expected_content = fs::read_to_string(&expected_path)?;
let formatted_content = Commander::format_program_code_nightly(&generated_content).await?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,22 @@ pub struct InitializeInstructionData {}
impl InstructionSetters for InitializeInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let user = fuzz_accounts.user.get_or_create_account(self.accounts.user.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.user.set_account_meta(user.pubkey(), true, true);
let user = fuzz_accounts.user.get_or_create_account(
self.accounts.user.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.user
.set_account_meta(user.pubkey(), true, true);

let counter = fuzz_accounts.counter.get_or_create_account(self.accounts.counter.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.counter.set_account_meta(counter.pubkey(), true, true);
let counter = fuzz_accounts.counter.get_or_create_account(
self.accounts.counter.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.counter
.set_account_meta(counter.pubkey(), true, true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,22 @@ pub struct UpdateInstructionData {
impl InstructionSetters for UpdateInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let user = fuzz_accounts.user.get_or_create_account(self.accounts.authority.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.authority.set_account_meta(user.pubkey(), true, true);
let user = fuzz_accounts.user.get_or_create_account(
self.accounts.authority.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.authority
.set_account_meta(user.pubkey(), true, true);

let counter = fuzz_accounts.counter.get_or_create_account(self.accounts.counter.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.counter.set_account_meta(counter.pubkey(), false, true);
let counter = fuzz_accounts.counter.get_or_create_account(
self.accounts.counter.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.counter
.set_account_meta(counter.pubkey(), false, true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,18 @@ struct TransactionsSequence;
/// ```
/// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences
impl FuzzSequenceBuilder<FuzzTransactions> for TransactionsSequence {
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitializeTransaction, UpdateTransaction], fuzzer_data);
Ok(seq1)
}
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitializeTransaction, UpdateTransaction], fuzzer_data);
Ok(seq1)
}
}
fn main() {
let program_arbitrary_custom_types_4 = ProgramEntrypoint::new(
pubkey!("CdWkp3CY9CAjBQP73SDCwDDfsumwY7e6DDSjrN5u8Cii"),
None,
processor!(entry_arbitrary_custom_types_4)
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_arbitrary_custom_types_4], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
let program_arbitrary_custom_types_4 = ProgramEntrypoint::new(
pubkey!("CdWkp3CY9CAjBQP73SDCwDDfsumwY7e6DDSjrN5u8Cii"),
None,
processor!(entry_arbitrary_custom_types_4),
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_arbitrary_custom_types_4], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
}
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,10 @@ impl InstructionSetters for InitVestingInstruction {
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let recipient = fuzz_accounts.recipient.get(self.data.recipient.account_id);

let mint = fuzz_accounts.mint.get_or_create_mint_account(
0,
client,
6,
&recipient.pubkey(),
None,
);
let mint =
fuzz_accounts
.mint
.get_or_create_mint_account(0, client, 6, &recipient.pubkey(), None);
self.accounts
.mint
.set_account_meta(mint.pubkey(), false, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,22 @@ struct TransactionsSequence;
/// ```
/// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences
impl FuzzSequenceBuilder<FuzzTransactions> for TransactionsSequence {
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitVestingTransaction], fuzzer_data);
Ok(seq1)
}
fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data);
Ok(seq1)
}
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitVestingTransaction], fuzzer_data);
Ok(seq1)
}
fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data);
Ok(seq1)
}
}
fn main() {
let program_arbitrary_limit_inputs_5 = ProgramEntrypoint::new(
pubkey!("AGpdCBtXUyLWKutvMCVDeTywkxgvQVjJk54btLQNLMiZ"),
None,
processor!(entry_arbitrary_limit_inputs_5)
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_arbitrary_limit_inputs_5], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
let program_arbitrary_limit_inputs_5 = ProgramEntrypoint::new(
pubkey!("AGpdCBtXUyLWKutvMCVDeTywkxgvQVjJk54btLQNLMiZ"),
None,
processor!(entry_arbitrary_limit_inputs_5),
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_arbitrary_limit_inputs_5], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::fuzz_transactions::FuzzAccounts;
use crate::types::*;
use crate::instructions::*;
use crate::types::*;
use solana_sdk::program_pack::Pack;
use trident_fuzz::fuzzing::*;
#[derive(Arbitrary, Debug, TridentTransaction)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,10 @@ impl InstructionSetters for InitVestingInstruction {
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let recipient = fuzz_accounts.recipient.get(self.data.recipient.account_id);

let mint = fuzz_accounts.mint.get_or_create_mint_account(
0,
client,
6,
&recipient.pubkey(),
None,
);
let mint =
fuzz_accounts
.mint
.get_or_create_mint_account(0, client, 6, &recipient.pubkey(), None);
self.accounts
.mint
.set_account_meta(mint.pubkey(), false, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub struct WithdrawUnlockedInstructionData {}
/// - (Optional) Set remaining accounts during fuzzing
impl InstructionSetters for WithdrawUnlockedInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let recipient = fuzz_accounts
.recipient
.get(self.accounts.recipient.account_id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,22 @@ struct TransactionsSequence;
/// ```
/// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences
impl FuzzSequenceBuilder<FuzzTransactions> for TransactionsSequence {
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitVestingTransaction], fuzzer_data);
Ok(seq1)
}
fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data);
Ok(seq1)
}
fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([InitVestingTransaction], fuzzer_data);
Ok(seq1)
}
fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult<FuzzTransactions> {
let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data);
Ok(seq1)
}
}
fn main() {
let program_incorrect_integer_arithmetic_3 = ProgramEntrypoint::new(
pubkey!("4VS6YQzYbdEVbt9iw1eoUnpNzqC5TJPoSeJH9qFfgm4m"),
None,
processor!(entry_incorrect_integer_arithmetic_3)
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_incorrect_integer_arithmetic_3], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
let program_incorrect_integer_arithmetic_3 = ProgramEntrypoint::new(
pubkey!("4VS6YQzYbdEVbt9iw1eoUnpNzqC5TJPoSeJH9qFfgm4m"),
None,
processor!(entry_incorrect_integer_arithmetic_3),
);
let config = TridentConfig::new();
let mut client = TridentSVM::new_client(&[program_incorrect_integer_arithmetic_3], &config);
fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |);
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
use crate::fuzz_transactions::FuzzAccounts;
use borsh::{ BorshDeserialize, BorshSerialize };
use borsh::{BorshDeserialize, BorshSerialize};
use trident_fuzz::fuzzing::*;
#[derive(Arbitrary, Debug, TridentInstruction)]
#[accounts("accounts")]
#[program_id("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU")]
#[discriminator([6u8, 118u8, 91u8, 63u8, 166u8, 46u8, 132u8, 233u8])]
pub struct EndRegistrationsInstruction {
pub accounts: EndRegistrationsInstructionAccounts,
pub data: EndRegistrationsInstructionData,
pub accounts: EndRegistrationsInstructionAccounts,
pub data: EndRegistrationsInstructionData,
}
/// Instruction Accounts
#[derive(Arbitrary, Debug, Clone, TridentAccounts)]
pub struct EndRegistrationsInstructionAccounts {
pub author: TridentAccount,
pub state: TridentAccount,
pub author: TridentAccount,
pub state: TridentAccount,
}
/// Instruction Data
#[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)]
Expand All @@ -25,12 +25,18 @@ pub struct EndRegistrationsInstructionData {}
/// - Configure instruction accounts during fuzzing
/// - (Optional) Set remaining accounts during fuzzing
impl InstructionSetters for EndRegistrationsInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let author = fuzz_accounts.author.get(self.accounts.author.account_id);
self.accounts.author.set_account_meta(author.pubkey(), true, true);
type IxAccounts = FuzzAccounts;
fn set_accounts(
&mut self,
_client: &mut impl FuzzClient,
fuzz_accounts: &mut Self::IxAccounts,
) {
let author = fuzz_accounts.author.get(self.accounts.author.account_id);
self.accounts
.author
.set_account_meta(author.pubkey(), true, true);

let state = fuzz_accounts.state.get(self.accounts.state.account_id);
self.accounts.state.set_account_meta(state, false, true);
}
let state = fuzz_accounts.state.get(self.accounts.state.account_id);
self.accounts.state.set_account_meta(state, false, true);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::fuzz_transactions::FuzzAccounts;
use borsh::{BorshDeserialize, BorshSerialize};
use trident_fuzz::fuzzing::*;
use incorrect_ix_sequence_1::STATE_SEED;
use trident_fuzz::fuzzing::*;
#[derive(Arbitrary, Debug, TridentInstruction)]
#[accounts("accounts")]
#[program_id("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU")]
Expand Down Expand Up @@ -31,10 +31,21 @@ pub struct InitializeInstructionData {}
impl InstructionSetters for InitializeInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let author = fuzz_accounts.author.get_or_create_account(self.accounts.author.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.author.set_account_meta(author.pubkey(), true, true);
let author = fuzz_accounts.author.get_or_create_account(
self.accounts.author.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.author
.set_account_meta(author.pubkey(), true, true);

let state = fuzz_accounts.state.get_or_create_account(self.accounts.state.account_id, client,&[author.pubkey().as_ref(), STATE_SEED.as_ref()], &self.get_program_id());
let state = fuzz_accounts.state.get_or_create_account(
self.accounts.state.account_id,
client,
&[author.pubkey().as_ref(), STATE_SEED.as_ref()],
&self.get_program_id(),
);
self.accounts.state.set_account_meta(state, false, true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,14 @@ pub struct InvestInstructionData {
impl InstructionSetters for InvestInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let investor = fuzz_accounts.investor.get_or_create_account(self.accounts.investor.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.investor.set_account_meta(investor.pubkey(), true, true);
let investor = fuzz_accounts.investor.get_or_create_account(
self.accounts.investor.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.investor
.set_account_meta(investor.pubkey(), true, true);

let state = fuzz_accounts.state.get(self.accounts.state.account_id);
self.accounts.state.set_account_meta(state, false, true);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::fuzz_transactions::FuzzAccounts;
use incorrect_ix_sequence_1::PROJECT_SEED;
use borsh::{BorshDeserialize, BorshSerialize};
use incorrect_ix_sequence_1::PROJECT_SEED;
use trident_fuzz::fuzzing::*;
#[derive(Arbitrary, Debug, TridentInstruction)]
#[accounts("accounts")]
Expand Down Expand Up @@ -32,17 +32,28 @@ pub struct RegisterInstructionData {}
impl InstructionSetters for RegisterInstruction {
type IxAccounts = FuzzAccounts;
fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) {
let project_author = fuzz_accounts.project_author.get_or_create_account(self.accounts.project_author.account_id, client, 500 * LAMPORTS_PER_SOL);
self.accounts.project_author.set_account_meta(project_author.pubkey(), true, true);
let project_author = fuzz_accounts.project_author.get_or_create_account(
self.accounts.project_author.account_id,
client,
500 * LAMPORTS_PER_SOL,
);
self.accounts
.project_author
.set_account_meta(project_author.pubkey(), true, true);

let state = fuzz_accounts.state.get(self.accounts.state.account_id);
self.accounts.state.set_account_meta(state, false, true);

let project = fuzz_accounts.project.get_or_create_account(self.accounts.project.account_id, client, &[
project_author.pubkey().as_ref(),
state.as_ref(),
PROJECT_SEED.as_ref(),
], &self.get_program_id());
let project = fuzz_accounts.project.get_or_create_account(
self.accounts.project.account_id,
client,
&[
project_author.pubkey().as_ref(),
state.as_ref(),
PROJECT_SEED.as_ref(),
],
&self.get_program_id(),
);
self.accounts.project.set_account_meta(project, false, true);
}
}
Loading

0 comments on commit d0cbc00

Please # to comment.