stellar-base 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
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'