v11.0.0
This is the stable Protocol 20 release.
v11.0.0: Protocol 20, Soroban!
Breaking Changes
- The package has been renamed: it is now
@stellar/stellar-sdk
. - The new minimum version is Node 18.
- The
soroban-client
library (stellar/js-soroban-client) has been merged into this package, causing significant breaking changes in the module structure (#860):- The namespaces have changed to move each server-dependent component into its own module. Shared components (e.g.
TransactionBuilder
) are still in the top level, Horizon-specific interactions are in theHorizon
namespace (i.e.Server
is nowHorizon.Server
), and new Soroban RPC interactions are in theSorobanRpc
namespace. - There is a detailed migration guide available to outline both the literal (i.e. necessary code changes) and philosophical (i.e. how to find certain functionality) changes needed to adapt to this merge.
- The namespaces have changed to move each server-dependent component into its own module. Shared components (e.g.
- The
SorobanRpc.Server.prepareTransaction
andSorobanRpc.assembleTransaction
methods no longer need an optionalnetworkPassphrase
parameter, because it is implicitly part of the transaction already (#870). - Certain effects have been renamed to align better with the "tense" that other structures have (#844):
DepositLiquidityEffect
->LiquidityPoolDeposited
WithdrawLiquidityEffect
->LiquidityPoolWithdrew
LiquidityPoolTradeEffect
->LiquidityPoolTrade
LiquidityPoolCreatedEffect
->LiquidityPoolCreated
LiquidityPoolRevokedEffect
->LiquidityPoolRevoked
LiquidityPoolRemovedEffect
->LiquidityPoolRemoved
Added
- New effects have been added to support Protocol 20 (Soroban) (#842):
ContractCredited
occurs when a Stellar asset moves into its corresponding Stellar Asset Contract instanceContractDebited
occurs when a Stellar asset moves out of its corresponding Stellar Asset Contract instance
- Asset stat records (
ServerApi.AssetRecord
) contain two new fields to support the Protocol 20 (Soroban) release (#841):num_contracts
- the integer quantity of contracts that hold this assetcontracts_amount
- the total units of that asset held by contracts
- New operation responses (#845):
invokeHostFunction
: seeHorizon.InvokeHostFunctionOperationResponse
bumpFootprintExpiration
: seeHorizon.BumpFootprintExpirationOperationResponse
restoreFootprint
: seeHorizon.RestoreFootprintOperationResponse
- You can refer to the actual definitions for details, but the gist of the schemas is below:
interface InvokeHostFunctionOperationResponse {
function: string;
parameters: {
value: string;
type: string;
}[];
address: string;
salt: string;
asset_balance_changes: {
type: string;
from: string;
to: string;
amount: string;
}[];
}
interface BumpFootprintExpirationOperationResponse {
ledgersToExpire: string;
}
interface RestoreFootprintOperationResponse {};
Updated
- Build system has been overhauled to support Webpack 5 (#814).
stellar-base
has been updated to its corresponding overhaul (#818).- Bundle size has decreased by dropping unnecessary dependencies (
lodash
: #822,es6-promise
: #823, polyfills: #825,detect-node
: #831). - Dependencies have been updated to their latest versions (#825, #827).
- The
stellar-base
library has been upgraded to support the latest Protocol 20 XDR schema and all Soroban functionality (#861).
Fixed
- Missing fields have been added to certain API responses (#801 and #797).
- Some effect definitions that were missing have been added (#842):
ClaimableBalanceClawedBack
is now definedtype EffectRecord
now has all of the effect types
- The
PaymentCallBuilder
was incorrectly indicating that it would return a collection ofPayment
records, while in reality it can return a handful of "payment-like" records (#885).
New Contributors
- @jhuntbach-bc made their first contribution in #801
- @kknownymouss made their first contribution in #797
- @criadoperez made their first contribution in #853
- @IgorShadurin made their first contribution in #879
Full Changelog: v10.4.1...v11.0.0