stellar-base 0.23.0.rc1 → 0.24.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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +249 -0
  3. data/README.md +0 -3
  4. data/generated/stellar-base-generated.rb +29 -1
  5. data/generated/stellar/account_entry.rb +3 -13
  6. data/generated/stellar/account_entry/ext.rb +2 -16
  7. data/generated/stellar/account_entry_extension_v1.rb +32 -0
  8. data/generated/stellar/account_entry_extension_v1/ext.rb +28 -0
  9. data/generated/stellar/account_entry_extension_v2.rb +34 -0
  10. data/generated/stellar/{account_entry/ext/v1 → account_entry_extension_v2}/ext.rb +8 -12
  11. data/generated/stellar/account_merge_result_code.rb +3 -1
  12. data/generated/stellar/begin_sponsoring_future_reserves_op.rb +18 -0
  13. data/generated/stellar/begin_sponsoring_future_reserves_result.rb +25 -0
  14. data/generated/stellar/begin_sponsoring_future_reserves_result_code.rb +29 -0
  15. data/generated/stellar/claim_claimable_balance_op.rb +18 -0
  16. data/generated/stellar/claim_claimable_balance_result.rb +25 -0
  17. data/generated/stellar/claim_claimable_balance_result_code.rb +31 -0
  18. data/generated/stellar/claim_predicate.rb +43 -0
  19. data/generated/stellar/claim_predicate_type.rb +30 -0
  20. data/generated/stellar/claimable_balance_entry.rb +44 -0
  21. data/generated/stellar/claimable_balance_entry/ext.rb +24 -0
  22. data/generated/stellar/claimable_balance_id.rb +23 -0
  23. data/generated/stellar/claimable_balance_id_type.rb +20 -0
  24. data/generated/stellar/claimant.rb +31 -0
  25. data/generated/stellar/claimant/v0.rb +22 -0
  26. data/generated/stellar/claimant_type.rb +20 -0
  27. data/generated/stellar/create_claimable_balance_op.rb +22 -0
  28. data/generated/stellar/create_claimable_balance_result.rb +27 -0
  29. data/generated/stellar/create_claimable_balance_result_code.rb +30 -0
  30. data/generated/stellar/end_sponsoring_future_reserves_result.rb +25 -0
  31. data/generated/stellar/end_sponsoring_future_reserves_result_code.rb +25 -0
  32. data/generated/stellar/envelope_type.rb +3 -1
  33. data/generated/stellar/inner_transaction_result.rb +2 -1
  34. data/generated/stellar/inner_transaction_result/result.rb +3 -1
  35. data/generated/stellar/ledger_entry.rb +4 -0
  36. data/generated/stellar/ledger_entry/data.rb +12 -8
  37. data/generated/stellar/ledger_entry/ext.rb +4 -0
  38. data/generated/stellar/ledger_entry_extension_v1.rb +30 -0
  39. data/generated/stellar/ledger_entry_extension_v1/ext.rb +24 -0
  40. data/generated/stellar/ledger_entry_type.rb +7 -5
  41. data/generated/stellar/ledger_key.rb +17 -8
  42. data/generated/stellar/ledger_key/claimable_balance.rb +20 -0
  43. data/generated/stellar/operation.rb +10 -0
  44. data/generated/stellar/operation/body.rb +45 -26
  45. data/generated/stellar/operation_id.rb +32 -0
  46. data/generated/stellar/operation_id/id.rb +24 -0
  47. data/generated/stellar/operation_result.rb +10 -0
  48. data/generated/stellar/operation_result/tr.rb +48 -28
  49. data/generated/stellar/operation_result_code.rb +3 -1
  50. data/generated/stellar/operation_type.rb +25 -15
  51. data/generated/stellar/path_payment_strict_receive_result.rb +2 -1
  52. data/generated/stellar/revoke_sponsorship_op.rb +36 -0
  53. data/generated/stellar/revoke_sponsorship_op/signer.rb +22 -0
  54. data/generated/stellar/revoke_sponsorship_result.rb +25 -0
  55. data/generated/stellar/revoke_sponsorship_result_code.rb +31 -0
  56. data/generated/stellar/revoke_sponsorship_type.rb +22 -0
  57. data/generated/stellar/transaction_result_code.rb +4 -2
  58. data/lib/stellar-base.rb +15 -5
  59. data/lib/stellar/account_flags.rb +1 -1
  60. data/lib/stellar/{version.rb → base/version.rb} +1 -1
  61. data/lib/stellar/claim_predicate.rb +198 -0
  62. data/lib/stellar/compat.rb +2 -11
  63. data/lib/stellar/dsl.rb +85 -0
  64. data/lib/stellar/ext/xdr.rb +49 -0
  65. data/lib/stellar/key_pair.rb +43 -35
  66. data/lib/stellar/ledger_key.rb +30 -0
  67. data/lib/stellar/networks.rb +12 -12
  68. data/lib/stellar/operation.rb +58 -1
  69. data/lib/stellar/price.rb +11 -2
  70. data/lib/stellar/transaction.rb +16 -166
  71. data/lib/stellar/transaction_builder.rb +35 -18
  72. data/lib/stellar/transaction_envelope.rb +3 -29
  73. data/lib/stellar/transaction_v0.rb +12 -0
  74. data/lib/stellar/util/strkey.rb +6 -6
  75. metadata +166 -35
  76. data/generated/stellar/account_entry/ext/v1.rb +0 -34
  77. data/lib/stellar/util/continued_fraction.rb +0 -96
@@ -0,0 +1,31 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # union Claimant switch (ClaimantType type)
9
+ # {
10
+ # case CLAIMANT_TYPE_V0:
11
+ # struct
12
+ # {
13
+ # AccountID destination; // The account that can use this condition
14
+ # ClaimPredicate predicate; // Claimable if predicate is true
15
+ # } v0;
16
+ # };
17
+ #
18
+ # ===========================================================================
19
+ module Stellar
20
+ class Claimant < XDR::Union
21
+ include XDR::Namespace
22
+
23
+ autoload :V0
24
+
25
+ switch_on ClaimantType, :type
26
+
27
+ switch :claimant_type_v0, :v0
28
+
29
+ attribute :v0, V0
30
+ end
31
+ end
@@ -0,0 +1,22 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct
9
+ # {
10
+ # AccountID destination; // The account that can use this condition
11
+ # ClaimPredicate predicate; // Claimable if predicate is true
12
+ # }
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class Claimant
17
+ class V0 < XDR::Struct
18
+ attribute :destination, AccountID
19
+ attribute :predicate, ClaimPredicate
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # enum ClaimantType
9
+ # {
10
+ # CLAIMANT_TYPE_V0 = 0
11
+ # };
12
+ #
13
+ # ===========================================================================
14
+ module Stellar
15
+ class ClaimantType < XDR::Enum
16
+ member :claimant_type_v0, 0
17
+
18
+ seal
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct CreateClaimableBalanceOp
9
+ # {
10
+ # Asset asset;
11
+ # int64 amount;
12
+ # Claimant claimants<10>;
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class CreateClaimableBalanceOp < XDR::Struct
18
+ attribute :asset, Asset
19
+ attribute :amount, Int64
20
+ attribute :claimants, XDR::VarArray[Claimant, 10]
21
+ end
22
+ end
@@ -0,0 +1,27 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # union CreateClaimableBalanceResult switch (
9
+ # CreateClaimableBalanceResultCode code)
10
+ # {
11
+ # case CREATE_CLAIMABLE_BALANCE_SUCCESS:
12
+ # ClaimableBalanceID balanceID;
13
+ # default:
14
+ # void;
15
+ # };
16
+ #
17
+ # ===========================================================================
18
+ module Stellar
19
+ class CreateClaimableBalanceResult < XDR::Union
20
+ switch_on CreateClaimableBalanceResultCode, :code
21
+
22
+ switch :create_claimable_balance_success, :balance_id
23
+ switch :default
24
+
25
+ attribute :balance_id, ClaimableBalanceID
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # enum CreateClaimableBalanceResultCode
9
+ # {
10
+ # CREATE_CLAIMABLE_BALANCE_SUCCESS = 0,
11
+ # CREATE_CLAIMABLE_BALANCE_MALFORMED = -1,
12
+ # CREATE_CLAIMABLE_BALANCE_LOW_RESERVE = -2,
13
+ # CREATE_CLAIMABLE_BALANCE_NO_TRUST = -3,
14
+ # CREATE_CLAIMABLE_BALANCE_NOT_AUTHORIZED = -4,
15
+ # CREATE_CLAIMABLE_BALANCE_UNDERFUNDED = -5
16
+ # };
17
+ #
18
+ # ===========================================================================
19
+ module Stellar
20
+ class CreateClaimableBalanceResultCode < XDR::Enum
21
+ member :create_claimable_balance_success, 0
22
+ member :create_claimable_balance_malformed, -1
23
+ member :create_claimable_balance_low_reserve, -2
24
+ member :create_claimable_balance_no_trust, -3
25
+ member :create_claimable_balance_not_authorized, -4
26
+ member :create_claimable_balance_underfunded, -5
27
+
28
+ seal
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # union EndSponsoringFutureReservesResult switch (EndSponsoringFutureReservesResultCode code)
9
+ # {
10
+ # case END_SPONSORING_FUTURE_RESERVES_SUCCESS:
11
+ # void;
12
+ # default:
13
+ # void;
14
+ # };
15
+ #
16
+ # ===========================================================================
17
+ module Stellar
18
+ class EndSponsoringFutureReservesResult < XDR::Union
19
+ switch_on EndSponsoringFutureReservesResultCode, :code
20
+
21
+ switch :end_sponsoring_future_reserves_success
22
+ switch :default
23
+
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # enum EndSponsoringFutureReservesResultCode
9
+ # {
10
+ # // codes considered as "success" for the operation
11
+ # END_SPONSORING_FUTURE_RESERVES_SUCCESS = 0,
12
+ #
13
+ # // codes considered as "failure" for the operation
14
+ # END_SPONSORING_FUTURE_RESERVES_NOT_SPONSORED = -1
15
+ # };
16
+ #
17
+ # ===========================================================================
18
+ module Stellar
19
+ class EndSponsoringFutureReservesResultCode < XDR::Enum
20
+ member :end_sponsoring_future_reserves_success, 0
21
+ member :end_sponsoring_future_reserves_not_sponsored, -1
22
+
23
+ seal
24
+ end
25
+ end
@@ -12,7 +12,8 @@ require 'xdr'
12
12
  # ENVELOPE_TYPE_TX = 2,
13
13
  # ENVELOPE_TYPE_AUTH = 3,
14
14
  # ENVELOPE_TYPE_SCPVALUE = 4,
15
- # ENVELOPE_TYPE_TX_FEE_BUMP = 5
15
+ # ENVELOPE_TYPE_TX_FEE_BUMP = 5,
16
+ # ENVELOPE_TYPE_OP_ID = 6
16
17
  # };
17
18
  #
18
19
  # ===========================================================================
@@ -24,6 +25,7 @@ module Stellar
24
25
  member :envelope_type_auth, 3
25
26
  member :envelope_type_scpvalue, 4
26
27
  member :envelope_type_tx_fee_bump, 5
28
+ member :envelope_type_op_id, 6
27
29
 
28
30
  seal
29
31
  end
@@ -27,7 +27,8 @@ require 'xdr'
27
27
  # case txBAD_AUTH_EXTRA:
28
28
  # case txINTERNAL_ERROR:
29
29
  # case txNOT_SUPPORTED:
30
- # // txFEE_BUMP_INNER_FAILED is not included
30
+ # // txFEE_BUMP_INNER_FAILED is not included
31
+ # case txBAD_SPONSORSHIP:
31
32
  # void;
32
33
  # }
33
34
  # result;
@@ -22,7 +22,8 @@ require 'xdr'
22
22
  # case txBAD_AUTH_EXTRA:
23
23
  # case txINTERNAL_ERROR:
24
24
  # case txNOT_SUPPORTED:
25
- # // txFEE_BUMP_INNER_FAILED is not included
25
+ # // txFEE_BUMP_INNER_FAILED is not included
26
+ # case txBAD_SPONSORSHIP:
26
27
  # void;
27
28
  # }
28
29
  #
@@ -45,6 +46,7 @@ module Stellar
45
46
  switch :tx_bad_auth_extra
46
47
  switch :tx_internal_error
47
48
  switch :tx_not_supported
49
+ switch :tx_bad_sponsorship
48
50
 
49
51
  attribute :results, XDR::VarArray[OperationResult]
50
52
  end
@@ -19,6 +19,8 @@ require 'xdr'
19
19
  # OfferEntry offer;
20
20
  # case DATA:
21
21
  # DataEntry data;
22
+ # case CLAIMABLE_BALANCE:
23
+ # ClaimableBalanceEntry claimableBalance;
22
24
  # }
23
25
  # data;
24
26
  #
@@ -27,6 +29,8 @@ require 'xdr'
27
29
  # {
28
30
  # case 0:
29
31
  # void;
32
+ # case 1:
33
+ # LedgerEntryExtensionV1 v1;
30
34
  # }
31
35
  # ext;
32
36
  # };
@@ -15,6 +15,8 @@ require 'xdr'
15
15
  # OfferEntry offer;
16
16
  # case DATA:
17
17
  # DataEntry data;
18
+ # case CLAIMABLE_BALANCE:
19
+ # ClaimableBalanceEntry claimableBalance;
18
20
  # }
19
21
  #
20
22
  # ===========================================================================
@@ -23,15 +25,17 @@ module Stellar
23
25
  class Data < XDR::Union
24
26
  switch_on LedgerEntryType, :type
25
27
 
26
- switch :account, :account
27
- switch :trustline, :trust_line
28
- switch :offer, :offer
29
- switch :data, :data
28
+ switch :account, :account
29
+ switch :trustline, :trust_line
30
+ switch :offer, :offer
31
+ switch :data, :data
32
+ switch :claimable_balance, :claimable_balance
30
33
 
31
- attribute :account, AccountEntry
32
- attribute :trust_line, TrustLineEntry
33
- attribute :offer, OfferEntry
34
- attribute :data, DataEntry
34
+ attribute :account, AccountEntry
35
+ attribute :trust_line, TrustLineEntry
36
+ attribute :offer, OfferEntry
37
+ attribute :data, DataEntry
38
+ attribute :claimable_balance, ClaimableBalanceEntry
35
39
  end
36
40
  end
37
41
  end
@@ -9,6 +9,8 @@ require 'xdr'
9
9
  # {
10
10
  # case 0:
11
11
  # void;
12
+ # case 1:
13
+ # LedgerEntryExtensionV1 v1;
12
14
  # }
13
15
  #
14
16
  # ===========================================================================
@@ -18,7 +20,9 @@ module Stellar
18
20
  switch_on XDR::Int, :v
19
21
 
20
22
  switch 0
23
+ switch 1, :v1
21
24
 
25
+ attribute :v1, LedgerEntryExtensionV1
22
26
  end
23
27
  end
24
28
  end
@@ -0,0 +1,30 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct LedgerEntryExtensionV1
9
+ # {
10
+ # SponsorshipDescriptor sponsoringID;
11
+ #
12
+ # union switch (int v)
13
+ # {
14
+ # case 0:
15
+ # void;
16
+ # }
17
+ # ext;
18
+ # };
19
+ #
20
+ # ===========================================================================
21
+ module Stellar
22
+ class LedgerEntryExtensionV1 < XDR::Struct
23
+ include XDR::Namespace
24
+
25
+ autoload :Ext
26
+
27
+ attribute :sponsoring_id, SponsorshipDescriptor
28
+ attribute :ext, Ext
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # union switch (int v)
9
+ # {
10
+ # case 0:
11
+ # void;
12
+ # }
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class LedgerEntryExtensionV1
17
+ class Ext < XDR::Union
18
+ switch_on XDR::Int, :v
19
+
20
+ switch 0
21
+
22
+ end
23
+ end
24
+ end
@@ -10,16 +10,18 @@ require 'xdr'
10
10
  # ACCOUNT = 0,
11
11
  # TRUSTLINE = 1,
12
12
  # OFFER = 2,
13
- # DATA = 3
13
+ # DATA = 3,
14
+ # CLAIMABLE_BALANCE = 4
14
15
  # };
15
16
  #
16
17
  # ===========================================================================
17
18
  module Stellar
18
19
  class LedgerEntryType < XDR::Enum
19
- member :account, 0
20
- member :trustline, 1
21
- member :offer, 2
22
- member :data, 3
20
+ member :account, 0
21
+ member :trustline, 1
22
+ member :offer, 2
23
+ member :data, 3
24
+ member :claimable_balance, 4
23
25
 
24
26
  seal
25
27
  end
@@ -33,6 +33,12 @@ require 'xdr'
33
33
  # AccountID accountID;
34
34
  # string64 dataName;
35
35
  # } data;
36
+ #
37
+ # case CLAIMABLE_BALANCE:
38
+ # struct
39
+ # {
40
+ # ClaimableBalanceID balanceID;
41
+ # } claimableBalance;
36
42
  # };
37
43
  #
38
44
  # ===========================================================================
@@ -44,17 +50,20 @@ module Stellar
44
50
  autoload :TrustLine
45
51
  autoload :Offer
46
52
  autoload :Data
53
+ autoload :ClaimableBalance
47
54
 
48
55
  switch_on LedgerEntryType, :type
49
56
 
50
- switch :account, :account
51
- switch :trustline, :trust_line
52
- switch :offer, :offer
53
- switch :data, :data
57
+ switch :account, :account
58
+ switch :trustline, :trust_line
59
+ switch :offer, :offer
60
+ switch :data, :data
61
+ switch :claimable_balance, :claimable_balance
54
62
 
55
- attribute :account, Account
56
- attribute :trust_line, TrustLine
57
- attribute :offer, Offer
58
- attribute :data, Data
63
+ attribute :account, Account
64
+ attribute :trust_line, TrustLine
65
+ attribute :offer, Offer
66
+ attribute :data, Data
67
+ attribute :claimable_balance, ClaimableBalance
59
68
  end
60
69
  end