stellar-base 0.23.1 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +134 -29
  3. data/README.md +7 -7
  4. data/generated/stellar-base-generated.rb +44 -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_flags.rb +9 -4
  12. data/generated/stellar/account_merge_result.rb +1 -1
  13. data/generated/stellar/account_merge_result_code.rb +3 -1
  14. data/generated/stellar/allow_trust_op.rb +3 -18
  15. data/generated/stellar/asset_code.rb +30 -0
  16. data/generated/stellar/begin_sponsoring_future_reserves_op.rb +18 -0
  17. data/generated/stellar/begin_sponsoring_future_reserves_result.rb +26 -0
  18. data/generated/stellar/begin_sponsoring_future_reserves_result_code.rb +29 -0
  19. data/generated/stellar/claim_claimable_balance_op.rb +18 -0
  20. data/generated/stellar/claim_claimable_balance_result.rb +25 -0
  21. data/generated/stellar/claim_claimable_balance_result_code.rb +31 -0
  22. data/generated/stellar/claim_predicate.rb +43 -0
  23. data/generated/stellar/claim_predicate_type.rb +30 -0
  24. data/generated/stellar/claimable_balance_entry.rb +46 -0
  25. data/generated/stellar/claimable_balance_entry/ext.rb +28 -0
  26. data/generated/stellar/claimable_balance_entry_extension_v1.rb +30 -0
  27. data/generated/stellar/claimable_balance_entry_extension_v1/ext.rb +24 -0
  28. data/generated/stellar/claimable_balance_flags.rb +22 -0
  29. data/generated/stellar/claimable_balance_id.rb +23 -0
  30. data/generated/stellar/claimable_balance_id_type.rb +20 -0
  31. data/generated/stellar/claimant.rb +31 -0
  32. data/generated/stellar/claimant/v0.rb +22 -0
  33. data/generated/stellar/claimant_type.rb +20 -0
  34. data/generated/stellar/clawback_claimable_balance_op.rb +18 -0
  35. data/generated/stellar/clawback_claimable_balance_result.rb +26 -0
  36. data/generated/stellar/clawback_claimable_balance_result_code.rb +29 -0
  37. data/generated/stellar/clawback_op.rb +22 -0
  38. data/generated/stellar/clawback_result.rb +25 -0
  39. data/generated/stellar/clawback_result_code.rb +31 -0
  40. data/generated/stellar/create_claimable_balance_op.rb +22 -0
  41. data/generated/stellar/create_claimable_balance_result.rb +27 -0
  42. data/generated/stellar/create_claimable_balance_result_code.rb +30 -0
  43. data/generated/stellar/create_passive_sell_offer_op.rb +1 -1
  44. data/generated/stellar/end_sponsoring_future_reserves_result.rb +26 -0
  45. data/generated/stellar/end_sponsoring_future_reserves_result_code.rb +25 -0
  46. data/generated/stellar/envelope_type.rb +3 -1
  47. data/generated/stellar/inner_transaction_result.rb +2 -1
  48. data/generated/stellar/inner_transaction_result/result.rb +3 -1
  49. data/generated/stellar/ledger_entry.rb +4 -0
  50. data/generated/stellar/ledger_entry/data.rb +12 -8
  51. data/generated/stellar/ledger_entry/ext.rb +4 -0
  52. data/generated/stellar/ledger_entry_extension_v1.rb +30 -0
  53. data/generated/stellar/ledger_entry_extension_v1/ext.rb +24 -0
  54. data/generated/stellar/ledger_entry_type.rb +7 -5
  55. data/generated/stellar/ledger_key.rb +17 -8
  56. data/generated/stellar/ledger_key/claimable_balance.rb +20 -0
  57. data/generated/stellar/operation.rb +16 -0
  58. data/generated/stellar/operation/body.rb +57 -26
  59. data/generated/stellar/operation_id.rb +32 -0
  60. data/generated/stellar/operation_id/id.rb +24 -0
  61. data/generated/stellar/operation_result.rb +16 -0
  62. data/generated/stellar/operation_result/tr.rb +60 -28
  63. data/generated/stellar/operation_result_code.rb +3 -1
  64. data/generated/stellar/operation_type.rb +31 -15
  65. data/generated/stellar/path_payment_strict_receive_result.rb +2 -1
  66. data/generated/stellar/payment_result_code.rb +1 -1
  67. data/generated/stellar/revoke_sponsorship_op.rb +35 -0
  68. data/generated/stellar/revoke_sponsorship_op/signer.rb +22 -0
  69. data/generated/stellar/revoke_sponsorship_result.rb +25 -0
  70. data/generated/stellar/revoke_sponsorship_result_code.rb +31 -0
  71. data/generated/stellar/revoke_sponsorship_type.rb +22 -0
  72. data/generated/stellar/set_options_result_code.rb +14 -11
  73. data/generated/stellar/set_trust_line_flags_op.rb +25 -0
  74. data/generated/stellar/set_trust_line_flags_result.rb +25 -0
  75. data/generated/stellar/set_trust_line_flags_result_code.rb +31 -0
  76. data/generated/stellar/transaction_result_code.rb +5 -3
  77. data/generated/stellar/trust_line_flags.rb +5 -1
  78. data/lib/stellar-base.rb +18 -5
  79. data/lib/stellar/account_flags.rb +1 -1
  80. data/lib/stellar/asset.rb +10 -0
  81. data/lib/stellar/claim_predicate.rb +198 -0
  82. data/lib/stellar/compat.rb +4 -16
  83. data/lib/stellar/concerns/transaction.rb +5 -4
  84. data/lib/stellar/dsl.rb +93 -0
  85. data/lib/stellar/ext/xdr.rb +50 -0
  86. data/lib/stellar/key_pair.rb +60 -53
  87. data/lib/stellar/ledger_key.rb +32 -0
  88. data/lib/stellar/muxed_account.rb +16 -0
  89. data/lib/stellar/networks.rb +12 -12
  90. data/lib/stellar/operation.rb +144 -17
  91. data/lib/stellar/price.rb +11 -2
  92. data/lib/stellar/transaction.rb +1 -169
  93. data/lib/stellar/transaction_builder.rb +28 -2
  94. data/lib/stellar/transaction_envelope.rb +7 -43
  95. data/lib/stellar/transaction_v0.rb +2 -10
  96. data/lib/stellar/trust_line_flags.rb +53 -0
  97. data/lib/stellar/util/strkey.rb +6 -6
  98. data/lib/stellar/version.rb +1 -3
  99. metadata +177 -30
  100. data/generated/stellar/account_entry/ext/v1.rb +0 -34
  101. data/generated/stellar/allow_trust_op/asset.rb +0 -33
  102. data/lib/stellar/util/continued_fraction.rb +0 -96
@@ -0,0 +1,43 @@
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 ClaimPredicate switch (ClaimPredicateType type)
9
+ # {
10
+ # case CLAIM_PREDICATE_UNCONDITIONAL:
11
+ # void;
12
+ # case CLAIM_PREDICATE_AND:
13
+ # ClaimPredicate andPredicates<2>;
14
+ # case CLAIM_PREDICATE_OR:
15
+ # ClaimPredicate orPredicates<2>;
16
+ # case CLAIM_PREDICATE_NOT:
17
+ # ClaimPredicate* notPredicate;
18
+ # case CLAIM_PREDICATE_BEFORE_ABSOLUTE_TIME:
19
+ # int64 absBefore; // Predicate will be true if closeTime < absBefore
20
+ # case CLAIM_PREDICATE_BEFORE_RELATIVE_TIME:
21
+ # int64 relBefore; // Seconds since closeTime of the ledger in which the
22
+ # // ClaimableBalanceEntry was created
23
+ # };
24
+ #
25
+ # ===========================================================================
26
+ module Stellar
27
+ class ClaimPredicate < XDR::Union
28
+ switch_on ClaimPredicateType, :type
29
+
30
+ switch :claim_predicate_unconditional
31
+ switch :claim_predicate_and, :and_predicates
32
+ switch :claim_predicate_or, :or_predicates
33
+ switch :claim_predicate_not, :not_predicate
34
+ switch :claim_predicate_before_absolute_time, :abs_before
35
+ switch :claim_predicate_before_relative_time, :rel_before
36
+
37
+ attribute :and_predicates, XDR::VarArray[ClaimPredicate, 2]
38
+ attribute :or_predicates, XDR::VarArray[ClaimPredicate, 2]
39
+ attribute :not_predicate, XDR::Option[ClaimPredicate]
40
+ attribute :abs_before, Int64
41
+ attribute :rel_before, Int64
42
+ end
43
+ 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 ClaimPredicateType
9
+ # {
10
+ # CLAIM_PREDICATE_UNCONDITIONAL = 0,
11
+ # CLAIM_PREDICATE_AND = 1,
12
+ # CLAIM_PREDICATE_OR = 2,
13
+ # CLAIM_PREDICATE_NOT = 3,
14
+ # CLAIM_PREDICATE_BEFORE_ABSOLUTE_TIME = 4,
15
+ # CLAIM_PREDICATE_BEFORE_RELATIVE_TIME = 5
16
+ # };
17
+ #
18
+ # ===========================================================================
19
+ module Stellar
20
+ class ClaimPredicateType < XDR::Enum
21
+ member :claim_predicate_unconditional, 0
22
+ member :claim_predicate_and, 1
23
+ member :claim_predicate_or, 2
24
+ member :claim_predicate_not, 3
25
+ member :claim_predicate_before_absolute_time, 4
26
+ member :claim_predicate_before_relative_time, 5
27
+
28
+ seal
29
+ end
30
+ end
@@ -0,0 +1,46 @@
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 ClaimableBalanceEntry
9
+ # {
10
+ # // Unique identifier for this ClaimableBalanceEntry
11
+ # ClaimableBalanceID balanceID;
12
+ #
13
+ # // List of claimants with associated predicate
14
+ # Claimant claimants<10>;
15
+ #
16
+ # // Any asset including native
17
+ # Asset asset;
18
+ #
19
+ # // Amount of asset
20
+ # int64 amount;
21
+ #
22
+ # // reserved for future use
23
+ # union switch (int v)
24
+ # {
25
+ # case 0:
26
+ # void;
27
+ # case 1:
28
+ # ClaimableBalanceEntryExtensionV1 v1;
29
+ # }
30
+ # ext;
31
+ # };
32
+ #
33
+ # ===========================================================================
34
+ module Stellar
35
+ class ClaimableBalanceEntry < XDR::Struct
36
+ include XDR::Namespace
37
+
38
+ autoload :Ext
39
+
40
+ attribute :balance_id, ClaimableBalanceID
41
+ attribute :claimants, XDR::VarArray[Claimant, 10]
42
+ attribute :asset, Asset
43
+ attribute :amount, Int64
44
+ attribute :ext, Ext
45
+ end
46
+ end
@@ -0,0 +1,28 @@
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
+ # case 1:
13
+ # ClaimableBalanceEntryExtensionV1 v1;
14
+ # }
15
+ #
16
+ # ===========================================================================
17
+ module Stellar
18
+ class ClaimableBalanceEntry
19
+ class Ext < XDR::Union
20
+ switch_on XDR::Int, :v
21
+
22
+ switch 0
23
+ switch 1, :v1
24
+
25
+ attribute :v1, ClaimableBalanceEntryExtensionV1
26
+ end
27
+ end
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 ClaimableBalanceEntryExtensionV1
9
+ # {
10
+ # union switch (int v)
11
+ # {
12
+ # case 0:
13
+ # void;
14
+ # }
15
+ # ext;
16
+ #
17
+ # uint32 flags; // see ClaimableBalanceFlags
18
+ # };
19
+ #
20
+ # ===========================================================================
21
+ module Stellar
22
+ class ClaimableBalanceEntryExtensionV1 < XDR::Struct
23
+ include XDR::Namespace
24
+
25
+ autoload :Ext
26
+
27
+ attribute :ext, Ext
28
+ attribute :flags, Uint32
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 ClaimableBalanceEntryExtensionV1
17
+ class Ext < XDR::Union
18
+ switch_on XDR::Int, :v
19
+
20
+ switch 0
21
+
22
+ end
23
+ end
24
+ 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
+ # enum ClaimableBalanceFlags
9
+ # {
10
+ # // If set, the issuer account of the asset held by the claimable balance may
11
+ # // clawback the claimable balance
12
+ # CLAIMABLE_BALANCE_CLAWBACK_ENABLED_FLAG = 0x1
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class ClaimableBalanceFlags < XDR::Enum
18
+ member :claimable_balance_clawback_enabled_flag, 1
19
+
20
+ seal
21
+ end
22
+ end
@@ -0,0 +1,23 @@
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 ClaimableBalanceID switch (ClaimableBalanceIDType type)
9
+ # {
10
+ # case CLAIMABLE_BALANCE_ID_TYPE_V0:
11
+ # Hash v0;
12
+ # };
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class ClaimableBalanceID < XDR::Union
17
+ switch_on ClaimableBalanceIDType, :type
18
+
19
+ switch :claimable_balance_id_type_v0, :v0
20
+
21
+ attribute :v0, Hash
22
+ end
23
+ 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 ClaimableBalanceIDType
9
+ # {
10
+ # CLAIMABLE_BALANCE_ID_TYPE_V0 = 0
11
+ # };
12
+ #
13
+ # ===========================================================================
14
+ module Stellar
15
+ class ClaimableBalanceIDType < XDR::Enum
16
+ member :claimable_balance_id_type_v0, 0
17
+
18
+ seal
19
+ end
20
+ end
@@ -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,18 @@
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 ClawbackClaimableBalanceOp
9
+ # {
10
+ # ClaimableBalanceID balanceID;
11
+ # };
12
+ #
13
+ # ===========================================================================
14
+ module Stellar
15
+ class ClawbackClaimableBalanceOp < XDR::Struct
16
+ attribute :balance_id, ClaimableBalanceID
17
+ end
18
+ end
@@ -0,0 +1,26 @@
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 ClawbackClaimableBalanceResult switch (
9
+ # ClawbackClaimableBalanceResultCode code)
10
+ # {
11
+ # case CLAWBACK_CLAIMABLE_BALANCE_SUCCESS:
12
+ # void;
13
+ # default:
14
+ # void;
15
+ # };
16
+ #
17
+ # ===========================================================================
18
+ module Stellar
19
+ class ClawbackClaimableBalanceResult < XDR::Union
20
+ switch_on ClawbackClaimableBalanceResultCode, :code
21
+
22
+ switch :clawback_claimable_balance_success
23
+ switch :default
24
+
25
+ end
26
+ end
@@ -0,0 +1,29 @@
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 ClawbackClaimableBalanceResultCode
9
+ # {
10
+ # // codes considered as "success" for the operation
11
+ # CLAWBACK_CLAIMABLE_BALANCE_SUCCESS = 0,
12
+ #
13
+ # // codes considered as "failure" for the operation
14
+ # CLAWBACK_CLAIMABLE_BALANCE_DOES_NOT_EXIST = -1,
15
+ # CLAWBACK_CLAIMABLE_BALANCE_NOT_ISSUER = -2,
16
+ # CLAWBACK_CLAIMABLE_BALANCE_NOT_CLAWBACK_ENABLED = -3
17
+ # };
18
+ #
19
+ # ===========================================================================
20
+ module Stellar
21
+ class ClawbackClaimableBalanceResultCode < XDR::Enum
22
+ member :clawback_claimable_balance_success, 0
23
+ member :clawback_claimable_balance_does_not_exist, -1
24
+ member :clawback_claimable_balance_not_issuer, -2
25
+ member :clawback_claimable_balance_not_clawback_enabled, -3
26
+
27
+ seal
28
+ end
29
+ 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 ClawbackOp
9
+ # {
10
+ # Asset asset;
11
+ # MuxedAccount from;
12
+ # int64 amount;
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class ClawbackOp < XDR::Struct
18
+ attribute :asset, Asset
19
+ attribute :from, MuxedAccount
20
+ attribute :amount, Int64
21
+ end
22
+ end