binance-connector-ruby 1.5.2 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,7 +20,7 @@ module Binance
20
20
  # Update Speed: Real-time
21
21
  #
22
22
  # @param symbol [String]
23
- # @see https://binance-docs.github.io/apidocs/spot/en/#aggregate-trade-streams
23
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#aggregate-trade-streams
24
24
  def agg_trade(symbol:, callbacks:)
25
25
  url = "#{@base_url}/ws/#{symbol.downcase}@aggTrade"
26
26
  create_connection(url, callbacks)
@@ -32,20 +32,20 @@ module Binance
32
32
  # Update Speed: Real-time
33
33
  #
34
34
  # @param symbol [String]
35
- # @see https://binance-docs.github.io/apidocs/spot/en/#trade-streams
35
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#trade-streams
36
36
  def trade(symbol:, callbacks:)
37
37
  url = "#{@base_url}/ws/#{symbol.downcase}@trade"
38
38
  create_connection(url, callbacks)
39
39
  end
40
40
 
41
- # Kline/Candlestick Streams
41
+ # Kline/Candlestick Streams for UTC
42
42
  # The Kline/Candlestick Stream push updates to the current klines/candlestick every second.
43
43
  # Stream Name: <symbol>@kline_<interval>
44
44
  # Update Speed: 2000ms
45
45
  #
46
46
  # @param symbol [String]
47
47
  # @param interval [String] 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M
48
- # @see https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-streams
48
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#klinecandlestick-streams-for-utc
49
49
  def kline(symbol:, interval:, callbacks:)
50
50
  url = "#{@base_url}/ws/#{symbol.downcase}@kline_#{interval}"
51
51
  create_connection(url, callbacks)
@@ -57,7 +57,7 @@ module Binance
57
57
  # Update Speed: 1000ms
58
58
  #
59
59
  # @option symbol [String]
60
- # @see https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream
60
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#individual-symbol-mini-ticker-stream
61
61
  def mini_ticker(callbacks:, symbol: nil)
62
62
  url = if symbol.nil?
63
63
  "#{@base_url}/ws/!miniTicker@arr"
@@ -73,7 +73,7 @@ module Binance
73
73
  # Update Speed: 1000ms
74
74
  #
75
75
  # @option symbol [String]
76
- # @see https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-ticker-streams
76
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#individual-symbol-ticker-streams
77
77
  def symbol_ticker(callbacks:, symbol: nil)
78
78
  url = if symbol.nil?
79
79
  "#{@base_url}/ws/!ticker@arr"
@@ -89,7 +89,7 @@ module Binance
89
89
  # Update Speed: Real-time
90
90
  #
91
91
  # @option symbol [String]
92
- # @see https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-book-ticker-streams
92
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#individual-symbol-book-ticker-streams
93
93
  def book_ticker(callbacks:, symbol: nil)
94
94
  url = if symbol.nil?
95
95
  "#{@base_url}/ws/!bookTicker"
@@ -99,6 +99,18 @@ module Binance
99
99
  create_connection(url, callbacks)
100
100
  end
101
101
 
102
+ # Average Price
103
+ # Average price streams push changes in the average price over a fixed time interval.
104
+ # Stream Name: <symbol>@avgPrice
105
+ # Update Speed: 1000ms
106
+ #
107
+ # @param symbol [String]
108
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#average-price
109
+ def avg_price(symbol:, callbacks:)
110
+ url = "#{@base_url}/ws/#{symbol.downcase}@avgPrice"
111
+ create_connection(url, callbacks)
112
+ end
113
+
102
114
  # Partial Book Depth Streams
103
115
  # Top bids and asks, Valid are 5, 10, or 20.
104
116
  # Stream Name: <symbol>@depth<levels> OR <symbol>@depth<levels>@100ms.
@@ -107,7 +119,7 @@ module Binance
107
119
  # @param symbol [String]
108
120
  # @param levels [Integer] 5, 10, or 20.
109
121
  # @param speed [String] 1000ms or 100ms
110
- # @see https://binance-docs.github.io/apidocs/spot/en/#partial-book-depth-streams
122
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#partial-book-depth-streams
111
123
  def partial_book_depth(symbol:, levels:, speed:, callbacks:)
112
124
  url = "#{@base_url}/ws/#{symbol.downcase}@depth#{levels}@#{speed}"
113
125
  create_connection(url, callbacks)
@@ -120,7 +132,7 @@ module Binance
120
132
  #
121
133
  # @param symbol [String]
122
134
  # @param speed [String] 1000ms or 100ms
123
- # @see https://binance-docs.github.io/apidocs/spot/en/#diff-depth-stream
135
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#diff-depth-stream
124
136
  def diff_book_depth(symbol:, speed:, callbacks:)
125
137
  url = "#{@base_url}/ws/#{symbol.downcase}@depth@#{speed}"
126
138
  create_connection(url, callbacks)
@@ -132,7 +144,7 @@ module Binance
132
144
  # Window Sizes: 1h,4h
133
145
  # Update Speed: 1000ms
134
146
  #
135
- # @see https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-rolling-window-statistics-streams
147
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#individual-symbol-rolling-window-statistics-streams
136
148
  def rolling_window_ticker(symbol:, windowSize:, callbacks:)
137
149
  url = "#{@base_url}/ws/#{symbol.downcase}@ticker_#{windowSize}"
138
150
  create_connection(url, callbacks)
@@ -144,7 +156,7 @@ module Binance
144
156
  # Window Sizes: 1h, 4h
145
157
  # Update Speed: 1000ms
146
158
  #
147
- # @see https://binance-docs.github.io/apidocs/spot/en/#all-market-rolling-window-statistics-streams
159
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams#all-market-rolling-window-statistics-streams
148
160
  def rolling_window_ticker_all_symbols(windowSize:, callbacks:)
149
161
  url = "#{@base_url}/ws/!ticker_#{windowSize}@arr"
150
162
  create_connection(url, callbacks)
data/lib/binance/spot.rb CHANGED
@@ -5,11 +5,9 @@ require 'binance/authentication'
5
5
  require 'binance/utils/validation'
6
6
  require 'binance/utils/url'
7
7
  require 'binance/error'
8
- require 'binance/spot/blvt'
9
8
  require 'binance/spot/c2c'
10
9
  require 'binance/spot/convert'
11
10
  require 'binance/spot/fiat'
12
- require 'binance/spot/futures'
13
11
  require 'binance/spot/loan'
14
12
  require 'binance/spot/margin'
15
13
  require 'binance/spot/market'
@@ -37,13 +35,11 @@ module Binance
37
35
  # - Subaccount
38
36
  # - Trade
39
37
  # - Wallet
40
- # @see https://binance-docs.github.io/apidocs/spot/en/
38
+ # @see https://developers.binance.com/en
41
39
  class Spot
42
- include Binance::Spot::Blvt
43
40
  include Binance::Spot::C2C
44
41
  include Binance::Spot::Convert
45
42
  include Binance::Spot::Fiat
46
- include Binance::Spot::Futures
47
43
  include Binance::Spot::Loan
48
44
  include Binance::Spot::Margin
49
45
  include Binance::Spot::Market
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Binance
4
- VERSION = '1.5.2'
4
+ VERSION = '1.7.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binance-connector-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Binance
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-23 00:00:00.000000000 Z
11
+ date: 2024-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,11 +108,9 @@ files:
108
108
  - lib/binance/error.rb
109
109
  - lib/binance/session.rb
110
110
  - lib/binance/spot.rb
111
- - lib/binance/spot/blvt.rb
112
111
  - lib/binance/spot/c2c.rb
113
112
  - lib/binance/spot/convert.rb
114
113
  - lib/binance/spot/fiat.rb
115
- - lib/binance/spot/futures.rb
116
114
  - lib/binance/spot/loan.rb
117
115
  - lib/binance/spot/margin.rb
118
116
  - lib/binance/spot/market.rb
@@ -1,104 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Binance
4
- class Spot
5
- # BLVT endpoints
6
- # @see https://binance-docs.github.io/apidocs/spot/en/#blvt-endpoints
7
- module Blvt
8
- # Get BLVT Info (MARKET_DATA)
9
- #
10
- # GET /sapi/v1/blvt/tokenInfo
11
- #
12
- # @param tokenName [String]
13
- # @see https://binance-docs.github.io/apidocs/spot/en/#get-blvt-info-market_data
14
- def token_info(tokenName: nil)
15
- @session.public_request(
16
- path: '/sapi/v1/blvt/tokenInfo',
17
- params: { tokenName: tokenName }
18
- )
19
- end
20
-
21
- # Subscribe BLVT (USER_DATA)
22
- #
23
- # POST /sapi/v1/blvt/subscribe
24
- #
25
- # @param tokenName [String]
26
- # @param cost [Float]
27
- # @param kwargs [Hash]
28
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
29
- # @see https://binance-docs.github.io/apidocs/spot/en/#subscribe-blvt-user_data
30
- def subscribe(tokenName:, cost:, **kwargs)
31
- Binance::Utils::Validation.require_param('tokenName', tokenName)
32
- Binance::Utils::Validation.require_param('cost', cost)
33
-
34
- @session.sign_request(:post, '/sapi/v1/blvt/subscribe', params: kwargs.merge(
35
- tokenName: tokenName,
36
- cost: cost
37
- ))
38
- end
39
-
40
- # Query Subscription Record (USER_DATA)
41
- #
42
- # GET /sapi/v1/blvt/subscribe/record
43
- #
44
- # @param kwargs [Hash]
45
- # @option kwargs [String] :tokenName
46
- # @option kwargs [Integer] :id
47
- # @option kwargs [Integer] :startTime
48
- # @option kwargs [Integer] :endTime
49
- # @option kwargs [Integer] :limit
50
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
51
- # @see https://binance-docs.github.io/apidocs/spot/en/#query-subscription-record-user_data
52
- def get_subscribe_record(**kwargs)
53
- @session.sign_request(:get, '/sapi/v1/blvt/subscribe/record', params: kwargs)
54
- end
55
-
56
- # Redeem BLVT (USER_DATA)
57
- #
58
- # POST /sapi/v1/blvt/redeem
59
- #
60
- # @param tokenName [String]
61
- # @param amount [Float]
62
- # @param kwargs [Hash]
63
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
64
- # @see https://binance-docs.github.io/apidocs/spot/en/#redeem-blvt-user_data
65
- def redeem(tokenName:, amount:, **kwargs)
66
- Binance::Utils::Validation.require_param('tokenName', tokenName)
67
- Binance::Utils::Validation.require_param('amount', amount)
68
-
69
- @session.sign_request(:post, '/sapi/v1/blvt/redeem', params: kwargs.merge(
70
- tokenName: tokenName,
71
- amount: amount
72
- ))
73
- end
74
-
75
- # Query Redemption Record (USER_DATA)
76
- #
77
- # GET /sapi/v1/blvt/redeem/record
78
- #
79
- # @param kwargs [Hash]
80
- # @option kwargs [String] :tokenName
81
- # @option kwargs [Integer] :id
82
- # @option kwargs [Integer] :startTime
83
- # @option kwargs [Integer] :endTime
84
- # @option kwargs [Integer] :limit
85
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
86
- # @see https://binance-docs.github.io/apidocs/spot/en/#query-redemption-record-user_data
87
- def get_redeem_record(**kwargs)
88
- @session.sign_request(:get, '/sapi/v1/blvt/redeem/record', params: kwargs)
89
- end
90
-
91
- # Get BLVT User Limit Info (USER_DATA)
92
- #
93
- # GET /sapi/v1/blvt/userLimit
94
- #
95
- # @param kwargs [Hash]
96
- # @option kwargs [String] :tokenName
97
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
98
- # @see https://binance-docs.github.io/apidocs/spot/en/#get-blvt-user-limit-info-user_data
99
- def user_limit(**kwargs)
100
- @session.sign_request(:get, '/sapi/v1/blvt/userLimit', params: kwargs)
101
- end
102
- end
103
- end
104
- end
@@ -1,357 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Binance
4
- class Spot
5
- # Futures endpoints
6
- # @see https://binance-docs.github.io/apidocs/spot/en/#futures
7
- module Futures
8
- # New Future Account Transfer (USER_DATA)
9
- #
10
- # POST /sapi/v1/futures/transfer
11
- #
12
- # Execute transfer between spot account and futures account.
13
- #
14
- # @param asset [String]
15
- # @param amount [Float]
16
- # @param type [Integer] 1: transfer from spot account to USDT-M futures account. <br>
17
- # 2: transfer from USDT-M futures account to spot account. <br>
18
- # 3: transfer from spot account to COIN-M futures account. <br>
19
- # 4: transfer from COIN-M futures account to spot account. <br>
20
- # @param kwargs [Hash]
21
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
22
- # @see https://binance-docs.github.io/apidocs/spot/en/#new-future-account-transfer-user_data
23
- def futures_account_transfer(asset:, amount:, type:, **kwargs)
24
- Binance::Utils::Validation.require_param('asset', asset)
25
- Binance::Utils::Validation.require_param('amount', amount)
26
- Binance::Utils::Validation.require_param('type', type)
27
-
28
- @session.sign_request(:post, '/sapi/v1/futures/transfer', params: kwargs.merge(
29
- asset: asset,
30
- amount: amount,
31
- type: type
32
- ))
33
- end
34
-
35
- # Get Future Account Transaction History List (USER_DATA)
36
- #
37
- # GET /sapi/v1/futures/transfer
38
- #
39
- # @param asset [String]
40
- # @param startTime [Integer]
41
- # @param kwargs [Hash]
42
- # @option kwargs [Integer] :endTime
43
- # @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
44
- # @option kwargs [Integer] :size Default:10 Max:100
45
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
46
- # @see https://binance-docs.github.io/apidocs/spot/en/#get-future-account-transaction-history-list-user_data
47
- def futures_account_transfer_history(asset:, startTime:, **kwargs)
48
- Binance::Utils::Validation.require_param('asset', asset)
49
- Binance::Utils::Validation.require_param('startTime', startTime)
50
-
51
- @session.sign_request(:get, '/sapi/v1/futures/transfer', params: kwargs.merge(
52
- asset: asset,
53
- startTime: startTime
54
- ))
55
- end
56
-
57
- # Borrow For Cross-Collateral (TRADE)
58
- #
59
- # POST /sapi/v1/futures/loan/borrow
60
- #
61
- # @param coin [String]
62
- # @param collateralCoin [String]
63
- # @param kwargs [Hash]
64
- # @option kwargs [Float] :amount Mandatory when collateralAmount is empty.
65
- # @option kwargs [Float] :collateralAmount Mandatory when amount is empty.
66
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
67
- # @see https://binance-docs.github.io/apidocs/spot/en/#borrow-for-cross-collateral-trade
68
- def cross_collateral_borrow(coin:, collateralCoin:, **kwargs)
69
- Binance::Utils::Validation.require_param('coin', coin)
70
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
71
-
72
- @session.sign_request(:post, '/sapi/v1/futures/loan/borrow', params: kwargs.merge(
73
- coin: coin,
74
- collateralCoin: collateralCoin
75
- ))
76
- end
77
-
78
- # Cross-Collateral Borrow History (USER_DATA)
79
- #
80
- # GET /sapi/v1/futures/loan/borrow/history
81
- #
82
- # @param kwargs [Hash]
83
- # @option kwargs [String] :coin
84
- # @option kwargs [Integer] :startTime
85
- # @option kwargs [Integer] :endTime
86
- # @option kwargs [Integer] :limit default 500, max 1000
87
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
88
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-borrow-history-user_data
89
- def cross_collateral_borrow_history(**kwargs)
90
- @session.sign_request(:get, '/sapi/v1/futures/loan/borrow/history', params: kwargs)
91
- end
92
-
93
- # Repay For Cross-Collateral (TRADE)
94
- #
95
- # POST /sapi/v1/futures/loan/repay
96
- #
97
- # @param coin [String]
98
- # @param collateralCoin [String]
99
- # @param amount [Float]
100
- # @param kwargs [Hash]
101
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
102
- # @see https://binance-docs.github.io/apidocs/spot/en/#repay-for-cross-collateral-trade
103
- def cross_collateral_repay(coin:, collateralCoin:, amount:, **kwargs)
104
- Binance::Utils::Validation.require_param('coin', coin)
105
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
106
- Binance::Utils::Validation.require_param('amount', amount)
107
-
108
- @session.sign_request(:post, '/sapi/v1/futures/loan/repay', params: kwargs.merge(
109
- coin: coin,
110
- collateralCoin: collateralCoin,
111
- amount: amount
112
- ))
113
- end
114
-
115
- # Cross-Collateral Repayment History (USER_DATA)
116
- #
117
- # GET /sapi/v1/futures/loan/repay/history
118
- #
119
- # @param kwargs [Hash]
120
- # @option kwargs [String] :coin
121
- # @option kwargs [Integer] :startTime
122
- # @option kwargs [Integer] :endTime
123
- # @option kwargs [Integer] :limit default 500, max 1000
124
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
125
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-repayment-history-user_data
126
- def cross_collateral_repay_history(**kwargs)
127
- @session.sign_request(:get, '/sapi/v1/futures/loan/repay/history', params: kwargs)
128
- end
129
-
130
- # Cross-Collateral Wallet (USER_DATA)
131
- #
132
- # GET /sapi/v2/futures/loan/wallet
133
- #
134
- # @param kwargs [Hash]
135
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
136
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-wallet-v2-user_data
137
- def cross_collateral_wallet(**kwargs)
138
- @session.sign_request(:get, '/sapi/v2/futures/loan/wallet', params: kwargs)
139
- end
140
-
141
- # Cross-Collateral Information (USER_DATA)
142
- #
143
- # GET /sapi/v2/futures/loan/configs
144
- #
145
- # @param kwargs [Hash]
146
- # @option kwargs [String] :loanCoin
147
- # @option kwargs [String] :collateralCoin
148
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
149
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-information-v2-user_data
150
- def cross_collateral_info(**kwargs)
151
- @session.sign_request(:get, '/sapi/v2/futures/loan/configs', params: kwargs)
152
- end
153
-
154
- # Calculate Rate After Adjust Cross-Collateral LTV (USER_DATA)
155
- #
156
- # GET /sapi/v2/futures/loan/calcAdjustLevel
157
- #
158
- # @param loanCoin [String]
159
- # @param collateralCoin [String]
160
- # @param amount [Float]
161
- # @param direction [String] "ADDITIONAL", "REDUCED"
162
- # @param kwargs [Hash]
163
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
164
- # @see https://binance-docs.github.io/apidocs/spot/en/#calculate-rate-after-adjust-cross-collateral-ltv-v2-user_data
165
- def calculate_adjust_rate(loanCoin:, collateralCoin:, amount:, direction:, **kwargs)
166
- Binance::Utils::Validation.require_param('loanCoin', loanCoin)
167
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
168
- Binance::Utils::Validation.require_param('amount', amount)
169
- Binance::Utils::Validation.require_param('direction', direction)
170
-
171
- @session.sign_request(:get, '/sapi/v2/futures/loan/calcAdjustLevel', params: kwargs.merge(
172
- loanCoin: loanCoin,
173
- collateralCoin: collateralCoin,
174
- amount: amount,
175
- direction: direction
176
- ))
177
- end
178
-
179
- # Get Max Amount for Adjust Cross-Collateral LTV (USER_DATA)
180
- #
181
- # GET /sapi/v2/futures/loan/calcMaxAdjustAmount
182
- #
183
- # @param loanCoin [String]
184
- # @param collateralCoin [String]
185
- # @param kwargs [Hash]
186
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
187
- # @see https://binance-docs.github.io/apidocs/spot/en/#get-max-amount-for-adjust-cross-collateral-ltv-v2-user_data
188
- def calculate_adjust_max_amount(loanCoin:, collateralCoin:, **kwargs)
189
- Binance::Utils::Validation.require_param('loanCoin', loanCoin)
190
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
191
-
192
- @session.sign_request(:get, '/sapi/v2/futures/loan/calcMaxAdjustAmount', params: kwargs.merge(
193
- loanCoin: loanCoin,
194
- collateralCoin: collateralCoin
195
- ))
196
- end
197
-
198
- # Adjust Cross-Collateral LTV (TRADE)
199
- #
200
- # POST /sapi/v2/futures/loan/adjustCollateral
201
- #
202
- # @param loanCoin [String]
203
- # @param collateralCoin [String]
204
- # @param amount [Float]
205
- # @param direction [String] "ADDITIONAL", "REDUCED"
206
- # @param kwargs [Hash]
207
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
208
- # @see https://binance-docs.github.io/apidocs/spot/en/#adjust-cross-collateral-ltv-v2-trade
209
- def adjust_cross_collateral(loanCoin:, collateralCoin:, amount:, direction:, **kwargs)
210
- Binance::Utils::Validation.require_param('loanCoin', loanCoin)
211
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
212
- Binance::Utils::Validation.require_param('amount', amount)
213
- Binance::Utils::Validation.require_param('direction', direction)
214
-
215
- @session.sign_request(:post, '/sapi/v2/futures/loan/adjustCollateral', params: kwargs.merge(
216
- loanCoin: loanCoin,
217
- collateralCoin: collateralCoin,
218
- amount: amount,
219
- direction: direction
220
- ))
221
- end
222
-
223
- # Adjust Cross-Collateral LTV History (USER_DATA)
224
- #
225
- # GET /sapi/v1/futures/loan/adjustCollateral/history
226
- #
227
- # All data will be returned if loanCoin or collateralCoin is not sent
228
- #
229
- # @param kwargs [Hash]
230
- # @option kwargs [String] :loanCoin
231
- # @option kwargs [String] :collateralCoin
232
- # @option kwargs [Integer] :startTime
233
- # @option kwargs [Integer] :endTime
234
- # @option kwargs [Integer] :limit default 500, max 1000
235
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
236
- # @see https://binance-docs.github.io/apidocs/spot/en/#adjust-cross-collateral-ltv-history-user_data
237
- def adjust_cross_collateral_history(**kwargs)
238
- @session.sign_request(:get, '/sapi/v1/futures/loan/adjustCollateral/history', params: kwargs)
239
- end
240
-
241
- # Cross-Collateral Liquidation History (USER_DATA)
242
- #
243
- # GET /sapi/v1/futures/loan/liquidationHistory
244
- #
245
- # All data will be returned if loanCoin or collateralCoin is not sent
246
- #
247
- # @param kwargs [Hash]
248
- # @option kwargs [String] :loanCoin
249
- # @option kwargs [String] :collateralCoin
250
- # @option kwargs [Integer] :startTime
251
- # @option kwargs [Integer] :endTime
252
- # @option kwargs [Integer] :limit default 500, max 1000
253
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
254
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-liquidation-history-user_data
255
- def cross_collateral_liquidation_history(**kwargs)
256
- @session.sign_request(:get, '/sapi/v1/futures/loan/liquidationHistory', params: kwargs)
257
- end
258
-
259
- # Check Collateral Repay Limit (USER_DATA)
260
- #
261
- # GET /sapi/v1/futures/loan/collateralRepayLimit
262
- #
263
- # Check the maximum and minimum limit when repay with collateral.
264
- #
265
- # @param coin [String]
266
- # @param collateralCoin [String]
267
- # @param kwargs [Hash]
268
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
269
- # @see https://binance-docs.github.io/apidocs/spot/en/#check-collateral-repay-limit-user_data
270
- def collateral_repay_limit(coin:, collateralCoin:, **kwargs)
271
- Binance::Utils::Validation.require_param('coin', coin)
272
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
273
-
274
- @session.sign_request(:get, '/sapi/v1/futures/loan/collateralRepayLimit', params: kwargs.merge(
275
- coin: coin,
276
- collateralCoin: collateralCoin
277
- ))
278
- end
279
-
280
- # Get Collateral Repay Quote (USER_DATA)
281
- #
282
- # GET /sapi/v1/futures/loan/collateralRepay
283
- #
284
- # Get quote before repay with collateral is mandatory, the quote will be valid within 25 seconds.
285
- #
286
- # @param coin [String]
287
- # @param collateralCoin [String]
288
- # @param amount [Float]
289
- # @param kwargs [Hash]
290
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
291
- # @see https://binance-docs.github.io/apidocs/spot/en/#get-collateral-repay-quote-user_data
292
- def collateral_repay_quote(coin:, collateralCoin:, amount:, **kwargs)
293
- Binance::Utils::Validation.require_param('coin', coin)
294
- Binance::Utils::Validation.require_param('collateralCoin', collateralCoin)
295
- Binance::Utils::Validation.require_param('amount', amount)
296
-
297
- @session.sign_request(:get, '/sapi/v1/futures/loan/collateralRepay', params: kwargs.merge(
298
- coin: coin,
299
- collateralCoin: collateralCoin,
300
- amount: amount
301
- ))
302
- end
303
-
304
- # Repay with Collateral (USER_DATA)
305
- #
306
- # POST /sapi/v1/futures/loan/collateralRepay
307
- #
308
- # Repay with collateral. Get quote before repay with collateral is mandatory, the quote will be valid within 25 seconds.
309
- #
310
- # @param quoteId [String]
311
- # @param kwargs [Hash]
312
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
313
- # @see https://binance-docs.github.io/apidocs/spot/en/#repay-with-collateral-user_data
314
- def repay_with_collateral(quoteId:, **kwargs)
315
- Binance::Utils::Validation.require_param('quoteId', quoteId)
316
-
317
- @session.sign_request(:post, '/sapi/v1/futures/loan/collateralRepay', params: kwargs.merge(
318
- quoteId: quoteId
319
- ))
320
- end
321
-
322
- # Collateral Repayment Result (USER_DATA)
323
- #
324
- # GET /sapi/v1/futures/loan/collateralRepayResult
325
- #
326
- # Check collateral repayment result.
327
- #
328
- # @param quoteId [String]
329
- # @param kwargs [Hash]
330
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
331
- # @see https://binance-docs.github.io/apidocs/spot/en/#collateral-repayment-result-user_data
332
- def repayment_result(quoteId:, **kwargs)
333
- Binance::Utils::Validation.require_param('quoteId', quoteId)
334
-
335
- @session.sign_request(:get, '/sapi/v1/futures/loan/collateralRepayResult', params: kwargs.merge(
336
- quoteId: quoteId
337
- ))
338
- end
339
-
340
- # Cross-Collateral Interest History (USER_DATA)
341
- #
342
- # GET /sapi/v1/futures/loan/interestHistory
343
- #
344
- # @param kwargs [Hash]
345
- # @option kwargs [String] :collateralCoin
346
- # @option kwargs [Integer] :startTime
347
- # @option kwargs [Integer] :endTime
348
- # @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
349
- # @option kwargs [Integer] :limit default 500, max 1000
350
- # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
351
- # @see https://binance-docs.github.io/apidocs/spot/en/#cross-collateral-interest-history-user_data
352
- def cross_collateral_interest_history(**kwargs)
353
- @session.sign_request(:get, '/sapi/v1/futures/loan/interestHistory', params: kwargs)
354
- end
355
- end
356
- end
357
- end