Releases: astroband/ruby-stellar-sdk
Releases · astroband/ruby-stellar-sdk
Stellar SDK 0.32.0
Stellar SDK 0.31.0
stellar-base
⚠ BREAKING CHANGES
- unconditionally use muxed accounts in tx builder (#250)
Features
Bug Fixes
stellar-horizon
- No changes
stellar-sdk
Features
Stellar SDK 0.30.0
stellar-base
Added
Changed
Stellar::Amount
class moved tostellar-base
gem fromstellar-sdk
Stellar::Horizon::Problem
class moved tostellar-horizon
gemtoml-rb
gem is replaced withtomlrb
gem to work around segfaults in Ruby 3.0
stellar-horizon
Added
Stellar::Horizon::Problem
class moved tostellar-horizon
gem fromstellar-sdk
Stellar::TransactionPage
fromstellar-sdk
is nowStellar::Horizon::TransactionPage
instellar-horizon
gemfaraday
andfaraday_middleware
are now direct dependencies
Changed
stellar-horizon
no longer depends onstellar-sdk
(dependency has been reversed)
stellar-sdk
Added
stellar-sdk
now depends onstellar-horizon
Changed
Stellar::Amount
class moved tostellar-base
gemStellar::Horizon::Problem
class moved tostellar-horizon
gemStellar::TransactionPage
is nowStellar::Horizon::TransactionPage
instellar-horizon
gemtoml-rb
gem is replaced withtomlrb
gem to work around segfaults in Ruby 3.0
Stellar SDK 0.29.0
Stellar SDK 0.28.0
Stellar SDK 0.27.0
Stellar SDK 0.26.0
stellar-base
- No changes
stellar-sdk
Changed
Stellar::SEP10
is updated to comply with SEP10 v3.0.0 and v3.1.0read_challenge_tx`` now verifies
domain` in challenge auth operation, as per SEP10 v3.0.0- it is now possible to provide
auth_domain
parameter to enforce auth server domain verification:build_challenge_tx
will encode the extra auth domain operation into the challenge txread_challenge_tx
will verify that the challenge includes the correct auth domain operation
Stellar SDK 0.25.0
stellar-base
Added
MuxedAccount
implements#to_keypair
conversion protocolMuxedAccount
correctly responds to#address
with strkey encoded public key
Fixed
Transaction::V0#source_account
now properly returnsMuxedAccount
instead of raw bytes
stellar-sdk
Changed
Stellar::SEP10
is updated to comply with SEP10 v2.1.0build_challenge_tx
now acceptsdomain
instead ofanchor_name
, using the
old param name will now result in deprecation warningread_challenge_tx
correctly validates multi-op challenge transactionsverify_challenge_tx_threshold
now expects simple{'GA...' => weight, ... }
hash forsigners
Removed:
- Remove deprecated
Stellar::SEP10.verify_challenge_tx
method
Stellar Protocol 14
Added
- Add conversion methods for KeyPair and Asset
- Stellar Protocol 14 support
- Regenerate XDR wrappers from definitions in stellar-core 14.1.1
- Add CAP-23 Two-Part Payments support
- Add ClaimPredicate DSL methods which help with creation of claim predicates.
# use class-level helpers to create simple predicates unconditional = Stellar::ClaimPredicate.unconditional before_rel_time = Stellar::ClaimPredicate.before_relative_time(1.hour) before_abs_time = Stellar::ClaimPredicate.before_absolute_time(Date.tomorrow.beginning_of_day) # negate predicates using `~` unary operator ~predicate # same as predicate.not # build complex predicates using `&` and `|` infix operators predicate & other_predicate # same as `predicate.and(other_predicate)` predicate | other_predicate # same as `predicate.or(other_predicate)` # quickly define complex predicates using `.compose` class method with the block unconditional = Stellar::ClaimPredicate.compose { } complex = Stellar::ClaimPredicate.compose do before_relative_time(1.week) & ~before_relative_time(10.seconds) | end # here's what building this predicate would look like without DSL complex = Stellar::ClaimPredicate.new( Stellar::ClaimPredicateType::AND, Stellar::ClaimPredicate.new( Stellar::ClaimPredicateType::BEFORE_RELATIVE_TIME, 7 * 24 * 60 * 60 ), Stellar::ClaimPredicate.new( Stellar::ClaimPredicateType::NOT, Stellar::ClaimPredicate.new( Stellar::ClaimPredicateType::BEFORE_RELATIVE_TIME, 10 ) ) )
- Extend Operation with
create_claimable_balance
andclaim_claimable_balance
helpers - Add Claimant and ClaimPredicate DSL methods to reduce the noise.
include Stellar::DSL sender = KeyPair('S....') recipient = 'G....' op = Operation.create_claimable_balance( asset: Stellar::Asset.native, amount: 100, claimants: [ Claimant(recipient) { after(10.seconds) & before(1.week) }, Claimant(sender), # allow unconditional claim-back ] ) ])
- Add simple predicate evaluation feature so that developers can sanity-check their predicates
include Stellar::DSL predicate = ClaimPredicate { before_relative_time(1.week) & ~before_relative_time(10.seconds) } # predicate.evaluate(balance_creation_time, claim_evaluation_time) predicate.evaluate("2020-10-20 09:00:00", "2020-10-20 09:00:05") # => false predicate.evaluate("2020-10-20 09:00:00", "2020-10-20 09:01:00") # => true predicate.evaluate("2020-10-20 09:00:00", "2020-10-27 08:50:00") # => true # you can also pass an instance of ActiveSupport::Duration as a second parameter, in this case # it works as a relative offset from `balance_creation_time` predicate.evaluate("2020-10-20 09:00:00", 1.week + 1.second) # => false # it is effectively the same as predicate.evaluate("2020-10-20 09:00:00", "2020-10-27 09:00:01") # => false
- Add ClaimPredicate DSL methods which help with creation of claim predicates.
- Add CAP-33 Sponsored Reserves support
- Extend the operation class with helpers that allow sponsoring reserves and also revoke sponsorships.
Operation.begin_sponsoring_future_reserves
Operation.end_sponsoring_future_reserves
Operation.revoke_sponsorship(account_id:)
Operation.revoke_sponsorship(account_id:, asset:)
Operation.revoke_sponsorship(account_id:, offer_id:)
Operation.revoke_sponsorship(account_id:, data_name:)
Operation.revoke_sponsorship(account_id:, balance_id:)
Operation.revoke_sponsorship(account_id:, signer:)
- Extend the operation class with helpers that allow sponsoring reserves and also revoke sponsorships.
stellar-base v0.24.0.pre.1
Protocol 14