All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project will adhere to Semantic Versioning once it reaches maturity in v1.
Unreleased changes are in the master
branch.
- IPFS state enum
/account/:stake_addr/utxos
for retrieving utxos associated with a stake account
- new UI for the API Reference
- parsing version 3 of
CIP68
metadata
- updated dependencies
- allow CIP25v1 metadata encoding where asset name not utf8 encoded (hex asset name = lookup key in json map)
- Ogmios API Reference URL
/txs/{hash}/utxos
consumed_by_tx
field
/epochs/{number}/parameters
and/epochs/latest/parameters
cost_models_raw
field, list variant ofcost_models
without name mapping
- Naming of
pvtpp_security_group
->pvt_p_p_security_group
, the old field is preserved but marked as deprecated. /governance/proposals/{tx_hash}/{cert_index}/parameters
- Example and description of
cost_models
(these matchcost_models_raw
of epoch parameters)
- Example and description of
- reverted Mithril support
- CIP-1964 support
- Mithrill support
- raw tx CBOR
/txs/{hash}/cbor
endpoint
/epochs/{number}/parameters
and/epochs/latest/parameters
min_utxo
field deprecated, prefercoins_per_utxo_size
for Alonzo and later eras
- Parsing version 2 of
CIP68
metadata
tx_metadata_label_json
andscript_json
compatibility with fast-json-stringify for non-object/primitive types (eg. string)
/txs/{hash}/required_signers
endpoint- rust models definitions
- Updated deps - node 18 now required due to node-cbor pkg
- HTML table is SDKs
- requestBody for
/tx/submit
and/ipfs/add
endpoint - CODE language for
curl
examples - request body for
/utils/txs/evaluate
endpoint
- downgrade to OpenAPI 3.0.0
- exported patched fastify-compatible JSONSchema to
json-schema.json
- URL for downloading OpenAPI spec
ajv
as dev instead of devDep in package.json
- CIP68 RFT 444 support
onchain_metadata_extra
in asset schema
- unify error message format order
{status_code, message, error}
->{error, message, status_code}
getSchemaForEndpoint
compatibility with fast-json-stringify (array intype
not supported except for["<type>", "null"]
, fix for nested arbitrary objects)- generated ts types and schema for
/ipfs/gateway/{IPFS_path}
nutlink/{address}
metadata type
/utils/txs/evaluate/utxos
method- initial support for POST endpoints to
getSchemaForEndpoint
- additional IPFS description
- Migrated to OpenAPI 3.1.0
- named error responses from OpenAPI spec (overusage_limit, mempool_full, pin_queue_full, autobanned, not_found, internal_server_error, unauthorized_error, bad_request).
- CIP25v2 metadata validation improvements (gracefully handling of CIP25v1 metadata passed as v2)
- missing
CIP68v1
inonchain_metadata_standard
enum
/mempool/addresses/{address}
endpoint
/mempool/{hash}
fieldinline_datum
in transaction output now returns CBOR/utils/txs/evaluate
example and Ogmios API Reference URL- CIP25v2 validation (
getOnchainMetadata
)
validateCIP68Metadata
util function returns the validated metadata with proper TS type
- document data source of
decimals
field in/addresses/{address}/extended
validateCIP68Metadata
util function to validate CIP68 metadata
address
field to/addresses/{address}/utxos
and/addresses/{address}/utxos/{asset}
- table HTML tags
- missing summaries
- update deps and yarn version
- test coverage
getCIPstandard
,getOnchainMetadataVersion
,getOnchainMetadata
functions
- descriptions
getSchema
util functionvalidateSchema
util functiononchain_metadata_standard
to/assets/{asset_id}
endpoint to reportonchain_metadata
validity
- moved CIP-25 validation to a custom schema to avoid strict check on
onchain_metadata
/network/eras
endpoint
- adjust CIP-25 and add v2 validation for onchain_metadata in
/assets/{asset_id}
- refactored custom schemas
- accidental npm release
getSchemaForEndpoint
util function
/pools/extended
example
- skipped due to acciedental npm publish
⚠️ BREAKING CHANGE: NPM package - typescript types are now exported by default- add
querystring
andparams
to schemas
- typescript types with export
/mempool
and/mempool/{hash}
endpoints
- HTTP
425
-Pin Queue Full
toErrors
for limiting queue inipfs/pin/add/{IPFS_path}
endpoint - New networks preview and preprod
- Typos and examples
- Refactored
anyOf
toanyVlaue
- Missing
block_time
in schema for asset transactions - Missing
additionalProperties
injson_metadata
andcost_models
- Block schema now contains extra
op_cert
fieldop_cert_counter
field
/txs/{hash}/utxos
outputs
now has extra booleancollateral
field which istrue
when the transaction output is a collateral output
/epochs/{number}/parameters
and/epoch/latest/parameters
now hascost_models
field with JSON containing cost models parameters for Plutus Core scripts
/epochs/{number}/parameters
and/epochs/latest/parameters
extra_entropy
type changed fromobject
tostring
/txs/{hash}/utxos
inputs
andoutputs
now contain extrainline_datum
fieldreference_script_hash
field
inputs
now has a booleanreference
field,true
if the input is a reference input
/addresses/{address}/utxos
and/addresses/{address}/utxos/{asset}
inline_datum
fieldreference_script_hash
field
/scripts/datum/{datum-hash}/cbor
endpoint
/txs/{hash}/redeemers
-datum_hash
field deprecated, preferredeemer_data_hash
/scripts/{hash}/redeemers
-datum_hash
field deprecated, preferredeemer_data_hash
/epochs/{number}/parameters
and/epochs/latest/parameters
coins_per_utxo_word
field deprecated, prefercoins_per_utxo_size
coins_per_utxo_size
is now- Cost per UTxO word for Alonzo.
- Cost per UTxO byte for Babbage and later.
/scripts/{hash}
⚠️ type
field now usesplutusV1
andplutusV2
instead of justplutus
to be able to differentiate between twoPlutusScript
versions.
/scripts/{script-hash}/cbor
-cbor
field type changed tostring
type
property to/accounts/{stake_address}/rewards
endpoint/utils/txs/evaluate
endpoint
blocks_epoch
property to/pools/{pool_id}
endpoint
- mark
tx_hash
in/blocks/{hash_or_number}/addresses
as required field
/blocks/{hash_or_number}/addresses
/pools/extended
endpoint/utils/addresses/xpub/{xpub}/{role}/{index}
endpoint
/addresses/{address}/extended
endpoint/accounts/{stake_address}/addresses/total
endpoint
- multiple descriptions
block_time
property to/assets/{asset}/transactions
block_time
property to/addresses/{address}/transactions
and/txs/{hash}
- HTTP
425
-Mempool Full
toErrors
for better handling of full mempool in/tx/submit
endpoint - Alonzo support related additions
valid_contract
property to/txs/{hash}
endpoint,true
when attached script passed validation,false
if it failed phase 2 validationdatum_hash
andscript_hash
properties to/txs/{hash}/redeemers
datum_hash
property to/scripts/{hash}/redeemers
/scripts/datum/{datum-hash}
endpoint/scripts/{script_hash}/json
endpoint for dumpingtimelock
scripts/scripts/{script_hash}/cbor
endpoint for dumpingplutus
script contents
/epochs/{number}/parameters
-collateral_percent
type fromnumber
tointeger
/network
supply descriptions
/addresses/{address}/utxos/{asset}
endpoint
- enforce pagination limits
- description of
stake_cert_count
in/txs/{hash}
output_index
to eachoutput
item for/txs/{hash}/utxos
endpoint
/txs/{hash}/metadata/cbor
andmetadata/txs/labels/{label}/cbor
propertycbor_metadata
is now deprecated in favour ofmetadata
property
/txs/{hash}/utxos
-data_hash
field moved up fromamount
tooutput
item/txs/{hash}/utxos
-output_index
ofinput
items switch fromnumber
tointeger
-
Alonzo support related additions
/scripts
endpoint for listing all scripts/scripts/{hash}
endpoint for script details/scripts/{hash}/redeemers
endpoint for listing reedemers of a script/txs/{hash}/redeemers
endpoint for querying transaction redeemerslocked
property to/network
endpoint, representing total supply locked by scriptsscript
property to/addresses/{hash}
, which istrue
when the address is a script address.redeemer_count
property to/txs/{hash}
endpoint- Boolean
collateral
property toinputs
object of/txs/{hash}/utxos
endpoint data_hash
property to bothinputs
andoutputs
objects of/txs/{hash}/utxos
endpointdata_hash
property to/addressess/{hash}/utxos
endpoint/epoch/latest/parameters
and/epoch/{number}/parameters
extended with cost model fields.
/ipfs/add
size response type fixed from integer to string- types of IPFS size examples
- description of
ipfs/pin/list/<object>
onchain_metadata
type of/assets/{asset}
endpoint
- multiple descriptions and examples, mainly related to time/date
network
endpoint
- typo in
/addresses/{address}/txs
description - thanks @papacarp
- properties
tx_hash
andoutput_index
toinputs
of/txs/{hash}/utxos
endpoint stake_address
property to/accounts/{stake_address}
endpointaddress
property to/addresses/{address}
and/addresses/{address}/total
endpointsasset
property to/assets/{asset}
endpointepoch
property to/epochs/{number}/parameters
and/epochs/latest/parameters
endpointspool_id
andhex
properties to/pools/{pool_id}
and/pools/{pool_id}/metadata
endpointshash
property to/txs/{hash}
and/txs/{hash}/utxos
endpointsaddress
property to/nutlink/{address}
endpoint
- clarified active stake
amount
in/epochs/{number}/stakes
and/epochs/{number}/stakes/{pool_id}
- pagination of
accounts/{stake_address}/addresses/assets
endpoint
mint_or_burn_count
property to/assets/{asset}
endpointasset_mint_or_burn_count
property to/txs/{hash}
endpointdecimals
property to/assets/{asset}
endpoint
nutlink
endpoints
- authentication documentation
mir_cert_count
property to/txs/{hash}
- additional query parameters
from
andto
into/addresses/{address}/transactions
endpoint /txs/{hash}/mirs
endpoint to display MIR details/accounts/{stake_address}/withdrawals
and/accounts/{stake_address}/mirs
endpoints
txs/{hash}/stakes
default ordering
- properties of
/addresses/{address}/transactions
and/assets/{asset}/transactions
to be required
/addresses/{address}/transactions
and/assets/{asset}/transactions
endpoints to provide more details about transactions and make the endpoint extendable (object) for future needs/blocks/slot/{slot_number}
and/blocks/epoch/{epoch_number}/slot/{slot_number}
endpoints to provide block details for a specific slot
/addresses/{address}/txs
and/assets/{asset}/txs
are deprecated (but still functional) in favour of newly added endpoints
- type of
number
parameter in/epochs/{number}/
string -> integer
/accounts/{stake_address}/addresses/assets
endpoint to list all assets on addresses related to a given stake_address (account)/epochs/latest/parameters
and/blocks/latest/txs
endpoints to list the current information about latest epoch and block
- implementation (increase allowed burst) of rate limiting and clarified documentation
onchain_metadata
in/assets/{asset}/total
endpoint that could have been missing in some special casesonchain_metadata
in/assets/:asset
endpoint to return null on malformed data which do not follow https://github.com/cardano-foundation/CIPs/pull/85/files
registration
andretirement
arrays in/pools/{pool_id}/
endpoint doesn't need to beNullable
amount
in/accounts/{stake_address}/rewards
,/accounts/{stake_address}/delegations
and/accounts/{stake_address}/history
endpoints doesn't need to beNullable
- inconsistency in
/txs
endpoints when array was used outside of ref (moved array inside the referenced schema)
- slightly improved README
- all occurences of
epoch
toactive_epoch
in/accounts/{stake_address}/history
endpoint - required properties of multiple endpoints and error messages
block_height
to/txs/{hash}
endpoint
- alphabetical ordering in Cardano subcategory documentation
- deprecated
index
in favour ofcert_index
in/txs/{hash}/delegations
onchain_metadata
to/assets/{asset}
endpointslot
parameter to/txs/{hash}
endpointcert_index
parameter to all relevant endpoints:/txs/{hash}/stakes
/txs/{hash}/pool_updates
/txs/{hash}/pool_retires
/pools
trailing slash in documentation
/assets/{asset}/addresses
lists of the addresses holding a specific asset/assets/policy/{policy_id}
lists the assets minted under a specific policy
tx_index
in/addresses/{address}/utxos
- it has been deprecated in favour ofoutput_index
/
endpoint propertyversion
type number -> string
/ipfs/
endpoints for IPFS cluster
/assets/{asset}
specification ofmetadata
to adhere to upstream
/tx/submit
error handling (standardized error reply for 400)/assets/{asset}
handling ofmetadata
/accounts/{account}/addresses
which returns the list of on-chain addresses associated with a specific stake key402
response to mark oversubscription (projects exceeded their daily subscription plan)
/tx/submit
endpoint, which now accepts CBOR encoded serialized transaction instead of a binary blob
- functionality and description of rate limiting (429), oversubscription (402) and banning (418)
/assets/{asset}/txs
endpoint to list all transactions of a given asset- Owners to
/txs/{hash}/pool_updates
endpoint
- Altered functionality and description of
active_epoch
in/accounts/{stake_address}
to better match its changed functionality. When account is deregistered (active
field isfalse
), this field contains the epoch number of deregistration reward_address
->reward_account
in/pools/{pool_id}
and/txs/{hash}/pool_updates
endpoints as the previous name was misleading and incorrect- Deprecated
unit
field of not yet usedmetadata
in/assets/{asset}
endpoint - Descriptions of few fields
- Multiple endpoints impacted by Cardano DB Sync issue. We have addressed associated issues with a temporary fix which will be in effect until the issue is addressed in the upstream. Please note that this mostly involved retired pools and their associated reward accounts. Affected endpoints and their parameters:
/pools/{pool_id}
live_stake
live_size
live_saturation
live_pledge
/pools/{pool_id}/delegators
live_stake
/accounts/{stake_address}
controlled_amount
withdrawable_amount
- Missing treasury in calculation of
live_stake
in/pools/{pool_id}/delegators
endpoint. Other endpoints were not affected - Pool hopping account issues which were causing that some pools were displaying slightly higher
live_stake
values and thus also very slightly skewedlive_size
andlive_saturation
calculations in/pools/{pool_id}
endpoint active_epoch
in/accounts/{stake_address}
was previously displaying epoch of delegation, not epoch of de/registration
/txs/{hash}
types ofinvalid_before
andinvalid_hereafter
changed from integer to string as the value may overflow
/pools/retired
and/pools/retiring
are now sorted first byepoch
and thentx_id
as it was causing inconsistencies when pool announced its retirement way back in the past (in this case, the retired pool could be inserted in the middle of already retired pools)/pools
was showing duplicate values in some special casesjson_metadata
type intx_metadata_label_json
OpenAPI scheme so it would correctly accept all values - thanks @sorki
/pools
endpoint now also includes retiring (not yet retired) pools- All
/addresses/{address}
endpoints now also acceptpayment_cred
in Bech32 format - All
/pools/{pool_id}
endpoints now also acceptpool_id
in Hex format
- New items to multiple
/epochs
endpointsfirst_block_time
- Marking first block of the epochlast_block_time
- Marking last block of the epochactive_stake
- Sum of all active stakes of the epoch
- Pagination for
/metadata/txs/labels
endpoint
- Rename
active_pledge
→live_pledge
in/pools/{pool_id}
start_time
andend_time
now display correct values (previouslyfirst_block_time
andlast_block_time
values were shown)- Specification for
tx_metadata_labels
- Unify pagination documentation
- Unify item names in
/epochs/
blocks_count
→block_count
txs_count
→tx_count
txs_sum
→output
fees_sum
→fees
- Rename
acronym
→ticker
in metadata of/assets/{asset}
- Initial release