Skip to content

Koios 1.0.10

Compare
Choose a tag to compare
@rdlrt rdlrt released this 03 Mar 07:26
· 76 commits to main since this release
3e9f48d

Koios 1.0.10

This release primarily focuses on ability to support better DeFi projects alongwith some value addition for existing clients by bringing in 10 new endpoints (paired with 2 deprecations), few additional optional input parameters , and some additional output columns to existing endpoints. The only breaking change/fix is for output returned for tx_info.

Also, dbsync 13.1.0.x has been released and is recommended to be used for this release. It is recommended you shutdown services temporarily while you upgrade (and clear contents of $CNODE_HOME/guild-db/ledger-state), and perhaps better off re-synching from genesis for preview/preprod as the recreation of indexes are not as optimal as re-index against an empty database, specifically from postgres tiling point of view.

API Docs and Schedule for release:

The schedule for monitoring layers to apply update , as well as live documentation can be browsed as per table below:

Network Date URL Specs Release gRest Instance Release DBSync Node
GuildNet 03-03-2023 08:00 UTC https://guild.koios.rest/ v1.0.10 koios-1.0.10 13.1.0.[0-2] 1.35.[4-6]
Preview 03-03-2023 08:00 UTC https://preview.koios.rest/ v1.0.10 koios-1.0.10 13.1.0.[0-2] 1.35.[4-6]
PreProd 04-03-2023 08:00 UTC https://preprod.koios.rest/ v1.0.10 koios-1.0.10 13.1.0.[0-2] 1.35.[4-6]
Mainnet* 12-03-2023 20:00 UTC https://api.koios.rest/ v1.0.10 koios-1.0.10 13.1.0.[0-2] 1.35.[4-6]

Known Issue(s)

  • The pool metadata ticker list might still be missing a few entries - see linked issue on dbsync here
  • There is a known issue with datum CBOR mismatch unless synching from scratch, expecting a new release to be marked soon - see linked issue on dbsync here
  • Epoch table's Block count is less [by 1] for recent epochs, see linked issue on dbsync here
  • [For instance providers only] PostgREST 10.1.x can often result in memory leaks for long-running sessions, can use 9.x or implement auto-restart, underlying issue on hasql here

Changes for API

Deprecations

  • /asset_address_list - Renamed to asset_addresses keeping naming line with other endpoints (old endpoint will be retired in future release) #149
  • /asset_policy_info - Renamed to policy_asset_info keeping naming line with other endpoints (old endpoint will be retired in future release) #149

New endpoints added

  • /asset_addresses - Equivalent of deprecated /asset_address_list #149
  • /asset_nft_address - Returns address where the specified NFT sits on #149
  • /account_utxos - Returns brief details on non-empty UTxOs associated with a given stake address #149
  • /asset_info_bulk - Bulk version of /asset_info #142
  • /asset_token_registry - Returns assets registered via token registry on github #145
  • /credential_utxos - Returns UTxOs associated with a payment credential #149
  • /param_updates - Returns list of parameter update proposals applied to the network #149
  • /policy_asset_addresses - Returns addresses with quantity for each asset on a given policy #149
  • /policy_asset_info - Equivalent of deprecated /asset_policy_info but with more details in output #149
  • /policy_asset_list - Returns list of asset under the given policy (including supply) #142, #149

Data Input/Output Changes

  • Input (breaking)- /account_addresses - Add optional _first_only and _empty flags to show only first address with tx or to include empty addresses to output #149 , the change for endpoint consumption is that the default value for _empty is set to false
  • Input - /epoch_info - Add optional _include_next_epoch field to show next epoch stats if available (eg: nonce, active stake) #143
  • Output (addition) - /account_assets , /address_assets , /address_info, /tx_info, /tx_utxos - Add decimals to output #142
  • Output (addition) - /policy_asset_info - Add minting_tx_hash, total_supply, mint_cnt, burn_cnt and creation_time fields to the output #149
  • Output (breaking) - /tx_info - Change _invalid_before and _invalid_after to text field #141
  • Output (breaking/removal) - tx_info - Remove the field plutus_contracts > [array] > outputs as there is no logic to connect it to inputs spending #163

Chores:

  • /epoch_info, /epoch_params - Restrict output to current epoch #149
  • /block_info - Use /previous_id field to show previous/next blocks (previously was using block_id/height) #145
  • /asset_info/asset_policy_info - Fix mint tx data to be latest #141
  • Support new guild scripts revamp #1572
  • Add asset token registry check 1606
  • New cache table grest.asset_info_cache to hold mint/burn counts alongwith first/last mint tx/keys #142
  • Bump to Koios 1.0.10rc #149
  • Fix typo in specs for /pool_delegators output column latest_delegation_tx_hash #149
  • Add indexes for ones missing after configuring cardano-db-sync 13.1.0.0 #149
  • Update PostgREST to be run as authenticator user, whose default statement_timeout is set to 65s and update configs accordingly #1606
  • Replace all RPC references for JSON endpoints with JSONB, this allows filtering child members of array elements using cs.[{"key":"value"}] in PostgREST #172
  • Fix Asset Info Cache to not rely on being able to decode policy ID (bad data on IO repo) #173
  • Handle Pool_list to check metadata entries that have not been populated in pool_offline_data #173
  • Fix pool_updates to use pmr_id instead of pool_offline_data.id #173
  • Update account_info_cached description to clarify it is effective for registered accounts #173
  • Fix asset_info_cache and various address/account/tx endpoints to cater for transactions lost during network congestion #177

Full Changelog can be found here for Specs , and here for scripts and SQL queries.

Instructions for Instance Providers

If you're setting up as a new instance provider, you can find instructions here. The tag to use for setup-grest.sh would be koios-1.0.10 - for which you can visit the SQL queries used here.

If you're an existing instance provider using koios-1.0.9, the update process would be executing below:

./setup-grest.sh -b koios-1.0.10 -i pcd -r
sudo systemctl restart cnode-haproxy

If you're upgrading existing koios-1.0.10rc instance(guild/preview networks), the update process would be executing below:

./setup-grest.sh -b koios-1.0.10 -q

Bug Reports/Feature Requests

Everyone is invited to create future feature requests here to help us triage issues.

Support/Discussions Group

Please ensure to join the Koios Support/Discussions group.
There are bi-weekly meetings held for development activities on Koios gRest project at every 2nd and 4th Thursday of the month, the details for which can be found in the group above.

Contributors

Special thanks to all the contributors:
@Scitz0 , @rdlrt , @redoracle, @hodlonaut, @gufmar , @edridudi , @mkungla , @nothingalike, @safestak-keith , @QuixoteSystems, @abdelkrimdev, @cardano-apexpool , @reqlez , @huths0lo , @chadle-git