open-core 0.3.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 (175) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.travis.yml +15 -0
  4. data/.yardopts +8 -0
  5. data/CONTRIBUTING.md +48 -0
  6. data/Gemfile +15 -0
  7. data/Guardfile +5 -0
  8. data/LICENSE.txt +202 -0
  9. data/README.md +83 -0
  10. data/Rakefile +4 -0
  11. data/examples/create_account.rb +26 -0
  12. data/examples/low_level_transaction_post.rb +46 -0
  13. data/examples/mid_level_transaction_post.rb +33 -0
  14. data/examples/non_native_payment.rb +60 -0
  15. data/examples/offer.rb +75 -0
  16. data/examples/transaction_merge.rb +23 -0
  17. data/generated/stellar-base-generated.rb +134 -0
  18. data/generated/stellar/account_entry.rb +53 -0
  19. data/generated/stellar/account_entry/ext.rb +24 -0
  20. data/generated/stellar/account_flags.rb +27 -0
  21. data/generated/stellar/account_merge_result.rb +26 -0
  22. data/generated/stellar/account_merge_result_code.rb +30 -0
  23. data/generated/stellar/allow_trust_op.rb +38 -0
  24. data/generated/stellar/allow_trust_op/asset.rb +33 -0
  25. data/generated/stellar/allow_trust_result.rb +25 -0
  26. data/generated/stellar/allow_trust_result_code.rb +31 -0
  27. data/generated/stellar/asset.rb +47 -0
  28. data/generated/stellar/asset/alpha_num12.rb +22 -0
  29. data/generated/stellar/asset/alpha_num4.rb +22 -0
  30. data/generated/stellar/asset_type.rb +24 -0
  31. data/generated/stellar/bucket_entry.rb +28 -0
  32. data/generated/stellar/bucket_entry_type.rb +22 -0
  33. data/generated/stellar/change_trust_op.rb +22 -0
  34. data/generated/stellar/change_trust_result.rb +25 -0
  35. data/generated/stellar/change_trust_result_code.rb +30 -0
  36. data/generated/stellar/claim_offer_atom.rb +33 -0
  37. data/generated/stellar/create_account_op.rb +20 -0
  38. data/generated/stellar/create_account_result.rb +25 -0
  39. data/generated/stellar/create_account_result_code.rb +32 -0
  40. data/generated/stellar/create_passive_offer_op.rb +24 -0
  41. data/generated/stellar/crypto_key_type.rb +20 -0
  42. data/generated/stellar/decorated_signature.rb +20 -0
  43. data/generated/stellar/dont_have.rb +20 -0
  44. data/generated/stellar/envelope_type.rb +22 -0
  45. data/generated/stellar/error.rb +20 -0
  46. data/generated/stellar/hello.rb +26 -0
  47. data/generated/stellar/inflation_payout.rb +20 -0
  48. data/generated/stellar/inflation_result.rb +26 -0
  49. data/generated/stellar/inflation_result_code.rb +24 -0
  50. data/generated/stellar/ledger_entry.rb +44 -0
  51. data/generated/stellar/ledger_entry/data.rb +33 -0
  52. data/generated/stellar/ledger_entry/ext.rb +24 -0
  53. data/generated/stellar/ledger_entry_change.rb +31 -0
  54. data/generated/stellar/ledger_entry_change_type.rb +24 -0
  55. data/generated/stellar/ledger_entry_type.rb +24 -0
  56. data/generated/stellar/ledger_header.rb +65 -0
  57. data/generated/stellar/ledger_header/ext.rb +24 -0
  58. data/generated/stellar/ledger_header_history_entry.rb +33 -0
  59. data/generated/stellar/ledger_header_history_entry/ext.rb +24 -0
  60. data/generated/stellar/ledger_key.rb +50 -0
  61. data/generated/stellar/ledger_key/account.rb +20 -0
  62. data/generated/stellar/ledger_key/offer.rb +22 -0
  63. data/generated/stellar/ledger_key/trust_line.rb +22 -0
  64. data/generated/stellar/ledger_upgrade.rb +27 -0
  65. data/generated/stellar/ledger_upgrade_type.rb +22 -0
  66. data/generated/stellar/manage_offer_effect.rb +24 -0
  67. data/generated/stellar/manage_offer_op.rb +28 -0
  68. data/generated/stellar/manage_offer_result.rb +26 -0
  69. data/generated/stellar/manage_offer_result_code.rb +48 -0
  70. data/generated/stellar/manage_offer_success_result.rb +34 -0
  71. data/generated/stellar/manage_offer_success_result/offer.rb +30 -0
  72. data/generated/stellar/memo.rb +38 -0
  73. data/generated/stellar/memo_type.rb +28 -0
  74. data/generated/stellar/message_type.rb +45 -0
  75. data/generated/stellar/offer_entry.rb +49 -0
  76. data/generated/stellar/offer_entry/ext.rb +24 -0
  77. data/generated/stellar/offer_entry_flags.rb +21 -0
  78. data/generated/stellar/operation.rb +51 -0
  79. data/generated/stellar/operation/body.rb +60 -0
  80. data/generated/stellar/operation_meta.rb +18 -0
  81. data/generated/stellar/operation_result.rb +53 -0
  82. data/generated/stellar/operation_result/tr.rb +61 -0
  83. data/generated/stellar/operation_result_code.rb +25 -0
  84. data/generated/stellar/operation_type.rb +38 -0
  85. data/generated/stellar/path_payment_op.rb +32 -0
  86. data/generated/stellar/path_payment_result.rb +34 -0
  87. data/generated/stellar/path_payment_result/success.rb +22 -0
  88. data/generated/stellar/path_payment_result_code.rb +45 -0
  89. data/generated/stellar/payment_op.rb +22 -0
  90. data/generated/stellar/payment_result.rb +25 -0
  91. data/generated/stellar/payment_result_code.rb +39 -0
  92. data/generated/stellar/peer_address.rb +22 -0
  93. data/generated/stellar/price.rb +20 -0
  94. data/generated/stellar/public_key.rb +23 -0
  95. data/generated/stellar/scp_ballot.rb +20 -0
  96. data/generated/stellar/scp_envelope.rb +20 -0
  97. data/generated/stellar/scp_nomination.rb +22 -0
  98. data/generated/stellar/scp_quorum_set.rb +22 -0
  99. data/generated/stellar/scp_statement.rb +59 -0
  100. data/generated/stellar/scp_statement/pledges.rb +64 -0
  101. data/generated/stellar/scp_statement/pledges/confirm.rb +28 -0
  102. data/generated/stellar/scp_statement/pledges/externalize.rb +28 -0
  103. data/generated/stellar/scp_statement/pledges/prepare.rb +32 -0
  104. data/generated/stellar/scp_statement_type.rb +26 -0
  105. data/generated/stellar/set_options_op.rb +41 -0
  106. data/generated/stellar/set_options_result.rb +25 -0
  107. data/generated/stellar/set_options_result_code.rb +38 -0
  108. data/generated/stellar/signer.rb +20 -0
  109. data/generated/stellar/simple_payment_result.rb +22 -0
  110. data/generated/stellar/stellar_message.rb +66 -0
  111. data/generated/stellar/stellar_value.rb +40 -0
  112. data/generated/stellar/stellar_value/ext.rb +24 -0
  113. data/generated/stellar/threshold_indexes.rb +26 -0
  114. data/generated/stellar/time_bounds.rb +20 -0
  115. data/generated/stellar/transaction.rb +50 -0
  116. data/generated/stellar/transaction/ext.rb +24 -0
  117. data/generated/stellar/transaction_envelope.rb +20 -0
  118. data/generated/stellar/transaction_history_entry.rb +33 -0
  119. data/generated/stellar/transaction_history_entry/ext.rb +24 -0
  120. data/generated/stellar/transaction_history_result_entry.rb +33 -0
  121. data/generated/stellar/transaction_history_result_entry/ext.rb +24 -0
  122. data/generated/stellar/transaction_meta.rb +31 -0
  123. data/generated/stellar/transaction_meta/v0.rb +22 -0
  124. data/generated/stellar/transaction_result.rb +43 -0
  125. data/generated/stellar/transaction_result/ext.rb +24 -0
  126. data/generated/stellar/transaction_result/result.rb +30 -0
  127. data/generated/stellar/transaction_result_code.rb +45 -0
  128. data/generated/stellar/transaction_result_pair.rb +20 -0
  129. data/generated/stellar/transaction_result_set.rb +18 -0
  130. data/generated/stellar/transaction_set.rb +20 -0
  131. data/generated/stellar/trust_line_entry.rb +41 -0
  132. data/generated/stellar/trust_line_entry/ext.rb +24 -0
  133. data/generated/stellar/trust_line_flags.rb +21 -0
  134. data/lib/stellar-base.rb +32 -0
  135. data/lib/stellar/account_flags.rb +28 -0
  136. data/lib/stellar/asset.rb +69 -0
  137. data/lib/stellar/base.rb +1 -0
  138. data/lib/stellar/base/version.rb +5 -0
  139. data/lib/stellar/convert.rb +32 -0
  140. data/lib/stellar/key_pair.rb +112 -0
  141. data/lib/stellar/networks.rb +45 -0
  142. data/lib/stellar/operation.rb +304 -0
  143. data/lib/stellar/path_payment_result.rb +17 -0
  144. data/lib/stellar/price.rb +32 -0
  145. data/lib/stellar/thresholds.rb +39 -0
  146. data/lib/stellar/transaction.rb +170 -0
  147. data/lib/stellar/transaction_envelope.rb +32 -0
  148. data/lib/stellar/util/continued_fraction.rb +96 -0
  149. data/lib/stellar/util/strkey.rb +43 -0
  150. data/open-core.gemspec +37 -0
  151. data/spec/lib/stellar/account_flags_spec.rb +19 -0
  152. data/spec/lib/stellar/asset_spec.rb +45 -0
  153. data/spec/lib/stellar/convert_spec.rb +61 -0
  154. data/spec/lib/stellar/key_pair_spec.rb +238 -0
  155. data/spec/lib/stellar/networks_spec.rb +77 -0
  156. data/spec/lib/stellar/path_payment_result_spec.rb +95 -0
  157. data/spec/lib/stellar/price_spec.rb +34 -0
  158. data/spec/lib/stellar/thresholds_spec.rb +62 -0
  159. data/spec/lib/stellar/transaction_envelope_spec.rb +93 -0
  160. data/spec/lib/stellar/transaction_spec.rb +54 -0
  161. data/spec/lib/stellar/util/strkey_spec.rb +46 -0
  162. data/spec/spec_helper.rb +16 -0
  163. data/spec/support/matchers/be_strkey.rb +9 -0
  164. data/spec/support/matchers/eq_bytes.rb +5 -0
  165. data/spec/support/matchers/have_length.rb +5 -0
  166. data/tasks/rspec.rake +6 -0
  167. data/tasks/travis.rake +1 -0
  168. data/tasks/xdr.rake +50 -0
  169. data/xdr/Stellar-SCP.x +87 -0
  170. data/xdr/Stellar-ledger-entries.x +222 -0
  171. data/xdr/Stellar-ledger.x +231 -0
  172. data/xdr/Stellar-overlay.x +87 -0
  173. data/xdr/Stellar-transaction.x +670 -0
  174. data/xdr/Stellar-types.x +34 -0
  175. metadata +444 -0
@@ -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
+ # enum LedgerEntryChangeType
9
+ # {
10
+ # LEDGER_ENTRY_CREATED = 0, // entry was added to the ledger
11
+ # LEDGER_ENTRY_UPDATED = 1, // entry was modified in the ledger
12
+ # LEDGER_ENTRY_REMOVED = 2 // entry was removed from the ledger
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class LedgerEntryChangeType < XDR::Enum
18
+ member :ledger_entry_created, 0
19
+ member :ledger_entry_updated, 1
20
+ member :ledger_entry_removed, 2
21
+
22
+ seal
23
+ end
24
+ 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
+ # enum LedgerEntryType
9
+ # {
10
+ # ACCOUNT = 0,
11
+ # TRUSTLINE = 1,
12
+ # OFFER = 2
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class LedgerEntryType < XDR::Enum
18
+ member :account, 0
19
+ member :trustline, 1
20
+ member :offer, 2
21
+
22
+ seal
23
+ end
24
+ end
@@ -0,0 +1,65 @@
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 LedgerHeader
9
+ # {
10
+ # uint32 ledgerVersion; // the protocol version of the ledger
11
+ # Hash previousLedgerHash; // hash of the previous ledger header
12
+ # StellarValue scpValue; // what consensus agreed to
13
+ # Hash txSetResultHash; // the TransactionResultSet that led to this ledger
14
+ # Hash bucketListHash; // hash of the ledger state
15
+ #
16
+ # uint32 ledgerSeq; // sequence number of this ledger
17
+ #
18
+ # int64 totalCoins; // total number of stroops in existence
19
+ #
20
+ # int64 feePool; // fees burned since last inflation run
21
+ # uint32 inflationSeq; // inflation sequence number
22
+ #
23
+ # uint64 idPool; // last used global ID, used for generating objects
24
+ #
25
+ # uint32 baseFee; // base fee per operation in stroops
26
+ # uint32 baseReserve; // account base reserve in stroops
27
+ #
28
+ # Hash skipList[4]; // hashes of ledgers in the past. allows you to jump back
29
+ # // in time without walking the chain back ledger by ledger
30
+ # // each slot contains the oldest ledger that is mod of
31
+ # // either 50 5000 50000 or 500000 depending on index
32
+ # // skipList[0] mod(50), skipList[1] mod(5000), etc
33
+ #
34
+ # // reserved for future use
35
+ # union switch (int v)
36
+ # {
37
+ # case 0:
38
+ # void;
39
+ # }
40
+ # ext;
41
+ # };
42
+ #
43
+ # ===========================================================================
44
+ module Stellar
45
+ class LedgerHeader < XDR::Struct
46
+ include XDR::Namespace
47
+
48
+ autoload :Ext
49
+
50
+ attribute :ledger_version, Uint32
51
+ attribute :previous_ledger_hash, Hash
52
+ attribute :scp_value, StellarValue
53
+ attribute :tx_set_result_hash, Hash
54
+ attribute :bucket_list_hash, Hash
55
+ attribute :ledger_seq, Uint32
56
+ attribute :total_coins, Int64
57
+ attribute :fee_pool, Int64
58
+ attribute :inflation_seq, Uint32
59
+ attribute :id_pool, Uint64
60
+ attribute :base_fee, Uint32
61
+ attribute :base_reserve, Uint32
62
+ attribute :skip_list, XDR::Array[Hash, 4]
63
+ attribute :ext, Ext
64
+ end
65
+ 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 LedgerHeader
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,33 @@
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 LedgerHeaderHistoryEntry
9
+ # {
10
+ # Hash hash;
11
+ # LedgerHeader header;
12
+ #
13
+ # // reserved for future use
14
+ # union switch (int v)
15
+ # {
16
+ # case 0:
17
+ # void;
18
+ # }
19
+ # ext;
20
+ # };
21
+ #
22
+ # ===========================================================================
23
+ module Stellar
24
+ class LedgerHeaderHistoryEntry < XDR::Struct
25
+ include XDR::Namespace
26
+
27
+ autoload :Ext
28
+
29
+ attribute :hash, Hash
30
+ attribute :header, LedgerHeader
31
+ attribute :ext, Ext
32
+ end
33
+ 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 LedgerHeaderHistoryEntry
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,50 @@
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 LedgerKey switch (LedgerEntryType type)
9
+ # {
10
+ # case ACCOUNT:
11
+ # struct
12
+ # {
13
+ # AccountID accountID;
14
+ # } account;
15
+ #
16
+ # case TRUSTLINE:
17
+ # struct
18
+ # {
19
+ # AccountID accountID;
20
+ # Asset asset;
21
+ # } trustLine;
22
+ #
23
+ # case OFFER:
24
+ # struct
25
+ # {
26
+ # AccountID sellerID;
27
+ # uint64 offerID;
28
+ # } offer;
29
+ # };
30
+ #
31
+ # ===========================================================================
32
+ module Stellar
33
+ class LedgerKey < XDR::Union
34
+ include XDR::Namespace
35
+
36
+ autoload :Account
37
+ autoload :TrustLine
38
+ autoload :Offer
39
+
40
+ switch_on LedgerEntryType, :type
41
+
42
+ switch :account, :account
43
+ switch :trustline, :trust_line
44
+ switch :offer, :offer
45
+
46
+ attribute :account, Account
47
+ attribute :trust_line, TrustLine
48
+ attribute :offer, Offer
49
+ end
50
+ 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
+ # struct
9
+ # {
10
+ # AccountID accountID;
11
+ # }
12
+ #
13
+ # ===========================================================================
14
+ module Stellar
15
+ class LedgerKey
16
+ class Account < XDR::Struct
17
+ attribute :account_id, AccountID
18
+ end
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
9
+ # {
10
+ # AccountID sellerID;
11
+ # uint64 offerID;
12
+ # }
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class LedgerKey
17
+ class Offer < XDR::Struct
18
+ attribute :seller_id, AccountID
19
+ attribute :offer_id, Uint64
20
+ end
21
+ end
22
+ 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 accountID;
11
+ # Asset asset;
12
+ # }
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class LedgerKey
17
+ class TrustLine < XDR::Struct
18
+ attribute :account_id, AccountID
19
+ attribute :asset, Asset
20
+ end
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 LedgerUpgrade switch (LedgerUpgradeType type)
9
+ # {
10
+ # case LEDGER_UPGRADE_VERSION:
11
+ # uint32 newLedgerVersion; // update ledgerVersion
12
+ # case LEDGER_UPGRADE_BASE_FEE:
13
+ # uint32 newBaseFee; // update baseFee
14
+ # };
15
+ #
16
+ # ===========================================================================
17
+ module Stellar
18
+ class LedgerUpgrade < XDR::Union
19
+ switch_on LedgerUpgradeType, :type
20
+
21
+ switch :ledger_upgrade_version, :new_ledger_version
22
+ switch :ledger_upgrade_base_fee, :new_base_fee
23
+
24
+ attribute :new_ledger_version, Uint32
25
+ attribute :new_base_fee, Uint32
26
+ end
27
+ 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 LedgerUpgradeType
9
+ # {
10
+ # LEDGER_UPGRADE_VERSION = 1,
11
+ # LEDGER_UPGRADE_BASE_FEE = 2
12
+ # };
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class LedgerUpgradeType < XDR::Enum
17
+ member :ledger_upgrade_version, 1
18
+ member :ledger_upgrade_base_fee, 2
19
+
20
+ seal
21
+ end
22
+ 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
+ # enum ManageOfferEffect
9
+ # {
10
+ # MANAGE_OFFER_CREATED = 0,
11
+ # MANAGE_OFFER_UPDATED = 1,
12
+ # MANAGE_OFFER_DELETED = 2
13
+ # };
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class ManageOfferEffect < XDR::Enum
18
+ member :manage_offer_created, 0
19
+ member :manage_offer_updated, 1
20
+ member :manage_offer_deleted, 2
21
+
22
+ seal
23
+ end
24
+ 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
+ # struct ManageOfferOp
9
+ # {
10
+ # Asset selling;
11
+ # Asset buying;
12
+ # int64 amount; // amount being sold. if set to 0, delete the offer
13
+ # Price price; // price of thing being sold in terms of what you are buying
14
+ #
15
+ # // 0=create a new offer, otherwise edit an existing offer
16
+ # uint64 offerID;
17
+ # };
18
+ #
19
+ # ===========================================================================
20
+ module Stellar
21
+ class ManageOfferOp < XDR::Struct
22
+ attribute :selling, Asset
23
+ attribute :buying, Asset
24
+ attribute :amount, Int64
25
+ attribute :price, Price
26
+ attribute :offer_id, Uint64
27
+ end
28
+ 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 ManageOfferResult switch (ManageOfferResultCode code)
9
+ # {
10
+ # case MANAGE_OFFER_SUCCESS:
11
+ # ManageOfferSuccessResult success;
12
+ # default:
13
+ # void;
14
+ # };
15
+ #
16
+ # ===========================================================================
17
+ module Stellar
18
+ class ManageOfferResult < XDR::Union
19
+ switch_on ManageOfferResultCode, :code
20
+
21
+ switch :manage_offer_success, :success
22
+ switch :default
23
+
24
+ attribute :success, ManageOfferSuccessResult
25
+ end
26
+ end