v0.4.7-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 12
|
# version: 13
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -18,7 +18,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.4.7-pre.5"
|
version = "0.4.7-pre.6"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-bot3"
|
repository = "https://git.sasedev.com/Sasedev/khadhroony-bot3"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/plans/V0_4_7_METAPLEX_TOKEN_METADATA_COMPLETION_PLAN.md -->
|
<!-- file: docs/plans/V0_4_7_METAPLEX_TOKEN_METADATA_COMPLETION_PLAN.md -->
|
||||||
<!-- version: 6 -->
|
<!-- version: 7 -->
|
||||||
|
|
||||||
# Plan `0.4.7` — achèvement de Metaplex Token Metadata
|
# Plan `0.4.7` — achèvement de Metaplex Token Metadata
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ La numérotation ci-dessous est un plan fermé initial. Elle peut être regroup
|
|||||||
- simulation et postconditions par opération ;
|
- simulation et postconditions par opération ;
|
||||||
- builders présents pour toute opération officiellement constructible ; préparation ou envoi refusé avec une raison stable lorsque les préconditions stateful ne sont pas prouvables.
|
- builders présents pour toute opération officiellement constructible ; préparation ou envoi refusé avec une raison stable lorsque les préconditions stateful ne sont pas prouvables.
|
||||||
|
|
||||||
### `0.4.7-pre.006` — editions, use, escrow et opérations restantes
|
### `0.4.7-pre.006` — editions, use, escrow et opérations restantes — réalisée
|
||||||
|
|
||||||
**Travaux**
|
**Travaux**
|
||||||
|
|
||||||
@@ -405,8 +405,8 @@ La numérotation ci-dessous est un plan fermé initial. Elle peut être regroup
|
|||||||
|
|
||||||
**Acceptation**
|
**Acceptation**
|
||||||
|
|
||||||
- la surface `kb-lib` est fermée pour les 58 instructions : chaque opération officiellement constructible, non obsolète et non remplacée possède un intent et un builder ;
|
- la surface `kb-lib` est fermée pour les 58 instructions : chaque opération officiellement constructible courante ou obsolète possède un intent et un builder ; seules les versions remplacées et la frontière Bubblegum restent sans builder ;
|
||||||
- aucune instruction historique, obsolète ou remplacée n’est exécutable lorsque sa reconstruction n’est plus légitime ;
|
- les opérations obsolètes encore officiellement constructibles sont exécutables sous `#[deprecated]` et approbation opérateur explicite ; les versions remplacées ne sont pas réexposées ;
|
||||||
- aucun `Unsupported(reason)` ne masque une opération simplement non réalisée ou reportée ;
|
- aucun `Unsupported(reason)` ne masque une opération simplement non réalisée ou reportée ;
|
||||||
- contrats d’edition marker et supply bornés ;
|
- contrats d’edition marker et supply bornés ;
|
||||||
- frontières Bubblegum explicites ;
|
- frontières Bubblegum explicites ;
|
||||||
|
|||||||
26
docs/validation/V0_4_7_PRE_006_METAPLEX_EXECUTOR_CLOSURE.md
Normal file
26
docs/validation/V0_4_7_PRE_006_METAPLEX_EXECUTOR_CLOSURE.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<!-- file: docs/validation/V0_4_7_PRE_006_METAPLEX_EXECUTOR_CLOSURE.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Validation `0.4.7-pre.006` — fermeture de l’exécuteur Metaplex
|
||||||
|
|
||||||
|
## Résultat contractuel
|
||||||
|
|
||||||
|
- 58 discriminants classés sans état ouvert ;
|
||||||
|
- 20 opérations courantes avec intent et builder ;
|
||||||
|
- 15 opérations obsolètes officiellement constructibles avec `#[deprecated]` et approbation opérateur explicite ;
|
||||||
|
- 22 versions remplacées conservées en decode-only avec remplacement canonique ;
|
||||||
|
- 1 frontière Bubblegum sans builder Metaplex ;
|
||||||
|
- aucune opération officiellement constructible reportée après `pre.006`.
|
||||||
|
|
||||||
|
## Construction
|
||||||
|
|
||||||
|
Les opérations restantes utilisent le contrat de comptes positionnels de l’IDL archivée et les types d’arguments Borsh officiels de `mpl-token-metadata 5.1.1`. Les signers et flags writable sont conservés exactement dans les `AccountMeta`.
|
||||||
|
|
||||||
|
## Contrôles de préparation
|
||||||
|
|
||||||
|
- matrice JSON lisible et fermée ;
|
||||||
|
- audit Rust général propre ;
|
||||||
|
- audit de complétude des exports propre ;
|
||||||
|
- absence de `?`, `unwrap`, `expect` et `panic!` dans la surface Metaplex ajoutée.
|
||||||
|
|
||||||
|
Les commandes Cargo doivent être exécutées sur le workspace opérateur avant validation définitive de la prerelease.
|
||||||
@@ -1,8 +1,17 @@
|
|||||||
<!-- file: kb-lib/CHANGELOG.md -->
|
<!-- file: kb-lib/CHANGELOG.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# CHANGELOG — kb-lib
|
# CHANGELOG — kb-lib
|
||||||
|
|
||||||
|
## 0.4.7-pre.006 — fermeture de l’exécuteur Metaplex
|
||||||
|
|
||||||
|
- fermeture des 35 opérations officiellement constructibles : 20 courantes et 15 dépréciées ;
|
||||||
|
- ajout des éditions historiques constructibles, use authority, escrow, mint, migrate, use, collect, print et resize ;
|
||||||
|
- conservation des 22 instructions remplacées en decode-only et de Bubblegum comme frontière externe ;
|
||||||
|
- construction des instructions restantes depuis le contrat IDL exact, avec comptes, signers, mutabilité et arguments Borsh officiels ;
|
||||||
|
- extension des tests unitaires d’intent, builder et capability ;
|
||||||
|
- fermeture de la matrice des 58 discriminants avant l’intégration pipeline.
|
||||||
|
|
||||||
## 0.4.7-pre.005 — programmable NFTs et délégations
|
## 0.4.7-pre.005 — programmable NFTs et délégations
|
||||||
|
|
||||||
- ajout des wrappers officiels `Burn`, `Delegate`, `Revoke`, `Lock`, `Unlock`, `Transfer` et `CloseAccounts` ;
|
- ajout des wrappers officiels `Burn`, `Delegate`, `Revoke`, `Lock`, `Unlock`, `Transfer` et `CloseAccounts` ;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ Les matrices actives sont maintenues sous [`../test-fixtures/contract-matrices/`
|
|||||||
|
|
||||||
## Statut et limites
|
## Statut et limites
|
||||||
|
|
||||||
La migration des surfaces historiques jusqu’à un périmètre proche de bot2 `0.4.6` est largement réalisée. Le décodeur Metaplex Token Metadata couvre les 58 discriminants et les matérialisations possèdent désormais un contrat fermé de propriété des faits. L’exécuteur Metaplex possède désormais ses fondations typées et les wrappers courants `Create`/`Update`, `Verify`/`Unverify`, `Burn`, `Delegate`/`Revoke`, `Lock`/`Unlock`, `Transfer` et `CloseAccounts`, ainsi que les opérations dépréciées `PuffMetadata`, `SetTokenStandard` et `SetCollectionSize`; les éditions, uses, escrow et opérations restantes doivent être fermés en `pre.006`. Le registre ElGamal n’est pas déclaré validé sur Devnet ou Mainnet.
|
La migration des surfaces historiques jusqu’à un périmètre proche de bot2 `0.4.6` est largement réalisée. Le décodeur Metaplex Token Metadata couvre les 58 discriminants et les matérialisations possèdent désormais un contrat fermé de propriété des faits. L’exécuteur Metaplex ferme désormais les 35 opérations officiellement constructibles : 20 opérations courantes et 15 opérations obsolètes conservées sous `#[deprecated]` avec approbation opérateur explicite. Les 22 versions remplacées restent decode-only et Bubblegum demeure une frontière externe. La fermeture inclut les éditions, uses, escrow, mint, print, collect, migrate et resize. Le registre ElGamal n’est pas déclaré validé sur Devnet ou Mainnet.
|
||||||
|
|
||||||
## Documents
|
## Documents
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: kb-lib/TODO.md -->
|
<!-- file: kb-lib/TODO.md -->
|
||||||
<!-- version: 9 -->
|
<!-- version: 10 -->
|
||||||
|
|
||||||
# TODO — kb-lib
|
# TODO — kb-lib
|
||||||
|
|
||||||
@@ -9,14 +9,14 @@
|
|||||||
- [x] introduire les intents et builders courants `Create`/`Update` ;
|
- [x] introduire les intents et builders courants `Create`/`Update` ;
|
||||||
- [x] achever les wrappers courants Verify/Unverify et l’opération dépréciée SetCollectionSize ;
|
- [x] achever les wrappers courants Verify/Unverify et l’opération dépréciée SetCollectionSize ;
|
||||||
- [x] achever délégations et opérations pNFT `Burn`/`Lock`/`Unlock`/`Transfer`/`CloseAccounts` ;
|
- [x] achever délégations et opérations pNFT `Burn`/`Lock`/`Unlock`/`Transfer`/`CloseAccounts` ;
|
||||||
- [ ] achever éditions, use, escrow et opérations courantes restantes en `pre.006` ;
|
- [x] achever éditions, use, escrow et opérations courantes restantes en `pre.006` ;
|
||||||
|
|
||||||
## Entre `0.4.6` et `0.4.7` — Metaplex Token Metadata
|
## Entre `0.4.6` et `0.4.7` — Metaplex Token Metadata
|
||||||
|
|
||||||
- [x] Matérialisation - vérifier la couverture exacte migrée depuis bot2.
|
- [x] Matérialisation - vérifier la couverture exacte migrée depuis bot2.
|
||||||
- [x] Matérialisation - compléter uniquement les projections réellement manquantes et fermer leur propriété unique.
|
- [x] Matérialisation - compléter uniquement les projections réellement manquantes et fermer leur propriété unique.
|
||||||
- [ ] Exécution - implémenter l’exécuteur à partir des contrats officiels vérifiés.
|
- [x] Exécution - implémenter l’exécuteur à partir des contrats officiels vérifiés.
|
||||||
- [ ] Tests - ajouter les tests unitaires et contractuels de l’exécuteur.
|
- [x] Tests - ajouter les tests unitaires et contractuels de l’exécuteur.
|
||||||
- [ ] Intégration - préparer les contrats nécessaires au pipeline et aux démonstrations.
|
- [ ] Intégration - préparer les contrats nécessaires au pipeline et aux démonstrations.
|
||||||
- [ ] Validation - valider le parcours complet sur un réseau approprié lorsque les prérequis sont réunis.
|
- [ ] Validation - valider le parcours complet sur un réseau approprié lorsque les prérequis sont réunis.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/executor.rs
|
// file: kb-lib/src/executor.rs
|
||||||
// version: 13
|
// version: 14
|
||||||
|
|
||||||
//! Consolidated executor modules.
|
//! Consolidated executor modules.
|
||||||
|
|
||||||
@@ -208,37 +208,79 @@ pub use self::lending::ExLendingKaminoExecutor;
|
|||||||
pub use self::lending::ExLendingMarginfiV2Executor;
|
pub use self::lending::ExLendingMarginfiV2Executor;
|
||||||
/// Exposes the reserved `lock/raydium_lp` executor.
|
/// Exposes the reserved `lock/raydium_lp` executor.
|
||||||
pub use self::lock::ExLockRaydiumLpExecutor;
|
pub use self::lock::ExLockRaydiumLpExecutor;
|
||||||
/// Stable operation code for Metaplex Burn.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
||||||
/// Stable operation code for Metaplex Close Accounts.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Create wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
||||||
/// Stable operation code for Metaplex Delegate.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
||||||
/// Deprecated Metaplex operation codes requiring explicit approval.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
||||||
/// Stable operation code for Metaplex Lock.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
||||||
/// Stable deprecated Metaplex PuffMetadata operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
||||||
/// Stable operation code for Metaplex Revoke.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
||||||
/// Stable deprecated Metaplex SetCollectionSize operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
||||||
/// Stable deprecated Metaplex SetTokenStandard operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
||||||
/// Current and deprecated Metaplex Token Metadata operations.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
||||||
/// Stable operation code for Metaplex Transfer.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
||||||
/// Stable operation code for Metaplex Unlock.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Unverify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Update wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Verify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_USE_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_USE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION`.
|
||||||
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION`.
|
||||||
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
pub use self::metadata::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
||||||
/// Exposes the Metaplex Token Metadata executor.
|
/// Exposes the Metaplex Token Metadata executor.
|
||||||
pub use self::metadata::ExMetadataMetaplexTokenMetadataExecutor;
|
pub use self::metadata::ExMetadataMetaplexTokenMetadataExecutor;
|
||||||
|
|||||||
@@ -1,30 +1,91 @@
|
|||||||
// file: kb-lib/src/executor/metadata.rs
|
// file: kb-lib/src/executor/metadata.rs
|
||||||
// version: 7
|
// version: 8
|
||||||
|
|
||||||
//! `metadata` executor family.
|
//! `metadata` executor family.
|
||||||
|
|
||||||
mod metaplex_token_metadata;
|
mod metaplex_token_metadata;
|
||||||
mod solana_program_metadata;
|
mod solana_program_metadata;
|
||||||
mod spl_name_service;
|
mod spl_name_service;
|
||||||
|
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
||||||
/// Exposes the Metaplex Token Metadata execution surface.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_USE_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_USE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION`.
|
||||||
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION`.
|
||||||
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
pub use self::metaplex_token_metadata::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
||||||
|
/// Exposes the Metaplex Token Metadata executor.
|
||||||
pub use self::metaplex_token_metadata::ExMetadataMetaplexTokenMetadataExecutor;
|
pub use self::metaplex_token_metadata::ExMetadataMetaplexTokenMetadataExecutor;
|
||||||
|
/// Exposes the complete Metaplex Token Metadata execution intent.
|
||||||
pub use self::metaplex_token_metadata::ExMetaplexTokenMetadataExecutionIntent;
|
pub use self::metaplex_token_metadata::ExMetaplexTokenMetadataExecutionIntent;
|
||||||
|
/// Exposes the Metaplex Token Metadata operation intent.
|
||||||
pub use self::metaplex_token_metadata::ExMetaplexTokenMetadataOperation;
|
pub use self::metaplex_token_metadata::ExMetaplexTokenMetadataOperation;
|
||||||
/// Exposes the reserved `metadata/solana_program_metadata` executor.
|
/// Exposes the reserved `metadata/solana_program_metadata` executor.
|
||||||
pub use self::solana_program_metadata::ExMetadataSolanaProgramMetadataExecutor;
|
pub use self::solana_program_metadata::ExMetadataSolanaProgramMetadataExecutor;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/executor/metadata/metaplex_token_metadata.rs
|
// file: kb-lib/src/executor/metadata/metaplex_token_metadata.rs
|
||||||
// version: 9
|
// version: 10
|
||||||
|
|
||||||
//! Metaplex Token Metadata typed execution surface.
|
//! Metaplex Token Metadata typed execution surface.
|
||||||
|
|
||||||
@@ -9,37 +9,79 @@ mod intent;
|
|||||||
|
|
||||||
/// Exposes the Metaplex Token Metadata executor.
|
/// Exposes the Metaplex Token Metadata executor.
|
||||||
pub use self::executor::ExMetadataMetaplexTokenMetadataExecutor;
|
pub use self::executor::ExMetadataMetaplexTokenMetadataExecutor;
|
||||||
/// Stable operation code for Metaplex Burn.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
||||||
/// Stable operation code for Metaplex Close Accounts.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
||||||
/// Stable operation code for the current Create wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
||||||
/// Stable operation code for Metaplex Delegate.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
||||||
/// Deprecated operation codes requiring explicit operator approval.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
||||||
/// Stable operation code for Metaplex Lock.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
||||||
/// Stable deprecated operation code for PuffMetadata.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
||||||
/// Stable operation code for Metaplex Revoke.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
||||||
/// Stable deprecated operation code for SetCollectionSize.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
||||||
/// Stable deprecated operation code for SetTokenStandard.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
||||||
/// Current and deprecated operations implemented by this prerelease.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
||||||
/// Stable operation code for Metaplex Transfer.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
||||||
/// Stable operation code for Metaplex Unlock.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
||||||
/// Stable operation code for the current Unverify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
||||||
/// Stable operation code for the current Update wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
||||||
/// Stable operation code for the current Verify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_USE_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_USE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION`.
|
||||||
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION`.
|
||||||
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
pub use self::intent::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
||||||
/// Exposes the complete Metaplex Token Metadata execution intent.
|
/// Exposes the complete Metaplex Token Metadata execution intent.
|
||||||
pub use self::intent::ExMetaplexTokenMetadataExecutionIntent;
|
pub use self::intent::ExMetaplexTokenMetadataExecutionIntent;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/builder.rs
|
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/builder.rs
|
||||||
// version: 6
|
// version: 7
|
||||||
|
|
||||||
//! Official Metaplex builders and conservative plan validation.
|
//! Official Metaplex builders and conservative plan validation.
|
||||||
|
|
||||||
@@ -162,178 +162,34 @@ pub(crate) fn executor_metaplex_token_metadata_build_prepared_plan(
|
|||||||
collection_authority_record.as_ref(),
|
collection_authority_record.as_ref(),
|
||||||
*size,
|
*size,
|
||||||
),
|
),
|
||||||
crate::ExMetaplexTokenMetadataOperation::Burn {
|
crate::ExMetaplexTokenMetadataOperation::Burn { authority, collection_metadata, metadata, edition, mint, token, master_edition, master_edition_mint, master_edition_token, edition_marker, token_record, burn_args } => build_burn(authority, collection_metadata.as_ref(), metadata, edition.as_ref(), mint, token, master_edition.as_ref(), master_edition_mint.as_ref(), master_edition_token.as_ref(), edition_marker.as_ref(), token_record.as_ref(), burn_args),
|
||||||
authority,
|
crate::ExMetaplexTokenMetadataOperation::Delegate { delegate_record, delegate, metadata, master_edition, token_record, mint, token, authority, spl_token_program, authorization_rules_program, authorization_rules, delegate_args } => build_delegate(intent, delegate_record.as_ref(), delegate, metadata, master_edition.as_ref(), token_record.as_ref(), mint, token.as_ref(), authority, spl_token_program.as_ref(), authorization_rules_program.as_ref(), authorization_rules.as_ref(), delegate_args),
|
||||||
collection_metadata,
|
crate::ExMetaplexTokenMetadataOperation::Revoke { delegate_record, delegate, metadata, master_edition, token_record, mint, token, authority, spl_token_program, authorization_rules_program, authorization_rules, revoke_args } => build_revoke(intent, delegate_record.as_ref(), delegate, metadata, master_edition.as_ref(), token_record.as_ref(), mint, token.as_ref(), authority, spl_token_program.as_ref(), authorization_rules_program.as_ref(), authorization_rules.as_ref(), revoke_args),
|
||||||
metadata,
|
crate::ExMetaplexTokenMetadataOperation::Lock { authority, token_owner, token, mint, metadata, edition, token_record, spl_token_program, authorization_rules_program, authorization_rules, lock_args } => build_lock(intent, authority, token_owner.as_ref(), token, mint, metadata, edition.as_ref(), token_record.as_ref(), spl_token_program.as_ref(), authorization_rules_program.as_ref(), authorization_rules.as_ref(), lock_args),
|
||||||
edition,
|
crate::ExMetaplexTokenMetadataOperation::Unlock { authority, token_owner, token, mint, metadata, edition, token_record, spl_token_program, authorization_rules_program, authorization_rules, unlock_args } => build_unlock(intent, authority, token_owner.as_ref(), token, mint, metadata, edition.as_ref(), token_record.as_ref(), spl_token_program.as_ref(), authorization_rules_program.as_ref(), authorization_rules.as_ref(), unlock_args),
|
||||||
mint,
|
crate::ExMetaplexTokenMetadataOperation::Transfer { token, token_owner, destination_token, destination_owner, mint, metadata, edition, token_record, destination_token_record, authority, authorization_rules_program, authorization_rules, transfer_args } => build_transfer(intent, token, token_owner, destination_token, destination_owner, mint, metadata, edition.as_ref(), token_record.as_ref(), destination_token_record.as_ref(), authority, authorization_rules_program.as_ref(), authorization_rules.as_ref(), transfer_args),
|
||||||
token,
|
crate::ExMetaplexTokenMetadataOperation::CloseAccounts { metadata, edition, mint, authority, destination } => build_close_accounts(metadata, edition, mint, authority, destination),
|
||||||
master_edition,
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedCreateMasterEdition { edition, mint, printing_mint, one_time_printing_authorization_mint, update_authority, printing_mint_authority, mint_authority, metadata, payer, token_program, system_program, rent, one_time_printing_authorization_mint_authority } => build_idl_instruction_no_args(2, &[(edition, false, true), (mint, false, true), (printing_mint, false, true), (one_time_printing_authorization_mint, false, true), (update_authority, true, false), (printing_mint_authority, true, false), (mint_authority, true, false), (metadata, false, false), (payer, true, false), (token_program, false, false), (system_program, false, false), (rent, false, false), (one_time_printing_authorization_mint_authority, true, false)]),
|
||||||
master_edition_mint,
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedMintNewEditionFromMasterEditionViaPrintingToken { metadata, edition, master_edition, mint, mint_authority, printing_mint, master_token_account, edition_marker, burn_authority, payer, master_update_authority, master_metadata, token_program, system_program, rent, reservation_list } => build_idl_instruction_no_args(3, &[(metadata, false, true), (edition, false, true), (master_edition, false, true), (mint, false, true), (mint_authority, true, false), (printing_mint, false, true), (master_token_account, false, true), (edition_marker, false, true), (burn_authority, true, false), (payer, true, false), (master_update_authority, false, false), (master_metadata, false, false), (token_program, false, false), (system_program, false, false), (rent, false, false), (reservation_list, false, true)]),
|
||||||
master_edition_token,
|
crate::ExMetaplexTokenMetadataOperation::UpdatePrimarySaleHappenedViaToken { metadata, owner, token } => build_idl_instruction_no_args(4, &[(metadata, false, true), (owner, true, false), (token, false, false)]),
|
||||||
edition_marker,
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedSetReservationList { master_edition, reservation_list, resource } => build_idl_instruction_no_args(5, &[(master_edition, false, true), (reservation_list, false, true), (resource, true, false)]),
|
||||||
token_record,
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedCreateReservationList { reservation_list, payer, update_authority, master_edition, resource, metadata, system_program, rent } => build_idl_instruction_no_args(6, &[(reservation_list, false, true), (payer, true, false), (update_authority, true, false), (master_edition, false, false), (resource, false, false), (metadata, false, false), (system_program, false, false), (rent, false, false)]),
|
||||||
burn_args,
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedMintPrintingTokensViaToken { destination, token, one_time_printing_authorization_mint, printing_mint, burn_authority, metadata, master_edition, token_program, rent } => build_idl_instruction_no_args(8, &[(destination, false, true), (token, false, true), (one_time_printing_authorization_mint, false, true), (printing_mint, false, true), (burn_authority, true, false), (metadata, false, false), (master_edition, false, false), (token_program, false, false), (rent, false, false)]),
|
||||||
} => build_burn(
|
crate::ExMetaplexTokenMetadataOperation::DeprecatedMintPrintingTokens { destination, printing_mint, update_authority, metadata, master_edition, token_program, rent } => build_idl_instruction_no_args(9, &[(destination, false, true), (printing_mint, false, true), (update_authority, true, false), (metadata, false, false), (master_edition, false, false), (token_program, false, false), (rent, false, false)]),
|
||||||
authority,
|
crate::ExMetaplexTokenMetadataOperation::ConvertMasterEditionV1ToV2 { master_edition, one_time_auth, printing_mint } => build_idl_instruction_no_args(12, &[(master_edition, false, true), (one_time_auth, false, true), (printing_mint, false, true)]),
|
||||||
collection_metadata.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::MintNewEditionFromMasterEditionViaVaultProxy { new_metadata, new_edition, master_edition, new_mint, edition_mark_pda, new_mint_authority, payer, vault_authority, safety_deposit_store, safety_deposit_box, vault, new_metadata_update_authority, metadata, token_program, token_vault_program, system_program, rent, args } => build_idl_instruction_with_args(13, &[(new_metadata, false, true), (new_edition, false, true), (master_edition, false, true), (new_mint, false, true), (edition_mark_pda, false, true), (new_mint_authority, true, false), (payer, true, true), (vault_authority, true, false), (safety_deposit_store, false, false), (safety_deposit_box, false, false), (vault, false, false), (new_metadata_update_authority, false, false), (metadata, false, false), (token_program, false, false), (token_vault_program, false, false), (system_program, false, false), (rent, false, false)], args),
|
||||||
metadata,
|
crate::ExMetaplexTokenMetadataOperation::Utilize { metadata, token_account, mint, use_authority, owner, token_program, ata_program, system_program, rent, use_authority_record, burner, args } => build_idl_instruction_with_args(19, &[(metadata, false, true), (token_account, false, true), (mint, false, true), (use_authority, true, true), (owner, false, false), (token_program, false, false), (ata_program, false, false), (system_program, false, false), (rent, false, false), (use_authority_record, false, true), (burner, false, false)], args),
|
||||||
edition.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::ApproveUseAuthority { use_authority_record, owner, payer, user, owner_token_account, metadata, mint, burner, token_program, system_program, rent, args } => build_idl_instruction_with_args(20, &[(use_authority_record, false, true), (owner, true, true), (payer, true, true), (user, false, false), (owner_token_account, false, true), (metadata, false, false), (mint, false, false), (burner, false, false), (token_program, false, false), (system_program, false, false), (rent, false, false)], args),
|
||||||
mint,
|
crate::ExMetaplexTokenMetadataOperation::RevokeUseAuthority { use_authority_record, owner, user, owner_token_account, mint, metadata, token_program, system_program, rent } => build_idl_instruction_no_args(21, &[(use_authority_record, false, true), (owner, true, true), (user, false, false), (owner_token_account, false, true), (mint, false, false), (metadata, false, false), (token_program, false, false), (system_program, false, false), (rent, false, false)]),
|
||||||
token,
|
crate::ExMetaplexTokenMetadataOperation::CreateEscrowAccount { escrow, metadata, mint, token_account, edition, payer, system_program, sysvar_instructions, authority } => build_idl_instruction_no_args(38, &[(escrow, false, true), (metadata, false, true), (mint, false, false), (token_account, false, false), (edition, false, false), (payer, true, true), (system_program, false, false), (sysvar_instructions, false, false), (authority, true, false)]),
|
||||||
master_edition.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::CloseEscrowAccount { escrow, metadata, mint, token_account, edition, payer, system_program, sysvar_instructions } => build_idl_instruction_no_args(39, &[(escrow, false, true), (metadata, false, true), (mint, false, false), (token_account, false, false), (edition, false, false), (payer, true, true), (system_program, false, false), (sysvar_instructions, false, false)]),
|
||||||
master_edition_mint.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::TransferOutOfEscrow { escrow, metadata, payer, attribute_mint, attribute_src, attribute_dst, escrow_mint, escrow_account, system_program, ata_program, token_program, sysvar_instructions, authority, args } => build_idl_instruction_with_args(40, &[(escrow, false, false), (metadata, false, true), (payer, true, true), (attribute_mint, false, false), (attribute_src, false, true), (attribute_dst, false, true), (escrow_mint, false, false), (escrow_account, false, false), (system_program, false, false), (ata_program, false, false), (token_program, false, false), (sysvar_instructions, false, false), (authority, true, false)], args),
|
||||||
master_edition_token.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::Mint { token, token_owner, metadata, master_edition, token_record, mint, authority, delegate_record, payer, system_program, sysvar_instructions, spl_token_program, spl_ata_program, authorization_rules_program, authorization_rules, args } => build_idl_instruction_with_args(43, &[(token, false, true), (token_owner, false, false), (metadata, false, false), (master_edition, false, true), (token_record, false, true), (mint, false, true), (authority, true, false), (delegate_record, false, false), (payer, true, true), (system_program, false, false), (sysvar_instructions, false, false), (spl_token_program, false, false), (spl_ata_program, false, false), (authorization_rules_program, false, false), (authorization_rules, false, false)], args),
|
||||||
edition_marker.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::Migrate { metadata, edition, token, token_owner, mint, payer, authority, collection_metadata, delegate_record, token_record, system_program, sysvar_instructions, spl_token_program, authorization_rules_program, authorization_rules } => build_idl_instruction_no_args(48, &[(metadata, false, true), (edition, false, true), (token, false, true), (token_owner, false, false), (mint, false, false), (payer, true, true), (authority, true, false), (collection_metadata, false, false), (delegate_record, false, false), (token_record, false, true), (system_program, false, false), (sysvar_instructions, false, false), (spl_token_program, false, false), (authorization_rules_program, false, false), (authorization_rules, false, false)]),
|
||||||
token_record.as_ref(),
|
crate::ExMetaplexTokenMetadataOperation::Use { authority, delegate_record, token, mint, metadata, edition, payer, system_program, sysvar_instructions, spl_token_program, authorization_rules_program, authorization_rules, args } => build_idl_instruction_with_args(51, &[(authority, true, false), (delegate_record, false, true), (token, false, true), (mint, false, false), (metadata, false, true), (edition, false, true), (payer, true, false), (system_program, false, false), (sysvar_instructions, false, false), (spl_token_program, false, false), (authorization_rules_program, false, false), (authorization_rules, false, false)], args),
|
||||||
burn_args,
|
crate::ExMetaplexTokenMetadataOperation::Collect { authority, recipient } => build_idl_instruction_no_args(54, &[(authority, true, false), (recipient, false, false)]),
|
||||||
),
|
crate::ExMetaplexTokenMetadataOperation::Print { edition_metadata, edition, edition_mint, edition_token_account_owner, edition_token_account, edition_mint_authority, edition_token_record, master_edition, edition_marker_pda, payer, master_token_account_owner, master_token_account, master_metadata, update_authority, spl_token_program, spl_ata_program, sysvar_instructions, system_program, args } => build_idl_instruction_with_args(55, &[(edition_metadata, false, true), (edition, false, true), (edition_mint, false, true), (edition_token_account_owner, false, false), (edition_token_account, false, true), (edition_mint_authority, true, false), (edition_token_record, false, true), (master_edition, false, true), (edition_marker_pda, false, true), (payer, true, true), (master_token_account_owner, false, false), (master_token_account, false, false), (master_metadata, false, false), (update_authority, false, false), (spl_token_program, false, false), (spl_ata_program, false, false), (sysvar_instructions, false, false), (system_program, false, false)], args),
|
||||||
crate::ExMetaplexTokenMetadataOperation::Delegate {
|
crate::ExMetaplexTokenMetadataOperation::Resize { metadata, edition, mint, payer, authority, token, system_program } => build_idl_instruction_no_args(56, &[(metadata, false, true), (edition, false, true), (mint, false, false), (payer, false, true), (authority, true, false), (token, false, false), (system_program, false, false)]),
|
||||||
delegate_record,
|
|
||||||
delegate,
|
|
||||||
metadata,
|
|
||||||
master_edition,
|
|
||||||
token_record,
|
|
||||||
mint,
|
|
||||||
token,
|
|
||||||
authority,
|
|
||||||
spl_token_program,
|
|
||||||
authorization_rules_program,
|
|
||||||
authorization_rules,
|
|
||||||
delegate_args,
|
|
||||||
} => build_delegate(
|
|
||||||
intent,
|
|
||||||
delegate_record.as_ref(),
|
|
||||||
delegate,
|
|
||||||
metadata,
|
|
||||||
master_edition.as_ref(),
|
|
||||||
token_record.as_ref(),
|
|
||||||
mint,
|
|
||||||
token.as_ref(),
|
|
||||||
authority,
|
|
||||||
spl_token_program.as_ref(),
|
|
||||||
authorization_rules_program.as_ref(),
|
|
||||||
authorization_rules.as_ref(),
|
|
||||||
delegate_args,
|
|
||||||
),
|
|
||||||
crate::ExMetaplexTokenMetadataOperation::Revoke {
|
|
||||||
delegate_record,
|
|
||||||
delegate,
|
|
||||||
metadata,
|
|
||||||
master_edition,
|
|
||||||
token_record,
|
|
||||||
mint,
|
|
||||||
token,
|
|
||||||
authority,
|
|
||||||
spl_token_program,
|
|
||||||
authorization_rules_program,
|
|
||||||
authorization_rules,
|
|
||||||
revoke_args,
|
|
||||||
} => build_revoke(
|
|
||||||
intent,
|
|
||||||
delegate_record.as_ref(),
|
|
||||||
delegate,
|
|
||||||
metadata,
|
|
||||||
master_edition.as_ref(),
|
|
||||||
token_record.as_ref(),
|
|
||||||
mint,
|
|
||||||
token.as_ref(),
|
|
||||||
authority,
|
|
||||||
spl_token_program.as_ref(),
|
|
||||||
authorization_rules_program.as_ref(),
|
|
||||||
authorization_rules.as_ref(),
|
|
||||||
revoke_args,
|
|
||||||
),
|
|
||||||
crate::ExMetaplexTokenMetadataOperation::Lock {
|
|
||||||
authority,
|
|
||||||
token_owner,
|
|
||||||
token,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition,
|
|
||||||
token_record,
|
|
||||||
spl_token_program,
|
|
||||||
authorization_rules_program,
|
|
||||||
authorization_rules,
|
|
||||||
lock_args,
|
|
||||||
} => build_lock(
|
|
||||||
intent,
|
|
||||||
authority,
|
|
||||||
token_owner.as_ref(),
|
|
||||||
token,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition.as_ref(),
|
|
||||||
token_record.as_ref(),
|
|
||||||
spl_token_program.as_ref(),
|
|
||||||
authorization_rules_program.as_ref(),
|
|
||||||
authorization_rules.as_ref(),
|
|
||||||
lock_args,
|
|
||||||
),
|
|
||||||
crate::ExMetaplexTokenMetadataOperation::Unlock {
|
|
||||||
authority,
|
|
||||||
token_owner,
|
|
||||||
token,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition,
|
|
||||||
token_record,
|
|
||||||
spl_token_program,
|
|
||||||
authorization_rules_program,
|
|
||||||
authorization_rules,
|
|
||||||
unlock_args,
|
|
||||||
} => build_unlock(
|
|
||||||
intent,
|
|
||||||
authority,
|
|
||||||
token_owner.as_ref(),
|
|
||||||
token,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition.as_ref(),
|
|
||||||
token_record.as_ref(),
|
|
||||||
spl_token_program.as_ref(),
|
|
||||||
authorization_rules_program.as_ref(),
|
|
||||||
authorization_rules.as_ref(),
|
|
||||||
unlock_args,
|
|
||||||
),
|
|
||||||
crate::ExMetaplexTokenMetadataOperation::Transfer {
|
|
||||||
token,
|
|
||||||
token_owner,
|
|
||||||
destination_token,
|
|
||||||
destination_owner,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition,
|
|
||||||
token_record,
|
|
||||||
destination_token_record,
|
|
||||||
authority,
|
|
||||||
authorization_rules_program,
|
|
||||||
authorization_rules,
|
|
||||||
transfer_args,
|
|
||||||
} => build_transfer(
|
|
||||||
intent,
|
|
||||||
token,
|
|
||||||
token_owner,
|
|
||||||
destination_token,
|
|
||||||
destination_owner,
|
|
||||||
mint,
|
|
||||||
metadata,
|
|
||||||
edition.as_ref(),
|
|
||||||
token_record.as_ref(),
|
|
||||||
destination_token_record.as_ref(),
|
|
||||||
authority,
|
|
||||||
authorization_rules_program.as_ref(),
|
|
||||||
authorization_rules.as_ref(),
|
|
||||||
transfer_args,
|
|
||||||
),
|
|
||||||
crate::ExMetaplexTokenMetadataOperation::CloseAccounts {
|
|
||||||
metadata,
|
|
||||||
edition,
|
|
||||||
mint,
|
|
||||||
authority,
|
|
||||||
destination,
|
|
||||||
} => build_close_accounts(metadata, edition, mint, authority, destination),
|
|
||||||
};
|
};
|
||||||
let instruction = match instruction_result {
|
let instruction = match instruction_result {
|
||||||
std::result::Result::Ok(value) => value,
|
std::result::Result::Ok(value) => value,
|
||||||
@@ -380,7 +236,7 @@ fn validate_intent(intent: &crate::ExMetaplexTokenMetadataExecutionIntent) -> kb
|
|||||||
if !intent.policy.dry_run {
|
if !intent.policy.dry_run {
|
||||||
return std::result::Result::Err(kb_core::Error::new(
|
return std::result::Result::Err(kb_core::Error::new(
|
||||||
"execution_metaplex_dry_run_required",
|
"execution_metaplex_dry_run_required",
|
||||||
"Metaplex Token Metadata pre.005 intents are simulation-only",
|
"Metaplex Token Metadata pre.006 intents are simulation-only",
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
match intent.policy.cost_limit.max_fee_lamports {
|
match intent.policy.cost_limit.max_fee_lamports {
|
||||||
@@ -1357,6 +1213,65 @@ fn build_close_accounts(
|
|||||||
return std::result::Result::Ok(convert_official_instruction!(official));
|
return std::result::Result::Ok(convert_official_instruction!(official));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn build_idl_instruction_no_args(
|
||||||
|
discriminator: u8,
|
||||||
|
accounts: &[(&crate::MdPubkey, bool, bool)],
|
||||||
|
) -> kb_core::Result<solana_instruction::Instruction> {
|
||||||
|
return build_idl_instruction(discriminator, accounts, std::option::Option::None);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build_idl_instruction_with_args<T: borsh_0_10::BorshSerialize>(
|
||||||
|
discriminator: u8,
|
||||||
|
accounts: &[(&crate::MdPubkey, bool, bool)],
|
||||||
|
args: &T,
|
||||||
|
) -> kb_core::Result<solana_instruction::Instruction> {
|
||||||
|
let encoded = match borsh_0_10::BorshSerialize::try_to_vec(args) {
|
||||||
|
std::result::Result::Ok(value) => value,
|
||||||
|
std::result::Result::Err(error) => {
|
||||||
|
return std::result::Result::Err(kb_core::Error::new(
|
||||||
|
"execution_metaplex_arguments_serialize_failed",
|
||||||
|
error.to_string(),
|
||||||
|
));
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return build_idl_instruction(discriminator, accounts, std::option::Option::Some(encoded));
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build_idl_instruction(
|
||||||
|
discriminator: u8,
|
||||||
|
accounts: &[(&crate::MdPubkey, bool, bool)],
|
||||||
|
encoded_args: std::option::Option<std::vec::Vec<u8>>,
|
||||||
|
) -> kb_core::Result<solana_instruction::Instruction> {
|
||||||
|
let program_id = match parse_str_pubkey(
|
||||||
|
kb_program_ids::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID,
|
||||||
|
"program_id",
|
||||||
|
) {
|
||||||
|
std::result::Result::Ok(value) => value,
|
||||||
|
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||||
|
};
|
||||||
|
let mut metas = std::vec::Vec::with_capacity(accounts.len());
|
||||||
|
for (value, is_signer, is_writable) in accounts {
|
||||||
|
let pubkey = match parse_pubkey(value, "instruction_account") {
|
||||||
|
std::result::Result::Ok(value) => value,
|
||||||
|
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||||
|
};
|
||||||
|
metas.push(solana_instruction::AccountMeta {
|
||||||
|
pubkey,
|
||||||
|
is_signer: *is_signer,
|
||||||
|
is_writable: *is_writable,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let mut data = vec![discriminator];
|
||||||
|
if let std::option::Option::Some(mut value) = encoded_args {
|
||||||
|
data.append(&mut value);
|
||||||
|
}
|
||||||
|
return std::result::Result::Ok(solana_instruction::Instruction {
|
||||||
|
program_id,
|
||||||
|
accounts: metas,
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
@@ -1541,4 +1456,23 @@ mod tests {
|
|||||||
assert_eq!(instruction.accounts.len(), 5);
|
assert_eq!(instruction.accounts.len(), 5);
|
||||||
assert!(instruction.accounts[3].is_signer);
|
assert!(instruction.accounts[3].is_signer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn collect_builds_exact_discriminator_and_signer_contract() {
|
||||||
|
let authority = crate::MdPubkey("11111111111111111111111111111111".to_string());
|
||||||
|
let recipient = crate::MdPubkey("SysvarRent111111111111111111111111111111111".to_string());
|
||||||
|
let result = super::build_idl_instruction_no_args(
|
||||||
|
54,
|
||||||
|
&[(&authority, true, false), (&recipient, false, false)],
|
||||||
|
);
|
||||||
|
assert!(result.is_ok());
|
||||||
|
let instruction = match result {
|
||||||
|
std::result::Result::Ok(value) => value,
|
||||||
|
std::result::Result::Err(_) => return,
|
||||||
|
};
|
||||||
|
assert_eq!(instruction.data, vec![54]);
|
||||||
|
assert_eq!(instruction.accounts.len(), 2);
|
||||||
|
assert!(instruction.accounts[0].is_signer);
|
||||||
|
assert!(!instruction.accounts[1].is_signer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/executor.rs
|
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/executor.rs
|
||||||
// version: 5
|
// version: 6
|
||||||
|
|
||||||
//! Exact Metaplex Token Metadata capability dispatch.
|
//! Exact Metaplex Token Metadata capability dispatch.
|
||||||
|
|
||||||
@@ -168,6 +168,12 @@ mod tests {
|
|||||||
crate::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION,
|
crate::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION,
|
||||||
);
|
);
|
||||||
assert!(matches!(transfer, crate::ExApiExecutionCapability::Supported { .. }));
|
assert!(matches!(transfer, crate::ExApiExecutionCapability::Supported { .. }));
|
||||||
|
let collect = <crate::ExMetadataMetaplexTokenMetadataExecutor as crate::ExApiTypedInstructionExecutor>::capability(
|
||||||
|
&executor,
|
||||||
|
&program_id,
|
||||||
|
crate::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION,
|
||||||
|
);
|
||||||
|
assert!(matches!(collect, crate::ExApiExecutionCapability::Supported { .. }));
|
||||||
let unknown = <crate::ExMetadataMetaplexTokenMetadataExecutor as crate::ExApiTypedInstructionExecutor>::capability(
|
let unknown = <crate::ExMetadataMetaplexTokenMetadataExecutor as crate::ExApiTypedInstructionExecutor>::capability(
|
||||||
&executor,
|
&executor,
|
||||||
&program_id,
|
&program_id,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/intent.rs
|
// file: kb-lib/src/executor/metadata/metaplex_token_metadata/intent.rs
|
||||||
// version: 6
|
// version: 8
|
||||||
|
|
||||||
//! Typed current and deprecated Metaplex Token Metadata execution intents.
|
//! Typed current and deprecated Metaplex Token Metadata execution intents.
|
||||||
|
|
||||||
@@ -45,11 +45,84 @@ pub const EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION: &str =
|
|||||||
/// Stable operation code for CloseAccounts, discriminator 57.
|
/// Stable operation code for CloseAccounts, discriminator 57.
|
||||||
pub const EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION: &str =
|
pub const EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION: &str =
|
||||||
"metadata.metaplex_token_metadata.close_accounts";
|
"metadata.metaplex_token_metadata.close_accounts";
|
||||||
|
/// Stable deprecated operation code for DeprecatedCreateMasterEdition, discriminator 2.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_create_master_edition";
|
||||||
|
/// Stable deprecated operation code for DeprecatedMintNewEditionFromMasterEditionViaPrintingToken, discriminator 3.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_mint_new_edition_from_master_edition_via_printing_token";
|
||||||
|
/// Stable deprecated operation code for UpdatePrimarySaleHappenedViaToken, discriminator 4.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.update_primary_sale_happened_via_token";
|
||||||
|
/// Stable deprecated operation code for DeprecatedSetReservationList, discriminator 5.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_set_reservation_list";
|
||||||
|
/// Stable deprecated operation code for DeprecatedCreateReservationList, discriminator 6.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_create_reservation_list";
|
||||||
|
/// Stable deprecated operation code for DeprecatedMintPrintingTokensViaToken, discriminator 8.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_mint_printing_tokens_via_token";
|
||||||
|
/// Stable deprecated operation code for DeprecatedMintPrintingTokens, discriminator 9.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.deprecated_mint_printing_tokens";
|
||||||
|
/// Stable deprecated operation code for ConvertMasterEditionV1ToV2, discriminator 12.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.convert_master_edition_v1_to_v2";
|
||||||
|
/// Stable deprecated operation code for MintNewEditionFromMasterEditionViaVaultProxy, discriminator 13.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.mint_new_edition_from_master_edition_via_vault_proxy";
|
||||||
|
/// Stable deprecated operation code for Utilize, discriminator 19.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.utilize";
|
||||||
|
/// Stable deprecated operation code for ApproveUseAuthority, discriminator 20.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.approve_use_authority";
|
||||||
|
/// Stable deprecated operation code for RevokeUseAuthority, discriminator 21.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.revoke_use_authority";
|
||||||
|
/// Stable operation code for CreateEscrowAccount, discriminator 38.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.create_escrow_account";
|
||||||
|
/// Stable operation code for CloseEscrowAccount, discriminator 39.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.close_escrow_account";
|
||||||
|
/// Stable operation code for TransferOutOfEscrow, discriminator 40.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.transfer_out_of_escrow";
|
||||||
|
/// Stable operation code for Mint, discriminator 43.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION: &str = "metadata.metaplex_token_metadata.mint";
|
||||||
|
/// Stable operation code for Migrate, discriminator 48.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.migrate";
|
||||||
|
/// Stable operation code for Use, discriminator 51.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_USE_OPERATION: &str = "metadata.metaplex_token_metadata.use";
|
||||||
|
/// Stable operation code for Collect, discriminator 54.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.collect";
|
||||||
|
/// Stable operation code for Print, discriminator 55.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.print";
|
||||||
|
/// Stable operation code for Resize, discriminator 56.
|
||||||
|
pub const EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION: &str =
|
||||||
|
"metadata.metaplex_token_metadata.resize";
|
||||||
/// Deprecated operations that require explicit operator approval at runtime.
|
/// Deprecated operations that require explicit operator approval at runtime.
|
||||||
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES: &[&str] = &[
|
pub const EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES: &[&str] = &[
|
||||||
EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION,
|
||||||
EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION,
|
||||||
EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION,
|
||||||
];
|
];
|
||||||
/// Current and deprecated operations implemented through `0.4.7-pre.005`.
|
/// Current and deprecated operations implemented through `0.4.7-pre.005`.
|
||||||
pub const EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES: &[&str] = &[
|
pub const EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES: &[&str] = &[
|
||||||
@@ -67,6 +140,27 @@ pub const EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES: &[&str] = &[
|
|||||||
EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION,
|
||||||
EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION,
|
||||||
EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION,
|
EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_USE_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION,
|
||||||
|
EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION,
|
||||||
];
|
];
|
||||||
|
|
||||||
/// One current or explicitly deprecated Metaplex Token Metadata operation.
|
/// One current or explicitly deprecated Metaplex Token Metadata operation.
|
||||||
@@ -304,6 +398,556 @@ pub enum ExMetaplexTokenMetadataOperation {
|
|||||||
authority: crate::MdPubkey,
|
authority: crate::MdPubkey,
|
||||||
destination: crate::MdPubkey,
|
destination: crate::MdPubkey,
|
||||||
},
|
},
|
||||||
|
/// Build deprecated DeprecatedCreateMasterEdition, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedCreateMasterEdition is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedCreateMasterEdition {
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `printingMint` from the official IDL contract.
|
||||||
|
printing_mint: crate::MdPubkey,
|
||||||
|
/// Account `oneTimePrintingAuthorizationMint` from the official IDL contract.
|
||||||
|
one_time_printing_authorization_mint: crate::MdPubkey,
|
||||||
|
/// Account `updateAuthority` from the official IDL contract.
|
||||||
|
update_authority: crate::MdPubkey,
|
||||||
|
/// Account `printingMintAuthority` from the official IDL contract.
|
||||||
|
printing_mint_authority: crate::MdPubkey,
|
||||||
|
/// Account `mintAuthority` from the official IDL contract.
|
||||||
|
mint_authority: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
/// Account `oneTimePrintingAuthorizationMintAuthority` from the official IDL contract.
|
||||||
|
one_time_printing_authorization_mint_authority: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated DeprecatedMintNewEditionFromMasterEditionViaPrintingToken, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedMintNewEditionFromMasterEditionViaPrintingToken is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedMintNewEditionFromMasterEditionViaPrintingToken {
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `mintAuthority` from the official IDL contract.
|
||||||
|
mint_authority: crate::MdPubkey,
|
||||||
|
/// Account `printingMint` from the official IDL contract.
|
||||||
|
printing_mint: crate::MdPubkey,
|
||||||
|
/// Account `masterTokenAccount` from the official IDL contract.
|
||||||
|
master_token_account: crate::MdPubkey,
|
||||||
|
/// Account `editionMarker` from the official IDL contract.
|
||||||
|
edition_marker: crate::MdPubkey,
|
||||||
|
/// Account `burnAuthority` from the official IDL contract.
|
||||||
|
burn_authority: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `masterUpdateAuthority` from the official IDL contract.
|
||||||
|
master_update_authority: crate::MdPubkey,
|
||||||
|
/// Account `masterMetadata` from the official IDL contract.
|
||||||
|
master_metadata: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
/// Account `reservationList` from the official IDL contract.
|
||||||
|
reservation_list: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated UpdatePrimarySaleHappenedViaToken, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "UpdatePrimarySaleHappenedViaToken is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
UpdatePrimarySaleHappenedViaToken {
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `owner` from the official IDL contract.
|
||||||
|
owner: crate::MdPubkey,
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated DeprecatedSetReservationList, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedSetReservationList is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedSetReservationList {
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `reservationList` from the official IDL contract.
|
||||||
|
reservation_list: crate::MdPubkey,
|
||||||
|
/// Account `resource` from the official IDL contract.
|
||||||
|
resource: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated DeprecatedCreateReservationList, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedCreateReservationList is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedCreateReservationList {
|
||||||
|
/// Account `reservationList` from the official IDL contract.
|
||||||
|
reservation_list: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `updateAuthority` from the official IDL contract.
|
||||||
|
update_authority: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `resource` from the official IDL contract.
|
||||||
|
resource: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated DeprecatedMintPrintingTokensViaToken, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedMintPrintingTokensViaToken is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedMintPrintingTokensViaToken {
|
||||||
|
/// Account `destination` from the official IDL contract.
|
||||||
|
destination: crate::MdPubkey,
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
/// Account `oneTimePrintingAuthorizationMint` from the official IDL contract.
|
||||||
|
one_time_printing_authorization_mint: crate::MdPubkey,
|
||||||
|
/// Account `printingMint` from the official IDL contract.
|
||||||
|
printing_mint: crate::MdPubkey,
|
||||||
|
/// Account `burnAuthority` from the official IDL contract.
|
||||||
|
burn_authority: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated DeprecatedMintPrintingTokens, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "DeprecatedMintPrintingTokens is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
DeprecatedMintPrintingTokens {
|
||||||
|
/// Account `destination` from the official IDL contract.
|
||||||
|
destination: crate::MdPubkey,
|
||||||
|
/// Account `printingMint` from the official IDL contract.
|
||||||
|
printing_mint: crate::MdPubkey,
|
||||||
|
/// Account `updateAuthority` from the official IDL contract.
|
||||||
|
update_authority: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated ConvertMasterEditionV1ToV2, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "ConvertMasterEditionV1ToV2 is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
ConvertMasterEditionV1ToV2 {
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `oneTimeAuth` from the official IDL contract.
|
||||||
|
one_time_auth: crate::MdPubkey,
|
||||||
|
/// Account `printingMint` from the official IDL contract.
|
||||||
|
printing_mint: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build deprecated MintNewEditionFromMasterEditionViaVaultProxy, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "MintNewEditionFromMasterEditionViaVaultProxy is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
MintNewEditionFromMasterEditionViaVaultProxy {
|
||||||
|
/// Account `newMetadata` from the official IDL contract.
|
||||||
|
new_metadata: crate::MdPubkey,
|
||||||
|
/// Account `newEdition` from the official IDL contract.
|
||||||
|
new_edition: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `newMint` from the official IDL contract.
|
||||||
|
new_mint: crate::MdPubkey,
|
||||||
|
/// Account `editionMarkPda` from the official IDL contract.
|
||||||
|
edition_mark_pda: crate::MdPubkey,
|
||||||
|
/// Account `newMintAuthority` from the official IDL contract.
|
||||||
|
new_mint_authority: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `vaultAuthority` from the official IDL contract.
|
||||||
|
vault_authority: crate::MdPubkey,
|
||||||
|
/// Account `safetyDepositStore` from the official IDL contract.
|
||||||
|
safety_deposit_store: crate::MdPubkey,
|
||||||
|
/// Account `safetyDepositBox` from the official IDL contract.
|
||||||
|
safety_deposit_box: crate::MdPubkey,
|
||||||
|
/// Account `vault` from the official IDL contract.
|
||||||
|
vault: crate::MdPubkey,
|
||||||
|
/// Account `newMetadataUpdateAuthority` from the official IDL contract.
|
||||||
|
new_metadata_update_authority: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `tokenVaultProgram` from the official IDL contract.
|
||||||
|
token_vault_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::types::MintNewEditionFromMasterEditionViaTokenArgs,
|
||||||
|
},
|
||||||
|
/// Build deprecated Utilize, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "Utilize is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
Utilize {
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `tokenAccount` from the official IDL contract.
|
||||||
|
token_account: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `useAuthority` from the official IDL contract.
|
||||||
|
use_authority: crate::MdPubkey,
|
||||||
|
/// Account `owner` from the official IDL contract.
|
||||||
|
owner: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `ataProgram` from the official IDL contract.
|
||||||
|
ata_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
/// Account `useAuthorityRecord` from the official IDL contract.
|
||||||
|
use_authority_record: crate::MdPubkey,
|
||||||
|
/// Account `burner` from the official IDL contract.
|
||||||
|
burner: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::instructions::UtilizeInstructionArgs,
|
||||||
|
},
|
||||||
|
/// Build deprecated ApproveUseAuthority, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "ApproveUseAuthority is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
ApproveUseAuthority {
|
||||||
|
/// Account `useAuthorityRecord` from the official IDL contract.
|
||||||
|
use_authority_record: crate::MdPubkey,
|
||||||
|
/// Account `owner` from the official IDL contract.
|
||||||
|
owner: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `user` from the official IDL contract.
|
||||||
|
user: crate::MdPubkey,
|
||||||
|
/// Account `ownerTokenAccount` from the official IDL contract.
|
||||||
|
owner_token_account: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `burner` from the official IDL contract.
|
||||||
|
burner: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::instructions::ApproveUseAuthorityInstructionArgs,
|
||||||
|
},
|
||||||
|
/// Build deprecated RevokeUseAuthority, retained for explicit compatibility workflows.
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.4.7",
|
||||||
|
note = "RevokeUseAuthority is obsolete; use only for explicit compatibility workflows"
|
||||||
|
)]
|
||||||
|
RevokeUseAuthority {
|
||||||
|
/// Account `useAuthorityRecord` from the official IDL contract.
|
||||||
|
use_authority_record: crate::MdPubkey,
|
||||||
|
/// Account `owner` from the official IDL contract.
|
||||||
|
owner: crate::MdPubkey,
|
||||||
|
/// Account `user` from the official IDL contract.
|
||||||
|
user: crate::MdPubkey,
|
||||||
|
/// Account `ownerTokenAccount` from the official IDL contract.
|
||||||
|
owner_token_account: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `rent` from the official IDL contract.
|
||||||
|
rent: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build the current CreateEscrowAccount instruction.
|
||||||
|
CreateEscrowAccount {
|
||||||
|
/// Account `escrow` from the official IDL contract.
|
||||||
|
escrow: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `tokenAccount` from the official IDL contract.
|
||||||
|
token_account: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build the current CloseEscrowAccount instruction.
|
||||||
|
CloseEscrowAccount {
|
||||||
|
/// Account `escrow` from the official IDL contract.
|
||||||
|
escrow: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `tokenAccount` from the official IDL contract.
|
||||||
|
token_account: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build the current TransferOutOfEscrow instruction.
|
||||||
|
TransferOutOfEscrow {
|
||||||
|
/// Account `escrow` from the official IDL contract.
|
||||||
|
escrow: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `attributeMint` from the official IDL contract.
|
||||||
|
attribute_mint: crate::MdPubkey,
|
||||||
|
/// Account `attributeSrc` from the official IDL contract.
|
||||||
|
attribute_src: crate::MdPubkey,
|
||||||
|
/// Account `attributeDst` from the official IDL contract.
|
||||||
|
attribute_dst: crate::MdPubkey,
|
||||||
|
/// Account `escrowMint` from the official IDL contract.
|
||||||
|
escrow_mint: crate::MdPubkey,
|
||||||
|
/// Account `escrowAccount` from the official IDL contract.
|
||||||
|
escrow_account: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `ataProgram` from the official IDL contract.
|
||||||
|
ata_program: crate::MdPubkey,
|
||||||
|
/// Account `tokenProgram` from the official IDL contract.
|
||||||
|
token_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::instructions::TransferOutOfEscrowInstructionArgs,
|
||||||
|
},
|
||||||
|
/// Build the current Mint instruction.
|
||||||
|
Mint {
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
/// Account `tokenOwner` from the official IDL contract.
|
||||||
|
token_owner: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `tokenRecord` from the official IDL contract.
|
||||||
|
token_record: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Account `delegateRecord` from the official IDL contract.
|
||||||
|
delegate_record: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `splTokenProgram` from the official IDL contract.
|
||||||
|
spl_token_program: crate::MdPubkey,
|
||||||
|
/// Account `splAtaProgram` from the official IDL contract.
|
||||||
|
spl_ata_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRulesProgram` from the official IDL contract.
|
||||||
|
authorization_rules_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRules` from the official IDL contract.
|
||||||
|
authorization_rules: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::types::MintArgs,
|
||||||
|
},
|
||||||
|
/// Build the current Migrate instruction.
|
||||||
|
Migrate {
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
/// Account `tokenOwner` from the official IDL contract.
|
||||||
|
token_owner: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Account `collectionMetadata` from the official IDL contract.
|
||||||
|
collection_metadata: crate::MdPubkey,
|
||||||
|
/// Account `delegateRecord` from the official IDL contract.
|
||||||
|
delegate_record: crate::MdPubkey,
|
||||||
|
/// Account `tokenRecord` from the official IDL contract.
|
||||||
|
token_record: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `splTokenProgram` from the official IDL contract.
|
||||||
|
spl_token_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRulesProgram` from the official IDL contract.
|
||||||
|
authorization_rules_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRules` from the official IDL contract.
|
||||||
|
authorization_rules: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build the current Use instruction.
|
||||||
|
Use {
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Account `delegateRecord` from the official IDL contract.
|
||||||
|
delegate_record: crate::MdPubkey,
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `splTokenProgram` from the official IDL contract.
|
||||||
|
spl_token_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRulesProgram` from the official IDL contract.
|
||||||
|
authorization_rules_program: crate::MdPubkey,
|
||||||
|
/// Account `authorizationRules` from the official IDL contract.
|
||||||
|
authorization_rules: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::types::UseArgs,
|
||||||
|
},
|
||||||
|
/// Build the current Collect instruction.
|
||||||
|
Collect {
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Account `recipient` from the official IDL contract.
|
||||||
|
recipient: crate::MdPubkey,
|
||||||
|
},
|
||||||
|
/// Build the current Print instruction.
|
||||||
|
Print {
|
||||||
|
/// Account `editionMetadata` from the official IDL contract.
|
||||||
|
edition_metadata: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `editionMint` from the official IDL contract.
|
||||||
|
edition_mint: crate::MdPubkey,
|
||||||
|
/// Account `editionTokenAccountOwner` from the official IDL contract.
|
||||||
|
edition_token_account_owner: crate::MdPubkey,
|
||||||
|
/// Account `editionTokenAccount` from the official IDL contract.
|
||||||
|
edition_token_account: crate::MdPubkey,
|
||||||
|
/// Account `editionMintAuthority` from the official IDL contract.
|
||||||
|
edition_mint_authority: crate::MdPubkey,
|
||||||
|
/// Account `editionTokenRecord` from the official IDL contract.
|
||||||
|
edition_token_record: crate::MdPubkey,
|
||||||
|
/// Account `masterEdition` from the official IDL contract.
|
||||||
|
master_edition: crate::MdPubkey,
|
||||||
|
/// Account `editionMarkerPda` from the official IDL contract.
|
||||||
|
edition_marker_pda: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `masterTokenAccountOwner` from the official IDL contract.
|
||||||
|
master_token_account_owner: crate::MdPubkey,
|
||||||
|
/// Account `masterTokenAccount` from the official IDL contract.
|
||||||
|
master_token_account: crate::MdPubkey,
|
||||||
|
/// Account `masterMetadata` from the official IDL contract.
|
||||||
|
master_metadata: crate::MdPubkey,
|
||||||
|
/// Account `updateAuthority` from the official IDL contract.
|
||||||
|
update_authority: crate::MdPubkey,
|
||||||
|
/// Account `splTokenProgram` from the official IDL contract.
|
||||||
|
spl_token_program: crate::MdPubkey,
|
||||||
|
/// Account `splAtaProgram` from the official IDL contract.
|
||||||
|
spl_ata_program: crate::MdPubkey,
|
||||||
|
/// Account `sysvarInstructions` from the official IDL contract.
|
||||||
|
sysvar_instructions: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
/// Official Metaplex instruction arguments.
|
||||||
|
#[ts(type = "unknown")]
|
||||||
|
args: mpl_token_metadata::types::PrintArgs,
|
||||||
|
},
|
||||||
|
/// Build the current Resize instruction.
|
||||||
|
Resize {
|
||||||
|
/// Account `metadata` from the official IDL contract.
|
||||||
|
metadata: crate::MdPubkey,
|
||||||
|
/// Account `edition` from the official IDL contract.
|
||||||
|
edition: crate::MdPubkey,
|
||||||
|
/// Account `mint` from the official IDL contract.
|
||||||
|
mint: crate::MdPubkey,
|
||||||
|
/// Account `payer` from the official IDL contract.
|
||||||
|
payer: crate::MdPubkey,
|
||||||
|
/// Account `authority` from the official IDL contract.
|
||||||
|
authority: crate::MdPubkey,
|
||||||
|
/// Account `token` from the official IDL contract.
|
||||||
|
token: crate::MdPubkey,
|
||||||
|
/// Account `systemProgram` from the official IDL contract.
|
||||||
|
system_program: crate::MdPubkey,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
@@ -315,7 +959,9 @@ impl crate::ExMetaplexTokenMetadataOperation {
|
|||||||
Self::UpdateAsUpdateAuthorityV2 { .. } => {
|
Self::UpdateAsUpdateAuthorityV2 { .. } => {
|
||||||
crate::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION
|
crate::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION
|
||||||
},
|
},
|
||||||
Self::PuffMetadata { .. } => crate::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION,
|
Self::PuffMetadata { .. } => {
|
||||||
|
crate::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION
|
||||||
|
},
|
||||||
Self::SetTokenStandard { .. } => {
|
Self::SetTokenStandard { .. } => {
|
||||||
crate::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION
|
crate::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION
|
||||||
},
|
},
|
||||||
@@ -333,6 +979,27 @@ impl crate::ExMetaplexTokenMetadataOperation {
|
|||||||
Self::CloseAccounts { .. } => {
|
Self::CloseAccounts { .. } => {
|
||||||
crate::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION
|
crate::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION
|
||||||
},
|
},
|
||||||
|
Self::DeprecatedCreateMasterEdition { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION,
|
||||||
|
Self::DeprecatedMintNewEditionFromMasterEditionViaPrintingToken { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION,
|
||||||
|
Self::UpdatePrimarySaleHappenedViaToken { .. } => crate::EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION,
|
||||||
|
Self::DeprecatedSetReservationList { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION,
|
||||||
|
Self::DeprecatedCreateReservationList { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION,
|
||||||
|
Self::DeprecatedMintPrintingTokensViaToken { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION,
|
||||||
|
Self::DeprecatedMintPrintingTokens { .. } => crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION,
|
||||||
|
Self::ConvertMasterEditionV1ToV2 { .. } => crate::EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION,
|
||||||
|
Self::MintNewEditionFromMasterEditionViaVaultProxy { .. } => crate::EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION,
|
||||||
|
Self::Utilize { .. } => crate::EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION,
|
||||||
|
Self::ApproveUseAuthority { .. } => crate::EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION,
|
||||||
|
Self::RevokeUseAuthority { .. } => crate::EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION,
|
||||||
|
Self::CreateEscrowAccount { .. } => crate::EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION,
|
||||||
|
Self::CloseEscrowAccount { .. } => crate::EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION,
|
||||||
|
Self::TransferOutOfEscrow { .. } => crate::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION,
|
||||||
|
Self::Mint { .. } => crate::EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION,
|
||||||
|
Self::Migrate { .. } => crate::EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION,
|
||||||
|
Self::Use { .. } => crate::EX_METAPLEX_TOKEN_METADATA_USE_OPERATION,
|
||||||
|
Self::Collect { .. } => crate::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION,
|
||||||
|
Self::Print { .. } => crate::EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION,
|
||||||
|
Self::Resize { .. } => crate::EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,6 +1010,18 @@ impl crate::ExMetaplexTokenMetadataOperation {
|
|||||||
Self::PuffMetadata { .. }
|
Self::PuffMetadata { .. }
|
||||||
| Self::SetTokenStandard { .. }
|
| Self::SetTokenStandard { .. }
|
||||||
| Self::SetCollectionSize { .. }
|
| Self::SetCollectionSize { .. }
|
||||||
|
| Self::DeprecatedCreateMasterEdition { .. }
|
||||||
|
| Self::DeprecatedMintNewEditionFromMasterEditionViaPrintingToken { .. }
|
||||||
|
| Self::UpdatePrimarySaleHappenedViaToken { .. }
|
||||||
|
| Self::DeprecatedSetReservationList { .. }
|
||||||
|
| Self::DeprecatedCreateReservationList { .. }
|
||||||
|
| Self::DeprecatedMintPrintingTokensViaToken { .. }
|
||||||
|
| Self::DeprecatedMintPrintingTokens { .. }
|
||||||
|
| Self::ConvertMasterEditionV1ToV2 { .. }
|
||||||
|
| Self::MintNewEditionFromMasterEditionViaVaultProxy { .. }
|
||||||
|
| Self::Utilize { .. }
|
||||||
|
| Self::ApproveUseAuthority { .. }
|
||||||
|
| Self::RevokeUseAuthority { .. }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -373,12 +1052,12 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
fn operation_codes_are_exact_unique_and_partition_deprecated_operations() {
|
fn operation_codes_are_exact_unique_and_partition_deprecated_operations() {
|
||||||
assert_eq!(crate::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES.len(), 14);
|
assert_eq!(crate::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES.len(), 35);
|
||||||
let mut unique = std::collections::BTreeSet::new();
|
let mut unique = std::collections::BTreeSet::new();
|
||||||
for operation_code in crate::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES {
|
for operation_code in crate::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES {
|
||||||
assert!(unique.insert(*operation_code));
|
assert!(unique.insert(*operation_code));
|
||||||
}
|
}
|
||||||
assert_eq!(crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES.len(), 3);
|
assert_eq!(crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES.len(), 15);
|
||||||
assert!(
|
assert!(
|
||||||
crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES
|
crate::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES
|
||||||
.contains(&crate::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION,)
|
.contains(&crate::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION,)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: kb-lib/src/lib.rs
|
// file: kb-lib/src/lib.rs
|
||||||
// version: 28
|
// version: 29
|
||||||
|
|
||||||
//! Consolidated decoder, executor, materializer and shared model library.
|
//! Consolidated decoder, executor, materializer and shared model library.
|
||||||
#![warn(missing_docs)]
|
#![warn(missing_docs)]
|
||||||
@@ -358,37 +358,79 @@ pub use self::decoder::decoder_metadata_metaplex_token_metadata_decode_use_autho
|
|||||||
pub use self::decoder::decoder_spl_elgamal_registry_parse_elgamal_registry_state;
|
pub use self::decoder::decoder_spl_elgamal_registry_parse_elgamal_registry_state;
|
||||||
/// Parses one Token-2022 Mint, Account, or Multisig state.
|
/// Parses one Token-2022 Mint, Account, or Multisig state.
|
||||||
pub use self::decoder::decoder_spl_token_2022_parse_token_2022_state;
|
pub use self::decoder::decoder_spl_token_2022_parse_token_2022_state;
|
||||||
/// Stable Metaplex Token Metadata burn operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_APPROVE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_BURN_OPERATION;
|
||||||
/// Stable Metaplex Token Metadata close_accounts operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CLOSE_ACCOUNTS_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Create wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CLOSE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_COLLECT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CONVERT_MASTER_EDITION_V1_TO_V2_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CREATE_ESCROW_ACCOUNT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION;
|
||||||
/// Stable Metaplex Token Metadata delegate operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DELEGATE_OPERATION;
|
||||||
/// Deprecated Metaplex operation codes requiring explicit approval.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_MASTER_EDITION_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_CREATE_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_PRINTING_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES;
|
||||||
/// Stable Metaplex Token Metadata lock operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_SET_RESERVATION_LIST_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_LOCK_OPERATION;
|
||||||
/// Stable deprecated Metaplex PuffMetadata operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_MIGRATE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_MINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_PRINT_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_PUFF_METADATA_OPERATION;
|
||||||
/// Stable Metaplex Token Metadata revoke operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_RESIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_REVOKE_OPERATION;
|
||||||
/// Stable deprecated Metaplex SetCollectionSize operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_REVOKE_USE_AUTHORITY_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SET_COLLECTION_SIZE_OPERATION;
|
||||||
/// Stable deprecated Metaplex SetTokenStandard operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SET_TOKEN_STANDARD_OPERATION;
|
||||||
/// Current and deprecated Metaplex Token Metadata operations.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES;
|
||||||
/// Stable Metaplex Token Metadata transfer operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OPERATION;
|
||||||
/// Stable Metaplex Token Metadata unlock operation code.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_TRANSFER_OUT_OF_ESCROW_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UNLOCK_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Unverify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UNVERIFY_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Update wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION;
|
||||||
/// Stable operation code for the current Metaplex Verify wrapper.
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_USE_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_USE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION`.
|
||||||
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_UTILIZE_OPERATION;
|
||||||
|
/// Exposes `EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION`.
|
||||||
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
pub use self::executor::EX_METAPLEX_TOKEN_METADATA_VERIFY_OPERATION;
|
||||||
/// Exposes the Address Lookup Table close operation code.
|
/// Exposes the Address Lookup Table close operation code.
|
||||||
pub use self::executor::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_CLOSE_OPERATION;
|
pub use self::executor::EX_SOLANA_CORE_ADDRESS_LOOKUP_TABLE_CLOSE_OPERATION;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"schema_version": 3,
|
"schema_version": 3,
|
||||||
"milestone": "0.4.7-pre.005",
|
"milestone": "0.4.7-pre.006",
|
||||||
"surface_code": "metadata.metaplex_token_metadata",
|
"surface_code": "metadata.metaplex_token_metadata",
|
||||||
"program_id": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
"program_id": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
||||||
"program_family": "independent_metaplex_foundation_program",
|
"program_family": "independent_metaplex_foundation_program",
|
||||||
@@ -1927,7 +1927,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 3,
|
"discriminator": 3,
|
||||||
@@ -2057,7 +2057,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 4,
|
"discriminator": 4,
|
||||||
@@ -2068,7 +2068,7 @@
|
|||||||
"materialize": "stable_facts_and_mutation_observations_with_owned_account_snapshot_authority",
|
"materialize": "stable_facts_and_mutation_observations_with_owned_account_snapshot_authority",
|
||||||
"execute": "deprecated_explicit_operator_approval_required",
|
"execute": "deprecated_explicit_operator_approval_required",
|
||||||
"builder_module": "kb-lib.executor.metadata.metaplex_token_metadata",
|
"builder_module": "kb-lib.executor.metadata.metaplex_token_metadata",
|
||||||
"implementation_target": "pre.003",
|
"implementation_target": "pre.006",
|
||||||
"accounts": [
|
"accounts": [
|
||||||
{
|
{
|
||||||
"position": 0,
|
"position": 0,
|
||||||
@@ -2105,7 +2105,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "planned",
|
"implementation_status": "implemented_pre_006",
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -2155,7 +2155,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 6,
|
"discriminator": 6,
|
||||||
@@ -2235,7 +2235,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 7,
|
"discriminator": 7,
|
||||||
@@ -2362,7 +2362,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 9,
|
"discriminator": 9,
|
||||||
@@ -2435,7 +2435,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 10,
|
"discriminator": 10,
|
||||||
@@ -2686,7 +2686,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 13,
|
"discriminator": 13,
|
||||||
@@ -2822,7 +2822,7 @@
|
|||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval",
|
||||||
"implementation_status": "planned"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 14,
|
"discriminator": 14,
|
||||||
@@ -3233,7 +3233,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "planned",
|
"implementation_status": "implemented_pre_006",
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -3332,7 +3332,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "planned",
|
"implementation_status": "implemented_pre_006",
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -3418,7 +3418,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "planned",
|
"implementation_status": "implemented_pre_006",
|
||||||
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
"classification_reason": "obsolete_but_officially_constructible_retained_with_rust_deprecation_and_runtime_operator_approval"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -4596,7 +4596,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 39,
|
"discriminator": 39,
|
||||||
@@ -4673,7 +4673,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 40,
|
"discriminator": 40,
|
||||||
@@ -4782,7 +4782,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 41,
|
"discriminator": 41,
|
||||||
@@ -5114,7 +5114,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 44,
|
"discriminator": 44,
|
||||||
@@ -5706,7 +5706,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 49,
|
"discriminator": 49,
|
||||||
@@ -6052,7 +6052,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 52,
|
"discriminator": 52,
|
||||||
@@ -6248,7 +6248,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 55,
|
"discriminator": 55,
|
||||||
@@ -6387,7 +6387,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 56,
|
"discriminator": 56,
|
||||||
@@ -6460,7 +6460,7 @@
|
|||||||
"authoritative_owned_account_reread",
|
"authoritative_owned_account_reread",
|
||||||
"operation_specific_state_transition"
|
"operation_specific_state_transition"
|
||||||
],
|
],
|
||||||
"implementation_status": "scheduled"
|
"implementation_status": "implemented_pre_006"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"discriminator": 57,
|
"discriminator": 57,
|
||||||
@@ -6591,7 +6591,8 @@
|
|||||||
"executable_current": 20,
|
"executable_current": 20,
|
||||||
"executable_deprecated": 15
|
"executable_deprecated": 15
|
||||||
},
|
},
|
||||||
"source": "archived_metaplex_idl_v1_14_0_plus_current_mpl_token_metadata_5_1_1_inventory_and_executor_deprecation_policy"
|
"source": "archived_metaplex_idl_v1_14_0_plus_current_mpl_token_metadata_5_1_1_inventory_and_executor_deprecation_policy",
|
||||||
|
"executor_closure": "35 builder-backed operations: 20 current and 15 deprecated; 22 replaced decode-only; 1 Bubblegum boundary"
|
||||||
},
|
},
|
||||||
"fact_ownership_contract": [
|
"fact_ownership_contract": [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user