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

feat: nft metadata service #769

Merged
merged 71 commits into from
Sep 15, 2023
Merged

Conversation

mkazlauskas
Copy link
Member

@mkazlauskas mkazlauskas commented Jun 14, 2023

FEATURE BRANCH

In addition to Context below, it has:

Context for original scope feat: add PlutusData core types

PlutusData (datums & redeemers) are currently typed as HexBlob. We need to create better types in order to be able to parse/interpret and build them.

Breaking changes

commit hashes below are outdated

  • 9c39bbd - this is a major breaking change. Provider server is backward and forward incompatible.
  • e024c9e
  • cb6bc4e

@mkazlauskas mkazlauskas marked this pull request as draft June 14, 2023 18:00
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch 5 times, most recently from 32c63a4 to 46185ad Compare June 14, 2023 23:23
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch 2 times, most recently from f4c3d50 to f138615 Compare June 15, 2023 07:34
@mkazlauskas mkazlauskas marked this pull request as ready for review June 15, 2023 07:38
AngelCastilloB
AngelCastilloB previously approved these changes Jun 15, 2023
Copy link
Member

@AngelCastilloB AngelCastilloB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great @mkazlauskas! 🚀

rhyslbw
rhyslbw previously approved these changes Jun 15, 2023
Copy link
Member

@rhyslbw rhyslbw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @mkazlauskas, can squash, but let's hold on merging until the #634

@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch from 42f3708 to 191eb8f Compare June 15, 2023 13:24
@rhyslbw rhyslbw marked this pull request as draft June 20, 2023 12:22
@mkazlauskas mkazlauskas dismissed stale reviews from AngelCastilloB and rhyslbw via ebfb09d June 29, 2023 08:31
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch 2 times, most recently from ebfb09d to b58aa9d Compare June 29, 2023 08:59
@mkazlauskas mkazlauskas changed the title feat: add PlutusData core types feat: nft metadata service Jul 10, 2023
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch 2 times, most recently from df729b0 to 05fb0cc Compare August 1, 2023 09:14
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch from 05fb0cc to 9709fc7 Compare August 9, 2023 17:19
@mkazlauskas mkazlauskas force-pushed the feat/plutus-data-serialization branch from 4f4af9d to a85b1b0 Compare August 17, 2023 05:35
@AngelCastilloB AngelCastilloB temporarily deployed to dev-preview August 22, 2023 14:12 — with GitHub Actions Inactive
also clean up the test by removing duplicate data
there can be multiple 'copies' of nft metadata for an asset in a block

it was keeping the 1st one instead
hoist from NftMetadata.fromPlutusData and add tests
it maps 'og' from base nft metadata and images from 'extra'
…mentations

- hoist assetNameToUTF8Handle to util.ts
- use AssetName.toUTF8 core util

also, replace custom error with the existing InvalidStringError,
because it wasn't used anywhere
also add missing entity inter-dependency output->tokens
it would omit the prop if no stake pools of some status are in the database
in reality those shouldn't be in user's wallet, but technically they can be
to be used when generating cardano-services db snapshot
add a cip68 handle to handle test db

disable some flaky tests: there are no 'retiring' pools in db

fix TypeormStakePoolProvider test setup to match partial strings
…prop

it does not add any new columns, but simplifies queries
in some cases it returned a Buffer, because Buffer.valueOf() => Buffer in nodejs
Buffer is Node.js-specific

ArrayBuffer and it's views is available in web environments as well
Copy link
Member

@AngelCastilloB AngelCastilloB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@AngelCastilloB AngelCastilloB merged commit 948d377 into master Sep 15, 2023
8 checks passed
@AngelCastilloB AngelCastilloB deleted the feat/plutus-data-serialization branch September 15, 2023 03:13
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

Successfully merging this pull request may close these issues.

6 participants