radiator 0.2.2 → 0.2.3a
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +3 -1
- data/Gemfile.lock +17 -17
- data/README.md +13 -4
- data/lib/radiator/api.rb +100 -15
- data/lib/radiator/broadcast_operations.json +53 -43
- data/lib/radiator/methods.json +12 -6
- data/lib/radiator/operation.rb +4 -1
- data/lib/radiator/stream.rb +8 -4
- data/lib/radiator/type/amount.rb +1 -1
- data/lib/radiator/version.rb +1 -1
- data/radiator.gemspec +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 233a14d93ff5d6e154945bb6ae6355238c93cfe9
|
4
|
+
data.tar.gz: 841ae7ad957e4c34a8c2e9e9738554b368646480
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed970218b63fb9c5aea828e81e3f9aa6c0d8a4b0bd37cd847e2393cbaf0b185f9e96a69e4f99bbe03001020f650ef133a3a7c2b7802f15bcae1d5a8ac59c3afd
|
7
|
+
data.tar.gz: d0b044c28b9c8ce479ffcee8bcc1ec773d9060a1243ae9263867c888f5d9d08798bb07f6499e43d020ec111f2aa938f24d6e9a9174e653ce2c7968335d3172d1
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
radiator (0.2.
|
5
|
-
bitcoin-ruby (= 0.0.
|
4
|
+
radiator (0.2.3a)
|
5
|
+
bitcoin-ruby (= 0.0.11)
|
6
6
|
ffi (= 1.9.18)
|
7
7
|
hashie (~> 3.5, >= 3.5.5)
|
8
8
|
json (~> 1.8, >= 1.8.6)
|
@@ -12,13 +12,13 @@ PATH
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
addressable (2.5.
|
16
|
-
public_suffix (
|
17
|
-
awesome_print (1.
|
18
|
-
bitcoin-ruby (0.0.
|
15
|
+
addressable (2.5.2)
|
16
|
+
public_suffix (>= 2.0.2, < 4.0)
|
17
|
+
awesome_print (1.8.0)
|
18
|
+
bitcoin-ruby (0.0.11)
|
19
19
|
codeclimate-test-reporter (0.5.2)
|
20
20
|
simplecov (>= 0.7.1, < 1.0.0)
|
21
|
-
coderay (1.1.
|
21
|
+
coderay (1.1.2)
|
22
22
|
crack (0.4.3)
|
23
23
|
safe_yaml (~> 1.0.0)
|
24
24
|
docile (1.1.5)
|
@@ -27,34 +27,34 @@ GEM
|
|
27
27
|
faraday (0.9.2)
|
28
28
|
multipart-post (>= 1.2, < 3)
|
29
29
|
ffi (1.9.18)
|
30
|
-
hashdiff (0.3.
|
31
|
-
hashie (3.5.
|
30
|
+
hashdiff (0.3.6)
|
31
|
+
hashie (3.5.6)
|
32
32
|
json (1.8.6)
|
33
33
|
little-plugger (1.1.4)
|
34
34
|
logging (2.2.2)
|
35
35
|
little-plugger (~> 1.1)
|
36
36
|
multi_json (~> 1.10)
|
37
37
|
method_source (0.8.2)
|
38
|
-
minitest (5.10.
|
39
|
-
minitest-line (0.6.
|
38
|
+
minitest (5.10.3)
|
39
|
+
minitest-line (0.6.4)
|
40
40
|
minitest (~> 5.0)
|
41
|
-
multi_json (1.12.
|
41
|
+
multi_json (1.12.2)
|
42
42
|
multipart-post (2.0.0)
|
43
43
|
net-http-persistent (2.9.4)
|
44
44
|
pry (0.10.4)
|
45
45
|
coderay (~> 1.1.0)
|
46
46
|
method_source (~> 0.8.1)
|
47
47
|
slop (~> 3.4)
|
48
|
-
public_suffix (
|
48
|
+
public_suffix (3.0.0)
|
49
49
|
rake (11.3.0)
|
50
50
|
safe_yaml (1.0.4)
|
51
51
|
simplecov (0.11.2)
|
52
52
|
docile (~> 1.1.0)
|
53
53
|
json (~> 1.8)
|
54
54
|
simplecov-html (~> 0.10.0)
|
55
|
-
simplecov-html (0.10.
|
55
|
+
simplecov-html (0.10.2)
|
56
56
|
slop (3.6.0)
|
57
|
-
typhoeus (1.
|
57
|
+
typhoeus (1.3.0)
|
58
58
|
ethon (>= 0.9.0)
|
59
59
|
vcr (2.9.3)
|
60
60
|
webmock (2.3.2)
|
@@ -68,7 +68,7 @@ PLATFORMS
|
|
68
68
|
|
69
69
|
DEPENDENCIES
|
70
70
|
awesome_print (~> 1.7, >= 1.7.0)
|
71
|
-
bundler (~> 1.
|
71
|
+
bundler (~> 1.15, >= 1.15.4)
|
72
72
|
codeclimate-test-reporter (~> 0.5.2)
|
73
73
|
faraday (~> 0.9.2)
|
74
74
|
minitest (~> 5.9, >= 5.9.0)
|
@@ -83,4 +83,4 @@ DEPENDENCIES
|
|
83
83
|
yard (~> 0.8.7.6)
|
84
84
|
|
85
85
|
BUNDLED WITH
|
86
|
-
1.
|
86
|
+
1.15.4
|
data/README.md
CHANGED
@@ -9,6 +9,15 @@
|
|
9
9
|
|
10
10
|
Radiator is an API Client for interaction with the STEEM network using Ruby.
|
11
11
|
|
12
|
+
#### Fixes in v0.2.3
|
13
|
+
|
14
|
+
* Gem updates
|
15
|
+
* Added low-level support for persistence and retrying API requests.
|
16
|
+
* Now using exponential back-off for retries.
|
17
|
+
* Detecting presence of `transaction_ids` (if enabled by the node).
|
18
|
+
* Default for `Hashie` warnings now go to `/dev/null`, where they belong.
|
19
|
+
* Added stray methods/operations.
|
20
|
+
|
12
21
|
#### Fixes in v0.2.2
|
13
22
|
|
14
23
|
* Gem updates
|
@@ -194,8 +203,8 @@ Example of the output:
|
|
194
203
|
Transactions are supported:
|
195
204
|
|
196
205
|
```ruby
|
197
|
-
stream.transactions do |tx|
|
198
|
-
puts tx.to_json
|
206
|
+
stream.transactions do |tx, trx_id|
|
207
|
+
puts "[#{trx_id}] #{tx.to_json}"
|
199
208
|
end
|
200
209
|
```
|
201
210
|
|
@@ -234,8 +243,8 @@ Example of the output:
|
|
234
243
|
Even whole blocks:
|
235
244
|
|
236
245
|
```ruby
|
237
|
-
stream.blocks do |bk|
|
238
|
-
puts bk.to_json
|
246
|
+
stream.blocks do |bk, num|
|
247
|
+
puts "[#{num}] #{bk.to_json}"
|
239
248
|
end
|
240
249
|
```
|
241
250
|
|
data/lib/radiator/api.rb
CHANGED
@@ -14,8 +14,13 @@ module Radiator
|
|
14
14
|
@debug = !!options[:debug]
|
15
15
|
@net_http_persistent_enabled = true
|
16
16
|
@logger = options[:logger] || Radiator.logger
|
17
|
+
@hashie_logger = options[:hashie_logger] || Logger.new('/dev/null')
|
17
18
|
|
18
|
-
|
19
|
+
unless @hashie_logger.respond_to? :warn
|
20
|
+
@hashie_logger = Logger.new(@hashie_logger)
|
21
|
+
end
|
22
|
+
|
23
|
+
Hashie.logger = @hashie_logger
|
19
24
|
@method_names = nil
|
20
25
|
end
|
21
26
|
|
@@ -107,14 +112,65 @@ module Radiator
|
|
107
112
|
id: rpc_id,
|
108
113
|
method: "call"
|
109
114
|
}
|
110
|
-
|
111
|
-
response = request(options)
|
112
115
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
116
|
+
loop do
|
117
|
+
begin
|
118
|
+
response = request(options)
|
119
|
+
|
120
|
+
if !!response
|
121
|
+
case response.code
|
122
|
+
when '200'
|
123
|
+
response = JSON[response.body]
|
124
|
+
|
125
|
+
return Hashie::Mash.new(response)
|
126
|
+
when '400'
|
127
|
+
@logger.warn('Code 400: Bad Request, retrying ...')
|
128
|
+
backoff
|
129
|
+
when '502'
|
130
|
+
@logger.warn('Code 502: Bad Gateway, retrying ...')
|
131
|
+
backoff
|
132
|
+
when '503'
|
133
|
+
@logger.warn('Code 503: Service Unavailable, retrying ...')
|
134
|
+
backoff
|
135
|
+
when '504'
|
136
|
+
@logger.warn('Code 504: Gateway Timeout, retrying ...')
|
137
|
+
backoff
|
138
|
+
else
|
139
|
+
ap "Unknown code #{response.code}, retrying ..."
|
140
|
+
ap response
|
141
|
+
backoff
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
@logger.error("No response.")
|
146
|
+
break
|
147
|
+
rescue Errno::ECONNREFUSED => e
|
148
|
+
@logger.warn('Connection refused, retrying ...')
|
149
|
+
backoff
|
150
|
+
rescue Errno::EADDRNOTAVAIL => e
|
151
|
+
@logger.warn('Node not available, retrying ...')
|
152
|
+
backoff
|
153
|
+
rescue Net::ReadTimeout => e
|
154
|
+
@logger.warn('Node read timeout, retrying ...')
|
155
|
+
backoff
|
156
|
+
rescue Net::OpenTimeout => e
|
157
|
+
@logger.warn('Node timeout, retrying ...')
|
158
|
+
backoff
|
159
|
+
rescue RangeError => e
|
160
|
+
@logger.warn('Range Error, retrying ...')
|
161
|
+
backoff
|
162
|
+
rescue OpenSSL::SSL::SSLError => e
|
163
|
+
@logger.warn("SSL Error (#{e.message}), retrying ...")
|
164
|
+
backoff
|
165
|
+
rescue SocketError => e
|
166
|
+
@logger.warn("Socket Error (#{e.message}), retrying ...")
|
167
|
+
backoff
|
168
|
+
rescue => e
|
169
|
+
puts "Unknown exception from request ..."
|
170
|
+
ap e
|
171
|
+
backoff
|
172
|
+
end
|
173
|
+
end # loop
|
118
174
|
end
|
119
175
|
|
120
176
|
def shutdown
|
@@ -152,23 +208,52 @@ module Radiator
|
|
152
208
|
end
|
153
209
|
end
|
154
210
|
|
211
|
+
def post_request
|
212
|
+
Net::HTTP::Post.new uri.request_uri, 'Content-Type' => 'application/json'
|
213
|
+
end
|
214
|
+
|
155
215
|
def request(options)
|
156
216
|
if !!@net_http_persistent_enabled
|
157
217
|
begin
|
158
|
-
request =
|
218
|
+
request = post_request
|
159
219
|
request.body = JSON[options]
|
160
|
-
|
220
|
+
|
221
|
+
if (response = http.request(uri, request)).kind_of? Net::HTTPSuccess
|
222
|
+
return response
|
223
|
+
else
|
224
|
+
@logger.warn "Unexpeced response: #{response.inspect}; temporarily falling back to non-persistent-http"
|
225
|
+
end
|
161
226
|
rescue Net::HTTP::Persistent::Error => e
|
162
|
-
@logger.warn "Unable to perform request: #{request} :: #{e}: #{e.
|
163
|
-
@net_http_persistent_enabled = false
|
227
|
+
@logger.warn "Unable to perform request: #{request} :: #{e} :: #{!!e.cause ? "cause: #{e.cause.message}" : ''}; temporarily falling back to non-persistent-http"
|
164
228
|
end
|
229
|
+
|
230
|
+
@net_http_persistent_enabled = false
|
165
231
|
end
|
166
232
|
|
167
233
|
unless @net_http_persistent_enabled
|
168
|
-
|
169
|
-
|
234
|
+
non_persistent_http = Net::HTTP.new(uri.host, uri.port)
|
235
|
+
non_persistent_http.use_ssl = true
|
236
|
+
non_persistent_http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
237
|
+
request = post_request
|
170
238
|
request.body = JSON[options]
|
171
|
-
|
239
|
+
|
240
|
+
# Try to go back to http persistent on next request.
|
241
|
+
@net_http_persistent_enabled = true
|
242
|
+
|
243
|
+
non_persistent_http.request(request)
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
def backoff
|
248
|
+
@backoff_at ||= Time.now
|
249
|
+
@backoff_sleep ||= 0.01
|
250
|
+
|
251
|
+
@backoff_sleep *= 2
|
252
|
+
sleep @backoff_sleep
|
253
|
+
|
254
|
+
if Time.now - @backoff_at > 300
|
255
|
+
@backoff_at = nil
|
256
|
+
@backoff_sleep = nil
|
172
257
|
end
|
173
258
|
end
|
174
259
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
// Copied from:
|
2
|
-
// https://raw.githubusercontent.com/steemit/steem-js/master/src/broadcast/operations.
|
2
|
+
// https://raw.githubusercontent.com/steemit/steem-js/master/src/broadcast/operations.js
|
3
3
|
|
4
4
|
[
|
5
5
|
{
|
6
|
-
"roles": ["posting"],
|
6
|
+
"roles": ["posting", "active", "owner"],
|
7
7
|
"operation": "vote",
|
8
8
|
"params": [
|
9
9
|
"voter",
|
@@ -13,7 +13,7 @@
|
|
13
13
|
]
|
14
14
|
},
|
15
15
|
{
|
16
|
-
"roles": ["posting"],
|
16
|
+
"roles": ["posting", "active", "owner"],
|
17
17
|
"operation": "comment",
|
18
18
|
"params": [
|
19
19
|
"parent_author",
|
@@ -36,7 +36,7 @@
|
|
36
36
|
]
|
37
37
|
},
|
38
38
|
{
|
39
|
-
"roles": ["active"],
|
39
|
+
"roles": ["active", "owner"],
|
40
40
|
"operation": "transfer_to_vesting",
|
41
41
|
"params": [
|
42
42
|
"from",
|
@@ -45,7 +45,7 @@
|
|
45
45
|
]
|
46
46
|
},
|
47
47
|
{
|
48
|
-
"roles": ["active"],
|
48
|
+
"roles": ["active", "owner"],
|
49
49
|
"operation": "withdraw_vesting",
|
50
50
|
"params": [
|
51
51
|
"account",
|
@@ -53,7 +53,7 @@
|
|
53
53
|
]
|
54
54
|
},
|
55
55
|
{
|
56
|
-
"roles": ["active"],
|
56
|
+
"roles": ["active", "owner"],
|
57
57
|
"operation": "limit_order_create",
|
58
58
|
"params": [
|
59
59
|
"owner",
|
@@ -65,7 +65,7 @@
|
|
65
65
|
]
|
66
66
|
},
|
67
67
|
{
|
68
|
-
"roles": ["active"],
|
68
|
+
"roles": ["active", "owner"],
|
69
69
|
"operation": "limit_order_cancel",
|
70
70
|
"params": [
|
71
71
|
"owner",
|
@@ -73,7 +73,7 @@
|
|
73
73
|
]
|
74
74
|
},
|
75
75
|
{
|
76
|
-
"roles": ["active"],
|
76
|
+
"roles": ["active", "owner"],
|
77
77
|
"operation": "price",
|
78
78
|
"params": [
|
79
79
|
"base",
|
@@ -81,7 +81,7 @@
|
|
81
81
|
]
|
82
82
|
},
|
83
83
|
{
|
84
|
-
"roles": ["active"],
|
84
|
+
"roles": ["active", "owner"],
|
85
85
|
"operation": "feed_publish",
|
86
86
|
"params": [
|
87
87
|
"publisher",
|
@@ -89,7 +89,7 @@
|
|
89
89
|
]
|
90
90
|
},
|
91
91
|
{
|
92
|
-
"roles": ["active"],
|
92
|
+
"roles": ["active", "owner"],
|
93
93
|
"operation": "convert",
|
94
94
|
"params": [
|
95
95
|
"owner",
|
@@ -98,7 +98,7 @@
|
|
98
98
|
]
|
99
99
|
},
|
100
100
|
{
|
101
|
-
"roles": ["active"],
|
101
|
+
"roles": ["active", "owner"],
|
102
102
|
"operation": "account_create",
|
103
103
|
"params": [
|
104
104
|
"fee",
|
@@ -112,7 +112,7 @@
|
|
112
112
|
]
|
113
113
|
},
|
114
114
|
{
|
115
|
-
"roles": ["
|
115
|
+
"roles": ["active", "owner"],
|
116
116
|
"operation": "account_update",
|
117
117
|
"params": [
|
118
118
|
"account",
|
@@ -124,7 +124,7 @@
|
|
124
124
|
]
|
125
125
|
},
|
126
126
|
{
|
127
|
-
"roles": ["active"],
|
127
|
+
"roles": ["active", "owner"],
|
128
128
|
"operation": "witness_update",
|
129
129
|
"params": [
|
130
130
|
"owner",
|
@@ -135,7 +135,7 @@
|
|
135
135
|
]
|
136
136
|
},
|
137
137
|
{
|
138
|
-
"roles": ["
|
138
|
+
"roles": ["active", "owner"],
|
139
139
|
"operation": "account_witness_vote",
|
140
140
|
"params": [
|
141
141
|
"account",
|
@@ -144,7 +144,7 @@
|
|
144
144
|
]
|
145
145
|
},
|
146
146
|
{
|
147
|
-
"roles": ["
|
147
|
+
"roles": ["active", "owner"],
|
148
148
|
"operation": "account_witness_proxy",
|
149
149
|
"params": [
|
150
150
|
"account",
|
@@ -152,7 +152,7 @@
|
|
152
152
|
]
|
153
153
|
},
|
154
154
|
{
|
155
|
-
"roles": ["active"],
|
155
|
+
"roles": ["active", "owner"],
|
156
156
|
"operation": "pow",
|
157
157
|
"params": [
|
158
158
|
"worker",
|
@@ -162,7 +162,7 @@
|
|
162
162
|
]
|
163
163
|
},
|
164
164
|
{
|
165
|
-
"roles": ["active"],
|
165
|
+
"roles": ["active", "owner"],
|
166
166
|
"operation": "custom",
|
167
167
|
"params": [
|
168
168
|
"required_auths",
|
@@ -171,7 +171,7 @@
|
|
171
171
|
]
|
172
172
|
},
|
173
173
|
{
|
174
|
-
"roles": ["posting"],
|
174
|
+
"roles": ["posting", "active", "owner"],
|
175
175
|
"operation": "delete_comment",
|
176
176
|
"params": [
|
177
177
|
"author",
|
@@ -179,7 +179,7 @@
|
|
179
179
|
]
|
180
180
|
},
|
181
181
|
{
|
182
|
-
"roles": ["posting", "active"],
|
182
|
+
"roles": ["posting", "active", "owner"],
|
183
183
|
"operation": "custom_json",
|
184
184
|
"params": [
|
185
185
|
"required_auths",
|
@@ -189,7 +189,7 @@
|
|
189
189
|
]
|
190
190
|
},
|
191
191
|
{
|
192
|
-
"roles": ["posting"],
|
192
|
+
"roles": ["posting", "active", "owner"],
|
193
193
|
"operation": "comment_options",
|
194
194
|
"params": [
|
195
195
|
"author",
|
@@ -203,7 +203,7 @@
|
|
203
203
|
]
|
204
204
|
},
|
205
205
|
{
|
206
|
-
"roles": ["active"],
|
206
|
+
"roles": ["active", "owner"],
|
207
207
|
"operation": "set_withdraw_vesting_route",
|
208
208
|
"params": [
|
209
209
|
"from_account",
|
@@ -213,7 +213,7 @@
|
|
213
213
|
]
|
214
214
|
},
|
215
215
|
{
|
216
|
-
"roles": ["active"],
|
216
|
+
"roles": ["active", "owner"],
|
217
217
|
"operation": "limit_order_create2",
|
218
218
|
"params": [
|
219
219
|
"owner",
|
@@ -225,7 +225,7 @@
|
|
225
225
|
]
|
226
226
|
},
|
227
227
|
{
|
228
|
-
"roles": ["posting"],
|
228
|
+
"roles": ["posting", "active", "owner"],
|
229
229
|
"operation": "challenge_authority",
|
230
230
|
"params": [
|
231
231
|
"challenger",
|
@@ -242,7 +242,7 @@
|
|
242
242
|
]
|
243
243
|
},
|
244
244
|
{
|
245
|
-
"roles": ["active"],
|
245
|
+
"roles": ["active", "owner"],
|
246
246
|
"operation": "request_account_recovery",
|
247
247
|
"params": [
|
248
248
|
"recovery_account",
|
@@ -251,6 +251,16 @@
|
|
251
251
|
"extensions"
|
252
252
|
]
|
253
253
|
},
|
254
|
+
{
|
255
|
+
"roles": ["owner"],
|
256
|
+
"operation": "recover_account",
|
257
|
+
"params": [
|
258
|
+
"account_to_recover",
|
259
|
+
"new_owner_authority",
|
260
|
+
"recent_owner_authority",
|
261
|
+
"extensions"
|
262
|
+
]
|
263
|
+
},
|
254
264
|
{
|
255
265
|
"roles": ["owner"],
|
256
266
|
"operation": "change_recovery_account",
|
@@ -261,7 +271,7 @@
|
|
261
271
|
]
|
262
272
|
},
|
263
273
|
{
|
264
|
-
"roles": ["active"],
|
274
|
+
"roles": ["active", "owner"],
|
265
275
|
"operation": "escrow_transfer",
|
266
276
|
"params": [
|
267
277
|
"from",
|
@@ -277,7 +287,7 @@
|
|
277
287
|
]
|
278
288
|
},
|
279
289
|
{
|
280
|
-
"roles": ["active"],
|
290
|
+
"roles": ["active", "owner"],
|
281
291
|
"operation": "escrow_dispute",
|
282
292
|
"params": [
|
283
293
|
"from",
|
@@ -288,7 +298,7 @@
|
|
288
298
|
]
|
289
299
|
},
|
290
300
|
{
|
291
|
-
"roles": ["active"],
|
301
|
+
"roles": ["active", "owner"],
|
292
302
|
"operation": "escrow_release",
|
293
303
|
"params": [
|
294
304
|
"from",
|
@@ -302,7 +312,7 @@
|
|
302
312
|
]
|
303
313
|
},
|
304
314
|
{
|
305
|
-
"roles": ["active"],
|
315
|
+
"roles": ["active", "owner"],
|
306
316
|
"operation": "pow2",
|
307
317
|
"params": [
|
308
318
|
"input",
|
@@ -310,7 +320,7 @@
|
|
310
320
|
]
|
311
321
|
},
|
312
322
|
{
|
313
|
-
"roles": ["active"],
|
323
|
+
"roles": ["active", "owner"],
|
314
324
|
"operation": "escrow_approve",
|
315
325
|
"params": [
|
316
326
|
"from",
|
@@ -322,7 +332,7 @@
|
|
322
332
|
]
|
323
333
|
},
|
324
334
|
{
|
325
|
-
"roles": ["active"],
|
335
|
+
"roles": ["active", "owner"],
|
326
336
|
"operation": "transfer_to_savings",
|
327
337
|
"params": [
|
328
338
|
"from",
|
@@ -332,7 +342,7 @@
|
|
332
342
|
]
|
333
343
|
},
|
334
344
|
{
|
335
|
-
"roles": ["active"],
|
345
|
+
"roles": ["active", "owner"],
|
336
346
|
"operation": "transfer_from_savings",
|
337
347
|
"params": [
|
338
348
|
"from",
|
@@ -343,7 +353,7 @@
|
|
343
353
|
]
|
344
354
|
},
|
345
355
|
{
|
346
|
-
"roles": ["active"],
|
356
|
+
"roles": ["active", "owner"],
|
347
357
|
"operation": "cancel_transfer_from_savings",
|
348
358
|
"params": [
|
349
359
|
"from",
|
@@ -367,7 +377,7 @@
|
|
367
377
|
]
|
368
378
|
},
|
369
379
|
{
|
370
|
-
"roles": ["active"],
|
380
|
+
"roles": ["active", "owner"],
|
371
381
|
"operation": "reset_account",
|
372
382
|
"params": [
|
373
383
|
"reset_account",
|
@@ -385,7 +395,7 @@
|
|
385
395
|
]
|
386
396
|
},
|
387
397
|
{
|
388
|
-
"roles": ["posting"],
|
398
|
+
"roles": ["posting", "active", "owner"],
|
389
399
|
"operation": "claim_reward_balance",
|
390
400
|
"params": [
|
391
401
|
"account",
|
@@ -395,7 +405,7 @@
|
|
395
405
|
]
|
396
406
|
},
|
397
407
|
{
|
398
|
-
"roles": ["active"],
|
408
|
+
"roles": ["active", "owner"],
|
399
409
|
"operation": "delegate_vesting_shares",
|
400
410
|
"params": [
|
401
411
|
"delegator",
|
@@ -404,7 +414,7 @@
|
|
404
414
|
]
|
405
415
|
},
|
406
416
|
{
|
407
|
-
"roles": ["active"],
|
417
|
+
"roles": ["active", "owner"],
|
408
418
|
"operation": "account_create_with_delegation",
|
409
419
|
"params": [
|
410
420
|
"fee",
|
@@ -420,7 +430,7 @@
|
|
420
430
|
]
|
421
431
|
},
|
422
432
|
{
|
423
|
-
"roles": ["active"],
|
433
|
+
"roles": ["active", "owner"],
|
424
434
|
"operation": "fill_convert_request",
|
425
435
|
"params": [
|
426
436
|
"owner",
|
@@ -430,7 +440,7 @@
|
|
430
440
|
]
|
431
441
|
},
|
432
442
|
{
|
433
|
-
"roles": ["posting"],
|
443
|
+
"roles": ["posting", "active", "owner"],
|
434
444
|
"operation": "comment_reward",
|
435
445
|
"params": [
|
436
446
|
"author",
|
@@ -439,7 +449,7 @@
|
|
439
449
|
]
|
440
450
|
},
|
441
451
|
{
|
442
|
-
"roles": ["active"],
|
452
|
+
"roles": ["active", "owner"],
|
443
453
|
"operation": "liquidity_reward",
|
444
454
|
"params": [
|
445
455
|
"owner",
|
@@ -447,7 +457,7 @@
|
|
447
457
|
]
|
448
458
|
},
|
449
459
|
{
|
450
|
-
"roles": ["active"],
|
460
|
+
"roles": ["active", "owner"],
|
451
461
|
"operation": "interest",
|
452
462
|
"params": [
|
453
463
|
"owner",
|
@@ -455,7 +465,7 @@
|
|
455
465
|
]
|
456
466
|
},
|
457
467
|
{
|
458
|
-
"roles": ["active"],
|
468
|
+
"roles": ["active", "owner"],
|
459
469
|
"operation": "fill_vesting_withdraw",
|
460
470
|
"params": [
|
461
471
|
"from_account",
|
@@ -465,7 +475,7 @@
|
|
465
475
|
]
|
466
476
|
},
|
467
477
|
{
|
468
|
-
"roles": ["posting"],
|
478
|
+
"roles": ["posting", "active", "owner"],
|
469
479
|
"operation": "fill_order",
|
470
480
|
"params": [
|
471
481
|
"current_owner",
|
@@ -477,7 +487,7 @@
|
|
477
487
|
]
|
478
488
|
},
|
479
489
|
{
|
480
|
-
"roles": ["posting"],
|
490
|
+
"roles": ["posting", "active", "owner"],
|
481
491
|
"operation": "fill_transfer_from_savings",
|
482
492
|
"params": [
|
483
493
|
"from",
|
data/lib/radiator/methods.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// Copied from:
|
2
|
-
// https://raw.githubusercontent.com/steemit/steem-js/master/src/api/methods.
|
2
|
+
// https://raw.githubusercontent.com/steemit/steem-js/master/src/api/methods.js
|
3
3
|
|
4
4
|
[
|
5
5
|
{
|
@@ -315,7 +315,7 @@
|
|
315
315
|
{
|
316
316
|
"api": "database_api",
|
317
317
|
"method": "get_content_replies",
|
318
|
-
"params": ["
|
318
|
+
"params": ["author", "permlink"]
|
319
319
|
},
|
320
320
|
{
|
321
321
|
"api": "database_api",
|
@@ -359,6 +359,16 @@
|
|
359
359
|
"api": "database_api",
|
360
360
|
"method": "get_miner_queue"
|
361
361
|
},
|
362
|
+
{
|
363
|
+
"api": "database_api",
|
364
|
+
"method": "get_reward_fund",
|
365
|
+
"params": ["name"]
|
366
|
+
},
|
367
|
+
{
|
368
|
+
"api": "database_api",
|
369
|
+
"method": "get_vesting_delegations",
|
370
|
+
"params": ["account", "from", "limit"]
|
371
|
+
},
|
362
372
|
{
|
363
373
|
"api": "login_api",
|
364
374
|
"method": "login",
|
@@ -484,9 +494,5 @@
|
|
484
494
|
"api": "market_history_api",
|
485
495
|
"method": "get_market_history_buckets",
|
486
496
|
"params": []
|
487
|
-
},
|
488
|
-
{
|
489
|
-
"api": "database_api",
|
490
|
-
"method": "get_reward_fund"
|
491
497
|
}
|
492
498
|
]
|
data/lib/radiator/operation.rb
CHANGED
data/lib/radiator/stream.rb
CHANGED
@@ -139,8 +139,12 @@ module Radiator
|
|
139
139
|
next if (_transactions = b.transactions).nil?
|
140
140
|
return _transactions unless !!block
|
141
141
|
|
142
|
-
_transactions.
|
143
|
-
|
142
|
+
_transactions.each_with_index do |transaction, index|
|
143
|
+
trx_id = if !!b['transaction_ids']
|
144
|
+
b['transaction_ids'][index]
|
145
|
+
end
|
146
|
+
|
147
|
+
yield transaction, trx_id
|
144
148
|
end
|
145
149
|
end
|
146
150
|
end
|
@@ -186,9 +190,9 @@ module Radiator
|
|
186
190
|
result = response.result
|
187
191
|
|
188
192
|
if !!block
|
189
|
-
yield result
|
193
|
+
yield result, n
|
190
194
|
else
|
191
|
-
return result
|
195
|
+
return result, n
|
192
196
|
end
|
193
197
|
end
|
194
198
|
|
data/lib/radiator/type/amount.rb
CHANGED
data/lib/radiator/version.rb
CHANGED
data/radiator.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.15', '>= 1.15.4'
|
21
21
|
spec.add_development_dependency 'rake', '~> 11.2', '>= 11.2.2'
|
22
22
|
spec.add_development_dependency 'minitest', '~> 5.9', '>= 5.9.0'
|
23
23
|
spec.add_development_dependency 'minitest-line', '~> 0.6.3'
|
@@ -37,6 +37,6 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency('json', '~> 1.8', '>= 1.8.6')
|
38
38
|
spec.add_dependency('logging', '~> 2.2', '>= 2.2.0')
|
39
39
|
spec.add_dependency('hashie', '~> 3.5', '>= 3.5.5')
|
40
|
-
spec.add_dependency('bitcoin-ruby', '0.0.
|
40
|
+
spec.add_dependency('bitcoin-ruby', '0.0.11')
|
41
41
|
spec.add_dependency('ffi', '1.9.18')
|
42
42
|
end
|
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.2.
|
4
|
+
version: 0.2.3a
|
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-
|
11
|
+
date: 2017-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.15'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
22
|
+
version: 1.15.4
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
29
|
+
version: '1.15'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
32
|
+
version: 1.15.4
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -320,14 +320,14 @@ dependencies:
|
|
320
320
|
requirements:
|
321
321
|
- - '='
|
322
322
|
- !ruby/object:Gem::Version
|
323
|
-
version: 0.0.
|
323
|
+
version: 0.0.11
|
324
324
|
type: :runtime
|
325
325
|
prerelease: false
|
326
326
|
version_requirements: !ruby/object:Gem::Requirement
|
327
327
|
requirements:
|
328
328
|
- - '='
|
329
329
|
- !ruby/object:Gem::Version
|
330
|
-
version: 0.0.
|
330
|
+
version: 0.0.11
|
331
331
|
- !ruby/object:Gem::Dependency
|
332
332
|
name: ffi
|
333
333
|
requirement: !ruby/object:Gem::Requirement
|
@@ -405,12 +405,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
405
405
|
version: '0'
|
406
406
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
407
407
|
requirements:
|
408
|
-
- - "
|
408
|
+
- - ">"
|
409
409
|
- !ruby/object:Gem::Version
|
410
|
-
version:
|
410
|
+
version: 1.3.1
|
411
411
|
requirements: []
|
412
412
|
rubyforge_project:
|
413
|
-
rubygems_version: 2.
|
413
|
+
rubygems_version: 2.5.1
|
414
414
|
signing_key:
|
415
415
|
specification_version: 4
|
416
416
|
summary: STEEM RPC Ruby Client
|