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 +4 -4
- data/lib/sibit/btc.rb +6 -2
- data/lib/sibit/version.rb +1 -1
- data/test/test_btc.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b0578e225f53b1d3904fae19aa6f41ba7aea719bd137587821b3e2fba2a0373
|
4
|
+
data.tar.gz: 82178b4a20da5d18d99101649c31ad8fd3188c88a4ea74577cf2413d1bf6f9e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 756a8a1273e053f4a880220f8d33db38544e36f4a0d38118ee72cc1421d21311900859b9fbac5732c24260a9c48d7599f0865970db27e7046543ad52b2ceb223
|
7
|
+
data.tar.gz: 64650acdb47d4671028075dd84e1d3f7f5c8eefb9c67e5b45212e5d6c5aaec1e1576419a126808b20a4e11fc6dc2bd16ea5f473accbb0d1dac936c2896308ecc
|
data/lib/sibit/btc.rb
CHANGED
@@ -173,9 +173,13 @@ class Sibit
|
|
173
173
|
psize = 50
|
174
174
|
all = []
|
175
175
|
loop do
|
176
|
-
|
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']
|
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|
|
data/lib/sibit/version.rb
CHANGED
data/test/test_btc.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2020-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|