Open 2opremio opened 3 years ago
Version 16 of the protocol was used to resolve an issue in the network. (If interested, there is a blogpost explaining the details).
As a result, CAP35 will be included in Protocol 17. In other words, all the references to Protocol 16 above, now apply to Protocol 17.
This issue lists the changes to the Horizon API introduced by CAP-35. This CAP comprises the public-facing changes in Stellar Protocol 16. The first Horizon version with the updated API is Horizon 2.1.0.
This protocol upgrade is purely additive. We expect a protocol 16 compliant SDK to be able to run successfully against a protocol 16 network.
We are aiming for the following tentative timeline:
New objects
None
Modified objects
Claimable Balance
v1
). For now there's only a possible flag (CLAIMABLE_BALANCE_ENABLED_FLAG
)Trustline
AUTH_CLAWBACK_ENABLED_FLAG
)New endpoints
None
Modified endpoints
None
New Operations
clawback
with the following fields:asset_type
asset_code
asset_issuer
from
- account from which the asset is clawed backamount
- asset amount clawed backclawback_claimable_balance
, with the following fields:balance_id
- claimable balance identifer of the claimable balance to be clawed backset_trust_line_flags
, with the following fields:asset_type
asset_code
asset_issuer
trustor
- account whose trustline is affected by this operationAUTH_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
)New effects
trustline_flags_updated
, with the following fields: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 setclaimable_balance_clawed_back
, with the following fields:balance_id
- claimable balance identifer of the claimable balance clawed backDeprecations
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.