binance-ruby 1.3.7 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8ba86df1d2e07c84e4f681535c13333507173af93aea424d63dcdb88390d8007
4
- data.tar.gz: 955a2f962c53470f9dd0c5942182c40bac082272206b7ee4c4910e5003dbec82
3
+ metadata.gz: 48d629c5e7b7720c73ae445f82a31d786fb51183d403e58e659447f336fe0ea7
4
+ data.tar.gz: 70cbd682024d0e4ea652002fb723a70a2b7d31cdfcc830c69787ada7eadf2fe2
5
5
  SHA512:
6
- metadata.gz: 6bfbde476506d4d59f68711035af143cde787092ee6745aea2e76b17790191e8e15aeeb271dcf1c3357eedc78931f1a979aa5c0a506f1de0ed13116d051f8088
7
- data.tar.gz: 4957c6a7484925960408b15a3836587507de417baf672a2aab0d220a9ad72f798138b9cf5ccdc7cf4b792338a68d178dd0ba483650901ea78c5e05130550e338
6
+ metadata.gz: 826c8667fcbbcbceea7961177d4c05e0dc960527b60b9387784703654237d244a40ff05bc7ba639ff79088266d6bdd89d2b4f7e1b0d1acbd573ceba622de0eaf
7
+ data.tar.gz: c26c5d87112adc36a786ad5fdae71cef2533aeb548a0e870c588b73d024994945562ee934a4df5fecd77f2b3def99c2bea11e3a802a90aa012b2aed524a293b7
@@ -57,6 +57,26 @@ module Binance
57
57
  params: params.delete_if { |key, value| value.nil? }, method: :get,
58
58
  security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
59
59
  end
60
+
61
+ def deposit_history(fiatCurrency: nil, startTime: nil, endTime: nil, recvWindow: nil, api_key: nil, api_secret_key: nil)
62
+ timestamp = Configuration.timestamp
63
+ params = { fiatCurrency: fiatCurrency, startTime: startTime,
64
+ endTime: endTime, recvWindow: recvWindow, timestamp: timestamp,
65
+ }
66
+ Request.send!(api_key_type: :read_info, path: "/sapi/v1/fiatpayment/query/deposit/history",
67
+ params: params.delete_if { |key, value| value.nil? }, method: :get,
68
+ security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
69
+ end
70
+
71
+ def withdraw_history(fiatCurrency: nil, startTime: nil, endTime: nil, recvWindow: nil, api_key: nil, api_secret_key: nil)
72
+ timestamp = Configuration.timestamp
73
+ params = { fiatCurrency: fiatCurrency, startTime: startTime,
74
+ endTime: endTime, recvWindow: recvWindow, timestamp: timestamp,
75
+ }
76
+ Request.send!(api_key_type: :read_info, path: "/sapi/v1/fiatpayment/query/withdraw/history",
77
+ params: params.delete_if { |key, value| value.nil? }, method: :get,
78
+ security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key)
79
+ end
60
80
  end
61
81
  end
62
82
  end
@@ -36,6 +36,21 @@ module Binance
36
36
  api_key: api_key, api_secret_key: api_secret_key)
37
37
  end
38
38
 
39
+ def status!(orderId: nil, originalClientOrderId: nil, recvWindow: nil, symbol: nil,
40
+ api_key: nil, api_secret_key: nil)
41
+ raise Error.new(message: "symbol is required") if symbol.nil?
42
+ raise Error.new(message: "either orderid or originalclientorderid " \
43
+ "is required") if orderId.nil? && originalClientOrderId.nil?
44
+ timestamp = Configuration.timestamp
45
+ params = {
46
+ orderId: orderId, origClientOrderId: originalClientOrderId, recvWindow: recvWindow,
47
+ symbol: symbol, timestamp: timestamp,
48
+ }.delete_if { |key, value| value.nil? }
49
+ Request.send!(api_key_type: :trading, path: "/sapi/v1/margin/order",
50
+ params: params, security_type: :user_data, tld: Configuration.tld, api_key: api_key,
51
+ api_secret_key: api_secret_key)
52
+ end
53
+
39
54
  private
40
55
 
41
56
  def additional_required_create_keys(type:)
@@ -11,7 +11,7 @@ module Binance
11
11
  raise Error.new(message: "invalid security type #{security_type}") unless security_types.include?(security_type)
12
12
  all_headers = default_headers(api_key_type: api_key_type, security_type: security_type, api_key: api_key)
13
13
  params.delete_if { |k, v| v.nil? }
14
- if %w(trade user_data).include?(security_type&.to_s)
14
+ if %w(trade user_data margin).include?(security_type&.to_s)
15
15
  signature = signed_request_signature(params: params, api_secret_key: api_secret_key)
16
16
  params.merge!(signature: signature)
17
17
  end
@@ -15,6 +15,18 @@ module Binance
15
15
  security_type: :user_stream, api_key: api_key, api_secret_key: api_secret_key)[:listenKey]
16
16
  end
17
17
 
18
+ def margin_start!(api_key: nil, api_secret_key: nil)
19
+ Request.send!(api_key_type: :none, method: :post, path: "/sapi/v1/userDataStream",
20
+ security_type: :user_stream, api_key: api_key, api_secret_key: api_secret_key)[:listenKey]
21
+ end
22
+
23
+ def margin_keepalive!(listen_key: nil, api_key: nil, api_secret_key: nil)
24
+ raise Error.new(message: "listen_key is required") if listen_key.nil?
25
+ Request.send!(api_key_type: :none, method: :put, path: "/sapi/v1/userDataStream",
26
+ params: { listenKey: listen_key }, security_type: :user_stream,
27
+ api_key: api_key, api_secret_key: api_secret_key)
28
+ end
29
+
18
30
  def stop!(listen_key: nil, api_key: nil, api_secret_key: nil)
19
31
  raise Error.new(message: "listen_key is required") if listen_key.nil?
20
32
  Request.send!(api_key_type: :none, method: :delete, path: "/api/v1/userDataStream",
@@ -1,5 +1,5 @@
1
1
  module Binance
2
2
  module Api
3
- VERSION = "1.3.7"
3
+ VERSION = "1.4.0"
4
4
  end
5
5
  end
data/lib/binance/api.rb CHANGED
@@ -61,12 +61,18 @@ module Binance
61
61
  Request.send!(path: "/api/v1/ping")
62
62
  end
63
63
 
64
- def ticker!(symbol: nil, type: nil, api_key: nil, api_secret_key: nil)
64
+ def ticker!(symbol: nil, symbols: nil, type: nil, api_key: nil, api_secret_key: nil)
65
65
  ticker_type = type&.to_sym
66
66
  error_message = "type must be one of: #{ticker_types.join(", ")}. #{type} was provided."
67
67
  raise Error.new(message: error_message) unless ticker_types.include? ticker_type
68
68
  path = ticker_path(type: ticker_type)
69
- params = symbol ? { symbol: symbol } : {}
69
+ params = if symbol
70
+ { symbols: symbol }
71
+ elsif symbols
72
+ { symbols: symbols.to_s.delete(' ') }
73
+ else
74
+ {}
75
+ end
70
76
  Request.send!(api_key_type: :read_info, path: path, params: params,
71
77
  api_key: api_key, api_secret_key: api_secret_key)
72
78
  end
@@ -3,7 +3,9 @@ module Binance
3
3
  class Error < StandardError; end
4
4
 
5
5
  def initialize(on_open: nil, on_close: nil)
6
- super "wss://stream.binance.com:9443/stream", nil, ping: 180
6
+ wss_uri = ENV['BINANCE_TEST_NET_ENABLE'] ? "wss://testnet.binance.vision/stream" : "wss://stream.binance.com:9443/stream"
7
+
8
+ super wss_uri, nil, ping: 180
7
9
 
8
10
  @request_id_inc = 0
9
11
  @user_stream_handlers = {}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binance-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Peterson
@@ -237,5 +237,5 @@ requirements: []
237
237
  rubygems_version: 3.4.10
238
238
  signing_key:
239
239
  specification_version: 4
240
- summary: binance-ruby-1.3.7
240
+ summary: binance-ruby-1.4.0
241
241
  test_files: []