stellar-base 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/generated/stellar/allow_trust_result_code.rb +4 -1
  4. data/generated/stellar/alpha_num12.rb +20 -0
  5. data/generated/stellar/alpha_num4.rb +20 -0
  6. data/generated/stellar/asset.rb +2 -15
  7. data/generated/stellar/asset_type.rb +3 -1
  8. data/generated/stellar/change_trust_asset.rb +39 -0
  9. data/generated/stellar/change_trust_op.rb +2 -2
  10. data/generated/stellar/change_trust_result_code.rb +13 -7
  11. data/generated/stellar/claim_atom.rb +31 -0
  12. data/generated/stellar/claim_atom_type.rb +24 -0
  13. data/generated/stellar/claim_liquidity_atom.rb +30 -0
  14. data/generated/stellar/claim_offer_atom_v0.rb +33 -0
  15. data/generated/stellar/envelope_type.rb +10 -8
  16. data/generated/stellar/{operation_id/id.rb → hash_id_preimage/operation_id.rb} +2 -2
  17. data/generated/stellar/{operation_id.rb → hash_id_preimage/revoke_id.rb} +12 -16
  18. data/generated/stellar/hash_id_preimage.rb +44 -0
  19. data/generated/stellar/ledger_entry/data.rb +4 -0
  20. data/generated/stellar/ledger_entry.rb +2 -0
  21. data/generated/stellar/ledger_entry_type.rb +3 -1
  22. data/generated/stellar/ledger_header/ext.rb +4 -0
  23. data/generated/stellar/ledger_header.rb +2 -0
  24. data/generated/stellar/{asset/alpha_num12.rb → ledger_header_extension_v1/ext.rb} +9 -7
  25. data/generated/stellar/ledger_header_extension_v1.rb +30 -0
  26. data/generated/stellar/ledger_header_flags.rb +24 -0
  27. data/generated/stellar/{asset/alpha_num4.rb → ledger_key/liquidity_pool.rb} +4 -6
  28. data/generated/stellar/ledger_key/trust_line.rb +2 -2
  29. data/generated/stellar/ledger_key.rb +10 -1
  30. data/generated/stellar/ledger_upgrade.rb +4 -0
  31. data/generated/stellar/ledger_upgrade_type.rb +3 -1
  32. data/generated/stellar/liquidity_pool_constant_product_parameters.rb +22 -0
  33. data/generated/stellar/liquidity_pool_deposit_op.rb +26 -0
  34. data/generated/stellar/liquidity_pool_deposit_result.rb +26 -0
  35. data/generated/stellar/liquidity_pool_deposit_result_code.rb +41 -0
  36. data/generated/stellar/liquidity_pool_entry/body/constant_product.rb +31 -0
  37. data/generated/stellar/liquidity_pool_entry/body.rb +37 -0
  38. data/generated/stellar/liquidity_pool_entry.rb +38 -0
  39. data/generated/stellar/liquidity_pool_parameters.rb +23 -0
  40. data/generated/stellar/liquidity_pool_type.rb +20 -0
  41. data/generated/stellar/liquidity_pool_withdraw_op.rb +24 -0
  42. data/generated/stellar/liquidity_pool_withdraw_result.rb +26 -0
  43. data/generated/stellar/liquidity_pool_withdraw_result_code.rb +36 -0
  44. data/generated/stellar/manage_offer_success_result.rb +2 -2
  45. data/generated/stellar/operation/body.rb +8 -0
  46. data/generated/stellar/operation.rb +4 -0
  47. data/generated/stellar/operation_result/tr.rb +8 -0
  48. data/generated/stellar/operation_result.rb +4 -0
  49. data/generated/stellar/operation_type.rb +5 -1
  50. data/generated/stellar/path_payment_strict_receive_result/success.rb +2 -2
  51. data/generated/stellar/path_payment_strict_receive_result.rb +1 -1
  52. data/generated/stellar/path_payment_strict_send_result/success.rb +2 -2
  53. data/generated/stellar/path_payment_strict_send_result.rb +1 -1
  54. data/generated/stellar/revoke_sponsorship_result_code.rb +3 -1
  55. data/generated/stellar/scp_quorum_set.rb +2 -2
  56. data/generated/stellar/set_trust_line_flags_result_code.rb +4 -1
  57. data/generated/stellar/trust_line_asset.rb +39 -0
  58. data/generated/stellar/trust_line_entry/ext/v1/ext.rb +4 -0
  59. data/generated/stellar/trust_line_entry/ext/v1.rb +2 -0
  60. data/generated/stellar/trust_line_entry/ext.rb +2 -0
  61. data/generated/stellar/trust_line_entry.rb +7 -5
  62. data/generated/stellar/trust_line_entry_extension_v2/ext.rb +24 -0
  63. data/generated/stellar/trust_line_entry_extension_v2.rb +30 -0
  64. data/generated/stellar-base-generated.rb +25 -1
  65. data/lib/stellar/account_flags.rb +1 -1
  66. data/lib/stellar/amount.rb +36 -0
  67. data/lib/stellar/asset.rb +8 -0
  68. data/lib/stellar/dsl.rb +3 -0
  69. data/lib/stellar/ledger_key.rb +5 -3
  70. data/lib/stellar/liquidity_pool/base_pool.rb +47 -0
  71. data/lib/stellar/liquidity_pool/constant_product_pool.rb +15 -0
  72. data/lib/stellar/liquidity_pool.rb +12 -0
  73. data/lib/stellar/operation.rb +346 -444
  74. data/lib/stellar/price.rb +13 -7
  75. data/lib/stellar/transaction_builder.rb +8 -5
  76. data/lib/stellar/version.rb +1 -1
  77. data/lib/stellar-base.rb +2 -0
  78. metadata +39 -10
data/lib/stellar/price.rb CHANGED
@@ -3,23 +3,29 @@ module Stellar
3
3
  class Price
4
4
  MAX_PRECISION = (2**31) - 1
5
5
 
6
- def self.from_f(number)
7
- best_r = number.to_r.rationalize(1.0e-7)
6
+ def self.from(number)
7
+ number = BigDecimal(number, 0) if number.is_a?(String)
8
+ number = number.to_r if number.respond_to?(:to_r)
9
+
10
+ raise ArgumentError, "Couldn't convert #{number.class} to rational number" unless number.is_a?(Rational)
11
+
12
+ best_r = number.rationalize(1.0e-7)
8
13
 
9
14
  if best_r.numerator > MAX_PRECISION || best_r.denominator > MAX_PRECISION
10
- raise ArgumentError("Couldn't find price approximation")
15
+ raise ArgumentError, "Couldn't find valid price approximation for #{number}"
11
16
  end
12
17
 
13
- new({
14
- n: best_r.numerator,
15
- d: best_r.denominator
16
- })
18
+ new(n: best_r.numerator, d: best_r.denominator)
17
19
  end
18
20
 
19
21
  def invert
20
22
  self.class.new(n: d, d: n)
21
23
  end
22
24
 
25
+ def to_r
26
+ Rational(n, d)
27
+ end
28
+
23
29
  def to_d
24
30
  n.to_d / d
25
31
  end
@@ -11,11 +11,14 @@ module Stellar
11
11
  # It reduces the boilerplate, when you just need to
12
12
  # shoot a single operation in transaction
13
13
  def method_missing(method_name, *args, **kwargs)
14
- unless Stellar::Operation.respond_to?(method_name)
15
- return super
16
- end
17
-
18
- op = Stellar::Operation.send(method_name, **kwargs)
14
+ return super unless Operation.respond_to?(method_name)
15
+
16
+ op = Operation.send(
17
+ method_name,
18
+ **kwargs.except(
19
+ :source_account, :sequence_number, :base_fee, :time_bounds, :memo, :enable_muxed_accounts
20
+ )
21
+ )
19
22
 
20
23
  new(**kwargs).add_operation(op).build
21
24
  end
@@ -1,3 +1,3 @@
1
1
  module Stellar
2
- VERSION = "0.29.0".freeze
2
+ VERSION = "0.30.0".freeze
3
3
  end
data/lib/stellar-base.rb CHANGED
@@ -25,10 +25,12 @@ Stellar::Deprecation = ActiveSupport::Deprecation.new("next release", "stellar-b
25
25
 
26
26
  require_relative "./stellar/account"
27
27
  require_relative "./stellar/account_flags"
28
+ require_relative "./stellar/amount"
28
29
  require_relative "./stellar/asset"
29
30
  require_relative "./stellar/claim_predicate"
30
31
  require_relative "./stellar/key_pair"
31
32
  require_relative "./stellar/ledger_key"
33
+ require_relative "./stellar/liquidity_pool"
32
34
  require_relative "./stellar/networks"
33
35
  require_relative "./stellar/operation"
34
36
  require_relative "./stellar/path_payment_strict_receive_result"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stellar-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Fleckenstein
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-09-07 00:00:00.000000000 Z
13
+ date: 2021-10-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -195,9 +195,9 @@ files:
195
195
  - generated/stellar/allow_trust_op.rb
196
196
  - generated/stellar/allow_trust_result.rb
197
197
  - generated/stellar/allow_trust_result_code.rb
198
+ - generated/stellar/alpha_num12.rb
199
+ - generated/stellar/alpha_num4.rb
198
200
  - generated/stellar/asset.rb
199
- - generated/stellar/asset/alpha_num12.rb
200
- - generated/stellar/asset/alpha_num4.rb
201
201
  - generated/stellar/asset_code.rb
202
202
  - generated/stellar/asset_type.rb
203
203
  - generated/stellar/auth.rb
@@ -214,13 +214,18 @@ files:
214
214
  - generated/stellar/bump_sequence_op.rb
215
215
  - generated/stellar/bump_sequence_result.rb
216
216
  - generated/stellar/bump_sequence_result_code.rb
217
+ - generated/stellar/change_trust_asset.rb
217
218
  - generated/stellar/change_trust_op.rb
218
219
  - generated/stellar/change_trust_result.rb
219
220
  - generated/stellar/change_trust_result_code.rb
221
+ - generated/stellar/claim_atom.rb
222
+ - generated/stellar/claim_atom_type.rb
220
223
  - generated/stellar/claim_claimable_balance_op.rb
221
224
  - generated/stellar/claim_claimable_balance_result.rb
222
225
  - generated/stellar/claim_claimable_balance_result_code.rb
226
+ - generated/stellar/claim_liquidity_atom.rb
223
227
  - generated/stellar/claim_offer_atom.rb
228
+ - generated/stellar/claim_offer_atom_v0.rb
224
229
  - generated/stellar/claim_predicate.rb
225
230
  - generated/stellar/claim_predicate_type.rb
226
231
  - generated/stellar/claimable_balance_entry.rb
@@ -262,6 +267,9 @@ files:
262
267
  - generated/stellar/fee_bump_transaction/ext.rb
263
268
  - generated/stellar/fee_bump_transaction/inner_tx.rb
264
269
  - generated/stellar/fee_bump_transaction_envelope.rb
270
+ - generated/stellar/hash_id_preimage.rb
271
+ - generated/stellar/hash_id_preimage/operation_id.rb
272
+ - generated/stellar/hash_id_preimage/revoke_id.rb
265
273
  - generated/stellar/hello.rb
266
274
  - generated/stellar/hmac_sha256_key.rb
267
275
  - generated/stellar/hmac_sha256_mac.rb
@@ -286,18 +294,34 @@ files:
286
294
  - generated/stellar/ledger_entry_type.rb
287
295
  - generated/stellar/ledger_header.rb
288
296
  - generated/stellar/ledger_header/ext.rb
297
+ - generated/stellar/ledger_header_extension_v1.rb
298
+ - generated/stellar/ledger_header_extension_v1/ext.rb
299
+ - generated/stellar/ledger_header_flags.rb
289
300
  - generated/stellar/ledger_header_history_entry.rb
290
301
  - generated/stellar/ledger_header_history_entry/ext.rb
291
302
  - generated/stellar/ledger_key.rb
292
303
  - generated/stellar/ledger_key/account.rb
293
304
  - generated/stellar/ledger_key/claimable_balance.rb
294
305
  - generated/stellar/ledger_key/data.rb
306
+ - generated/stellar/ledger_key/liquidity_pool.rb
295
307
  - generated/stellar/ledger_key/offer.rb
296
308
  - generated/stellar/ledger_key/trust_line.rb
297
309
  - generated/stellar/ledger_scp_messages.rb
298
310
  - generated/stellar/ledger_upgrade.rb
299
311
  - generated/stellar/ledger_upgrade_type.rb
300
312
  - generated/stellar/liabilities.rb
313
+ - generated/stellar/liquidity_pool_constant_product_parameters.rb
314
+ - generated/stellar/liquidity_pool_deposit_op.rb
315
+ - generated/stellar/liquidity_pool_deposit_result.rb
316
+ - generated/stellar/liquidity_pool_deposit_result_code.rb
317
+ - generated/stellar/liquidity_pool_entry.rb
318
+ - generated/stellar/liquidity_pool_entry/body.rb
319
+ - generated/stellar/liquidity_pool_entry/body/constant_product.rb
320
+ - generated/stellar/liquidity_pool_parameters.rb
321
+ - generated/stellar/liquidity_pool_type.rb
322
+ - generated/stellar/liquidity_pool_withdraw_op.rb
323
+ - generated/stellar/liquidity_pool_withdraw_result.rb
324
+ - generated/stellar/liquidity_pool_withdraw_result_code.rb
301
325
  - generated/stellar/manage_buy_offer_op.rb
302
326
  - generated/stellar/manage_buy_offer_result.rb
303
327
  - generated/stellar/manage_buy_offer_result_code.rb
@@ -320,8 +344,6 @@ files:
320
344
  - generated/stellar/offer_entry_flags.rb
321
345
  - generated/stellar/operation.rb
322
346
  - generated/stellar/operation/body.rb
323
- - generated/stellar/operation_id.rb
324
- - generated/stellar/operation_id/id.rb
325
347
  - generated/stellar/operation_meta.rb
326
348
  - generated/stellar/operation_result.rb
327
349
  - generated/stellar/operation_result/tr.rb
@@ -408,15 +430,19 @@ files:
408
430
  - generated/stellar/transaction_v0/ext.rb
409
431
  - generated/stellar/transaction_v0_envelope.rb
410
432
  - generated/stellar/transaction_v1_envelope.rb
433
+ - generated/stellar/trust_line_asset.rb
411
434
  - generated/stellar/trust_line_entry.rb
412
435
  - generated/stellar/trust_line_entry/ext.rb
413
436
  - generated/stellar/trust_line_entry/ext/v1.rb
414
437
  - generated/stellar/trust_line_entry/ext/v1/ext.rb
438
+ - generated/stellar/trust_line_entry_extension_v2.rb
439
+ - generated/stellar/trust_line_entry_extension_v2/ext.rb
415
440
  - generated/stellar/trust_line_flags.rb
416
441
  - generated/stellar/upgrade_entry_meta.rb
417
442
  - lib/stellar-base.rb
418
443
  - lib/stellar/account.rb
419
444
  - lib/stellar/account_flags.rb
445
+ - lib/stellar/amount.rb
420
446
  - lib/stellar/asset.rb
421
447
  - lib/stellar/base.rb
422
448
  - lib/stellar/claim_predicate.rb
@@ -429,6 +455,9 @@ files:
429
455
  - lib/stellar/fee_bump_transaction.rb
430
456
  - lib/stellar/key_pair.rb
431
457
  - lib/stellar/ledger_key.rb
458
+ - lib/stellar/liquidity_pool.rb
459
+ - lib/stellar/liquidity_pool/base_pool.rb
460
+ - lib/stellar/liquidity_pool/constant_product_pool.rb
432
461
  - lib/stellar/muxed_account.rb
433
462
  - lib/stellar/networks.rb
434
463
  - lib/stellar/operation.rb
@@ -448,11 +477,11 @@ licenses:
448
477
  - Apache-2.0
449
478
  metadata:
450
479
  bug_tracker_uri: https://github.com/astroband/ruby-stellar-sdk/issues
451
- changelog_uri: https://github.com/astroband/ruby-stellar-sdk/blob/v0.29.0/base/CHANGELOG.md
452
- documentation_uri: https://rubydoc.info/gems/stellar-base/0.29.0/
480
+ changelog_uri: https://github.com/astroband/ruby-stellar-sdk/blob/v0.30.0/base/CHANGELOG.md
481
+ documentation_uri: https://rubydoc.info/gems/stellar-base/0.30.0/
453
482
  github_repo: ssh://github.com/astroband/ruby-stellar-sdk
454
483
  homepage_uri: https://github.com/astroband/ruby-stellar-sdk/tree/main/base
455
- source_code_uri: https://github.com/astroband/ruby-stellar-sdk/tree/v0.29.0/base
484
+ source_code_uri: https://github.com/astroband/ruby-stellar-sdk/tree/v0.30.0/base
456
485
  post_install_message:
457
486
  rdoc_options: []
458
487
  require_paths:
@@ -469,7 +498,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
469
498
  - !ruby/object:Gem::Version
470
499
  version: '0'
471
500
  requirements: []
472
- rubygems_version: 3.1.4
501
+ rubygems_version: 3.2.22
473
502
  signing_key:
474
503
  specification_version: 4
475
504
  summary: 'Stellar client library: XDR'