binance-ruby 1.3.1 → 1.3.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/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: []
|