sibit 0.20.0 → 0.20.1

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: 4b0e095b8a42b4036cc160bf0c7cd2d8d80801fb4aa609c34846fe42e711a9a8
4
- data.tar.gz: 5da2b30520ff7ac48783d6a264c501b8b26dbbcf4934a2927e1b9252803f5666
3
+ metadata.gz: 3b0578e225f53b1d3904fae19aa6f41ba7aea719bd137587821b3e2fba2a0373
4
+ data.tar.gz: 82178b4a20da5d18d99101649c31ad8fd3188c88a4ea74577cf2413d1bf6f9e2
5
5
  SHA512:
6
- metadata.gz: b60bbbaf728cc95fc71078096d850f675f2d933ee889a1edb38798f21267ad4e22b7904f786853bcb8c1507aac7a29c3fa195a56d7be5da41d067a6832983c69
7
- data.tar.gz: fa7e0c793d4e21d151c1e5758b2c2c8f98fdd1aaa92368bf3c70527083185b85a6b2a769a51f56b9a5a24e6105e0fb6eac0cb0d78470d8de7f1eb236b0f46423
6
+ metadata.gz: 756a8a1273e053f4a880220f8d33db38544e36f4a0d38118ee72cc1421d21311900859b9fbac5732c24260a9c48d7599f0865970db27e7046543ad52b2ceb223
7
+ data.tar.gz: 64650acdb47d4671028075dd84e1d3f7f5c8eefb9c67e5b45212e5d6c5aaec1e1576419a126808b20a4e11fc6dc2bd16ea5f473accbb0d1dac936c2896308ecc
@@ -173,9 +173,13 @@ class Sibit
173
173
  psize = 50
174
174
  all = []
175
175
  loop do
176
- txns = Sibit::Json.new(http: @http, log: @log).get(
176
+ data = Sibit::Json.new(http: @http, log: @log).get(
177
177
  URI("https://chain.api.btc.com/v3/block/#{hash}/tx?page=#{page}&pagesize=#{psize}")
178
- )['data']['list'].map do |t|
178
+ )['data']
179
+ raise Sibit::Error, "The block #{hash} has no data at page #{page}" if data.nil?
180
+ list = data['list']
181
+ raise Sibit::Error, "The list is empty for block #{hash} at page #{page}" if list.nil?
182
+ txns = list.map do |t|
179
183
  {
180
184
  hash: t['hash'],
181
185
  outputs: t['outputs'].reject { |o| o['spent_by_tx'] }.map do |o|
@@ -26,5 +26,5 @@
26
26
  # License:: MIT
27
27
  class Sibit
28
28
  # Current version of the library.
29
- VERSION = '0.20.0'
29
+ VERSION = '0.20.1'
30
30
  end
@@ -86,6 +86,18 @@ class TestBtc < Minitest::Test
86
86
  assert_equal(123, balance)
87
87
  end
88
88
 
89
+ def test_fetch_block_broken
90
+ hash = '000000000000000007341915521967247f1dec17b3a311b8a8f4495392f1439b'
91
+ stub_request(:get, "https://chain.api.btc.com/v3/block/#{hash}")
92
+ .to_return(body: '{"data": {"next_block_hash": "n", "hash": "h", "prev_block_hash": "p"}}')
93
+ stub_request(:get, "https://chain.api.btc.com/v3/block/#{hash}/tx?page=1&pagesize=50")
94
+ .to_return(body: '{}')
95
+ sibit = Sibit::Btc.new
96
+ assert_raises Sibit::Error do
97
+ sibit.block(hash)
98
+ end
99
+ end
100
+
89
101
  def test_fetch_block
90
102
  hash = '000000000000000007341915521967247f1dec17b3a311b8a8f4495392f1439b'
91
103
  stub_request(:get, "https://chain.api.btc.com/v3/block/#{hash}")
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.20.0
4
+ version: 0.20.1
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-07-30 00:00:00.000000000 Z
11
+ date: 2020-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace