binance-ruby 0.1.9 → 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/binance/api.rb +10 -10
- data/lib/binance/api/account.rb +4 -4
- data/lib/binance/api/configuration.rb +1 -1
- data/lib/binance/api/order.rb +24 -30
- data/lib/binance/api/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 590acab5cf686ad0c4fa8947e18d8d79fcd78a40
|
4
|
+
data.tar.gz: 7a1a0ff15880ee257ee99b25822e90bd313d476c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53244d7dd72226826c260833e6eb57f560ca35fb1b25c717f27b0d309480aa2dc08b57cf65da9a8565f16d36f098588d5bc050930ca27c9eefcf40d886dbd7de
|
7
|
+
data.tar.gz: d618b151472626dc7d6df8f06eb48809807be7cfdd23b91f49e2de929cd27d368d35c6f39e8557b6e8181fb252b677365a0fdc49910e66c3bcbbc2a88f20f7f6
|
data/lib/binance/api.rb
CHANGED
@@ -2,17 +2,17 @@ module Binance
|
|
2
2
|
module Api
|
3
3
|
class << self
|
4
4
|
# Valid limits:[5, 10, 20, 50, 100, 500, 1000]
|
5
|
-
def candlesticks!(
|
5
|
+
def candlesticks!(endTime: nil, interval: nil, limit: 500, startTime: nil, symbol: nil)
|
6
6
|
raise Error.new(message: 'interval is required') unless interval
|
7
7
|
raise Error.new(message: 'symbol is required') unless symbol
|
8
|
-
params = { endTime:
|
8
|
+
params = { endTime: endTime, interval: interval, limit: limit, startTime: startTime, symbol: symbol }
|
9
9
|
Request.send!(api_key_type: :read_info, path: '/api/v1/klines', params: params)
|
10
10
|
end
|
11
11
|
|
12
|
-
def compressed_aggregate_trades!(
|
12
|
+
def compressed_aggregate_trades!(endTime: nil, fromId: nil, limit: 500, startTime: nil, symbol: nil)
|
13
13
|
raise Error.new(message: "symbol is required") unless symbol
|
14
14
|
params = {
|
15
|
-
endTime:
|
15
|
+
endTime: endTime, fromId: fromId, limit: limit, startTime: startTime, symbol: symbol
|
16
16
|
}.delete_if { |key, value| value.nil? }
|
17
17
|
Request.send!(api_key_type: :read_info, path: '/api/v1/aggTrades', params: params)
|
18
18
|
end
|
@@ -27,15 +27,15 @@ module Binance
|
|
27
27
|
Request.send!(api_key_type: :read_info, path: '/api/v1/exchangeInfo')
|
28
28
|
end
|
29
29
|
|
30
|
-
def historical_trades!(symbol: nil, limit: 500,
|
30
|
+
def historical_trades!(symbol: nil, limit: 500, fromId: nil)
|
31
31
|
raise Error.new(message: "symbol is required") unless symbol
|
32
|
-
params = { fromId:
|
32
|
+
params = { fromId: fromId, limit: limit, symbol: symbol }
|
33
33
|
Request.send!(api_key_type: :read_info, path: '/api/v1/historicalTrades', params: params, security_type: :market_data)
|
34
34
|
end
|
35
35
|
|
36
|
-
def info!(
|
36
|
+
def info!(recvWindow: nil)
|
37
37
|
timestamp = Configuration.timestamp
|
38
|
-
params = { recvWindow:
|
38
|
+
params = { recvWindow: recvWindow, timestamp: timestamp }.delete_if { |key, value| value.nil? }
|
39
39
|
Request.send!(api_key_type: :read_info, path: '/api/v3/account', params: params, security_type: :user_data)
|
40
40
|
end
|
41
41
|
|
@@ -68,13 +68,13 @@ module Binance
|
|
68
68
|
case type
|
69
69
|
when :daily
|
70
70
|
'/api/v1/ticker/24hr'
|
71
|
-
when :price, :
|
71
|
+
when :price, :bookTicker
|
72
72
|
"/api/v3/ticker/#{type.to_s.camelize(:lower)}"
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
def ticker_types
|
77
|
-
[:daily, :price, :
|
77
|
+
[:daily, :price, :bookTicker].freeze
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
data/lib/binance/api/account.rb
CHANGED
@@ -2,19 +2,19 @@ module Binance
|
|
2
2
|
module Api
|
3
3
|
class Account
|
4
4
|
class << self
|
5
|
-
def info!(
|
5
|
+
def info!(recvWindow: 5000)
|
6
6
|
timestamp = Configuration.timestamp
|
7
|
-
params = { recvWindow:
|
7
|
+
params = { recvWindow: recvWindow, timestamp: timestamp }
|
8
8
|
Request.send!(api_key_type: :read_info, path: "/api/v3/account",
|
9
9
|
params: params.delete_if { |key, value| value.nil? },
|
10
10
|
security_type: :user_data)
|
11
11
|
end
|
12
12
|
|
13
|
-
def trades!(
|
13
|
+
def trades!(fromId: nil, limit: 500, recvWindow: 5000, symbol: nil)
|
14
14
|
raise Error.new(message: "max limit is 500") unless limit <= 500
|
15
15
|
raise Error.new(message: "symbol is required") if symbol.nil?
|
16
16
|
timestamp = Configuration.timestamp
|
17
|
-
params = { fromId:
|
17
|
+
params = { fromId: fromId, limit: limit, recvWindow: recvWindow, symbol: symbol, timestamp: timestamp }
|
18
18
|
Request.send!(api_key_type: :read_info, path: "/api/v3/myTrades",
|
19
19
|
params: params.delete_if { |key, value| value.nil? },
|
20
20
|
security_type: :user_data)
|
data/lib/binance/api/order.rb
CHANGED
@@ -2,65 +2,59 @@ module Binance
|
|
2
2
|
module Api
|
3
3
|
class Order
|
4
4
|
class << self
|
5
|
-
def all!(limit: 500,
|
5
|
+
def all!(limit: 500, orderId: nil, recvWindow: 5000, symbol: nil)
|
6
6
|
raise Error.new(message: "max limit is 500") unless limit <= 500
|
7
7
|
raise Error.new(message: "symbol is required") if symbol.nil?
|
8
8
|
timestamp = Configuration.timestamp
|
9
|
-
params = { limit: limit, orderId:
|
9
|
+
params = { limit: limit, orderId: orderId, recvWindow: recvWindow, symbol: symbol, timestamp: timestamp }
|
10
10
|
Request.send!(api_key_type: :read_info, path: "/api/v3/allOrders",
|
11
11
|
params: params.delete_if { |key, value| value.nil? },
|
12
12
|
security_type: :user_data)
|
13
13
|
end
|
14
14
|
|
15
15
|
# Be careful when accessing without a symbol!
|
16
|
-
def all_open!(
|
16
|
+
def all_open!(recvWindow: 5000, symbol: nil)
|
17
17
|
timestamp = Configuration.timestamp
|
18
|
-
params = { recvWindow:
|
18
|
+
params = { recvWindow: recvWindow, symbol: symbol, timestamp: timestamp }
|
19
19
|
Request.send!(api_key_type: :read_info, path: '/api/v3/openOrders',
|
20
20
|
params: params, security_type: :user_data)
|
21
21
|
end
|
22
22
|
|
23
|
-
def cancel!(
|
23
|
+
def cancel!(orderId: nil, originalClientOrderId: nil, newClientOrderId: nil, recvWindow: nil, symbol: nil)
|
24
24
|
raise Error.new(message: "symbol is required") if symbol.nil?
|
25
|
-
raise Error.new(message: "either
|
26
|
-
"is required") if
|
25
|
+
raise Error.new(message: "either orderid or originalclientorderid " \
|
26
|
+
"is required") if orderId.nil? && originalClientOrderId.nil?
|
27
27
|
timestamp = Configuration.timestamp
|
28
|
-
params = { orderId:
|
29
|
-
newClientOrderId:
|
28
|
+
params = { orderId: orderId, origClientOrderId: originalClientOrderId,
|
29
|
+
newClientOrderId: newClientOrderId, recvWindow: recvWindow,
|
30
30
|
symbol: symbol, timestamp: timestamp }.delete_if { |key, value| value.nil? }
|
31
31
|
Request.send!(api_key_type: :trading, method: :delete, path: "/api/v3/order",
|
32
32
|
params: params, security_type: :trade)
|
33
33
|
end
|
34
34
|
|
35
|
-
def create!(
|
36
|
-
price: nil, quantity: nil,
|
37
|
-
side: nil, type: nil,
|
35
|
+
def create!(icebergQuantity: nil, newClientOrderId: nil, newOrderResponseType: nil,
|
36
|
+
price: nil, quantity: nil, recvWindow: nil, stopPrice: nil, symbol: nil,
|
37
|
+
side: nil, type: nil, timeInForce: nil, test: false)
|
38
38
|
timestamp = Configuration.timestamp
|
39
|
-
ensure_required_create_keys!(params: {
|
40
|
-
iceberg_quantity: iceberg_quantity, new_client_order_id: new_client_order_id,
|
41
|
-
new_order_response_type: new_order_response_type, price: price,
|
42
|
-
quantity: quantity, recv_window: recv_window, stop_price: stop_price,
|
43
|
-
symbol: symbol, side: side, type: type, time_in_force: time_in_force,
|
44
|
-
timestamp: timestamp
|
45
|
-
})
|
46
39
|
params = {
|
47
|
-
icebergQty:
|
48
|
-
newOrderRespType:
|
49
|
-
recvWindow:
|
50
|
-
type: type, timeInForce:
|
40
|
+
icebergQty: icebergQuantity, newClientOrderId: newClientOrderId,
|
41
|
+
newOrderRespType: newOrderResponseType, price: price, quantity: quantity,
|
42
|
+
recvWindow: recvWindow, stopPrice: stopPrice, symbol: symbol, side: side,
|
43
|
+
type: type, timeInForce: timeInForce, timestamp: timestamp
|
51
44
|
}.delete_if { |key, value| value.nil? }
|
45
|
+
ensure_required_create_keys!(params: params)
|
52
46
|
path = "/api/v3/order#{'/test' if test}"
|
53
47
|
Request.send!(api_key_type: :trading, method: :post, path: path,
|
54
48
|
params: params, security_type: :trade)
|
55
49
|
end
|
56
50
|
|
57
|
-
def status!(
|
51
|
+
def status!(orderId: nil, originalClientOrderId: nil, recvWindow: nil, symbol: nil)
|
58
52
|
raise Error.new(message: "symbol is required") if symbol.nil?
|
59
|
-
raise Error.new(message: "either
|
60
|
-
"is required") if
|
53
|
+
raise Error.new(message: "either orderid or originalclientorderid " \
|
54
|
+
"is required") if orderId.nil? && originalClientOrderId.nil?
|
61
55
|
timestamp = Configuration.timestamp
|
62
56
|
params = {
|
63
|
-
orderId:
|
57
|
+
orderId: orderId, origClientOrderId: originalClientOrderId, recvWindow: recvWindow,
|
64
58
|
symbol: symbol, timestamp: timestamp
|
65
59
|
}.delete_if { |key, value| value.nil? }
|
66
60
|
Request.send!(api_key_type: :trading, path: "/api/v3/order",
|
@@ -72,11 +66,11 @@ module Binance
|
|
72
66
|
def additional_required_create_keys(type:)
|
73
67
|
case type
|
74
68
|
when :limit
|
75
|
-
[:price, :
|
69
|
+
[:price, :timeInForce].freeze
|
76
70
|
when :stop_loss, :take_profit
|
77
|
-
[:
|
71
|
+
[:stopPrice].freeze
|
78
72
|
when :stop_loss_limit, :take_profit_limit
|
79
|
-
[:price, :
|
73
|
+
[:price, :stopPrice, :timeInForce].freeze
|
80
74
|
when :limit_maker
|
81
75
|
[:price].freeze
|
82
76
|
else
|
data/lib/binance/api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: binance-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Peterson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codecov
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '12.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.11.3
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.11.3
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: activesupport
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,5 +190,5 @@ rubyforge_project:
|
|
176
190
|
rubygems_version: 2.5.2
|
177
191
|
signing_key:
|
178
192
|
specification_version: 4
|
179
|
-
summary: binance-ruby-0.
|
193
|
+
summary: binance-ruby-0.2
|
180
194
|
test_files: []
|