Skip to content

Commit ee8304f

Browse files
sergeytimoshinananas-block
authored andcommitted
refactor: instruction data field is_decompress -> is_compress
1 parent cdd2f67 commit ee8304f

File tree

13 files changed

+59
-48
lines changed

13 files changed

+59
-48
lines changed

anchor-programs/system/src/errors.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,7 @@ pub enum SystemProgramError {
8383
NewAddressAssignedIndexOutOfBounds,
8484
AddressIsNone,
8585
AddressDoesNotMatch,
86+
CpiContextAlreadySet,
87+
InvalidTreeHeight,
88+
TooManyOutputAccounts,
8689
}

program-libs/compressed-account/src/indexer_event/parse.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ fn deserialize_instruction<'a>(
338338
if data.compress_or_decompress_lamports > 0 {
339339
len += 1;
340340
}
341-
if data.is_decompress {
341+
if !data.is_compress && data.compress_or_decompress_lamports > 0 {
342342
len += 1;
343343
}
344344
if data.with_cpi_context {
@@ -359,7 +359,7 @@ fn deserialize_instruction<'a>(
359359
)
360360
})
361361
.collect::<Vec<_>>(),
362-
is_compress: !data.is_decompress && data.compress_or_decompress_lamports > 0,
362+
is_compress: data.is_compress && data.compress_or_decompress_lamports > 0,
363363
relay_fee: None,
364364
compress_or_decompress_lamports: if data.compress_or_decompress_lamports == 0 {
365365
None
@@ -385,7 +385,7 @@ fn deserialize_instruction<'a>(
385385
if data.compress_or_decompress_lamports > 0 {
386386
len += 1;
387387
}
388-
if data.is_decompress {
388+
if !data.is_compress && data.compress_or_decompress_lamports > 0 {
389389
len += 1;
390390
}
391391
if data.with_cpi_context {
@@ -440,7 +440,7 @@ fn deserialize_instruction<'a>(
440440
}
441441
})
442442
.collect::<Vec<_>>(),
443-
is_compress: !data.is_decompress && data.compress_or_decompress_lamports > 0,
443+
is_compress: data.is_compress && data.compress_or_decompress_lamports > 0,
444444
relay_fee: None,
445445
compress_or_decompress_lamports: if data.compress_or_decompress_lamports == 0 {
446446
None

program-libs/compressed-account/src/instruction_data/with_account_info.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ pub struct InstructionDataInvokeCpiWithAccountInfo {
289289
/// If compress_or_decompress_lamports > 0 -> expect sol_pool_pda
290290
pub compress_or_decompress_lamports: u64,
291291
/// -> expect account decompression_recipient
292-
pub is_decompress: bool,
292+
pub is_compress: bool,
293293
pub with_cpi_context: bool,
294294
pub with_transaction_hash: bool,
295295
pub cpi_context: CompressedCpiContext,
@@ -351,7 +351,7 @@ impl<'a> InstructionData<'a> for ZInstructionDataInvokeCpiWithAccountInfo<'a> {
351351
}
352352

353353
fn is_compress(&self) -> bool {
354-
!self.meta.is_decompress()
354+
self.meta.is_compress()
355355
}
356356

357357
fn input_accounts(&self) -> &[impl InputAccount<'a>] {
@@ -457,7 +457,7 @@ pub mod test {
457457
bump: rng.gen(),
458458
invoking_program_id: Pubkey::new_unique(),
459459
compress_or_decompress_lamports: rng.gen(),
460-
is_decompress: rng.gen(),
460+
is_compress: rng.gen(),
461461
with_cpi_context: rng.gen(),
462462
with_transaction_hash: rng.gen(),
463463
cpi_context: get_rnd_cpi_context(rng),
@@ -580,7 +580,7 @@ pub mod test {
580580
{
581581
return Err(CompressedAccountError::InvalidArgument);
582582
}
583-
if reference.is_decompress != z_copy.meta.is_decompress() {
583+
if reference.is_compress != z_copy.meta.is_compress() {
584584
return Err(CompressedAccountError::InvalidArgument);
585585
}
586586
if reference.with_cpi_context != z_copy.meta.with_cpi_context() {
@@ -749,7 +749,7 @@ pub mod test {
749749

750750
// Test is_compress
751751
let expected_is_compress =
752-
!reference.is_decompress && reference.compress_or_decompress_lamports > 0;
752+
reference.is_compress && reference.compress_or_decompress_lamports > 0;
753753
assert_eq!(z_copy.is_compress(), expected_is_compress);
754754

755755
// Test cpi_context

program-libs/compressed-account/src/instruction_data/with_readonly.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ pub struct InstructionDataInvokeCpiWithReadOnly {
202202
/// If compress_or_decompress_lamports > 0 -> expect sol_pool_pda
203203
pub compress_or_decompress_lamports: u64,
204204
/// -> expect account decompression_recipient
205-
pub is_decompress: bool,
205+
pub is_compress: bool,
206206
pub with_cpi_context: bool,
207207
pub with_transaction_hash: bool,
208208
pub cpi_context: CompressedCpiContext,
@@ -227,15 +227,15 @@ pub struct ZInstructionDataInvokeCpiWithReadOnlyMeta {
227227
/// If compress_or_decompress_lamports > 0 -> expect sol_pool_pda
228228
pub compress_or_decompress_lamports: U64,
229229
/// -> expect account decompression_recipient
230-
is_decompress: u8,
230+
is_compress: u8,
231231
with_cpi_context: u8,
232232
with_transaction_hash: u8,
233233
pub cpi_context: ZCompressedCpiContext,
234234
}
235235

236236
impl ZInstructionDataInvokeCpiWithReadOnlyMeta {
237-
pub fn is_decompress(&self) -> bool {
238-
self.is_decompress > 0
237+
pub fn is_compress(&self) -> bool {
238+
self.is_compress > 0
239239
}
240240
pub fn with_cpi_context(&self) -> bool {
241241
self.with_cpi_context > 0
@@ -306,7 +306,7 @@ impl<'a> InstructionData<'a> for ZInstructionDataInvokeCpiWithReadOnly<'a> {
306306
}
307307

308308
fn is_compress(&self) -> bool {
309-
!self.meta.is_decompress() && self.compress_or_decompress_lamports().is_some()
309+
self.meta.is_compress() && self.compress_or_decompress_lamports().is_some()
310310
}
311311

312312
fn input_accounts(&self) -> &[impl InputAccount<'a>] {
@@ -392,7 +392,7 @@ impl PartialEq<InstructionDataInvokeCpiWithReadOnly> for ZInstructionDataInvokeC
392392
|| self.invoking_program_id != other.invoking_program_id
393393
|| u64::from(self.compress_or_decompress_lamports)
394394
!= other.compress_or_decompress_lamports
395-
|| self.is_decompress() != other.is_decompress
395+
|| self.is_compress() != other.is_compress
396396
|| self.with_cpi_context() != other.with_cpi_context
397397
{
398398
return false;
@@ -435,7 +435,7 @@ fn test_read_only_zero_copy() {
435435
bump: 0,
436436
invoking_program_id: Pubkey::default(),
437437
compress_or_decompress_lamports: 0,
438-
is_decompress: false,
438+
is_compress: false,
439439
with_cpi_context: false,
440440
with_transaction_hash: true,
441441
cpi_context: CompressedCpiContext {
@@ -533,7 +533,7 @@ mod test {
533533
{
534534
return Err(CompressedAccountError::InvalidArgument);
535535
}
536-
if reference.is_decompress != z_copy.meta.is_decompress() {
536+
if reference.is_compress != z_copy.meta.is_compress() {
537537
return Err(CompressedAccountError::InvalidArgument);
538538
}
539539
if reference.with_cpi_context != z_copy.meta.with_cpi_context() {
@@ -608,7 +608,7 @@ mod test {
608608

609609
assert_eq!(
610610
z_copy.is_compress(),
611-
!reference.is_decompress && reference.compress_or_decompress_lamports > 0
611+
reference.is_compress && reference.compress_or_decompress_lamports > 0
612612
);
613613

614614
// For cpi_context, the trait adds a layer of conditional return
@@ -630,7 +630,7 @@ mod test {
630630
bump: rng.gen(),
631631
invoking_program_id: Pubkey::new_unique(),
632632
compress_or_decompress_lamports: rng.gen(),
633-
is_decompress: rng.gen(),
633+
is_compress: rng.gen(),
634634
with_cpi_context: rng.gen(),
635635
with_transaction_hash: rng.gen(),
636636
cpi_context: CompressedCpiContext {

program-libs/compressed-account/src/instruction_data/zero_copy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ impl<'a> InstructionData<'a> for ZInstructionDataInvokeCpi<'a> {
558558

559559
fn account_option_config(&self) -> AccountOptions {
560560
AccountOptions {
561-
sol_pool_pda: self.is_compress(),
561+
sol_pool_pda: self.compress_or_decompress_lamports().is_some(),
562562
decompression_recipient: self.compress_or_decompress_lamports().is_some()
563563
&& !self.is_compress(),
564564
cpi_context_account: self.cpi_context().is_some(),

program-tests/system-cpi-test/src/create_pda.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ fn cpi_compressed_pda_transfer_as_program<'info>(
390390
.map(|(i, x)| NewAddressParamsAssignedPacked::new(*x, Some(i as u8)))
391391
.collect::<Vec<_>>(),
392392
cpi_context: inputs_struct.cpi_context.unwrap_or_default(),
393-
is_decompress: !inputs_struct.is_compress,
393+
is_compress: inputs_struct.is_compress,
394394
compress_or_decompress_lamports: inputs_struct
395395
.compress_or_decompress_lamports
396396
.unwrap_or_default(),

program-tests/system-cpi-test/tests/event.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ pub async fn perform_test_transaction<R: RpcConnection>(
687687
invoking_program_id: create_address_test_program::ID.into(),
688688
proof,
689689
new_address_params: packed_new_address_params,
690-
is_decompress: false,
690+
is_compress: false,
691691
compress_or_decompress_lamports: 0,
692692
output_compressed_accounts: output_compressed_accounts.clone(),
693693
input_compressed_accounts: packed_inputs

0 commit comments

Comments
 (0)