lang: add owner and lamports methods to account types (#1267)
This commit is contained in:
parent
e04f144e12
commit
77043131c2
|
@ -252,7 +252,7 @@ pub fn generate_constraint_owner(f: &Field, c: &ConstraintOwner) -> proc_macro2:
|
|||
let owner_address = &c.owner_address;
|
||||
let error = generate_custom_error(&c.error, quote! { ConstraintOwner });
|
||||
quote! {
|
||||
if #ident.to_account_info().owner != &#owner_address {
|
||||
if #ident.as_ref().owner != &#owner_address {
|
||||
return Err(#error);
|
||||
}
|
||||
}
|
||||
|
@ -441,7 +441,7 @@ pub fn generate_init(
|
|||
);
|
||||
quote! {
|
||||
let #field: #ty_decl = {
|
||||
if !#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
if !#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
// Define payer variable.
|
||||
#payer
|
||||
|
||||
|
@ -461,7 +461,7 @@ pub fn generate_init(
|
|||
}
|
||||
|
||||
let pa: #ty_decl = #from_account_info;
|
||||
if !(!#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if pa.mint != #mint.key() {
|
||||
return Err(anchor_lang::__private::ErrorCode::ConstraintTokenMint.into());
|
||||
}
|
||||
|
@ -476,7 +476,7 @@ pub fn generate_init(
|
|||
InitKind::AssociatedToken { owner, mint } => {
|
||||
quote! {
|
||||
let #field: #ty_decl = {
|
||||
if !#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
if !#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
#payer
|
||||
|
||||
let cpi_program = associated_token_program.to_account_info();
|
||||
|
@ -493,7 +493,7 @@ pub fn generate_init(
|
|||
anchor_spl::associated_token::create(cpi_ctx)?;
|
||||
}
|
||||
let pa: #ty_decl = #from_account_info;
|
||||
if !(!#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if pa.mint != #mint.key() {
|
||||
return Err(anchor_lang::__private::ErrorCode::ConstraintTokenMint.into());
|
||||
}
|
||||
|
@ -526,7 +526,7 @@ pub fn generate_init(
|
|||
};
|
||||
quote! {
|
||||
let #field: #ty_decl = {
|
||||
if !#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
if !#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID {
|
||||
// Define payer variable.
|
||||
#payer
|
||||
|
||||
|
@ -543,7 +543,7 @@ pub fn generate_init(
|
|||
anchor_spl::token::initialize_mint(cpi_ctx, #decimals, &#owner.key(), #freeze_authority)?;
|
||||
}
|
||||
let pa: #ty_decl = #from_account_info;
|
||||
if !(!#if_needed || #field.to_account_info().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if !(!#if_needed || #field.as_ref().owner == &anchor_lang::solana_program::system_program::ID) {
|
||||
if pa.mint_authority != anchor_lang::solana_program::program_option::COption::Some(#owner.key()) {
|
||||
return Err(anchor_lang::__private::ErrorCode::ConstraintMintMintAuthority.into());
|
||||
}
|
||||
|
@ -754,7 +754,7 @@ pub fn generate_constraint_state(f: &Field, c: &ConstraintState) -> proc_macro2:
|
|||
if #ident.key() != anchor_lang::accounts::cpi_state::CpiState::<#account_ty>::address(&#program_target.key()) {
|
||||
return Err(anchor_lang::__private::ErrorCode::ConstraintState.into());
|
||||
}
|
||||
if #ident.to_account_info().owner != &#program_target.key() {
|
||||
if #ident.as_ref().owner != &#program_target.key() {
|
||||
return Err(anchor_lang::__private::ErrorCode::ConstraintState.into());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue