Release built: 9.12.2024
- Fixed a HTTP 500 response issue when querying the
/state/entity/details
endpoint with thenative_resource_details: true
opt-in for:- a validator's LSU resource address when the validator was never active.
- a pool's unit resource when the pool had no contributions.
- Added support for pre-allocated, non-persisted accounts in the
/state/account/page/resource-preferences
and/state/account/page/authorized-depositors
endpoints. - Fixed a typo in the value
StoryOnlyForUserTransactionsAndEpochChanges
(replacingStory
withStore
) for the configuration entriesDataAggregator__Storage__StoreTransactionReceiptEvents
andDataAggregator__Storage__StoreReceiptStateUpdates
. It now supports both values:StoreOnlyForUserTransactionsAndEpochChanges
StoryOnlyForUserTransactionsAndEpochChanges
Release built: 20.11.2024
- Added support for the
cuttlefish-part2
protocol version.
Release built: 18.11.2024
- Added support for the
cuttlefish
protocol version.
- Added a new
/transaction/subintent-status
endpoint to check the status of a transaction subintent. - Added two new optional fields to the
/transaction/committed-details
endpoint:subintent_details
andchild_subintent_hashes
, which provide information about transaction subintents if present. - Added a new
/transaction/preview-v2
endpoint to preview transactions. This supports V2 transactions and beyond. If you still need to preview V1 transactions, use the/transaction/preview
endpoint instead.
- New
ledger_finalized_subintents
table that stores information about subintent status. - New
UserV2
ledger transaction type discriminator in theledger_transactions
table. - New
ledger_transaction_subintent_data
table that stores additional information about the transaction's subintents.
Release built: 4.11.2024
- Fix processing multiple changes to single non fungible id data (
NonFungibleResourceManagerDataEntrySubstate
) in one batch. It might result in- Wrong data stored and returned from the
/state/non-fungible/data
endpoint. - Not tracking properly that non fungible id got deleted, which might lead to returning an invalid location of non fungible id. Affected endpoints are
/state/non-fungible/location
- And all endpoints that return non fungible vault content
/state/entity/details
/state/entity/page/non-fungibles/
/state/entity/page/non-fungible-vaults/
/state/entity/page/non-fungible-vault/ids
- Wrong data stored and returned from the
Release built: 23.10.2024
Caution
Breaking Changes:
- Manifest addresses are no longer indexed in the
/stream/transactions
endpoint for failed transactions. Affected filters:manifest_accounts_withdrawn_from_filter
manifest_accounts_deposited_into_filter
manifest_badges_presented_filter
manifest_resources_filter
accounts_with_manifest_owner_method_calls
accounts_without_manifest_owner_method_calls
- Changed ordering of entity metadata. Entries are no longer ordered by their last modification state version but rather by their first appearance on the network, descending. Affected endpoints:
/state/entity/metadata
/state/entity/page/metadata
- Changed ordering of fungible and non fungible resources. Entries are no longer ordered by their last modification state version but rather by their first appearance on the network, descending. Affected endpoints:
/state/entity/details
/state/entity/page/fungibles/
/state/entity/page/non-fungibles/
- Changed ordering of vaults when using vault aggregation level. Entries are no longer ordered by their last modification state version but rather by their first appearance on the network, descending. Affected endpoints:
/state/entity/details
/state/entity/page/fungibles/
/state/entity/page/fungible-vaults/
/state/entity/page/non-fungibles/
/state/entity/page/non-fungible-vaults/
- Changed ordering of non fungible ids. Entries are no longer ordered by their last modification state version but rather by their first appearance on the network, descending. Affected endpoints:
/state/entity/page/non-fungible-vault/ids
/state/entity/details
(when usingnon_fungible_include_nfids
opt-in)/state/entity/page/non-fungibles/
(when usingnon_fungible_include_nfids
opt-in)/state/entity/page/non-fungible-vaults/
(when usingnon_fungible_include_nfids
opt-in)
- Existing non fungible vaults with no items will no longer return
items: null
and will return an empty arrayitems: []
instead, as we do in all other collections. Affected endpoints:/state/entity/page/non-fungible-vault/ids
/state/entity/details
(when usingnon_fungible_include_nfids
opt-in)/state/entity/page/non-fungibles/
(when usingnon_fungible_include_nfids
opt-in)/state/entity/page/non-fungible-vaults/
(when usingnon_fungible_include_nfids
opt-in)
- New configuration options
DataAggregator__Storage__StoreTransactionReceiptEvents
, andDataAggregator__Storage__StoreReceiptStateUpdates
for the data aggregator to configure if a transaction's receipt events and receipt state updates should be stored in the database. It is meant to be used by gateway runners who want to reduce their database size. Keep in mind that when disabled, the corresponding properties will be missing on a response from both the/stream/transactions
and the/transaction/committed-details
endpoints. You can save significant space by usingStoryOnlyForUserTransactionsAndEpochChanges
and only excluding round change transactions, which aren't typically read from the/stream/transactions
endpoint.- Possible values:
StoreForAllTransactions
(default) - will store data for all transactions.StoryOnlyForUserTransactionsAndEpochChanges
- will store data for user transactions and transactions that resulted in epoch change.- NOTE: The configuration option is spelt incorrectly. Please use the prefix
Story
. In a future version, this will be fixed, and bothStory
andStore
will be accepted, for backwards-compatibility.
- NOTE: The configuration option is spelt incorrectly. Please use the prefix
StoreOnlyForUserTransactions
- will store data only for user transactions.DoNotStore
- will not store any data.
- Possible values:
- Added missing
total_count
property to/state/validators/list
response. - Fix
/transaction/account-deposit-pre-validation
for uninstantiated pre-allocated accounts. It no longer returns error with code 404Entity not found
. - Restored missing round update transactions from the
/stream/transactions
endpoint.
- Restored previously removed
total_count
property to/state/key-value-store/keys
endpoint.
- Refactored multiple aggregates. Queries follow a similar strategy as key value stores and utilize
_entry_definition
,_entry_history
, and_totals_history
tables to return data- Metadata
- Removed
entity_metadata_aggregate_history
table. - New
entity_metadata_entry_definition
table, which holds information about all the metadata keys ever created for a given entity. - Renamed
entity_metadata_history
toentity_metadata_entry_history
, replacedentity_id
andkey
columns withentity_metadata_entry_definition_id
. Holds history of given metadata key at a given state version. - New
entity_metadata_totals_history
table, which holds total counts of metadata per entity.
- Removed
- Resource globally aggregated
- Removed
entity_resource_aggregate_history
table. - New
entity_resource_entry_definition
table, which holds information about all resources which have ever been held by a given global entity. - New
entity_resource_balance_history
table, which holds the sum of globally aggregated resource held by a global entity at a given state version. - New
entity_resource_totals_history
table, which holds total count of different resources under a given global entity at a given state version.
- Removed
- Resource vault aggregated
- Removed
entity_resource_aggregated_vaults_history
andentity_resource_vault_aggregate_history
tables. - New
entity_resource_vault_entry_definition
table, which holds information about vaults of a given resource held under a given global entity. - New
entity_resource_vault_totals_history
table, which holds total count of all vaults of a given resource held under a given global entity at a given state version.
- Removed
- Vault content
- New
non_fungible_vault_entry_definition
table, which holds information about non fungible held by a given vault. - New
non_fungible_vault_entry_history
table which holds history of given non fungible inside vault. - Renamed
entity_vault_history
tovault_balance_history
. Holds information about vault content (amount of fungibles or count of non fungible ids inside vault) at a given state version.
- New
- Key value store
- New
key_value_store_totals_history
table, which holds total count of all keys under a given store at a given state version.
- New
- Metadata
- Changed
receipt_state_updates
in theledger_transactions
table to be nullable. - Moved all
receipt_event_*
columns from theledger_transactions
table to a new separateledger_transaction_events
table. - Renamed
origin_type
marker type totransaction_type
(stored in theledger_transaction_markers
table), possible values:User
RoundChange
GenesisFlash
GenesisTransaction
ProtocolUpdateFlash
ProtocolUpdateTransaction
- New transaction marker type
epoch_change
(stored in theledger_transaction_markers
table), entry for this marker indicates that this transaction resulted in an epoch change.
Release built: 26.09.2024
This release fixes Data Aggregator stall on state version: 139553672
on the mainnet
network.
- Removed unique constraint from
IX_account_resource_preference_rule_entry_history_account_enti~
index.
Release built: 17.09.2024
- Added
opt_ins
property to/transaction/preview
request. Currently, there is only one option to useradix_engine_toolkit_receipt
, it controls whether the preview response will include a Radix Engine Toolkit serializable receipt or not (defaults tofalse
).
Release built: 29.08.2024
- Added missing index on
validator_cumulative_emission_history
Release built: 23.08.2024
Caution
Breaking Changes:
/stream/transactions
no longer indexesaffected_global_entities
for the transaction tracker and the consensus manager entity types.- Changed
variant_id
ofProgrammaticScryptoSborValueEnum
from numeric (type: integer
) to string-encoded numeric (type: string
) to make it compatible with the rest of the ecosystem.
- Properly indexes manifest classes. Some transactions might have been previously misclassified as
Transfer
andAccountDepositSettingsUpdate
, i.e. empty transactions with onlylock_fee
instruction.
- Added support for the missing
message
andflags.disable_auth_checks
properties in the/transaction/preview
endpoint request. - Added list of mutable non fungible data fields
non_fungible_data_mutable_fields
returned from/state/entity/details
endpoint. - New
event_global_emitters_filter
filter added to/stream/transactions
endpoint. It allows filtering transactions by the global ancestor of an event emitter. For events emitted by a global entity it is going to be that entity, for internal entities it is going to be a global ancestor. - Changed
variant_id
ofProgrammaticScryptoSborValueEnum
from numeric (type: integer
) to string-encoded numeric (type: string
) to make it compatible with the rest of the ecosystem. - Optimized
/statistics/validators/uptime
endpoint processing time. - Added support for two-way linked dApps in the
/state/entity/details
endpoint, returned when thedapp_two_way_links
opt-in is enabled.- Brand-new
two_way_linked_*
properties on thedetails
property of the Resources, Accounts, Packages and other global entities. - See https://docs.radixdlt.com/docs/metadata-for-verification#metadata-standards-for-verification-of-onledger-entities for detailed specification.
- Brand-new
- Added support for the Native Resource Details in the
/state/entity/details
endpoint, returned when thenative_resource_details
opt-in is enabled.- Introduced a new
native_resource_details
property on thedetails
object when looking up fungible or non-fungible resource entities with the entity details endpoint. This property is present when the resource has a special meaning to native blueprints, and gives extra information about the resource. For example, it identifies pool units with their linked pool, and gives the redemption value for a single unit. - Includes unit redemption value for the Validator LSU token and the unit tokens of various Pools.
- Introduced a new
- Added new endpoint
/extensions/resource-holders/page
which returns information about all holders of the queried resource.
- Replaced relationship-related columns (
*_entity_id
) in theentities
table with more generic collection implementation usingcorrelated_entity_*
columns. - Replaced per-epoch validator emissions (
validator_emission_statistics
table) with their cumulative statistics (validator_cumulative_emission_history
table). - Added
non_fungible_data_mutable_fields
toentities
table. Which contains list of all mutable non fungible data fields for non fungible resource entities. - New
ledger_transaction_markers
type with theevent_global_emitter
discriminator. It represents the global emitter for each event. - Added new
unverified_standard_metadata_*
tables. They hold some of the metadata entries using db-friendly (normalized) model. See https://docs.radixdlt.com/docs/metadata-standards - Extended list of supported entity correlations in the
entities
table. - Renamed values of the
entity_relationship
enum type. - Added new
resource_holders
table. It keeps information about all holders of each fungible and non fungible resource.
Release built: 06.08.2024
- Removed the large
non_fungible_id_store_history
aggregate table. Queries for non fungible ids follow a similar strategy as key value stores and utilize_definition
and_history
tables to return data. Total supply and total minted/burned can be queried from theresource_entity_supply_history
table. - Renamed
non_fungible_id_data
table tonon_fungible_id_definition
.
Release built: 21.05.2024
- Added
well_known_addresses.locker_package
address property to the/status/network-configuration
endpoint response. - Added a new endpoint
/state/account-locker/page/vaults
which allows to read all resource vaults for a given AccountLocker. - Added a new endpoint
/state/account-lockers/touched-at
which allows to read last touch state version for a given collection of AccountLockers.
- Added a new set of AccountLocker-related tables:
account_locker_entry_definition
,account_locker_entry_resource_vault_definition
andaccount_locker_entry_touch_history
. - Added two new columns
account_locker_of_account_entity_id
andaccount_locker_of_account_locker_entity_id
to theentities
table filled for AccountLocker-related Vaults and KeyValueStores. - Changed
IX_entity_vault_history_vault_entity_id_from_state_version
index to match all existing vaults rather non-fungible ones only.
Release built: 14.05.2024
- Fixed broken Core API SDK
Release built: 09.05.2024
Caution
Breaking Changes:
- Changed ordering of the collection returned by the
/state/key-value-store/keys
endpoint. Entries are no longer ordered by their last modification state version but rather by their first appearance on the network, descending. - Property
total_count
of the/state/key-value-store/keys
endpoint is no longer provided. - Renamed
state.recovery_role_recovery_attempt
property fromtimed_recovery_allowed_after
toallow_timed_recovery_after
returned from/state/entity/details
when querying for access controller.
- Fixed broken ledger state lookup (
at_ledger_state
) when using epoch-only constraint and given epoch did not result in any transactions at round1
. - Fixed broken (missing) package blueprint & code, and schema pagination in the
/state/entity/details
endpoint. - Fixed unstable package blueprint and code aggregation where changes could overwrite each other if they applied to the same blueprint/package within the same ingestion batch.
- Fixed validator public key and active set aggregation where unnecessary copy of the key was stored on each epoch change.
- Fixed pagination of the
/state/validators/list
endpoint where incorrectcursor
was generated previously. - Fixed invalid date-time format for some entity state properties (most notably access controllers and their
recovery_role_recovery_attempt.allow_timed_recovery_after.date_time
property) that was dependent on OS-level locale setup. - Added
ng_workers_global_loop_duration_seconds
andng_workers_node_loop_duration_seconds
histogram metrics measuring the time it took to process a single iteration of a given worker. - Changed MVC controller and action names. It has no effect on the API itself, but alters prometheus
controler
andaction
labels.StateKeyValueStoreController.Items
renamed toStateKeyValueStoreController.KeysPage
,StateNonFungibleController.Ids
renamed toStateNonFungibleController.IdsPage
,StatisticsController.Uptime
renamed toStatisticsController.ValidatorsUptime
,StateController
renamed toStateEntityController
,ValidatorStateController
renamed toStateValidatorsComponent
.
- Upgraded to .NET 8:
- Upgraded runtime and libraries
- Dockerfiles no longer specify custom
app
user as it comes built-in with official base images. - Removed now-obsolete or no-longer-needed code.
- Prometheus integration exposes new built-in metric
httpclient_request_duration_seconds_bucket
for all registered HTTP clients.
- Reworked internal data aggregation mechanism to ease up maintenance burden.
- Reworked KVStores storage and changed API surface of this area to improve overall performance.
- Changed the
MetadataInstantValue
type and its array counterpartMetadataInstantArrayValue
to clamp thevalue
property within the RFC-3339 compatible date-time year range1583
to9999
. Added aunix_timestamp_seconds
property to these types to give the exact unclamped numerical timestamp value. - Added
role_assignments
property to theStateEntityDetailsResponsePackageDetails
. All global component details returned by the/state/entity/details
endpoint contain role assignments now. - Added
owning_vault_parent_ancestor_address
andowning_vault_global_ancestor_address
properties to the response of the/state/non-fungible/location
endpoint. - Added new filter
manifest_badges_presented_filter
to the/stream/transactions
endpoint which allows filtering transactions by badges presented. - Added new opt-in
component_royalty_config
to the/state/entity/details
endpoint. When enabledroyalty_config
will be returned for each component. - Use strong type definition for the
royalty_config
property of package blueprint and general components details. This is a change to OAS definition only and does not impact returned data format. - Introduced upper limit to the overall number of the filters used in the
/stream/transactions
endpoint, defaults to 10. - Added new endpoint
/state/account/page/resource-preferences
which allows to read resource preferences for given account. - Added new endpoint
/state/account/page/authorized-depositors
which allows to read authorized depositors for given account. - Added new endpoint
/state/package/page/blueprints
returning paginable iterator over package blueprints. - Added new endpoint
/state/package/page/codes
returning paginable iterator over package codes. - Added new endpoint
/state/entity/page/schemas
returning paginable iterator over entity schemas. - Added new endpoint
/transaction/account-deposit-pre-validation
which allows to pre-validate if deposits can succeed based on account deposit settings and badges presented, before submitting the transaction. - Fixed wrong request validation logic for maximum number of items in
/state/non-fungible/data
,/state/non-fungible/data
and/state/non-fungible/data
endpoints. limit_per_page
request parameter is no longer validated against*MaxPageSize
API configuration parameters. In case requested limit exceeds API configuration maximum value is used. This change is meant to reduce clients need to understand and honor API configuration.
- Added new
BadgePresented
toLedgerTransactionMarkerOperationType
enum and started collecting transaction markers for badges presented in transactions. - Column
royalty_amount
ofcomponent_method_royalty_entry_history
table contains now the JSON payload representing the royalty amount without wrapping object. - Changed schema area:
- renamed
schema_history
table toschema_entry_definition
, - introduced
schema_entry_aggregate_history
table that contains aggregate history of schema entries under given entity.
- renamed
- Changed KVStore area:
- dropped
key_value_store_aggregate_history
table altogether as we no longer keep track of aggregated KVStores, - introduced
key_value_store_entry_definition
table that defines each and every KVStore entry, - table
key_value_store_entry_history
references rows fromkey_value_store_entry_definition
ratherkey
s themselves.
- dropped
Release built: 27.03.2024
- Improved performance
/stream/transactions
endpoint when usingmanifest_class_filter
filter.
- Replaced
IX_ledger_transaction_markers_manifest_class_is_most_specific_~
index with two separate indexesIX_ledger_transaction_markers_manifest_class_is_most_specific
(indexesis_most_specific
= true only) andIX_ledger_transaction_markers_manifest_class
(indexes all manifest classes).
Release built: 06.03.2024
- Properly indexes key value store keys in
key_value_store_entry_history
andkey_value_store_aggregate_history
tables. Previously it was possible that if the key was updated multiple times in one processed transaction batch some updates might not be indexed properly. This release fixes those issues and makes sure they are properly indexed and each change is properly returned from/state/key-value-store/keys
and/state/key-value-store/keys
endpoints.
Release built: 27.02.2024
- Recreated key value store keys are properly returned from
/state/key-value-store/keys
and/state/key-value-store/data
. Previously Gateway did not return keys that were deleted and then recreated. This release fixes existing data in the database and makes sure new ingested data is properly stored in the database.
Release built: 08.02.2024
- Dropped internal
balance_changes
fallback mechanism. As of right now this information is ingested as part of regular transaction ingestion process. - Reworked internal mechanism used to fetch network configuration. Is no longer stored in the underlying database and it is shared across all services.
- Reworked (partially) internal mechanism used to ingest ledger data by Data Aggregator to improve maintainability and simplify future extensions.
- Fixed
state_version
-based ledger stateat_ledger_state
/from_ledger_state
constraints which could result in inaccurate lookups previously. Attempt to read from non-existent state version will result in HTTP 400 Bad Request. Previously the nearest state version would be used.
- Return components effective role assignments only for assigned modules.
- Added new filters for the
/stream/transactions
endpoint:accounts_with_manifest_owner_method_calls
,accounts_without_manifest_owner_method_calls
andmanifest_class_filter
. - Extended response models returned by
/transaction/committed-details
and/stream/transactions
endpoints:- added
manifest_instructions
optional property and a corresponding opt-in for returning original manifest of user transactions, - added optional
manifest_classes
property: a collection of zero or more manifest classes ordered from the most specific class to the least specific one.
- added
- Added
permanently_rejects_at_epoch
to/transaction/status
response for pending transactions. - Added new endpoint
/state/key-value-store/keys/
that allows iterating overKeyValueStore
keys.
- Created new
key_value_store_aggregate_history
table which will hold pointers to all key_value_store keys. - Dropped
network_configuration
table. - Fixed component's method royalty aggregation, added missing
component_method_royalty_aggregate_history
table. - Changed
IX_validator_emission_statistics_validator_entity_id_epoch_num~
index to includeproposals_made
andproposals_missed
columns in order to optimize/statistics/validators/update
endpoint.
- Obsoleted incorrectly named
access_rules_package
in favor ofrole_assignment_module_package
onNetworkConfigurationResponse.well_known_addresses
. Obsoleted property will contain effective copy of the new one for backwards compability.
Release built: 29.01.2024
Adds support for protocol updates (in general) and the anemone update in particular.
- Adds support for a new transaction type (flash transactions) that occur during protocol updates.
- Extends well known addresses returned from
/status/network-configuration
to include the transaction tracker address. - DEPRECATION - Obsoletes the
vm_type
,code_hash_hex
andcode_hex
properties ofStateEntityDetailsResponsePackageDetails
in favor of thecodes
collection. With the upcoming protocol upgrade it will be possible to have multiple codes per package. The obsoleted properties will contain an effective copy of the first element of the new collection for backwards compability.
- Moves
vm_type
topackage_code_history
table from package inentity
table. - Creates new
package_blueprint_aggregate_history
table which will hold pointers to all package blueprints. - Creates new
package_code_aggregate_history
table which will hold pointers to all package codes.
Release built: 26.01.2024
- Fixed broken (incompatible) Core API SDK
Release built: 4.01.2024
- Extended validator's data returned from
/state/validators/list
: addedeffective_fee_factor
field which returnscurrent
fee_factor and optionallypending
change. - Enable retries on transient database connectivity issues in gateway api.
- Enable retries on core api calls in gateway api.
- Optimized transaction balance changes; if available they're read from internal database, otherwise they use existing fallback mechanism
Release built: 19.12.2023
- Fixed exception thrown on empty validator set in the
/state/validator/list
endpoint. 524
status code returned instead of500
if request takes longer than configured timeout.- Validate if addresses provided in requests to API belong to network it is running on.
- Fixed
500
status code returned from/transaction/submit
when Transaction got committed before Gateway was able to store pending transaction node submission result. It'll return 200 status code from now on and log exception as information.
Release built: 22.11.2023
- Fixed invalid foreign key between
pending_transactions
andpending_transaction_payloads
tables. - Fixed package detail lookups to return all the blueprints and schemas.
- Optimized transaction balance changes fetch time (parallelized).
Release built: 06.11.2023
- Fixed local development environment setup.
- Fixed missing
state
property on non-global entity state details.
Release built: 27.10.2023
- Added more strongly-typed OAS definitions for
programmatic_json
and types derived from the Core API. - Added
resource_address
to fungible and non-fungible vault entity details in the/state/entity/details
endpoint. - Fixed
epoch [+ round]
based ledger state lookups. - Fixed vault collection ordering for newly ingested data. A database wipe might be required, see information below.
- Fixed non-persisted identity/account lookups.
Warning This release contains a fix for a non-critical bug in the data ingestion mechanism where resource vaults were not ordered correctly by last change descending. Already ingested data will remain with the old ordering, i.e. the bugfix will only affect newly ingested data. If this matters to you, you will need to resync your database from scratch.
Release built: 20.10.2023 (scrapped)
- Fixed invalid HTTP status code on input validation failure.
- Changed default configuration value of MaxPageSize for endpoints to 100. Validate if max page size is higher than DefaultPageSize.
- Added new opt-in
balance_changes
to/transaction/committed-details
returning resource balance changes for a given transaction. - Added new opt-in
receipt_output
to/stream/transactions
, and/transaction/committed-details
endpoints. Temporarily set by default to true, to allow client's migration. - Added vault-related details to lookups in
/state/entity/details
endpoint. - Optimized
TransactionQuerier.GetTransactions
not to fetch unnecessary data from underlying database. - Added strongly-typed OAS definition for
programmatic_json
. - Tuned documentation and constraints of various OAS type definitions.
Release built: 10.10.2023
- Fixed missing
RecordTopOfDbLedger
observer call inLedgerTransactionsProcessor
. - Fixed invalid response model for HTTP 400 Bad Request responses on input parameter validation failure.
- Return 400 with validation error instead of 500 if
from_ledger_state
state_version
is beyond known ledger tip.
Release built: 28.09.2023
- log warning if sql query takes longer than configured threshold (default to 250ms) for both entity framework and dapper queries.
- gather execution time metrics for all sql queries (both entity framework and dapper).
Release built: Friday 22nd September 2023
- Instead of returning only the event data payload from
/stream/transactions
and/transaction/committed-details
, the event data is now a complex object, wrapping the data payload, but also containing the emitter and event name. This allows you to properly determine which entity emitted the event.
- Fixed
epoch
infrom_state_version
forward querying for migrated environments where lowest epoch number isn't 1. - Fixed the
validator_active_set_history
table which contains data about validator active set history. It was wrongly attached to future epoch not current one. - Pending transaction handling has been reworked, and
/transaction/status
returns some additional fields with a lot more information regarding the status of the intent and submitted payloads. Check out theintent_status
andpayload_status
fields. Each status is also associated with a description to help developers understand the meaning of the returned status.
Release built: 18.09.2023
- fix
/state/entity/details
endpoint when querying for multiple components with same schema.
Release built: 15.09.2023
- Fix event schema lookup in
/stream/transactions
and/transaction/committed-details
. - Add
non_fungible_id_location_history
table to improve NFID lookup performance. - Add missing index to
entity_vault_history
table to improve royalty vault lookup performance.
Release built: 13.09.2023
- Fix incomplete entity type mapping.
- Fix non-fungible resource aggregation.
- Add
key_json
property toStateKeyValueStoreDataRequestKeyItem
enabling JSON-based KVStore lookup. - support remote schema assignment for generic (key value store, non fungible data) substitution.
Release built: 07.09.2023
- Add
from_state_version
tovalidator_emission_statistics
. - Returning all possible role assignment keys in
main
module for all entity types (previously only for fungible and non fungible resources). - Fixed broken pagination for NFIDs under
/state/entity/details
and/state/entity/page/non-fungible-vaults
endpoints. - Fixed invalid
index_in_epoch
andindex_in_round
for genesis TX. - Fixed virtual identity and account details.
- Fixed how TX total fee paid is calculated.
Release built: 01.09.2023
- Fix data aggregator processing custom events.
Release built: 31.08.2023
Use Bech32m-encoded transaction hashes in /transaction/committed-details
and /transaction/status
endpoints.
Previously:
{"intent_hash_hex": "efbbbfe1d0536d2f6e28cbe8f78f9fe519c4c799a9b0384b8d09e9ecdd66fcbb"}
Now:
{"intent_hash": "txid_loc1lapmrzd6mwfamusjlqjaurmemla2xpx6mqygt74px72vtawjawws5rjtd4"}
- state returned for access controller, pool components and account from
/state/entity/details
endpoint. - access controller access rules returned from
/state/entity/details
endpoint. - Added
blueprint_version
toStateEntityDetailsResponseComponentDetails
response - fixed
total_supply
,total_burned
andtotal_minted
for resources (i.e native XRD). - new endpoint
/state/non-fungible/location
returns location of given non fungible id. - Return programmatic json with type names for:
- key-value key and data in
/state/key-value/data
endpoint - non fungible data in
/state/non-fungible/data
endpoint - events in
/transaction/committed-details
and/stream/transactions
endpoints. - custom scrypto component state in
/state/entity/details
endpoint.
- key-value key and data in
- New endpoint
/statistics/validators/uptime
returns validator uptime data. - New endpoint
/state/key-value/data
returns entries of requested KeyValueStore. - Rework in
role_assignments
. Returning all possible keys for native modules (AccessRules
,Metadata
,Royalty
) and if no role is assigned pointer to owner role is returned. Same functionality applies toMainModule
for FungibleResource and NonFungibleResource.
- Renamed
access_rules
torole_assignments
. Included missingmodule
to role assignment key. - Deleted non fungible ids are also returned from
/state/non-fungible/data
with null data, marked asis_burned
with state version when they got burned. - Transaction hashes are now exposed as Bech32m hashes instead of hex-encoded binary sequences.
- Dropped
previous_cursor
altogether from all paginable collections.
- only assigned
role_assignments
keys formain
module for non resource entities are returned. If key is not assigned it'll not be returned from API.
- Renamed
access_rules
torole_assignments
. Included missingmodule
to role assignment key. - Added package details to
/satus/entity/details
endpoint.
Release built: 26.07.2023
-
Some properties are now annotated with an
is_locked
field indicating whether the value is locked or is still able to be updated. -
Strongly-typed metadata values. Each metadata property is now represented as raw SBOR value and one of sixteen possible typed values, as per the Entity Metadata docs
-
Additional entity details are returned from the
/state/entity/details
endpoint:- Entity Role Assignments "access rules"
- NOTE: Expect minor field renames at RCnet v3, to better align with the new role abstractions.
- Total supply alongside overall number of minted and burned tokens for resources.
- WARNING: Total supply is not currently accurate. This will be fixed at RCnet v3.
- Package code, blueprints, schemas and royalty vaults
- Entity Role Assignments "access rules"
-
New opt-in flags are supported for
/state/entity/details
endpoint:explicit_metadata
- allows to specify a collection of metadata keys you’d like to receive in the response,ancestor_identities
- to include parental entity identifiers,component_royalty_vault_valance
andpackage_royalty_vault_balance
- to include royalty vaults and their respective balances where applicable,non_fungible_include_nfids
- to include a first chunk of NFIDs of a returned NF vaults.
-
New opt-in flags supported for
/stream/transactions
endpoint:raw_hex
to include raw bytes of a TX,receipt_state_changes
to include low-level state changes,receipt_fee_sumary
to include TX fees,receipt_events
to include low-level events,affected_global_entities
to include list of entities affected by given TX,
-
Additional transaction details in
/stream/transactions
endpoint: epoch, round, round_timestamp. -
New filters in
/stream/transactions
endpoint to limit search results:manifest_accounts_withdrawn_from_filter
- filter for TXs where given accounts have been withdrawn from,manifest_accounts_deposited_into_filter
- filter for TXs where given accounts have been deposited into,manifest_resources_filter
- filter for TXs where given resources have been used,affected_global_entities_filter
- filter for TXs where given entities have had internal updates,events_filter
- filter for TXs where the given event occurred (only Vault Deposit/Withdrawal events are currently supported)
-
More validator details in
/state/validators/list
endpoint:state_vault
,pending_xrd_withdraw_vault
,locked_owner_stake_unit_vault
,pending_owner_stake_unit_unlock_vault
- All addresses (including internal addresses) are now represented with a single Address type.
- No more
as_string
andas_string_collection
metadata representations - they’ve been replaced with strongly-typed models. - Minor property renames to reflect changes in upstream engine and Core APIs
- Renamed
mutable_data
property todata
in/state/non-fungible/data
endpoint. - Opt-in properties added to
/transaction/committed-details
,/state/entity/details
user can specify additional properties in response. - Added opt-in royalty vault balance to
/state/entity/details
if queried entity is component or package. - Possibility to configure max number of transaction fetched from CoreAPI in single batch by
MaxCoreApiTransactionBatchSize
. By default it's fetching 1000. - New opt-in property
non_fungible_include_nfids
in/state/entity/details
,/state/entity/page/non-fungibles
,/state/entity/page/non-fungible-vaults
, when enabled and aggregating per vault first page of non fungible resource ids is going be returned. - Multiple address-related aliases (
ResourceAddress
,ComponentAddress
etc.) have been combined into single genericAddress
. - Added
explicit_metadata
parameter to/state/entity/details
,/state/entity/page/fungibles
and/state/entity/page/non-fungibles
- if given metadata keys exist, they will be returned for top level entity and all returned resources. - Added information about
epoch
,round
,round_timestamp
to/transaction/committed-details
and/stream/transactions
endpoints. - Flattened
transaction
anddetails
properties of/transaction/committed-details
endpoint. - Added all the properties and opt-ins available in
/transaction/committed-details
endpoint to/stream/transactions
endpoint. - Dropped
TokenAmount
type (used to represent transaction fee which was always expressed in XRDs) in favor ofBigDecimal
scalar value. /status/network-configuration
endpoint returns several new well-known addresses.- Added
image_tag
with currently deployed image tag to release information. - Added multiple new filter options to
/stream/transactions
endpoint. - Added
total_supply
,total_minted
,total_burned
to/state/entity/details
when querying for fungible or non fungible resources. - Unwrapped non fungible ids in
/state/non-fungible/ids
,/state/entity/page/non-fungible-vault/ids
endpoints. They are no longer wrapped innon_fungible_id
object. - Dropped
transaction.referenced_entities
from/transaction/committed-details
endpoint. - Added
affected_global_entities
to/transaction/committed-details
and/stream/transactions
endpoints. To include them in response make sure to includeaffected_global_entities
optin. - New
affected_global_entities_filter
filter in/stream/transactions
. - Use strongly-typed metadata models.
- Return
pending_xrd_withdraw_vault
,locked_owner_stake_unit_vault
,pending_owner_stake_unit_unlock_vault
,stake_vault
from/state/validators/list
endpoint. - Changed
access_rule_chain
to partially strongly typedaccess_rules
.
- Fix
/state/non-fungible/data
to return data for all NFIDs
Release built: 31.03.2023
/entity/overview
and/entity/details
endpoints replaced with single/state/entity/details
.- Fungible and non-fungible resources are now ordered by the most recently updated.
/transaction/recent
endpoint replaced with/stream/transactions
returning user and non-user transactions.limit
request parameter has been renamed tolimit_per_page
.- All enum values use
PascalCase
naming. /gateway/information
replaced with two separate endpoints/status/gateway-status
and/status/network-configuration
- Added new configuration section
CoreApiIntegration
where you can configure integration with core API. For now onlySubmitTransactionTimeout
setting is supported. /stake/validator/list
rework, added current stake value./entity/resources
merged into/state/entity/details
endpoint- new paginable endpoints
/state/entity/page/{x}
for metadata, fungibles, fungible-vaults, non-fungibles, non-fungible-vaults and non-fungible-vault/ids. Cursors returned fromstate/entity/details
can be later used to query for next pages in specific endpoints. /transaction/committed-details
endpoint operates onintent_hash_hex
only now
Release built: 14.02.2023
- Added
/state/validators/list
endpoint: returns paginable collection of all validators ever observed; validators that are part of so called active-set (i.e. participate in consensus for current/requested epoch) are decorated with some extra information like their public_key and stake. NonFungibleIdType
su32
andu64
have been replaced with singleNumber
.TransactionStatusRequest
no longer supportsat_state_version
property.EntityDetailsResponse.details
property is now optional./entity/details
endpoint supports all entities with global address now.
Fixes for the following issues:
- #96 - "Paging through the NonFungibleIds of a resource does not work properly" thank you
backyard-coder
! - Incorrect calculation of balances when there are multiple vaults in a component. (Note - NFIds are still incorrectly tracked if spread across multiple vaults - this will be fixed as part of a schema overhaul)
- Fungible resource metadata is updated properly