This major release adds support for querying asset information outside the context of a transaction, including a cached copy of the off-chain metadata from the Cardano Token Registry. The Token
type has been adapted to support a more natural model, with Token.asset
now containing the on-chain asset information alongside the metadata properties. There are two new config options to customise the metadata sync behaviour, which are documented in the Wiki. This release also reduces resource demand introduced in 3.2.0, and takes the opportunity to complete a few API-breaking chores that are listed below.
Compatible with:
cardano-node
:1.25.1
cardano-db-sync
:9.0.0
- The database must be recreated using the new version. See the Wiki for instructionshasura/graphql-engine
:1.3.3
BREAKING CHANGES
-
StakePool.url no longer URL type. The ledger does not validate the url value provided by the owner, therefore trying to impose rules around the structure will fail.
-
Transaction.metadata is now more accurately JSON type, not JSONObject. Despite the name, JSONObject was currently mapped to the underlying JSON resolver as a workaround to avoid breaking changes.
-
The fields previously modelled on Token have been nested under Token.asset. tokens and tokens_aggregate have been removed in favour of assets and assets_aggregate. Asset properties are now nested under PaymentAddress.summary.assetBalances.asset
Features
- Introduce asset model and fetch metadata from external service (#432)
- Ada Pots (#450)
- Asset.tokenMints and Asset.tokenMints_aggregate
Bug Fixes
- ActiveStake.stakePoolHash field name (08fe609)
- Add Mint.asset relationship (0deaaac)
- Add remaining Asset fields Hasura query used to fulfil paymentAddress query (879db94)
- Batch asset synchronising operations (637d607)
- Block.merkelRoot -> Block.merkleRoot (b9e1e13)
- Include rewards in ada circulating supply (69f23c1)
- StakePool.url is now type String (a661525)
- StakePoolRetirement_bool_exp.inEffectFrom type (96aa708)
- Correct Transaction.metadata type (79205a2)
- Remove cardano-cli ledger-state query, make AssetSupply.total optional (f86ef42)
- Use cardano-node config for lastConfiguredMajorVersion (5a621c2), closes #454
- Replace cardano-cli query with db lookup for protocol params (a6387b3)
- Throw error in resolver rather than return it (dd9a031)
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |