Manifest Upgradability over Marm
Proposal to add manifest upgradability to native Marmalade.
Transformation list model is slightly open, but that isn't necessarily a bad thing i believe. Can define different operations on the manifest : Add Datum, Remove Datum, Replace Datum, Modify URI
We ingest initial manifest version + max version (index) at first upgrade (ideally at token create). + init certificate for it. stored under (NFT_ID + Max version) key
We then upgrade and create a timestamped certificate of the changes, includes hash (transform list) + transform list + manifest + block-height. We tie this certificate to previous by hash.
And Boom we return upgraded manifest.
Thoughts, concerns, comments ?
- Ledger upgrade : https://tinyurl.com/ledger-upgrade
- versioning manifest : https://tinyurl.com/manifest-vers
- modifying manifest : https://tinyurl.com/upgr-provider
Ref https://www.winlab.rutgers.edu/~pkamat/cis06.pdf