-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Description
Protocol 23: SDK Changes
XDR Changes
- XDR should be upgraded to stellar-xdr@
4b7a2e. This includes, but is not limited to:- Handling
LedgerCloseMetaV2andTransactionMetaV4 - Handling the new variants of
ScAddresswhich can include muxed accounts, claimable balances, and liquidity pools - Adding support for
StrKeys to encode claimable balances and liquidity pools, per SEP-23 - Several fields have been renamed, though their semantic meaning is identical.
- Handling
Horizon
/assetswill no longer includenum_archived_contractsandarchived_contracts_amount/async_transactiondrops the previously-deprecated fielderrorResultXdr/operationsand/payments, when returning anInvokeHostFunctionoperation involving a SAC transfer, will now include a new field under theasset_balance_changeslist to convey muxed account information (when present):
destination_muxed_id: string; // a uint64RPC
API Changes
getTransactionandgetTransactionshave changed in how they display events for the transaction:- The top-level
diagnosticEvents[Xdr|Json]field is now deprecated. - There is instead a new top-level object for found transactions. Note that each of these can also have a
Jsonsuffix variation if"xdrFormat": "json"is passed to the request, if your SDK supports that mode of operation.
- The top-level
+"events": {
+ "diagnosticEventsXdr": [], // base64-encoded list of `xdr.DiagnosticEvent`s
+ "transactionEventsXdr": [], // base64-encoded list of `xdr.TransactionEvent`s
+ // base64-encoded list of lists of `xdr.ContractEvent`s, where each element of
+ // the list corresponds to the events for that operation in the transaction
+ "contractEventsXdr": [[]],
+}getEventswill now:- drop the previously deprecated
pagingTokenfield entirely in lieu ofcursor - requests can include a
**for a topic filter as its last element to allow 0+ trailing topics matching the filter - no longer return events with
"type" == "diagnostic" - return events for failed transactions
- deprecate the field
inSuccessfulContractCall - include a field
opIndex: uint32representing the operation at which an event occurred - include details about the RPC's ledger range at the top level of its response:
- drop the previously deprecated
+ "oldestLedger": 0, // uint32
+ "latestLedgerCloseTime": "0", // uint64 as a string
+ "oldestLedgerCloseTime": "0" // uint64 as a stringsimulateTransactionhas a new, optionalauthModeparameter:
authMode?: "" | "enforce" | "record" | "record_allow_nonroot"You can refer to the release notes for more details.
Metadata
Metadata
Assignees
Labels
No labels