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

Update metadata #44

Merged
merged 26 commits into from
Oct 4, 2023
Merged

Update metadata #44

merged 26 commits into from
Oct 4, 2023

Conversation

danenbm
Copy link
Contributor

@danenbm danenbm commented Oct 2, 2023

Notes

  • Getting update-metadata ready for deployment to devnet, not using main branch as we wait for indexer code to be deployed.
  • This PR merges the changes from @samwise2 's PR: Updatable Metadata #3 into a staging branch, splitting the new update instructions into separate files as is now done on main.

Verification

Some extra verification since the merging of main back to update_metadata resulted in some changes:

  • Verified that JS-solita changes were same as what was in Updatable Metadata #3 except for expected small changes such as an additional error code and InstructionName and SetDecompressableState now being removed from IDL.
  • Verified that js-solita main.test.ts matches what is in Updatable Metadata #3 except it adds the call for setDecompressibleStateIx.
  • Umi generation is similar but some Umi updates result in different code generation (see detailed comments on files).
  • Rust client changes are new since merging to main since Updatable Metadata #3 had no Rust client.
  • Bubblegum program error.rs and UpdateArgs type is exact same as Updatable Metadata #3
  • Validated update_metadata and update_metadata_collection_nft and all the helper functions all match what was in Updatable Metadata #3

@danenbm danenbm marked this pull request as ready for review October 2, 2023 18:23
@danenbm danenbm marked this pull request as draft October 2, 2023 18:23
@danenbm danenbm requested review from blockiosaurus and febo October 2, 2023 19:11
clients/js-solita/tests/main.test.ts Outdated Show resolved Hide resolved
clients/js/src/generated/instructions/updateMetadata.ts Outdated Show resolved Hide resolved
clients/js/src/generated/types/updateArgs.ts Outdated Show resolved Hide resolved
idls/bubblegum.json Outdated Show resolved Hide resolved
programs/bubblegum/program/src/lib.rs Outdated Show resolved Hide resolved
@danenbm danenbm marked this pull request as ready for review October 2, 2023 22:41
Copy link
Contributor

@febo febo left a comment

Choose a reason for hiding this comment

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

LGTM

* Remove update_metadata_collection_nft ix

* Remove unneeded checks and errors

* Regenerate IDL and clients

* Update Solita test
@danenbm danenbm merged commit c38a238 into update-metadata-staging Oct 4, 2023
9 checks passed
@danenbm danenbm deleted the update_metadata branch October 4, 2023 04:05
danenbm added a commit that referenced this pull request Jan 12, 2024
* Update metadata (#44)

Original design discussion PR: metaplex-foundation/metaplex-program-library#1121

Original merged PR: #3

---------

* fix protocol conflicts

* allow updating creators without new verifications

* cleanup

* conflicts

* conflicts

* all tests included

* regen solita and fix bugs

* small fixes

* nit

* address code review, without additional test

* added creator verification test

* Regenerate js client

* Rename old_metadata to current_metadata

* Use UpdateArgs to group new metadata params

* Prevent existing verified creators from being removed

Exception: allow verification/unverification during metadata
update for the signer of the tx.

* Derive Default on UpdateArgs

* Fix typo

* Regenerate IDL, Rust client and Umi client

* Regenerate js-solita

* Add canopy to JS Solita test since it uses 2 nodes

* Run CI on any PR

* Removing SetDecompressableState from pub enum InstructionName

* Remove `update_metadata_collection_nft` instruction (#47)

* Remove update_metadata_collection_nft ix

* Remove unneeded checks and errors

* Regenerate IDL and clients

* Update Solita test

---------

Co-authored-by: Sam Orend <[email protected]>

* Avoid inlining UpdateArgs (#50)

* Adding LeafSchemaEvent struct to Rust client

* Add leaf schema accessors to program and Rust client

* Add InstructionName::UpdateMetadata to Rust client

* chore: Release mpl-bubblegum version 1.0.1-beta.1

* Add borsh version range (#54)

* Add borsh version range

* Update lock file

* chore: Release mpl-bubblegum version 1.0.1-beta.2

* Remove optional metadata buffer account from update_metadata

* Update Rust and Umi JS clients, update IDL

* Update js-solita client

* Fixing rust client cargo lock after release downgrades it

* chore: Release mpl-bubblegum version 1.0.1-beta.3

* Delete and regenerate rust client Cargo.lock after release downgrades borsh 0.10.3

* Add update_metadata_collection_nft

* Regenerate clients

* Regenerate Solita JS client

* update Solita tests

* Fix path to js test script

* Remove signer req for tree delegate on update_metadata_collection_nft

* Regenerate Solita JS client

* Add tests for using correct ix based on if item is in collection

* Combine update_metadata and update_metadata_collection_nft

* Regenerate JS and Rust clients

* Regenerate Solita JS client

* Update Solita tests

* Removed unneeded instruction name

* Regenerate IDL

* Clean up README and add update_metadata

* Add updateArgs and fix links

* Remove redundancies and clarify

* chore: Release mpl-bubblegum version 1.0.1-beta.4

---------

Co-authored-by: Sam Orend <[email protected]>
Co-authored-by: Fernando Otero <[email protected]>
Co-authored-by: febo <[email protected]>
Co-authored-by: danenbm <[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