Skip to content

Releases: astroband/ruby-stellar-sdk

Stellar SDK 0.32.0

17 May 12:46
254d022
Compare
Choose a tag to compare

stellar-base

Added

  • protocol support Stellar protocol 19 (#265) (fead030)

stellar-horizon

  • No changes

stellar-sdk

  • No changes

Stellar SDK 0.31.0

21 Feb 03:30
v0.31.0
d1ab7b8
Compare
Choose a tag to compare

stellar-base

⚠ BREAKING CHANGES

  • unconditionally use muxed accounts in tx builder (#250)

Features

  • unconditionally use muxed accounts in tx builder (#250) (8537fa7)

Bug Fixes

  • correctly serialize manage data op with empty value (#258) (dea0bac)

stellar-horizon

  • No changes

stellar-sdk

Features

  • Stellar::SEP10 uses 5 minutes grace period for challenge tx (#256) (0d02663)

Stellar SDK 0.30.0

13 Oct 23:20
v0.30.0
d175324
Compare
Choose a tag to compare

stellar-base

Added

  • protocol support Stellar protocol 18 (#202) (3cd93dc)

Changed

  • Stellar::Amount class moved to stellar-base gem from stellar-sdk
  • Stellar::Horizon::Problem class moved to stellar-horizon gem
  • toml-rb gem is replaced with tomlrb gem to work around segfaults in Ruby 3.0

stellar-horizon

Added

  • Stellar::Horizon::Problem class moved to stellar-horizon gem from stellar-sdk
  • Stellar::TransactionPage from stellar-sdk is now Stellar::Horizon::TransactionPage in stellar-horizon gem
  • faraday and faraday_middleware are now direct dependencies

Changed

  • stellar-horizon no longer depends on stellar-sdk (dependency has been reversed)

stellar-sdk

Added

  • stellar-sdk now depends on stellar-horizon

Changed

  • Stellar::Amount class moved to stellar-base gem
  • Stellar::Horizon::Problem class moved to stellar-horizon gem
  • Stellar::TransactionPage is now Stellar::Horizon::TransactionPage in stellar-horizon gem
  • toml-rb gem is replaced with tomlrb gem to work around segfaults in Ruby 3.0

Stellar SDK 0.29.0

07 Sep 04:04
v0.29.0
c98f836
Compare
Choose a tag to compare

stellar-sdk

Features

  • support for client domain in SEP-10 (#201) (37cd954)
  • Horizon client is extracted to the separate gem (#194) (e52ecc4)

stellar-horizon

Features

  • Initial setup of the gem, copying all Horizon-related features from sdk gem (#194) (e52ecc4)

Stellar SDK 0.28.0

20 Jul 11:47
v0.28.0
Compare
Choose a tag to compare

stellar-base

Features

  • support muxed accounts in tx builder (#162) (37cd954)

stellar-sdk

Changes

  • Stellar::Account class is now part of stellar-base gem
  • Stellar::Account.lookup is deprecated, use Stellar::Federation.lookup instead

Stellar SDK 0.27.0

09 May 15:25
v0.27.0
3e83d9f
Compare
Choose a tag to compare

stellar-base

Features

  • protocol: support Stellar protocol 17 (#137) (5fea84d)

stellar-sdk

  • No changes

Stellar SDK 0.26.0

05 Feb 11:56
v0.26.0
571cb1b
Compare
Choose a tag to compare

stellar-base

  • No changes

stellar-sdk

Changed

  • Stellar::SEP10 is updated to comply with SEP10 v3.0.0 and v3.1.0
    • read_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 tx
      • read_challenge_tx will verify that the challenge includes the correct auth domain operation

Stellar SDK 0.25.0

30 Oct 21:16
v0.25.0
3454e71
Compare
Choose a tag to compare

stellar-base

Added

  • MuxedAccount implements #to_keypair conversion protocol
  • MuxedAccount correctly responds to #address with strkey encoded public key

Fixed

  • Transaction::V0#source_account now properly returns MuxedAccount instead of raw bytes

stellar-sdk

Changed

  • Stellar::SEP10 is updated to comply with SEP10 v2.1.0
    • build_challenge_tx now accepts domain instead of anchor_name, using the
      old param name will now result in deprecation warning
    • read_challenge_tx correctly validates multi-op challenge transactions
    • verify_challenge_tx_threshold now expects simple {'GA...' => weight, ... } hash for signers

Removed:

  • Remove deprecated Stellar::SEP10.verify_challenge_tx method

Stellar Protocol 14

20 Oct 19:19
v0.24.0
3ff80aa
Compare
Choose a tag to compare

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 and claim_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 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:)

stellar-base v0.24.0.pre.1

20 Oct 18:25
03c94ac
Compare
Choose a tag to compare
Pre-release

Protocol 14