stellar_sdk
stellar_sdk copied to clipboard
Protocol 21 SDK Support
Protocol 21 SDK Support
Once voted in, the release of Protocol 21 will introduce following new CAPs:
- CAP-51: Smart Contract Host Functionality
- CAP-53: Separate host functions to extend the TTL for contract instance and contract code
- CAP-54: Soroban refined VM instantiation cost model
- CAP-55 : Soroban streamlined linking
- CAP-56: Soroban intra-transaction module caching
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:
- simulateTransaction: https://github.com/stellar/soroban-rpc/issues/13
Non Breaking changes:
- Add StateDiff to simulateTransaction Response: https://github.com/stellar/soroban-rpc/pull/120
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
}
- Add ledger Range to getHealth RPC: https://github.com/stellar/soroban-rpc/pull/133
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:
- There are no changes to Horizon APIs
Reference Implementations
Reference implementation authored by SDF:
- JavaScript: https://github.com/stellar/js-stellar-sdk/issues/935
You can follow each respective issue to its implementation PRs.