bloxbean / cardano-client-lib

Cardano client library in Java
https://cardano-client.dev
MIT License
118 stars 47 forks source link

Refactor CIP68 implementation #371

Closed satran004 closed 7 months ago

satran004 commented 7 months ago

This PR includes refactoring, cosmetic enhancements, and the finalization of the newly introduced CIP68 APIs.

  1. Introduced new DatumProperties to handle metadata in a datum. CIP68 token implementations now extend this class instead of NFTProperties, as NFTProperties has a metadata-specific limitation, such as a 64-byte limit.

  2. Removed circular dependencies between CIP68TokenTemplate and CIP68Datum

  3. Added a helper class to print PlutusData in UTF-8 JSON format, if possible. This was taken from https://github.com/bloxbean/cardano-client-lib/pull/358.