SimBot 0.1.42 → 0.1.43
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/SimBot.iml +1 -0
- data/.idea/workspace.xml +212 -170
- data/SimBot.gemspec +2 -2
- data/lib/Deamons/test.rb +80 -0
- data/lib/SimBot.rb +9 -1
- data/lib/SimBot/version.rb +1 -1
- data/lib/peatio/management_api_v1/client.rb +32 -0
- data/lib/peatio/member_api_v2/client.rb +85 -0
- data/lib/utils.rb +6 -0
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9f3ecdd49e4e10adf4af787ebf86ca1282473d685ec0d5f91a40bededf7a230
|
4
|
+
data.tar.gz: ccb7b5b62e4853a84fca185acb9fa9d68d29a1b1c2dda7f64dbfaadd78b5caf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db607ac53d0bb87281af440674b5352efeefadf401c82be4d07edb9dcfb903b135a5c56947a7ef8492d7febb809eed300086ba447efb8851ea6144d724f1d870
|
7
|
+
data.tar.gz: 95a7e9fe88e1077d540b3776bf50644edb1fd19eb19cbdcd33aef6a066cf0af8cebf37bd62c5027160e3c9ea7e8e266d4364a1fd1b3480a3310a119edddd378c
|
data/.idea/SimBot.iml
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
<content url="file://$MODULE_DIR$" />
|
8
8
|
<orderEntry type="jdk" jdkName="RVM: ruby-2.5.0 [-global]" jdkType="RUBY_SDK" />
|
9
9
|
<orderEntry type="sourceFolder" forTests="false" />
|
10
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.17.3, RVM: ruby-2.5.0 [-global]) [gem]" level="application" />
|
10
11
|
<orderEntry type="library" scope="PROVIDED" name="domain_name (v0.5.20180417, RVM: ruby-2.5.0 [-global]) [gem]" level="application" />
|
11
12
|
<orderEntry type="library" scope="PROVIDED" name="event_emitter (v0.2.6, RVM: ruby-2.5.0 [-global]) [gem]" level="application" />
|
12
13
|
<orderEntry type="library" scope="PROVIDED" name="http-cookie (v1.0.3, RVM: ruby-2.5.0 [-global]) [gem]" level="application" />
|
data/.idea/workspace.xml
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
<component name="ChangeListManager">
|
4
4
|
<list default="true" id="d905eaf2-5cab-434b-a4d1-1ccf165356a4" name="Default" comment="">
|
5
5
|
<change afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
|
6
|
+
<change afterPath="$PROJECT_DIR$/lib/Deamons/test.rb" afterDir="false" />
|
7
|
+
<change afterPath="$PROJECT_DIR$/lib/peatio/management_api_v1/client.rb" afterDir="false" />
|
8
|
+
<change afterPath="$PROJECT_DIR$/lib/peatio/member_api_v2/client.rb" afterDir="false" />
|
6
9
|
<change beforePath="$PROJECT_DIR$/.idea/.rakeTasks" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.rakeTasks" afterDir="false" />
|
7
10
|
<change beforePath="$PROJECT_DIR$/.idea/SimBot.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/SimBot.iml" afterDir="false" />
|
8
11
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
@@ -82,98 +85,124 @@
|
|
82
85
|
</session>
|
83
86
|
</component>
|
84
87
|
<component name="FileEditorManager">
|
85
|
-
<
|
86
|
-
<
|
87
|
-
<
|
88
|
-
<
|
89
|
-
<
|
90
|
-
<
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
<
|
98
|
-
<
|
99
|
-
<
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
<
|
107
|
-
<
|
108
|
-
<
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<
|
116
|
-
<
|
117
|
-
<
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
<
|
125
|
-
<
|
126
|
-
<
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
<
|
134
|
-
<
|
135
|
-
<
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
<
|
143
|
-
<
|
144
|
-
<
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
<
|
152
|
-
<
|
153
|
-
<
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
<
|
161
|
-
<
|
162
|
-
<
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
<
|
170
|
-
<
|
171
|
-
<
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
88
|
+
<splitter split-orientation="horizontal" split-proportion="0.5">
|
89
|
+
<split-first>
|
90
|
+
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
91
|
+
<file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
|
92
|
+
<entry file="file://$PROJECT_DIR$/lib/SimBot/version.rb">
|
93
|
+
<provider selected="true" editor-type-id="text-editor">
|
94
|
+
<state relative-caret-position="23">
|
95
|
+
<caret line="1" column="19" selection-start-line="1" selection-start-column="19" selection-end-line="1" selection-end-column="19" />
|
96
|
+
</state>
|
97
|
+
</provider>
|
98
|
+
</entry>
|
99
|
+
</file>
|
100
|
+
<file leaf-file-name="bitcoind.rb" pinned="false" current-in-tab="false">
|
101
|
+
<entry file="file://$PROJECT_DIR$/lib/Deamons/bitcoind.rb">
|
102
|
+
<provider selected="true" editor-type-id="text-editor">
|
103
|
+
<state relative-caret-position="391">
|
104
|
+
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
105
|
+
</state>
|
106
|
+
</provider>
|
107
|
+
</entry>
|
108
|
+
</file>
|
109
|
+
<file leaf-file-name="SimBot.rb" pinned="false" current-in-tab="false">
|
110
|
+
<entry file="file://$PROJECT_DIR$/lib/SimBot.rb">
|
111
|
+
<provider selected="true" editor-type-id="text-editor">
|
112
|
+
<state relative-caret-position="359">
|
113
|
+
<caret line="99" column="37" selection-start-line="99" selection-start-column="5" selection-end-line="99" selection-end-column="37" />
|
114
|
+
</state>
|
115
|
+
</provider>
|
116
|
+
</entry>
|
117
|
+
</file>
|
118
|
+
<file leaf-file-name="SimBot" pinned="false" current-in-tab="false">
|
119
|
+
<entry file="file://$PROJECT_DIR$/exe/SimBot">
|
120
|
+
<provider selected="true" editor-type-id="text-editor">
|
121
|
+
<state relative-caret-position="92">
|
122
|
+
<caret line="4" column="23" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="23" />
|
123
|
+
</state>
|
124
|
+
</provider>
|
125
|
+
</entry>
|
126
|
+
</file>
|
127
|
+
<file leaf-file-name="peatio.rb" pinned="false" current-in-tab="false">
|
128
|
+
<entry file="file://$PROJECT_DIR$/lib/ApiController/peatio.rb">
|
129
|
+
<provider selected="true" editor-type-id="text-editor">
|
130
|
+
<state relative-caret-position="1104">
|
131
|
+
<caret line="48" column="7" selection-start-line="48" selection-start-column="7" selection-end-line="48" selection-end-column="7" />
|
132
|
+
</state>
|
133
|
+
</provider>
|
134
|
+
</entry>
|
135
|
+
</file>
|
136
|
+
<file leaf-file-name="utils.rb" pinned="false" current-in-tab="false">
|
137
|
+
<entry file="file://$PROJECT_DIR$/lib/utils.rb">
|
138
|
+
<provider selected="true" editor-type-id="text-editor">
|
139
|
+
<state relative-caret-position="511">
|
140
|
+
<caret line="255" column="15" selection-start-line="255" selection-start-column="15" selection-end-line="255" selection-end-column="15" />
|
141
|
+
</state>
|
142
|
+
</provider>
|
143
|
+
</entry>
|
144
|
+
</file>
|
145
|
+
<file leaf-file-name="restclient.rb" pinned="false" current-in-tab="false">
|
146
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.5.0@-global/gems/rest-client-2.0.2/lib/restclient.rb">
|
147
|
+
<provider selected="true" editor-type-id="text-editor">
|
148
|
+
<state relative-caret-position="1449">
|
149
|
+
<caret line="63" column="7" selection-start-line="63" selection-start-column="7" selection-end-line="63" selection-end-column="7" />
|
150
|
+
</state>
|
151
|
+
</provider>
|
152
|
+
</entry>
|
153
|
+
</file>
|
154
|
+
<file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
|
155
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
156
|
+
<provider selected="true" editor-type-id="text-editor">
|
157
|
+
<state relative-caret-position="138">
|
158
|
+
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
159
|
+
</state>
|
160
|
+
</provider>
|
161
|
+
</entry>
|
162
|
+
</file>
|
163
|
+
<file leaf-file-name="SimBot.gemspec" pinned="false" current-in-tab="false">
|
164
|
+
<entry file="file://$PROJECT_DIR$/SimBot.gemspec">
|
165
|
+
<provider selected="true" editor-type-id="text-editor">
|
166
|
+
<state relative-caret-position="272">
|
167
|
+
<caret line="12" column="113" selection-start-line="12" selection-start-column="113" selection-end-line="12" selection-end-column="113" />
|
168
|
+
</state>
|
169
|
+
</provider>
|
170
|
+
</entry>
|
171
|
+
</file>
|
172
|
+
<file leaf-file-name="wash_trade.rb" pinned="false" current-in-tab="false">
|
173
|
+
<entry file="file://$PROJECT_DIR$/lib/Deamons/wash_trade.rb">
|
174
|
+
<provider selected="true" editor-type-id="text-editor">
|
175
|
+
<state relative-caret-position="1656">
|
176
|
+
<caret line="72" column="14" selection-start-line="72" selection-start-column="14" selection-end-line="72" selection-end-column="14" />
|
177
|
+
</state>
|
178
|
+
</provider>
|
179
|
+
</entry>
|
180
|
+
</file>
|
181
|
+
</leaf>
|
182
|
+
</split-first>
|
183
|
+
<split-second>
|
184
|
+
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
185
|
+
<file leaf-file-name="test.rb" pinned="false" current-in-tab="false">
|
186
|
+
<entry file="file://$PROJECT_DIR$/lib/Deamons/test.rb">
|
187
|
+
<provider selected="true" editor-type-id="text-editor">
|
188
|
+
<state relative-caret-position="276">
|
189
|
+
<caret line="12" column="18" selection-start-line="12" selection-start-column="18" selection-end-line="12" selection-end-column="18" />
|
190
|
+
</state>
|
191
|
+
</provider>
|
192
|
+
</entry>
|
193
|
+
</file>
|
194
|
+
<file leaf-file-name="client.rb" pinned="false" current-in-tab="true">
|
195
|
+
<entry file="file://$PROJECT_DIR$/lib/peatio/member_api_v2/client.rb">
|
196
|
+
<provider selected="true" editor-type-id="text-editor">
|
197
|
+
<state relative-caret-position="115">
|
198
|
+
<caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
|
199
|
+
</state>
|
200
|
+
</provider>
|
201
|
+
</entry>
|
202
|
+
</file>
|
203
|
+
</leaf>
|
204
|
+
</split-second>
|
205
|
+
</splitter>
|
177
206
|
</component>
|
178
207
|
<component name="FileTemplateManagerImpl">
|
179
208
|
<option name="RECENT_TEMPLATES">
|
@@ -226,11 +255,13 @@
|
|
226
255
|
<option value="$PROJECT_DIR$/lib/Deamons/litecoind.rb" />
|
227
256
|
<option value="$PROJECT_DIR$/lib/ApiController/barong.rb" />
|
228
257
|
<option value="$PROJECT_DIR$/lib/Deamons/bitcoind.rb" />
|
229
|
-
<option value="$PROJECT_DIR$/SimBot.gemspec" />
|
230
258
|
<option value="$PROJECT_DIR$/.ruby-version" />
|
231
|
-
<option value="$PROJECT_DIR$/lib/SimBot.rb" />
|
232
259
|
<option value="$PROJECT_DIR$/lib/Deamons/wash_trade.rb" />
|
260
|
+
<option value="$PROJECT_DIR$/lib/Deamons/test.rb" />
|
261
|
+
<option value="$PROJECT_DIR$/lib/peatio/member_api_v2/client.rb" />
|
233
262
|
<option value="$PROJECT_DIR$/lib/utils.rb" />
|
263
|
+
<option value="$PROJECT_DIR$/lib/SimBot.rb" />
|
264
|
+
<option value="$PROJECT_DIR$/SimBot.gemspec" />
|
234
265
|
<option value="$PROJECT_DIR$/lib/SimBot/version.rb" />
|
235
266
|
</list>
|
236
267
|
</option>
|
@@ -245,16 +276,16 @@
|
|
245
276
|
<packageJsonPaths />
|
246
277
|
</component>
|
247
278
|
<component name="ProjectFrameBounds">
|
248
|
-
<option name="
|
249
|
-
<option name="
|
250
|
-
<option name="
|
251
|
-
<option name="height" value="877" />
|
279
|
+
<option name="y" value="23" />
|
280
|
+
<option name="width" value="1680" />
|
281
|
+
<option name="height" value="1027" />
|
252
282
|
</component>
|
253
283
|
<component name="ProjectView">
|
254
284
|
<navigator proportions="" version="1">
|
255
285
|
<foldersAlwaysOnTop value="true" />
|
256
286
|
</navigator>
|
257
287
|
<panes>
|
288
|
+
<pane id="Scope" />
|
258
289
|
<pane id="ProjectPane">
|
259
290
|
<subPane>
|
260
291
|
<expand>
|
@@ -277,7 +308,6 @@
|
|
277
308
|
<select />
|
278
309
|
</subPane>
|
279
310
|
</pane>
|
280
|
-
<pane id="Scope" />
|
281
311
|
</panes>
|
282
312
|
</component>
|
283
313
|
<component name="PropertiesComponent">
|
@@ -289,15 +319,16 @@
|
|
289
319
|
<property name="settings.editor.selected.configurable" value="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
|
290
320
|
</component>
|
291
321
|
<component name="RecentsManager">
|
292
|
-
<key name="CopyFile.RECENT_KEYS">
|
293
|
-
<recent name="$PROJECT_DIR$/lib/Deamons" />
|
294
|
-
<recent name="$PROJECT_DIR$" />
|
295
|
-
</key>
|
296
322
|
<key name="MoveFile.RECENT_KEYS">
|
297
323
|
<recent name="$PROJECT_DIR$/lib/ApiController" />
|
298
324
|
<recent name="$PROJECT_DIR$/lib/Deamons" />
|
299
325
|
<recent name="$PROJECT_DIR$/lib" />
|
300
326
|
</key>
|
327
|
+
<key name="CopyFile.RECENT_KEYS">
|
328
|
+
<recent name="$PROJECT_DIR$/lib" />
|
329
|
+
<recent name="$PROJECT_DIR$/lib/Deamons" />
|
330
|
+
<recent name="$PROJECT_DIR$" />
|
331
|
+
</key>
|
301
332
|
</component>
|
302
333
|
<component name="RunDashboard">
|
303
334
|
<option name="ruleStates">
|
@@ -367,12 +398,23 @@
|
|
367
398
|
<workItem from="1546773914382" duration="1629000" />
|
368
399
|
<workItem from="1548690509123" duration="3000" />
|
369
400
|
<workItem from="1550430960196" duration="265000" />
|
370
|
-
<workItem from="1550431340576" duration="
|
401
|
+
<workItem from="1550431340576" duration="259000" />
|
402
|
+
<workItem from="1550774109296" duration="2169000" />
|
403
|
+
<workItem from="1552046203310" duration="601000" />
|
404
|
+
<workItem from="1552636308158" duration="3229000" />
|
405
|
+
<workItem from="1552827732401" duration="688000" />
|
406
|
+
<workItem from="1553442627360" duration="490000" />
|
407
|
+
<workItem from="1553762738452" duration="1976000" />
|
408
|
+
<workItem from="1554297342089" duration="421000" />
|
409
|
+
<workItem from="1554655605446" duration="27000" />
|
410
|
+
<workItem from="1555591930261" duration="285000" />
|
411
|
+
<workItem from="1556439224009" duration="151000" />
|
412
|
+
<workItem from="1556442391204" duration="1240000" />
|
371
413
|
</task>
|
372
414
|
<servers />
|
373
415
|
</component>
|
374
416
|
<component name="TimeTrackingManager">
|
375
|
-
<option name="totallyTimeSpent" value="
|
417
|
+
<option name="totallyTimeSpent" value="202496000" />
|
376
418
|
</component>
|
377
419
|
<component name="TodoView">
|
378
420
|
<todo-panel id="selected-file">
|
@@ -384,19 +426,19 @@
|
|
384
426
|
</todo-panel>
|
385
427
|
</component>
|
386
428
|
<component name="ToolWindowManager">
|
387
|
-
<frame x="
|
429
|
+
<frame x="0" y="23" width="1680" height="1027" extended-state="0" />
|
388
430
|
<editor active="true" />
|
389
431
|
<layout>
|
390
|
-
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.
|
432
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2014652" />
|
391
433
|
<window_info anchor="bottom" id="TODO" order="6" weight="0.32995495" />
|
392
434
|
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
393
435
|
<window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.30114448" side_tool="true" weight="0.44097695" />
|
394
436
|
<window_info anchor="right" id="Database" order="3" />
|
395
437
|
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
|
396
|
-
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.6044349" weight="0.
|
438
|
+
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.6044349" visible="true" weight="0.42192692" />
|
397
439
|
<window_info anchor="bottom" id="Version Control" order="10" weight="0.3292683" />
|
398
440
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
399
|
-
<window_info anchor="bottom" id="Terminal" order="9" sideWeight="0.6988555" weight="0.
|
441
|
+
<window_info anchor="bottom" id="Terminal" order="9" sideWeight="0.6988555" weight="0.15060908" />
|
400
442
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
401
443
|
<window_info id="Favorites" order="2" side_tool="true" />
|
402
444
|
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
@@ -411,23 +453,23 @@
|
|
411
453
|
<layout-to-restore>
|
412
454
|
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
413
455
|
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
414
|
-
<window_info anchor="bottom" id="
|
415
|
-
<window_info
|
456
|
+
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.6044349" weight="0.42231077" />
|
457
|
+
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
458
|
+
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
459
|
+
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2014652" />
|
416
460
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
417
461
|
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
418
|
-
<window_info anchor="
|
419
|
-
<window_info anchor="bottom" id="TODO" order="6" />
|
420
|
-
<window_info anchor="bottom" id="Version Control" order="11" />
|
421
|
-
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.48719722" weight="0.28540304" />
|
422
|
-
<window_info anchor="bottom" id="Message" order="0" />
|
423
|
-
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
424
|
-
<window_info anchor="right" id="Database" order="3" />
|
425
|
-
<window_info anchor="bottom" id="Terminal" order="9" sideWeight="0.49619377" weight="0.41463414" />
|
426
|
-
<window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.50380623" side_tool="true" weight="0.28540304" />
|
462
|
+
<window_info anchor="bottom" id="TODO" order="6" weight="0.32995495" />
|
427
463
|
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
|
428
|
-
<window_info anchor="bottom" id="
|
429
|
-
<window_info anchor="bottom" id="
|
430
|
-
<window_info anchor="
|
464
|
+
<window_info anchor="bottom" id="Find" order="1" sideWeight="0.49896193" weight="0.32876712" />
|
465
|
+
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
466
|
+
<window_info anchor="right" id="Database" order="3" />
|
467
|
+
<window_info active="true" anchor="bottom" id="Terminal" order="9" sideWeight="0.6988555" visible="true" weight="0.1517165" />
|
468
|
+
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
469
|
+
<window_info anchor="bottom" id="Version Control" order="10" weight="0.3292683" />
|
470
|
+
<window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.30114448" side_tool="true" weight="0.44097695" />
|
471
|
+
<window_info anchor="bottom" id="Message" order="0" />
|
472
|
+
<window_info anchor="bottom" id="Messages" order="12" sideWeight="0.49928468" weight="0.3283767" />
|
431
473
|
<window_info id="Favorites" order="2" side_tool="true" />
|
432
474
|
</layout-to-restore>
|
433
475
|
</component>
|
@@ -441,27 +483,6 @@
|
|
441
483
|
<option name="myLimit" value="2678400000" />
|
442
484
|
</component>
|
443
485
|
<component name="editorHistoryManager">
|
444
|
-
<entry file="file://$PROJECT_DIR$/lib/utils.rb">
|
445
|
-
<provider selected="true" editor-type-id="text-editor">
|
446
|
-
<state relative-caret-position="2300">
|
447
|
-
<caret line="100" column="24" lean-forward="true" selection-start-line="100" selection-start-column="24" selection-end-line="100" selection-end-column="24" />
|
448
|
-
</state>
|
449
|
-
</provider>
|
450
|
-
</entry>
|
451
|
-
<entry file="file://$PROJECT_DIR$/lib/Deamons/geth.rb">
|
452
|
-
<provider selected="true" editor-type-id="text-editor">
|
453
|
-
<state relative-caret-position="644">
|
454
|
-
<caret line="28" column="30" selection-start-line="28" selection-start-column="30" selection-end-line="28" selection-end-column="30" />
|
455
|
-
</state>
|
456
|
-
</provider>
|
457
|
-
</entry>
|
458
|
-
<entry file="file://$PROJECT_DIR$/lib/Deamons/bitcoind-abc.rb">
|
459
|
-
<provider selected="true" editor-type-id="text-editor">
|
460
|
-
<state relative-caret-position="437">
|
461
|
-
<caret line="19" column="72" selection-start-line="19" selection-start-column="72" selection-end-line="19" selection-end-column="72" />
|
462
|
-
</state>
|
463
|
-
</provider>
|
464
|
-
</entry>
|
465
486
|
<entry file="file://$PROJECT_DIR$/lib/SimBot.rb">
|
466
487
|
<provider selected="true" editor-type-id="text-editor">
|
467
488
|
<state relative-caret-position="299">
|
@@ -514,13 +535,6 @@
|
|
514
535
|
</state>
|
515
536
|
</provider>
|
516
537
|
</entry>
|
517
|
-
<entry file="file://$PROJECT_DIR$/lib/ApiController/peatio.rb">
|
518
|
-
<provider selected="true" editor-type-id="text-editor">
|
519
|
-
<state relative-caret-position="315">
|
520
|
-
<caret line="21" column="49" selection-start-line="21" selection-start-column="49" selection-end-line="21" selection-end-column="49" />
|
521
|
-
</state>
|
522
|
-
</provider>
|
523
|
-
</entry>
|
524
538
|
<entry file="file://$PROJECT_DIR$/lib/Deamons/simple_mm.rb">
|
525
539
|
<provider selected="true" editor-type-id="text-editor">
|
526
540
|
<state relative-caret-position="405">
|
@@ -598,52 +612,80 @@
|
|
598
612
|
</state>
|
599
613
|
</provider>
|
600
614
|
</entry>
|
601
|
-
<entry file="file://$
|
615
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.5.0@-global/gems/rest-client-2.0.2/lib/restclient.rb">
|
602
616
|
<provider selected="true" editor-type-id="text-editor">
|
603
|
-
<state relative-caret-position="
|
604
|
-
<caret line="
|
617
|
+
<state relative-caret-position="1449">
|
618
|
+
<caret line="63" column="7" selection-start-line="63" selection-start-column="7" selection-end-line="63" selection-end-column="7" />
|
619
|
+
</state>
|
620
|
+
</provider>
|
621
|
+
</entry>
|
622
|
+
<entry file="file://$PROJECT_DIR$/lib/ApiController/peatio.rb">
|
623
|
+
<provider selected="true" editor-type-id="text-editor">
|
624
|
+
<state relative-caret-position="1104">
|
625
|
+
<caret line="48" column="7" selection-start-line="48" selection-start-column="7" selection-end-line="48" selection-end-column="7" />
|
605
626
|
</state>
|
606
627
|
</provider>
|
607
628
|
</entry>
|
608
629
|
<entry file="file://$PROJECT_DIR$/lib/Deamons/wash_trade.rb">
|
609
630
|
<provider selected="true" editor-type-id="text-editor">
|
610
|
-
<state relative-caret-position="
|
611
|
-
<caret line="
|
631
|
+
<state relative-caret-position="1656">
|
632
|
+
<caret line="72" column="14" selection-start-line="72" selection-start-column="14" selection-end-line="72" selection-end-column="14" />
|
612
633
|
</state>
|
613
634
|
</provider>
|
614
635
|
</entry>
|
615
|
-
<entry file="file://$
|
636
|
+
<entry file="file://$PROJECT_DIR$/lib/Deamons/test.rb">
|
616
637
|
<provider selected="true" editor-type-id="text-editor">
|
617
|
-
<state relative-caret-position="
|
618
|
-
<caret line="
|
638
|
+
<state relative-caret-position="276">
|
639
|
+
<caret line="12" column="18" selection-start-line="12" selection-start-column="18" selection-end-line="12" selection-end-column="18" />
|
619
640
|
</state>
|
620
641
|
</provider>
|
621
642
|
</entry>
|
622
|
-
<entry file="file://$PROJECT_DIR$/
|
643
|
+
<entry file="file://$PROJECT_DIR$/exe/SimBot">
|
623
644
|
<provider selected="true" editor-type-id="text-editor">
|
624
|
-
<state relative-caret-position="
|
625
|
-
<caret line="
|
645
|
+
<state relative-caret-position="92">
|
646
|
+
<caret line="4" column="23" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="23" />
|
626
647
|
</state>
|
627
648
|
</provider>
|
628
649
|
</entry>
|
629
|
-
<entry file="file://$PROJECT_DIR$/
|
650
|
+
<entry file="file://$PROJECT_DIR$/lib/Deamons/bitcoind.rb">
|
630
651
|
<provider selected="true" editor-type-id="text-editor">
|
631
|
-
<state relative-caret-position="
|
632
|
-
<caret line="
|
652
|
+
<state relative-caret-position="391">
|
653
|
+
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
633
654
|
</state>
|
634
655
|
</provider>
|
635
656
|
</entry>
|
636
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
657
|
+
<entry file="file://$PROJECT_DIR$/lib/peatio/member_api_v2/client.rb">
|
637
658
|
<provider selected="true" editor-type-id="text-editor">
|
638
|
-
<state relative-caret-position="
|
639
|
-
<caret line="
|
659
|
+
<state relative-caret-position="115">
|
660
|
+
<caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
|
640
661
|
</state>
|
641
662
|
</provider>
|
642
663
|
</entry>
|
643
664
|
<entry file="file://$PROJECT_DIR$/lib/utils.rb">
|
644
665
|
<provider selected="true" editor-type-id="text-editor">
|
645
|
-
<state relative-caret-position="
|
646
|
-
<caret line="
|
666
|
+
<state relative-caret-position="511">
|
667
|
+
<caret line="255" column="15" selection-start-line="255" selection-start-column="15" selection-end-line="255" selection-end-column="15" />
|
668
|
+
</state>
|
669
|
+
</provider>
|
670
|
+
</entry>
|
671
|
+
<entry file="file://$PROJECT_DIR$/lib/SimBot.rb">
|
672
|
+
<provider selected="true" editor-type-id="text-editor">
|
673
|
+
<state relative-caret-position="359">
|
674
|
+
<caret line="99" column="37" selection-start-line="99" selection-start-column="5" selection-end-line="99" selection-end-column="37" />
|
675
|
+
</state>
|
676
|
+
</provider>
|
677
|
+
</entry>
|
678
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
679
|
+
<provider selected="true" editor-type-id="text-editor">
|
680
|
+
<state relative-caret-position="138">
|
681
|
+
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
682
|
+
</state>
|
683
|
+
</provider>
|
684
|
+
</entry>
|
685
|
+
<entry file="file://$PROJECT_DIR$/SimBot.gemspec">
|
686
|
+
<provider selected="true" editor-type-id="text-editor">
|
687
|
+
<state relative-caret-position="272">
|
688
|
+
<caret line="12" column="113" selection-start-line="12" selection-start-column="113" selection-end-line="12" selection-end-column="113" />
|
647
689
|
</state>
|
648
690
|
</provider>
|
649
691
|
</entry>
|
data/SimBot.gemspec
CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Jonathan Ovadia"]
|
10
10
|
spec.email = ["ovadiajon@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{
|
13
|
-
spec.description = %q{
|
12
|
+
spec.summary = %q{SimBot simulation Bot CLI used to simulate real world trading activity on the exchange staging environment.}
|
13
|
+
spec.description = %q{SimBot simulation Bot CLI used to simulate real world trading activity on the exchange staging environment. for testing and QA purposes}
|
14
14
|
spec.homepage = "https://github.com/ovCEO/SimBot"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
data/lib/Deamons/test.rb
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Deamons
|
4
|
+
# Simple process to add wash trades to a market in order to simulate trade matching for QA and dev
|
5
|
+
class Test
|
6
|
+
require 'utils'
|
7
|
+
|
8
|
+
def initialize(api, market, freq, vol)
|
9
|
+
@g_count = 1
|
10
|
+
@range = 1.015
|
11
|
+
@api = api
|
12
|
+
@market = market
|
13
|
+
@freq = freq
|
14
|
+
@volume = vol
|
15
|
+
Process.fork do
|
16
|
+
Process.daemon(true)
|
17
|
+
pid = Process.pid
|
18
|
+
redirect("#{pid}.outfile", "#{pid}.errfile")
|
19
|
+
write_pid_file(pid, "#{pid}.pid")
|
20
|
+
start
|
21
|
+
end
|
22
|
+
puts "SimBot started on #{market} @ freq #{freq}."
|
23
|
+
end
|
24
|
+
|
25
|
+
def start
|
26
|
+
count = 0
|
27
|
+
puts "--------#{@market} -------"
|
28
|
+
loop do
|
29
|
+
vol = rand(@volume...@volume*1.3) * (Math.sin(Time.now.hour / 6.00)
|
30
|
+
+ 1.00) * Utils.rand_for_hour(1.5, 2)
|
31
|
+
price = aug_price
|
32
|
+
@api.post_order(@market, price, vol, 'buy') if rand(1...100) < 22
|
33
|
+
@api.post_order(@market, price, vol, 'sell') if rand(1...100) < 22
|
34
|
+
puts "order ##{count} placed"
|
35
|
+
delay = (1 / @freq).to_i
|
36
|
+
sleep(rand(delay...delay + 2))
|
37
|
+
count += 1
|
38
|
+
rescue ::StandardError => e
|
39
|
+
STDERR.puts e.backtrace
|
40
|
+
next
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [float] augmented price
|
45
|
+
def aug_price
|
46
|
+
if @g_count > 60
|
47
|
+
@range = rand(1.003...1.010)
|
48
|
+
@g_count = 0
|
49
|
+
end
|
50
|
+
@g_count += 1
|
51
|
+
Utils.quote(@market) * rand(1.002...@range)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Attempts to write the pid of the forked process to the pid file.
|
55
|
+
# @param [Integer] pid
|
56
|
+
# @param [String] pidfile
|
57
|
+
# @return [Integer and File]
|
58
|
+
def write_pid_file(pid, pidfile)
|
59
|
+
File.open pidfile, "w" do |f|
|
60
|
+
f.write pid
|
61
|
+
end
|
62
|
+
rescue ::Exception => e
|
63
|
+
$stderr.puts "While writing the PID to file, unexpected #{e.class}: #{e}"
|
64
|
+
Process.kill "HUP", pid
|
65
|
+
end
|
66
|
+
|
67
|
+
# Send stdout and stderr to log files for the child process
|
68
|
+
# @param [String] outfile
|
69
|
+
# @param [String] errfile
|
70
|
+
# @return [TrueClass]
|
71
|
+
def redirect(outfile, errfile)
|
72
|
+
$stdin.reopen '/dev/null'
|
73
|
+
out = File.new outfile, "a"
|
74
|
+
err = File.new errfile, "a"
|
75
|
+
$stdout.reopen out
|
76
|
+
$stderr.reopen err
|
77
|
+
$stdout.sync = $stderr.sync = true
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
data/lib/SimBot.rb
CHANGED
@@ -30,6 +30,12 @@ module SimBot
|
|
30
30
|
api = ApiController::Peatio.new(options[:peatio_base_url], options[:barong_base_url], options[:app_id], options[:email], options[:password])
|
31
31
|
Deamons::WashTrade.new(api, options[:market], options[:freq], options[:vol])
|
32
32
|
end
|
33
|
+
desc 'wash', 'Start simulation bot.'
|
34
|
+
method_option :jwt, type: :string, required: true, desc: 'Your OVEX api key'
|
35
|
+
def test
|
36
|
+
peatio = Peatio::Client.new(options[:jwt],'www.ovex.io')
|
37
|
+
peatio.orders('btczar')[bids]
|
38
|
+
end
|
33
39
|
desc 'mm', 'Starts a market maker'
|
34
40
|
method_option :email, type: :string, default: 'admin@ovex.io', required: true, desc: 'Your OVEX email address'
|
35
41
|
method_option :password, type: :string, default: 'Pass123', required: true, desc: 'Your OVEX password'
|
@@ -87,9 +93,11 @@ module SimBot
|
|
87
93
|
ws.send msg
|
88
94
|
end
|
89
95
|
end
|
96
|
+
|
90
97
|
desc 'quote market', 'get the quote for the given market e.g. btc/eth'
|
91
98
|
def quote(market)
|
92
|
-
puts "#{market}: #{Utils.quote(market)}"
|
99
|
+
#puts "#{market}: #{Utils.quote(market)}"
|
100
|
+
Utils.new_sheet('template.xls')
|
93
101
|
end
|
94
102
|
|
95
103
|
desc 'cmc_data outfile', 'export coin market cap data to spread sheet'
|
data/lib/SimBot/version.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Peatio
|
4
|
+
module ManagementAPIv1
|
5
|
+
class Client < ::ManagementAPIv1::Client
|
6
|
+
def initialize(*)
|
7
|
+
super ENV.fetch('PEATIO_ROOT_URL'), Rails.configuration.x.peatio_management_api_v1_configuration
|
8
|
+
end
|
9
|
+
|
10
|
+
def create_withdraw(request_params = {})
|
11
|
+
self.action = :write_withdraws
|
12
|
+
jwt = payload(request_params.slice(:uid, :tid, :rid, :currency, :amount, :action))
|
13
|
+
.yield_self { |payload| generate_jwt(payload) }
|
14
|
+
.yield_self do |jwt|
|
15
|
+
action[:requires_barong_totp] ?
|
16
|
+
Barong::ManagementAPIv1::Client.new.otp_sign(request_params.merge(jwt: jwt, account_uid: request_params[:uid])) : jwt
|
17
|
+
end
|
18
|
+
puts "Made it past barong signing" +jwt.to_s
|
19
|
+
request(:post, 'withdraws/new', jwt, jwt: true)
|
20
|
+
end
|
21
|
+
|
22
|
+
def
|
23
|
+
create_deposit(request_params = {})
|
24
|
+
self.action = :write_deposits
|
25
|
+
jwt = payload(request_params.slice(:uid, :currency, :amount))
|
26
|
+
.yield_self { |payload| generate_jwt(payload) }
|
27
|
+
request(:post, 'deposits/new', jwt, jwt: true)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Peatio
|
4
|
+
module MemberAPIv2
|
5
|
+
class Client
|
6
|
+
def initialize(root_url, jwt)
|
7
|
+
@root_api_url = root_url
|
8
|
+
@jwt = jwt
|
9
|
+
end
|
10
|
+
|
11
|
+
def get_currency(currency)
|
12
|
+
request(:get, "currencies/#{currency}")
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_ticker(ticker)
|
16
|
+
request(:get, "tickers/#{ticker}")
|
17
|
+
end
|
18
|
+
|
19
|
+
def profile
|
20
|
+
request(:get, 'members/me')
|
21
|
+
end
|
22
|
+
|
23
|
+
def new_order(market, side, volume, price, ord_type)
|
24
|
+
body = {
|
25
|
+
market: market,
|
26
|
+
side: side,
|
27
|
+
volume: volume,
|
28
|
+
price: price,
|
29
|
+
ord_type: ord_type
|
30
|
+
}
|
31
|
+
request(:post, 'orders', body)
|
32
|
+
end
|
33
|
+
|
34
|
+
def clear_orders(side)
|
35
|
+
request(:post, "orders/clear?side=#{side}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def orders(market)
|
39
|
+
request(:get, "orders?market=#{market}")
|
40
|
+
end
|
41
|
+
|
42
|
+
def delete_order(id)
|
43
|
+
body = {
|
44
|
+
id: id
|
45
|
+
}
|
46
|
+
request(:post, 'order/delete', body)
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def request(request_method, request_path, params = nil)
|
52
|
+
unless request_method.in?(%i[get post])
|
53
|
+
raise ArgumentError, "Request method is not supported: #{request_method.inspect}."
|
54
|
+
end
|
55
|
+
|
56
|
+
begin
|
57
|
+
http_client
|
58
|
+
.public_send(request_method, build_path(request_path), params)
|
59
|
+
.tap { |response| puts response unless response.success? }
|
60
|
+
.assert_success!
|
61
|
+
.body
|
62
|
+
rescue Faraday::Error => e
|
63
|
+
puts e.backtrace
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def http_client
|
68
|
+
Faraday.new(url: @root_api_url) do |conn|
|
69
|
+
conn.request :json
|
70
|
+
conn.response :json
|
71
|
+
conn.adapter Faraday.default_adapter
|
72
|
+
conn.authorization :Bearer, @jwt
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def build_path(path)
|
77
|
+
"api/v2/#{path}"
|
78
|
+
end
|
79
|
+
|
80
|
+
def response_err_msg(response)
|
81
|
+
"PEATIO ERROR: #{response.body} >>>>>>>> header >>>>> #{response.headers}"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
data/lib/utils.rb
CHANGED
@@ -250,6 +250,12 @@ class Utils
|
|
250
250
|
puts "Data written to #{name}"
|
251
251
|
end
|
252
252
|
|
253
|
+
def self.new_sheet(name)
|
254
|
+
book = Spreadsheet::Workbook.new
|
255
|
+
book.write(name)
|
256
|
+
puts "#{name} Created"
|
257
|
+
end
|
258
|
+
|
253
259
|
# @param [String] name
|
254
260
|
# @return [Array]
|
255
261
|
def self.read_from_spreadsheet(name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: SimBot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.43
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Ovadia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,8 +136,8 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
description:
|
140
|
-
on the
|
139
|
+
description: SimBot simulation Bot CLI used to simulate real world trading activity
|
140
|
+
on the exchange staging environment. for testing and QA purposes
|
141
141
|
email:
|
142
142
|
- ovadiajon@gmail.com
|
143
143
|
executables:
|
@@ -184,10 +184,13 @@ files:
|
|
184
184
|
- lib/Deamons/litecoind.rb
|
185
185
|
- lib/Deamons/ngrok.rb
|
186
186
|
- lib/Deamons/simple_mm.rb
|
187
|
+
- lib/Deamons/test.rb
|
187
188
|
- lib/Deamons/wash_trade.rb
|
188
189
|
- lib/SimBot.rb
|
189
190
|
- lib/SimBot/version.rb
|
190
191
|
- lib/mailer.rb
|
192
|
+
- lib/peatio/management_api_v1/client.rb
|
193
|
+
- lib/peatio/member_api_v2/client.rb
|
191
194
|
- lib/utils.rb
|
192
195
|
- project_email_data.xls
|
193
196
|
- project_email_data.xlsx
|
@@ -210,10 +213,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
213
|
- !ruby/object:Gem::Version
|
211
214
|
version: '0'
|
212
215
|
requirements: []
|
213
|
-
|
214
|
-
rubygems_version: 2.7.3
|
216
|
+
rubygems_version: 3.0.3
|
215
217
|
signing_key:
|
216
218
|
specification_version: 4
|
217
|
-
summary:
|
218
|
-
|
219
|
+
summary: SimBot simulation Bot CLI used to simulate real world trading activity on
|
220
|
+
the exchange staging environment.
|
219
221
|
test_files: []
|