- Transactions will now be stored in a database rather than in memory (#174).
You can opt-in to longer transaction retention by setting --transaction-retention-window
/ TRANSACTION_RETENTION_WINDOW
to a higher number of ledgers. This will also retain corresponding number of ledgers in the database. Keep in mind, of course, that this will cause an increase in disk usage for the growing database.
- There is a new
getTransactions
endpoint with the following API (#136):
interface Request {
startLedger: number; // uint32
pagination?: {
cursor?: string;
limit?: number; // uint
}
}
interface Response {
transactions: Transaction[]; // see below
latestLedger: number; // uint32
latestLedgerCloseTimestamp: number; // int64
oldestLedger: number; // uint32
oldestLedgerCloseTimestamp: number; // int64
cursor: string;
}
interface Transaction {
status: boolean; // whether or not the transaction succeeded
applicationOrder: number; // int32, index of the transaction in the ledger
feeBump: boolean; // if it's a fee-bump transaction
envelopeXdr: string; // TransactionEnvelope XDR
resultXdr: string; // TransactionResult XDR
resultMetaXdr: string; // TransactionMeta XDR
ledger: number; // uint32, ledger sequence with this transaction
createdAt: int64; // int64, UNIX timestamp the transaction's inclusion
diagnosticEventsXdr?: string[]; // if failed, DiagnosticEvent XDRs
}
- Dependencies have been updated (
stellar/go
) to enableENABLE_DIAGNOSTICS_FOR_TX_SUBMISSION
by default (#179).
- The Captive Core path is supplied correctly for TOML generation (#178).
- A new
getVersionInfo
RPC endpoint providing versioning info (#132):
interface getVersionInfo {
version: string;
commit_hash: string;
build_time_stamp: string;
captive_core_version: string;
protocol_version: number; // uint32
}
- Deadlock on events ingestion error (#167).
- Correctly report row iteration errors in
StreamAllLedgers
(#168). - Increase default ingestion timeout (#169).
- Surface an ignored error in
getRawLedgerEntries()
(#170).
This outlines the formatting expectations for the CHANGELOG.md file.
If necessary, drop a summary here (e.g. "This release supports Protocol 420.")
- This is a pull request description and it should be quite detailed if it's a breaking change. Ideally, you would even include a bit of helpful notes on how to migrate/upgrade if that's necessary. For example, if an API changes, you should provide deep detail on the delta.
- Anything added should have a details on its schema or command line arguments ([#NNNN](link to github pr)).
- Be sure you describe who is affected and how.