binance-ruby 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/binance/api/account.rb +2 -15
- data/lib/binance/api/configuration.rb +1 -1
- data/lib/binance/api/order.rb +1 -1
- data/lib/binance/api/request.rb +2 -1
- data/lib/binance/api/version.rb +1 -1
- data/lib/binance/api.rb +0 -8
- data/lib/binance/websocket.rb +22 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4de51ede5570a5a06e9b4fa6714e7924eea9c161b6d369bfd017b7221221c5f
|
4
|
+
data.tar.gz: ba35f9071516ac5a1454c381fc1b04519b44f858f06389365aef938c759922ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cc40f3549aa3e01c58b83092ff681fa5e53a66bfdf0f03debdf9c506ac8d99d8345cdccc268101a0a14b8a2dc252fc160506000206089b4f58604e939a67de3
|
7
|
+
data.tar.gz: a96ce7998043da556176f95cba44029e50af747c77b1e739e1c0c51010b5dc1601e76cb0f598da5167872a7c7321ee2d1b77a65d6b264990e2d86d9a26312d7d
|
data/lib/binance/api/account.rb
CHANGED
@@ -2,7 +2,7 @@ module Binance
|
|
2
2
|
module Api
|
3
3
|
class Account
|
4
4
|
class << self
|
5
|
-
def fees!(recvWindow:
|
5
|
+
def fees!(recvWindow: 5000, api_key: nil, api_secret_key: nil)
|
6
6
|
timestamp = Configuration.timestamp
|
7
7
|
params = { recvWindow: recvWindow, timestamp: timestamp }
|
8
8
|
Request.send!(api_key_type: :read_info, path: "/wapi/v3/assetDetail.html",
|
@@ -10,7 +10,7 @@ module Binance
|
|
10
10
|
security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
|
11
11
|
end
|
12
12
|
|
13
|
-
def info!(recvWindow:
|
13
|
+
def info!(recvWindow: 5000, api_key: nil, api_secret_key: nil)
|
14
14
|
timestamp = Configuration.timestamp
|
15
15
|
params = { recvWindow: recvWindow, timestamp: timestamp }
|
16
16
|
Request.send!(api_key_type: :read_info, path: "/api/v3/account",
|
@@ -44,19 +44,6 @@ module Binance
|
|
44
44
|
params: params.delete_if { |key, value| value.nil? }, method: :post,
|
45
45
|
security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
|
46
46
|
end
|
47
|
-
|
48
|
-
# If both startTime and endTime are sent, time between startTime and endTime must be less than 90 days.
|
49
|
-
def withdraw_history!(coin: nil, status: nil, offset: nil, limit: nil, startTime: nil, endTime: nil,
|
50
|
-
recvWindow: nil, api_key: nil, api_secret_key: nil)
|
51
|
-
timestamp = Configuration.timestamp
|
52
|
-
params = {
|
53
|
-
coin: coin, status: status, offset: offset, limit: limit, startTime: startTime,
|
54
|
-
endTime: endTime, recvWindow: recvWindow, timestamp: timestamp,
|
55
|
-
}
|
56
|
-
Request.send!(api_key_type: :withdrawals, path: "/sapi/v1/capital/withdraw/history",
|
57
|
-
params: params.delete_if { |key, value| value.nil? }, method: :get,
|
58
|
-
security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
|
59
|
-
end
|
60
47
|
end
|
61
48
|
end
|
62
49
|
end
|
@@ -10,7 +10,7 @@ module Binance
|
|
10
10
|
|
11
11
|
def api_key(type: nil)
|
12
12
|
raise Error.new(message: "invalid api_key type: #{type}.") unless type.nil? || api_key_types.include?(type)
|
13
|
-
instance_api_key(type: type) || ENV["BINANCE_#{type.to_s.humanize.upcase}_API_KEY"] || ENV["BINANCE_API_KEY"]
|
13
|
+
instance_api_key(type: type) || ENV["BINANCE_#{type.to_s.humanize.upcase}_API_KEY"] || instance_api_key || ENV["BINANCE_API_KEY"]
|
14
14
|
end
|
15
15
|
|
16
16
|
def tld
|
data/lib/binance/api/order.rb
CHANGED
@@ -14,7 +14,7 @@ module Binance
|
|
14
14
|
end
|
15
15
|
|
16
16
|
# Be careful when accessing without a symbol!
|
17
|
-
def all_open!(recvWindow:
|
17
|
+
def all_open!(recvWindow: 5000, symbol: nil, api_key: nil, api_secret_key: nil)
|
18
18
|
timestamp = Configuration.timestamp
|
19
19
|
params = { recvWindow: recvWindow, symbol: symbol, timestamp: timestamp }
|
20
20
|
Request.send!(api_key_type: :read_info, path: "/api/v3/openOrders",
|
data/lib/binance/api/request.rb
CHANGED
@@ -5,7 +5,8 @@ module Binance
|
|
5
5
|
class << self
|
6
6
|
def send!(api_key_type: :none, headers: {}, method: :get, path: "/", params: {}, security_type: :none, tld: Configuration.tld, api_key: nil, api_secret_key: nil)
|
7
7
|
Configuration.validate_tld!(tld)
|
8
|
-
|
8
|
+
binance_uri = ENV['BINANCE_TEST_NET_ENABLE'] ? "https://testnet.binance.vision" : "https://api.binance.#{tld}"
|
9
|
+
self.base_uri binance_uri
|
9
10
|
|
10
11
|
raise Error.new(message: "invalid security type #{security_type}") unless security_types.include?(security_type)
|
11
12
|
all_headers = default_headers(api_key_type: api_key_type, security_type: security_type, api_key: api_key)
|
data/lib/binance/api/version.rb
CHANGED
data/lib/binance/api.rb
CHANGED
@@ -1,14 +1,6 @@
|
|
1
1
|
module Binance
|
2
2
|
module Api
|
3
3
|
class << self
|
4
|
-
def all_coins_info!(recvWindow: nil, api_key: nil, api_secret_key: nil)
|
5
|
-
timestamp = Configuration.timestamp
|
6
|
-
params = { recvWindow: recvWindow, timestamp: timestamp }
|
7
|
-
Request.send!(api_key_type: :read_info, security_type: :user_data,
|
8
|
-
path: "/sapi/v1/capital/config/getall", params: params,
|
9
|
-
api_key: api_key, api_secret_key: api_secret_key)
|
10
|
-
end
|
11
|
-
|
12
4
|
# Valid limits:[5, 10, 20, 50, 100, 500, 1000]
|
13
5
|
def candlesticks!(endTime: nil, interval: nil, limit: 500, startTime: nil, symbol: nil, api_key: nil, api_secret_key: nil)
|
14
6
|
raise Error.new(message: "interval is required") unless interval
|
data/lib/binance/websocket.rb
CHANGED
@@ -58,6 +58,26 @@ module Binance
|
|
58
58
|
subscribe([listen_key])
|
59
59
|
end
|
60
60
|
|
61
|
+
# stream name: <symbol>@trade
|
62
|
+
# {
|
63
|
+
# "e": "trade", // Event type
|
64
|
+
# "E": 123456789, // Event time
|
65
|
+
# "s": "BNBBTC", // Symbol
|
66
|
+
# "t": 12345, // Trade ID
|
67
|
+
# "p": "0.001", // Price
|
68
|
+
# "q": "100", // Quantity
|
69
|
+
# "b": 88, // Buyer order ID
|
70
|
+
# "a": 50, // Seller order ID
|
71
|
+
# "T": 123456785, // Trade time
|
72
|
+
# "m": true, // Is the buyer the market maker?
|
73
|
+
# "M": true // Ignore
|
74
|
+
# }
|
75
|
+
def trades!(symbols, &on_receive)
|
76
|
+
symbols_fmt = symbols.is_a?(String) ? [symbols] : symbols
|
77
|
+
@trades_handler = on_receive
|
78
|
+
subscribe(symbols_fmt.map { |s| "#{s.downcase}@trade" })
|
79
|
+
end
|
80
|
+
|
61
81
|
private
|
62
82
|
|
63
83
|
def process_data(data)
|
@@ -75,6 +95,8 @@ module Binance
|
|
75
95
|
when :executionReport # order update
|
76
96
|
listen_key = json[:stream]
|
77
97
|
@user_stream_handlers[listen_key]&.call(listen_key, json[:data])
|
98
|
+
when :trade
|
99
|
+
@trades_handler&.call(json[:stream], json[:data])
|
78
100
|
end
|
79
101
|
end
|
80
102
|
end
|
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: 1.3.
|
4
|
+
version: 1.3.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:
|
11
|
+
date: 2022-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codecov
|
@@ -237,5 +237,5 @@ requirements: []
|
|
237
237
|
rubygems_version: 3.1.6
|
238
238
|
signing_key:
|
239
239
|
specification_version: 4
|
240
|
-
summary: binance-ruby-1.3.
|
240
|
+
summary: binance-ruby-1.3.2
|
241
241
|
test_files: []
|