ultex-eos 0.2.1
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 +7 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +145 -0
- data/LICENSE.txt +12 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/config/blockchains.yml +10 -0
- data/config/currencies.yml +43 -0
- data/config/wallets.yml +121 -0
- data/coverage/.last_run.json +5 -0
- data/coverage/.resultset.json +433 -0
- data/coverage/.resultset.json.lock +0 -0
- data/coverage/assets/0.10.2/application.css +799 -0
- data/coverage/assets/0.10.2/application.js +1707 -0
- data/coverage/assets/0.10.2/colorbox/border.png +0 -0
- data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
- data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
- data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.10.2/favicon_green.png +0 -0
- data/coverage/assets/0.10.2/favicon_red.png +0 -0
- data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
- data/coverage/assets/0.10.2/loading.gif +0 -0
- data/coverage/assets/0.10.2/magnify.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +2730 -0
- data/docs/deposit.md +5 -0
- data/docs/integration.md +31 -0
- data/docs/rpc.md +28 -0
- data/docs/testnet.md +13 -0
- data/docs/tokens.md +6 -0
- data/lib/ultex/eos.rb +21 -0
- data/lib/ultex/eos/blockchain.rb +107 -0
- data/lib/ultex/eos/client.rb +66 -0
- data/lib/ultex/eos/hooks.rb +44 -0
- data/lib/ultex/eos/railtie.rb +15 -0
- data/lib/ultex/eos/transaction_serializer.rb +81 -0
- data/lib/ultex/eos/version.rb +7 -0
- data/lib/ultex/eos/wallet.rb +99 -0
- data/ultex-eos.gemspec +44 -0
- metadata +305 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/coverage/index.html
ADDED
|
@@ -0,0 +1,2730 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html xmlns='http://www.w3.org/1999/xhtml'>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Code coverage for Peatio-eos</title>
|
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
6
|
+
<script src='./assets/0.10.2/application.js' type='text/javascript'></script>
|
|
7
|
+
<link href='./assets/0.10.2/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
|
|
8
|
+
<link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_green.png" />
|
|
9
|
+
<link rel="icon" type="image/png" href="./assets/0.10.2/favicon.png" />
|
|
10
|
+
</head>
|
|
11
|
+
|
|
12
|
+
<body>
|
|
13
|
+
<div id="loading">
|
|
14
|
+
<img src="./assets/0.10.2/loading.gif" alt="loading"/>
|
|
15
|
+
</div>
|
|
16
|
+
<div id="wrapper" style="display:none;">
|
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2019-09-12T13:25:52+03:00">2019-09-12T13:25:52+03:00</abbr></div>
|
|
18
|
+
<ul class="group_tabs"></ul>
|
|
19
|
+
|
|
20
|
+
<div id="content">
|
|
21
|
+
<div class="file_list_container" id="AllFiles">
|
|
22
|
+
<h2>
|
|
23
|
+
<span class="group_name">All Files</span>
|
|
24
|
+
(<span class="covered_percent"><span class="green">92.43%</span></span>
|
|
25
|
+
covered at
|
|
26
|
+
<span class="covered_strength">
|
|
27
|
+
<span class="green">
|
|
28
|
+
4.04
|
|
29
|
+
</span>
|
|
30
|
+
</span> hits/line)
|
|
31
|
+
</h2>
|
|
32
|
+
<a name="AllFiles"></a>
|
|
33
|
+
<div>
|
|
34
|
+
<b>6</b> files in total.
|
|
35
|
+
<b>185</b> relevant lines.
|
|
36
|
+
<span class="green"><b>171</b> lines covered</span> and
|
|
37
|
+
<span class="red"><b>14</b> lines missed </span>
|
|
38
|
+
</div>
|
|
39
|
+
<table class="file_list">
|
|
40
|
+
<thead>
|
|
41
|
+
<tr>
|
|
42
|
+
<th>File</th>
|
|
43
|
+
<th>% covered</th>
|
|
44
|
+
<th>Lines</th>
|
|
45
|
+
<th>Relevant Lines</th>
|
|
46
|
+
<th>Lines covered</th>
|
|
47
|
+
<th>Lines missed</th>
|
|
48
|
+
<th>Avg. Hits / Line</th>
|
|
49
|
+
</tr>
|
|
50
|
+
</thead>
|
|
51
|
+
<tbody>
|
|
52
|
+
|
|
53
|
+
<tr>
|
|
54
|
+
<td class="strong"><a href="#0e5f8207e3f3a45bcd87698da098607a1b42b5d3" class="src_link" title="lib/peatio/eos.rb">lib/peatio/eos.rb</a></td>
|
|
55
|
+
<td class="green strong">100.0 %</td>
|
|
56
|
+
<td>21</td>
|
|
57
|
+
<td>14</td>
|
|
58
|
+
<td>14</td>
|
|
59
|
+
<td>0</td>
|
|
60
|
+
<td>1.0</td>
|
|
61
|
+
</tr>
|
|
62
|
+
|
|
63
|
+
<tr>
|
|
64
|
+
<td class="strong"><a href="#ae81bc36f818cfcd0b08d067750c576f351927c2" class="src_link" title="lib/peatio/eos/blockchain.rb">lib/peatio/eos/blockchain.rb</a></td>
|
|
65
|
+
<td class="green strong">94.34 %</td>
|
|
66
|
+
<td>107</td>
|
|
67
|
+
<td>53</td>
|
|
68
|
+
<td>50</td>
|
|
69
|
+
<td>3</td>
|
|
70
|
+
<td>7.4</td>
|
|
71
|
+
</tr>
|
|
72
|
+
|
|
73
|
+
<tr>
|
|
74
|
+
<td class="strong"><a href="#2738eefec848fd62cd8f5fc3817e9fcdcfe33282" class="src_link" title="lib/peatio/eos/client.rb">lib/peatio/eos/client.rb</a></td>
|
|
75
|
+
<td class="green strong">91.43 %</td>
|
|
76
|
+
<td>62</td>
|
|
77
|
+
<td>35</td>
|
|
78
|
+
<td>32</td>
|
|
79
|
+
<td>3</td>
|
|
80
|
+
<td>6.2</td>
|
|
81
|
+
</tr>
|
|
82
|
+
|
|
83
|
+
<tr>
|
|
84
|
+
<td class="strong"><a href="#50bb5d81f03e764fe5a3dd13d7905f6111e5137c" class="src_link" title="lib/peatio/eos/hooks.rb">lib/peatio/eos/hooks.rb</a></td>
|
|
85
|
+
<td class="red strong">75.0 %</td>
|
|
86
|
+
<td>44</td>
|
|
87
|
+
<td>20</td>
|
|
88
|
+
<td>15</td>
|
|
89
|
+
<td>5</td>
|
|
90
|
+
<td>0.8</td>
|
|
91
|
+
</tr>
|
|
92
|
+
|
|
93
|
+
<tr>
|
|
94
|
+
<td class="strong"><a href="#5b0c7ff844239bc2dc8be59c4a6ab3051e0951ec" class="src_link" title="lib/peatio/eos/transaction_serializer.rb">lib/peatio/eos/transaction_serializer.rb</a></td>
|
|
95
|
+
<td class="green strong">100.0 %</td>
|
|
96
|
+
<td>81</td>
|
|
97
|
+
<td>12</td>
|
|
98
|
+
<td>12</td>
|
|
99
|
+
<td>0</td>
|
|
100
|
+
<td>1.0</td>
|
|
101
|
+
</tr>
|
|
102
|
+
|
|
103
|
+
<tr>
|
|
104
|
+
<td class="strong"><a href="#edcfdc697d0a97a124e7ca0ba98b825ef89ae508" class="src_link" title="lib/peatio/eos/wallet.rb">lib/peatio/eos/wallet.rb</a></td>
|
|
105
|
+
<td class="green strong">94.12 %</td>
|
|
106
|
+
<td>99</td>
|
|
107
|
+
<td>51</td>
|
|
108
|
+
<td>48</td>
|
|
109
|
+
<td>3</td>
|
|
110
|
+
<td>1.9</td>
|
|
111
|
+
</tr>
|
|
112
|
+
|
|
113
|
+
</tbody>
|
|
114
|
+
</table>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<div id="footer">
|
|
122
|
+
Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.16.1
|
|
123
|
+
and simplecov-html v0.10.2<br/>
|
|
124
|
+
using RSpec
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div class="source_files">
|
|
128
|
+
|
|
129
|
+
<div class="source_table" id="0e5f8207e3f3a45bcd87698da098607a1b42b5d3">
|
|
130
|
+
<div class="header">
|
|
131
|
+
<h3>lib/peatio/eos.rb</h3>
|
|
132
|
+
<h4><span class="green">100.0 %</span> covered</h4>
|
|
133
|
+
<div>
|
|
134
|
+
<b>14</b> relevant lines.
|
|
135
|
+
<span class="green"><b>14</b> lines covered</span> and
|
|
136
|
+
<span class="red"><b>0</b> lines missed.</span>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
<pre>
|
|
141
|
+
<ol>
|
|
142
|
+
|
|
143
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
147
|
+
</li>
|
|
148
|
+
|
|
149
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
<code class="ruby"></code>
|
|
153
|
+
</li>
|
|
154
|
+
|
|
155
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
156
|
+
<span class="hits">1</span>
|
|
157
|
+
|
|
158
|
+
<code class="ruby">require "peatio/eos/version"</code>
|
|
159
|
+
</li>
|
|
160
|
+
|
|
161
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
162
|
+
<span class="hits">1</span>
|
|
163
|
+
|
|
164
|
+
<code class="ruby">require "active_support/core_ext/object/blank"</code>
|
|
165
|
+
</li>
|
|
166
|
+
|
|
167
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
168
|
+
<span class="hits">1</span>
|
|
169
|
+
|
|
170
|
+
<code class="ruby">require "active_support/core_ext/enumerable"</code>
|
|
171
|
+
</li>
|
|
172
|
+
|
|
173
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
|
174
|
+
<span class="hits">1</span>
|
|
175
|
+
|
|
176
|
+
<code class="ruby">require "peatio"</code>
|
|
177
|
+
</li>
|
|
178
|
+
|
|
179
|
+
<li class="never" data-hits="" data-linenumber="7">
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
<code class="ruby"></code>
|
|
183
|
+
</li>
|
|
184
|
+
|
|
185
|
+
<li class="covered" data-hits="1" data-linenumber="8">
|
|
186
|
+
<span class="hits">1</span>
|
|
187
|
+
|
|
188
|
+
<code class="ruby">module Peatio</code>
|
|
189
|
+
</li>
|
|
190
|
+
|
|
191
|
+
<li class="covered" data-hits="1" data-linenumber="9">
|
|
192
|
+
<span class="hits">1</span>
|
|
193
|
+
|
|
194
|
+
<code class="ruby"> module Eos</code>
|
|
195
|
+
</li>
|
|
196
|
+
|
|
197
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
|
198
|
+
<span class="hits">1</span>
|
|
199
|
+
|
|
200
|
+
<code class="ruby"> require "bigdecimal"</code>
|
|
201
|
+
</li>
|
|
202
|
+
|
|
203
|
+
<li class="covered" data-hits="1" data-linenumber="11">
|
|
204
|
+
<span class="hits">1</span>
|
|
205
|
+
|
|
206
|
+
<code class="ruby"> require "bigdecimal/util"</code>
|
|
207
|
+
</li>
|
|
208
|
+
|
|
209
|
+
<li class="never" data-hits="" data-linenumber="12">
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
<code class="ruby"></code>
|
|
213
|
+
</li>
|
|
214
|
+
|
|
215
|
+
<li class="covered" data-hits="1" data-linenumber="13">
|
|
216
|
+
<span class="hits">1</span>
|
|
217
|
+
|
|
218
|
+
<code class="ruby"> require "peatio/eos/blockchain"</code>
|
|
219
|
+
</li>
|
|
220
|
+
|
|
221
|
+
<li class="covered" data-hits="1" data-linenumber="14">
|
|
222
|
+
<span class="hits">1</span>
|
|
223
|
+
|
|
224
|
+
<code class="ruby"> require "peatio/eos/client"</code>
|
|
225
|
+
</li>
|
|
226
|
+
|
|
227
|
+
<li class="covered" data-hits="1" data-linenumber="15">
|
|
228
|
+
<span class="hits">1</span>
|
|
229
|
+
|
|
230
|
+
<code class="ruby"> require "peatio/eos/wallet"</code>
|
|
231
|
+
</li>
|
|
232
|
+
|
|
233
|
+
<li class="covered" data-hits="1" data-linenumber="16">
|
|
234
|
+
<span class="hits">1</span>
|
|
235
|
+
|
|
236
|
+
<code class="ruby"> require "peatio/eos/transaction_serializer"</code>
|
|
237
|
+
</li>
|
|
238
|
+
|
|
239
|
+
<li class="never" data-hits="" data-linenumber="17">
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
<code class="ruby"></code>
|
|
243
|
+
</li>
|
|
244
|
+
|
|
245
|
+
<li class="covered" data-hits="1" data-linenumber="18">
|
|
246
|
+
<span class="hits">1</span>
|
|
247
|
+
|
|
248
|
+
<code class="ruby"> require "peatio/eos/hooks"</code>
|
|
249
|
+
</li>
|
|
250
|
+
|
|
251
|
+
<li class="covered" data-hits="1" data-linenumber="19">
|
|
252
|
+
<span class="hits">1</span>
|
|
253
|
+
|
|
254
|
+
<code class="ruby"> require "peatio/eos/version"</code>
|
|
255
|
+
</li>
|
|
256
|
+
|
|
257
|
+
<li class="never" data-hits="" data-linenumber="20">
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
<code class="ruby"> end</code>
|
|
261
|
+
</li>
|
|
262
|
+
|
|
263
|
+
<li class="never" data-hits="" data-linenumber="21">
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
<code class="ruby">end</code>
|
|
267
|
+
</li>
|
|
268
|
+
|
|
269
|
+
</ol>
|
|
270
|
+
</pre>
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
<div class="source_table" id="ae81bc36f818cfcd0b08d067750c576f351927c2">
|
|
275
|
+
<div class="header">
|
|
276
|
+
<h3>lib/peatio/eos/blockchain.rb</h3>
|
|
277
|
+
<h4><span class="green">94.34 %</span> covered</h4>
|
|
278
|
+
<div>
|
|
279
|
+
<b>53</b> relevant lines.
|
|
280
|
+
<span class="green"><b>50</b> lines covered</span> and
|
|
281
|
+
<span class="red"><b>3</b> lines missed.</span>
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
<pre>
|
|
286
|
+
<ol>
|
|
287
|
+
|
|
288
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
292
|
+
</li>
|
|
293
|
+
|
|
294
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
<code class="ruby"></code>
|
|
298
|
+
</li>
|
|
299
|
+
|
|
300
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
301
|
+
<span class="hits">1</span>
|
|
302
|
+
|
|
303
|
+
<code class="ruby">module Peatio</code>
|
|
304
|
+
</li>
|
|
305
|
+
|
|
306
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
307
|
+
<span class="hits">1</span>
|
|
308
|
+
|
|
309
|
+
<code class="ruby"> module Eos</code>
|
|
310
|
+
</li>
|
|
311
|
+
|
|
312
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
313
|
+
<span class="hits">1</span>
|
|
314
|
+
|
|
315
|
+
<code class="ruby"> class Blockchain < Peatio::Blockchain::Abstract</code>
|
|
316
|
+
</li>
|
|
317
|
+
|
|
318
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
|
319
|
+
<span class="hits">1</span>
|
|
320
|
+
|
|
321
|
+
<code class="ruby"> DEFAULT_FEATURES = {case_sensitive: true, cash_addr_format: false}.freeze</code>
|
|
322
|
+
</li>
|
|
323
|
+
|
|
324
|
+
<li class="never" data-hits="" data-linenumber="7">
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
<code class="ruby"></code>
|
|
328
|
+
</li>
|
|
329
|
+
|
|
330
|
+
<li class="covered" data-hits="1" data-linenumber="8">
|
|
331
|
+
<span class="hits">1</span>
|
|
332
|
+
|
|
333
|
+
<code class="ruby"> TOKEN_STANDARD = "eosio.token"</code>
|
|
334
|
+
</li>
|
|
335
|
+
|
|
336
|
+
<li class="never" data-hits="" data-linenumber="9">
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
<code class="ruby"></code>
|
|
340
|
+
</li>
|
|
341
|
+
|
|
342
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
|
343
|
+
<span class="hits">1</span>
|
|
344
|
+
|
|
345
|
+
<code class="ruby"> class MissingTokenNameError < Peatio::Blockchain::Error; end</code>
|
|
346
|
+
</li>
|
|
347
|
+
|
|
348
|
+
<li class="covered" data-hits="1" data-linenumber="11">
|
|
349
|
+
<span class="hits">1</span>
|
|
350
|
+
|
|
351
|
+
<code class="ruby"> class UndefinedCurrencyError < Peatio::Blockchain::Error; end</code>
|
|
352
|
+
</li>
|
|
353
|
+
|
|
354
|
+
<li class="never" data-hits="" data-linenumber="12">
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
<code class="ruby"></code>
|
|
358
|
+
</li>
|
|
359
|
+
|
|
360
|
+
<li class="covered" data-hits="1" data-linenumber="13">
|
|
361
|
+
<span class="hits">1</span>
|
|
362
|
+
|
|
363
|
+
<code class="ruby"> def initialize(custom_features={})</code>
|
|
364
|
+
</li>
|
|
365
|
+
|
|
366
|
+
<li class="covered" data-hits="15" data-linenumber="14">
|
|
367
|
+
<span class="hits">15</span>
|
|
368
|
+
|
|
369
|
+
<code class="ruby"> @features = DEFAULT_FEATURES.merge(custom_features).slice(*SUPPORTED_FEATURES)</code>
|
|
370
|
+
</li>
|
|
371
|
+
|
|
372
|
+
<li class="covered" data-hits="15" data-linenumber="15">
|
|
373
|
+
<span class="hits">15</span>
|
|
374
|
+
|
|
375
|
+
<code class="ruby"> @settings = {}</code>
|
|
376
|
+
</li>
|
|
377
|
+
|
|
378
|
+
<li class="never" data-hits="" data-linenumber="16">
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
<code class="ruby"> end</code>
|
|
382
|
+
</li>
|
|
383
|
+
|
|
384
|
+
<li class="never" data-hits="" data-linenumber="17">
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
<code class="ruby"></code>
|
|
388
|
+
</li>
|
|
389
|
+
|
|
390
|
+
<li class="covered" data-hits="1" data-linenumber="18">
|
|
391
|
+
<span class="hits">1</span>
|
|
392
|
+
|
|
393
|
+
<code class="ruby"> def configure(settings={})</code>
|
|
394
|
+
</li>
|
|
395
|
+
|
|
396
|
+
<li class="never" data-hits="" data-linenumber="19">
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
<code class="ruby"> # Clean client state during configure.</code>
|
|
400
|
+
</li>
|
|
401
|
+
|
|
402
|
+
<li class="covered" data-hits="10" data-linenumber="20">
|
|
403
|
+
<span class="hits">10</span>
|
|
404
|
+
|
|
405
|
+
<code class="ruby"> @client = nil</code>
|
|
406
|
+
</li>
|
|
407
|
+
|
|
408
|
+
<li class="never" data-hits="" data-linenumber="21">
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
<code class="ruby"></code>
|
|
412
|
+
</li>
|
|
413
|
+
|
|
414
|
+
<li class="covered" data-hits="10" data-linenumber="22">
|
|
415
|
+
<span class="hits">10</span>
|
|
416
|
+
|
|
417
|
+
<code class="ruby"> supported_settings = settings.slice(*SUPPORTED_SETTINGS)</code>
|
|
418
|
+
</li>
|
|
419
|
+
|
|
420
|
+
<li class="covered" data-hits="10" data-linenumber="23">
|
|
421
|
+
<span class="hits">10</span>
|
|
422
|
+
|
|
423
|
+
<code class="ruby"> supported_settings[:currencies]&.each do |c|</code>
|
|
424
|
+
</li>
|
|
425
|
+
|
|
426
|
+
<li class="covered" data-hits="11" data-linenumber="24">
|
|
427
|
+
<span class="hits">11</span>
|
|
428
|
+
|
|
429
|
+
<code class="ruby"> raise MissingTokenNameError, c[:id] if c.dig(:options, :eos_token_name).blank?</code>
|
|
430
|
+
</li>
|
|
431
|
+
|
|
432
|
+
<li class="never" data-hits="" data-linenumber="25">
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
<code class="ruby"> end</code>
|
|
436
|
+
</li>
|
|
437
|
+
|
|
438
|
+
<li class="covered" data-hits="10" data-linenumber="26">
|
|
439
|
+
<span class="hits">10</span>
|
|
440
|
+
|
|
441
|
+
<code class="ruby"> @settings.merge!(supported_settings)</code>
|
|
442
|
+
</li>
|
|
443
|
+
|
|
444
|
+
<li class="never" data-hits="" data-linenumber="27">
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
<code class="ruby"> end</code>
|
|
448
|
+
</li>
|
|
449
|
+
|
|
450
|
+
<li class="never" data-hits="" data-linenumber="28">
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
<code class="ruby"></code>
|
|
454
|
+
</li>
|
|
455
|
+
|
|
456
|
+
<li class="covered" data-hits="1" data-linenumber="29">
|
|
457
|
+
<span class="hits">1</span>
|
|
458
|
+
|
|
459
|
+
<code class="ruby"> def fetch_block!(block_number)</code>
|
|
460
|
+
</li>
|
|
461
|
+
|
|
462
|
+
<li class="covered" data-hits="4" data-linenumber="30">
|
|
463
|
+
<span class="hits">4</span>
|
|
464
|
+
|
|
465
|
+
<code class="ruby"> client.json_rpc("/v1/chain/get_block", "block_num_or_id" => block_number)</code>
|
|
466
|
+
</li>
|
|
467
|
+
|
|
468
|
+
<li class="never" data-hits="" data-linenumber="31">
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
<code class="ruby"> .fetch("transactions").each_with_object([]) do |tx, txs_array|</code>
|
|
472
|
+
</li>
|
|
473
|
+
|
|
474
|
+
<li class="covered" data-hits="18" data-linenumber="32">
|
|
475
|
+
<span class="hits">18</span>
|
|
476
|
+
|
|
477
|
+
<code class="ruby"> txs = build_transaction(tx).map do |ntx|</code>
|
|
478
|
+
</li>
|
|
479
|
+
|
|
480
|
+
<li class="covered" data-hits="10" data-linenumber="33">
|
|
481
|
+
<span class="hits">10</span>
|
|
482
|
+
|
|
483
|
+
<code class="ruby"> Peatio::Transaction.new(ntx.merge(block_number: block_number))</code>
|
|
484
|
+
</li>
|
|
485
|
+
|
|
486
|
+
<li class="never" data-hits="" data-linenumber="34">
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
<code class="ruby"> end</code>
|
|
490
|
+
</li>
|
|
491
|
+
|
|
492
|
+
<li class="covered" data-hits="18" data-linenumber="35">
|
|
493
|
+
<span class="hits">18</span>
|
|
494
|
+
|
|
495
|
+
<code class="ruby"> txs_array.append(*txs)</code>
|
|
496
|
+
</li>
|
|
497
|
+
|
|
498
|
+
<li class="covered" data-hits="4" data-linenumber="36">
|
|
499
|
+
<span class="hits">4</span>
|
|
500
|
+
|
|
501
|
+
<code class="ruby"> end.yield_self {|txs_array| Peatio::Block.new(block_number, txs_array) }</code>
|
|
502
|
+
</li>
|
|
503
|
+
|
|
504
|
+
<li class="never" data-hits="" data-linenumber="37">
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
508
|
+
</li>
|
|
509
|
+
|
|
510
|
+
<li class="missed" data-hits="0" data-linenumber="38">
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
<code class="ruby"> raise Peatio::Blockchain::ClientError, e</code>
|
|
514
|
+
</li>
|
|
515
|
+
|
|
516
|
+
<li class="never" data-hits="" data-linenumber="39">
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
<code class="ruby"> end</code>
|
|
520
|
+
</li>
|
|
521
|
+
|
|
522
|
+
<li class="never" data-hits="" data-linenumber="40">
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
<code class="ruby"></code>
|
|
526
|
+
</li>
|
|
527
|
+
|
|
528
|
+
<li class="covered" data-hits="1" data-linenumber="41">
|
|
529
|
+
<span class="hits">1</span>
|
|
530
|
+
|
|
531
|
+
<code class="ruby"> def load_balance_of_address!(address, currency_id)</code>
|
|
532
|
+
</li>
|
|
533
|
+
|
|
534
|
+
<li class="covered" data-hits="2" data-linenumber="42">
|
|
535
|
+
<span class="hits">2</span>
|
|
536
|
+
|
|
537
|
+
<code class="ruby"> currency = settings_fetch(:currencies).find {|c| c[:id] == currency_id }</code>
|
|
538
|
+
</li>
|
|
539
|
+
|
|
540
|
+
<li class="covered" data-hits="1" data-linenumber="43">
|
|
541
|
+
<span class="hits">1</span>
|
|
542
|
+
|
|
543
|
+
<code class="ruby"> raise UndefinedCurrencyError unless currency</code>
|
|
544
|
+
</li>
|
|
545
|
+
|
|
546
|
+
<li class="never" data-hits="" data-linenumber="44">
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
<code class="ruby"></code>
|
|
550
|
+
</li>
|
|
551
|
+
|
|
552
|
+
<li class="covered" data-hits="1" data-linenumber="45">
|
|
553
|
+
<span class="hits">1</span>
|
|
554
|
+
|
|
555
|
+
<code class="ruby"> balance = client.json_rpc("/v1/chain/get_currency_balance",</code>
|
|
556
|
+
</li>
|
|
557
|
+
|
|
558
|
+
<li class="never" data-hits="" data-linenumber="46">
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
<code class="ruby"> "account" => address, "code" => TOKEN_STANDARD)</code>
|
|
562
|
+
</li>
|
|
563
|
+
|
|
564
|
+
<li class="covered" data-hits="1" data-linenumber="47">
|
|
565
|
+
<span class="hits">1</span>
|
|
566
|
+
|
|
567
|
+
<code class="ruby"> .find {|b| b.split[1] == currency.dig(:options, :eos_token_name) }</code>
|
|
568
|
+
</li>
|
|
569
|
+
|
|
570
|
+
<li class="never" data-hits="" data-linenumber="48">
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
<code class="ruby"></code>
|
|
574
|
+
</li>
|
|
575
|
+
|
|
576
|
+
<li class="never" data-hits="" data-linenumber="49">
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
<code class="ruby"> # EOS return array with balances for all eosio.token currencies</code>
|
|
580
|
+
</li>
|
|
581
|
+
|
|
582
|
+
<li class="covered" data-hits="1" data-linenumber="50">
|
|
583
|
+
<span class="hits">1</span>
|
|
584
|
+
|
|
585
|
+
<code class="ruby"> balance.blank? ? 0 : normalize_balance(balance, currency)</code>
|
|
586
|
+
</li>
|
|
587
|
+
|
|
588
|
+
<li class="never" data-hits="" data-linenumber="51">
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
592
|
+
</li>
|
|
593
|
+
|
|
594
|
+
<li class="missed" data-hits="0" data-linenumber="52">
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
<code class="ruby"> raise Peatio::Wallet::ClientError, e</code>
|
|
598
|
+
</li>
|
|
599
|
+
|
|
600
|
+
<li class="never" data-hits="" data-linenumber="53">
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
<code class="ruby"> end</code>
|
|
604
|
+
</li>
|
|
605
|
+
|
|
606
|
+
<li class="never" data-hits="" data-linenumber="54">
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
<code class="ruby"></code>
|
|
610
|
+
</li>
|
|
611
|
+
|
|
612
|
+
<li class="covered" data-hits="1" data-linenumber="55">
|
|
613
|
+
<span class="hits">1</span>
|
|
614
|
+
|
|
615
|
+
<code class="ruby"> def latest_block_number</code>
|
|
616
|
+
</li>
|
|
617
|
+
|
|
618
|
+
<li class="covered" data-hits="1" data-linenumber="56">
|
|
619
|
+
<span class="hits">1</span>
|
|
620
|
+
|
|
621
|
+
<code class="ruby"> client.json_rpc("/v1/chain/get_info").fetch("head_block_num")</code>
|
|
622
|
+
</li>
|
|
623
|
+
|
|
624
|
+
<li class="never" data-hits="" data-linenumber="57">
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
628
|
+
</li>
|
|
629
|
+
|
|
630
|
+
<li class="missed" data-hits="0" data-linenumber="58">
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
<code class="ruby"> raise Peatio::Blockchain::ClientError, e</code>
|
|
634
|
+
</li>
|
|
635
|
+
|
|
636
|
+
<li class="never" data-hits="" data-linenumber="59">
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
<code class="ruby"> end</code>
|
|
640
|
+
</li>
|
|
641
|
+
|
|
642
|
+
<li class="never" data-hits="" data-linenumber="60">
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
<code class="ruby"></code>
|
|
646
|
+
</li>
|
|
647
|
+
|
|
648
|
+
<li class="covered" data-hits="1" data-linenumber="61">
|
|
649
|
+
<span class="hits">1</span>
|
|
650
|
+
|
|
651
|
+
<code class="ruby"> private</code>
|
|
652
|
+
</li>
|
|
653
|
+
|
|
654
|
+
<li class="never" data-hits="" data-linenumber="62">
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
<code class="ruby"></code>
|
|
658
|
+
</li>
|
|
659
|
+
|
|
660
|
+
<li class="covered" data-hits="1" data-linenumber="63">
|
|
661
|
+
<span class="hits">1</span>
|
|
662
|
+
|
|
663
|
+
<code class="ruby"> def build_transaction(tx)</code>
|
|
664
|
+
</li>
|
|
665
|
+
|
|
666
|
+
<li class="covered" data-hits="21" data-linenumber="64">
|
|
667
|
+
<span class="hits">21</span>
|
|
668
|
+
|
|
669
|
+
<code class="ruby"> return [] if tx["trx"]["id"].blank? # check for deferred transaction</code>
|
|
670
|
+
</li>
|
|
671
|
+
|
|
672
|
+
<li class="never" data-hits="" data-linenumber="65">
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
<code class="ruby"></code>
|
|
676
|
+
</li>
|
|
677
|
+
|
|
678
|
+
<li class="covered" data-hits="17" data-linenumber="66">
|
|
679
|
+
<span class="hits">17</span>
|
|
680
|
+
|
|
681
|
+
<code class="ruby"> tx.dig("trx", "transaction", "actions")</code>
|
|
682
|
+
</li>
|
|
683
|
+
|
|
684
|
+
<li class="never" data-hits="" data-linenumber="67">
|
|
685
|
+
|
|
686
|
+
|
|
687
|
+
<code class="ruby"> .each_with_object([]).with_index do |(entry, formatted_txs), i|</code>
|
|
688
|
+
</li>
|
|
689
|
+
|
|
690
|
+
<li class="covered" data-hits="20" data-linenumber="68">
|
|
691
|
+
<span class="hits">20</span>
|
|
692
|
+
|
|
693
|
+
<code class="ruby"> next unless entry["name"] == "transfer" && !entry["data"]["to"].empty?</code>
|
|
694
|
+
</li>
|
|
695
|
+
|
|
696
|
+
<li class="never" data-hits="" data-linenumber="69">
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
<code class="ruby"></code>
|
|
700
|
+
</li>
|
|
701
|
+
|
|
702
|
+
<li class="covered" data-hits="16" data-linenumber="70">
|
|
703
|
+
<span class="hits">16</span>
|
|
704
|
+
|
|
705
|
+
<code class="ruby"> amount, token_name = entry["data"]["quantity"]&.split</code>
|
|
706
|
+
</li>
|
|
707
|
+
|
|
708
|
+
<li class="covered" data-hits="16" data-linenumber="71">
|
|
709
|
+
<span class="hits">16</span>
|
|
710
|
+
|
|
711
|
+
<code class="ruby"> next if token_name.nil? || amount.to_d < 0</code>
|
|
712
|
+
</li>
|
|
713
|
+
|
|
714
|
+
<li class="never" data-hits="" data-linenumber="72">
|
|
715
|
+
|
|
716
|
+
|
|
717
|
+
<code class="ruby"></code>
|
|
718
|
+
</li>
|
|
719
|
+
|
|
720
|
+
<li class="covered" data-hits="34" data-linenumber="73">
|
|
721
|
+
<span class="hits">34</span>
|
|
722
|
+
|
|
723
|
+
<code class="ruby"> currencies = settings_fetch(:currencies).select {|c| c.dig(:options, :eos_token_name) == token_name }</code>
|
|
724
|
+
</li>
|
|
725
|
+
|
|
726
|
+
<li class="covered" data-hits="16" data-linenumber="74">
|
|
727
|
+
<span class="hits">16</span>
|
|
728
|
+
|
|
729
|
+
<code class="ruby"> status = tx["status"] == "executed" ? "success" : "failed"</code>
|
|
730
|
+
</li>
|
|
731
|
+
|
|
732
|
+
<li class="covered" data-hits="16" data-linenumber="75">
|
|
733
|
+
<span class="hits">16</span>
|
|
734
|
+
|
|
735
|
+
<code class="ruby"> address = "#{entry['data']['to']}?memo=#{get_memo(entry['data']['memo'])}"</code>
|
|
736
|
+
</li>
|
|
737
|
+
|
|
738
|
+
<li class="never" data-hits="" data-linenumber="76">
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
<code class="ruby"></code>
|
|
742
|
+
</li>
|
|
743
|
+
|
|
744
|
+
<li class="never" data-hits="" data-linenumber="77">
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
<code class="ruby"> # Build transaction for each currency belonging to blockchain.</code>
|
|
748
|
+
</li>
|
|
749
|
+
|
|
750
|
+
<li class="never" data-hits="" data-linenumber="78">
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
<code class="ruby"></code>
|
|
754
|
+
</li>
|
|
755
|
+
|
|
756
|
+
<li class="covered" data-hits="16" data-linenumber="79">
|
|
757
|
+
<span class="hits">16</span>
|
|
758
|
+
|
|
759
|
+
<code class="ruby"> currencies.pluck(:id).each do |currency_id|</code>
|
|
760
|
+
</li>
|
|
761
|
+
|
|
762
|
+
<li class="covered" data-hits="15" data-linenumber="80">
|
|
763
|
+
<span class="hits">15</span>
|
|
764
|
+
|
|
765
|
+
<code class="ruby"> formatted_txs << {hash: tx["trx"]["id"],</code>
|
|
766
|
+
</li>
|
|
767
|
+
|
|
768
|
+
<li class="never" data-hits="" data-linenumber="81">
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
<code class="ruby"> txout: i,</code>
|
|
772
|
+
</li>
|
|
773
|
+
|
|
774
|
+
<li class="never" data-hits="" data-linenumber="82">
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
<code class="ruby"> to_address: address,</code>
|
|
778
|
+
</li>
|
|
779
|
+
|
|
780
|
+
<li class="never" data-hits="" data-linenumber="83">
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
<code class="ruby"> amount: amount.to_d,</code>
|
|
784
|
+
</li>
|
|
785
|
+
|
|
786
|
+
<li class="never" data-hits="" data-linenumber="84">
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
<code class="ruby"> status: status,</code>
|
|
790
|
+
</li>
|
|
791
|
+
|
|
792
|
+
<li class="never" data-hits="" data-linenumber="85">
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
<code class="ruby"> currency_id: currency_id}</code>
|
|
796
|
+
</li>
|
|
797
|
+
|
|
798
|
+
<li class="never" data-hits="" data-linenumber="86">
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
<code class="ruby"> end</code>
|
|
802
|
+
</li>
|
|
803
|
+
|
|
804
|
+
<li class="never" data-hits="" data-linenumber="87">
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
<code class="ruby"> end</code>
|
|
808
|
+
</li>
|
|
809
|
+
|
|
810
|
+
<li class="never" data-hits="" data-linenumber="88">
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
<code class="ruby"> end</code>
|
|
814
|
+
</li>
|
|
815
|
+
|
|
816
|
+
<li class="never" data-hits="" data-linenumber="89">
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
<code class="ruby"></code>
|
|
820
|
+
</li>
|
|
821
|
+
|
|
822
|
+
<li class="covered" data-hits="1" data-linenumber="90">
|
|
823
|
+
<span class="hits">1</span>
|
|
824
|
+
|
|
825
|
+
<code class="ruby"> def normalize_balance(balance, currency)</code>
|
|
826
|
+
</li>
|
|
827
|
+
|
|
828
|
+
<li class="covered" data-hits="1" data-linenumber="91">
|
|
829
|
+
<span class="hits">1</span>
|
|
830
|
+
|
|
831
|
+
<code class="ruby"> balance.chomp(currency.dig(:options, :eos_token_name)).to_d</code>
|
|
832
|
+
</li>
|
|
833
|
+
|
|
834
|
+
<li class="never" data-hits="" data-linenumber="92">
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
<code class="ruby"> end</code>
|
|
838
|
+
</li>
|
|
839
|
+
|
|
840
|
+
<li class="never" data-hits="" data-linenumber="93">
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
<code class="ruby"></code>
|
|
844
|
+
</li>
|
|
845
|
+
|
|
846
|
+
<li class="covered" data-hits="1" data-linenumber="94">
|
|
847
|
+
<span class="hits">1</span>
|
|
848
|
+
|
|
849
|
+
<code class="ruby"> def get_memo(memo)</code>
|
|
850
|
+
</li>
|
|
851
|
+
|
|
852
|
+
<li class="covered" data-hits="16" data-linenumber="95">
|
|
853
|
+
<span class="hits">16</span>
|
|
854
|
+
|
|
855
|
+
<code class="ruby"> memo.match(/\bID[A-Z0-9]{10}\z/) ? memo : ""</code>
|
|
856
|
+
</li>
|
|
857
|
+
|
|
858
|
+
<li class="never" data-hits="" data-linenumber="96">
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
<code class="ruby"> end</code>
|
|
862
|
+
</li>
|
|
863
|
+
|
|
864
|
+
<li class="never" data-hits="" data-linenumber="97">
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
<code class="ruby"></code>
|
|
868
|
+
</li>
|
|
869
|
+
|
|
870
|
+
<li class="covered" data-hits="1" data-linenumber="98">
|
|
871
|
+
<span class="hits">1</span>
|
|
872
|
+
|
|
873
|
+
<code class="ruby"> def client</code>
|
|
874
|
+
</li>
|
|
875
|
+
|
|
876
|
+
<li class="covered" data-hits="6" data-linenumber="99">
|
|
877
|
+
<span class="hits">6</span>
|
|
878
|
+
|
|
879
|
+
<code class="ruby"> @client ||= Peatio::Eos::Client.new(settings_fetch(:server))</code>
|
|
880
|
+
</li>
|
|
881
|
+
|
|
882
|
+
<li class="never" data-hits="" data-linenumber="100">
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
<code class="ruby"> end</code>
|
|
886
|
+
</li>
|
|
887
|
+
|
|
888
|
+
<li class="never" data-hits="" data-linenumber="101">
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
<code class="ruby"></code>
|
|
892
|
+
</li>
|
|
893
|
+
|
|
894
|
+
<li class="covered" data-hits="1" data-linenumber="102">
|
|
895
|
+
<span class="hits">1</span>
|
|
896
|
+
|
|
897
|
+
<code class="ruby"> def settings_fetch(key)</code>
|
|
898
|
+
</li>
|
|
899
|
+
|
|
900
|
+
<li class="covered" data-hits="23" data-linenumber="103">
|
|
901
|
+
<span class="hits">23</span>
|
|
902
|
+
|
|
903
|
+
<code class="ruby"> @settings.fetch(key) { raise Peatio::Blockchain::MissingSettingError, key.to_s }</code>
|
|
904
|
+
</li>
|
|
905
|
+
|
|
906
|
+
<li class="never" data-hits="" data-linenumber="104">
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
<code class="ruby"> end</code>
|
|
910
|
+
</li>
|
|
911
|
+
|
|
912
|
+
<li class="never" data-hits="" data-linenumber="105">
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
<code class="ruby"> end</code>
|
|
916
|
+
</li>
|
|
917
|
+
|
|
918
|
+
<li class="never" data-hits="" data-linenumber="106">
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
<code class="ruby"> end</code>
|
|
922
|
+
</li>
|
|
923
|
+
|
|
924
|
+
<li class="never" data-hits="" data-linenumber="107">
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
<code class="ruby">end</code>
|
|
928
|
+
</li>
|
|
929
|
+
|
|
930
|
+
</ol>
|
|
931
|
+
</pre>
|
|
932
|
+
</div>
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
<div class="source_table" id="2738eefec848fd62cd8f5fc3817e9fcdcfe33282">
|
|
936
|
+
<div class="header">
|
|
937
|
+
<h3>lib/peatio/eos/client.rb</h3>
|
|
938
|
+
<h4><span class="green">91.43 %</span> covered</h4>
|
|
939
|
+
<div>
|
|
940
|
+
<b>35</b> relevant lines.
|
|
941
|
+
<span class="green"><b>32</b> lines covered</span> and
|
|
942
|
+
<span class="red"><b>3</b> lines missed.</span>
|
|
943
|
+
</div>
|
|
944
|
+
</div>
|
|
945
|
+
|
|
946
|
+
<pre>
|
|
947
|
+
<ol>
|
|
948
|
+
|
|
949
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
953
|
+
</li>
|
|
954
|
+
|
|
955
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
<code class="ruby"></code>
|
|
959
|
+
</li>
|
|
960
|
+
|
|
961
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
962
|
+
<span class="hits">1</span>
|
|
963
|
+
|
|
964
|
+
<code class="ruby">require "memoist"</code>
|
|
965
|
+
</li>
|
|
966
|
+
|
|
967
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
968
|
+
<span class="hits">1</span>
|
|
969
|
+
|
|
970
|
+
<code class="ruby">require "faraday"</code>
|
|
971
|
+
</li>
|
|
972
|
+
|
|
973
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
974
|
+
<span class="hits">1</span>
|
|
975
|
+
|
|
976
|
+
<code class="ruby">require "better-faraday"</code>
|
|
977
|
+
</li>
|
|
978
|
+
|
|
979
|
+
<li class="never" data-hits="" data-linenumber="6">
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
<code class="ruby"></code>
|
|
983
|
+
</li>
|
|
984
|
+
|
|
985
|
+
<li class="covered" data-hits="1" data-linenumber="7">
|
|
986
|
+
<span class="hits">1</span>
|
|
987
|
+
|
|
988
|
+
<code class="ruby">module Peatio</code>
|
|
989
|
+
</li>
|
|
990
|
+
|
|
991
|
+
<li class="covered" data-hits="1" data-linenumber="8">
|
|
992
|
+
<span class="hits">1</span>
|
|
993
|
+
|
|
994
|
+
<code class="ruby"> module Eos</code>
|
|
995
|
+
</li>
|
|
996
|
+
|
|
997
|
+
<li class="covered" data-hits="1" data-linenumber="9">
|
|
998
|
+
<span class="hits">1</span>
|
|
999
|
+
|
|
1000
|
+
<code class="ruby"> class Client</code>
|
|
1001
|
+
</li>
|
|
1002
|
+
|
|
1003
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
|
1004
|
+
<span class="hits">1</span>
|
|
1005
|
+
|
|
1006
|
+
<code class="ruby"> Error = Class.new(StandardError)</code>
|
|
1007
|
+
</li>
|
|
1008
|
+
|
|
1009
|
+
<li class="covered" data-hits="1" data-linenumber="11">
|
|
1010
|
+
<span class="hits">1</span>
|
|
1011
|
+
|
|
1012
|
+
<code class="ruby"> class ConnectionError < Error; end</code>
|
|
1013
|
+
</li>
|
|
1014
|
+
|
|
1015
|
+
<li class="never" data-hits="" data-linenumber="12">
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
<code class="ruby"></code>
|
|
1019
|
+
</li>
|
|
1020
|
+
|
|
1021
|
+
<li class="covered" data-hits="1" data-linenumber="13">
|
|
1022
|
+
<span class="hits">1</span>
|
|
1023
|
+
|
|
1024
|
+
<code class="ruby"> class ResponseError < StandardError</code>
|
|
1025
|
+
</li>
|
|
1026
|
+
|
|
1027
|
+
<li class="covered" data-hits="1" data-linenumber="14">
|
|
1028
|
+
<span class="hits">1</span>
|
|
1029
|
+
|
|
1030
|
+
<code class="ruby"> def initialize(code, msg)</code>
|
|
1031
|
+
</li>
|
|
1032
|
+
|
|
1033
|
+
<li class="missed" data-hits="0" data-linenumber="15">
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
<code class="ruby"> super "#{msg} (#{code})"</code>
|
|
1037
|
+
</li>
|
|
1038
|
+
|
|
1039
|
+
<li class="never" data-hits="" data-linenumber="16">
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
<code class="ruby"> end</code>
|
|
1043
|
+
</li>
|
|
1044
|
+
|
|
1045
|
+
<li class="never" data-hits="" data-linenumber="17">
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
<code class="ruby"> end</code>
|
|
1049
|
+
</li>
|
|
1050
|
+
|
|
1051
|
+
<li class="never" data-hits="" data-linenumber="18">
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
<code class="ruby"></code>
|
|
1055
|
+
</li>
|
|
1056
|
+
|
|
1057
|
+
<li class="covered" data-hits="1" data-linenumber="19">
|
|
1058
|
+
<span class="hits">1</span>
|
|
1059
|
+
|
|
1060
|
+
<code class="ruby"> extend Memoist</code>
|
|
1061
|
+
</li>
|
|
1062
|
+
|
|
1063
|
+
<li class="never" data-hits="" data-linenumber="20">
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
<code class="ruby"></code>
|
|
1067
|
+
</li>
|
|
1068
|
+
|
|
1069
|
+
<li class="covered" data-hits="1" data-linenumber="21">
|
|
1070
|
+
<span class="hits">1</span>
|
|
1071
|
+
|
|
1072
|
+
<code class="ruby"> def initialize(endpoint, idle_timeout: 5)</code>
|
|
1073
|
+
</li>
|
|
1074
|
+
|
|
1075
|
+
<li class="covered" data-hits="8" data-linenumber="22">
|
|
1076
|
+
<span class="hits">8</span>
|
|
1077
|
+
|
|
1078
|
+
<code class="ruby"> @rpc_endpoint = URI.parse(endpoint)</code>
|
|
1079
|
+
</li>
|
|
1080
|
+
|
|
1081
|
+
<li class="covered" data-hits="8" data-linenumber="23">
|
|
1082
|
+
<span class="hits">8</span>
|
|
1083
|
+
|
|
1084
|
+
<code class="ruby"> @idle_timeout = idle_timeout</code>
|
|
1085
|
+
</li>
|
|
1086
|
+
|
|
1087
|
+
<li class="never" data-hits="" data-linenumber="24">
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
<code class="ruby"> end</code>
|
|
1091
|
+
</li>
|
|
1092
|
+
|
|
1093
|
+
<li class="never" data-hits="" data-linenumber="25">
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
<code class="ruby"></code>
|
|
1097
|
+
</li>
|
|
1098
|
+
|
|
1099
|
+
<li class="covered" data-hits="1" data-linenumber="26">
|
|
1100
|
+
<span class="hits">1</span>
|
|
1101
|
+
|
|
1102
|
+
<code class="ruby"> def json_rpc(path, params=nil, port=nil)</code>
|
|
1103
|
+
</li>
|
|
1104
|
+
|
|
1105
|
+
<li class="never" data-hits="" data-linenumber="27">
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
<code class="ruby"> # We need to communicate with keosd to sign transaction,</code>
|
|
1109
|
+
</li>
|
|
1110
|
+
|
|
1111
|
+
<li class="never" data-hits="" data-linenumber="28">
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
<code class="ruby"> # keosd is running on non default eos port which is 8900</code>
|
|
1115
|
+
</li>
|
|
1116
|
+
|
|
1117
|
+
<li class="never" data-hits="" data-linenumber="29">
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
<code class="ruby"> # and passed to json_rpc function when we sign transaction</code>
|
|
1121
|
+
</li>
|
|
1122
|
+
|
|
1123
|
+
<li class="covered" data-hits="12" data-linenumber="30">
|
|
1124
|
+
<span class="hits">12</span>
|
|
1125
|
+
|
|
1126
|
+
<code class="ruby"> rpc = URI.parse(@rpc_endpoint.to_s)</code>
|
|
1127
|
+
</li>
|
|
1128
|
+
|
|
1129
|
+
<li class="covered" data-hits="12" data-linenumber="31">
|
|
1130
|
+
<span class="hits">12</span>
|
|
1131
|
+
|
|
1132
|
+
<code class="ruby"> rpc.port = (port.present? ? port : @rpc_endpoint.port)</code>
|
|
1133
|
+
</li>
|
|
1134
|
+
|
|
1135
|
+
<li class="covered" data-hits="12" data-linenumber="32">
|
|
1136
|
+
<span class="hits">12</span>
|
|
1137
|
+
|
|
1138
|
+
<code class="ruby"> response = connection(rpc).post do |req|</code>
|
|
1139
|
+
</li>
|
|
1140
|
+
|
|
1141
|
+
<li class="covered" data-hits="12" data-linenumber="33">
|
|
1142
|
+
<span class="hits">12</span>
|
|
1143
|
+
|
|
1144
|
+
<code class="ruby"> req.url path</code>
|
|
1145
|
+
</li>
|
|
1146
|
+
|
|
1147
|
+
<li class="never" data-hits="" data-linenumber="34">
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
<code class="ruby"></code>
|
|
1151
|
+
</li>
|
|
1152
|
+
|
|
1153
|
+
<li class="never" data-hits="" data-linenumber="35">
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
<code class="ruby"> # To communicate with keosd to sign transaction we need to pass Host param with keosd port</code>
|
|
1157
|
+
</li>
|
|
1158
|
+
|
|
1159
|
+
<li class="covered" data-hits="12" data-linenumber="36">
|
|
1160
|
+
<span class="hits">12</span>
|
|
1161
|
+
|
|
1162
|
+
<code class="ruby"> req.headers["Host"] = "0.0.0.0:#{port}" if port.present?</code>
|
|
1163
|
+
</li>
|
|
1164
|
+
|
|
1165
|
+
<li class="covered" data-hits="12" data-linenumber="37">
|
|
1166
|
+
<span class="hits">12</span>
|
|
1167
|
+
|
|
1168
|
+
<code class="ruby"> req.headers["Content-Type"] = "application/json"</code>
|
|
1169
|
+
</li>
|
|
1170
|
+
|
|
1171
|
+
<li class="covered" data-hits="12" data-linenumber="38">
|
|
1172
|
+
<span class="hits">12</span>
|
|
1173
|
+
|
|
1174
|
+
<code class="ruby"> req.body = params.to_json if params.present?</code>
|
|
1175
|
+
</li>
|
|
1176
|
+
|
|
1177
|
+
<li class="covered" data-hits="12" data-linenumber="39">
|
|
1178
|
+
<span class="hits">12</span>
|
|
1179
|
+
|
|
1180
|
+
<code class="ruby"> req.options.timeout = 120</code>
|
|
1181
|
+
</li>
|
|
1182
|
+
|
|
1183
|
+
<li class="never" data-hits="" data-linenumber="40">
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
<code class="ruby"> end</code>
|
|
1187
|
+
</li>
|
|
1188
|
+
|
|
1189
|
+
<li class="covered" data-hits="12" data-linenumber="41">
|
|
1190
|
+
<span class="hits">12</span>
|
|
1191
|
+
|
|
1192
|
+
<code class="ruby"> response.assert_success!</code>
|
|
1193
|
+
</li>
|
|
1194
|
+
|
|
1195
|
+
<li class="covered" data-hits="12" data-linenumber="42">
|
|
1196
|
+
<span class="hits">12</span>
|
|
1197
|
+
|
|
1198
|
+
<code class="ruby"> response = JSON.parse(response.body)</code>
|
|
1199
|
+
</li>
|
|
1200
|
+
|
|
1201
|
+
<li class="covered" data-hits="12" data-linenumber="43">
|
|
1202
|
+
<span class="hits">12</span>
|
|
1203
|
+
|
|
1204
|
+
<code class="ruby"> return response if response.is_a?(Array) # get balance call return an array</code>
|
|
1205
|
+
</li>
|
|
1206
|
+
|
|
1207
|
+
<li class="never" data-hits="" data-linenumber="44">
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
<code class="ruby"></code>
|
|
1211
|
+
</li>
|
|
1212
|
+
|
|
1213
|
+
<li class="covered" data-hits="20" data-linenumber="45">
|
|
1214
|
+
<span class="hits">20</span>
|
|
1215
|
+
|
|
1216
|
+
<code class="ruby"> response["error"].tap {|error| raise ResponseError.new(error["code"], error["message"]) if error }</code>
|
|
1217
|
+
</li>
|
|
1218
|
+
|
|
1219
|
+
<li class="covered" data-hits="10" data-linenumber="46">
|
|
1220
|
+
<span class="hits">10</span>
|
|
1221
|
+
|
|
1222
|
+
<code class="ruby"> response</code>
|
|
1223
|
+
</li>
|
|
1224
|
+
|
|
1225
|
+
<li class="never" data-hits="" data-linenumber="47">
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
<code class="ruby"> rescue Faraday::Error => e</code>
|
|
1229
|
+
</li>
|
|
1230
|
+
|
|
1231
|
+
<li class="missed" data-hits="0" data-linenumber="48">
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
<code class="ruby"> raise ConnectionError, e</code>
|
|
1235
|
+
</li>
|
|
1236
|
+
|
|
1237
|
+
<li class="never" data-hits="" data-linenumber="49">
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
<code class="ruby"> rescue StandardError => e</code>
|
|
1241
|
+
</li>
|
|
1242
|
+
|
|
1243
|
+
<li class="missed" data-hits="0" data-linenumber="50">
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
<code class="ruby"> raise Error, e</code>
|
|
1247
|
+
</li>
|
|
1248
|
+
|
|
1249
|
+
<li class="never" data-hits="" data-linenumber="51">
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
<code class="ruby"> end</code>
|
|
1253
|
+
</li>
|
|
1254
|
+
|
|
1255
|
+
<li class="never" data-hits="" data-linenumber="52">
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
<code class="ruby"></code>
|
|
1259
|
+
</li>
|
|
1260
|
+
|
|
1261
|
+
<li class="covered" data-hits="1" data-linenumber="53">
|
|
1262
|
+
<span class="hits">1</span>
|
|
1263
|
+
|
|
1264
|
+
<code class="ruby"> private</code>
|
|
1265
|
+
</li>
|
|
1266
|
+
|
|
1267
|
+
<li class="never" data-hits="" data-linenumber="54">
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
<code class="ruby"></code>
|
|
1271
|
+
</li>
|
|
1272
|
+
|
|
1273
|
+
<li class="covered" data-hits="1" data-linenumber="55">
|
|
1274
|
+
<span class="hits">1</span>
|
|
1275
|
+
|
|
1276
|
+
<code class="ruby"> def connection(rpc)</code>
|
|
1277
|
+
</li>
|
|
1278
|
+
|
|
1279
|
+
<li class="covered" data-hits="12" data-linenumber="56">
|
|
1280
|
+
<span class="hits">12</span>
|
|
1281
|
+
|
|
1282
|
+
<code class="ruby"> Faraday.new(rpc) do |f|</code>
|
|
1283
|
+
</li>
|
|
1284
|
+
|
|
1285
|
+
<li class="covered" data-hits="12" data-linenumber="57">
|
|
1286
|
+
<span class="hits">12</span>
|
|
1287
|
+
|
|
1288
|
+
<code class="ruby"> f.adapter :net_http_persistent, pool_size: 5, idle_timeout: @idle_timeout</code>
|
|
1289
|
+
</li>
|
|
1290
|
+
|
|
1291
|
+
<li class="never" data-hits="" data-linenumber="58">
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
<code class="ruby"> end</code>
|
|
1295
|
+
</li>
|
|
1296
|
+
|
|
1297
|
+
<li class="never" data-hits="" data-linenumber="59">
|
|
1298
|
+
|
|
1299
|
+
|
|
1300
|
+
<code class="ruby"> end</code>
|
|
1301
|
+
</li>
|
|
1302
|
+
|
|
1303
|
+
<li class="never" data-hits="" data-linenumber="60">
|
|
1304
|
+
|
|
1305
|
+
|
|
1306
|
+
<code class="ruby"> end</code>
|
|
1307
|
+
</li>
|
|
1308
|
+
|
|
1309
|
+
<li class="never" data-hits="" data-linenumber="61">
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
<code class="ruby"> end</code>
|
|
1313
|
+
</li>
|
|
1314
|
+
|
|
1315
|
+
<li class="never" data-hits="" data-linenumber="62">
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
<code class="ruby">end</code>
|
|
1319
|
+
</li>
|
|
1320
|
+
|
|
1321
|
+
</ol>
|
|
1322
|
+
</pre>
|
|
1323
|
+
</div>
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
<div class="source_table" id="50bb5d81f03e764fe5a3dd13d7905f6111e5137c">
|
|
1327
|
+
<div class="header">
|
|
1328
|
+
<h3>lib/peatio/eos/hooks.rb</h3>
|
|
1329
|
+
<h4><span class="red">75.0 %</span> covered</h4>
|
|
1330
|
+
<div>
|
|
1331
|
+
<b>20</b> relevant lines.
|
|
1332
|
+
<span class="green"><b>15</b> lines covered</span> and
|
|
1333
|
+
<span class="red"><b>5</b> lines missed.</span>
|
|
1334
|
+
</div>
|
|
1335
|
+
</div>
|
|
1336
|
+
|
|
1337
|
+
<pre>
|
|
1338
|
+
<ol>
|
|
1339
|
+
|
|
1340
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
1341
|
+
|
|
1342
|
+
|
|
1343
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
1344
|
+
</li>
|
|
1345
|
+
|
|
1346
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
<code class="ruby"></code>
|
|
1350
|
+
</li>
|
|
1351
|
+
|
|
1352
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1353
|
+
<span class="hits">1</span>
|
|
1354
|
+
|
|
1355
|
+
<code class="ruby">module Peatio</code>
|
|
1356
|
+
</li>
|
|
1357
|
+
|
|
1358
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1359
|
+
<span class="hits">1</span>
|
|
1360
|
+
|
|
1361
|
+
<code class="ruby"> module Eos</code>
|
|
1362
|
+
</li>
|
|
1363
|
+
|
|
1364
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1365
|
+
<span class="hits">1</span>
|
|
1366
|
+
|
|
1367
|
+
<code class="ruby"> module Hooks</code>
|
|
1368
|
+
</li>
|
|
1369
|
+
|
|
1370
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
|
1371
|
+
<span class="hits">1</span>
|
|
1372
|
+
|
|
1373
|
+
<code class="ruby"> BLOCKCHAIN_VERSION_REQUIREMENT = "~> 1.0.0"</code>
|
|
1374
|
+
</li>
|
|
1375
|
+
|
|
1376
|
+
<li class="covered" data-hits="1" data-linenumber="7">
|
|
1377
|
+
<span class="hits">1</span>
|
|
1378
|
+
|
|
1379
|
+
<code class="ruby"> WALLET_VERSION_REQUIREMENT = "~> 1.0.0"</code>
|
|
1380
|
+
</li>
|
|
1381
|
+
|
|
1382
|
+
<li class="never" data-hits="" data-linenumber="8">
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
<code class="ruby"></code>
|
|
1386
|
+
</li>
|
|
1387
|
+
|
|
1388
|
+
<li class="covered" data-hits="1" data-linenumber="9">
|
|
1389
|
+
<span class="hits">1</span>
|
|
1390
|
+
|
|
1391
|
+
<code class="ruby"> class << self</code>
|
|
1392
|
+
</li>
|
|
1393
|
+
|
|
1394
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
|
1395
|
+
<span class="hits">1</span>
|
|
1396
|
+
|
|
1397
|
+
<code class="ruby"> def check_compatibility</code>
|
|
1398
|
+
</li>
|
|
1399
|
+
|
|
1400
|
+
<li class="covered" data-hits="1" data-linenumber="11">
|
|
1401
|
+
<span class="hits">1</span>
|
|
1402
|
+
|
|
1403
|
+
<code class="ruby"> unless Gem::Requirement.new(BLOCKCHAIN_VERSION_REQUIREMENT)</code>
|
|
1404
|
+
</li>
|
|
1405
|
+
|
|
1406
|
+
<li class="never" data-hits="" data-linenumber="12">
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
<code class="ruby"> .satisfied_by?(Gem::Version.new(Peatio::Blockchain::VERSION))</code>
|
|
1410
|
+
</li>
|
|
1411
|
+
|
|
1412
|
+
<li class="never" data-hits="" data-linenumber="13">
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
<code class="ruby"> [</code>
|
|
1416
|
+
</li>
|
|
1417
|
+
|
|
1418
|
+
<li class="missed" data-hits="0" data-linenumber="14">
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
<code class="ruby"> "Eos blockchain version requiremnt was not suttisfied by Peatio::Blockchain.",</code>
|
|
1422
|
+
</li>
|
|
1423
|
+
|
|
1424
|
+
<li class="never" data-hits="" data-linenumber="15">
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
<code class="ruby"> "Eos blockchain requires #{BLOCKCHAIN_VERSION_REQUIREMENT}.",</code>
|
|
1428
|
+
</li>
|
|
1429
|
+
|
|
1430
|
+
<li class="never" data-hits="" data-linenumber="16">
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
<code class="ruby"> "Peatio::Blockchain version is #{Peatio::Blockchain::VERSION}"</code>
|
|
1434
|
+
</li>
|
|
1435
|
+
|
|
1436
|
+
<li class="missed" data-hits="0" data-linenumber="17">
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
<code class="ruby"> ].join('\n').tap {|s| Kernel.abort s }</code>
|
|
1440
|
+
</li>
|
|
1441
|
+
|
|
1442
|
+
<li class="never" data-hits="" data-linenumber="18">
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
<code class="ruby"> end</code>
|
|
1446
|
+
</li>
|
|
1447
|
+
|
|
1448
|
+
<li class="never" data-hits="" data-linenumber="19">
|
|
1449
|
+
|
|
1450
|
+
|
|
1451
|
+
<code class="ruby"></code>
|
|
1452
|
+
</li>
|
|
1453
|
+
|
|
1454
|
+
<li class="covered" data-hits="1" data-linenumber="20">
|
|
1455
|
+
<span class="hits">1</span>
|
|
1456
|
+
|
|
1457
|
+
<code class="ruby"> unless Gem::Requirement.new(WALLET_VERSION_REQUIREMENT)</code>
|
|
1458
|
+
</li>
|
|
1459
|
+
|
|
1460
|
+
<li class="never" data-hits="" data-linenumber="21">
|
|
1461
|
+
|
|
1462
|
+
|
|
1463
|
+
<code class="ruby"> .satisfied_by?(Gem::Version.new(Peatio::Wallet::VERSION))</code>
|
|
1464
|
+
</li>
|
|
1465
|
+
|
|
1466
|
+
<li class="never" data-hits="" data-linenumber="22">
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
<code class="ruby"> [</code>
|
|
1470
|
+
</li>
|
|
1471
|
+
|
|
1472
|
+
<li class="missed" data-hits="0" data-linenumber="23">
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
<code class="ruby"> "Eos wallet version requiremnt was not suttisfied by Peatio::Wallet.",</code>
|
|
1476
|
+
</li>
|
|
1477
|
+
|
|
1478
|
+
<li class="never" data-hits="" data-linenumber="24">
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
<code class="ruby"> "Eos wallet requires #{WALLET_VERSION_REQUIREMENT}.",</code>
|
|
1482
|
+
</li>
|
|
1483
|
+
|
|
1484
|
+
<li class="never" data-hits="" data-linenumber="25">
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
<code class="ruby"> "Peatio::Wallet version is #{Peatio::Wallet::VERSION}"</code>
|
|
1488
|
+
</li>
|
|
1489
|
+
|
|
1490
|
+
<li class="missed" data-hits="0" data-linenumber="26">
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
<code class="ruby"> ].join('\n').tap {|s| Kernel.abort s }</code>
|
|
1494
|
+
</li>
|
|
1495
|
+
|
|
1496
|
+
<li class="never" data-hits="" data-linenumber="27">
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
<code class="ruby"> end</code>
|
|
1500
|
+
</li>
|
|
1501
|
+
|
|
1502
|
+
<li class="never" data-hits="" data-linenumber="28">
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
<code class="ruby"> end</code>
|
|
1506
|
+
</li>
|
|
1507
|
+
|
|
1508
|
+
<li class="never" data-hits="" data-linenumber="29">
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
<code class="ruby"></code>
|
|
1512
|
+
</li>
|
|
1513
|
+
|
|
1514
|
+
<li class="covered" data-hits="1" data-linenumber="30">
|
|
1515
|
+
<span class="hits">1</span>
|
|
1516
|
+
|
|
1517
|
+
<code class="ruby"> def register</code>
|
|
1518
|
+
</li>
|
|
1519
|
+
|
|
1520
|
+
<li class="covered" data-hits="1" data-linenumber="31">
|
|
1521
|
+
<span class="hits">1</span>
|
|
1522
|
+
|
|
1523
|
+
<code class="ruby"> Peatio::Blockchain.registry[:eos] = Eos::Blockchain.new</code>
|
|
1524
|
+
</li>
|
|
1525
|
+
|
|
1526
|
+
<li class="covered" data-hits="1" data-linenumber="32">
|
|
1527
|
+
<span class="hits">1</span>
|
|
1528
|
+
|
|
1529
|
+
<code class="ruby"> Peatio::Wallet.registry[:eos] = Eos::Wallet.new</code>
|
|
1530
|
+
</li>
|
|
1531
|
+
|
|
1532
|
+
<li class="never" data-hits="" data-linenumber="33">
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
<code class="ruby"> end</code>
|
|
1536
|
+
</li>
|
|
1537
|
+
|
|
1538
|
+
<li class="never" data-hits="" data-linenumber="34">
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
<code class="ruby"> end</code>
|
|
1542
|
+
</li>
|
|
1543
|
+
|
|
1544
|
+
<li class="never" data-hits="" data-linenumber="35">
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
<code class="ruby"></code>
|
|
1548
|
+
</li>
|
|
1549
|
+
|
|
1550
|
+
<li class="covered" data-hits="1" data-linenumber="36">
|
|
1551
|
+
<span class="hits">1</span>
|
|
1552
|
+
|
|
1553
|
+
<code class="ruby"> if defined?(Rails::Railtie)</code>
|
|
1554
|
+
</li>
|
|
1555
|
+
|
|
1556
|
+
<li class="missed" data-hits="0" data-linenumber="37">
|
|
1557
|
+
|
|
1558
|
+
|
|
1559
|
+
<code class="ruby"> require "peatio/eos/railtie"</code>
|
|
1560
|
+
</li>
|
|
1561
|
+
|
|
1562
|
+
<li class="never" data-hits="" data-linenumber="38">
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
<code class="ruby"> else</code>
|
|
1566
|
+
</li>
|
|
1567
|
+
|
|
1568
|
+
<li class="covered" data-hits="1" data-linenumber="39">
|
|
1569
|
+
<span class="hits">1</span>
|
|
1570
|
+
|
|
1571
|
+
<code class="ruby"> check_compatibility</code>
|
|
1572
|
+
</li>
|
|
1573
|
+
|
|
1574
|
+
<li class="covered" data-hits="1" data-linenumber="40">
|
|
1575
|
+
<span class="hits">1</span>
|
|
1576
|
+
|
|
1577
|
+
<code class="ruby"> register</code>
|
|
1578
|
+
</li>
|
|
1579
|
+
|
|
1580
|
+
<li class="never" data-hits="" data-linenumber="41">
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
<code class="ruby"> end</code>
|
|
1584
|
+
</li>
|
|
1585
|
+
|
|
1586
|
+
<li class="never" data-hits="" data-linenumber="42">
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
<code class="ruby"> end</code>
|
|
1590
|
+
</li>
|
|
1591
|
+
|
|
1592
|
+
<li class="never" data-hits="" data-linenumber="43">
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
<code class="ruby"> end</code>
|
|
1596
|
+
</li>
|
|
1597
|
+
|
|
1598
|
+
<li class="never" data-hits="" data-linenumber="44">
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
<code class="ruby">end</code>
|
|
1602
|
+
</li>
|
|
1603
|
+
|
|
1604
|
+
</ol>
|
|
1605
|
+
</pre>
|
|
1606
|
+
</div>
|
|
1607
|
+
|
|
1608
|
+
|
|
1609
|
+
<div class="source_table" id="5b0c7ff844239bc2dc8be59c4a6ab3051e0951ec">
|
|
1610
|
+
<div class="header">
|
|
1611
|
+
<h3>lib/peatio/eos/transaction_serializer.rb</h3>
|
|
1612
|
+
<h4><span class="green">100.0 %</span> covered</h4>
|
|
1613
|
+
<div>
|
|
1614
|
+
<b>12</b> relevant lines.
|
|
1615
|
+
<span class="green"><b>12</b> lines covered</span> and
|
|
1616
|
+
<span class="red"><b>0</b> lines missed.</span>
|
|
1617
|
+
</div>
|
|
1618
|
+
</div>
|
|
1619
|
+
|
|
1620
|
+
<pre>
|
|
1621
|
+
<ol>
|
|
1622
|
+
|
|
1623
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
1627
|
+
</li>
|
|
1628
|
+
|
|
1629
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
<code class="ruby"></code>
|
|
1633
|
+
</li>
|
|
1634
|
+
|
|
1635
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1636
|
+
<span class="hits">1</span>
|
|
1637
|
+
|
|
1638
|
+
<code class="ruby">module Peatio</code>
|
|
1639
|
+
</li>
|
|
1640
|
+
|
|
1641
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1642
|
+
<span class="hits">1</span>
|
|
1643
|
+
|
|
1644
|
+
<code class="ruby"> module Eos</code>
|
|
1645
|
+
</li>
|
|
1646
|
+
|
|
1647
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1648
|
+
<span class="hits">1</span>
|
|
1649
|
+
|
|
1650
|
+
<code class="ruby"> class TransactionSerializer</code>
|
|
1651
|
+
</li>
|
|
1652
|
+
|
|
1653
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
|
1654
|
+
<span class="hits">1</span>
|
|
1655
|
+
|
|
1656
|
+
<code class="ruby"> class << self</code>
|
|
1657
|
+
</li>
|
|
1658
|
+
|
|
1659
|
+
<li class="covered" data-hits="1" data-linenumber="7">
|
|
1660
|
+
<span class="hits">1</span>
|
|
1661
|
+
|
|
1662
|
+
<code class="ruby"> def to_pack_json(address: "default", to_address: "default", amount: "default")</code>
|
|
1663
|
+
</li>
|
|
1664
|
+
|
|
1665
|
+
<li class="never" data-hits="" data-linenumber="8">
|
|
1666
|
+
|
|
1667
|
+
|
|
1668
|
+
<code class="ruby"> {</code>
|
|
1669
|
+
</li>
|
|
1670
|
+
|
|
1671
|
+
<li class="covered" data-hits="1" data-linenumber="9">
|
|
1672
|
+
<span class="hits">1</span>
|
|
1673
|
+
|
|
1674
|
+
<code class="ruby"> "code" => "eosio.token",</code>
|
|
1675
|
+
</li>
|
|
1676
|
+
|
|
1677
|
+
<li class="never" data-hits="" data-linenumber="10">
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
<code class="ruby"> "action" => "transfer",</code>
|
|
1681
|
+
</li>
|
|
1682
|
+
|
|
1683
|
+
<li class="never" data-hits="" data-linenumber="11">
|
|
1684
|
+
|
|
1685
|
+
|
|
1686
|
+
<code class="ruby"> "args" => {</code>
|
|
1687
|
+
</li>
|
|
1688
|
+
|
|
1689
|
+
<li class="never" data-hits="" data-linenumber="12">
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
<code class="ruby"> "from" => address,</code>
|
|
1693
|
+
</li>
|
|
1694
|
+
|
|
1695
|
+
<li class="never" data-hits="" data-linenumber="13">
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
<code class="ruby"> "to" => to_address,</code>
|
|
1699
|
+
</li>
|
|
1700
|
+
|
|
1701
|
+
<li class="never" data-hits="" data-linenumber="14">
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
<code class="ruby"> "quantity" => amount,</code>
|
|
1705
|
+
</li>
|
|
1706
|
+
|
|
1707
|
+
<li class="never" data-hits="" data-linenumber="15">
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
<code class="ruby"> "memo" => "transfer from peatio"</code>
|
|
1711
|
+
</li>
|
|
1712
|
+
|
|
1713
|
+
<li class="never" data-hits="" data-linenumber="16">
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
<code class="ruby"> }</code>
|
|
1717
|
+
</li>
|
|
1718
|
+
|
|
1719
|
+
<li class="never" data-hits="" data-linenumber="17">
|
|
1720
|
+
|
|
1721
|
+
|
|
1722
|
+
<code class="ruby"> }</code>
|
|
1723
|
+
</li>
|
|
1724
|
+
|
|
1725
|
+
<li class="never" data-hits="" data-linenumber="18">
|
|
1726
|
+
|
|
1727
|
+
|
|
1728
|
+
<code class="ruby"> end</code>
|
|
1729
|
+
</li>
|
|
1730
|
+
|
|
1731
|
+
<li class="never" data-hits="" data-linenumber="19">
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
<code class="ruby"> end</code>
|
|
1735
|
+
</li>
|
|
1736
|
+
|
|
1737
|
+
<li class="never" data-hits="" data-linenumber="20">
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
<code class="ruby"></code>
|
|
1741
|
+
</li>
|
|
1742
|
+
|
|
1743
|
+
<li class="covered" data-hits="1" data-linenumber="21">
|
|
1744
|
+
<span class="hits">1</span>
|
|
1745
|
+
|
|
1746
|
+
<code class="ruby"> class << self</code>
|
|
1747
|
+
</li>
|
|
1748
|
+
|
|
1749
|
+
<li class="covered" data-hits="1" data-linenumber="22">
|
|
1750
|
+
<span class="hits">1</span>
|
|
1751
|
+
|
|
1752
|
+
<code class="ruby"> def to_sign_json(ref_block_num: 2, block_prefix: 1, expiration: "default",</code>
|
|
1753
|
+
</li>
|
|
1754
|
+
|
|
1755
|
+
<li class="never" data-hits="" data-linenumber="23">
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
<code class="ruby"> address: "default", packed_data: "default", secret: "default", chain_id: "default")</code>
|
|
1759
|
+
</li>
|
|
1760
|
+
|
|
1761
|
+
<li class="never" data-hits="" data-linenumber="24">
|
|
1762
|
+
|
|
1763
|
+
|
|
1764
|
+
<code class="ruby"> [</code>
|
|
1765
|
+
</li>
|
|
1766
|
+
|
|
1767
|
+
<li class="never" data-hits="" data-linenumber="25">
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
<code class="ruby"> {</code>
|
|
1771
|
+
</li>
|
|
1772
|
+
|
|
1773
|
+
<li class="covered" data-hits="1" data-linenumber="26">
|
|
1774
|
+
<span class="hits">1</span>
|
|
1775
|
+
|
|
1776
|
+
<code class="ruby"> "ref_block_num" => ref_block_num,</code>
|
|
1777
|
+
</li>
|
|
1778
|
+
|
|
1779
|
+
<li class="never" data-hits="" data-linenumber="27">
|
|
1780
|
+
|
|
1781
|
+
|
|
1782
|
+
<code class="ruby"> "ref_block_prefix" => block_prefix,</code>
|
|
1783
|
+
</li>
|
|
1784
|
+
|
|
1785
|
+
<li class="never" data-hits="" data-linenumber="28">
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
<code class="ruby"> "max_cpu_usage_ms" => 0,</code>
|
|
1789
|
+
</li>
|
|
1790
|
+
|
|
1791
|
+
<li class="never" data-hits="" data-linenumber="29">
|
|
1792
|
+
|
|
1793
|
+
|
|
1794
|
+
<code class="ruby"> "max_net_usage_words" => 0,</code>
|
|
1795
|
+
</li>
|
|
1796
|
+
|
|
1797
|
+
<li class="never" data-hits="" data-linenumber="30">
|
|
1798
|
+
|
|
1799
|
+
|
|
1800
|
+
<code class="ruby"> "expiration" => expiration,</code>
|
|
1801
|
+
</li>
|
|
1802
|
+
|
|
1803
|
+
<li class="never" data-hits="" data-linenumber="31">
|
|
1804
|
+
|
|
1805
|
+
|
|
1806
|
+
<code class="ruby"> "region" => "0",</code>
|
|
1807
|
+
</li>
|
|
1808
|
+
|
|
1809
|
+
<li class="never" data-hits="" data-linenumber="32">
|
|
1810
|
+
|
|
1811
|
+
|
|
1812
|
+
<code class="ruby"> "actions" => [{</code>
|
|
1813
|
+
</li>
|
|
1814
|
+
|
|
1815
|
+
<li class="never" data-hits="" data-linenumber="33">
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
<code class="ruby"> "account" => "eosio.token",</code>
|
|
1819
|
+
</li>
|
|
1820
|
+
|
|
1821
|
+
<li class="never" data-hits="" data-linenumber="34">
|
|
1822
|
+
|
|
1823
|
+
|
|
1824
|
+
<code class="ruby"> "name" => "transfer",</code>
|
|
1825
|
+
</li>
|
|
1826
|
+
|
|
1827
|
+
<li class="never" data-hits="" data-linenumber="35">
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
<code class="ruby"> "authorization" => [{</code>
|
|
1831
|
+
</li>
|
|
1832
|
+
|
|
1833
|
+
<li class="never" data-hits="" data-linenumber="36">
|
|
1834
|
+
|
|
1835
|
+
|
|
1836
|
+
<code class="ruby"> "actor" => address,</code>
|
|
1837
|
+
</li>
|
|
1838
|
+
|
|
1839
|
+
<li class="never" data-hits="" data-linenumber="37">
|
|
1840
|
+
|
|
1841
|
+
|
|
1842
|
+
<code class="ruby"> "permission" => "active",</code>
|
|
1843
|
+
</li>
|
|
1844
|
+
|
|
1845
|
+
<li class="never" data-hits="" data-linenumber="38">
|
|
1846
|
+
|
|
1847
|
+
|
|
1848
|
+
<code class="ruby"> }],</code>
|
|
1849
|
+
</li>
|
|
1850
|
+
|
|
1851
|
+
<li class="never" data-hits="" data-linenumber="39">
|
|
1852
|
+
|
|
1853
|
+
|
|
1854
|
+
<code class="ruby"> "data" => packed_data,</code>
|
|
1855
|
+
</li>
|
|
1856
|
+
|
|
1857
|
+
<li class="never" data-hits="" data-linenumber="40">
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
<code class="ruby"> }],</code>
|
|
1861
|
+
</li>
|
|
1862
|
+
|
|
1863
|
+
<li class="never" data-hits="" data-linenumber="41">
|
|
1864
|
+
|
|
1865
|
+
|
|
1866
|
+
<code class="ruby"> :signatures => []</code>
|
|
1867
|
+
</li>
|
|
1868
|
+
|
|
1869
|
+
<li class="never" data-hits="" data-linenumber="42">
|
|
1870
|
+
|
|
1871
|
+
|
|
1872
|
+
<code class="ruby"> },</code>
|
|
1873
|
+
</li>
|
|
1874
|
+
|
|
1875
|
+
<li class="never" data-hits="" data-linenumber="43">
|
|
1876
|
+
|
|
1877
|
+
|
|
1878
|
+
<code class="ruby"> [secret],</code>
|
|
1879
|
+
</li>
|
|
1880
|
+
|
|
1881
|
+
<li class="never" data-hits="" data-linenumber="44">
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
<code class="ruby"> chain_id</code>
|
|
1885
|
+
</li>
|
|
1886
|
+
|
|
1887
|
+
<li class="never" data-hits="" data-linenumber="45">
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
<code class="ruby"> ]</code>
|
|
1891
|
+
</li>
|
|
1892
|
+
|
|
1893
|
+
<li class="never" data-hits="" data-linenumber="46">
|
|
1894
|
+
|
|
1895
|
+
|
|
1896
|
+
<code class="ruby"> end</code>
|
|
1897
|
+
</li>
|
|
1898
|
+
|
|
1899
|
+
<li class="never" data-hits="" data-linenumber="47">
|
|
1900
|
+
|
|
1901
|
+
|
|
1902
|
+
<code class="ruby"> end</code>
|
|
1903
|
+
</li>
|
|
1904
|
+
|
|
1905
|
+
<li class="never" data-hits="" data-linenumber="48">
|
|
1906
|
+
|
|
1907
|
+
|
|
1908
|
+
<code class="ruby"></code>
|
|
1909
|
+
</li>
|
|
1910
|
+
|
|
1911
|
+
<li class="covered" data-hits="1" data-linenumber="49">
|
|
1912
|
+
<span class="hits">1</span>
|
|
1913
|
+
|
|
1914
|
+
<code class="ruby"> class << self</code>
|
|
1915
|
+
</li>
|
|
1916
|
+
|
|
1917
|
+
<li class="covered" data-hits="1" data-linenumber="50">
|
|
1918
|
+
<span class="hits">1</span>
|
|
1919
|
+
|
|
1920
|
+
<code class="ruby"> def to_push_json(address: "default", packed_data: "default", expiration: "default",</code>
|
|
1921
|
+
</li>
|
|
1922
|
+
|
|
1923
|
+
<li class="never" data-hits="" data-linenumber="51">
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
<code class="ruby"> block_num: 2, block_prefix: 1, signature: "default")</code>
|
|
1927
|
+
</li>
|
|
1928
|
+
|
|
1929
|
+
<li class="never" data-hits="" data-linenumber="52">
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
<code class="ruby"> {</code>
|
|
1933
|
+
</li>
|
|
1934
|
+
|
|
1935
|
+
<li class="covered" data-hits="1" data-linenumber="53">
|
|
1936
|
+
<span class="hits">1</span>
|
|
1937
|
+
|
|
1938
|
+
<code class="ruby"> "compression" => "none",</code>
|
|
1939
|
+
</li>
|
|
1940
|
+
|
|
1941
|
+
<li class="never" data-hits="" data-linenumber="54">
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
<code class="ruby"> "transaction" => {</code>
|
|
1945
|
+
</li>
|
|
1946
|
+
|
|
1947
|
+
<li class="never" data-hits="" data-linenumber="55">
|
|
1948
|
+
|
|
1949
|
+
|
|
1950
|
+
<code class="ruby"> "actions" => [{</code>
|
|
1951
|
+
</li>
|
|
1952
|
+
|
|
1953
|
+
<li class="never" data-hits="" data-linenumber="56">
|
|
1954
|
+
|
|
1955
|
+
|
|
1956
|
+
<code class="ruby"> "account" => "eosio.token",</code>
|
|
1957
|
+
</li>
|
|
1958
|
+
|
|
1959
|
+
<li class="never" data-hits="" data-linenumber="57">
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
<code class="ruby"> "name" => "transfer",</code>
|
|
1963
|
+
</li>
|
|
1964
|
+
|
|
1965
|
+
<li class="never" data-hits="" data-linenumber="58">
|
|
1966
|
+
|
|
1967
|
+
|
|
1968
|
+
<code class="ruby"> "authorization" => [{</code>
|
|
1969
|
+
</li>
|
|
1970
|
+
|
|
1971
|
+
<li class="never" data-hits="" data-linenumber="59">
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
<code class="ruby"> "actor" => address,</code>
|
|
1975
|
+
</li>
|
|
1976
|
+
|
|
1977
|
+
<li class="never" data-hits="" data-linenumber="60">
|
|
1978
|
+
|
|
1979
|
+
|
|
1980
|
+
<code class="ruby"> "permission" => "active"</code>
|
|
1981
|
+
</li>
|
|
1982
|
+
|
|
1983
|
+
<li class="never" data-hits="" data-linenumber="61">
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
<code class="ruby"> }],</code>
|
|
1987
|
+
</li>
|
|
1988
|
+
|
|
1989
|
+
<li class="never" data-hits="" data-linenumber="62">
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
<code class="ruby"> "data" => packed_data,</code>
|
|
1993
|
+
</li>
|
|
1994
|
+
|
|
1995
|
+
<li class="never" data-hits="" data-linenumber="63">
|
|
1996
|
+
|
|
1997
|
+
|
|
1998
|
+
<code class="ruby"> }],</code>
|
|
1999
|
+
</li>
|
|
2000
|
+
|
|
2001
|
+
<li class="never" data-hits="" data-linenumber="64">
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
<code class="ruby"> "expiration" => expiration,</code>
|
|
2005
|
+
</li>
|
|
2006
|
+
|
|
2007
|
+
<li class="never" data-hits="" data-linenumber="65">
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
<code class="ruby"> "max_cpu_usage_ms" => 0,</code>
|
|
2011
|
+
</li>
|
|
2012
|
+
|
|
2013
|
+
<li class="never" data-hits="" data-linenumber="66">
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
<code class="ruby"> "max_net_usage_words" => 0,</code>
|
|
2017
|
+
</li>
|
|
2018
|
+
|
|
2019
|
+
<li class="never" data-hits="" data-linenumber="67">
|
|
2020
|
+
|
|
2021
|
+
|
|
2022
|
+
<code class="ruby"> "delay_sec" => 0,</code>
|
|
2023
|
+
</li>
|
|
2024
|
+
|
|
2025
|
+
<li class="never" data-hits="" data-linenumber="68">
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
<code class="ruby"> "ref_block_num" => block_num,</code>
|
|
2029
|
+
</li>
|
|
2030
|
+
|
|
2031
|
+
<li class="never" data-hits="" data-linenumber="69">
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
<code class="ruby"> "ref_block_prefix" => block_prefix,</code>
|
|
2035
|
+
</li>
|
|
2036
|
+
|
|
2037
|
+
<li class="never" data-hits="" data-linenumber="70">
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
<code class="ruby"> "context_free_actions" => [],</code>
|
|
2041
|
+
</li>
|
|
2042
|
+
|
|
2043
|
+
<li class="never" data-hits="" data-linenumber="71">
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
<code class="ruby"> "context_free_data" => [],</code>
|
|
2047
|
+
</li>
|
|
2048
|
+
|
|
2049
|
+
<li class="never" data-hits="" data-linenumber="72">
|
|
2050
|
+
|
|
2051
|
+
|
|
2052
|
+
<code class="ruby"> "signatures" => signature,</code>
|
|
2053
|
+
</li>
|
|
2054
|
+
|
|
2055
|
+
<li class="never" data-hits="" data-linenumber="73">
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
<code class="ruby"> "transaction_extensions" => []</code>
|
|
2059
|
+
</li>
|
|
2060
|
+
|
|
2061
|
+
<li class="never" data-hits="" data-linenumber="74">
|
|
2062
|
+
|
|
2063
|
+
|
|
2064
|
+
<code class="ruby"> },</code>
|
|
2065
|
+
</li>
|
|
2066
|
+
|
|
2067
|
+
<li class="never" data-hits="" data-linenumber="75">
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
<code class="ruby"> "signatures" => signature</code>
|
|
2071
|
+
</li>
|
|
2072
|
+
|
|
2073
|
+
<li class="never" data-hits="" data-linenumber="76">
|
|
2074
|
+
|
|
2075
|
+
|
|
2076
|
+
<code class="ruby"> }</code>
|
|
2077
|
+
</li>
|
|
2078
|
+
|
|
2079
|
+
<li class="never" data-hits="" data-linenumber="77">
|
|
2080
|
+
|
|
2081
|
+
|
|
2082
|
+
<code class="ruby"> end</code>
|
|
2083
|
+
</li>
|
|
2084
|
+
|
|
2085
|
+
<li class="never" data-hits="" data-linenumber="78">
|
|
2086
|
+
|
|
2087
|
+
|
|
2088
|
+
<code class="ruby"> end</code>
|
|
2089
|
+
</li>
|
|
2090
|
+
|
|
2091
|
+
<li class="never" data-hits="" data-linenumber="79">
|
|
2092
|
+
|
|
2093
|
+
|
|
2094
|
+
<code class="ruby"> end</code>
|
|
2095
|
+
</li>
|
|
2096
|
+
|
|
2097
|
+
<li class="never" data-hits="" data-linenumber="80">
|
|
2098
|
+
|
|
2099
|
+
|
|
2100
|
+
<code class="ruby"> end</code>
|
|
2101
|
+
</li>
|
|
2102
|
+
|
|
2103
|
+
<li class="never" data-hits="" data-linenumber="81">
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
<code class="ruby">end</code>
|
|
2107
|
+
</li>
|
|
2108
|
+
|
|
2109
|
+
</ol>
|
|
2110
|
+
</pre>
|
|
2111
|
+
</div>
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
<div class="source_table" id="edcfdc697d0a97a124e7ca0ba98b825ef89ae508">
|
|
2115
|
+
<div class="header">
|
|
2116
|
+
<h3>lib/peatio/eos/wallet.rb</h3>
|
|
2117
|
+
<h4><span class="green">94.12 %</span> covered</h4>
|
|
2118
|
+
<div>
|
|
2119
|
+
<b>51</b> relevant lines.
|
|
2120
|
+
<span class="green"><b>48</b> lines covered</span> and
|
|
2121
|
+
<span class="red"><b>3</b> lines missed.</span>
|
|
2122
|
+
</div>
|
|
2123
|
+
</div>
|
|
2124
|
+
|
|
2125
|
+
<pre>
|
|
2126
|
+
<ol>
|
|
2127
|
+
|
|
2128
|
+
<li class="never" data-hits="" data-linenumber="1">
|
|
2129
|
+
|
|
2130
|
+
|
|
2131
|
+
<code class="ruby"># frozen_string_literal: true</code>
|
|
2132
|
+
</li>
|
|
2133
|
+
|
|
2134
|
+
<li class="never" data-hits="" data-linenumber="2">
|
|
2135
|
+
|
|
2136
|
+
|
|
2137
|
+
<code class="ruby"></code>
|
|
2138
|
+
</li>
|
|
2139
|
+
|
|
2140
|
+
<li class="covered" data-hits="1" data-linenumber="3">
|
|
2141
|
+
<span class="hits">1</span>
|
|
2142
|
+
|
|
2143
|
+
<code class="ruby">module Peatio</code>
|
|
2144
|
+
</li>
|
|
2145
|
+
|
|
2146
|
+
<li class="covered" data-hits="1" data-linenumber="4">
|
|
2147
|
+
<span class="hits">1</span>
|
|
2148
|
+
|
|
2149
|
+
<code class="ruby"> module Eos</code>
|
|
2150
|
+
</li>
|
|
2151
|
+
|
|
2152
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
|
2153
|
+
<span class="hits">1</span>
|
|
2154
|
+
|
|
2155
|
+
<code class="ruby"> class Wallet < Peatio::Wallet::Abstract</code>
|
|
2156
|
+
</li>
|
|
2157
|
+
|
|
2158
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
|
2159
|
+
<span class="hits">1</span>
|
|
2160
|
+
|
|
2161
|
+
<code class="ruby"> PRECISION = 4</code>
|
|
2162
|
+
</li>
|
|
2163
|
+
|
|
2164
|
+
<li class="never" data-hits="" data-linenumber="7">
|
|
2165
|
+
|
|
2166
|
+
|
|
2167
|
+
<code class="ruby"></code>
|
|
2168
|
+
</li>
|
|
2169
|
+
|
|
2170
|
+
<li class="covered" data-hits="1" data-linenumber="8">
|
|
2171
|
+
<span class="hits">1</span>
|
|
2172
|
+
|
|
2173
|
+
<code class="ruby"> ADDRESS_LENGTH = 12</code>
|
|
2174
|
+
</li>
|
|
2175
|
+
|
|
2176
|
+
<li class="never" data-hits="" data-linenumber="9">
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
<code class="ruby"></code>
|
|
2180
|
+
</li>
|
|
2181
|
+
|
|
2182
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
|
2183
|
+
<span class="hits">1</span>
|
|
2184
|
+
|
|
2185
|
+
<code class="ruby"> TOKEN_STANDARD = "eosio.token"</code>
|
|
2186
|
+
</li>
|
|
2187
|
+
|
|
2188
|
+
<li class="never" data-hits="" data-linenumber="11">
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
<code class="ruby"></code>
|
|
2192
|
+
</li>
|
|
2193
|
+
|
|
2194
|
+
<li class="covered" data-hits="1" data-linenumber="12">
|
|
2195
|
+
<span class="hits">1</span>
|
|
2196
|
+
|
|
2197
|
+
<code class="ruby"> class MissingTokenNameError < Peatio::Blockchain::Error; end</code>
|
|
2198
|
+
</li>
|
|
2199
|
+
|
|
2200
|
+
<li class="never" data-hits="" data-linenumber="13">
|
|
2201
|
+
|
|
2202
|
+
|
|
2203
|
+
<code class="ruby"></code>
|
|
2204
|
+
</li>
|
|
2205
|
+
|
|
2206
|
+
<li class="covered" data-hits="1" data-linenumber="14">
|
|
2207
|
+
<span class="hits">1</span>
|
|
2208
|
+
|
|
2209
|
+
<code class="ruby"> def initialize(settings={})</code>
|
|
2210
|
+
</li>
|
|
2211
|
+
|
|
2212
|
+
<li class="covered" data-hits="8" data-linenumber="15">
|
|
2213
|
+
<span class="hits">8</span>
|
|
2214
|
+
|
|
2215
|
+
<code class="ruby"> @settings = settings</code>
|
|
2216
|
+
</li>
|
|
2217
|
+
|
|
2218
|
+
<li class="never" data-hits="" data-linenumber="16">
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
<code class="ruby"> end</code>
|
|
2222
|
+
</li>
|
|
2223
|
+
|
|
2224
|
+
<li class="never" data-hits="" data-linenumber="17">
|
|
2225
|
+
|
|
2226
|
+
|
|
2227
|
+
<code class="ruby"></code>
|
|
2228
|
+
</li>
|
|
2229
|
+
|
|
2230
|
+
<li class="covered" data-hits="1" data-linenumber="18">
|
|
2231
|
+
<span class="hits">1</span>
|
|
2232
|
+
|
|
2233
|
+
<code class="ruby"> def configure(settings={})</code>
|
|
2234
|
+
</li>
|
|
2235
|
+
|
|
2236
|
+
<li class="covered" data-hits="10" data-linenumber="19">
|
|
2237
|
+
<span class="hits">10</span>
|
|
2238
|
+
|
|
2239
|
+
<code class="ruby"> @settings.merge!(settings.slice(*SUPPORTED_SETTINGS))</code>
|
|
2240
|
+
</li>
|
|
2241
|
+
|
|
2242
|
+
<li class="never" data-hits="" data-linenumber="20">
|
|
2243
|
+
|
|
2244
|
+
|
|
2245
|
+
<code class="ruby"></code>
|
|
2246
|
+
</li>
|
|
2247
|
+
|
|
2248
|
+
<li class="covered" data-hits="10" data-linenumber="21">
|
|
2249
|
+
<span class="hits">10</span>
|
|
2250
|
+
|
|
2251
|
+
<code class="ruby"> @wallet = @settings.fetch(:wallet) do</code>
|
|
2252
|
+
</li>
|
|
2253
|
+
|
|
2254
|
+
<li class="covered" data-hits="1" data-linenumber="22">
|
|
2255
|
+
<span class="hits">1</span>
|
|
2256
|
+
|
|
2257
|
+
<code class="ruby"> raise Peatio::Wallet::MissingSettingError, :wallet</code>
|
|
2258
|
+
</li>
|
|
2259
|
+
|
|
2260
|
+
<li class="never" data-hits="" data-linenumber="23">
|
|
2261
|
+
|
|
2262
|
+
|
|
2263
|
+
<code class="ruby"> end.slice(:uri, :address, :secret)</code>
|
|
2264
|
+
</li>
|
|
2265
|
+
|
|
2266
|
+
<li class="never" data-hits="" data-linenumber="24">
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
<code class="ruby"></code>
|
|
2270
|
+
</li>
|
|
2271
|
+
|
|
2272
|
+
<li class="covered" data-hits="9" data-linenumber="25">
|
|
2273
|
+
<span class="hits">9</span>
|
|
2274
|
+
|
|
2275
|
+
<code class="ruby"> @currency = @settings.fetch(:currency) do</code>
|
|
2276
|
+
</li>
|
|
2277
|
+
|
|
2278
|
+
<li class="covered" data-hits="1" data-linenumber="26">
|
|
2279
|
+
<span class="hits">1</span>
|
|
2280
|
+
|
|
2281
|
+
<code class="ruby"> raise Peatio::Wallet::MissingSettingError, :wallet</code>
|
|
2282
|
+
</li>
|
|
2283
|
+
|
|
2284
|
+
<li class="never" data-hits="" data-linenumber="27">
|
|
2285
|
+
|
|
2286
|
+
|
|
2287
|
+
<code class="ruby"> end.slice(:id, :base_factor, :options)</code>
|
|
2288
|
+
</li>
|
|
2289
|
+
|
|
2290
|
+
<li class="covered" data-hits="8" data-linenumber="28">
|
|
2291
|
+
<span class="hits">8</span>
|
|
2292
|
+
|
|
2293
|
+
<code class="ruby"> raise MissingTokenNameError if @currency.dig(:options, :eos_token_name).blank?</code>
|
|
2294
|
+
</li>
|
|
2295
|
+
|
|
2296
|
+
<li class="never" data-hits="" data-linenumber="29">
|
|
2297
|
+
|
|
2298
|
+
|
|
2299
|
+
<code class="ruby"> end</code>
|
|
2300
|
+
</li>
|
|
2301
|
+
|
|
2302
|
+
<li class="never" data-hits="" data-linenumber="30">
|
|
2303
|
+
|
|
2304
|
+
|
|
2305
|
+
<code class="ruby"></code>
|
|
2306
|
+
</li>
|
|
2307
|
+
|
|
2308
|
+
<li class="covered" data-hits="1" data-linenumber="31">
|
|
2309
|
+
<span class="hits">1</span>
|
|
2310
|
+
|
|
2311
|
+
<code class="ruby"> def create_address!(options={})</code>
|
|
2312
|
+
</li>
|
|
2313
|
+
|
|
2314
|
+
<li class="never" data-hits="" data-linenumber="32">
|
|
2315
|
+
|
|
2316
|
+
|
|
2317
|
+
<code class="ruby"> # For EOS and all others eosio.token deposits we use one EOS account which is defined like deposit wallet address in peatio.</code>
|
|
2318
|
+
</li>
|
|
2319
|
+
|
|
2320
|
+
<li class="never" data-hits="" data-linenumber="33">
|
|
2321
|
+
|
|
2322
|
+
|
|
2323
|
+
<code class="ruby"> # In Peatio EOS plugin we will define owner of deposit by user unige identifier (UID)</code>
|
|
2324
|
+
</li>
|
|
2325
|
+
|
|
2326
|
+
<li class="covered" data-hits="1" data-linenumber="34">
|
|
2327
|
+
<span class="hits">1</span>
|
|
2328
|
+
|
|
2329
|
+
<code class="ruby"> name = "#{@wallet.fetch(:address)}?memo=#{options.fetch(:uid)}"</code>
|
|
2330
|
+
</li>
|
|
2331
|
+
|
|
2332
|
+
<li class="covered" data-hits="1" data-linenumber="35">
|
|
2333
|
+
<span class="hits">1</span>
|
|
2334
|
+
|
|
2335
|
+
<code class="ruby"> {address: name, secret: @wallet.fetch(:secret)}</code>
|
|
2336
|
+
</li>
|
|
2337
|
+
|
|
2338
|
+
<li class="never" data-hits="" data-linenumber="36">
|
|
2339
|
+
|
|
2340
|
+
|
|
2341
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
2342
|
+
</li>
|
|
2343
|
+
|
|
2344
|
+
<li class="missed" data-hits="0" data-linenumber="37">
|
|
2345
|
+
|
|
2346
|
+
|
|
2347
|
+
<code class="ruby"> raise Peatio::Wallet::ClientError, e</code>
|
|
2348
|
+
</li>
|
|
2349
|
+
|
|
2350
|
+
<li class="never" data-hits="" data-linenumber="38">
|
|
2351
|
+
|
|
2352
|
+
|
|
2353
|
+
<code class="ruby"> end</code>
|
|
2354
|
+
</li>
|
|
2355
|
+
|
|
2356
|
+
<li class="never" data-hits="" data-linenumber="39">
|
|
2357
|
+
|
|
2358
|
+
|
|
2359
|
+
<code class="ruby"></code>
|
|
2360
|
+
</li>
|
|
2361
|
+
|
|
2362
|
+
<li class="covered" data-hits="1" data-linenumber="40">
|
|
2363
|
+
<span class="hits">1</span>
|
|
2364
|
+
|
|
2365
|
+
<code class="ruby"> def create_transaction!(transaction, _options={})</code>
|
|
2366
|
+
</li>
|
|
2367
|
+
|
|
2368
|
+
<li class="covered" data-hits="1" data-linenumber="41">
|
|
2369
|
+
<span class="hits">1</span>
|
|
2370
|
+
|
|
2371
|
+
<code class="ruby"> tx = transaction</code>
|
|
2372
|
+
</li>
|
|
2373
|
+
|
|
2374
|
+
<li class="covered" data-hits="1" data-linenumber="42">
|
|
2375
|
+
<span class="hits">1</span>
|
|
2376
|
+
|
|
2377
|
+
<code class="ruby"> amount = normalize_amount(tx.amount)</code>
|
|
2378
|
+
</li>
|
|
2379
|
+
|
|
2380
|
+
<li class="covered" data-hits="1" data-linenumber="43">
|
|
2381
|
+
<span class="hits">1</span>
|
|
2382
|
+
|
|
2383
|
+
<code class="ruby"> address = normalize_address(@wallet.fetch(:address))</code>
|
|
2384
|
+
</li>
|
|
2385
|
+
|
|
2386
|
+
<li class="never" data-hits="" data-linenumber="44">
|
|
2387
|
+
|
|
2388
|
+
|
|
2389
|
+
<code class="ruby"> # Pack main transaction info into hash</code>
|
|
2390
|
+
</li>
|
|
2391
|
+
|
|
2392
|
+
<li class="covered" data-hits="1" data-linenumber="45">
|
|
2393
|
+
<span class="hits">1</span>
|
|
2394
|
+
|
|
2395
|
+
<code class="ruby"> packed_data = client.json_rpc("/v1/chain/abi_json_to_bin", Peatio::Eos::TransactionSerializer.to_pack_json(address: address,</code>
|
|
2396
|
+
</li>
|
|
2397
|
+
|
|
2398
|
+
<li class="never" data-hits="" data-linenumber="46">
|
|
2399
|
+
|
|
2400
|
+
|
|
2401
|
+
<code class="ruby"> to_address: tx.to_address, amount: amount)).fetch("binargs")</code>
|
|
2402
|
+
</li>
|
|
2403
|
+
|
|
2404
|
+
<li class="covered" data-hits="1" data-linenumber="47">
|
|
2405
|
+
<span class="hits">1</span>
|
|
2406
|
+
|
|
2407
|
+
<code class="ruby"> info = client.json_rpc("/v1/chain/get_info")</code>
|
|
2408
|
+
</li>
|
|
2409
|
+
|
|
2410
|
+
<li class="never" data-hits="" data-linenumber="48">
|
|
2411
|
+
|
|
2412
|
+
|
|
2413
|
+
<code class="ruby"> # Get block info</code>
|
|
2414
|
+
</li>
|
|
2415
|
+
|
|
2416
|
+
<li class="covered" data-hits="1" data-linenumber="49">
|
|
2417
|
+
<span class="hits">1</span>
|
|
2418
|
+
|
|
2419
|
+
<code class="ruby"> block = client.json_rpc("/v1/chain/get_block", "block_num_or_id" => info.fetch("last_irreversible_block_num"))</code>
|
|
2420
|
+
</li>
|
|
2421
|
+
|
|
2422
|
+
<li class="covered" data-hits="1" data-linenumber="50">
|
|
2423
|
+
<span class="hits">1</span>
|
|
2424
|
+
|
|
2425
|
+
<code class="ruby"> ref_block_num = info.fetch("last_irreversible_block_num") & 0xFFFF</code>
|
|
2426
|
+
</li>
|
|
2427
|
+
|
|
2428
|
+
<li class="never" data-hits="" data-linenumber="51">
|
|
2429
|
+
|
|
2430
|
+
|
|
2431
|
+
<code class="ruby"> # Get transaction expiration</code>
|
|
2432
|
+
</li>
|
|
2433
|
+
|
|
2434
|
+
<li class="covered" data-hits="1" data-linenumber="52">
|
|
2435
|
+
<span class="hits">1</span>
|
|
2436
|
+
|
|
2437
|
+
<code class="ruby"> expiration = normalize_expiration(block.fetch("timestamp"))</code>
|
|
2438
|
+
</li>
|
|
2439
|
+
|
|
2440
|
+
<li class="never" data-hits="" data-linenumber="53">
|
|
2441
|
+
|
|
2442
|
+
|
|
2443
|
+
<code class="ruby"> # Sign transaction before push</code>
|
|
2444
|
+
</li>
|
|
2445
|
+
|
|
2446
|
+
<li class="covered" data-hits="1" data-linenumber="54">
|
|
2447
|
+
<span class="hits">1</span>
|
|
2448
|
+
|
|
2449
|
+
<code class="ruby"> signed = client.json_rpc("/v1/wallet/sign_transaction", Peatio::Eos::TransactionSerializer.to_sign_json(ref_block_num: ref_block_num,</code>
|
|
2450
|
+
</li>
|
|
2451
|
+
|
|
2452
|
+
<li class="never" data-hits="" data-linenumber="55">
|
|
2453
|
+
|
|
2454
|
+
|
|
2455
|
+
<code class="ruby"> block_prefix: block.fetch("ref_block_prefix"), expiration: expiration, address: address,</code>
|
|
2456
|
+
</li>
|
|
2457
|
+
|
|
2458
|
+
<li class="never" data-hits="" data-linenumber="56">
|
|
2459
|
+
|
|
2460
|
+
|
|
2461
|
+
<code class="ruby"> packed_data: packed_data, secret: @wallet.fetch(:secret), chain_id: info.fetch("chain_id")), 8900)</code>
|
|
2462
|
+
</li>
|
|
2463
|
+
|
|
2464
|
+
<li class="covered" data-hits="1" data-linenumber="57">
|
|
2465
|
+
<span class="hits">1</span>
|
|
2466
|
+
|
|
2467
|
+
<code class="ruby"> txid = client.json_rpc("/v1/chain/push_transaction", Peatio::Eos::TransactionSerializer.to_push_json(address: address,</code>
|
|
2468
|
+
</li>
|
|
2469
|
+
|
|
2470
|
+
<li class="never" data-hits="" data-linenumber="58">
|
|
2471
|
+
|
|
2472
|
+
|
|
2473
|
+
<code class="ruby"> packed_data: packed_data, expiration: signed.fetch("expiration"), block_num: signed.fetch("ref_block_num"),</code>
|
|
2474
|
+
</li>
|
|
2475
|
+
|
|
2476
|
+
<li class="never" data-hits="" data-linenumber="59">
|
|
2477
|
+
|
|
2478
|
+
|
|
2479
|
+
<code class="ruby"> block_prefix: signed.fetch("ref_block_prefix"), signature: signed.fetch("signatures"))).fetch("transaction_id")</code>
|
|
2480
|
+
</li>
|
|
2481
|
+
|
|
2482
|
+
<li class="covered" data-hits="1" data-linenumber="60">
|
|
2483
|
+
<span class="hits">1</span>
|
|
2484
|
+
|
|
2485
|
+
<code class="ruby"> tx.hash = txid</code>
|
|
2486
|
+
</li>
|
|
2487
|
+
|
|
2488
|
+
<li class="covered" data-hits="1" data-linenumber="61">
|
|
2489
|
+
<span class="hits">1</span>
|
|
2490
|
+
|
|
2491
|
+
<code class="ruby"> tx</code>
|
|
2492
|
+
</li>
|
|
2493
|
+
|
|
2494
|
+
<li class="never" data-hits="" data-linenumber="62">
|
|
2495
|
+
|
|
2496
|
+
|
|
2497
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
2498
|
+
</li>
|
|
2499
|
+
|
|
2500
|
+
<li class="missed" data-hits="0" data-linenumber="63">
|
|
2501
|
+
|
|
2502
|
+
|
|
2503
|
+
<code class="ruby"> raise Peatio::Wallet::ClientError, e</code>
|
|
2504
|
+
</li>
|
|
2505
|
+
|
|
2506
|
+
<li class="never" data-hits="" data-linenumber="64">
|
|
2507
|
+
|
|
2508
|
+
|
|
2509
|
+
<code class="ruby"> end</code>
|
|
2510
|
+
</li>
|
|
2511
|
+
|
|
2512
|
+
<li class="never" data-hits="" data-linenumber="65">
|
|
2513
|
+
|
|
2514
|
+
|
|
2515
|
+
<code class="ruby"></code>
|
|
2516
|
+
</li>
|
|
2517
|
+
|
|
2518
|
+
<li class="covered" data-hits="1" data-linenumber="66">
|
|
2519
|
+
<span class="hits">1</span>
|
|
2520
|
+
|
|
2521
|
+
<code class="ruby"> def load_balance!</code>
|
|
2522
|
+
</li>
|
|
2523
|
+
|
|
2524
|
+
<li class="covered" data-hits="1" data-linenumber="67">
|
|
2525
|
+
<span class="hits">1</span>
|
|
2526
|
+
|
|
2527
|
+
<code class="ruby"> balance = client.json_rpc("/v1/chain/get_currency_balance",</code>
|
|
2528
|
+
</li>
|
|
2529
|
+
|
|
2530
|
+
<li class="never" data-hits="" data-linenumber="68">
|
|
2531
|
+
|
|
2532
|
+
|
|
2533
|
+
<code class="ruby"> "account" => @wallet.fetch(:address), "code" => TOKEN_STANDARD)</code>
|
|
2534
|
+
</li>
|
|
2535
|
+
|
|
2536
|
+
<li class="covered" data-hits="1" data-linenumber="69">
|
|
2537
|
+
<span class="hits">1</span>
|
|
2538
|
+
|
|
2539
|
+
<code class="ruby"> .find {|b| b.split[1] == @currency.dig(:options, :eos_token_name) }</code>
|
|
2540
|
+
</li>
|
|
2541
|
+
|
|
2542
|
+
<li class="covered" data-hits="1" data-linenumber="70">
|
|
2543
|
+
<span class="hits">1</span>
|
|
2544
|
+
|
|
2545
|
+
<code class="ruby"> balance.blank? ? 0 : normalize_balance(balance)</code>
|
|
2546
|
+
</li>
|
|
2547
|
+
|
|
2548
|
+
<li class="never" data-hits="" data-linenumber="71">
|
|
2549
|
+
|
|
2550
|
+
|
|
2551
|
+
<code class="ruby"> rescue Peatio::Eos::Client::Error => e</code>
|
|
2552
|
+
</li>
|
|
2553
|
+
|
|
2554
|
+
<li class="missed" data-hits="0" data-linenumber="72">
|
|
2555
|
+
|
|
2556
|
+
|
|
2557
|
+
<code class="ruby"> raise Peatio::Wallet::ClientError, e</code>
|
|
2558
|
+
</li>
|
|
2559
|
+
|
|
2560
|
+
<li class="never" data-hits="" data-linenumber="73">
|
|
2561
|
+
|
|
2562
|
+
|
|
2563
|
+
<code class="ruby"> end</code>
|
|
2564
|
+
</li>
|
|
2565
|
+
|
|
2566
|
+
<li class="never" data-hits="" data-linenumber="74">
|
|
2567
|
+
|
|
2568
|
+
|
|
2569
|
+
<code class="ruby"></code>
|
|
2570
|
+
</li>
|
|
2571
|
+
|
|
2572
|
+
<li class="covered" data-hits="1" data-linenumber="75">
|
|
2573
|
+
<span class="hits">1</span>
|
|
2574
|
+
|
|
2575
|
+
<code class="ruby"> private</code>
|
|
2576
|
+
</li>
|
|
2577
|
+
|
|
2578
|
+
<li class="never" data-hits="" data-linenumber="76">
|
|
2579
|
+
|
|
2580
|
+
|
|
2581
|
+
<code class="ruby"></code>
|
|
2582
|
+
</li>
|
|
2583
|
+
|
|
2584
|
+
<li class="covered" data-hits="1" data-linenumber="77">
|
|
2585
|
+
<span class="hits">1</span>
|
|
2586
|
+
|
|
2587
|
+
<code class="ruby"> def normalize_address(address)</code>
|
|
2588
|
+
</li>
|
|
2589
|
+
|
|
2590
|
+
<li class="covered" data-hits="1" data-linenumber="78">
|
|
2591
|
+
<span class="hits">1</span>
|
|
2592
|
+
|
|
2593
|
+
<code class="ruby"> address&.split('?memo=').first</code>
|
|
2594
|
+
</li>
|
|
2595
|
+
|
|
2596
|
+
<li class="never" data-hits="" data-linenumber="79">
|
|
2597
|
+
|
|
2598
|
+
|
|
2599
|
+
<code class="ruby"> end</code>
|
|
2600
|
+
</li>
|
|
2601
|
+
|
|
2602
|
+
<li class="never" data-hits="" data-linenumber="80">
|
|
2603
|
+
|
|
2604
|
+
|
|
2605
|
+
<code class="ruby"></code>
|
|
2606
|
+
</li>
|
|
2607
|
+
|
|
2608
|
+
<li class="covered" data-hits="1" data-linenumber="81">
|
|
2609
|
+
<span class="hits">1</span>
|
|
2610
|
+
|
|
2611
|
+
<code class="ruby"> def normalize_amount(amount)</code>
|
|
2612
|
+
</li>
|
|
2613
|
+
|
|
2614
|
+
<li class="covered" data-hits="1" data-linenumber="82">
|
|
2615
|
+
<span class="hits">1</span>
|
|
2616
|
+
|
|
2617
|
+
<code class="ruby"> "%.#{PRECISION}f" % amount + " #{@currency.dig(:options, :eos_token_name)}"</code>
|
|
2618
|
+
</li>
|
|
2619
|
+
|
|
2620
|
+
<li class="never" data-hits="" data-linenumber="83">
|
|
2621
|
+
|
|
2622
|
+
|
|
2623
|
+
<code class="ruby"> end</code>
|
|
2624
|
+
</li>
|
|
2625
|
+
|
|
2626
|
+
<li class="never" data-hits="" data-linenumber="84">
|
|
2627
|
+
|
|
2628
|
+
|
|
2629
|
+
<code class="ruby"></code>
|
|
2630
|
+
</li>
|
|
2631
|
+
|
|
2632
|
+
<li class="covered" data-hits="1" data-linenumber="85">
|
|
2633
|
+
<span class="hits">1</span>
|
|
2634
|
+
|
|
2635
|
+
<code class="ruby"> def normalize_balance(balance)</code>
|
|
2636
|
+
</li>
|
|
2637
|
+
|
|
2638
|
+
<li class="covered" data-hits="1" data-linenumber="86">
|
|
2639
|
+
<span class="hits">1</span>
|
|
2640
|
+
|
|
2641
|
+
<code class="ruby"> balance.chomp(@currency.dig(:options, :eos_token_name)).to_d</code>
|
|
2642
|
+
</li>
|
|
2643
|
+
|
|
2644
|
+
<li class="never" data-hits="" data-linenumber="87">
|
|
2645
|
+
|
|
2646
|
+
|
|
2647
|
+
<code class="ruby"> end</code>
|
|
2648
|
+
</li>
|
|
2649
|
+
|
|
2650
|
+
<li class="never" data-hits="" data-linenumber="88">
|
|
2651
|
+
|
|
2652
|
+
|
|
2653
|
+
<code class="ruby"></code>
|
|
2654
|
+
</li>
|
|
2655
|
+
|
|
2656
|
+
<li class="covered" data-hits="1" data-linenumber="89">
|
|
2657
|
+
<span class="hits">1</span>
|
|
2658
|
+
|
|
2659
|
+
<code class="ruby"> def normalize_expiration(time)</code>
|
|
2660
|
+
</li>
|
|
2661
|
+
|
|
2662
|
+
<li class="covered" data-hits="1" data-linenumber="90">
|
|
2663
|
+
<span class="hits">1</span>
|
|
2664
|
+
|
|
2665
|
+
<code class="ruby"> (Time.parse(time) + 3600).iso8601(6).split("+").first</code>
|
|
2666
|
+
</li>
|
|
2667
|
+
|
|
2668
|
+
<li class="never" data-hits="" data-linenumber="91">
|
|
2669
|
+
|
|
2670
|
+
|
|
2671
|
+
<code class="ruby"> end</code>
|
|
2672
|
+
</li>
|
|
2673
|
+
|
|
2674
|
+
<li class="never" data-hits="" data-linenumber="92">
|
|
2675
|
+
|
|
2676
|
+
|
|
2677
|
+
<code class="ruby"></code>
|
|
2678
|
+
</li>
|
|
2679
|
+
|
|
2680
|
+
<li class="covered" data-hits="1" data-linenumber="93">
|
|
2681
|
+
<span class="hits">1</span>
|
|
2682
|
+
|
|
2683
|
+
<code class="ruby"> def client</code>
|
|
2684
|
+
</li>
|
|
2685
|
+
|
|
2686
|
+
<li class="covered" data-hits="6" data-linenumber="94">
|
|
2687
|
+
<span class="hits">6</span>
|
|
2688
|
+
|
|
2689
|
+
<code class="ruby"> uri = @wallet.fetch(:uri) { raise Peatio::Wallet::MissingSettingError, :uri }</code>
|
|
2690
|
+
</li>
|
|
2691
|
+
|
|
2692
|
+
<li class="covered" data-hits="6" data-linenumber="95">
|
|
2693
|
+
<span class="hits">6</span>
|
|
2694
|
+
|
|
2695
|
+
<code class="ruby"> @client ||= Client.new(uri)</code>
|
|
2696
|
+
</li>
|
|
2697
|
+
|
|
2698
|
+
<li class="never" data-hits="" data-linenumber="96">
|
|
2699
|
+
|
|
2700
|
+
|
|
2701
|
+
<code class="ruby"> end</code>
|
|
2702
|
+
</li>
|
|
2703
|
+
|
|
2704
|
+
<li class="never" data-hits="" data-linenumber="97">
|
|
2705
|
+
|
|
2706
|
+
|
|
2707
|
+
<code class="ruby"> end</code>
|
|
2708
|
+
</li>
|
|
2709
|
+
|
|
2710
|
+
<li class="never" data-hits="" data-linenumber="98">
|
|
2711
|
+
|
|
2712
|
+
|
|
2713
|
+
<code class="ruby"> end</code>
|
|
2714
|
+
</li>
|
|
2715
|
+
|
|
2716
|
+
<li class="never" data-hits="" data-linenumber="99">
|
|
2717
|
+
|
|
2718
|
+
|
|
2719
|
+
<code class="ruby">end</code>
|
|
2720
|
+
</li>
|
|
2721
|
+
|
|
2722
|
+
</ol>
|
|
2723
|
+
</pre>
|
|
2724
|
+
</div>
|
|
2725
|
+
|
|
2726
|
+
|
|
2727
|
+
</div>
|
|
2728
|
+
</div>
|
|
2729
|
+
</body>
|
|
2730
|
+
</html>
|