bitex_bot 0.2.8 → 0.2.9
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/bitex_bot.gemspec +1 -1
- data/lib/bitex_bot/database.rb +1 -1
- data/lib/bitex_bot/models/bitstamp_api_wrapper.rb +8 -1
- data/lib/bitex_bot/robot.rb +1 -1
- data/lib/bitex_bot/version.rb +1 -1
- metadata +47 -85
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a39b95522374291e1dbdc8f33d3fde97d15db2be
|
4
|
+
data.tar.gz: e3da7735d646f8e99e3636b75c296d4cebc8c471
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9272fa653acd4d6155b971e322da57865d5e7e116e17217947b39ffd245e7c5675a1b557e0ff11ed24e9d3f474f26c47d6fcd4ec28dc3c2ae5ce2710fe030baa
|
7
|
+
data.tar.gz: effe749aa919234ff0a2c27090b4b1c3bfa6065d6769a222e95c809536431b2cfd036048f108867e973ca9c1c154388febde61a9234da4ecaea4ea7d569bcaeb
|
data/bitex_bot.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency "activesupport"
|
27
27
|
spec.add_dependency "sqlite3"
|
28
28
|
spec.add_dependency "bitstamp"
|
29
|
-
spec.add_dependency "bitex", "0.1
|
29
|
+
spec.add_dependency "bitex", "0.2.1"
|
30
30
|
spec.add_dependency "itbit", "0.0.3"
|
31
31
|
spec.add_dependency "mail"
|
32
32
|
spec.add_dependency "hashie"
|
data/lib/bitex_bot/database.rb
CHANGED
@@ -88,7 +88,7 @@ module BitexBot
|
|
88
88
|
add_index :close_sells, :order_id
|
89
89
|
end
|
90
90
|
|
91
|
-
unless ActiveRecord::Base.connection.
|
91
|
+
unless ActiveRecord::Base.connection.table_exists?('stores')
|
92
92
|
create_table "stores", force: true do |t|
|
93
93
|
t.decimal "taker_usd", precision: 20, scale: 8
|
94
94
|
t.decimal "taker_btc", precision: 20, scale: 8
|
@@ -25,7 +25,14 @@ class BitstampApiWrapper
|
|
25
25
|
# }
|
26
26
|
def self.order_book(retries = 20)
|
27
27
|
begin
|
28
|
-
Bitstamp.order_book
|
28
|
+
book = Bitstamp.order_book
|
29
|
+
age = Time.now.to_i - book["timestamp"].to_i)
|
30
|
+
if age > 300
|
31
|
+
BitexBot::Robot.logger.info("Refusing to continue as orderbook is #{age} seconds old")
|
32
|
+
self.order_book(retries)
|
33
|
+
else
|
34
|
+
book
|
35
|
+
end
|
29
36
|
rescue StandardError => e
|
30
37
|
if retries == 0
|
31
38
|
raise
|
data/lib/bitex_bot/robot.rb
CHANGED
@@ -146,7 +146,7 @@ module BitexBot
|
|
146
146
|
total_usd = balances['usd_balance'].to_d + profile[:usd_balance]
|
147
147
|
total_btc = balances['btc_balance'].to_d + profile[:btc_balance]
|
148
148
|
|
149
|
-
last_log = `tail -
|
149
|
+
last_log = `tail -c 61440 #{Settings.log.try(:file)}` if Settings.log.try(:file)
|
150
150
|
|
151
151
|
store.update_attributes(taker_usd: balances['usd_balance'],
|
152
152
|
taker_btc: balances['btc_balance'], log: last_log)
|
data/lib/bitex_bot/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitex_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.9
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nubis
|
@@ -10,108 +9,95 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2015-
|
12
|
+
date: 2015-08-05 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: settingslogic
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ">="
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: activerecord
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: activesupport
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - ">="
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '0'
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - ">="
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '0'
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: sqlite3
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - ">="
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: '0'
|
71
63
|
type: :runtime
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - ">="
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: '0'
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: bitstamp
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - ">="
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :runtime
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
81
|
+
- - ">="
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: bitex
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
88
|
- - '='
|
101
89
|
- !ruby/object:Gem::Version
|
102
|
-
version: 0.1
|
90
|
+
version: 0.2.1
|
103
91
|
type: :runtime
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
95
|
- - '='
|
109
96
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.1
|
97
|
+
version: 0.2.1
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: itbit
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
102
|
- - '='
|
117
103
|
- !ruby/object:Gem::Version
|
@@ -119,7 +105,6 @@ dependencies:
|
|
119
105
|
type: :runtime
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
109
|
- - '='
|
125
110
|
- !ruby/object:Gem::Version
|
@@ -127,182 +112,161 @@ dependencies:
|
|
127
112
|
- !ruby/object:Gem::Dependency
|
128
113
|
name: mail
|
129
114
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
115
|
requirements:
|
132
|
-
- -
|
116
|
+
- - ">="
|
133
117
|
- !ruby/object:Gem::Version
|
134
118
|
version: '0'
|
135
119
|
type: :runtime
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
122
|
requirements:
|
140
|
-
- -
|
123
|
+
- - ">="
|
141
124
|
- !ruby/object:Gem::Version
|
142
125
|
version: '0'
|
143
126
|
- !ruby/object:Gem::Dependency
|
144
127
|
name: hashie
|
145
128
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
129
|
requirements:
|
148
|
-
- -
|
130
|
+
- - ">="
|
149
131
|
- !ruby/object:Gem::Version
|
150
132
|
version: '0'
|
151
133
|
type: :runtime
|
152
134
|
prerelease: false
|
153
135
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
136
|
requirements:
|
156
|
-
- -
|
137
|
+
- - ">="
|
157
138
|
- !ruby/object:Gem::Version
|
158
139
|
version: '0'
|
159
140
|
- !ruby/object:Gem::Dependency
|
160
141
|
name: bundler
|
161
142
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
143
|
requirements:
|
164
|
-
- - ~>
|
144
|
+
- - "~>"
|
165
145
|
- !ruby/object:Gem::Version
|
166
146
|
version: '1.3'
|
167
147
|
type: :development
|
168
148
|
prerelease: false
|
169
149
|
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
150
|
requirements:
|
172
|
-
- - ~>
|
151
|
+
- - "~>"
|
173
152
|
- !ruby/object:Gem::Version
|
174
153
|
version: '1.3'
|
175
154
|
- !ruby/object:Gem::Dependency
|
176
155
|
name: rake
|
177
156
|
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
157
|
requirements:
|
180
|
-
- -
|
158
|
+
- - ">="
|
181
159
|
- !ruby/object:Gem::Version
|
182
160
|
version: '0'
|
183
161
|
type: :development
|
184
162
|
prerelease: false
|
185
163
|
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
164
|
requirements:
|
188
|
-
- -
|
165
|
+
- - ">="
|
189
166
|
- !ruby/object:Gem::Version
|
190
167
|
version: '0'
|
191
168
|
- !ruby/object:Gem::Dependency
|
192
169
|
name: rspec
|
193
170
|
requirement: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
171
|
requirements:
|
196
|
-
- -
|
172
|
+
- - ">="
|
197
173
|
- !ruby/object:Gem::Version
|
198
174
|
version: '0'
|
199
175
|
type: :development
|
200
176
|
prerelease: false
|
201
177
|
version_requirements: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
178
|
requirements:
|
204
|
-
- -
|
179
|
+
- - ">="
|
205
180
|
- !ruby/object:Gem::Version
|
206
181
|
version: '0'
|
207
182
|
- !ruby/object:Gem::Dependency
|
208
183
|
name: rspec-mocks
|
209
184
|
requirement: !ruby/object:Gem::Requirement
|
210
|
-
none: false
|
211
185
|
requirements:
|
212
|
-
- -
|
186
|
+
- - ">="
|
213
187
|
- !ruby/object:Gem::Version
|
214
188
|
version: '0'
|
215
189
|
type: :development
|
216
190
|
prerelease: false
|
217
191
|
version_requirements: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
192
|
requirements:
|
220
|
-
- -
|
193
|
+
- - ">="
|
221
194
|
- !ruby/object:Gem::Version
|
222
195
|
version: '0'
|
223
196
|
- !ruby/object:Gem::Dependency
|
224
197
|
name: database_cleaner
|
225
198
|
requirement: !ruby/object:Gem::Requirement
|
226
|
-
none: false
|
227
199
|
requirements:
|
228
|
-
- -
|
200
|
+
- - ">="
|
229
201
|
- !ruby/object:Gem::Version
|
230
202
|
version: '0'
|
231
203
|
type: :development
|
232
204
|
prerelease: false
|
233
205
|
version_requirements: !ruby/object:Gem::Requirement
|
234
|
-
none: false
|
235
206
|
requirements:
|
236
|
-
- -
|
207
|
+
- - ">="
|
237
208
|
- !ruby/object:Gem::Version
|
238
209
|
version: '0'
|
239
210
|
- !ruby/object:Gem::Dependency
|
240
211
|
name: factory_girl
|
241
212
|
requirement: !ruby/object:Gem::Requirement
|
242
|
-
none: false
|
243
213
|
requirements:
|
244
|
-
- -
|
214
|
+
- - ">="
|
245
215
|
- !ruby/object:Gem::Version
|
246
216
|
version: '0'
|
247
217
|
type: :development
|
248
218
|
prerelease: false
|
249
219
|
version_requirements: !ruby/object:Gem::Requirement
|
250
|
-
none: false
|
251
220
|
requirements:
|
252
|
-
- -
|
221
|
+
- - ">="
|
253
222
|
- !ruby/object:Gem::Version
|
254
223
|
version: '0'
|
255
224
|
- !ruby/object:Gem::Dependency
|
256
225
|
name: timecop
|
257
226
|
requirement: !ruby/object:Gem::Requirement
|
258
|
-
none: false
|
259
227
|
requirements:
|
260
|
-
- -
|
228
|
+
- - ">="
|
261
229
|
- !ruby/object:Gem::Version
|
262
230
|
version: '0'
|
263
231
|
type: :development
|
264
232
|
prerelease: false
|
265
233
|
version_requirements: !ruby/object:Gem::Requirement
|
266
|
-
none: false
|
267
234
|
requirements:
|
268
|
-
- -
|
235
|
+
- - ">="
|
269
236
|
- !ruby/object:Gem::Version
|
270
237
|
version: '0'
|
271
238
|
- !ruby/object:Gem::Dependency
|
272
239
|
name: debugger
|
273
240
|
requirement: !ruby/object:Gem::Requirement
|
274
|
-
none: false
|
275
241
|
requirements:
|
276
|
-
- -
|
242
|
+
- - ">="
|
277
243
|
- !ruby/object:Gem::Version
|
278
244
|
version: '0'
|
279
245
|
type: :development
|
280
246
|
prerelease: false
|
281
247
|
version_requirements: !ruby/object:Gem::Requirement
|
282
|
-
none: false
|
283
248
|
requirements:
|
284
|
-
- -
|
249
|
+
- - ">="
|
285
250
|
- !ruby/object:Gem::Version
|
286
251
|
version: '0'
|
287
252
|
- !ruby/object:Gem::Dependency
|
288
253
|
name: shoulda-matchers
|
289
254
|
requirement: !ruby/object:Gem::Requirement
|
290
|
-
none: false
|
291
255
|
requirements:
|
292
|
-
- -
|
256
|
+
- - ">="
|
293
257
|
- !ruby/object:Gem::Version
|
294
258
|
version: '0'
|
295
259
|
type: :development
|
296
260
|
prerelease: false
|
297
261
|
version_requirements: !ruby/object:Gem::Requirement
|
298
|
-
none: false
|
299
262
|
requirements:
|
300
|
-
- -
|
263
|
+
- - ">="
|
301
264
|
- !ruby/object:Gem::Version
|
302
265
|
version: '0'
|
303
|
-
description:
|
304
|
-
|
305
|
-
|
266
|
+
description: |-
|
267
|
+
Both a trading robot and a library to build trading
|
268
|
+
robots. The bitex-bot lets you buy cheap on bitex and
|
269
|
+
sell on another exchange and vice versa.
|
306
270
|
email:
|
307
271
|
- nb@bitex.la
|
308
272
|
- tr@bitex.la
|
@@ -311,8 +275,8 @@ executables:
|
|
311
275
|
extensions: []
|
312
276
|
extra_rdoc_files: []
|
313
277
|
files:
|
314
|
-
- .gitignore
|
315
|
-
- .rspec
|
278
|
+
- ".gitignore"
|
279
|
+
- ".rspec"
|
316
280
|
- Gemfile
|
317
281
|
- LICENSE.txt
|
318
282
|
- README.md
|
@@ -357,27 +321,26 @@ files:
|
|
357
321
|
homepage: ''
|
358
322
|
licenses:
|
359
323
|
- MIT
|
324
|
+
metadata: {}
|
360
325
|
post_install_message:
|
361
326
|
rdoc_options: []
|
362
327
|
require_paths:
|
363
328
|
- lib
|
364
329
|
required_ruby_version: !ruby/object:Gem::Requirement
|
365
|
-
none: false
|
366
330
|
requirements:
|
367
|
-
- -
|
331
|
+
- - ">="
|
368
332
|
- !ruby/object:Gem::Version
|
369
333
|
version: '0'
|
370
334
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
371
|
-
none: false
|
372
335
|
requirements:
|
373
|
-
- -
|
336
|
+
- - ">="
|
374
337
|
- !ruby/object:Gem::Version
|
375
338
|
version: '0'
|
376
339
|
requirements: []
|
377
340
|
rubyforge_project:
|
378
|
-
rubygems_version:
|
341
|
+
rubygems_version: 2.4.5
|
379
342
|
signing_key:
|
380
|
-
specification_version:
|
343
|
+
specification_version: 4
|
381
344
|
summary: A trading robot to do arbitrage between bitex.la and other exchanges!
|
382
345
|
test_files:
|
383
346
|
- spec/factories/bitex_buy.rb
|
@@ -395,4 +358,3 @@ test_files:
|
|
395
358
|
- spec/spec_helper.rb
|
396
359
|
- spec/support/bitex_stubs.rb
|
397
360
|
- spec/support/bitstamp_stubs.rb
|
398
|
-
has_rdoc:
|