stellar_sdk icon indicating copy to clipboard operation
stellar_sdk copied to clipboard

Protocol 21 SDK Support

Open psheth9 opened this issue 9 months ago • 0 comments

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.

psheth9 avatar May 06 '24 20:05 psheth9