github stellar/go horizon-v1.9.0
Horizon 1.9.0

This is release adds support for the upcoming Protocol 14 upgrade. However, Horizon still maintains backwards compatibility with Protocol 13, which means it is still safe to run this release before Protocol 14 is deployed.

After upgrading Horizon will rebuild it's state. During this process (which can take several minutes) it will not ingest new ledgers.

The two main features of Protocol 14 are CAP 23 Claimable Balances and CAP 33 Sponsored Reserves. Claimable balances provide a mechanism for setting up a payment which can be claimed in the future. This allows you to make payments to accounts which are currently not able to accept them. Sponsored Reserves allows an account to pay the reserves on behalf of another account.

In this release there is a new claimable balance resource which has a unique id, an asset (describing which asset can be claimed), an amount (the amount of the asset that can be claimed), and a list of claimants (an immutable list of accounts that could potentially claim the balance).

The GET /claimable_balances/{id} endpoint was added to Horizon's API to allow looking up a claimable balance by its id. See the sample response below:

{
  "_links": {
    "self": {
      "href": "/claimable_balances/000000000102030000000000000000000000000000000000000000000000000000000000"
    }
  },
  "id": "000000000102030000000000000000000000000000000000000000000000000000000000",
  "asset": "native",
  "amount": "10.0000000",
  "sponsor": "GC3C4AKRBQLHOJ45U4XG35ESVWRDECWO5XLDGYADO6DPR3L7KIDVUMML",
  "last_modified_ledger": 123,
  "claimants": [
    {
      "destination": "GC3C4AKRBQLHOJ45U4XG35ESVWRDECWO5XLDGYADO6DPR3L7KIDVUMML",
      "predicate": {
        "unconditional": true
      }
    }
  ],
  "paging_token": "123-000000000102030000000000000000000000000000000000000000000000000000000000"
}

There is also a GET /claimable_balances endpoint which searches for claimable balances by asset, sponsor, or claimant destination.

To support CAP 33 Sponsored Reserves we have added an optional sponsor attribute in the following Horizon resources: accounts, account signers, offers, trustlines, and claimable balances. If the sponsor field is present it means that the account with id sponsor is paying for the reserves for the sponsored account / account signer / offer / trustline / claimable balance. We have also added an optional sponsor query parameter to the following endpoints:

  • GET /accounts
  • GET /offers
  • GET /claimable_balances

If the sponsor query param is provided, Horizon will search for objects sponsored by the given account id.

Don't miss a new go release

NewReleases is sending notifications on new releases.