radiator 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +11 -4
- data/Gemfile.lock +4 -7
- data/lib/radiator/api.rb +20 -4
- data/lib/radiator/transaction.rb +2 -2
- data/lib/radiator/version.rb +1 -1
- data/radiator.gemspec +1 -1
- metadata +22 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d0086bea776358375494997aec2c65747f764d6e
|
|
4
|
+
data.tar.gz: ae4cb6a0609f53d64b918dd07169ffd0b5eba060
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c22901174d31457a25dd9990a64c2b4dcef9a7f98cf3bf1f9c7994cab317b2dced12ae160db654eef1e268ca01bb751c01aad5cfc5ebc6afe91816dd8e2dc0d4
|
|
7
|
+
data.tar.gz: c8c61c3bc5920bd003fe80b1c1ce06c50a5c080261f4f0867b554a087d603942932c3ce8fa050a7c221c5a5c5b059811b93192fc6b4869bc7439182a79fa9f88
|
data/.travis.yml
CHANGED
|
@@ -6,9 +6,16 @@ rvm:
|
|
|
6
6
|
- "2.3.0"
|
|
7
7
|
- "2.4.2"
|
|
8
8
|
# - "2.5.0" # dev
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
env:
|
|
10
|
+
global:
|
|
11
|
+
- CC_TEST_REPORTER_ID=fcda177928c42c93fd981f671305519ffb98b98c479198340ea67bc892ffd028
|
|
12
|
+
before_script:
|
|
13
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
14
|
+
- chmod +x ./cc-test-reporter
|
|
15
|
+
- ./cc-test-reporter before-build
|
|
16
|
+
script:
|
|
17
|
+
- TESTOPTS="--verbose" bundle exec rake test
|
|
18
|
+
after_script:
|
|
19
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
|
13
20
|
notifications:
|
|
14
21
|
slack: galacticaactual:rhAXgZ68aoikbxBBA05xIUVC
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
radiator (0.3.
|
|
4
|
+
radiator (0.3.4)
|
|
5
5
|
awesome_print (~> 1.7, >= 1.7.0)
|
|
6
6
|
bitcoin-ruby (~> 0.0, >= 0.0.11)
|
|
7
7
|
ffi (~> 1.9, >= 1.9.18)
|
|
@@ -17,7 +17,6 @@ GEM
|
|
|
17
17
|
public_suffix (>= 2.0.2, < 4.0)
|
|
18
18
|
awesome_print (1.8.0)
|
|
19
19
|
bitcoin-ruby (0.0.11)
|
|
20
|
-
coderay (1.1.2)
|
|
21
20
|
connection_pool (2.2.1)
|
|
22
21
|
crack (0.4.3)
|
|
23
22
|
safe_yaml (~> 1.0.0)
|
|
@@ -30,16 +29,14 @@ GEM
|
|
|
30
29
|
logging (2.2.2)
|
|
31
30
|
little-plugger (~> 1.1)
|
|
32
31
|
multi_json (~> 1.10)
|
|
33
|
-
method_source (0.9.0)
|
|
34
32
|
minitest (5.10.3)
|
|
35
33
|
minitest-line (0.6.4)
|
|
36
34
|
minitest (~> 5.0)
|
|
35
|
+
minitest-proveit (1.0.0)
|
|
36
|
+
minitest (> 5, < 7)
|
|
37
37
|
multi_json (1.12.2)
|
|
38
38
|
net-http-persistent (3.0.0)
|
|
39
39
|
connection_pool (~> 2.2)
|
|
40
|
-
pry (0.11.1)
|
|
41
|
-
coderay (~> 1.1.0)
|
|
42
|
-
method_source (~> 0.9.0)
|
|
43
40
|
public_suffix (3.0.0)
|
|
44
41
|
rake (12.1.0)
|
|
45
42
|
safe_yaml (1.0.4)
|
|
@@ -62,7 +59,7 @@ DEPENDENCIES
|
|
|
62
59
|
bundler (~> 1.15, >= 1.15.4)
|
|
63
60
|
minitest (~> 5.9, >= 5.9.0)
|
|
64
61
|
minitest-line (~> 0.6.3)
|
|
65
|
-
|
|
62
|
+
minitest-proveit (~> 1.0, >= 1.0.0)
|
|
66
63
|
radiator!
|
|
67
64
|
rake (~> 12.1, >= 12.1.0)
|
|
68
65
|
simplecov (~> 0.15.1)
|
data/lib/radiator/api.rb
CHANGED
|
@@ -221,6 +221,9 @@ module Radiator
|
|
|
221
221
|
Hashie.logger = @hashie_logger
|
|
222
222
|
@method_names = nil
|
|
223
223
|
@api_options = options.dup.merge(chain: @chain)
|
|
224
|
+
@api = nil
|
|
225
|
+
@block_api = nil
|
|
226
|
+
@backoff_at = nil
|
|
224
227
|
end
|
|
225
228
|
|
|
226
229
|
# Get a specific block or range of blocks.
|
|
@@ -390,10 +393,12 @@ module Radiator
|
|
|
390
393
|
|
|
391
394
|
begin
|
|
392
395
|
if @recover_transactions_on_error && api_name == :network_broadcast_api
|
|
393
|
-
signatures = extract_signatures(options)
|
|
396
|
+
signatures, exp = extract_signatures(options)
|
|
394
397
|
|
|
395
398
|
if tries > 1 && !!signatures && signatures.any?
|
|
396
|
-
|
|
399
|
+
offset = [(exp - timestamp).abs, 300].min
|
|
400
|
+
|
|
401
|
+
if !!(response = recover_transaction(signatures, rpc_id, timestamp - offset))
|
|
397
402
|
warning 'Found recovered transaction after retry.', method_name
|
|
398
403
|
response = Hashie::Mash.new(response)
|
|
399
404
|
end
|
|
@@ -545,15 +550,24 @@ module Radiator
|
|
|
545
550
|
end
|
|
546
551
|
|
|
547
552
|
def extract_signatures(options)
|
|
548
|
-
options[:params]
|
|
553
|
+
params = options[:params]
|
|
554
|
+
|
|
555
|
+
signatures = params.map do |param|
|
|
549
556
|
next unless defined? param.map
|
|
550
557
|
|
|
551
558
|
param.map { |tx| tx[:signatures] }
|
|
552
559
|
end.flatten.compact
|
|
560
|
+
|
|
561
|
+
expirations = params.map do |param|
|
|
562
|
+
next unless defined? param.map
|
|
563
|
+
|
|
564
|
+
param.map { |tx| Time.parse(tx[:expiration] + 'Z') }
|
|
565
|
+
end.flatten.compact
|
|
566
|
+
|
|
567
|
+
[signatures, expirations.min]
|
|
553
568
|
end
|
|
554
569
|
|
|
555
570
|
def recover_transaction(signatures, rpc_id, after)
|
|
556
|
-
now = Time.now.utc
|
|
557
571
|
block_range = api.get_dynamic_global_properties do |properties|
|
|
558
572
|
high = properties.head_block_number
|
|
559
573
|
low = high - 100
|
|
@@ -585,6 +599,8 @@ module Radiator
|
|
|
585
599
|
}
|
|
586
600
|
end
|
|
587
601
|
end
|
|
602
|
+
|
|
603
|
+
return nil
|
|
588
604
|
end
|
|
589
605
|
|
|
590
606
|
def reset_failover
|
data/lib/radiator/transaction.rb
CHANGED
|
@@ -10,7 +10,7 @@ module Radiator
|
|
|
10
10
|
include Utils
|
|
11
11
|
|
|
12
12
|
VALID_OPTIONS = %w(
|
|
13
|
-
wif private_key ref_block_num ref_block_prefix expiration
|
|
13
|
+
wif private_key ref_block_num ref_block_prefix expiration
|
|
14
14
|
chain
|
|
15
15
|
).map(&:to_sym)
|
|
16
16
|
VALID_OPTIONS.each { |option| attr_accessor option }
|
|
@@ -29,7 +29,7 @@ module Radiator
|
|
|
29
29
|
@chain ||= :steem
|
|
30
30
|
@chain_id = chain_id options[:chain_id]
|
|
31
31
|
@url = options[:url] || url
|
|
32
|
-
@operations
|
|
32
|
+
@operations = options[:operations] || []
|
|
33
33
|
|
|
34
34
|
unless NETWORK_CHAIN_IDS.include? @chain_id
|
|
35
35
|
@logger.warn "Unknown chain id: #{@chain_id}"
|
data/lib/radiator/version.rb
CHANGED
data/radiator.gemspec
CHANGED
|
@@ -21,11 +21,11 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.add_development_dependency 'rake', '~> 12.1', '>= 12.1.0'
|
|
22
22
|
spec.add_development_dependency 'minitest', '~> 5.9', '>= 5.9.0'
|
|
23
23
|
spec.add_development_dependency 'minitest-line', '~> 0.6.3'
|
|
24
|
+
spec.add_development_dependency 'minitest-proveit', '~> 1.0', '>= 1.0.0'
|
|
24
25
|
spec.add_development_dependency 'webmock', '~> 3.1', '>= 3.1.0'
|
|
25
26
|
spec.add_development_dependency 'simplecov', '~> 0.15.1'
|
|
26
27
|
spec.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
|
|
27
28
|
spec.add_development_dependency 'yard', '~> 0.9.9'
|
|
28
|
-
spec.add_development_dependency 'pry', '~> 0.11.1'
|
|
29
29
|
|
|
30
30
|
spec.add_dependency('net-http-persistent', '>= 2.5.2')
|
|
31
31
|
spec.add_dependency('json', '~> 2.0', '>= 2.0.2')
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: radiator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anthony Martin
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-10-
|
|
11
|
+
date: 2017-10-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -84,6 +84,26 @@ dependencies:
|
|
|
84
84
|
- - "~>"
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
86
|
version: 0.6.3
|
|
87
|
+
- !ruby/object:Gem::Dependency
|
|
88
|
+
name: minitest-proveit
|
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
|
90
|
+
requirements:
|
|
91
|
+
- - "~>"
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '1.0'
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 1.0.0
|
|
97
|
+
type: :development
|
|
98
|
+
prerelease: false
|
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '1.0'
|
|
104
|
+
- - ">="
|
|
105
|
+
- !ruby/object:Gem::Version
|
|
106
|
+
version: 1.0.0
|
|
87
107
|
- !ruby/object:Gem::Dependency
|
|
88
108
|
name: webmock
|
|
89
109
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -152,20 +172,6 @@ dependencies:
|
|
|
152
172
|
- - "~>"
|
|
153
173
|
- !ruby/object:Gem::Version
|
|
154
174
|
version: 0.9.9
|
|
155
|
-
- !ruby/object:Gem::Dependency
|
|
156
|
-
name: pry
|
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
|
158
|
-
requirements:
|
|
159
|
-
- - "~>"
|
|
160
|
-
- !ruby/object:Gem::Version
|
|
161
|
-
version: 0.11.1
|
|
162
|
-
type: :development
|
|
163
|
-
prerelease: false
|
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
165
|
-
requirements:
|
|
166
|
-
- - "~>"
|
|
167
|
-
- !ruby/object:Gem::Version
|
|
168
|
-
version: 0.11.1
|
|
169
175
|
- !ruby/object:Gem::Dependency
|
|
170
176
|
name: net-http-persistent
|
|
171
177
|
requirement: !ruby/object:Gem::Requirement
|