add `update_primary_sale_happened_via_token` ix wrapper for `metadata` (#2173)

* add update_primary_sale_happened_via_token ix wrapper

* update changelog
This commit is contained in:
Matthew Callens 2022-09-10 15:57:27 -04:00 committed by GitHub
parent e69e50daaf
commit 4c24c5d7b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View File

@ -15,6 +15,7 @@ The minor version will be incremented upon a breaking change and the patch versi
* client: Add `transaction` functions to RequestBuilder ([#1958](https://github.com/coral-xyz/anchor/pull/1958)).
* spl: Add `create_metadata_accounts_v3` and `set_collection_size` wrappers ([#2119](https://github.com/coral-xyz/anchor/pull/2119))
* spl: Add `MetadataAccount` account deserialization. ([#2014](https://github.com/coral-xyz/anchor/pull/2014)).
* spl: Add `update_primary_sale_happened_via_token` wrapper ([#2173](https://github.com/coral-xyz/anchor/pull/2173)).
* lang: Add parsing for consts from impl blocks for IDL PDA seeds generation ([#2128](https://github.com/coral-xyz/anchor/pull/2014))
* lang: Account closing reassigns to system program and reallocates ([#2169](https://github.com/coral-xyz/anchor/pull/2169)).
* ts: Add coders for SPL programs ([#2143](https://github.com/coral-xyz/anchor/pull/2143)).

View File

@ -233,6 +233,24 @@ pub fn thaw_delegated_account<'info>(
Ok(())
}
pub fn update_primary_sale_happened_via_token<'info>(
ctx: CpiContext<'_, '_, '_, 'info, UpdatePrimarySaleHappenedViaToken<'info>>,
) -> Result<()> {
let ix = mpl_token_metadata::instruction::update_primary_sale_happened_via_token(
ID,
*ctx.accounts.metadata.key,
*ctx.accounts.owner.key,
*ctx.accounts.token.key,
);
solana_program::program::invoke_signed(
&ix,
&ToAccountInfos::to_account_infos(&ctx),
ctx.signer_seeds,
)?;
Ok(())
}
#[derive(Accounts)]
pub struct CreateMetadataAccountsV2<'info> {
pub metadata: AccountInfo<'info>,
@ -328,6 +346,13 @@ pub struct ThawDelegatedAccount<'info> {
pub token_program: AccountInfo<'info>,
}
#[derive(Accounts)]
pub struct UpdatePrimarySaleHappenedViaToken<'info> {
pub metadata: AccountInfo<'info>,
pub owner: AccountInfo<'info>,
pub token: AccountInfo<'info>,
}
#[derive(Clone, Debug, PartialEq)]
pub struct MetadataAccount(mpl_token_metadata::state::Metadata);