Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to burn a ProgrammableNonfungibleEdition #1108

Conversation

blockiosaurus
Copy link
Contributor

No description provided.

@blockiosaurus blockiosaurus marked this pull request as ready for review May 31, 2023 20:05
@blockiosaurus blockiosaurus requested a review from a team as a code owner May 31, 2023 20:05
@blockiosaurus blockiosaurus requested review from lorisleiva and svc01-metaplex and removed request for a team May 31, 2023 20:05
@danenbm danenbm self-requested a review June 12, 2023 21:31
Copy link
Contributor

@danenbm danenbm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I think it needs master merged into staging branch though as diff contains bubblegum changes, Programmable NFT guide changes, and TOE changes.

…ram-library into stage/programmable-asset-editions-burn
@@ -49,7 +49,6 @@ pub fn burn<'a>(

// V1 implementation of the burn instruction.
fn burn_v1(program_id: &Pubkey, ctx: Context<Burn>, args: BurnArgs) -> ProgramResult {
msg!("Burn V1");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we wait to see if we for sure need the binary space before removing this? These instruction name logs are useful for debugging.

@@ -51,12 +50,6 @@ pub fn process_close_escrow_account(
return Err(MetadataError::MintMismatch.into());
}

if check_token_standard(mint_account_info, Some(edition_account_info))?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a change merged from master, right?

@samuelvanderwaal
Copy link
Contributor

This looks good to me with a couple notes:

  • The Print handler is current unreachable in the processor as it's listed after the catch all match condition. Presumably this is on purpose while building these individual PRs.
  • Even after the Print handler is moved above the catch all case, a couple tests fail.

I'm fine merging this into the staging branch and then fixing the issues there as CI will catch them.

@blockiosaurus blockiosaurus merged commit aafb639 into stage/programmable-asset-editions Jun 14, 2023
@blockiosaurus blockiosaurus deleted the stage/programmable-asset-editions-burn branch June 14, 2023 12:50
blockiosaurus added a commit that referenced this pull request Jul 14, 2023
* Adding edition_marker_v2.

* Adding marker seed.

* Adding divisor to prevent overalloc.

* Responding to feedback and fixing bug.

* Adding Print Instruction (#1094)

* chore: Release

* Update generated SDK and IDL versions for token-metadata 1.11.0 release

* Bubblegum collection docs fix (#1072)

* collection fix

* Revert "collection fix"

This reverts commit cbc20ca.

* change docs for bubblegum

* Allow for 5 creators in Bubblegum (#1086)

* Update token metadata dependency

* Allow data and is_immutable to be updated at same time (#1090)

* Added can_update_data_and_is_mutable_same_instruction to test.
* Also added a couple more tests to Update for other cases.

* Remove Old Testing CLI (#1089)

* remove old CLI

* add README to replace CLI

* chore: Release

* Update generated SDK and IDL versions for token-metadata 1.11.1 release

* Add missing delegate record error (#1093)

* Adding print instruction.

* Add delegate check on transfer (#1095)

* Test delegate status after transfer

* Add delegate check on transfer

* add migration role exception (#1096)

* Allow Bubblegum to create metadata with verified collection (#1087)

* Allow Bubblegum to create metadata with verified collection

* Use separate variable

* Fix ordering in collection verification

* Add test for verifying collection and decompressing
with verified collection.
* Add DigitalAsset from token-metadata in test utils
for creating a collection parent.
* Add needed helper objects such as VerifyCollectionBuilder,
as well as required local test tree updates.
* Fix some clippy issues in the contract.  There are still a
few more clippy issues in the tests but they are more involved.

* Cleanup comment

* Updating based on feedback.

* detect deprecated ixes and provide proper error (#1092)

* detect deprecated ixes and provide proper error

* run cargo fmt

* Removing comments.

* Adding UA check.

* Making code rustier and adding ME check.

* Box test utils err and remove RefCells from test objects (#1097)

* More minor simplifications to Bubblegum BPF tests (#1101)

* Making UA check work for any standard.

* Adding init check.

---------

Co-authored-by: Michael Danenberg <[email protected]>
Co-authored-by: ethyi <[email protected]>
Co-authored-by: Fernando Otero <[email protected]>
Co-authored-by: Samuel Vanderwaal <[email protected]>

* Add the ability to burn a ProgrammableNonfungibleEdition (#1108)

* Adding print instruction.

* Updating based on feedback.

* Removing comments.

* Adding UA check.

* Making code rustier and adding ME check.

* Making UA check work for any standard.

* Adding init check.

* Adding burn PR for pNFTEs

* Fixing burn byte offset.

* Adding escrows for pNFTs and removing check for closing the account. (#1110)

* Manually reducing size of Bubblegum IDL for publishing

* Setting Solana to exact version in Bubblegum

* Add operation list (#1098)

* Add operation list

* Update packages version

* Fix typo

* Add operation definition

* Typos

* chore: Release mpl-bubblegum version 0.8.0

* Update Bubblegum npm package version prior to publish

* Fixing in response to feedback.

* replace serialize with metadata save fn

* fix overwriting of fee flag on 'update' (#1114)

* fix overwriting of fee flag on 'update'

* fix index in clean write

---------

Co-authored-by: Michael Danenberg <[email protected]>
Co-authored-by: Fernando Otero <[email protected]>
Co-authored-by: Samuel Vanderwaal <[email protected]>

* Adding fees and fixing merge errors. (#1116)

* Adding fees and fixing merge errors.

* Adding token standard flag.

* Adding delegate for pNFT editions. (#1130)

* Adding fees for standard NFT editions. (#1131)

* Adding supply and decimal checks. (#1132)

* Adding mint checks. (#1140)

* Removing tests built for statically sized accounts.

* Generating the JS SDK.

* Fixing burn tests and modifying the Edition close auth for utility delegate (#1144)

* Fixing burn test issues.

* Moving UA check up a level.

* Fixing an old test.

* Make mint account optional signer (#1146)

* Fixing burn test issues.

* Moving UA check up a level.

* Fixing an old test.

* Making the mint account an optional signer.

* Removing commented out code.

* Removing unnecessary error.

* Regen JS

---------

Co-authored-by: Michael Danenberg <[email protected]>
Co-authored-by: ethyi <[email protected]>
Co-authored-by: Fernando Otero <[email protected]>
Co-authored-by: Samuel Vanderwaal <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants