Skip to content

Commit 0981b1b

Browse files
author
lukacan
committed
🐛 Fix some fuzz tests
1 parent c64747e commit 0981b1b

5 files changed

Lines changed: 39 additions & 41 deletions

File tree

trident-tests/common/types.rs

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,8 +2032,6 @@ pub mod launchpad_v_7 {
20322032

20332033
pub fundingRecord: AccountMeta,
20342034

2035-
pub launchSigner: AccountMeta,
2036-
20372035
pub launchQuoteVault: AccountMeta,
20382036

20392037
pub funder: AccountMeta,
@@ -2058,8 +2056,6 @@ pub mod launchpad_v_7 {
20582056

20592057
pub fundingRecord: Pubkey,
20602058

2061-
pub launchSigner: Pubkey,
2062-
20632059
pub launchQuoteVault: Pubkey,
20642060

20652061
pub funder: Pubkey,
@@ -2083,8 +2079,6 @@ pub mod launchpad_v_7 {
20832079

20842080
fundingRecord: Pubkey,
20852081

2086-
launchSigner: Pubkey,
2087-
20882082
launchQuoteVault: Pubkey,
20892083

20902084
funder: Pubkey,
@@ -2106,8 +2100,6 @@ pub mod launchpad_v_7 {
21062100

21072101
fundingRecord,
21082102

2109-
launchSigner,
2110-
21112103
launchQuoteVault,
21122104

21132105
funder,
@@ -2158,8 +2150,6 @@ pub mod launchpad_v_7 {
21582150

21592151
self.accounts.fundingRecord = AccountMeta::new(accounts.fundingRecord, false);
21602152

2161-
self.accounts.launchSigner = AccountMeta::new_readonly(accounts.launchSigner, false);
2162-
21632153
self.accounts.launchQuoteVault = AccountMeta::new(accounts.launchQuoteVault, false);
21642154

21652155
self.accounts.funder = AccountMeta::new_readonly(accounts.funder, true);
@@ -2192,8 +2182,6 @@ pub mod launchpad_v_7 {
21922182

21932183
metas.push(self.accounts.fundingRecord.clone());
21942184

2195-
metas.push(self.accounts.launchSigner.clone());
2196-
21972185
metas.push(self.accounts.launchQuoteVault.clone());
21982186

21992187
metas.push(self.accounts.funder.clone());
@@ -2805,8 +2793,6 @@ pub mod launchpad_v_7 {
28052793

28062794
pub tokenProgram: AccountMeta,
28072795

2808-
pub systemProgram: AccountMeta,
2809-
28102796
pub eventAuthority: AccountMeta,
28112797

28122798
pub program: AccountMeta,
@@ -2829,8 +2815,6 @@ pub mod launchpad_v_7 {
28292815

28302816
pub tokenProgram: Pubkey,
28312817

2832-
pub systemProgram: Pubkey,
2833-
28342818
pub eventAuthority: Pubkey,
28352819

28362820
pub program: Pubkey,
@@ -2852,8 +2836,6 @@ pub mod launchpad_v_7 {
28522836

28532837
tokenProgram: Pubkey,
28542838

2855-
systemProgram: Pubkey,
2856-
28572839
eventAuthority: Pubkey,
28582840

28592841
program: Pubkey,
@@ -2873,8 +2855,6 @@ pub mod launchpad_v_7 {
28732855

28742856
tokenProgram,
28752857

2876-
systemProgram,
2877-
28782858
eventAuthority,
28792859

28802860
program,
@@ -2921,8 +2901,6 @@ pub mod launchpad_v_7 {
29212901

29222902
self.accounts.tokenProgram = AccountMeta::new_readonly(accounts.tokenProgram, false);
29232903

2924-
self.accounts.systemProgram = AccountMeta::new_readonly(accounts.systemProgram, false);
2925-
29262904
self.accounts.eventAuthority =
29272905
AccountMeta::new_readonly(accounts.eventAuthority, false);
29282906

@@ -2953,8 +2931,6 @@ pub mod launchpad_v_7 {
29532931

29542932
metas.push(self.accounts.tokenProgram.clone());
29552933

2956-
metas.push(self.accounts.systemProgram.clone());
2957-
29582934
metas.push(self.accounts.eventAuthority.clone());
29592935

29602936
metas.push(self.accounts.program.clone());
@@ -3004,8 +2980,6 @@ pub mod launchpad_v_7 {
30042980

30052981
pub tokenProgram: AccountMeta,
30062982

3007-
pub systemProgram: AccountMeta,
3008-
30092983
pub eventAuthority: AccountMeta,
30102984

30112985
pub program: AccountMeta,
@@ -3030,8 +3004,6 @@ pub mod launchpad_v_7 {
30303004

30313005
pub tokenProgram: Pubkey,
30323006

3033-
pub systemProgram: Pubkey,
3034-
30353007
pub eventAuthority: Pubkey,
30363008

30373009
pub program: Pubkey,
@@ -3055,8 +3027,6 @@ pub mod launchpad_v_7 {
30553027

30563028
tokenProgram: Pubkey,
30573029

3058-
systemProgram: Pubkey,
3059-
30603030
eventAuthority: Pubkey,
30613031

30623032
program: Pubkey,
@@ -3078,8 +3048,6 @@ pub mod launchpad_v_7 {
30783048

30793049
tokenProgram,
30803050

3081-
systemProgram,
3082-
30833051
eventAuthority,
30843052

30853053
program,
@@ -3128,8 +3096,6 @@ pub mod launchpad_v_7 {
31283096

31293097
self.accounts.tokenProgram = AccountMeta::new_readonly(accounts.tokenProgram, false);
31303098

3131-
self.accounts.systemProgram = AccountMeta::new_readonly(accounts.systemProgram, false);
3132-
31333099
self.accounts.eventAuthority =
31343100
AccountMeta::new_readonly(accounts.eventAuthority, false);
31353101

@@ -3162,8 +3128,6 @@ pub mod launchpad_v_7 {
31623128

31633129
metas.push(self.accounts.tokenProgram.clone());
31643130

3165-
metas.push(self.accounts.systemProgram.clone());
3166-
31673131
metas.push(self.accounts.eventAuthority.clone());
31683132

31693133
metas.push(self.accounts.program.clone());
@@ -4966,6 +4930,8 @@ pub mod launchpad_v_7 {
49664930
pub isPerformancePackageInitialized: bool,
49674931

49684932
pub accumulatorActivationDelaySeconds: u32,
4933+
4934+
pub hasBidWall: bool,
49694935
}
49704936

49714937
impl Launch {
@@ -5029,6 +4995,8 @@ pub mod launchpad_v_7 {
50294995
isPerformancePackageInitialized: bool,
50304996

50314997
accumulatorActivationDelaySeconds: u32,
4998+
4999+
hasBidWall: bool,
50325000
) -> Self {
50335001
Self {
50345002
pdaBump,
@@ -5090,6 +5058,8 @@ pub mod launchpad_v_7 {
50905058
isPerformancePackageInitialized,
50915059

50925060
accumulatorActivationDelaySeconds,
5061+
5062+
hasBidWall,
50935063
}
50945064
}
50955065
}

trident-tests/fuzz_launchpad/invariants/complete_launch.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,13 @@ impl FuzzTest {
157157
// Invariant 6: Expected USDC allocations must be computed from pre-state.
158158
let usdc_to_lp = pre_launch.totalApprovedAmount / 5;
159159
let usdc_to_dao = pre_launch.totalApprovedAmount - usdc_to_lp;
160-
let usdc_to_dao_treasury = usdc_to_dao.min(pre_launch.minimumRaiseAmount);
161-
let usdc_to_bid_wall = usdc_to_dao - usdc_to_dao_treasury;
160+
let (usdc_to_dao_treasury, usdc_to_bid_wall) = if pre_launch.hasBidWall {
161+
let treasury = usdc_to_dao.min(pre_launch.minimumRaiseAmount);
162+
let bid_wall = usdc_to_dao - treasury;
163+
(treasury, bid_wall)
164+
} else {
165+
(usdc_to_dao, 0)
166+
};
162167
let refundable_usdc = pre_launch
163168
.totalCommittedAmount
164169
.checked_sub(pre_launch.totalApprovedAmount)

trident-tests/fuzz_launchpad/methods/launchpad.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ impl FuzzTest {
146146
.accounts(launchpad_v_7::FundInstructionAccounts::new(
147147
launch,
148148
funding_record,
149-
launch_signer,
150149
launch_quote_vault,
151150
funder,
152151
payer,
@@ -159,6 +158,7 @@ impl FuzzTest {
159158
.instruction();
160159

161160
let res = self.trident.process_transaction(&[fund_launch], message);
161+
162162
if !res.is_success() {
163163
return;
164164
}
@@ -351,7 +351,6 @@ impl FuzzTest {
351351
funder,
352352
funder_quote_account,
353353
TOKEN_PROGRAM_ID,
354-
SOLANA_PROGRAM_ID,
355354
event_authority,
356355
launchpad_v_7::program_id(),
357356
))
@@ -426,7 +425,6 @@ impl FuzzTest {
426425
funder,
427426
funder_quote_account,
428427
TOKEN_PROGRAM_ID,
429-
SOLANA_PROGRAM_ID,
430428
event_authority,
431429
launchpad_v_7::program_id(),
432430
))

trident-tests/fuzz_launchpad/methods/mod.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,4 +303,28 @@ impl FuzzTest {
303303
.process_transaction(&[mint_to_funder_quote_account_ix], None);
304304
(funder.pubkey(), funder_quote_account)
305305
}
306+
307+
// pub fn get_or_initialize_associated_token_account(
308+
// &mut self,
309+
// payer: Pubkey,
310+
// mint: Pubkey,
311+
// owner: Pubkey,
312+
// ) -> Pubkey {
313+
// let ata = self
314+
// .trident
315+
// .get_associated_token_address(&mint, &owner, &TOKEN_PROGRAM_ID);
316+
317+
// let ata_acc = self.trident.get_token_account(ata);
318+
319+
// if ata_acc.is_err() {
320+
// let ix = self
321+
// .trident
322+
// .initialize_associated_token_account(&payer, &mint, &owner);
323+
324+
// let res = self.trident.process_transaction(&[ix], None);
325+
// invariant!(res.is_success());
326+
// }
327+
328+
// ata
329+
// }
306330
}

trident-tests/fuzz_launchpad/test_fuzz.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ impl FuzzTest {
259259
}
260260
_ => {
261261
// In other states, avoid spamming meaningless failures (but rarely still try a Fund).
262+
// here it should always fail
262263
if self.trident.random_from_range(1u16..=1000u16) != 1 {
263264
return;
264265
}

0 commit comments

Comments
 (0)