Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

NFT script - Audit #5

Open
zmrocze opened this issue Jul 1, 2024 · 0 comments
Open

NFT script - Audit #5

zmrocze opened this issue Jul 1, 2024 · 0 comments

Comments

@zmrocze
Copy link
Contributor

zmrocze commented Jul 1, 2024

NFT Script

Protocol Requirements

After creation, there is always single NFT token in existence.

The mint of an NFT token demands spending of a specific UTXO. Therefore there can be only one such token minted.
The NFT token should be locked at the UpgradeableOwners validator. Importantly this is not ensured by the policy.
If the NFT token gets indeed locked at the UpgradeableOwners validator, then the validator ensures that whenever it is spent it is also recreated in the continuing output.

The token is always held only at UpgradeableOwners script.

This is not checked by the NFT policy in the initial transaction, but later is enforced in all UpgradeableOwners transactions.

Initialization creates a correct datum.

This is not the case in the sense that it is not enforced by the policy. It is a role of offchain code to create a correct initialization transaction and up to the users to verify the protocol they are using was initialized correctly.

@zmrocze zmrocze changed the title NFT script NFT script - Audit Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant