github radixdlt/babylon-gateway v1.4.0
1.4.0

latest releases: v1.7.2, v1.7.2.rc2, v1.7.2.rc1...
7 months ago

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 state at_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 and manifest_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 permanently_rejects_at_epoch to /transaction/status response for pending transactions.
  • Added new endpoint /state/key-value-store/keys/ that allows iterating over KeyValueStore 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 include proposals_made and proposals_missed columns in order to optimize /statistics/validators/update endpoint.

Deprecations

  • Obsoleted incorrectly named access_rules_package in favor of role_assignment_module_package on NetworkConfigurationResponse.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:

Don't miss a new babylon-gateway release

NewReleases is sending notifications on new releases.