sibit 0.21.3 → 0.21.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c72b1319eee0a3b3dc8370b7dd1447109cfd96d86754b5a3aa3444986fb8f9e7
4
- data.tar.gz: 7694b4e1284ac6d656b0794c7e58e5ed4d8be6eabd62e126608395f355986635
3
+ metadata.gz: 683996e02ea2ff93aa4bb8e97d369bcd087ba8eb5ebac2cdb8e7df21965c01b1
4
+ data.tar.gz: bbb58ae9442fc83a81a2008e0812959bd0d5895e454519fee13566c1663a51e4
5
5
  SHA512:
6
- metadata.gz: 60c20d72c1b6b6c37c785bb3c0252d5cf37ed9f55892e51ff8675c17ee8870d5f968dbeeb150efb10b959f7f3dc419a56e7f3a31531b76a4216b62654aea6323
7
- data.tar.gz: 7da7246776833039f185b63c2829f387f4fa20f506ba5085d1746e31814d470a3064caf6928b125a2ec9d34226297a2cd6e50d2fd53cb898498cc022f4deec6c
6
+ metadata.gz: ec3ace5b68abc1eefbbf6f3e86067c83c48d709ff418b956a3032bb8c0c5482a01e8f1ba258d640e975a67ab95bd1c805eb9e3308b1416f83e8f77fd2fc5d05d
7
+ data.tar.gz: cc63682837655ec6f790b4d108fd13d35d07eff5c72b40da164c791e5b39f4b8ef799310ff221843da7803773353cacd9dbfeeb9088a9fee4e22194ddea3dd16
data/.simplecov CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2019-2020 Yegor Bugayenko
3
+ Copyright (c) 2019-2021 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/bin/sibit CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- # Copyright (c) 2019-2020 Yegor Bugayenko
4
+ # Copyright (c) 2019-2021 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/sibit.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative 'sibit/blockchain'
28
28
  # Sibit main class.
29
29
  #
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class Sibit
34
34
  # Constructor.
@@ -55,6 +55,7 @@ class Sibit
55
55
 
56
56
  # Current price of 1 BTC in USD (or another currency), float returned.
57
57
  def price(currency = 'USD')
58
+ raise Error, "Invalid currency #{currency.inspect}" unless /^[A-Z]{3}$/.match?(currency)
58
59
  @api.price(currency)
59
60
  end
60
61
 
@@ -74,16 +75,19 @@ class Sibit
74
75
 
75
76
  # Gets the balance of the address, in satoshi.
76
77
  def balance(address)
78
+ raise Error, "Invalid address #{address.inspect}" unless /^[0-9a-zA-Z]+$/.match?(address)
77
79
  @api.balance(address)
78
80
  end
79
81
 
80
82
  # Get the height of the block.
81
83
  def height(hash)
84
+ raise Error, "Invalid block hash #{hash.inspect}" unless /^[0-9a-f]{64}$/.match?(hash)
82
85
  @api.height(hash)
83
86
  end
84
87
 
85
88
  # Get the hash of the next block.
86
89
  def next_of(hash)
90
+ raise Error, "Invalid block hash #{hash.inspect}" unless /^[0-9a-f]{64}$/.match?(hash)
87
91
  @api.next_of(hash)
88
92
  end
89
93
 
@@ -182,6 +186,8 @@ class Sibit
182
186
  # in satoshi. The callback should return non-false if the transaction
183
187
  # found was useful.
184
188
  def scan(start, max: 4)
189
+ raise Error, "Invalid block hash #{start.inspect}" unless /^[0-9a-f]{64}$/.match?(start)
190
+ raise Error, "The max number must be above zero: #{max}" if max < 1
185
191
  block = start
186
192
  count = 0
187
193
  wrong = []
@@ -215,10 +221,20 @@ class Sibit
215
221
  checked += 1
216
222
  end
217
223
  count += 1
218
- @log.info("We checked #{checked} txns and #{checked_outputs} outputs in block #{block}")
224
+ @log.info("We checked #{checked} txns and #{checked_outputs} outputs \
225
+ in block #{block} (by #{json[:provider]})")
219
226
  block = json[:next]
227
+ begin
228
+ if block.nil?
229
+ @log.info("The next_block is empty in #{json[:hash]}, this may be the end...")
230
+ block = @api.next_of(json[:hash])
231
+ end
232
+ rescue Sibit::Error => e
233
+ @log.info("Failed to get the next_of(#{json[:hash]}), quitting: #{e.message}")
234
+ break
235
+ end
220
236
  if block.nil?
221
- @log.info("The next_block is empty in block #{json[:hash]}, this is the end of Blockchain")
237
+ @log.info("The block #{json[:hash]} is definitely the end of Blockchain, we stop.")
222
238
  break
223
239
  end
224
240
  if count > max
data/lib/sibit/bestof.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative 'log'
27
27
  # API best of.
28
28
  #
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class Sibit
33
33
  # Best of API.
@@ -107,6 +107,8 @@ class Sibit
107
107
  errors = []
108
108
  @list.each do |api|
109
109
  results << yield(api)
110
+ rescue Sibit::NotSupportedError
111
+ # Just ignore it
110
112
  rescue Sibit::Error => e
111
113
  errors << e
112
114
  @log.info("The API #{api.class.name} failed at #{method}(): #{e.message}") if @verbose
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -32,7 +32,7 @@ require_relative 'version'
32
32
  # Bitcoinchain.com API.
33
33
  #
34
34
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
35
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
35
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
36
36
  # License:: MIT
37
37
  class Sibit
38
38
  # Btc.com API.
@@ -121,6 +121,7 @@ class Sibit
121
121
  nxt = head['next_block']
122
122
  nxt = nil if nxt == '0000000000000000000000000000000000000000000000000000000000000000'
123
123
  {
124
+ provider: self.class.name,
124
125
  hash: head['hash'],
125
126
  orphan: !head['is_main'],
126
127
  next: nxt,
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -35,7 +35,7 @@ require_relative 'version'
35
35
  # https://www.blockchain.com/api/blockchain_api
36
36
  #
37
37
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
38
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
38
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
39
39
  # License:: MIT
40
40
  class Sibit
41
41
  # Blockchain.info API.
@@ -139,6 +139,7 @@ class Sibit
139
139
  Iri.new('https://blockchain.info/rawblock').append(hash)
140
140
  )
141
141
  {
142
+ provider: self.class.name,
142
143
  hash: json['hash'],
143
144
  orphan: !json['main_chain'],
144
145
  next: json['next_block'][0],
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -33,7 +33,7 @@ require_relative 'version'
33
33
  # Blockchair.com API.
34
34
  #
35
35
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
36
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
36
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
37
37
  # License:: MIT
38
38
  class Sibit
39
39
  # Btc.com API.
data/lib/sibit/btc.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -34,7 +34,7 @@ require_relative 'version'
34
34
  # Here: https://btc.com/api-doc
35
35
  #
36
36
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
37
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
37
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
38
38
  # License:: MIT
39
39
  class Sibit
40
40
  # Btc.com API.
@@ -74,7 +74,7 @@ class Sibit
74
74
  balance
75
75
  end
76
76
 
77
- # Get hash of the block after this one.
77
+ # Get hash of the block after this one, or NIL if it's the last one in Blockchain.
78
78
  def next_of(hash)
79
79
  head = Sibit::Json.new(http: @http, log: @log).get(
80
80
  Iri.new('https://chain.api.btc.com/v3/block').append(hash)
@@ -162,6 +162,7 @@ class Sibit
162
162
  nxt = data['next_block_hash']
163
163
  nxt = nil if nxt == '0000000000000000000000000000000000000000000000000000000000000000'
164
164
  {
165
+ provider: self.class.name,
165
166
  hash: data['hash'],
166
167
  orphan: data['is_orphan'],
167
168
  next: nxt,
data/lib/sibit/cex.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative 'json'
30
30
  # Cex.io API.
31
31
  #
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class Sibit
36
36
  # Btc.com API.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -32,7 +32,7 @@ require_relative 'version'
32
32
  # Cryptoapis.io API.
33
33
  #
34
34
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
35
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
35
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
36
36
  # License:: MIT
37
37
  class Sibit
38
38
  # Btc.com API.
@@ -119,6 +119,7 @@ class Sibit
119
119
  headers: headers
120
120
  )['payload']
121
121
  {
122
+ provider: self.class.name,
122
123
  hash: head['hash'],
123
124
  orphan: false,
124
125
  next: head['nextblockhash'],
data/lib/sibit/earn.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -31,7 +31,7 @@ require_relative 'version'
31
31
  # Earn.com API.
32
32
  #
33
33
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
34
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
34
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
35
35
  # License:: MIT
36
36
  class Sibit
37
37
  # Blockchain.info API.
data/lib/sibit/error.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -23,7 +23,7 @@
23
23
  # The error.
24
24
  #
25
25
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
26
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
26
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
27
27
  # License:: MIT
28
28
  class Sibit
29
29
  # The error.
data/lib/sibit/fake.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -25,7 +25,7 @@ require_relative 'version'
25
25
  # Fake API.
26
26
  #
27
27
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
28
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
28
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
29
29
  # License:: MIT
30
30
  class Sibit
31
31
  # Fake API
@@ -64,6 +64,7 @@ class Sibit
64
64
 
65
65
  def block(hash)
66
66
  {
67
+ provider: self.class.name,
67
68
  hash: hash,
68
69
  orphan: false,
69
70
  next: hash,
data/lib/sibit/firstof.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative 'log'
27
27
  # API first of.
28
28
  #
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class Sibit
33
33
  # First of API.
@@ -112,6 +112,8 @@ class Sibit
112
112
  result = yield api
113
113
  done = true
114
114
  break
115
+ rescue Sibit::NotSupportedError
116
+ # Just ignore it
115
117
  rescue Sibit::Error => e
116
118
  errors << e
117
119
  @log.info("The API #{api.class.name} failed at #{method}(): #{e.message}") if @verbose
data/lib/sibit/http.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -25,7 +25,7 @@ require 'net/http'
25
25
  # HTTP interface.
26
26
  #
27
27
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
28
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
28
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
29
29
  # License:: MIT
30
30
  class Sibit
31
31
  # This HTTP client will be used by default.
data/lib/sibit/json.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -34,7 +34,7 @@ require_relative 'log'
34
34
  # https://www.blockchain.com/api/blockchain_api
35
35
  #
36
36
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
37
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
37
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
38
38
  # License:: MIT
39
39
  class Sibit
40
40
  # JSON processing.
@@ -65,6 +65,8 @@ class Sibit
65
65
  end
66
66
  @log.info("GET #{uri}: #{res.code}/#{length(res.body.length)} in #{age(start)}")
67
67
  JSON.parse(res.body)
68
+ rescue JSON::ParserError => e
69
+ raise Sibit::Error, "Can't parse JSON: #{e.message}"
68
70
  end
69
71
 
70
72
  def post(address, body, headers: {})
data/lib/sibit/log.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -23,7 +23,7 @@
23
23
  # The log.
24
24
  #
25
25
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
26
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
26
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
27
27
  # License:: MIT
28
28
  class Sibit
29
29
  # Log.
data/lib/sibit/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -22,9 +22,9 @@
22
22
 
23
23
  # Sibit main class.
24
24
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
25
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
25
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  class Sibit
28
28
  # Current version of the library.
29
- VERSION = '0.21.3'
29
+ VERSION = '0.21.8'
30
30
  end
data/sibit.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test__helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test_bestof.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative '../lib/sibit/bestof'
27
27
 
28
28
  # Sibit::BestOf test.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class TestBestOf < Minitest::Test
33
33
  def test_not_array
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/bitcoinchain'
28
28
 
29
29
  # Sibit::Bitcoinchain test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestBitcoinchain < Minitest::Test
34
34
  def test_fetch_hash
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/blockchain'
28
28
 
29
29
  # Sibit::Blockchain test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestBlockchain < Minitest::Test
34
34
  def test_fetch_block
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/blockchair'
28
28
 
29
29
  # Sibit::Blockchair test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestBlockchair < Minitest::Test
34
34
  def test_fetch_balance
data/test/test_btc.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/btc'
28
28
 
29
29
  # Sibit::Btc test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestBtc < Minitest::Test
34
34
  def test_get_zero_balance
data/test/test_cex.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/cex'
28
28
 
29
29
  # Sibit::Cex test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestBtc < Minitest::Test
34
34
  def test_get_price
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit/cryptoapis'
28
28
 
29
29
  # Sibit::Cryptoapis test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestCryptoapis < Minitest::Test
34
34
  def test_fetch_block
data/test/test_fake.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative '../lib/sibit/fake'
27
27
 
28
28
  # Sibit::Fake test.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class TestFake < Minitest::Test
33
33
  def test_fake_object_works
@@ -41,7 +41,7 @@ class TestFake < Minitest::Test
41
41
 
42
42
  def test_scan_works
43
43
  sibit = Sibit.new(api: Sibit::Fake.new)
44
- hash = '1234567'
44
+ hash = '00000000000000000008df8a6e1b61d1136803ac9791b8725235c9f780b4ed71'
45
45
  found = false
46
46
  tail = sibit.scan(hash) do |addr, tx, satoshi|
47
47
  assert_equal(1000, satoshi)
data/test/test_firstof.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative '../lib/sibit/firstof'
27
27
 
28
28
  # Sibit::FirstOf test.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class TestFirstOf < Minitest::Test
33
33
  def test_not_array
data/test/test_json.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative '../lib/sibit/json'
27
27
 
28
28
  # Sibit::Json test.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class TestJson < Minitest::Test
33
33
  def test_loads_hash
data/test/test_live.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/sibit'
28
28
 
29
29
  # Live tests.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestLive < Minitest::Test
34
34
  def test_block
data/test/test_sibit.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019-2020 Yegor Bugayenko
3
+ # Copyright (c) 2019-2021 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -32,7 +32,7 @@ require_relative '../lib/sibit/bestof'
32
32
 
33
33
  # Sibit.
34
34
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
35
- # Copyright:: Copyright (c) 2019-2020 Yegor Bugayenko
35
+ # Copyright:: Copyright (c) 2019-2021 Yegor Bugayenko
36
36
  # License:: MIT
37
37
  class TestSibit < Minitest::Test
38
38
  def test_loads_fees
@@ -196,7 +196,8 @@ class TestSibit < Minitest::Test
196
196
  end
197
197
  sibit = Sibit.new(api: api)
198
198
  found = false
199
- tail = sibit.scan('head') do |addr, tx, satoshi|
199
+ start = '00000000000000000008df8a6e1b61d1136803ac9791b8725235c9f780b4ed71'
200
+ tail = sibit.scan(start) do |addr, tx, satoshi|
200
201
  assert_equal(123, satoshi)
201
202
  assert_equal('addr', addr)
202
203
  assert_equal('hash:0', tx)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sibit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.3
4
+ version: 0.21.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-25 00:00:00.000000000 Z
11
+ date: 2021-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace