stellar-sdk 0.8.0 → 0.9.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/{LICENSE.txt → LICENSE} +0 -0
  3. data/README.md +4 -5
  4. data/lib/stellar-sdk.rb +2 -3
  5. data/lib/stellar/account.rb +16 -18
  6. data/lib/stellar/amount.rb +9 -13
  7. data/lib/stellar/client.rb +153 -113
  8. data/lib/stellar/horizon/problem.rb +14 -16
  9. data/lib/stellar/sep10.rb +56 -93
  10. data/lib/stellar/transaction_page.rb +4 -6
  11. data/lib/stellar/version.rb +1 -1
  12. metadata +13 -217
  13. data/.github/CODEOWNERS +0 -2
  14. data/.gitignore +0 -17
  15. data/.travis.yml +0 -20
  16. data/.yardopts +0 -7
  17. data/CONTRIBUTING.md +0 -48
  18. data/Gemfile +0 -14
  19. data/Guardfile +0 -5
  20. data/Rakefile +0 -3
  21. data/examples/01_get_funded.rb +0 -37
  22. data/examples/02_payment.rb +0 -15
  23. data/examples/03_transaction_history.rb +0 -21
  24. data/examples/04_setting_trust.rb +0 -1
  25. data/examples/05_fiat_payment.rb +0 -13
  26. data/examples/06_fund_testnet_friendbot.rb +0 -15
  27. data/examples/07_sep10.rb +0 -125
  28. data/ruby-stellar-sdk.gemspec +0 -35
  29. data/spec/config.yml.sample +0 -12
  30. data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_404_request_when_performing_federation_lookup.yml +0 -133
  31. data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_domains_that_are_not_federation_servers.yml +0 -44
  32. data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_peforms_federation_lookup.yml +0 -85
  33. data/spec/fixtures/vcr_cassettes/Stellar_Client/_account_info/returns_the_current_details_for_the_account.yml +0 -190
  34. data/spec/fixtures/vcr_cassettes/Stellar_Client/_account_merge/merges_source_account_into_destination.yml +0 -714
  35. data/spec/fixtures/vcr_cassettes/Stellar_Client/_change_trust/given_an_asset_described_as_an_array/creates_updates_or_deletes_a_trustline.yml +0 -1156
  36. data/spec/fixtures/vcr_cassettes/Stellar_Client/_create_account/creates_the_account.yml +0 -323
  37. data/spec/fixtures/vcr_cassettes/Stellar_Client/_friendbot/requests_for_XLM_from_a_friendbot.yml +0 -246
  38. data/spec/fixtures/vcr_cassettes/Stellar_Client/_load_account/loads_successfully.yml +0 -226
  39. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum12_asset/sends_a_alphanum12_asset_to_the_destination.yml +0 -747
  40. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum4_asset/sends_a_alphanum4_asset_to_the_destination.yml +0 -747
  41. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/memo/accepts_the_memo_attribute.yml +0 -725
  42. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/native_asset/sends_a_native_payment_to_the_account.yml +0 -562
  43. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_account_through_a_channel_account.yml +0 -757
  44. data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_when_the_channel_is_the_same_as_from_.yml +0 -642
  45. data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/accepts_a_cursor_to_return_less_data.yml +0 -94
  46. data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/returns_a_list_of_transaction_for_an_account.yml +0 -94
  47. data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/accepts_a_cursor_to_return_less_data.yml +0 -94
  48. data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/returns_a_list_of_transactions.yml +0 -94
  49. data/spec/lib/stellar/account_spec.rb +0 -59
  50. data/spec/lib/stellar/amount_spec.rb +0 -70
  51. data/spec/lib/stellar/client_spec.rb +0 -430
  52. data/spec/lib/stellar/sep10_spec.rb +0 -1148
  53. data/spec/spec_helper.rb +0 -14
  54. data/spec/support/config.rb +0 -3
  55. data/spec/support/vcr.rb +0 -10
  56. data/tasks/rspec.rake +0 -6
  57. data/tasks/travis.rake +0 -1
@@ -1,46 +1,44 @@
1
1
  module Stellar
2
2
  module Horizon
3
- class Problem
4
- include Contracts
5
-
3
+ class Problem
6
4
  def initialize(attributes)
7
5
  @attributes = attributes.reverse_merge({
8
6
  type: "about:blank",
9
7
  title: "Unknown Error",
10
- status: 500,
8
+ status: 500
11
9
  })
12
10
 
13
11
  @meta = @attributes.except!(:type, :title, :status, :detail, :instance)
14
12
  end
15
13
 
16
- Contract None => String
14
+ # @return [String]
17
15
  def type
18
- @attributes[:type]
16
+ @attributes[:type]
19
17
  end
20
18
 
21
- Contract None => String
19
+ # @return [String]
22
20
  def title
23
- @attributes[:title]
21
+ @attributes[:title]
24
22
  end
25
23
 
26
- Contract None => Num
24
+ # @return [Integer]
27
25
  def status
28
- @attributes[:status]
26
+ @attributes[:status]
29
27
  end
30
28
 
31
- Contract None => String
29
+ # @return [String]
32
30
  def detail
33
- @attributes[:detail]
31
+ @attributes[:detail]
34
32
  end
35
33
 
36
- Contract None => String
34
+ # @return [String]
37
35
  def instance
38
- @attributes[:instance]
36
+ @attributes[:instance]
39
37
  end
40
38
 
41
- Contract None => HashOf[String, Any]
39
+ # @return [{String => Object}]
42
40
  def meta
43
- @attributes[:instance]
41
+ @attributes[:instance]
44
42
  end
45
43
  end
46
44
  end
@@ -2,19 +2,9 @@ module Stellar
2
2
  class InvalidSep10ChallengeError < StandardError; end
3
3
 
4
4
  class SEP10
5
- include Contracts
6
- C = Contracts
7
-
8
- Contract(C::KeywordArgs[
9
- server: Stellar::KeyPair,
10
- client: Stellar::KeyPair,
11
- anchor_name: String,
12
- timeout: C::Optional[Integer]
13
- ] => String)
14
- #
15
5
  # Helper method to create a valid {SEP0010}[https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md]
16
6
  # challenge transaction which you can use for Stellar Web Authentication.
17
- #
7
+ #
18
8
  # @param server [Stellar::KeyPair] Keypair for server's signing account.
19
9
  # @param client [Stellar::KeyPair] Keypair for the account whishing to authenticate with the server.
20
10
  # @param anchor_name [String] Anchor's name to be used in the manage_data key.
@@ -23,38 +13,37 @@ module Stellar
23
13
  # @return [String] A base64 encoded string of the raw TransactionEnvelope xdr struct for the transaction.
24
14
  #
25
15
  # = Example
26
- #
27
- # Stellar::SEP10.build_challenge_tx(server: server, client: user, anchor_name: anchor, timeout: timeout)
28
- #
16
+ #
17
+ # Stellar::SEP10.build_challenge_tx(server: server, client: user, anchor_name: anchor, timeout: timeout)
18
+ #
29
19
  # @see {SEP0010: Stellar Web Authentication}[https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md]
30
20
  def self.build_challenge_tx(server:, client:, anchor_name:, timeout: 300)
31
21
  # The value must be 64 bytes long. It contains a 48 byte
32
22
  # cryptographic-quality random string encoded using base64 (for a total of
33
23
  # 64 bytes after encoding).
34
24
  value = SecureRandom.base64(48)
35
-
36
- tx = Stellar::Transaction.manage_data({
37
- account: server,
38
- sequence: 0,
39
- name: "#{anchor_name} auth",
40
- value: value,
41
- source_account: client
42
- })
43
25
 
44
26
  now = Time.now.to_i
45
- tx.time_bounds = Stellar::TimeBounds.new(
46
- min_time: now,
27
+ time_bounds = Stellar::TimeBounds.new(
28
+ min_time: now,
47
29
  max_time: now + timeout
48
30
  )
49
31
 
32
+ tx = Stellar::TransactionBuilder.new(
33
+ source_account: server,
34
+ sequence_number: 0,
35
+ time_bounds: time_bounds
36
+ ).add_operation(
37
+ Stellar::Operation.manage_data(
38
+ name: "#{anchor_name} auth",
39
+ value: value,
40
+ source_account: client
41
+ )
42
+ ).build
43
+
50
44
  tx.to_envelope(server).to_xdr(:base64)
51
45
  end
52
46
 
53
-
54
- Contract(C::KeywordArgs[
55
- challenge_xdr: String,
56
- server: Stellar::KeyPair
57
- ] => [Stellar::TransactionEnvelope, String])
58
47
  # Reads a SEP 10 challenge transaction and returns the decoded transaction envelope and client account ID contained within.
59
48
  #
60
49
  # It also verifies that transaction is signed by the server.
@@ -71,13 +60,13 @@ module Stellar
71
60
  # @return [Stellar::TransactionEnvelope, String]
72
61
  #
73
62
  # = Example
74
- #
63
+ #
75
64
  # sep10 = Stellar::SEP10
76
- # challenge = sep10.build_challenge_tx(server: server, client: user, anchor_name: anchor, timeout: timeout)
65
+ # challenge = sep10.build_challenge_tx(server: server, client: user, anchor_name: anchor, timeout: timeout)
77
66
  # envelope, client_address = sep10.read_challenge_tx(challenge: challenge, server: server)
78
67
  #
79
68
  def self.read_challenge_tx(challenge_xdr:, server:)
80
- envelope = Stellar::TransactionEnvelope.from_xdr(challenge_xdr, "base64")
69
+ envelope = Stellar::TransactionEnvelope.from_xdr(challenge_xdr, "base64")
81
70
  transaction = envelope.tx
82
71
 
83
72
  if transaction.seq_num != 0
@@ -86,7 +75,7 @@ module Stellar
86
75
  )
87
76
  end
88
77
 
89
- if transaction.source_account != server.public_key
78
+ if transaction.source_account != server.raw_public_key
90
79
  raise InvalidSep10ChallengeError.new(
91
80
  "The transaction source account is not equal to the server's account"
92
81
  )
@@ -113,13 +102,13 @@ module Stellar
113
102
  )
114
103
  end
115
104
 
116
- if operation.body.value.data_value.unpack("m")[0].size != 48
105
+ if operation.body.value.data_value.unpack1("m").size != 48
117
106
  raise InvalidSep10ChallengeError.new(
118
107
  "The transaction's operation value should be a 64 bytes base64 random string"
119
108
  )
120
109
  end
121
110
 
122
- if !verify_tx_signed_by(tx_envelope: envelope, keypair: server)
111
+ unless verify_tx_signed_by(tx_envelope: envelope, keypair: server)
123
112
  raise InvalidSep10ChallengeError.new(
124
113
  "The transaction is not signed by the server"
125
114
  )
@@ -129,26 +118,20 @@ module Stellar
129
118
  now = Time.now.to_i
130
119
 
131
120
  if time_bounds.nil? || !now.between?(time_bounds.min_time, time_bounds.max_time)
132
- raise InvalidSep10ChallengeError.new("The transaction has expired")
121
+ raise InvalidSep10ChallengeError.new("The transaction has expired")
133
122
  end
134
123
 
135
124
  # Mirror the return type of the other SDK's and return a string
136
125
  client_kp = Stellar::KeyPair.from_public_key(client_account_id.ed25519!)
137
126
 
138
- return envelope, client_kp.address
127
+ [envelope, client_kp.address]
139
128
  end
140
129
 
141
-
142
- Contract(C::KeywordArgs[
143
- challenge_xdr: String,
144
- server: Stellar::KeyPair,
145
- signers: SetOf[String]
146
- ] => C::SetOf[String])
147
130
  # Verifies that for a SEP 10 challenge transaction all signatures on the transaction are accounted for.
148
131
  #
149
- # A transaction is verified if it is signed by the server account, and all other signatures match a signer
150
- # that has been provided as an argument. Additional signers can be provided that do not have a signature,
151
- # but all signatures must be matched to a signer for verification to succeed.
132
+ # A transaction is verified if it is signed by the server account, and all other signatures match a signer
133
+ # that has been provided as an argument. Additional signers can be provided that do not have a signature,
134
+ # but all signatures must be matched to a signer for verification to succeed.
152
135
  #
153
136
  # If verification succeeds a list of signers that were found is returned, excluding the server account ID.
154
137
  #
@@ -160,7 +143,7 @@ module Stellar
160
143
  #
161
144
  # Raises a InvalidSep10ChallengeError if:
162
145
  # - The transaction is invalid according to Stellar::SEP10.read_challenge_tx.
163
- # - One or more signatures in the transaction are not identifiable as the server account or one of the
146
+ # - One or more signatures in the transaction are not identifiable as the server account or one of the
164
147
  # signers provided in the arguments.
165
148
  def self.verify_challenge_tx_signers(
166
149
  challenge_xdr:,
@@ -192,7 +175,7 @@ module Stellar
192
175
  end
193
176
 
194
177
  if client_signers.empty?
195
- raise InvalidSep10ChallengeError.new("At least one signer with a G... address must be provied")
178
+ raise InvalidSep10ChallengeError.new("At least one signer with a G... address must be provied")
196
179
  end
197
180
 
198
181
  # verify all signatures in one pass
@@ -202,7 +185,7 @@ module Stellar
202
185
  )
203
186
 
204
187
  # ensure server signed transaction and remove it
205
- if !signers_found.delete?(server.address)
188
+ unless signers_found.delete?(server.address)
206
189
  raise InvalidSep10ChallengeError.new("Transaction not signed by server: #{server.address}")
207
190
  end
208
191
 
@@ -216,20 +199,13 @@ module Stellar
216
199
  raise InvalidSep10ChallengeError.new("Transaction has unrecognized signatures.")
217
200
  end
218
201
 
219
- return signers_found
220
-
202
+ signers_found
221
203
  end
222
204
 
223
- Contract(C::KeywordArgs[
224
- challenge_xdr: String,
225
- server: Stellar::KeyPair,
226
- threshold: Integer,
227
- signers: SetOf[::Hash],
228
- ] => C::SetOf[::Hash])
229
- # Verifies that for a SEP 10 challenge transaction all signatures on the transaction
230
- # are accounted for and that the signatures meet a threshold on an account. A
231
- # transaction is verified if it is signed by the server account, and all other
232
- # signatures match a signer that has been provided as an argument, and those
205
+ # Verifies that for a SEP 10 challenge transaction all signatures on the transaction
206
+ # are accounted for and that the signatures meet a threshold on an account. A
207
+ # transaction is verified if it is signed by the server account, and all other
208
+ # signatures match a signer that has been provided as an argument, and those
233
209
  # signatures meet a threshold on the account.
234
210
  #
235
211
  # @param challenge_xdr [String] SEP0010 transaction challenge transaction in base64.
@@ -241,7 +217,7 @@ module Stellar
241
217
  #
242
218
  # Raises a InvalidSep10ChallengeError if:
243
219
  # - The transaction is invalid according to Stellar::SEP10.read_challenge_transaction.
244
- # - One or more signatures in the transaction are not identifiable as the server
220
+ # - One or more signatures in the transaction are not identifiable as the server
245
221
  # account or one of the signers provided in the arguments.
246
222
  # - The signatures are all valid but do not meet the threshold.
247
223
  def self.verify_challenge_tx_threshold(
@@ -250,22 +226,22 @@ module Stellar
250
226
  threshold:,
251
227
  signers:
252
228
  )
253
- signer_str_set = signers.map { |s| s['key'] }.to_set
229
+ signer_str_set = signers.map { |s| s["key"] }.to_set
254
230
  signer_strs_found = verify_challenge_tx_signers(
255
- challenge_xdr: challenge_xdr,
256
- server: server,
231
+ challenge_xdr: challenge_xdr,
232
+ server: server,
257
233
  signers: signer_str_set
258
234
  )
259
-
235
+
260
236
  weight = 0
261
237
  signers_found = Set.new
262
238
  signers.each do |s|
263
- if !signer_strs_found.include?(s['key'])
239
+ unless signer_strs_found.include?(s["key"])
264
240
  next
265
241
  end
266
- signer_strs_found.delete(s['key'])
242
+ signer_strs_found.delete(s["key"])
267
243
  signers_found.add(s)
268
- weight += s['weight']
244
+ weight += s["weight"]
269
245
  end
270
246
 
271
247
  if weight < threshold
@@ -273,18 +249,14 @@ module Stellar
273
249
  "signers with weight #{weight} do not meet threshold #{threshold}."
274
250
  )
275
251
  end
276
-
277
- return signers_found
252
+
253
+ signers_found
278
254
  end
279
255
 
280
- Contract(C::KeywordArgs[
281
- challenge_xdr: String,
282
- server: Stellar::KeyPair
283
- ] => nil)
284
256
  # DEPRECATED: Use verify_challenge_tx_signers instead.
285
257
  # This function does not support multiple client signatures.
286
258
  #
287
- # Verifies if a transaction is a valid per SEP-10 challenge transaction, if the validation
259
+ # Verifies if a transaction is a valid per SEP-10 challenge transaction, if the validation
288
260
  # fails, an exception will be thrown.
289
261
  #
290
262
  # This function performs the following checks:
@@ -303,20 +275,16 @@ module Stellar
303
275
  challenge_xdr: String, server: Stellar::KeyPair
304
276
  )
305
277
  transaction_envelope, client_address = read_challenge_tx(
306
- challenge_xdr: challenge_xdr, server: server
278
+ challenge_xdr: challenge_xdr, server: server
307
279
  )
308
280
  client_keypair = Stellar::KeyPair.from_address(client_address)
309
- if !verify_tx_signed_by(tx_envelope: transaction_envelope, keypair: client_keypair)
281
+ unless verify_tx_signed_by(tx_envelope: transaction_envelope, keypair: client_keypair)
310
282
  raise InvalidSep10ChallengeError.new(
311
- "Transaction not signed by client: %s" % [client_keypair.address]
283
+ "Transaction not signed by client: %s" % [client_keypair.address]
312
284
  )
313
285
  end
314
286
  end
315
287
 
316
- Contract(C::KeywordArgs[
317
- tx_envelope: Stellar::TransactionEnvelope,
318
- signers: SetOf[String]
319
- ] => SetOf[String])
320
288
  # Verifies every signer passed matches a signature on the transaction exactly once,
321
289
  # returning a list of unique signers that were found to have signed the transaction.
322
290
  #
@@ -352,33 +320,28 @@ module Stellar
352
320
  end
353
321
  end
354
322
 
355
- return signers_found
323
+ signers_found
356
324
  end
357
325
 
358
- Contract(C::KeywordArgs[
359
- tx_envelope: Stellar::TransactionEnvelope,
360
- keypair: Stellar::KeyPair
361
- ] => C::Bool)
362
326
  # Verifies if a Stellar::TransactionEnvelope was signed by the given Stellar::KeyPair
363
327
  #
364
- # @param tx_envelope [Stellar::TransactionEnvelope]
328
+ # @param tx_envelope [Stellar::TransactionEnvelope]
365
329
  # @param keypair [Stellar::KeyPair]
366
330
  #
367
331
  # @return [Boolean]
368
332
  #
369
333
  # = Example
370
- #
334
+ #
371
335
  # Stellar::SEP10.verify_tx_signed_by(tx_envelope: envelope, keypair: keypair)
372
336
  #
373
337
  def self.verify_tx_signed_by(tx_envelope:, keypair:)
374
338
  tx_hash = tx_envelope.tx.hash
375
- tx_envelope.signatures.any? do |sig|
339
+ tx_envelope.signatures.any? do |sig|
376
340
  if sig.hint != keypair.signature_hint
377
341
  next
378
342
  end
379
343
  keypair.verify(sig.signature, tx_hash)
380
344
  end
381
345
  end
382
-
383
346
  end
384
- end
347
+ end
@@ -1,9 +1,8 @@
1
1
  module Stellar
2
2
  class TransactionPage
3
- include Contracts
4
3
  include Enumerable
5
4
 
6
- Contract Hyperclient::Link => Any
5
+ # @param [Hyperclient::Link] resource
7
6
  def initialize(resource)
8
7
  @resource = resource
9
8
  end
@@ -11,10 +10,10 @@ module Stellar
11
10
  def each
12
11
  @resource.records.each do |tx|
13
12
  yield tx if block_given?
14
- end
13
+ end
15
14
  end
16
15
 
17
- Contract None => TransactionPage
16
+ # @return [Stellar::TransactionPage]
18
17
  def next_page
19
18
  self.class.new(@resource.next)
20
19
  end
@@ -22,6 +21,5 @@ module Stellar
22
21
  def next_page!
23
22
  @resource = @resource.next
24
23
  end
25
-
26
24
  end
27
- end
25
+ end
@@ -1,3 +1,3 @@
1
1
  module Stellar
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0.pre2"
3
3
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stellar-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Fleckenstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-26 00:00:00.000000000 Z
11
+ date: 2020-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: stellar-base
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.22.0
19
+ version: 0.23.0.pre1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.22.0
26
+ version: 0.23.0.pre1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: hyperclient
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,34 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.44'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 0.44.4
47
+ version: '0.71'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
54
51
  requirements:
55
52
  - - "~>"
56
53
  - !ruby/object:Gem::Version
57
- version: '0.44'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 0.44.4
61
- - !ruby/object:Gem::Dependency
62
- name: contracts
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '0.16'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '0.16'
54
+ version: '0.71'
75
55
  - !ruby/object:Gem::Dependency
76
56
  name: activesupport
77
57
  requirement: !ruby/object:Gem::Requirement
@@ -106,118 +86,6 @@ dependencies:
106
86
  - - ">="
107
87
  - !ruby/object:Gem::Version
108
88
  version: 1.1.1
109
- - !ruby/object:Gem::Dependency
110
- name: bundler
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: '2.0'
116
- type: :development
117
- prerelease: false
118
- version_requirements: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: '2.0'
123
- - !ruby/object:Gem::Dependency
124
- name: rake
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '10.0'
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: '10.0'
137
- - !ruby/object:Gem::Dependency
138
- name: rspec
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - "~>"
142
- - !ruby/object:Gem::Version
143
- version: '3.1'
144
- type: :development
145
- prerelease: false
146
- version_requirements: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - "~>"
149
- - !ruby/object:Gem::Version
150
- version: '3.1'
151
- - !ruby/object:Gem::Dependency
152
- name: guard-rspec
153
- requirement: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: '4.7'
158
- type: :development
159
- prerelease: false
160
- version_requirements: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: '4.7'
165
- - !ruby/object:Gem::Dependency
166
- name: simplecov
167
- requirement: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: '0.18'
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - "~>"
177
- - !ruby/object:Gem::Version
178
- version: '0.18'
179
- - !ruby/object:Gem::Dependency
180
- name: yard
181
- requirement: !ruby/object:Gem::Requirement
182
- requirements:
183
- - - "~>"
184
- - !ruby/object:Gem::Version
185
- version: '0.9'
186
- type: :development
187
- prerelease: false
188
- version_requirements: !ruby/object:Gem::Requirement
189
- requirements:
190
- - - "~>"
191
- - !ruby/object:Gem::Version
192
- version: '0.9'
193
- - !ruby/object:Gem::Dependency
194
- name: vcr
195
- requirement: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - "~>"
198
- - !ruby/object:Gem::Version
199
- version: '3.0'
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: '3.0'
207
- - !ruby/object:Gem::Dependency
208
- name: webmock
209
- requirement: !ruby/object:Gem::Requirement
210
- requirements:
211
- - - "~>"
212
- - !ruby/object:Gem::Version
213
- version: '2.3'
214
- type: :development
215
- prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- requirements:
218
- - - "~>"
219
- - !ruby/object:Gem::Version
220
- version: '2.3'
221
89
  description:
222
90
  email:
223
91
  - scott@stellar.org
@@ -225,24 +93,9 @@ executables: []
225
93
  extensions: []
226
94
  extra_rdoc_files: []
227
95
  files:
228
- - ".github/CODEOWNERS"
229
- - ".gitignore"
230
- - ".travis.yml"
231
- - ".yardopts"
232
96
  - CHANGELOG.md
233
- - CONTRIBUTING.md
234
- - Gemfile
235
- - Guardfile
236
- - LICENSE.txt
97
+ - LICENSE
237
98
  - README.md
238
- - Rakefile
239
- - examples/01_get_funded.rb
240
- - examples/02_payment.rb
241
- - examples/03_transaction_history.rb
242
- - examples/04_setting_trust.rb
243
- - examples/05_fiat_payment.rb
244
- - examples/06_fund_testnet_friendbot.rb
245
- - examples/07_sep10.rb
246
99
  - lib/stellar-sdk.rb
247
100
  - lib/stellar/account.rb
248
101
  - lib/stellar/amount.rb
@@ -251,36 +104,6 @@ files:
251
104
  - lib/stellar/sep10.rb
252
105
  - lib/stellar/transaction_page.rb
253
106
  - lib/stellar/version.rb
254
- - ruby-stellar-sdk.gemspec
255
- - spec/config.yml.sample
256
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_404_request_when_performing_federation_lookup.yml
257
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_domains_that_are_not_federation_servers.yml
258
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_peforms_federation_lookup.yml
259
- - spec/fixtures/vcr_cassettes/Stellar_Client/_account_info/returns_the_current_details_for_the_account.yml
260
- - spec/fixtures/vcr_cassettes/Stellar_Client/_account_merge/merges_source_account_into_destination.yml
261
- - spec/fixtures/vcr_cassettes/Stellar_Client/_change_trust/given_an_asset_described_as_an_array/creates_updates_or_deletes_a_trustline.yml
262
- - spec/fixtures/vcr_cassettes/Stellar_Client/_create_account/creates_the_account.yml
263
- - spec/fixtures/vcr_cassettes/Stellar_Client/_friendbot/requests_for_XLM_from_a_friendbot.yml
264
- - spec/fixtures/vcr_cassettes/Stellar_Client/_load_account/loads_successfully.yml
265
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum12_asset/sends_a_alphanum12_asset_to_the_destination.yml
266
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum4_asset/sends_a_alphanum4_asset_to_the_destination.yml
267
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/memo/accepts_the_memo_attribute.yml
268
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/native_asset/sends_a_native_payment_to_the_account.yml
269
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_account_through_a_channel_account.yml
270
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_when_the_channel_is_the_same_as_from_.yml
271
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/accepts_a_cursor_to_return_less_data.yml
272
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/returns_a_list_of_transaction_for_an_account.yml
273
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/accepts_a_cursor_to_return_less_data.yml
274
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/returns_a_list_of_transactions.yml
275
- - spec/lib/stellar/account_spec.rb
276
- - spec/lib/stellar/amount_spec.rb
277
- - spec/lib/stellar/client_spec.rb
278
- - spec/lib/stellar/sep10_spec.rb
279
- - spec/spec_helper.rb
280
- - spec/support/config.rb
281
- - spec/support/vcr.rb
282
- - tasks/rspec.rake
283
- - tasks/travis.rake
284
107
  homepage: http://github.com/stellar/ruby-stellar-sdk
285
108
  licenses:
286
109
  - Apache-2.0
@@ -296,39 +119,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
296
119
  version: '0'
297
120
  required_rubygems_version: !ruby/object:Gem::Requirement
298
121
  requirements:
299
- - - ">="
122
+ - - ">"
300
123
  - !ruby/object:Gem::Version
301
- version: '0'
124
+ version: 1.3.1
302
125
  requirements: []
303
- rubygems_version: 3.0.8
126
+ rubygems_version: 3.1.3
304
127
  signing_key:
305
128
  specification_version: 4
306
129
  summary: Stellar client library
307
- test_files:
308
- - spec/config.yml.sample
309
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_404_request_when_performing_federation_lookup.yml
310
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_domains_that_are_not_federation_servers.yml
311
- - spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_peforms_federation_lookup.yml
312
- - spec/fixtures/vcr_cassettes/Stellar_Client/_account_info/returns_the_current_details_for_the_account.yml
313
- - spec/fixtures/vcr_cassettes/Stellar_Client/_account_merge/merges_source_account_into_destination.yml
314
- - spec/fixtures/vcr_cassettes/Stellar_Client/_change_trust/given_an_asset_described_as_an_array/creates_updates_or_deletes_a_trustline.yml
315
- - spec/fixtures/vcr_cassettes/Stellar_Client/_create_account/creates_the_account.yml
316
- - spec/fixtures/vcr_cassettes/Stellar_Client/_friendbot/requests_for_XLM_from_a_friendbot.yml
317
- - spec/fixtures/vcr_cassettes/Stellar_Client/_load_account/loads_successfully.yml
318
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum12_asset/sends_a_alphanum12_asset_to_the_destination.yml
319
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum4_asset/sends_a_alphanum4_asset_to_the_destination.yml
320
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/memo/accepts_the_memo_attribute.yml
321
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/native_asset/sends_a_native_payment_to_the_account.yml
322
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_account_through_a_channel_account.yml
323
- - spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_when_the_channel_is_the_same_as_from_.yml
324
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/accepts_a_cursor_to_return_less_data.yml
325
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/returns_a_list_of_transaction_for_an_account.yml
326
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/accepts_a_cursor_to_return_less_data.yml
327
- - spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/returns_a_list_of_transactions.yml
328
- - spec/lib/stellar/account_spec.rb
329
- - spec/lib/stellar/amount_spec.rb
330
- - spec/lib/stellar/client_spec.rb
331
- - spec/lib/stellar/sep10_spec.rb
332
- - spec/spec_helper.rb
333
- - spec/support/config.rb
334
- - spec/support/vcr.rb
130
+ test_files: []