From a14a829a89c9055f9bbed56d56a918e08c3e430c Mon Sep 17 00:00:00 2001 From: Armani Ferrante Date: Mon, 7 Feb 2022 14:52:29 -0500 Subject: [PATCH] lang: clarify owner check (#1404) --- lang/syn/src/codegen/accounts/constraints.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lang/syn/src/codegen/accounts/constraints.rs b/lang/syn/src/codegen/accounts/constraints.rs index b8c1b655..1754b88e 100644 --- a/lang/syn/src/codegen/accounts/constraints.rs +++ b/lang/syn/src/codegen/accounts/constraints.rs @@ -365,7 +365,7 @@ fn generate_constraint_init_group(f: &Field, c: &ConstraintInitGroup) -> proc_ma } let pa: #ty_decl = #from_account_info; - if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) { + if #if_needed { if pa.mint != #mint.key() { return Err(anchor_lang::__private::ErrorCode::ConstraintTokenMint.into()); } @@ -400,7 +400,7 @@ fn generate_constraint_init_group(f: &Field, c: &ConstraintInitGroup) -> proc_ma anchor_spl::associated_token::create(cpi_ctx)?; } let pa: #ty_decl = #from_account_info; - if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) { + if #if_needed { if pa.mint != #mint.key() { return Err(anchor_lang::__private::ErrorCode::ConstraintTokenMint.into()); } @@ -453,7 +453,7 @@ fn generate_constraint_init_group(f: &Field, c: &ConstraintInitGroup) -> proc_ma anchor_spl::token::initialize_mint(cpi_ctx, #decimals, &#owner.key(), #freeze_authority)?; } let pa: #ty_decl = #from_account_info; - if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) { + if #if_needed { if pa.mint_authority != anchor_lang::solana_program::program_option::COption::Some(#owner.key()) { return Err(anchor_lang::__private::ErrorCode::ConstraintMintMintAuthority.into()); } @@ -538,7 +538,7 @@ fn generate_constraint_init_group(f: &Field, c: &ConstraintInitGroup) -> proc_ma let pa: #ty_decl = #from_account_info; // Assert the account was created correctly. - if !(!#if_needed || actual_owner == &anchor_lang::solana_program::system_program::ID) { + if #if_needed { if space != actual_field.data_len() { return Err(anchor_lang::__private::ErrorCode::ConstraintSpace.into()); }