binance-connector-ruby 1.7.1 → 1.8.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: 1b448b0cb73b0fbe3eb12d41830d72590539c6ae27b4697d7c9b6d3d5af0b0b0
4
- data.tar.gz: 8ff261ede671030d907d0fd7365f406ce9880fc276386267f493220b1fd534fb
3
+ metadata.gz: ee83c04ce0bea05f00fc5c6cf28001516e34ae428403a9f44147ad4a65d8668f
4
+ data.tar.gz: 964ee9b07157dc7b04299c25eab76128d11f104d971a85ae5a37b12669b418d5
5
5
  SHA512:
6
- metadata.gz: d99941f064ad0efff71b122d530b7b42361e4c80a7096a07ab64694a4702def1c0e613cbe3218acef10c87ff5a85eb88e641a2a8e8ff85fc3112070760c5237a
7
- data.tar.gz: 587bf09d4ac3df83601e6ff8311cfcc26313d3b3c09849f871af3c49fd29a97dd0cf0398c8f2c4eea8fae4e43951a22c941c004828539bea89f47099debf948c
6
+ metadata.gz: 2b672079eef669e3b79d82a3a6474fd11738df7f6abf6ec7cce737d736b6aade460d4b90c4ce605b580dd57a42a8bc27549163b179e27ea95b0ce71a25a33647
7
+ data.tar.gz: 22f7258816e3be06e6e2ac667f36313ec5339b4adc1a6e404b498fa83ee2d00238d6d0344c09d1f97f3a61710c00491ef3760d54a7dd118ca848a27f865bfb78
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.8.0 - 2026-06-18
4
+ ### Added
5
+ - Market endpoints:
6
+ - `GET /api/v3/executionRules`
7
+ - `GET /api/v3/referencePrice`
8
+ - `GET /api/v3/referencePrice/calculation`
9
+ - `GET /api/v3/historicalBlockTrades`
10
+
11
+ - Trade endpoints:
12
+ - `GET /api/v3/order/amendments`
13
+ - `GET /api/v3/myFilters`
14
+ - `PUT /api/v3/order/amend/keepPriority`
15
+ - `POST /api/v3/orderList/oco`
16
+ - `POST /api/v3/orderList/oto`
17
+ - `POST /api/v3/orderList/otoco`
18
+ - `POST /api/v3/orderList/opo`
19
+ - `POST /api/v3/orderList/opoco`
20
+
21
+ ### Changed
22
+ - Added new parameter `symbolStatus` to endpoints:
23
+ - `GET /api/v3/depth`
24
+ - `GET /api/v3/ticker/price`
25
+ - `GET /api/v3/ticker/bookTicker`
26
+ - `GET /api/v3/ticker/24hr`
27
+ - `GET /api/v3/ticker/tradingDay`
28
+ - `GET /api/v3/ticker`
29
+
3
30
  ## 1.7.1 - 2025-01-13
4
31
  ### Changed
5
32
  - Updated documentation links.
@@ -16,7 +16,7 @@ module Binance
16
16
  # @option kwargs [Integer] :rows
17
17
  # @option kwargs [Integer] :recvWindow
18
18
  # @option kwargs [Integer] :timestamp
19
- # @see https://developers.binance.com/docs/c2c/rest-api/Get-C2C-Trade-History
19
+ # @see https://developers.binance.com/docs/c2c/rest-api
20
20
  def c2c_trade_history(tradeType:, **kwargs)
21
21
  Binance::Utils::Validation.require_param('tradeType', tradeType)
22
22
 
@@ -9,7 +9,7 @@ module Binance
9
9
  # - trades
10
10
  # - orderbook
11
11
  # - etc
12
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#market-data-endpoints
12
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints
13
13
  module Market
14
14
  # Test Connectivity
15
15
  #
@@ -54,6 +54,26 @@ module Binance
54
54
  )
55
55
  end
56
56
 
57
+ # Query Execution Rules
58
+ #
59
+ # GET /api/v3/executionRules
60
+ #
61
+ # @param kwargs [Hash]
62
+ # @option kwargs [string] :symbol
63
+ # @option kwargs [string] :symbols
64
+ # @option kwargs [string] :symbolStatus Supported values: TRADING, HALT, BREAK
65
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#query-execution-rules
66
+ def execution_rules(**kwargs)
67
+ if kwargs[:symbols].is_a?(Array)
68
+ kwargs[:symbols] = kwargs[:symbols].map { |v| "%22#{v}%22" }.join(',')
69
+ kwargs[:symbols] = "%5B#{kwargs[:symbols]}%5D"
70
+ end
71
+ @session.public_request(
72
+ path: '/api/v3/executionRules',
73
+ params: kwargs
74
+ )
75
+ end
76
+
57
77
  # Order Book
58
78
  #
59
79
  # GET /api/v3/depth
@@ -61,6 +81,7 @@ module Binance
61
81
  # @param symbol [String] the symbol
62
82
  # @param kwargs [Hash]
63
83
  # @option kwargs [Integer] :limit Default 100; max 1000. Valid limits:[5, 10, 20, 50, 100, 500, 1000, 5000]
84
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
64
85
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#order-book
65
86
  def depth(symbol:, **kwargs)
66
87
  Binance::Utils::Validation.require_param('symbol', symbol)
@@ -209,11 +230,16 @@ module Binance
209
230
  # GET /api/v3/ticker/24hr
210
231
  #
211
232
  # @param symbol [String] the symbol
233
+ # @param kwargs [Hash]
234
+ # @option kwargs [String] :symbol Either symbol or symbols must be provided
235
+ # @option kwargs [String] :symbols
236
+ # @option kwargs [String] :type Default: FULL Supported values: FULL or MINI
237
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
212
238
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#24hr-ticker-price-change-statistics
213
- def ticker_24hr(symbol: nil)
239
+ def ticker_24hr(symbol: nil, **kwargs)
214
240
  @session.public_request(
215
241
  path: '/api/v3/ticker/24hr',
216
- params: { symbol: symbol }
242
+ params: kwargs.merge(symbol: symbol)
217
243
  )
218
244
  end
219
245
 
@@ -228,6 +254,7 @@ module Binance
228
254
  # @option kwargs [string] :symbols
229
255
  # @option kwargs [String] :timeZone Default: 0 (UTC)
230
256
  # @option kwargs [String] :type Supported values: FULL or MINI. Default: FULL
257
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
231
258
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#trading-day-ticker
232
259
  def ticker_trading_day(symbol: nil, symbols: nil, **kwargs)
233
260
  raise Binance::DuplicatedParametersError.new('symbol', 'symbols') unless symbols.nil? || symbol.nil?
@@ -253,11 +280,13 @@ module Binance
253
280
  # GET /api/v3/ticker/price
254
281
  #
255
282
  # @param symbol [String] the symbol
283
+ # @param kwargs [Hash]
284
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
256
285
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker
257
- def ticker_price(symbol: nil)
286
+ def ticker_price(symbol: nil, **kwargs)
258
287
  @session.public_request(
259
288
  path: '/api/v3/ticker/price',
260
- params: { symbol: symbol }
289
+ params: kwargs.merge(symbol: symbol)
261
290
  )
262
291
  end
263
292
 
@@ -268,11 +297,13 @@ module Binance
268
297
  # GET /api/v3/ticker/bookTicker
269
298
  #
270
299
  # @param symbol [String] the symbol
300
+ # @param kwargs [Hash]
301
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
271
302
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker
272
- def book_ticker(symbol: nil)
303
+ def book_ticker(symbol: nil, **kwargs)
273
304
  @session.public_request(
274
305
  path: '/api/v3/ticker/bookTicker',
275
- params: { symbol: symbol }
306
+ params: kwargs.merge(symbol: symbol)
276
307
  )
277
308
  end
278
309
 
@@ -283,7 +314,10 @@ module Binance
283
314
  # GET /api/v3/ticker
284
315
  #
285
316
  # @param symbol [String] the symbol
286
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#rolling-window-price-change-statistics
317
+ # @param kwargs [Hash]
318
+ # @option kwargs [String] :windowSize Default: 1d
319
+ # @option kwargs [String] :symbolStatus Valid values: TRADING, HALT, BREAK
320
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker
287
321
  def ticker(symbol: nil, symbols: nil, windowSize: '1d')
288
322
  raise Binance::DuplicatedParametersError.new('symbol', 'symbols') unless symbols.nil? || symbol.nil?
289
323
 
@@ -301,6 +335,56 @@ module Binance
301
335
  params: params
302
336
  )
303
337
  end
338
+
339
+ # Query Reference Price
340
+ #
341
+ # GET /api/v3/referencePrice
342
+ #
343
+ # @param symbol [String] the symbol
344
+ # see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#query-reference-price
345
+ def reference_price(symbol:)
346
+ Binance::Utils::Validation.require_param('symbol', symbol)
347
+
348
+ @session.public_request(
349
+ path: '/api/v3/referencePrice',
350
+ params: { symbol: symbol }
351
+ )
352
+ end
353
+
354
+ # Query Reference Price Calculation
355
+ #
356
+ # GET /api/v3/referencePrice/calculation
357
+ #
358
+ # @param symbol [String] the symbol
359
+ # @param kwargs [Hash]
360
+ # @option kwargs [Integer] :symbolStatus Supported values: TRADING, HALT, BREAK
361
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#query-reference-price-calculation
362
+ def reference_price_calculation(symbol:, **kwargs)
363
+ Binance::Utils::Validation.require_param('symbol', symbol)
364
+
365
+ @session.public_request(
366
+ path: '/api/v3/referencePrice/calculation',
367
+ params: { symbol: symbol }.merge(kwargs)
368
+ )
369
+ end
370
+
371
+ # Historical Block Trades
372
+ #
373
+ # GET /api/v3/historicalBlockTrades
374
+ #
375
+ # @param symbol [String] the symbol
376
+ # @param kwargs [Hash]
377
+ # @option kwargs [Integer] :limit Default 500; max 1000.
378
+ # @option kwargs [Integer] :fromId
379
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#historical-block-trades
380
+ def historical_block_trades(symbol:, **kwargs)
381
+ Binance::Utils::Validation.require_param('symbol', symbol)
382
+
383
+ @session.public_request(
384
+ path: '/api/v3/historicalBlockTrades',
385
+ params: { symbol: symbol }.merge(kwargs)
386
+ )
387
+ end
304
388
  end
305
389
  end
306
390
  end
@@ -14,7 +14,7 @@ module Binance
14
14
  # @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
15
15
  # @option kwargs [Integer] :size Default:10, Max:100
16
16
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
17
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Simple-Earn-Flexible-Product-List
17
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Simple-Earn-Flexible-Product-List
18
18
  def flexible_product_list(**kwargs)
19
19
  @session.sign_request(:get, '/sapi/v1/simple-earn/flexible/list', params: kwargs)
20
20
  end
@@ -28,7 +28,7 @@ module Binance
28
28
  # @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
29
29
  # @option kwargs [Integer] :size Default:10, Max:100
30
30
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
31
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Simple-Earn-Locked-Product-List
31
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Simple-Earn-Locked-Product-List
32
32
  def locked_product_list(**kwargs)
33
33
  @session.sign_request(:get, '/sapi/v1/simple-earn/locked/list', params: kwargs)
34
34
  end
@@ -43,7 +43,7 @@ module Binance
43
43
  # @option kwargs [Boolean] :autoSubscribe true or false, default true
44
44
  # @option kwargs [String] :sourceAccount SPOT,FUND,ALL, default SPOT
45
45
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
46
- # @see https://developers.binance.com/docs/simple_earn/earn/Subscribe-Flexible-Product
46
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn
47
47
  def flexible_subscribe(productId:, amount:, **kwargs)
48
48
  Binance::Utils::Validation.require_param('productId', productId)
49
49
  Binance::Utils::Validation.require_param('amount', amount)
@@ -65,7 +65,7 @@ module Binance
65
65
  # @option kwargs [String] :sourceAccount SPOT,FUND,ALL, default SPOT
66
66
  # @option kwargs [String] :redeemTo SPOT,FLEXIBLE, default FLEXIBLE
67
67
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
68
- # @see https://developers.binance.com/docs/simple_earn/earn/Subscribe-Locked-Product
68
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Subscribe-Locked-Product
69
69
  def locked_subscribe(projectId:, amount:, **kwargs)
70
70
  Binance::Utils::Validation.require_param('projectId', projectId)
71
71
  Binance::Utils::Validation.require_param('amount', amount)
@@ -86,7 +86,7 @@ module Binance
86
86
  # @option kwargs [Float] :amount if redeemAll is false, amount is mandatory
87
87
  # @option kwargs [String] :destAccount SPOT,FUND,ALL, default SPOT
88
88
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
89
- # @see https://developers.binance.com/docs/simple_earn/earn/Redeem-Flexible-Product
89
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Redeem-Flexible-Product
90
90
  def flexible_redeem_product(productId:, **kwargs)
91
91
  Binance::Utils::Validation.require_param('productId', productId)
92
92
 
@@ -102,7 +102,7 @@ module Binance
102
102
  # @param positionId [String]
103
103
  # @param kwargs [Hash]
104
104
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
105
- # @see https://developers.binance.com/docs/simple_earn/earn/Redeem-Locked-Product
105
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Redeem-Locked-Product
106
106
  def locked_redeem_product(positionId:, **kwargs)
107
107
  Binance::Utils::Validation.require_param('positionId', positionId)
108
108
 
@@ -121,7 +121,7 @@ module Binance
121
121
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
122
122
  # @option kwargs [Integer] :size Default:10, Max:100
123
123
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
124
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Flexible-Product-Position
124
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Flexible-Product-Position
125
125
  def flexible_product_position(**kwargs)
126
126
  @session.sign_request(:get, '/sapi/v1/simple-earn/flexible/position', params: kwargs)
127
127
  end
@@ -137,7 +137,7 @@ module Binance
137
137
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
138
138
  # @option kwargs [Integer] :size Default:10, Max:100
139
139
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
140
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Locked-Product-Position
140
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Locked-Product-Position
141
141
  def locked_product_position(**kwargs)
142
142
  @session.sign_request(:get, '/sapi/v1/simple-earn/locked/position', params: kwargs)
143
143
  end
@@ -148,7 +148,7 @@ module Binance
148
148
  #
149
149
  # @param kwargs [Hash]
150
150
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
151
- # @see https://developers.binance.com/docs/simple_earn/account/Simple-Account
151
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account
152
152
  def simple_earn_account(**kwargs)
153
153
  @session.sign_request(:get, '/sapi/v1/simple-earn/account', params: kwargs)
154
154
  end
@@ -166,7 +166,7 @@ module Binance
166
166
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
167
167
  # @option kwargs [Integer] :size Default:10, Max:100
168
168
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
169
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Flexible-Subscription-Record
169
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history
170
170
  def flexible_subscription_record(**kwargs)
171
171
  @session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/subscriptionRecord', params: kwargs)
172
172
  end
@@ -183,7 +183,7 @@ module Binance
183
183
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
184
184
  # @option kwargs [Integer] :size Default:10, Max:100
185
185
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
186
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Locked-Subscription-Record
186
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Locked-Subscription-Record
187
187
  def locked_subscription_record(**kwargs)
188
188
  @session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/subscriptionRecord', params: kwargs)
189
189
  end
@@ -201,7 +201,7 @@ module Binance
201
201
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
202
202
  # @option kwargs [Integer] :size Default:10, Max:100
203
203
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
204
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Flexible-Redemption-Record
204
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Flexible-Redemption-Record
205
205
  def flexible_redemption_record(**kwargs)
206
206
  @session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/redemptionRecord', params: kwargs)
207
207
  end
@@ -219,7 +219,7 @@ module Binance
219
219
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
220
220
  # @option kwargs [Integer] :size Default:10, Max:100
221
221
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
222
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Locked-Redemption-Record
222
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Locked-Redemption-Record
223
223
  def locked_redemption_record(**kwargs)
224
224
  @session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/redemptionRecord', params: kwargs)
225
225
  end
@@ -237,7 +237,7 @@ module Binance
237
237
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
238
238
  # @option kwargs [Integer] :size Default:10, Max:100
239
239
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
240
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Flexible-Rewards-History
240
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Flexible-Rewards-History
241
241
  def flexible_rewards_history(type:, **kwargs)
242
242
  Binance::Utils::Validation.require_param('type', type)
243
243
 
@@ -256,7 +256,7 @@ module Binance
256
256
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
257
257
  # @option kwargs [Integer] :size Default:10, Max:100
258
258
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
259
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Locked-Rewards-History
259
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Locked-Rewards-History
260
260
  def locked_rewards_history(**kwargs)
261
261
  @session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/rewardsRecord', params: kwargs)
262
262
  end
@@ -269,7 +269,7 @@ module Binance
269
269
  # @param autoSubscribe [Boolean] true or false
270
270
  # @param kwargs [Hash]
271
271
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
272
- # @see https://developers.binance.com/docs/simple_earn/earn/Set-Flexible-Auto-Subscribe
272
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Set-Flexible-Auto-Subscribe
273
273
  def flexible_auto_subscribe(productId:, autoSubscribe:, **kwargs)
274
274
  Binance::Utils::Validation.require_param('productId', productId)
275
275
  Binance::Utils::Validation.require_param('autoSubscribe', autoSubscribe)
@@ -288,7 +288,7 @@ module Binance
288
288
  # @param autoSubscribe [Boolean] true or false
289
289
  # @param kwargs [Hash]
290
290
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
291
- # @see https://developers.binance.com/docs/simple_earn/earn/Set-Locked-Auto-Subscribe
291
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Set-Locked-Auto-Subscribe
292
292
  def locked_auto_subscribe(positionId:, autoSubscribe:, **kwargs)
293
293
  Binance::Utils::Validation.require_param('positionId', positionId)
294
294
  Binance::Utils::Validation.require_param('autoSubscribe', autoSubscribe)
@@ -306,7 +306,7 @@ module Binance
306
306
  # @param productId [String]
307
307
  # @param kwargs [Hash]
308
308
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
309
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Flexible-Personal-Left-Quota
309
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Flexible-Personal-Left-Quota
310
310
  def flexible_personal_left_quota(productId:, **kwargs)
311
311
  Binance::Utils::Validation.require_param('productId', productId)
312
312
 
@@ -320,7 +320,7 @@ module Binance
320
320
  # @param projectId [String]
321
321
  # @param kwargs [Hash]
322
322
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
323
- # @see https://developers.binance.com/docs/simple_earn/account/Get-Locked-Personal-Left-Quota
323
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/account/Get-Locked-Personal-Left-Quota
324
324
  def locked_personal_left_quota(projectId:, **kwargs)
325
325
  Binance::Utils::Validation.require_param('projectId', projectId)
326
326
 
@@ -335,7 +335,7 @@ module Binance
335
335
  # @param amount [Float]
336
336
  # @param kwargs [Hash]
337
337
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
338
- # @see https://developers.binance.com/docs/simple_earn/earn/Get-Flexible-Subscription-Preview
338
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Get-Flexible-Subscription-Preview
339
339
  def flexible_subscription_preview(productId:, amount:, **kwargs)
340
340
  Binance::Utils::Validation.require_param('productId', productId)
341
341
  Binance::Utils::Validation.require_param('amount', amount)
@@ -355,7 +355,7 @@ module Binance
355
355
  # @param kwargs [Hash]
356
356
  # @option kwargs [Boolean] :autoSubscribe true or false, default true
357
357
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
358
- # @see https://developers.binance.com/docs/simple_earn/earn/Get-Locked-Subscription-Preview
358
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Get-Locked-Subscription-Preview
359
359
  def locked_subscription_preview(projectId:, amount:, **kwargs)
360
360
  Binance::Utils::Validation.require_param('projectId', projectId)
361
361
  Binance::Utils::Validation.require_param('amount', amount)
@@ -374,7 +374,7 @@ module Binance
374
374
  # @param redeemTo [String] SPOT or FLEXIBLE
375
375
  # @param kwargs [Hash]
376
376
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
377
- # @see https://developers.binance.com/docs/simple_earn/earn/Set-Locked-Redeem-Option
377
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/earn/Set-Locked-Redeem-Option
378
378
  def locked_redeem_option(positionId:, redeemTo:, **kwargs)
379
379
  Binance::Utils::Validation.require_param('positionId', positionId)
380
380
  Binance::Utils::Validation.require_param('redeemTo', redeemTo)
@@ -396,7 +396,7 @@ module Binance
396
396
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
397
397
  # @option kwargs [Integer] :size Default:10, Max:100
398
398
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
399
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Rate-History
399
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Rate-History
400
400
  def rate_history(productId:, **kwargs)
401
401
  Binance::Utils::Validation.require_param('productId', productId)
402
402
 
@@ -414,7 +414,7 @@ module Binance
414
414
  # @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
415
415
  # @option kwargs [Integer] :size Default:10, Max:100
416
416
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
417
- # @see https://developers.binance.com/docs/simple_earn/history/Get-Collateral-Record
417
+ # @see https://developers.binance.com/docs/simple_earn/flexible-locked/history/Get-Collateral-Record
418
418
  def collateral_record(**kwargs)
419
419
  @session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/collateralRecord', params: kwargs)
420
420
  end
@@ -9,6 +9,7 @@ module Binance
9
9
  # - account information
10
10
  # - my trades
11
11
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints
12
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints
12
13
  module Trade
13
14
  # TestNew Order
14
15
  #
@@ -30,6 +31,7 @@ module Binance
30
31
  # @option kwargs [String] :newOrderRespType Set the response JSON. ACK, RESULT, or FULL.
31
32
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
32
33
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade
34
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade
33
35
  def new_order_test(symbol:, side:, type:, **kwargs)
34
36
  Binance::Utils::Validation.require_param('symbol', symbol)
35
37
  Binance::Utils::Validation.require_param('side', side)
@@ -57,11 +59,19 @@ module Binance
57
59
  # @option kwargs [Float] :quoteOrderQty
58
60
  # @option kwargs [Float] :price
59
61
  # @option kwargs [String] :newClientOrderId
62
+ # @option kwargs [Integer] :strategyId
63
+ # @option kwargs [Integer] :strategyType
60
64
  # @option kwargs [Float] :stopPrice
65
+ # @option kwargs [Integer] :trailingDelta
61
66
  # @option kwargs [Float] :icebergeQty
62
67
  # @option kwargs [String] :newOrderRespType Set the response JSON. ACK, RESULT, or FULL.
68
+ # @option kwargs [String] :selfTradePreventionMode
69
+ # @option kwargs [String] :pegPriceType PRIMARY_PEG or MARKET_PEG.
70
+ # @option kwargs [Integer] :pegOffsetValue
71
+ # @option kwargs [String] :pegOffsetType
63
72
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
64
73
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade
74
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade
65
75
  def new_order(symbol:, side:, type:, **kwargs)
66
76
  Binance::Utils::Validation.require_param('symbol', symbol)
67
77
  Binance::Utils::Validation.require_param('side', side)
@@ -99,6 +109,7 @@ module Binance
99
109
  # @param kwargs [Hash]
100
110
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
101
111
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-all-open-orders-on-a-symbol-trade
112
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-all-open-orders-on-a-symbol-trade
102
113
  def cancel_open_orders(symbol:, **kwargs)
103
114
  Binance::Utils::Validation.require_param('symbol', symbol)
104
115
 
@@ -115,6 +126,7 @@ module Binance
115
126
  # @option kwargs [String] :origClientOrderId
116
127
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
117
128
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-order-user_data
129
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-order-user_data
118
130
  def get_order(symbol:, **kwargs)
119
131
  Binance::Utils::Validation.require_param('symbol', symbol)
120
132
 
@@ -129,6 +141,7 @@ module Binance
129
141
  # @option kwargs [String] :symbol the symbol
130
142
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
131
143
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#current-open-orders-user_data
144
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#current-open-orders-user_data
132
145
  def open_orders(**kwargs)
133
146
  @session.sign_request(:get, '/api/v3/openOrders', params: kwargs)
134
147
  end
@@ -147,6 +160,7 @@ module Binance
147
160
  # @option kwargs [String] :limit Default 500; max 1000.
148
161
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
149
162
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#all-orders-user_data
163
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#all-orders-user_data
150
164
  def all_orders(symbol:, **kwargs)
151
165
  Binance::Utils::Validation.require_param('symbol', symbol)
152
166
 
@@ -185,6 +199,7 @@ module Binance
185
199
  # @option kwargs [String] :newOrderRespType
186
200
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
187
201
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade
202
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade
188
203
  def new_oco_order(symbol:, side:, quantity:, aboveType:, belowType:, **kwargs)
189
204
  Binance::Utils::Validation.require_param('symbol', symbol)
190
205
  Binance::Utils::Validation.require_param('side', side)
@@ -212,6 +227,7 @@ module Binance
212
227
  # @option kwargs [String] :newClientOrderId
213
228
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
214
229
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-order-list-trade
230
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-order-list-trade
215
231
  def cancel_order_list(symbol:, **kwargs)
216
232
  Binance::Utils::Validation.require_param('symbol', symbol)
217
233
 
@@ -229,6 +245,7 @@ module Binance
229
245
  # @option kwargs [String] :orgClientOrderId
230
246
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
231
247
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-order-list-user_data
248
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-order-list-user_data
232
249
  def order_list(**kwargs)
233
250
  @session.sign_request(:get, '/api/v3/orderList', params: kwargs)
234
251
  end
@@ -246,6 +263,7 @@ module Binance
246
263
  # @option kwargs [String] :limit Default 500; max 1000.
247
264
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
248
265
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-all-order-lists-user_data
266
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-all-order-lists-user_data
249
267
  def all_order_list(**kwargs)
250
268
  @session.sign_request(:get, '/api/v3/allOrderList', params: kwargs)
251
269
  end
@@ -257,6 +275,7 @@ module Binance
257
275
  # @param kwargs [Hash]
258
276
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
259
277
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-open-order-lists-user_data
278
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-open-order-lists-user_data
260
279
  def open_order_list(**kwargs)
261
280
  @session.sign_request(:get, '/api/v3/openOrderList', params: kwargs)
262
281
  end
@@ -267,7 +286,7 @@ module Binance
267
286
  #
268
287
  # @param kwargs [Hash]
269
288
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
270
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data
289
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#account-information-user_data
271
290
  def account(**kwargs)
272
291
  @session.sign_request(:get, '/api/v3/account', params: kwargs)
273
292
  end
@@ -284,7 +303,7 @@ module Binance
284
303
  # @option kwargs [Integer] :fromId TradeId to fetch from. Default gets most recent trades.
285
304
  # @option kwargs [Integer] :limit Default 500; max 1000.
286
305
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
287
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-trade-list-user_data
306
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#account-trade-list-user_data
288
307
  def my_trades(symbol:, **kwargs)
289
308
  @session.sign_request(:get, '/api/v3/myTrades', params: kwargs.merge(symbol: symbol))
290
309
  end
@@ -295,7 +314,7 @@ module Binance
295
314
  #
296
315
  # @param kwargs [Hash]
297
316
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
298
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-unfilled-order-count-user_data
317
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-unfilled-order-count-user_data
299
318
  def get_order_rate_limit(**kwargs)
300
319
  @session.sign_request(:get, '/api/v3/rateLimit/order', params: kwargs)
301
320
  end
@@ -311,7 +330,7 @@ module Binance
311
330
  # @param kwargs [Integer] :fromPreventedMatchId
312
331
  # @param kwargs [Integer] :limit Default: 500; Max: 1000
313
332
  # @param kwargs [Integer] :recvWindow The value cannot be greater than 60000
314
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-prevented-matches-user_data
333
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-prevented-matches-user_data
315
334
  def my_prevented_matches(symbol:, **kwargs)
316
335
  Binance::Utils::Validation.require_param('symbol', symbol)
317
336
 
@@ -329,7 +348,7 @@ module Binance
329
348
  # @param kwargs [Integer] :fromAllocationId
330
349
  # @param kwargs [Integer] :limit Default 500;Max 1000
331
350
  # @param kwargs [Integer] :orderId
332
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-allocations-user_data
351
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-allocations-user_data
333
352
  def my_allocations(symbol:, **kwargs)
334
353
  Binance::Utils::Validation.require_param('symbol', symbol)
335
354
 
@@ -341,13 +360,45 @@ module Binance
341
360
  # GET /api/v3/account/commission
342
361
  #
343
362
  # @param symbol [String]
344
- # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-commission-rates-user_data
363
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#query-commission-rates-user_data
345
364
  def commission_rate(symbol:)
346
365
  Binance::Utils::Validation.require_param('symbol', symbol)
347
366
 
348
367
  @session.sign_request(:get, '/api/v3/account/commission', params: { symbol: symbol })
349
368
  end
350
369
 
370
+ # Query Order Amendments (USER_DATA)
371
+ #
372
+ # GET /api/v3/order/amendments
373
+ #
374
+ # @param symbol [String]
375
+ # @param orderId [Integer]
376
+ # @param kwargs [Hash]
377
+ # @option kwargs [Integer] :fromExecutionId
378
+ # @option kwargs [Integer] :limit
379
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
380
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-order-amendments-user_data
381
+ def order_amendments(symbol:, orderId:, **kwargs)
382
+ Binance::Utils::Validation.require_param('symbol', symbol)
383
+ Binance::Utils::Validation.require_param('orderId', orderId)
384
+
385
+ @session.sign_request(:get, '/api/v3/order/amendments', params: kwargs.merge(symbol: symbol, orderId: orderId))
386
+ end
387
+
388
+ # Query relevant filters (USER_DATA)
389
+ #
390
+ # GET /api/v3/myFilters
391
+ #
392
+ # @param symbol [String]
393
+ # @param kwargs [Hash]
394
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
395
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-relevant-filters-user_data
396
+ def my_filters(symbol:, **kwargs)
397
+ Binance::Utils::Validation.require_param('symbol', symbol)
398
+
399
+ @session.sign_request(:get, '/api/v3/myFilters', params: kwargs.merge(symbol: symbol))
400
+ end
401
+
351
402
  # Cancel an Existing Order and Send a New Order (TRADE)
352
403
  #
353
404
  # POST /api/v3/order/cancelReplace
@@ -375,6 +426,9 @@ module Binance
375
426
  # @option kwargs [String] :cancelRestrictions ONLY_NEW - Cancel will succeed if the order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED
376
427
  # @option kwargs [String] :orderRateLimitExceededMode DO_NOTHING (default)- will only attempt to cancel the order if account has not exceeded the unfilled order rate limit
377
428
  # CANCEL_ONLY - will always cancel the order
429
+ # @option kwargs [String] :pegPriceType PRIMARY_PEG or MARKET_PEG.
430
+ # @option kwargs [Integer] :pegOffsetValue
431
+ # @option kwargs [String] :pegOffsetType
378
432
  # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
379
433
  # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-an-existing-order-and-send-a-new-order-trade
380
434
  def cancel_replace(symbol:, side:, type:, cancelReplaceMode:, **kwargs)
@@ -391,6 +445,350 @@ module Binance
391
445
  cancelReplaceMode: cancelReplaceMode
392
446
  ))
393
447
  end
448
+
449
+ # Order Amend Keep Priority (TRADE)
450
+ #
451
+ # PUT /api/v3/order/amend/keepPriority
452
+ #
453
+ # @param symbol [String]
454
+ # @param newQty [Float]
455
+ # @param kwargs [Hash]
456
+ # @option kwargs [Integer] :orderId
457
+ # @option kwargs [String] :origClientOrderId
458
+ # @option kwargs [String] :newClientOrderId
459
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
460
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#order-amend-keep-priority-trade
461
+ def amend_keep_priority(symbol:, newQty:, **kwargs)
462
+ Binance::Utils::Validation.require_param('symbol', symbol)
463
+ Binance::Utils::Validation.require_param('newQty', newQty)
464
+
465
+ @session.sign_request(:put, '/api/v3/order/amend/keepPriority',
466
+ params: kwargs.merge(
467
+ symbol: symbol,
468
+ newQty: newQty
469
+ ))
470
+ end
471
+
472
+ # New Order list - OCO (TRADE)
473
+ #
474
+ # POST /api/v3/orderList/oco
475
+ #
476
+ # @param symbol [String]
477
+ # @param side [String]
478
+ # @param quantity [Float]
479
+ # @param aboveType [String]
480
+ # @param belowType [String]
481
+ # @param kwargs [Hash]
482
+ # @option kwargs [String] :listClientOrderId
483
+ # @option kwargs [String] :aboveClientOrderId
484
+ # @option kwargs [Integer] :aboveIcebergQty
485
+ # @option kwargs [Float] :abovePrice
486
+ # @option kwargs [Float] :aboveStopPrice
487
+ # @option kwargs [Integer] :aboveTrailingDelta
488
+ # @option kwargs [Integer] :aboveTimeInForce
489
+ # @option kwargs [Integer] :aboveStrategyId
490
+ # @option kwargs [Integer] :aboveStrategyType
491
+ # @option kwargs [Integer] :abovePegPriceType
492
+ # @option kwargs [Integer] :abovePegOffsetType
493
+ # @option kwargs [Integer] :abovePegOffsetValue
494
+ # @option kwargs [String] :belowClientOrderId
495
+ # @option kwargs [Integer] :belowIcebergQty
496
+ # @option kwargs [Float] :belowPrice
497
+ # @option kwargs [Float] :belowStopPrice
498
+ # @option kwargs [Integer] :belowTrailingDelta
499
+ # @option kwargs [Integer] :belowTimeInForce
500
+ # @option kwargs [Integer] :belowStrategyId
501
+ # @option kwargs [Integer] :belowStrategyType
502
+ # @option kwargs [Integer] :belowPegPriceType
503
+ # @option kwargs [Integer] :belowPegOffsetType
504
+ # @option kwargs [Integer] :belowPegOffsetValue
505
+ # @option kwargs [Integer] :selfTradePreventionMode
506
+ # @option kwargs [String] :newOrderRespType
507
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
508
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#order-amend-keep-priority-trade
509
+ def new_oco_order_list(symbol:, side:, quantity:, aboveType:, belowType:, **kwargs)
510
+ Binance::Utils::Validation.require_param('symbol', symbol)
511
+ Binance::Utils::Validation.require_param('side', side)
512
+ Binance::Utils::Validation.require_param('quantity', quantity)
513
+ Binance::Utils::Validation.require_param('aboveType', aboveType)
514
+ Binance::Utils::Validation.require_param('belowType', belowType)
515
+
516
+ @session.sign_request(:post, '/api/v3/orderList/oco',
517
+ params: kwargs.merge(
518
+ symbol: symbol,
519
+ side: side,
520
+ quantity: quantity,
521
+ aboveType: aboveType,
522
+ belowType: belowType
523
+ ))
524
+ end
525
+
526
+ # New Order list - OTO (TRADE)
527
+ #
528
+ # POST /api/v3/orderList/oto
529
+ #
530
+ # @param symbol [String]
531
+ # @param workingType [String] Supported values: LIMIT, LIMIT_MAKER
532
+ # @param workingSide [String]
533
+ # @param workingPrice [Float]
534
+ # @param workingQuantity [Float]
535
+ # @param pendingType [String]
536
+ # @param pendingSide [String]
537
+ # @param pendingQuantity [Float]
538
+ # @param kwargs [Hash]
539
+ # @option kwargs [String] :listClientOrderId
540
+ # @option kwargs [String] :newOrderRespType
541
+ # @option kwargs [String] :selfTradePreventionMode
542
+ # @option kwargs [String] :workingClientOrderId
543
+ # @option kwargs [Float] :workingIcebergQty
544
+ # @option kwargs [String] :workingTimeInForce
545
+ # @option kwargs [Integer] :workingStrategyId
546
+ # @option kwargs [Integer] :workingStrategyType
547
+ # @option kwargs [String] :workingPegPriceType
548
+ # @option kwargs [String] :workingPegOffsetType
549
+ # @option kwargs [Integer] :workingPegOffsetValue
550
+ # @option kwargs [String] :pendingClientOrderId
551
+ # @option kwargs [Float] :pendingPrice
552
+ # @option kwargs [Float] :pendingStopPrice
553
+ # @option kwargs [Float] :pendingTrailingDelta
554
+ # @option kwargs [Float] :pendingIcebergQty
555
+ # @option kwargs [String] :pendingTimeInForce
556
+ # @option kwargs [Integer] :pendingStrategyId
557
+ # @option kwargs [Integer] :pendingStrategyType
558
+ # @option kwargs [String] :pendingPegPriceType
559
+ # @option kwargs [String] :pendingPegOffsetType
560
+ # @option kwargs [Integer] :pendingPegOffsetValue
561
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
562
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oto-trade
563
+ def new_oto_order_list(
564
+ symbol:,
565
+ workingType:,
566
+ workingSide:,
567
+ workingPrice:,
568
+ workingQuantity:,
569
+ pendingType:,
570
+ pendingSide:,
571
+ pendingQuantity:,
572
+ **kwargs
573
+ )
574
+ params = {
575
+ symbol: symbol,
576
+ workingType: workingType,
577
+ workingSide: workingSide,
578
+ workingPrice: workingPrice,
579
+ workingQuantity: workingQuantity,
580
+ pendingType: pendingType,
581
+ pendingSide: pendingSide,
582
+ pendingQuantity: pendingQuantity
583
+ }
584
+
585
+ params.each do |name, value|
586
+ Binance::Utils::Validation.require_param(name.to_s, value)
587
+ end
588
+
589
+ @session.sign_request(:post, '/api/v3/orderList/oto',
590
+ params: kwargs.merge(params))
591
+ end
592
+
593
+ # New Order list - OTOCO (TRADE)
594
+ #
595
+ # POST /api/v3/orderList/otoco
596
+ #
597
+ # @param symbol [String]
598
+ # @param workingType [String] Supported values: LIMIT, LIMIT_MAKER
599
+ # @param workingSide [String]
600
+ # @param workingPrice [Float]
601
+ # @param workingQuantity [Float]
602
+ # @param pendingSide [String]
603
+ # @param pendingQuantity [Float]
604
+ # @param pendingAboveType [String]
605
+ # @param kwargs [Hash]
606
+ # @option kwargs [String] :listClientOrderId
607
+ # @option kwargs [String] :newOrderRespType
608
+ # @option kwargs [String] :selfTradePreventionMode
609
+ # @option kwargs [String] :workingClientOrderId
610
+ # @option kwargs [Float] :workingIcebergQty
611
+ # @option kwargs [String] :workingTimeInForce
612
+ # @option kwargs [Integer] :workingStrategyId
613
+ # @option kwargs [Integer] :workingStrategyType
614
+ # @option kwargs [String] :workingPegPriceType
615
+ # @option kwargs [String] :workingPegOffsetType
616
+ # @option kwargs [Integer] :workingPegOffsetValue
617
+ # @option kwargs [String] :pendingAboveClientOrderId
618
+ # @option kwargs [Float] :pendingAbovePrice
619
+ # @option kwargs [Float] :pendingAboveStopPrice
620
+ # @option kwargs [Float] :pendingAboveTrailingDelta
621
+ # @option kwargs [Float] :pendingAboveIcebergQty
622
+ # @option kwargs [String] :pendingAboveTimeInForce
623
+ # @option kwargs [Integer] :pendingAboveStrategyId
624
+ # @option kwargs [Integer] :pendingAboveStrategyType
625
+ # @option kwargs [String] :pendingAbovePegPriceType
626
+ # @option kwargs [String] :pendingAbovePegOffsetType
627
+ # @option kwargs [Integer] :pendingAbovePegOffsetValue
628
+ # @option kwargs [String] :pendingBelowType
629
+ # @option kwargs [String] :pendingBelowClientOrderId
630
+ # @option kwargs [Float] :pendingBelowPrice
631
+ # @option kwargs [Float] :pendingBelowStopPrice
632
+ # @option kwargs [Float] :pendingBelowTrailingDelta
633
+ # @option kwargs [Float] :pendingBelowIcebergQty
634
+ # @option kwargs [String] :pendingBelowTimeInForce
635
+ # @option kwargs [Integer] :pendingBelowStrategyId
636
+ # @option kwargs [Integer] :pendingBelowStrategyType
637
+ # @option kwargs [String] :pendingBelowPegPriceType
638
+ # @option kwargs [String] :pendingBelowPegOffsetType
639
+ # @option kwargs [Integer] :pendingBelowPegOffsetValue
640
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
641
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---otoco-trade
642
+ def new_otoco_order_list(symbol:, workingType:, workingSide:, workingPrice:, workingQuantity:, pendingSide:, pendingQuantity:, pendingAboveType:, **kwargs)
643
+ params = {
644
+ symbol: symbol,
645
+ workingType: workingType,
646
+ workingSide: workingSide,
647
+ workingPrice: workingPrice,
648
+ workingQuantity: workingQuantity,
649
+ pendingSide: pendingSide,
650
+ pendingQuantity: pendingQuantity,
651
+ pendingAboveType: pendingAboveType
652
+ }
653
+
654
+ params.each do |name, value|
655
+ Binance::Utils::Validation.require_param(name.to_s, value)
656
+ end
657
+
658
+ @session.sign_request(:post, '/api/v3/orderList/otoco',
659
+ params: kwargs.merge(params))
660
+ end
661
+
662
+ # New Order List - OPO (TRADE)
663
+ #
664
+ # POST /api/v3/orderList/opo
665
+ #
666
+ # @param symbol [String]
667
+ # @param workingType [String] Supported values: LIMIT, LIMIT_MAKER
668
+ # @param workingSide [String]
669
+ # @param workingPrice [Float]
670
+ # @param workingQuantity [Float]
671
+ # @param pendingType [String]
672
+ # @param pendingSide [String]
673
+ # @param kwargs [Hash]
674
+ # @option kwargs [String] :listClientOrderId
675
+ # @option kwargs [String] :newOrderRespType
676
+ # @option kwargs [String] :selfTradePreventionMode
677
+ # @option kwargs [String] :workingClientOrderId
678
+ # @option kwargs [Float] :workingIcebergQty
679
+ # @option kwargs [String] :workingTimeInForce
680
+ # @option kwargs [Integer] :workingStrategyId
681
+ # @option kwargs [Integer] :workingStrategyType
682
+ # @option kwargs [String] :workingPegPriceType
683
+ # @option kwargs [String] :workingPegOffsetType
684
+ # @option kwargs [Integer] :workingPegOffsetValue
685
+ # @option kwargs [String] :pendingClientOrderId
686
+ # @option kwargs [Float] :pendingPrice
687
+ # @option kwargs [Float] :pendingStopPrice
688
+ # @option kwargs [Float] :pendingTrailingDelta
689
+ # @option kwargs [Float] :pendingIcebergQty
690
+ # @option kwargs [String] :pendingTimeInForce
691
+ # @option kwargs [Integer] :pendingStrategyId
692
+ # @option kwargs [Integer] :pendingStrategyType
693
+ # @option kwargs [String] :pendingPegPriceType
694
+ # @option kwargs [String] :pendingPegOffsetType
695
+ # @option kwargs [Integer] :pendingPegOffsetValue
696
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
697
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---opo-trade
698
+ def new_opo_order_list(symbol:, workingType:, workingSide:, workingPrice:, workingQuantity:, pendingType:, pendingSide:, **kwargs)
699
+ params = {
700
+ symbol: symbol,
701
+ workingType: workingType,
702
+ workingSide: workingSide,
703
+ workingPrice: workingPrice,
704
+ workingQuantity: workingQuantity,
705
+ pendingType: pendingType,
706
+ pendingSide: pendingSide
707
+ }
708
+
709
+ params.each do |name, value|
710
+ Binance::Utils::Validation.require_param(name.to_s, value)
711
+ end
712
+
713
+ @session.sign_request(:post, '/api/v3/orderList/opo',
714
+ params: kwargs.merge(params))
715
+ end
716
+
717
+ # New Order List - OPOCO (TRADE)
718
+ #
719
+ # POST /api/v3/orderList/opoco
720
+ #
721
+ # @param symbol [String]
722
+ # @param workingType [String] Supported values: LIMIT, LIMIT_MAKER
723
+ # @param workingSide [String]
724
+ # @param workingPrice [Float]
725
+ # @param workingQuantity [Float]
726
+ # @param pendingSide [String]
727
+ # @param pendingAboveType [String]
728
+ # @param kwargs [Hash]
729
+ # @option kwargs [String] :listClientOrderId
730
+ # @option kwargs [String] :newOrderRespType
731
+ # @option kwargs [String] :selfTradePreventionMode
732
+ # @option kwargs [String] :workingClientOrderId
733
+ # @option kwargs [Float] :workingIcebergQty
734
+ # @option kwargs [String] :workingTimeInForce
735
+ # @option kwargs [Integer] :workingStrategyId
736
+ # @option kwargs [Integer] :workingStrategyType
737
+ # @option kwargs [String] :workingPegPriceType
738
+ # @option kwargs [String] :workingPegOffsetType
739
+ # @option kwargs [Integer] :workingPegOffsetValue
740
+ # @option kwargs [String] :pendingAboveClientOrderId
741
+ # @option kwargs [Float] :pendingAbovePrice
742
+ # @option kwargs [Float] :pendingAboveStopPrice
743
+ # @option kwargs [Float] :pendingAboveTrailingDelta
744
+ # @option kwargs [Float] :pendingAboveIcebergQty
745
+ # @option kwargs [String] :pendingAboveTimeInForce
746
+ # @option kwargs [Integer] :pendingAboveStrategyId
747
+ # @option kwargs [Integer] :pendingAboveStrategyType
748
+ # @option kwargs [String] :pendingAbovePegPriceType
749
+ # @option kwargs [String] :pendingAbovePegOffsetType
750
+ # @option kwargs [Integer] :pendingAbovePegOffsetValue
751
+ # @option kwargs [String] :pendingBelowType
752
+ # @option kwargs [String] :pendingBelowClientOrderId
753
+ # @option kwargs [Float] :pendingBelowPrice
754
+ # @option kwargs [Float] :pendingBelowStopPrice
755
+ # @option kwargs [Float] :pendingBelowTrailingDelta
756
+ # @option kwargs [Float] :pendingBelowIcebergQty
757
+ # @option kwargs [String] :pendingBelowTimeInForce
758
+ # @option kwargs [Integer] :pendingBelowStrategyId
759
+ # @option kwargs [Integer] :pendingBelowStrategyType
760
+ # @option kwargs [String] :pendingBelowPegPriceType
761
+ # @option kwargs [String] :pendingBelowPegOffsetType
762
+ # @option kwargs [Integer] :pendingBelowPegOffsetValue
763
+ # @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
764
+ # @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---opoco-trade
765
+ def new_opoco_order_list(
766
+ symbol:,
767
+ workingType:,
768
+ workingSide:,
769
+ workingPrice:,
770
+ workingQuantity:,
771
+ pendingSide:,
772
+ pendingAboveType:,
773
+ **kwargs
774
+ )
775
+ params = {
776
+ symbol: symbol,
777
+ workingType: workingType,
778
+ workingSide: workingSide,
779
+ workingPrice: workingPrice,
780
+ workingQuantity: workingQuantity,
781
+ pendingSide: pendingSide,
782
+ pendingAboveType: pendingAboveType
783
+ }
784
+
785
+ params.each do |name, value|
786
+ Binance::Utils::Validation.require_param(name.to_s, value)
787
+ end
788
+
789
+ @session.sign_request(:post, '/api/v3/orderList/opoco',
790
+ params: kwargs.merge(params))
791
+ end
394
792
  end
395
793
  end
396
794
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Binance
4
- VERSION = '1.7.1'
4
+ VERSION = '1.8.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.7.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Binance
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-13 00:00:00.000000000 Z
11
+ date: 2026-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.8'
75
+ version: 1.10.5
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.8'
82
+ version: 1.10.5
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: websocket-eventmachine-client
85
85
  requirement: !ruby/object:Gem::Requirement