Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new programmable asset class (metaplex-foundation#947)
* wip: added new instructions * Add mint test * wip: add transfer test * wip: add sysvar to account list * wip: add master edition account to mint * wip: fix sysvar instructions account * update ix * wip: add sale delegate test * fix shank annotations * fix update and add migrate * fix migrate * fix tests * wip: add revoke sale delegate test * add guide * wip: mint processor * bump deps, add rules program * stuff sorta works * wip: mint processor (to be renamed to create_metadata) * Rename mint instruction to create_metadata * merge create/mint changes * transfer: standard assets * refactor transfer processor to new pattern * wip: minting non-fungible assets * Rename create_metadata instruction to create * Improve code comments * Freezing token account after mint * Add more tests * Add create_and_mint helper * wip: add sale delegate creation * transfer programmable nft succeeds * Add JS tests * merge changes * refactor transfer to be cleaner & check programmable_config * add new Metadata fields to custom metadata-deserializer * fix DelegateRecord name; js test imports * add DelegateRecord * fix clippy lint * remove redundant delegate seeds; fix cargo check lints * add account checks to transfer * Add test suffix * Improve account validation * Tweak instruction builder parameters * Refactor delegate instruction * Add revoke processor implementation * refactor update; add update JS tests * bump Solita version and fix update js tests * add more update tests * clean up * fix update BPF test * add more update JS tests * fix transfer account order and set up JS tests * add more transfer tests * add auth rules back to transfer * add Cargo lock file * Remove duplicated imports * Renamed sale delegate to transfer * refactor for auth rules update; simplify Rust bpf tests * Add revoke tests * Fix clippy * Rename sale to transfer * finish delegate transfer test * refactor for mpl-auth-rules update * Tidy up the code and added more tests * Add authorization rules to mint instruction * fix clippy lints; add local Operation enum; refactor transfer accounts * refactor 'update' for account indices * update transfer fn for new auth rules changes * add payload type locally; update JS * update to token-auth-rules 0.1.6 and fix JS tests * comment out migrate test * add auth rules structure to update; add more JS tests * finish update tests * (js/tests): fix various things; add mpl-token-auth-rules program to amman conf * clean up * refactor: remove authorization data from valid auth assert * refactor: change operation to string; update tests * bump mpl-token-auth-rules to v0.1.7 * finish update handler & JS tests * Add delegate test * Token standard as required field * Formatting * Add delegate details to DelegateState struct * formatting * Add sale delegate * Add delegate state deserialization * Add transfer and sale delegate tests * Add transfer and sale delegate revoke * Add revoke JS tests * Add accounts context (metaplex-foundation#919) * Add accounts context * Formatting * Add macro to create account instruction helpers * Updated create instruction to use the macro generated helpers * Tweak macro version * Add support to generic types on args * Formatting * Adding full feature to syn. * Filling out cargo metadata * Adding readme. Co-authored-by: blockiosaurus <[email protected]> * finish transfer logic and write basic BPF tests * refactor Transfer to use AccountsContext * refactor Update to use AccountsContext * regenerate JS api, fix test helper functions * refactor Mint to use AccountsContext * update Mint bpf tests * refactor Delegate to use AccountsContext * refactor Revoke to use AccountsContext; update tests * Remove authorization rules account from instruction * Tweak account list * Tweak account list for Update * Tweak account list for delegate/revoke * Bump token auth rules version * Rename as_context to to_context * Tweak accounts and logic on transfer * wip: transfer tests * Update metadata-deserializer.ts * Update edition account name * Fix rule set serialization in transfer test * test/js: add transfer programmable program-owned * test/js add more transfer tests * transfer: refactor validate auth rules to be generic; add test * add more tests * add migrate handler skeleton and test * add a couple more migrate tests * Minting to existing token account * Add log message * Add more create and mint tests * set programmable config in migrate * bump to mpl-token-auth-rules 0.2.1 * fix migrate to check update auth * Add optional token owner account to mint instruction * Add instruction builder example and links (metaplex-foundation#927) * Add instruction builder example and links * Fix code indentation * Fix comments * Add link to token authorization rules program (metaplex-foundation#929) * change ProgrammableConfig to triple opt; fix migrate config setting (metaplex-foundation#928) * change ProgrammableConfig to triple opt; fix migrate config setting * remove old ruleset file * Add Toggle data type for optional fields Co-authored-by: febo <[email protected]> * Add optional ATA initialization * Delegate refactoring * Fix data enums with new Solita generation * Add state flag to programmable config (metaplex-foundation#934) * wip: programmable state * Refactored instructions and tests * Renamed programmable state * Fix warnings * Split instruction match (metaplex-foundation#936) * Add authorization args * Add comments to processor * Check authority type on instruction * Add update and utility delegate * More delegate tests * Bump solana dependency * Fix dependencies version * Add programmable token standard to master edition (metaplex-foundation#937) * Add programmable token standard byte to master edition * Improve account serialization * Add token standard assert * Add asset state to metadata (metaplex-foundation#943) * Add asset state to metadata * Update tests * Updated JS generated code * Update JS tests * Revert module name change * Add assert function * Refactored * Add delegate lock tests * Support for fungible assets * Refactored utility into lock and unlock * Refactored utility tests into lock and unlock * Check the delegate type on assert * More tests * Moved programmable state to pda * Add mint and delegate to account * Fix legacy instruction test * Fix authority type check * Update JS tests (metaplex-foundation#946) * refactor transfer (metaplex-foundation#944) * refactor transfer * add rooster program for transfer tests * update Cargo lock * refactor transfer logic * address review comments * fix clippy lint * add sale delegate test * fix non-pNFT tests * fix things; add new_token_record to transfer * fix delegate auth test * fix sale delegate test * add utility delegate test * PR review fixes * reorganize new handlers; disable migrate * finish name changes for token_records * Updated auto-generated JS * Fix JS lint * Updated token auth rules dependency * Fix import path * Fix another import path * Linting * fix tests * Skip sdk tests * add versions to deps * chore: Release * chore: Release mpl-utils version 0.0.6 * bump mpl-utils version * add lock file * add symbol stripping * lint * Adding slot advancement to prevent local test timeouts. * chore: Release * chore: update @metaplex-foundation/mpl-token-metadata to v2.6.0-alpha.0 * chore: update @metaplex-foundation/mpl-token-metadata to v2.6.0-alpha.1 * Clippy * Instructions breakdown and optional account details (metaplex-foundation#945) * Instructions breakdown and optional account details This PR adds a list of operations for each instruction with an indication of whether they are completed or not. It also includes details of how optional positional accounts are used, which is important for users creating instructions without using the provided SDK/Rust crate. * Add update and utility operations * Typos * Add link to cretes and npm * Formatting * Change font size * More formatting * Improve markdown * Using circles * Using small circles * Squares * Check boxes * Improve list * More lists * Add missing use instruction * Move token state to fix byte offset * Update auth rules dependency * Typos * Fix create with minted mint account * Remove token record from account list * reorder processor match statement; add unsupported error burn and verify * refactor wallet-to-wallet to be more robust (metaplex-foundation#950) * chore: Release * Bump program version * chore: update @metaplex-foundation/mpl-token-metadata to v2.6.0-alpha.2 * Updated library links * Update transfer JS tests (metaplex-foundation#952) * Add custom errors * Update JS tests * Rename to match name convention * Avoid multiple deserialization * Check token status on processor (metaplex-foundation#953) * Check token status on processor * Disabled holder lock/unlock * Add missing signer * Update tests to include delegate * Add token owner account * Update JS tests * Token account is required * Update JS tests * Improve locked test * Add update with locked token test * Fix assert on error * Updated auth rules dependency * Add length check on edition byte test (metaplex-foundation#960) * fix bug in transfer when no rule set present on NFT (metaplex-foundation#961) * Refactor token state (metaplex-foundation#963) * Update authority signer account * Update update authority to PDA * Checking for optional previous authority * Add listed token state * Bump auth rules version * Update JS tests * Removed unused optional account * Add migration delegate support * Remove utility transfer tests * Add migration enum discriminator * Simplified token standard check * Add token owner as delegate test * Update JS auto-generated code * Update ProgrammableNFTGuide.md (metaplex-foundation#957) * Update ProgrammableNFTGuide.md * Update ProgrammableNFTGuide.md * Update ProgrammableNFTGuide.md * Update ProgrammableNFTGuide.md * chore: Release * chore: update @metaplex-foundation/mpl-token-metadata to v2.6.0-alpha.3 * fix delegate table in programmable guide * box builders and remove clones to save stack space (metaplex-foundation#958) * Pin auth rules version * Bump token auth rules version * Remove pinned version * implement nft -> pnft migration case (metaplex-foundation#956) * implement nft -> pnft migration case * write token standard to end of edition account * fix bugs * fix token freeze logic * remove collection member check, it's in mpl-migration-validator; set Migration delegate instead of Utility * Store rule set revision on delegate (metaplex-foundation#964) * Bump mpl-token-auth-rules version * Storing rule set revision * Soring rule set revision on delegate * Fix token record account size * Update BPF tests * Revision as u64 * Update tests * Add revision comment * rebuild lock file to fix dep issues * chore: Release * chore: Release * chore: update @metaplex-foundation/mpl-token-metadata to v2.7.0-beta.0 * chore: update @metaplex-foundation/mpl-token-metadata to v2.7.0-beta.1 * Token address on token record seed (metaplex-foundation#965) * add ser/deser implementations for pubkeys (metaplex-foundation#968) * Add enum to represent the print supply (metaplex-foundation#969) * Add enum to represent the print supply * Update JS tests * Typo * Typo in error * Add test for non-fungoble editions * Update print supply message * Move test for non-fungible editions * clippy fixes and one import fix (metaplex-foundation#970) * No default for optional accounts (metaplex-foundation#971) * No default for optional accounts * WIP: update tests * Add missing optional accounts to tests * Improve errors on instructions (metaplex-foundation#972) * WIP: more JS tests * Merge branch 'feat/programmable-asset' into febo/js-tests * Update JS tests * Refactor/remove deprecated fn (metaplex-foundation#973) * remove mint_new_edition_from_master_edition_via_vault_proxy * remove unused assertions * change token owner to token in migrate * Fix Cargo.lock for the bpf channel * chore: Release * chore: Release * chore: update @metaplex-foundation/mpl-token-metadata to v2.7.0-beta.2 * Add local setup instruction (metaplex-foundation#966) * WIP: add token record information * Add local setup information * Add syntax highlight * Add yarn build command * Formatting * Add transfer test with lookup table (metaplex-foundation#975) * Add transfer test with lookup table * Linting * Clone required args in instruction builder macro (metaplex-foundation#974) * Currently this doesn't work with Vec args because `ok_or` consumes `self` which results in a move and it cannot move out of a shared reference. * This should be low impact to stack size because the cloned() value is put in a `Box`. * chore: Release * Removed serde-feature from auth rules dependency * Remove unused update authority (metaplex-foundation#977) * Remove unused update authority * Updated JS tests * Bump auth rules version (metaplex-foundation#978) * Update lock file * run nightly cargo fmt * update CI solana version Co-authored-by: Sammy <[email protected]> Co-authored-by: Nhan Phan <[email protected]> Co-authored-by: Samuel Vanderwaal <[email protected]> Co-authored-by: blockiosaurus <[email protected]> Co-authored-by: Loris Leiva <[email protected]> Co-authored-by: austbot <[email protected]> Co-authored-by: Austin Adams <[email protected]> Co-authored-by: Michael Danenberg <[email protected]>
- Loading branch information