txcatcher 0.1.91 → 0.1.92

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
  SHA1:
3
- metadata.gz: '018191cd3df5c7c6d7814adac0940b256e5d8425'
4
- data.tar.gz: '0567816356fa64b8f78c5a78f9582940ad9d5e4b'
3
+ metadata.gz: d7db3d79b8553c6d6c0e10e7e5f948feaa99d533
4
+ data.tar.gz: f991f5dedf6392f3cc0905a87d9be417e8164998
5
5
  SHA512:
6
- metadata.gz: 32a773c62f5e4ddebc35e45caf101e8e5c8341011016518cbcf9fb966f17af7baabab09aaf8b8e5d11144241e6b37a82f95148de6d271d32e0a42005700d55df
7
- data.tar.gz: 2161853bbc4505aa14816239d43c3fa258b0e7ded1a05f317bc61e3fb74aab9d61a1fdcd2be6c4f84d0605210571eb3459ae56fb7b03b8be875f6024c51c9d0f
6
+ metadata.gz: 2d586ebaec43d73e0dcbb68606ddfc369aca3128f1a7efaebe17784dd87b10c86a80d34291a57a59ec430afe30d96876e9a4ac48e7b9fb31b96f2287a87cb393
7
+ data.tar.gz: 928fe120265c415886a46a832fd1e527fa4db0fdde5a04eaf64478020107f2e1375fa8c158e38ad7b78941bfe694a3ce60fb5348cf21e7dd685542105d0307b5
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.91
1
+ 0.1.92
@@ -76,7 +76,7 @@ def send_alert(subject, text)
76
76
 
77
77
  end
78
78
 
79
- def latest_output_addr
79
+ def latest_output_addr(i=0)
80
80
 
81
81
  response = Faraday.get do |req|
82
82
  req.url TxCatcher::Config["monitor"]["blockchain_source_url"]
@@ -86,8 +86,8 @@ def latest_output_addr
86
86
  txs = JSON.parse(response.body)
87
87
 
88
88
  txs.each do |tx|
89
- if tx["outputs"] && tx["outputs"].first["addresses"]
90
- tx["outputs"].first["addresses"].each do |addr|
89
+ if tx["outputs"] && tx["outputs"][i]["addresses"]
90
+ tx["outputs"][i]["addresses"].each do |addr|
91
91
  # Blockcypher returns old Litecoin P2SH addresses which start with 3, which
92
92
  # txcatcher doesn't support. Let's just ignore them.
93
93
  if addr[0] != "3" || !TxCatcher::Config["monitor"]["ignore_3_litecoin_addr"]
@@ -125,13 +125,21 @@ read_config_file
125
125
 
126
126
  response = nil
127
127
  attempts = 0
128
+ addr = nil
128
129
  while attempts < 3 && (response.nil? || response.empty?)
129
130
  attempts += 1
130
131
  begin
131
132
 
132
- addr = latest_output_addr
133
- response = fetch_txcatcher_response(addr)
133
+ # if address is the same as in the previous attempt, let's try a different address.
134
+ addr_index = 0
135
+ begin
136
+ a = latest_output_addr(addr_index)
137
+ addr_index += 1
138
+ end until addr != a || addr_index > 5
139
+ addr = a
140
+
134
141
  url = TxCatcher::Config["monitor"]["txcatcher_url"] + "/addr/#{addr}/utxo"
142
+ response = fetch_txcatcher_response(addr)
135
143
 
136
144
  if response.empty?
137
145
  LOGGER.report("Checked #{url}, got empty response, attempt #{attempts}", :error)
@@ -147,7 +155,7 @@ while attempts < 3 && (response.nil? || response.empty?)
147
155
  if attempts >= 3
148
156
  send_alert(
149
157
  "TxCatcher monitor error",
150
- "While checking #{TxCatcher::Config["monitor"]["txcatcher_url"]} response, got the following error\n\n" +
158
+ "While checking #{url} response, got the following error\n\n" +
151
159
  "#{e.to_s}\n\n#{e.backtrace.join("\n")}"
152
160
  )
153
161
  else
data/db/schema.rb CHANGED
@@ -1,16 +1,14 @@
1
1
  Sequel.migration do
2
2
  change do
3
- create_table(:addresses, :ignore_index_errors=>true) do
4
- primary_key :id
5
- String :address, :size=>255
6
- Integer :received, :default=>0
3
+ create_table(:addresses) do
4
+ String :address, :size=>255, :null=>false
7
5
 
8
- index [:address]
6
+ primary_key [:address]
9
7
  end
10
8
 
11
9
  create_table(:deposits, :ignore_index_errors=>true) do
12
10
  primary_key :id
13
- Integer :amount, :null=>false
11
+ Bignum :amount, :null=>false
14
12
  Integer :transaction_id
15
13
  Integer :address_id
16
14
 
@@ -22,14 +20,12 @@ Sequel.migration do
22
20
  Integer :version, :default=>0, :null=>false
23
21
  end
24
22
 
25
- create_table(:transactions, :ignore_index_errors=>true) do
26
- primary_key :id
27
- String :txid, :size=>255
28
- String :hex, :text=>true
29
- Integer :amount
30
- Integer :block_height
23
+ create_table(:transactions) do
24
+ String :txid, :size=>255, :null=>false
25
+ DateTime :created_at
26
+ TrueClass :protected, :default=>false
31
27
 
32
- index [:txid]
28
+ primary_key [:txid]
33
29
  end
34
30
  end
35
31
  end
data/txcatcher.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: txcatcher 0.1.91 ruby lib
5
+ # stub: txcatcher 0.1.92 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "txcatcher".freeze
9
- s.version = "0.1.91"
9
+ s.version = "0.1.92"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: txcatcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.91
4
+ version: 0.1.92
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Snitko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-09 00:00:00.000000000 Z
11
+ date: 2018-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: goliath
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
208
  version: '0'
209
209
  requirements: []
210
210
  rubyforge_project:
211
- rubygems_version: 2.6.11
211
+ rubygems_version: 2.6.14
212
212
  signing_key:
213
213
  specification_version: 4
214
214
  summary: An lightweight version of Bitpay's Insight, allows to check Bitcoin/Litecoin