add wrappers for mpl `sign_metadata` and `remove_creator_verification` (#2175)
* add wrappers for mpl creator verification ix * update changelog
This commit is contained in:
parent
4c24c5d7b1
commit
f155996c3c
|
@ -16,6 +16,7 @@ The minor version will be incremented upon a breaking change and the patch versi
|
||||||
* spl: Add `create_metadata_accounts_v3` and `set_collection_size` wrappers ([#2119](https://github.com/coral-xyz/anchor/pull/2119))
|
* 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 `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)).
|
* spl: Add `update_primary_sale_happened_via_token` wrapper ([#2173](https://github.com/coral-xyz/anchor/pull/2173)).
|
||||||
|
* spl: Add `sign_metadata` and `remove_creator_verification` wrappers ([#2175](https://github.com/coral-xyz/anchor/pull/2175)).
|
||||||
* lang: Add parsing for consts from impl blocks for IDL PDA seeds generation ([#2128](https://github.com/coral-xyz/anchor/pull/2014))
|
* 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)).
|
* 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)).
|
* ts: Add coders for SPL programs ([#2143](https://github.com/coral-xyz/anchor/pull/2143)).
|
||||||
|
|
|
@ -251,6 +251,38 @@ pub fn update_primary_sale_happened_via_token<'info>(
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn sign_metadata<'info>(ctx: CpiContext<'_, '_, '_, 'info, SignMetadata<'info>>) -> Result<()> {
|
||||||
|
let ix = mpl_token_metadata::instruction::sign_metadata(
|
||||||
|
ID,
|
||||||
|
*ctx.accounts.metadata.key,
|
||||||
|
*ctx.accounts.creator.key,
|
||||||
|
);
|
||||||
|
|
||||||
|
solana_program::program::invoke_signed(
|
||||||
|
&ix,
|
||||||
|
&ToAccountInfos::to_account_infos(&ctx),
|
||||||
|
ctx.signer_seeds,
|
||||||
|
)?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn remove_creator_verification<'info>(
|
||||||
|
ctx: CpiContext<'_, '_, '_, 'info, RemoveCreatorVerification<'info>>,
|
||||||
|
) -> Result<()> {
|
||||||
|
let ix = mpl_token_metadata::instruction::remove_creator_verification(
|
||||||
|
ID,
|
||||||
|
*ctx.accounts.metadata.key,
|
||||||
|
*ctx.accounts.creator.key,
|
||||||
|
);
|
||||||
|
|
||||||
|
solana_program::program::invoke_signed(
|
||||||
|
&ix,
|
||||||
|
&ToAccountInfos::to_account_infos(&ctx),
|
||||||
|
ctx.signer_seeds,
|
||||||
|
)?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Accounts)]
|
#[derive(Accounts)]
|
||||||
pub struct CreateMetadataAccountsV2<'info> {
|
pub struct CreateMetadataAccountsV2<'info> {
|
||||||
pub metadata: AccountInfo<'info>,
|
pub metadata: AccountInfo<'info>,
|
||||||
|
@ -353,6 +385,18 @@ pub struct UpdatePrimarySaleHappenedViaToken<'info> {
|
||||||
pub token: AccountInfo<'info>,
|
pub token: AccountInfo<'info>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Accounts)]
|
||||||
|
pub struct SignMetadata<'info> {
|
||||||
|
pub creator: AccountInfo<'info>,
|
||||||
|
pub metadata: AccountInfo<'info>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Accounts)]
|
||||||
|
pub struct RemoveCreatorVerification<'info> {
|
||||||
|
pub creator: AccountInfo<'info>,
|
||||||
|
pub metadata: AccountInfo<'info>,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
#[derive(Clone, Debug, PartialEq)]
|
||||||
pub struct MetadataAccount(mpl_token_metadata::state::Metadata);
|
pub struct MetadataAccount(mpl_token_metadata::state::Metadata);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue