Releases: StellarCN/py-stellar-base
2.3.2
2.4.0-alpha1
This update include breaking changes.
This version brings protocol 13 support with backwards compatibility support for protocol 12.
If you want to help us test this alpha version, you can install it by running pip install stellar-sdk==2.4.0a1
, please do not use this alpha version in production.
Added
- Add
TransactionBuilder.build_fee_bump_transaction
which makes it easy to createFeeBumpTransaction
, we have written an example, please click here to view it (#298). - Adds a feature flag which allow consumers of this library to create V1 (Protocol 13) transactions using the
TransactionBuilder
(#298). - Add support for CAP-0027: First-class multiplexed accounts (#300).
- Add
Keypair.xdr_muxed_account
which creates a newMuxedAccount
(#300). - Add
FeeBumpTransaction
andFeeBumpTransactionEnvelope
which makes it easy to work with fee bump transactions (#298). - Add
stellar_sdk.helpers.parse_transaction_envelope_from_xdr
which makes it easy to parseTransactionEnvelope
andFeeBumpTransactionEnvelope
(#298).
Update
- Update XDR definitions with protocol 13.
- Extend
TransactionEnvelope
to work withTransactionEnvelope
andFeeBumpTransactionEnvelope
(#298). - Add backward compatibility support for CAP-0018 (#307).
Breaking changes
-
The type of
Transaction.source
changes fromKeypair
tostr
. -
In this version, some changes have occurred in the XDR files. If you depend on them, please click here to view the changes.
-
The following XDR fields, which were previously an
AccountID
are now aMuxedAccount
(#300):PaymentOp.destination
PathPaymentStrictReceiveOp.destination
PathPaymentStrictSendOp.destination
OperationOp.source
Operation.destination
(forACCOUNT_MERGE
)Transaction.source
FeeBumpTransaction.feeSource
You can get the string representation by calling
StrKey.encode_muxed_account
which will return aG..
orM..
account.
2.3.1
2.3.0
Added
-
Add SEP-0029 (memo required) support. (#291)
ExtendsServer.submit_transaction
to always run a memo required check before
sending the transaction. If any of the destinations require a memo and the
transaction doesn't include one, then anAccountRequiresMemoError
will be thrown.This may degrade performance, but you can skip this check by passing
skip_memo_required_check=True
toServer.submit_transaction
:server.submit_transaction(tx, skip_memo_required_check=True)
The check runs for each operation of type:
Payment
PathPaymentStrictReceive
PathPaymentStrictSend
AccountMerge
If the transaction includes a memo, then memo required checking is skipped.
See SEP-0029 for more information about memo required check.
Changed
- Optimize the processing of horizon parameters. (#289)
2.2.3
2.2.2
2.2.1
2.1.4
2.2.0
Horizon v1.0.0 Compatibility.
Added
-
Add support for top-level offers endpoint with
seller
,selling
, andbuying
filter.
Horizon 1.0 includes a new/offers
end-point, which allows you to list all offers, supporting filtering byseller
,selling
, orbuying
asset.You can fetch data from this endpoint by doing
server.offers()
and use any of the following filters:seller
:server.offers().for_seller(account_id)
buying
:server.offers().for_buying(asset)
selling
:server.offers().for_selling(asset)
offer detail
:server.offers().offer(offer_id)
This introduced a breaking change since it modified the signature for the function
server.offers()
.Before, if you wanted to list all the offers for a given account, you'd do:
server.offers(account_id)
Starting on this version you'll need to do:
server.offers().for_seller(account_id)
You can do now things that were not possible before, like finding
all offers for an account filtering by the selling or buying assetserver.offers().for_seller(account_id).for_buying(buying_asset).for_selling(selling_asset)
-
Add support for filtering accounts by
signer
orasset
, this has been released in a previous patch version.
Horizon 1.0 includes a new/accounts
end-point, which allows you to list all accounts who have another account as a signer or hold a given asset.You can fetch data from this endpoint by doing
server.accounts()
and use any of the following filters:acount detail
:server.accounts().account_id(account_id)
, returns a single account.for signer
:server.accounts().for_signer(account_id)
, returns accounts whereaccount_id
is a signer.for asset
:server.accounts().for_asset(asset)
, returns accounts which hold theasset
.
Changed
Fixed
- Fixed some documentation errors.
Breaking
-
Change function signature for
server.offers
.
The signature for the functionserver.offers()
was changed to bring support for other filters.Before, if you wanted to list all the offers for a given account, you'd do:
server.offers(account_id)
Starting on this version you'll need to do:
server.offers().for_seller(account_id)
server.accounts().signer
andserver.accounts().asset
are marked as deprecated, useserver.accounts().for_signer
andserver.accounts().for_asset
instead.
There are also some changes related to the horizon's response, currently, SDK has not added parse support to it,
so please refer to this issue or release notes of Stellar horizon 1.0.0. In addition, support for parsing the horizon's responses will be added in the next major update.
2.1.3
- fix: fix the bug in SEP-0010 implementation.