Overview
This is the v1.4.0 release for the Gateway. API docs are on Redocly here: https://radix-babylon-gateway-api.redoc.ly/
License
The Babylon Gateway code is released under the Radix License. Binaries/Executable components are licensed under the Radix Software EULA.
Notes for Gateway runners
Caution
This release MUST NOT be upgraded onto your existing Network Gateway installation as it has an incompatible database schema. There’s no database migration available. What it means is that this release MUST be deployed with an empty (wiped out) database. This will result in a lengthy (approx. 4 - 16 hours depending on your infrastructure) process of resynchronization. During the resynchronization majority of the GW API endpoints will not be available.
Tip
In the upcoming weeks we’ll release the next release (probably: 1.5.0
) which will also require full ledger resynchronization.
What’s new?
- 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.
API Changes
- 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.
Database changes
- 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.
Deprecations
- 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.
Note to Integrators
Please note that the Babylon Core API on the Node is more powerful than on Olympia.
Integrators looking to prepare for the Radix Babylon launch should start by considering if running their own node and using the Core API would work instead of running a Gateway and using the Gateway API.
Please see the guide for integrators here.
Running just a node is simpler than running a node and Gateway, and the Core API has a "long term support" section of the API, designed for tracking fungible balances and accounts, which is guaranteed to be compatible with mainnet launch - enabling integrators to prepare for mainnet launch immediately.
Docker Images
This release is available as tag v1.4.0
on dockerhub, for the following images: