Skip to content

Protocol 23 release candidate 1

Pre-release
Pre-release

Choose a tag to compare

@christian-rogobete christian-rogobete released this 07 Jul 13:13
· 213 commits to master since this release

This is the first release candidate for the Stellar Protocol 23 support. See #171

Horizon updates:

  • remove deprecated fields numArchivedContracts and archivedContractsAmount from AssetResponse
  • add new field destinationMuxedId to AssetBalanceChange
  • remove deprecated field errorResultXdr from SubmitTransactionAsyncResponse

Soroban rpc:

  • add new authMode field to SimulateTransactionRequest
  • extend GetTransactionResponse and GetTransactionsResponse to support the new field events (TransactionEvents) holding the diagnostic, transaction and contract events.
  • add the new ext field to LedgerEntry from getLedgerEntries(...)
  • extend testing for parsing the different kinds of events returned in GetTransactionResponse and GetTransactionsResponse

StrKey (String+KeyUtils & Data+KeyUtils):

  • add support for StrKey claimable balance ids ("B...")
  • add support for StrKey liquidity pool ids ("L...")
  • accept StrKey claimable balance ids ("B...") in: ClaimClaimableBalanceOperation.init, ClawbackClaimableBalanceOperation.init, ClaimableBalancesService.getClaimableBalance, OperationsService.getOperations(forClaimableBalance,...), TransactionsService.getTransactions(forClaimableBalance,...) RevokeSponsorshipOperation.revokeClaimableBalanceSponsorshipLedgerKey, ClaimableBalanceIDXDR.init, SCAddressXDR.init and TxRep
  • accept StrKey liquidity pool ids ("L...") in LiquidityPoolDepositOperation.init,LiquidityPoolWithdrawOperation.init, LiquidityPoolsService.getLiquidityPool, OperationsService.getOperations(forLiquidityPool,...), TransactionsService.getTransactions(forLiquidityPool,...), AccountService.getAccounts, EffectsService.getEffects, SCAddressXDR.init, LiquidityPoolDepositOpXDR.init, LiquidityPoolWithdrawOpXDR.init and TxRep
  • update VersionByte case names.
  • add a new StrKey test case (StrKeyTest).
  • extend Amm and Operations test cases for the new StrKey claimable balance ids and liquidity pool ids

XDR changes:

  • extend SCAddressXDR to support muxed accounts, claimable balance ids and liquidity pool ids
  • extend SCSpecType to support muxed account addresses
  • TransactionMetaXDR: add transaction meta v4 support to TransactionMetaXDR, add TransactionMetaV4XDR, OperationMetaV2XDR and TransactionEventXDR
  • extend ContractCostType to support the new cost types
  • ContractSpecXDR: add support for spec events (SCSpecEventV0XDR). Add SCSpecEventV0XDR, SCSpecEventParamV0XDR, SCSpecEventDataFormat and SCSpecEventParamLocationV0
  • SorobanResourcesExt: add support for indices representing what Soroban entries in the footprint are archived (new case ressourceExt holding new SorobanResourcesExtV0)
  • add restored case to LedgerEntryChangeXDR
  • ConfigSettingContractLedgerCostV0XDR: rename txMaxReadLedgerEntries to txMaxDiskReadEntries, ledgerMaxDiskReadBytesto txMaxDiskReadBytes, feeReadLedgerEntry to feeDiskReadLedgerEntry, feeRead1KB to feeDiskRead1KB, bucketListTargetSizeBytes to sorobanStateTargetSizeBytes, writeFee1KBBucketListLow to rentFee1KBSorobanStateSizeLow, writeFee1KBBucketListHigh to rentFee1KBSorobanStateSizeHigh, bucketListWriteFeeGrowthFactor to sorobanStateRentFeeGrowthFactor
  • extend ConfigSettingEntryXDR with new cases for contractParallelCompute, contractLedgerCostExt and contractSCPTiming
  • rename bucketListSizeWindow case in ConfigSettingEntryXDR to liveSorobanStateSizeWindow
  • add ConfigSettingContractParallelComputeV0, ConfigSettingContractLedgerCostExtV0 and ConfigSettingSCPTiming
  • StateArchivalSettingsXDR: rename bucketListSizeWindowSampleSize to liveSorobanStateSizeWindowSampleSize and bucketListWindowSamplePeriod to liveSorobanStateSizeWindowSamplePeriod
  • ConfigSettingID: add new cases for contractParallelComputeV0, contractLedgerCostExtV0 and scpTiming, rename bucketListSizeWindow case to liveSorobanStateSizeWindow

SEP-11 (TxRep):

  • update TxRep to support new address types for muxed accounts, claimable balances and liquidity pools.
  • accept new StrKey claimable balance ids ("B...")
  • accept new StrKey liquidity pool ids ("L...")
  • rename readBytes to diskReadBytes for SorobanResourcesXDR. TxRep can still read the old version (readBytes) but writes diskReadBytes now.
  • rename CONFIG_SETTING_BUCKETLIST_SIZE_WINDOW to CONFIG_SETTING_LIVE_SOROBAN_STATE_SIZE_WINDOW
    for ConfigSettingID. TxRep can still read the old value (CONFIG_SETTING_BUCKETLIST_SIZE_WINDOW) but writes CONFIG_SETTING_LIVE_SOROBAN_STATE_SIZE_WINDOW now.
  • add support for SorobanResourcesExt extension holding indices representing what Soroban entries in the footprint are archived.

Other improvements:

  • remove deprecated initializers that use KeyPair for: PaymentOperation, PathPaymentOperation, PathPaymentStrictReceiveOperation, PathPaymentStrictSendOperation, PathPaymentStrictSendOperation, ManageOfferOperation, ManageDataOperation, ManageBuyOfferOperation, ManageSellOfferOperation, CreatePassiveOfferOperation, CreateAccountOperation, BumpSequenceOperation, AllowTrustOperation, AccountMergeOperation, SetOptionsOperation, Operation. Please use the initializers accepting account ids instead.
  • SEP-01: Token and Path objects are now hashable
  • SEP-02: Improve federation test
  • SEP-10: update web auth test case for new testanchor signing key
  • extend SimulateTransactionResponse by adding needsRestoreFootprint (true if the simulation detected expired ledger entries which requires restoring)
  • improve soroban test cases
  • overall code improvements: handle warnings & deprecations from other libs, update comments