This issue lists the changes to the Horizon API introduced by CAP-35. This CAP comprises the public-facing changes in Stellar Protocol 14. The first Horizon version with the updated API is Horizon 1.9.0-RC, to be released 2020-09-21 (monorepo release page).
This protocol upgrade is purely additive. We expect a protocol 16 compliant SDK to be able to run successfully against a protocol 15 network.
We are aiming for the following tentative timeline:
March 30: Horizon released with protocol 16 support (done)
Begining of April: Core release with protocol 16 support
May: Protocol 16 deployed to Testnet
June: Protocol 16 Prodnet-deployment vote
None
-
Claimable Balance
- Claimable balance flags have been incorporated (by bumping it's XDR extension version to
v1
). For now there's only a possible flag (CLAIMABLE_BALANCE_ENABLED_FLAG
)
- Claimable balance flags have been incorporated (by bumping it's XDR extension version to
-
Trustline
- A new flag as been added (
AUTH_CLAWBACK_ENABLED_FLAG
)
- A new flag as been added (
None
None
-
clawback
with the following fields:- Asset fields (identical to the asset fields in the Change Trust, Allow Trust and Set Trustline Flags operations)
asset_type
asset_code
asset_issuer
from
- account from which the asset is clawed backamount
- asset amount clawed back
- Asset fields (identical to the asset fields in the Change Trust, Allow Trust and Set Trustline Flags operations)
-
clawback_claimable_balance
, with the following fields:balance_id
- claimable balance identifer of the claimable balance to be clawed back
-
set_trust_line_flags
, with the following fields:- Asset fields (identical to the asset fields in the Change Trust, Allow Trust and Set Trustline Flags operations)
asset_type
asset_code
asset_issuer
trustor
- account whose trustline is affected by this operation- flag fields, with the same scheme as the Set Options operation (note that CAP-35 introduces the new
AUTH_CLAWBACK_ENABLED_FLAG
flag)set_flags
- array containing the integer (XDR) representation of the flags to enableset_flags_s
- array containing the textual representation of the flags inset_flags
(possible values are:authorized
,authorized_to_maintain_liabilites
andclawback_enabled
)clear_flags
- array containing the integer (XDR) representation of the flags to disableclear_flags_s
- array containing the textual representation of the flags inclear_flags
(possible values are:authorized
,authorized_to_maintain_liabilites
andclawback_enable
)
- Asset fields (identical to the asset fields in the Change Trust, Allow Trust and Set Trustline Flags operations)
-
trustline_flags_updated
, with the following fields:- Asset fields (like explained in the operations above):
asset_type
asset_code
asset_issuer
trustor
- account whose trustline the effect refers toauthorized_flag
- true to indicate the flag is set, field ommited if not setauthorized_to_maintain_liabilites
- true to indicate the flag is set, field ommited if not setclawback_enabled_flag
- true to indicate that the flag is set, field ommitted if not set
- Asset fields (like explained in the operations above):
-
claimable_balance_clawed_back
, with the following fields:balance_id
- claimable balance identifer of the claimable balance clawed back
-
Operation
allow_trust
is deprecated in favor ofset_trust_line_flags
(although it will still be supported by the network) -
Effects
trustline_authorized
,trustline_authorized_to_maintain_liabilities
andtrustline_deauthorized
are deprecated in favor oftrustline_flags_updated
. Note how we intentionally didn't add a newtrustline_authorized_clawback_enabled
effect.For uniformity, the
allow_trust
operation will start producingtrustline_flags_updated
from this release.For now
trustline_authorized
,trustline_authorized_to_maintain_liabilities
andtrustline_deauthorized
will continue to be emitted as a result of theallow_trust
operation but in the future we may stop doing so.