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 candy machine creator as invalidator #2

Open
wants to merge 1 commit into
base: candy-machine-lock
Choose a base branch
from

Conversation

gchatz22
Copy link
Member

No description provided.

gchatz22 pushed a commit that referenced this pull request Jan 27, 2023
* Rename programs/programs -> contracts/programs

* Rename programs/programs -> contracts/programs

* fix dockerfiles

* Merge branch 'anchor-restructure' of https://github.com/jarry-xiao/candyland into anchor-restructure

* Merge branch 'anchor-restructure' of https://github.com/jarry-xiao/candyland into anchor-restructure

* fix nonce in bubblegum test

* fix bubblegum nonce decoding, still failing test

* rollback nonce by 1 for ownership transfer

* fix leafNonce for all instructions in test

* fix leafNonce for all instructions in test

* fix bubblegum test

* migrate bubblegum and bubblegum to use Vec<u8>

* set gummyroll interface back to [u8; 32]

* fix gummyroll tests

* propagate Node as [u8;32] type changes

* fix gummyroll test

* add appendAuthority transfer test

* add authority transfer tests

* add gummyroll sdk, refactor tests for replace & append ixs

* add transferAuthIx to sdk, refactor tests

* clean up gummyroll tests a little bit more

* move merkle-roll-serde to gummyroll accounts

* add verifyLeaf tests

* Fix merge conflicts in test files

remove MC from cargo lock

* Fix merge conflicts in test files

remove MC from cargo lock

* feat(gumball-machine): add SDK and small refactor program

* add solita bubblegum

* add readme

* update tests to use solita SDK

* make solita scripts more robust

* working with solita sdk

* cleanup

* cleanup

* Jank Indexer (metaplex-foundation#95)

Jank Indexer V1

Co-authored-by: Noah Gundotra <[email protected]>

* Jank Indexer (metaplex-foundation#95)

Jank Indexer V1

Co-authored-by: Noah Gundotra <[email protected]>

* Jank Indexer (metaplex-foundation#95)

Jank Indexer V1

Co-authored-by: Noah Gundotra <[email protected]>

* Jxiao/tree nonces (metaplex-foundation#103)

- Tree nonces V0 (better schema to come)

* Jxiao/tree nonces (metaplex-foundation#103)

- Tree nonces V0 (better schema to come)

* Jxiao/tree nonces (metaplex-foundation#103)

- Tree nonces V0 (better schema to come)

* Update bubblegum key (metaplex-foundation#107)

* Update bubblegum key (metaplex-foundation#107)

* Jxiao/bubblegum jankle refactor (metaplex-foundation#115)

Update Bubblegum contract to be (almost) identical to @austbot's upsert branch
Merged together the nonce account and tree authority
Enforced that the decompressed mint is a PDA of the asset_id and the token_program_id
Added new column to TS indexer to represent compressed state
Fixed parsing bug in redeem
Cleaned up parsing logic/code reduction clutter

* Jxiao/bubblegum jankle refactor (metaplex-foundation#115)

Update Bubblegum contract to be (almost) identical to @austbot's upsert branch
Merged together the nonce account and tree authority
Enforced that the decompressed mint is a PDA of the asset_id and the token_program_id
Added new column to TS indexer to represent compressed state
Fixed parsing bug in redeem
Cleaned up parsing logic/code reduction clutter

* Jxiao/bubblegum jankle refactor (metaplex-foundation#115)

Update Bubblegum contract to be (almost) identical to @austbot's upsert branch
Merged together the nonce account and tree authority
Enforced that the decompressed mint is a PDA of the asset_id and the token_program_id
Added new column to TS indexer to represent compressed state
Fixed parsing bug in redeem
Cleaned up parsing logic/code reduction clutter

* fix conflicts

* v1 prefix

* v1 prefix

* v1 prefix

* v1 prefix

* fixed conflicts

* fixed conflicts

* Fixed leaf schema version in indexer

* adds more validation to bgum and parses redeem and cancel redeem

* all bgum events done

* Project canopy (metaplex-foundation#118)

* Initial implementation of project canopy (lots of magic numbers, no comments, no tests) WIP

* Finalized canopy changes and fixed a number of bugs in concurrent merkle tree lib

* revert indexer to main

* Don't worry guys, I added some comments

* Support up to 2^30 tree size

* Project canopy (metaplex-foundation#118)

* Initial implementation of project canopy (lots of magic numbers, no comments, no tests) WIP

* Finalized canopy changes and fixed a number of bugs in concurrent merkle tree lib

* revert indexer to main

* Don't worry guys, I added some comments

* Support up to 2^30 tree size

* Gumball machine bs58 (metaplex-foundation#120)

* Modify gumball machine to support base58 encoded configs

* Update gumball bug and tests

* Gumball machine bs58 (metaplex-foundation#120)

* Modify gumball machine to support base58 encoded configs

* Update gumball bug and tests

* Add backfill script to Jankle (metaplex-foundation#119)

* jankle update 0

* add backfill script

* server update

* cleanup backfiller

* add txid to assets query

* add txid to assets query

* add txid to assets query

* update txId

* add compressed field to assets query

Co-authored-by: Noah Gundotra <[email protected]>

* add sugar shack example compressed nft marketplace contract, test and sdk

* add sugar shack example compressed nft marketplace contract, test and sdk

* proof serving reliably working without explosion of cl_items

* Jxiao/fix log truncation (metaplex-foundation#121)

* Initial implementation of log truncation fix

* Add new files

* refactor bubblegum pda

* amend me

* update basic ts sdk

* better bgum convenience

* addProof modifies instructions to add proof fluently

* better bg init

* fix rebase issues

* fix sugar shack tests

* use convenience initializer

* revert maxSeq change, update smokeTest

Co-authored-by: Noah Gundotra <[email protected]>

* Jxiao/fix log truncation (metaplex-foundation#121)

* Initial implementation of log truncation fix

* Add new files

* refactor bubblegum pda

* amend me

* update basic ts sdk

* better bgum convenience

* addProof modifies instructions to add proof fluently

* better bg init

* fix rebase issues

* fix sugar shack tests

* use convenience initializer

* revert maxSeq change, update smokeTest

Co-authored-by: Noah Gundotra <[email protected]>

* Jxiao/fix log truncation (metaplex-foundation#121)

* Initial implementation of log truncation fix

* Add new files

* refactor bubblegum pda

* amend me

* update basic ts sdk

* better bgum convenience

* addProof modifies instructions to add proof fluently

* better bg init

* fix rebase issues

* fix sugar shack tests

* use convenience initializer

* revert maxSeq change, update smokeTest

Co-authored-by: Noah Gundotra <[email protected]>

* Jxiao/fix log truncation (metaplex-foundation#121)

* Initial implementation of log truncation fix

* Add new files

* refactor bubblegum pda

* amend me

* update basic ts sdk

* better bgum convenience

* addProof modifies instructions to add proof fluently

* better bg init

* fix rebase issues

* fix sugar shack tests

* use convenience initializer

* revert maxSeq change, update smokeTest

Co-authored-by: Noah Gundotra <[email protected]>

* fixes small bug with accounts and asset id for decompress and configurizes plerkle messenger, ingester messenger like api is configureized

* fixes small bug with accounts and asset id for decompress and configurizes plerkle messenger, ingester messenger like api is configureized

* fixes ///check

* feat(cli): Add Gumball Machine CLI

* Block dispense when no NFTs left, and charge for multiple NFTs

* Jankle: parse bubblegum via instructions (without logs) (metaplex-foundation#128)

* Jankle: parse bubblegum via instructions (without logs) (metaplex-foundation#128)

* Jankle: parse bubblegum via instructions (without logs) (metaplex-foundation#128)

* Add creators to gumball machine header

* CLI supports creators in gball header

* CLI supports creators in gball header

* reduced info needed by gumball sdk

* initialize gumball machine indices in chunks, including cli support

* removed unneeded sdk params

* solita upgrade and truncate fix

* Sum creator shares to 100. Allow update receiver and creators in gumball header. Fix payouts in sugar shack

* Sum creator shares to 100. Allow update receiver and creators in gumball header. Fix payouts in sugar shack

* fix gumball machine tests (metaplex-foundation#152)

Co-authored-by: Noah Gundotra <[email protected]>

* [Gummyroll] Single authority for each tree (metaplex-foundation#153)

* remove append_authority from contract

* update gummyroll ts sdk

* update gummyroll tests

* remove append authority from bubblegum contract

* update bubblegum ts sdk

* Added slightly more robust logic to proof filling (metaplex-foundation#155)

* Added more tests to gummyroll for canopy proof inference

* Change GRoll key for use on devnet

Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Jarry Xiao <[email protected]>
Co-authored-by: jarry-xiao <[email protected]>

* [Gummyroll] Single authority for each tree (metaplex-foundation#153)

* remove append_authority from contract

* update gummyroll ts sdk

* update gummyroll tests

* remove append authority from bubblegum contract

* update bubblegum ts sdk

* Added slightly more robust logic to proof filling (metaplex-foundation#155)

* Added more tests to gummyroll for canopy proof inference

* Change GRoll key for use on devnet

Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Jarry Xiao <[email protected]>
Co-authored-by: jarry-xiao <[email protected]>

* [Gummyroll] Single authority for each tree (metaplex-foundation#153)

* remove append_authority from contract

* update gummyroll ts sdk

* update gummyroll tests

* remove append authority from bubblegum contract

* update bubblegum ts sdk

* Added slightly more robust logic to proof filling (metaplex-foundation#155)

* Added more tests to gummyroll for canopy proof inference

* Change GRoll key for use on devnet

Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Jarry Xiao <[email protected]>
Co-authored-by: jarry-xiao <[email protected]>

* [Gummyroll] Single authority for each tree (metaplex-foundation#153)

* remove append_authority from contract

* update gummyroll ts sdk

* update gummyroll tests

* remove append authority from bubblegum contract

* update bubblegum ts sdk

* Added slightly more robust logic to proof filling (metaplex-foundation#155)

* Added more tests to gummyroll for canopy proof inference

* Change GRoll key for use on devnet

Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Jarry Xiao <[email protected]>
Co-authored-by: jarry-xiao <[email protected]>

* Support decompress with multiple creators, commit yarn.lock, upgrade gumball cli, test stability

* Support decompress with multiple creators, commit yarn.lock, upgrade gumball cli, test stability

* Support decompress with multiple creators, commit yarn.lock, upgrade gumball cli, test stability

* tests, cli and indexer all working with new upgraded anchor client version

* aligned solita versions

* # This is a combination of 9 commits.
# This is the 1st commit message:

remove append_authority from contract

update gummyroll tests

replace nonce with tree authority

update bubblegum ts sdk

separate mint with creator vs mint with request

update bubblegum ts sdk

# This is the commit message #2:

assert on-chain properties of mint authority request

# This is the commit message #3:

unify mint request instructions

rename MintAuthorityRequest to MintRequest

update bubblegum ts sdk

update tests

address nits

update bubblegum ts sdk

check on chain state in tests for authority and mint request

# This is the commit message #4:

add close instruction for mint requests

update bubblegum ts sdk

unit test bubblegum close instruction

fix append method call

# This is the commit message #5:

add set tree delegate ix

update bubblegum ts sdk

add test for tree delegate

# This is the commit message #6:

fix gumball machine mint api

# This is the commit message metaplex-foundation#7:

update sugar shack test leafNonce retrieval

# This is the commit message metaplex-foundation#8:

cleanup PR

# This is the commit message metaplex-foundation#9:

Fixed bubblegum changes, upstream contracts still broken

* # This is a combination of 9 commits.
# This is the 1st commit message:

remove append_authority from contract

update gummyroll tests

replace nonce with tree authority

update bubblegum ts sdk

separate mint with creator vs mint with request

update bubblegum ts sdk

# This is the commit message #2:

assert on-chain properties of mint authority request

# This is the commit message #3:

unify mint request instructions

rename MintAuthorityRequest to MintRequest

update bubblegum ts sdk

update tests

address nits

update bubblegum ts sdk

check on chain state in tests for authority and mint request

# This is the commit message #4:

add close instruction for mint requests

update bubblegum ts sdk

unit test bubblegum close instruction

fix append method call

# This is the commit message #5:

add set tree delegate ix

update bubblegum ts sdk

add test for tree delegate

# This is the commit message #6:

fix gumball machine mint api

# This is the commit message metaplex-foundation#7:

update sugar shack test leafNonce retrieval

# This is the commit message metaplex-foundation#8:

cleanup PR

# This is the commit message metaplex-foundation#9:

Fixed bubblegum changes, upstream contracts still broken

* # This is a combination of 9 commits.
# This is the 1st commit message:

remove append_authority from contract

update gummyroll tests

replace nonce with tree authority

update bubblegum ts sdk

separate mint with creator vs mint with request

update bubblegum ts sdk

# This is the commit message #2:

assert on-chain properties of mint authority request

# This is the commit message #3:

unify mint request instructions

rename MintAuthorityRequest to MintRequest

update bubblegum ts sdk

update tests

address nits

update bubblegum ts sdk

check on chain state in tests for authority and mint request

# This is the commit message #4:

add close instruction for mint requests

update bubblegum ts sdk

unit test bubblegum close instruction

fix append method call

# This is the commit message #5:

add set tree delegate ix

update bubblegum ts sdk

add test for tree delegate

# This is the commit message #6:

fix gumball machine mint api

# This is the commit message metaplex-foundation#7:

update sugar shack test leafNonce retrieval

# This is the commit message metaplex-foundation#8:

cleanup PR

# This is the commit message metaplex-foundation#9:

Fixed bubblegum changes, upstream contracts still broken

* Rebase auth changes on main

* Rebase auth changes on main

* Rebase auth changes on main

* Fix tests and addresss max_size changes

* fixed smoke test

* fixed smoke test

* Create seperate Bubblegum, Gummyroll, Gumball, SS and Utils NPM packages

* Create seperate Bubblegum, Gummyroll, Gumball, SS and Utils NPM packages

* Huge purge before release

* Huge purge before release

* Huge purge before release

* Huge purge before release

* mc

* mc

* deps

* deps

* merge pain

* GBall cli fix

* add back main

* add files

* remove test

* make bubblegum convenience build again

* convenience

* convenience

* fix toBuffer issues

* Updating Bubblegum directory structure

- Code was merged from `https://github.com/jarry-xiao/candyland` repo.
- Moved program from `programs/bubblegum/` to `bubblegum/program`.

* Updating Bubblegum js/sdk directory structure

- Code was merged from `https://github.com/jarry-xiao/candyland` repo.
- Moved sdk from `contracts/sdk/bubblegum/` to `bubblegum/js`.

* Updating Bubblegum tests directory structure

- Code was merged from `https://github.com/jarry-xiao/candyland` repo.
- Moved tests from `contracts/tests/` to `bubblegum/js/test`.

* Updating Candy-wrapper directory structure

- Code was merged from `https://github.com/jarry-xiao/candyland` repo.
- Moved program from `programs/candy-wrapper` to `candy-wrapper/program`.

* Adding api:gen script to bubblegum js directory

- Adding couple misc files from original repo.
- Adding solita config.
- Cleaning up some yarn.lock and package.json files.
- Including Bubblegum in some top level config files.

Testing
- `anchor build --skip-lint` works and builds bubblegum.so.
- `yarn api:gen` works from `bubblegum/js` directory and builds
same as existing IDL (except adds a few metadata fields).

* enable bubblegum anchor tests

- update package.json and tsconfig.json
- cleanup bubblegum test file and imports
- enable anchor test --skip-lint to run after anchor workspace members are built

* Moving bubblegum js dependencies to bubblegum specific package.json

* Removing extra tsconfig file and adding typedoc file

* Moved and renamed index.ts to src directory

Also cleanup bubblegum package.json.

* Removing Anchor workspace additions and nonworking yarn scripts

* Updating yarn.lock file

* Adding empty api:gen script for candy-wrapper to support CI tests

- Also adding license files to js directories.
- Also cleaning up extra bubblegum types file.

* Adding back in the js scripts that were previously removed

They currently don't all work because the ts tests have issues.

* Updating yarn.lock file

* Excluding candy-wrapper from github verify workflow

* Updating yarn.lock file

* Renaming bubblegum to mpl-bubblegum and candy-wrapper to mpl-candy-wrapper

Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: Noah Gundotra <[email protected]>
Co-authored-by: jarry-xiao <[email protected]>
Co-authored-by: Jarry Xiao <[email protected]>
Co-authored-by: Sam Orend <[email protected]>
Co-authored-by: austbot <[email protected]>
Co-authored-by: Austin Adams <[email protected]>
Co-authored-by: jshiohaha <[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.

1 participant