stellar-sdk
Advanced tools
Changelog
Server
namespace but didn't actually deal with
the Server
class have been broken out into a new namespace, ServerApi
.
So, for example, Server.AccountRecord
-> ServerApi.AccountRecord
.Server.AccountResponse
is out of the Server
namespace ->
AccountResponse
Server.*CallBuilder
is out of the Server
namespace -> *CallBuilder
HorizonResponseAccount
is now Horizon.AccountResponse
Many thanks to @Ffloriel and @Akuukis for their help with this release!
Changelog
ContractClient
functionality previously added in v11.3.0 was exported in a non-standard way. You can now import it as any other stellar-sdk
module (#962):-import { ContractClient } from '@stellar/stellar-sdk/lib/contract_client'
+import { contract } from '@stellar/stellar-sdk'
+const { Client } = contract
Note that this top-level contract
export is a container for ContractClient and related functionality. The ContractClient
class is now available at contract.Client
, as shown. Further note that there is a capitalized Contract
export as well, which comes from stellar-base. You can remember which is which because capital-C Contract
is a class, whereas lowercase-c contract
is a container/module with a bunch of classes, functions, and types.
Additionally, this is available from the /contract
entrypoint, if your version of Node and TypeScript support the exports
declaration. Finally, some of its exports have been renamed:
import {
- ContractClient,
+ Client,
AssembledTransaction,
- ContractClientOptions,
+ ClientOptions,
SentTransaction,
-} from '@stellar/stellar-sdk/lib/contract_client'
+} from '@stellar/stellar-sdk/contract'
ContractSpec
class is now nested under the contract
module, and has been renamed to Spec
(#962). Alternatively, you can import this from the contract
entrypoint, if your version of Node and TypeScript support the exports
declaration:-import { ContractSpec } from '@stellar/stellar-sdk'
+import { contract } from '@stellar/stellar-sdk'
+const { Spec } = contract
// OR
+import { Spec } from '@stellar/stellar-sdk/contract'
AssembledTransaction.signAndSend()
would return a SentTransaction
even if the transaction was never finalized. That is, if it successfully sent the transaction to the network, but the transaction was still status: 'PENDING'
, then it would console.error
an error message, but return the indeterminate transaction anyhow. It now throws a SentTransaction.Errors.TransactionStillPending
error with that error message instead (#962).SorobanRpc
module is now also exported as rpc
(#962). You can import it with either name for now, but SorobanRpc
will be removed in a future release:-import { SorobanRpc } from '@stellar/stellar-sdk'
+import { rpc } from '@stellar/stellar-sdk'
You can also now import it at the /rpc
entrypoint, if your version of Node and TypeScript support the exports
declaration.
-import { SorobanRpc } from '@stellar/stellar-sdk'
-const { Api } = SorobanRpc
+import { Api } from '@stellar/stellar-sdk/rpc'
contract.Client
(#960):
from(opts: ContractClientOptions)
instantiates contract.Client
by fetching the contractId
's WASM from the network to fill out the client's ContractSpec
.fromWasm
and fromWasmHash
methods to instantiate a contract.Client
when you already have the WASM bytes or hash alongside the contract.ClientOptions
.rpc.Server
(#960):
getContractWasmByContractId
and getContractWasmByHash
to retrieve a contract's WASM bytecode via its contractId
or wasmHash
, respectively.contract
module to be used in non-Node environments.Changelog
This update supports Protocol 21. It is an additive change to the protocol so there are no true backwards incompatibilities, but your software may break if you encounter new unexpected fields from this Protocol (#949).
txTooLate
error response from the server. Five minutes is also the value used by the CLI, so this brings the two into alignment (#956).