stellar / js-stellar-base

The lowest-level stellar helper library. It consists of classes to read, write, hash, and sign Stellar xdr
https://stellar.github.io/js-stellar-base/
Apache License 2.0
108 stars 137 forks source link

Protocol 21 SDK Support #742

Closed psheth9 closed 6 months ago

psheth9 commented 6 months ago

Protocol 21 SDK Support

Once voted in, the release of Protocol 21 will introduce following new CAPs:

XDR changes:

XDR update issue details - https://github.com/stellar/stellar-xdr/commit/1a04392432dacc0092caaeae22a600ea1af3c6a5

Reference Implementations: js-sdk - https://github.com/stellar/js-stellar-base/pull/738

Soroban API Changes:

Breaking Changes:

Non Breaking changes:

New optional field in SimulateTransactionResponse which indicates how the state (ledger entries) will change as a result of the transaction execution.

StateDiff       []LedgerEntryDiff            `json:"stateDiff,omitempty"`   

type LedgerEntryDiff struct {
    Before string `json:"before,omitempty"` // LedgerEntry XDR in base64
    After  string `json:"after,omitempty"`  // LedgerEntry XDR in base64
}

New Ledger Range and Ledger Retention Window in getHealth Response


type HealthCheckResult struct {
    Status                string `json:"status"`
    LatestLedger          uint32 `json:"latestLedger"` // New
    OldestLedger          uint32 `json:"oldestLedger"` // New
    LedgerRetentionWindow uint32 `json:"ledgerRetentionWindow"` // New
}

Horizon API Changes:

Reference Implementations

Reference implementation authored by SDF:

You can follow each respective issue to its implementation PRs.

Shaptic commented 6 months ago

Closed by https://github.com/stellar/js-stellar-base/pull/738