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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eaed3bdcc2611924c8e1e6d361ce6e4634845da9da89a97e10c242e7367e7ea0
4
- data.tar.gz: 0ee997d53d85aa416ed36282c5646cbe088676ad17fbc81e7d0228830aebe8e2
3
+ metadata.gz: e4de51ede5570a5a06e9b4fa6714e7924eea9c161b6d369bfd017b7221221c5f
4
+ data.tar.gz: ba35f9071516ac5a1454c381fc1b04519b44f858f06389365aef938c759922ed
5
5
  SHA512:
6
- metadata.gz: 9c3871752fac15616de6a866f5f9f399303bb27847fd740cd9071160c70694baa4ca8135244af491259281dde411b4ec9b3cb96809ec23e306f41b027f9cb60d
7
- data.tar.gz: 7e48535b7170dd65aa5a23bc707a7a934853e79e26b64a20db8c65e84ea0f46067b35254bab930d0eaf7d949f73832c8b6043d4b429533227ca9b2eea57abf30
6
+ metadata.gz: 0cc40f3549aa3e01c58b83092ff681fa5e53a66bfdf0f03debdf9c506ac8d99d8345cdccc268101a0a14b8a2dc252fc160506000206089b4f58604e939a67de3
7
+ data.tar.gz: a96ce7998043da556176f95cba44029e50af747c77b1e739e1c0c51010b5dc1601e76cb0f598da5167872a7c7321ee2d1b77a65d6b264990e2d86d9a26312d7d
@@ -2,7 +2,7 @@ module Binance
2
2
  module Api
3
3
  class Account
4
4
  class << self
5
- def fees!(recvWindow: nil, api_key: nil, api_secret_key: nil)
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: nil, api_key: nil, api_secret_key: nil)
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
@@ -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: nil, symbol: nil, api_key: nil, api_secret_key: nil)
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",
@@ -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
- self.base_uri "https://api.binance.#{tld}"
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)
@@ -1,5 +1,5 @@
1
1
  module Binance
2
2
  module Api
3
- VERSION = "1.3.1"
3
+ VERSION = "1.3.2"
4
4
  end
5
5
  end
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
@@ -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.1
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: 2021-06-06 00:00:00.000000000 Z
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.1
240
+ summary: binance-ruby-1.3.2
241
241
  test_files: []