This pre-release adds support for Protocol 18.
horizonclient
- The restriction that
Fundcan only be called on the DefaultTestNetClient has been removed. Anyhorizonclient.Clientmay now call Fund. Horizon instances not supporting funding will error with a resource not found error. - Change
AccountRequestto acceptSponsorandLiquidityPoolfilters - Change
EffectRequest,TransactionRequest, andOperationRequestto accept aForLiquidityPoolfilter - Change
TradeRequestto accept both aForLiquidityPoolfilter or aTradeTypefilter - Add
LiquidityPoolsRequestfor getting details about liquidity pools, with an optionalReservesfield to filter by pools' reserve asset(s). - Add
LiquidityPoolRequestfor getting details about a specific liquidity pool via theLiquidityPoolIDfilter.
txnbuild
New features
GenericTransaction,Transaction, andFeeBumpTransactionnow implement
encoding.TextMarshalerandencoding.TextUnmarshaler.- New asset structures that conform to the new ChangeTrust and New assets:
- Support for the core liquidity pool XDR types:
LiquidityPoolId,LiquidityPoolParameters,LiquidityPoolDeposit, andLiquidityPoolWithdraw. - Support for the new asset structures:
ChangeTrustAssetandTrustLineAsset.
Changes
- There's now a 5-minute grace period to
transaction.ReadChallengeTx's minimum time bound constraint (#3824). - Assets can now be liquidity pool shares (
AssetTypePoolShare). - All asset objects can now be converted to the new
ChangeTrustAssetandTrustLineAssetobjects. - Assets can now be compared in accordance with the protocol, see their respective
LessThan()implementations.
Breaking changes
ChangeTrustrequires aChangeTrustAsset.RevokeSponsorshiprequires aTrustLineAssetwhen revoking trustlines.RemoveTrustlineOphelper now requires aChangeTrustAssetvalidate*Assethelpers now require more-specific asset types.