binance-connector-ruby 1.4.0 → 1.5.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 +4 -4
- data/CHANGELOG.md +72 -0
- data/lib/binance/error.rb +1 -1
- data/lib/binance/spot/simple_earn.rb +403 -0
- data/lib/binance/spot.rb +3 -8
- data/lib/binance/version.rb +1 -1
- metadata +3 -5
- data/lib/binance/spot/bswap.rb +0 -217
- data/lib/binance/spot/savings.rb +0 -269
- data/lib/binance/spot/staking.rb +0 -136
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ceca2a0ada80e0c672ab070079bfae98aa60102940466f5437182da8fb59b078
|
|
4
|
+
data.tar.gz: 480f974a34fe4238b1e809ada9a69c540411e1a40856c6553d682be66103e051
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5818261799432fd0b513123a174449dd69a47beabf2d1870b26a1aa7cd28824ff8aab7bfb047c24b45af1b49283086d03551edce723187b422d580da33e0eca2
|
|
7
|
+
data.tar.gz: 3b5cd20c16795e465e541ee6b4dec624379014feac1b12471981c5bac15ef773656d0adababc193ccce630d0135551bb283d87491323f48bf198eec8187bcffb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.5.0 - 2024-04-10
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Support Ruby 3.2 and 3.3
|
|
7
|
+
- New endpoint for Simple Earn:
|
|
8
|
+
- `GET /sapi/v1/simple-earn/flexible/list` to query available Simple Earn flexible product list
|
|
9
|
+
- `GET /sapi/v1/simple-earn/locked/list` to query available Simple Earn locked product list
|
|
10
|
+
- `POST /sapi/v1/simple-earn/flexible/subscribe` to subscribe to a flexible product
|
|
11
|
+
- `POST /sapi/v1/simple-earn/locked/subscribe` to subscribe to a locked product
|
|
12
|
+
- `POST /sapi/v1/simple-earn/flexible/redeem` to redeem a flexible product
|
|
13
|
+
- `POST /sapi/v1/simple-earn/locked/redeem` to redeem a locked product
|
|
14
|
+
- `GET /sapi/v1/simple-earn/flexible/position` to get a flexible product position
|
|
15
|
+
- `GET /sapi/v1/simple-earn/locked/position` to get a locked product position
|
|
16
|
+
- `GET /sapi/v1/simple-earn/account` to get a simple account balances
|
|
17
|
+
- `GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord` to get flexible subscription records
|
|
18
|
+
- `GET /sapi/v1/simple-earn/locked/history/subscriptionRecord` to get locked subscription records
|
|
19
|
+
- `GET /sapi/v1/simple-earn/flexible/history/redemptionRecord` to retrieve flexible redemption records
|
|
20
|
+
- `GET /sapi/v1/simple-earn/locked/history/redemptionRecord` to retrieve locked redemption records
|
|
21
|
+
- `GET /sapi/v1/simple-earn/flexible/history/rewardsRecord` to get flexible rewards history
|
|
22
|
+
- `GET /sapi/v1/simple-earn/locked/history/rewardsRecord` to get locked rewards history
|
|
23
|
+
- `POST /sapi/v1/simple-earn/flexible/setAutoSubscribe` to set an auto-subscription to a flexible product
|
|
24
|
+
- `POST /sapi/v1/simple-earn/locked/setAutoSubscribe` to set an auto-subscription to a locked product
|
|
25
|
+
- `GET /sapi/v1/simple-earn/flexible/personalLeftQuota` to get flexible personal left quota
|
|
26
|
+
- `GET /sapi/v1/simple-earn/locked/personalLeftQuota` to get locked personal left quota
|
|
27
|
+
- `GET /sapi/v1/simple-earn/flexible/subscriptionPreview` to get flexible subscription preview
|
|
28
|
+
- `GET /sapi/v1/simple-earn/locked/subscriptionPreview` to get locked subscription previews
|
|
29
|
+
- `GET /sapi/v1/simple-earn/flexible/history/rateHistory` to get a rate history
|
|
30
|
+
- `GET /sapi/v1/simple-earn/flexible/history/collateralRecord` to get collateral records
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- Update dependencies
|
|
34
|
+
- Drop support of Ruby 2.6 and 2.7
|
|
35
|
+
|
|
36
|
+
### Removed
|
|
37
|
+
- Deprecated Savings endpoints:
|
|
38
|
+
- `GET /sapi/v1/lending/daily/product/list`
|
|
39
|
+
- `GET /sapi/v1/lending/daily/userLeftQuota`
|
|
40
|
+
- `POST /sapi/v1/lending/daily/purchase`
|
|
41
|
+
- `GET /sapi/v1/lending/daily/userRedemptionQuota`
|
|
42
|
+
- `POST /sapi/v1/lending/daily/redeem`
|
|
43
|
+
- `GET /sapi/v1/lending/daily/token/position`
|
|
44
|
+
- `GET /sapi/v1/lending/project/list`
|
|
45
|
+
- `POST /sapi/v1/lending/customizedFixed/purchase`
|
|
46
|
+
- `GET /sapi/v1/lending/union/account`
|
|
47
|
+
- `GET /sapi/v1/lending/union/purchaseRecord`
|
|
48
|
+
- `GET /sapi/v1/lending/union/redemptionRecord`
|
|
49
|
+
- `GET /sapi/v1/lending/union/interestHistory`
|
|
50
|
+
- `GET /sapi/v1/lending/project/position/list`
|
|
51
|
+
- `POST /sapi/v1/lending/positionChanged`
|
|
52
|
+
|
|
53
|
+
- Deprecated Staking endpoints:
|
|
54
|
+
- `GET /sapi/v1/staking/productList`
|
|
55
|
+
- `POST /sapi/v1/staking/purchase`
|
|
56
|
+
- `POST /sapi/v1/staking/redeem`
|
|
57
|
+
- `GET /sapi/v1/staking/position`
|
|
58
|
+
- `GET /sapi/v1/staking/stakingRecord`
|
|
59
|
+
- `POST /sapi/v1/staking/setAutoStaking`
|
|
60
|
+
- `GET /sapi/v1/staking/personalLeftQuota`
|
|
61
|
+
|
|
62
|
+
- Deprecated BSwap endpoints:
|
|
63
|
+
- `GET /sapi/v1/bswap/pools`
|
|
64
|
+
- `GET /sapi/v1/bswap/liquidity`
|
|
65
|
+
- `POST /sapi/v1/bswap/liquidityAdd`
|
|
66
|
+
- `POST /sapi/v1/bswap/liquidityRemove`
|
|
67
|
+
- `GET /sapi/v1/bswap/liquidityOps`
|
|
68
|
+
- `GET /sapi/v1/bswap/quote`
|
|
69
|
+
- `POST /sapi/v1/bswap/swap`
|
|
70
|
+
- `GET /sapi/v1/bswap/swap`
|
|
71
|
+
- `GET /sapi/v1/bswap/poolConfigure`
|
|
72
|
+
- `GET /sapi/v1/bswap/addLiquidityPreview`
|
|
73
|
+
- `GET /sapi/v1/bswap/removeLiquidityPreview`
|
|
74
|
+
|
|
3
75
|
## 1.4.0 - 2022-12-20
|
|
4
76
|
### Added
|
|
5
77
|
- Add RSA signature
|
data/lib/binance/error.rb
CHANGED
|
@@ -21,7 +21,7 @@ module Binance
|
|
|
21
21
|
class RequiredParameterError < Error
|
|
22
22
|
def initialize(param_name, param_value)
|
|
23
23
|
super(
|
|
24
|
-
|
|
24
|
+
"ValidationFailed: #{param_name} is required, but provided value: #{param_value}"
|
|
25
25
|
)
|
|
26
26
|
end
|
|
27
27
|
end
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Binance
|
|
4
|
+
class Spot
|
|
5
|
+
# all wallet endpoints
|
|
6
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#wallet-endpoints
|
|
7
|
+
module SimpleEarn
|
|
8
|
+
# Get Simple Earn Flexible Product List (USER_DATA)
|
|
9
|
+
#
|
|
10
|
+
# GET /sapi/v1/simple-earn/flexible/list
|
|
11
|
+
#
|
|
12
|
+
# @param kwargs [Hash]
|
|
13
|
+
# @option kwargs [String] :asset
|
|
14
|
+
# @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
|
|
15
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
16
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
17
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-flexible-product-list-user_data
|
|
18
|
+
def flexible_product_list(**kwargs)
|
|
19
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/list', params: kwargs)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Get Simple Earn Locked Product List (USER_DATA)
|
|
23
|
+
#
|
|
24
|
+
# GET /sapi/v1/simple-earn/locked/list
|
|
25
|
+
#
|
|
26
|
+
# @param kwargs [Hash]
|
|
27
|
+
# @option kwargs [String] :asset
|
|
28
|
+
# @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
|
|
29
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
30
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
31
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-locked-product-list-user_data
|
|
32
|
+
def locked_product_list(**kwargs)
|
|
33
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/list', params: kwargs)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Subscribe Flexible Product (TRADE)
|
|
37
|
+
#
|
|
38
|
+
# POST /sapi/v1/simple-earn/flexible/subscribe
|
|
39
|
+
#
|
|
40
|
+
# @param productId [String]
|
|
41
|
+
# @param amount [Float]
|
|
42
|
+
# @param kwargs [Hash]
|
|
43
|
+
# @option kwargs [Boolean] :autoSubscribe true or false, default true
|
|
44
|
+
# @option kwargs [String] :sourceAccount SPOT,FUND,ALL, default SPOT
|
|
45
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
46
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#subscribe-flexible-product-trade
|
|
47
|
+
def flexible_subscribe(productId:, amount:, **kwargs)
|
|
48
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
49
|
+
Binance::Utils::Validation.require_param('amount', amount)
|
|
50
|
+
|
|
51
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/flexible/subscribe', params: kwargs.merge(
|
|
52
|
+
productId: productId,
|
|
53
|
+
amount: amount
|
|
54
|
+
))
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Subscribe Locked Product (TRADE)
|
|
58
|
+
#
|
|
59
|
+
# POST /sapi/v1/simple-earn/locked/subscribe
|
|
60
|
+
#
|
|
61
|
+
# @param projectId [String]
|
|
62
|
+
# @param amount [Float]
|
|
63
|
+
# @param kwargs [Hash]
|
|
64
|
+
# @option kwargs [Boolean] :autoSubscribe true or false, default true
|
|
65
|
+
# @option kwargs [String] :sourceAccount SPOT,FUND,ALL, default SPOT
|
|
66
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
67
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade
|
|
68
|
+
def locked_subscribe(projectId:, amount:, **kwargs)
|
|
69
|
+
Binance::Utils::Validation.require_param('projectId', projectId)
|
|
70
|
+
Binance::Utils::Validation.require_param('amount', amount)
|
|
71
|
+
|
|
72
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/locked/subscribe', params: kwargs.merge(
|
|
73
|
+
projectId: projectId,
|
|
74
|
+
amount: amount
|
|
75
|
+
))
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Redeem Flexible Product (TRADE)
|
|
79
|
+
#
|
|
80
|
+
# POST /sapi/v1/simple-earn/flexible/redeem
|
|
81
|
+
#
|
|
82
|
+
# @param productId [String]
|
|
83
|
+
# @param kwargs [Hash]
|
|
84
|
+
# @option kwargs [Boolean] :redeemAll true or false, default true
|
|
85
|
+
# @option kwargs [Float] :amount if redeemAll is false, amount is mandatory
|
|
86
|
+
# @option kwargs [String] :destAccount SPOT,FUND,ALL, default SPOT
|
|
87
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
88
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-trade
|
|
89
|
+
def flexible_redeem_product(productId:, **kwargs)
|
|
90
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
91
|
+
|
|
92
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/flexible/redeem', params: kwargs.merge(
|
|
93
|
+
productId: productId
|
|
94
|
+
))
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Redeem Locked Product (TRADE)
|
|
98
|
+
#
|
|
99
|
+
# POST /sapi/v1/simple-earn/locked/redeem
|
|
100
|
+
#
|
|
101
|
+
# @param positionId [String]
|
|
102
|
+
# @param kwargs [Hash]
|
|
103
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
104
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#redeem-locked-product-trade
|
|
105
|
+
def locked_redeem_product(positionId:, **kwargs)
|
|
106
|
+
Binance::Utils::Validation.require_param('positionId', positionId)
|
|
107
|
+
|
|
108
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/locked/redeem', params: kwargs.merge(
|
|
109
|
+
positionId: positionId
|
|
110
|
+
))
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Get Flexible Product Position (USER_DATA)
|
|
114
|
+
#
|
|
115
|
+
# GET /sapi/v1/simple-earn/flexible/position
|
|
116
|
+
#
|
|
117
|
+
# @param kwargs [Hash]
|
|
118
|
+
# @option kwargs [String] :asset
|
|
119
|
+
# @option kwargs [String] :productId
|
|
120
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
121
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
122
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
123
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data
|
|
124
|
+
def flexible_product_position(**kwargs)
|
|
125
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/position', params: kwargs)
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Get Locked Product Position (USER_DATA)
|
|
129
|
+
#
|
|
130
|
+
# GET /sapi/v1/simple-earn/locked/position
|
|
131
|
+
#
|
|
132
|
+
# @param kwargs [Hash]
|
|
133
|
+
# @option kwargs [String] :asset
|
|
134
|
+
# @option kwargs [String] :positionId
|
|
135
|
+
# @option kwargs [String] :projectId
|
|
136
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
137
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
138
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
139
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-product-position-user_data
|
|
140
|
+
def locked_product_position(**kwargs)
|
|
141
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/position', params: kwargs)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Simple Account(USER_DATA)
|
|
145
|
+
#
|
|
146
|
+
# GET /sapi/v1/simple-earn/account'
|
|
147
|
+
#
|
|
148
|
+
# @param kwargs [Hash]
|
|
149
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
150
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#simple-account-user_data
|
|
151
|
+
def simple_earn_account(**kwargs)
|
|
152
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/account', params: kwargs)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Get Flexible Subscription Record (USER_DATA)
|
|
156
|
+
#
|
|
157
|
+
# GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord
|
|
158
|
+
#
|
|
159
|
+
# @param kwargs [Hash]
|
|
160
|
+
# @option kwargs [String] :productId
|
|
161
|
+
# @option kwargs [String] :purchaseId
|
|
162
|
+
# @option kwargs [String] :asset
|
|
163
|
+
# @option kwargs [Integer] :startTime
|
|
164
|
+
# @option kwargs [Integer] :endTime
|
|
165
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
166
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
167
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
168
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-subscription-record-user_data
|
|
169
|
+
def flexible_subscription_record(**kwargs)
|
|
170
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/subscriptionRecord', params: kwargs)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Get Locked Subscription Record (USER_DATA)
|
|
174
|
+
#
|
|
175
|
+
# GET /sapi/v1/simple-earn/locked/history/subscriptionRecord
|
|
176
|
+
#
|
|
177
|
+
# @param kwargs [Hash]
|
|
178
|
+
# @option kwargs [String] :purchaseId
|
|
179
|
+
# @option kwargs [String] :asset
|
|
180
|
+
# @option kwargs [Integer] :startTime
|
|
181
|
+
# @option kwargs [Integer] :endTime
|
|
182
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
183
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
184
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
185
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-subscription-record-user_data
|
|
186
|
+
def locked_subscription_record(**kwargs)
|
|
187
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/subscriptionRecord', params: kwargs)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Get Flexible Redemption Record (USER_DATA)
|
|
191
|
+
#
|
|
192
|
+
# GET /sapi/v1/simple-earn/flexible/history/redemptionRecord
|
|
193
|
+
#
|
|
194
|
+
# @param kwargs [Hash]
|
|
195
|
+
# @option kwargs [String] :productId
|
|
196
|
+
# @option kwargs [String] :redeemId
|
|
197
|
+
# @option kwargs [String] :asset
|
|
198
|
+
# @option kwargs [Integer] :startTime
|
|
199
|
+
# @option kwargs [Integer] :endTime
|
|
200
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
201
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
202
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
203
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-redemption-record-user_data
|
|
204
|
+
def flexible_redemption_record(**kwargs)
|
|
205
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/redemptionRecord', params: kwargs)
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Get Locked Redemption Record (USER_DATA)
|
|
209
|
+
#
|
|
210
|
+
# GET /sapi/v1/simple-earn/locked/history/redemptionRecord
|
|
211
|
+
#
|
|
212
|
+
# @param kwargs [Hash]
|
|
213
|
+
# @option kwargs [String] :positionId
|
|
214
|
+
# @option kwargs [String] :redeemId
|
|
215
|
+
# @option kwargs [String] :asset
|
|
216
|
+
# @option kwargs [Integer] :startTime
|
|
217
|
+
# @option kwargs [Integer] :endTime
|
|
218
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
219
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
220
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
221
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-redemption-record-user_data
|
|
222
|
+
def locked_redemption_record(**kwargs)
|
|
223
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/redemptionRecord', params: kwargs)
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Get Flexible Rewards History (USER_DATA)
|
|
227
|
+
#
|
|
228
|
+
# GET /sapi/v1/simple-earn/flexible/history/rewardsRecord
|
|
229
|
+
#
|
|
230
|
+
# @param type [String] BONUS - Bonus tiered APR, REALTIME Real-time APR, REWARDS Historical rewards
|
|
231
|
+
# @param kwargs [Hash]
|
|
232
|
+
# @option kwargs [String] :productId
|
|
233
|
+
# @option kwargs [String] :asset
|
|
234
|
+
# @option kwargs [Integer] :startTime
|
|
235
|
+
# @option kwargs [Integer] :endTime
|
|
236
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
237
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
238
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
239
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-rewards-history-user_data
|
|
240
|
+
def flexible_rewards_history(type:, **kwargs)
|
|
241
|
+
Binance::Utils::Validation.require_param('type', type)
|
|
242
|
+
|
|
243
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/rewardsRecord', params: kwargs.merge(type: type))
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# Get Locked Rewards History (USER_DATA)
|
|
247
|
+
#
|
|
248
|
+
# GET /sapi/v1/simple-earn/locked/history/rewardsRecord
|
|
249
|
+
#
|
|
250
|
+
# @param kwargs [Hash]
|
|
251
|
+
# @option kwargs [String] :positionId
|
|
252
|
+
# @option kwargs [String] :asset
|
|
253
|
+
# @option kwargs [Integer] :startTime
|
|
254
|
+
# @option kwargs [Integer] :endTime
|
|
255
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
256
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
257
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
258
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-rewards-history-user_data
|
|
259
|
+
def locked_rewards_history(**kwargs)
|
|
260
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/history/rewardsRecord', params: kwargs)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
# Set Flexible Auto Subscribe (USER_DATA)
|
|
264
|
+
#
|
|
265
|
+
# POST /sapi/v1/simple-earn/flexible/setAutoSubscribe
|
|
266
|
+
#
|
|
267
|
+
# @param productId [String]
|
|
268
|
+
# @param autoSubscribe [Boolean] true or false
|
|
269
|
+
# @param kwargs [Hash]
|
|
270
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
271
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#set-flexible-auto-subscribe-user_data
|
|
272
|
+
def flexible_auto_subscribe(productId:, autoSubscribe:, **kwargs)
|
|
273
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
274
|
+
Binance::Utils::Validation.require_param('autoSubscribe', autoSubscribe)
|
|
275
|
+
|
|
276
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/flexible/setAutoSubscribe', params: kwargs.merge(
|
|
277
|
+
productId: productId,
|
|
278
|
+
autoSubscribe: autoSubscribe
|
|
279
|
+
))
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
# Set Locked Auto Subscribe (USER_DATA)
|
|
283
|
+
#
|
|
284
|
+
# POST /sapi/v1/simple-earn/locked/setAutoSubscribe
|
|
285
|
+
#
|
|
286
|
+
# @param positionId [String]
|
|
287
|
+
# @param autoSubscribe [Boolean] true or false
|
|
288
|
+
# @param kwargs [Hash]
|
|
289
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
290
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#set-locked-auto-subscribe-user_data
|
|
291
|
+
def locked_auto_subscribe(positionId:, autoSubscribe:, **kwargs)
|
|
292
|
+
Binance::Utils::Validation.require_param('positionId', positionId)
|
|
293
|
+
Binance::Utils::Validation.require_param('autoSubscribe', autoSubscribe)
|
|
294
|
+
|
|
295
|
+
@session.sign_request(:post, '/sapi/v1/simple-earn/locked/setAutoSubscribe', params: kwargs.merge(
|
|
296
|
+
positionId: positionId,
|
|
297
|
+
autoSubscribe: autoSubscribe
|
|
298
|
+
))
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
# Get Flexible Personal Left Quota (USER_DATA)
|
|
302
|
+
#
|
|
303
|
+
# GET /sapi/v1/simple-earn/flexible/personalLeftQuota
|
|
304
|
+
#
|
|
305
|
+
# @param productId [String]
|
|
306
|
+
# @param kwargs [Hash]
|
|
307
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
308
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-personal-left-quota-user_data
|
|
309
|
+
def flexible_personal_left_quota(productId:, **kwargs)
|
|
310
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
311
|
+
|
|
312
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/personalLeftQuota', params: kwargs.merge(productId: productId))
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
# Get Locked Personal Left Quota (USER_DATA)
|
|
316
|
+
#
|
|
317
|
+
# GET /sapi/v1/simple-earn/locked/personalLeftQuota
|
|
318
|
+
#
|
|
319
|
+
# @param projectId [String]
|
|
320
|
+
# @param kwargs [Hash]
|
|
321
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
322
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-personal-left-quota-user_data
|
|
323
|
+
def locked_personal_left_quota(projectId:, **kwargs)
|
|
324
|
+
Binance::Utils::Validation.require_param('projectId', projectId)
|
|
325
|
+
|
|
326
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/personalLeftQuota', params: kwargs.merge(projectId: projectId))
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
# Get Flexible Subscription Preview (USER_DATA)
|
|
330
|
+
#
|
|
331
|
+
# GET /sapi/v1/simple-earn/flexible/subscriptionPreview
|
|
332
|
+
#
|
|
333
|
+
# @param productId [String]
|
|
334
|
+
# @param amount [Float]
|
|
335
|
+
# @param kwargs [Hash]
|
|
336
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
337
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-subscription-preview-user_data
|
|
338
|
+
def flexible_subscription_preview(productId:, amount:, **kwargs)
|
|
339
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
340
|
+
Binance::Utils::Validation.require_param('amount', amount)
|
|
341
|
+
|
|
342
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/subscriptionPreview', params: kwargs.merge(
|
|
343
|
+
productId: productId,
|
|
344
|
+
amount: amount
|
|
345
|
+
))
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
# Get Locked Subscription Preview (USER_DATA)
|
|
349
|
+
#
|
|
350
|
+
# GET /sapi/v1/simple-earn/locked/subscriptionPreview
|
|
351
|
+
#
|
|
352
|
+
# @param projectId [String]
|
|
353
|
+
# @param amount [Float]
|
|
354
|
+
# @param kwargs [Hash]
|
|
355
|
+
# @option kwargs [Boolean] :autoSubscribe true or false, default true
|
|
356
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
357
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-locked-subscription-preview-user_data
|
|
358
|
+
def locked_subscription_preview(projectId:, amount:, **kwargs)
|
|
359
|
+
Binance::Utils::Validation.require_param('projectId', projectId)
|
|
360
|
+
Binance::Utils::Validation.require_param('amount', amount)
|
|
361
|
+
|
|
362
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/locked/subscriptionPreview', params: kwargs.merge(
|
|
363
|
+
projectId: projectId,
|
|
364
|
+
amount: amount
|
|
365
|
+
))
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
# Get Rate History (USER_DATA)
|
|
369
|
+
#
|
|
370
|
+
# GET /sapi/v1/simple-earn/flexible/history/rateHistory
|
|
371
|
+
#
|
|
372
|
+
# @param productId [String]
|
|
373
|
+
# @param kwargs [Hash]
|
|
374
|
+
# @option kwargs [Integer] :startTime
|
|
375
|
+
# @option kwargs [Integer] :endTime
|
|
376
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
377
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
378
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
379
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-rate-history-user_data
|
|
380
|
+
def rate_history(productId:, **kwargs)
|
|
381
|
+
Binance::Utils::Validation.require_param('productId', productId)
|
|
382
|
+
|
|
383
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/rateHistory', params: kwargs.merge(productId: productId))
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
# Get Collateral Record (USER_DATA)
|
|
387
|
+
#
|
|
388
|
+
# GET /sapi/v1/simple-earn/flexible/history/collateralRecord
|
|
389
|
+
#
|
|
390
|
+
# @param kwargs [Hash]
|
|
391
|
+
# @option kwargs [String] :productId
|
|
392
|
+
# @option kwargs [Integer] :startTime
|
|
393
|
+
# @option kwargs [Integer] :endTime
|
|
394
|
+
# @option kwargs [Integer] :current Currently querying the page. Start from 1. Default:1
|
|
395
|
+
# @option kwargs [Integer] :size Default:10, Max:100
|
|
396
|
+
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
397
|
+
# @see https://binance-docs.github.io/apidocs/spot/en/#get-collateral-record-user_data
|
|
398
|
+
def collateral_record(**kwargs)
|
|
399
|
+
@session.sign_request(:get, '/sapi/v1/simple-earn/flexible/history/collateralRecord', params: kwargs)
|
|
400
|
+
end
|
|
401
|
+
end
|
|
402
|
+
end
|
|
403
|
+
end
|
data/lib/binance/spot.rb
CHANGED
|
@@ -6,7 +6,6 @@ require 'binance/utils/validation'
|
|
|
6
6
|
require 'binance/utils/url'
|
|
7
7
|
require 'binance/error'
|
|
8
8
|
require 'binance/spot/blvt'
|
|
9
|
-
require 'binance/spot/bswap'
|
|
10
9
|
require 'binance/spot/c2c'
|
|
11
10
|
require 'binance/spot/convert'
|
|
12
11
|
require 'binance/spot/fiat'
|
|
@@ -15,8 +14,7 @@ require 'binance/spot/loan'
|
|
|
15
14
|
require 'binance/spot/margin'
|
|
16
15
|
require 'binance/spot/market'
|
|
17
16
|
require 'binance/spot/mining'
|
|
18
|
-
require 'binance/spot/
|
|
19
|
-
require 'binance/spot/staking'
|
|
17
|
+
require 'binance/spot/simple_earn'
|
|
20
18
|
require 'binance/spot/stream'
|
|
21
19
|
require 'binance/spot/subaccount'
|
|
22
20
|
require 'binance/spot/trade'
|
|
@@ -26,7 +24,6 @@ require 'binance/spot/websocket'
|
|
|
26
24
|
module Binance
|
|
27
25
|
# Spot class includes the following modules:
|
|
28
26
|
# - Blvt
|
|
29
|
-
# - Bswap
|
|
30
27
|
# - C2C
|
|
31
28
|
# - Convert
|
|
32
29
|
# - Fiat
|
|
@@ -35,7 +32,7 @@ module Binance
|
|
|
35
32
|
# - Margin
|
|
36
33
|
# - Market
|
|
37
34
|
# - Mining
|
|
38
|
-
# -
|
|
35
|
+
# - SimpleEarn
|
|
39
36
|
# - Stream
|
|
40
37
|
# - Subaccount
|
|
41
38
|
# - Trade
|
|
@@ -43,7 +40,6 @@ module Binance
|
|
|
43
40
|
# @see https://binance-docs.github.io/apidocs/spot/en/
|
|
44
41
|
class Spot
|
|
45
42
|
include Binance::Spot::Blvt
|
|
46
|
-
include Binance::Spot::Bswap
|
|
47
43
|
include Binance::Spot::C2C
|
|
48
44
|
include Binance::Spot::Convert
|
|
49
45
|
include Binance::Spot::Fiat
|
|
@@ -52,8 +48,7 @@ module Binance
|
|
|
52
48
|
include Binance::Spot::Margin
|
|
53
49
|
include Binance::Spot::Market
|
|
54
50
|
include Binance::Spot::Mining
|
|
55
|
-
include Binance::Spot::
|
|
56
|
-
include Binance::Spot::Staking
|
|
51
|
+
include Binance::Spot::SimpleEarn
|
|
57
52
|
include Binance::Spot::Stream
|
|
58
53
|
include Binance::Spot::Subaccount
|
|
59
54
|
include Binance::Spot::Trade
|
data/lib/binance/version.rb
CHANGED
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.
|
|
4
|
+
version: 1.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Binance
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-04-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -109,7 +109,6 @@ files:
|
|
|
109
109
|
- lib/binance/session.rb
|
|
110
110
|
- lib/binance/spot.rb
|
|
111
111
|
- lib/binance/spot/blvt.rb
|
|
112
|
-
- lib/binance/spot/bswap.rb
|
|
113
112
|
- lib/binance/spot/c2c.rb
|
|
114
113
|
- lib/binance/spot/convert.rb
|
|
115
114
|
- lib/binance/spot/fiat.rb
|
|
@@ -118,8 +117,7 @@ files:
|
|
|
118
117
|
- lib/binance/spot/margin.rb
|
|
119
118
|
- lib/binance/spot/market.rb
|
|
120
119
|
- lib/binance/spot/mining.rb
|
|
121
|
-
- lib/binance/spot/
|
|
122
|
-
- lib/binance/spot/staking.rb
|
|
120
|
+
- lib/binance/spot/simple_earn.rb
|
|
123
121
|
- lib/binance/spot/stream.rb
|
|
124
122
|
- lib/binance/spot/subaccount.rb
|
|
125
123
|
- lib/binance/spot/trade.rb
|
data/lib/binance/spot/bswap.rb
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Binance
|
|
4
|
-
class Spot
|
|
5
|
-
# Bswap endpoints
|
|
6
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#bswap-endpoints
|
|
7
|
-
module Bswap
|
|
8
|
-
# List All Swap Pools (MARKET_DATA)
|
|
9
|
-
#
|
|
10
|
-
# GET /sapi/v1/bswap/pools
|
|
11
|
-
#
|
|
12
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#list-all-swap-pools-market_data
|
|
13
|
-
def swap_pools
|
|
14
|
-
@session.limit_request(path: '/sapi/v1/bswap/pools')
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
# Get liquidity information of a pool (USER_DATA)
|
|
18
|
-
#
|
|
19
|
-
# GET /sapi/v1/bswap/liquidity
|
|
20
|
-
#
|
|
21
|
-
# @param kwargs [Hash]
|
|
22
|
-
# @option kwargs [Integer] :poolId
|
|
23
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
24
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-liquidity-information-of-a-pool-user_data
|
|
25
|
-
def get_liquidity_info(**kwargs)
|
|
26
|
-
@session.sign_request(:get, '/sapi/v1/bswap/liquidity', params: kwargs)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
# Add Liquidity (TRADE)
|
|
30
|
-
#
|
|
31
|
-
# POST /sapi/v1/bswap/liquidityAdd
|
|
32
|
-
#
|
|
33
|
-
# @param poolId [Integer]
|
|
34
|
-
# @param asset [String]
|
|
35
|
-
# @param quantity [Float]
|
|
36
|
-
# @param kwargs [Hash]
|
|
37
|
-
# @option kwargs [String] :type "Single" to add a single token; "Combination" to add dual tokens. Default "Single"
|
|
38
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
39
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#add-liquidity-trade
|
|
40
|
-
def add_liquidity(poolId:, asset:, quantity:, **kwargs)
|
|
41
|
-
Binance::Utils::Validation.require_param('poolId', poolId)
|
|
42
|
-
Binance::Utils::Validation.require_param('asset', asset)
|
|
43
|
-
Binance::Utils::Validation.require_param('quantity', quantity)
|
|
44
|
-
|
|
45
|
-
@session.sign_request(:post, '/sapi/v1/bswap/liquidityAdd', params: kwargs.merge(
|
|
46
|
-
poolId: poolId,
|
|
47
|
-
asset: asset,
|
|
48
|
-
quantity: quantity
|
|
49
|
-
))
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# Remove Liquidity (TRADE)
|
|
53
|
-
#
|
|
54
|
-
# POST /sapi/v1/bswap/liquidityRemove
|
|
55
|
-
#
|
|
56
|
-
# @param poolId [Integer]
|
|
57
|
-
# @param type [String] SINGLE for single asset removal, COMBINATION for combination of all coins removal
|
|
58
|
-
# @param shareAmount [Float]
|
|
59
|
-
# @param kwargs [Hash]
|
|
60
|
-
# @option kwargs [String Array] :asset Mandatory for single asset removal
|
|
61
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
62
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#remove-liquidity-trade
|
|
63
|
-
def remove_liquidity(poolId:, type:, shareAmount:, **kwargs)
|
|
64
|
-
Binance::Utils::Validation.require_param('poolId', poolId)
|
|
65
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
66
|
-
Binance::Utils::Validation.require_param('shareAmount', shareAmount)
|
|
67
|
-
|
|
68
|
-
@session.sign_request(:post, '/sapi/v1/bswap/liquidityRemove', params: kwargs.merge(
|
|
69
|
-
poolId: poolId,
|
|
70
|
-
type: type,
|
|
71
|
-
shareAmount: shareAmount
|
|
72
|
-
))
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Get Liquidity Operation Record (USER_DATA)
|
|
76
|
-
#
|
|
77
|
-
# GET /sapi/v1/bswap/liquidityOps
|
|
78
|
-
#
|
|
79
|
-
# @param kwargs [Hash]
|
|
80
|
-
# @option kwargs [Integer] :operationId
|
|
81
|
-
# @option kwargs [Integer] :poolId
|
|
82
|
-
# @option kwargs [String] :operation ADD or REMOVE
|
|
83
|
-
# @option kwargs [Integer] :startTime
|
|
84
|
-
# @option kwargs [Integer] :endTime
|
|
85
|
-
# @option kwargs [Integer] :limit default 3, max 100
|
|
86
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
87
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-liquidity-operation-record-user_data
|
|
88
|
-
def get_liquidity_operation_record(**kwargs)
|
|
89
|
-
@session.sign_request(:get, '/sapi/v1/bswap/liquidityOps', params: kwargs)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Request Quote (USER_DATA)
|
|
93
|
-
#
|
|
94
|
-
# GET /sapi/v1/bswap/quote
|
|
95
|
-
#
|
|
96
|
-
# @param quoteAsset [String]
|
|
97
|
-
# @param baseAsset [String]
|
|
98
|
-
# @param quoteQty [Float]
|
|
99
|
-
# @param kwargs [Hash]
|
|
100
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
101
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#request-quote-user_data
|
|
102
|
-
def request_quote(quoteAsset:, baseAsset:, quoteQty:, **kwargs)
|
|
103
|
-
Binance::Utils::Validation.require_param('quoteAsset', quoteAsset)
|
|
104
|
-
Binance::Utils::Validation.require_param('baseAsset', baseAsset)
|
|
105
|
-
Binance::Utils::Validation.require_param('quoteQty', quoteQty)
|
|
106
|
-
|
|
107
|
-
@session.sign_request(:get, '/sapi/v1/bswap/quote', params: kwargs.merge(
|
|
108
|
-
quoteAsset: quoteAsset,
|
|
109
|
-
baseAsset: baseAsset,
|
|
110
|
-
quoteQty: quoteQty
|
|
111
|
-
))
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
# Swap (TRADE)
|
|
115
|
-
#
|
|
116
|
-
# POST /sapi/v1/bswap/swap
|
|
117
|
-
#
|
|
118
|
-
# @param quoteAsset [String]
|
|
119
|
-
# @param baseAsset [String]
|
|
120
|
-
# @param quoteQty [Float]
|
|
121
|
-
# @param [Hash] kwargs
|
|
122
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
123
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#swap-trade
|
|
124
|
-
def swap(quoteAsset:, baseAsset:, quoteQty:, **kwargs)
|
|
125
|
-
Binance::Utils::Validation.require_param('quoteAsset', quoteAsset)
|
|
126
|
-
Binance::Utils::Validation.require_param('baseAsset', baseAsset)
|
|
127
|
-
Binance::Utils::Validation.require_param('quoteQty', quoteQty)
|
|
128
|
-
|
|
129
|
-
@session.sign_request(:post, '/sapi/v1/bswap/swap', params: kwargs.merge(
|
|
130
|
-
quoteAsset: quoteAsset,
|
|
131
|
-
baseAsset: baseAsset,
|
|
132
|
-
quoteQty: quoteQty
|
|
133
|
-
))
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
# Get Swap History (USER_DATA)
|
|
137
|
-
#
|
|
138
|
-
# GET /sapi/v1/bswap/swap
|
|
139
|
-
#
|
|
140
|
-
# @param kwargs [Hash]
|
|
141
|
-
# @option kwargs [Integer] :swapId
|
|
142
|
-
# @option kwargs [Integer] :startTime
|
|
143
|
-
# @option kwargs [Integer] :endTime
|
|
144
|
-
# @option kwargs [Integer] :status 0: pending for swap, 1: success, 2: failed
|
|
145
|
-
# @option kwargs [String] :quoteAsset
|
|
146
|
-
# @option kwargs [String] :baseAsset
|
|
147
|
-
# @option kwargs [Integer] :limit
|
|
148
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
149
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-swap-history-user_data
|
|
150
|
-
def get_swap_history(**kwargs)
|
|
151
|
-
@session.sign_request(:get, '/sapi/v1/bswap/swap', params: kwargs)
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
# Get Pool Configure (USER_DATA)
|
|
155
|
-
#
|
|
156
|
-
# GET /sapi/v1/bswap/poolConfigure
|
|
157
|
-
#
|
|
158
|
-
# @param kwargs [Hash]
|
|
159
|
-
# @option kwargs [Integer] :poolId
|
|
160
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
161
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-pool-configure-user_data
|
|
162
|
-
def get_pool_config(**kwargs)
|
|
163
|
-
@session.sign_request(:get, '/sapi/v1/bswap/poolConfigure', params: kwargs)
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
# Add Liquidity Preview (USER_DATA)
|
|
167
|
-
#
|
|
168
|
-
# GET /sapi/v1/bswap/addLiquidityPreview
|
|
169
|
-
#
|
|
170
|
-
# @param poolId [Integer]
|
|
171
|
-
# @param type [String] "SINGLE" for adding a single token; "COMBINATION" for adding dual tokens
|
|
172
|
-
# @param quoteAsset [String]
|
|
173
|
-
# @param quoteQty [Float]
|
|
174
|
-
# @param [Hash] kwargs
|
|
175
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
176
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#add-liquidity-preview-user_data
|
|
177
|
-
def add_liquidity_preview(poolId:, type:, quoteAsset:, quoteQty:, **kwargs)
|
|
178
|
-
Binance::Utils::Validation.require_param('poolId', poolId)
|
|
179
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
180
|
-
Binance::Utils::Validation.require_param('quoteAsset', quoteAsset)
|
|
181
|
-
Binance::Utils::Validation.require_param('quoteQty', quoteQty)
|
|
182
|
-
|
|
183
|
-
@session.sign_request(:get, '/sapi/v1/bswap/addLiquidityPreview', params: kwargs.merge(
|
|
184
|
-
poolId: poolId,
|
|
185
|
-
type: type,
|
|
186
|
-
quoteAsset: quoteAsset,
|
|
187
|
-
quoteQty: quoteQty
|
|
188
|
-
))
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
# Remove Liquidity Preview (USER_DATA)
|
|
192
|
-
#
|
|
193
|
-
# GET /sapi/v1/bswap/removeLiquidityPreview
|
|
194
|
-
#
|
|
195
|
-
# @param poolId [Integer]
|
|
196
|
-
# @param type [String] "SINGLE" for removing a single token; "COMBINATION" for removing dual tokens
|
|
197
|
-
# @param quoteAsset [String]
|
|
198
|
-
# @param shareAmount [Float]
|
|
199
|
-
# @param [Hash] kwargs
|
|
200
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
201
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#remove-liquidity-preview-user_data
|
|
202
|
-
def remove_liquidity_preview(poolId:, type:, quoteAsset:, shareAmount:, **kwargs)
|
|
203
|
-
Binance::Utils::Validation.require_param('poolId', poolId)
|
|
204
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
205
|
-
Binance::Utils::Validation.require_param('quoteAsset', quoteAsset)
|
|
206
|
-
Binance::Utils::Validation.require_param('shareAmount', shareAmount)
|
|
207
|
-
|
|
208
|
-
@session.sign_request(:get, '/sapi/v1/bswap/removeLiquidityPreview', params: kwargs.merge(
|
|
209
|
-
poolId: poolId,
|
|
210
|
-
type: type,
|
|
211
|
-
quoteAsset: quoteAsset,
|
|
212
|
-
shareAmount: shareAmount
|
|
213
|
-
))
|
|
214
|
-
end
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
end
|
data/lib/binance/spot/savings.rb
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Binance
|
|
4
|
-
class Spot
|
|
5
|
-
# all savings endpoints
|
|
6
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#savings-endpoints
|
|
7
|
-
module Savings
|
|
8
|
-
# Get Flexible Product List (USER_DATA)
|
|
9
|
-
#
|
|
10
|
-
# GET /sapi/v1/lending/daily/product/list
|
|
11
|
-
#
|
|
12
|
-
# @param kwargs [Hash]
|
|
13
|
-
# @option kwargs [String] :status "ALL", "SUBSCRIBABLE", "UNSUBSCRIBABLE"; Default: "ALL"
|
|
14
|
-
# @option kwargs [String] :featured "ALL", "TRUE"; Default: "ALL"
|
|
15
|
-
# @option kwargs [Integer] :current Current query page. Default: 1, Min: 1
|
|
16
|
-
# @option kwargs [Integer] :size Default: 50, Max: 100
|
|
17
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
18
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-list-user_data
|
|
19
|
-
def savings_flexible_products(**kwargs)
|
|
20
|
-
@session.sign_request(:get, '/sapi/v1/lending/daily/product/list', params: kwargs)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Get Left Daily Purchase Quota of Flexible Product (USER_DATA)
|
|
24
|
-
#
|
|
25
|
-
# GET /sapi/v1/lending/daily/userLeftQuota
|
|
26
|
-
#
|
|
27
|
-
# @param productId [String]
|
|
28
|
-
# @param kwargs [Hash]
|
|
29
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
30
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-purchase-quota-of-flexible-product-user_data
|
|
31
|
-
def savings_flexible_user_left_quota(productId:, **kwargs)
|
|
32
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
33
|
-
|
|
34
|
-
@session.sign_request(:get, '/sapi/v1/lending/daily/userLeftQuota', params: kwargs.merge(
|
|
35
|
-
productId: productId
|
|
36
|
-
))
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# Purchase Flexible Product (USER_DATA)
|
|
40
|
-
#
|
|
41
|
-
# POST /sapi/v1/lending/daily/purchase
|
|
42
|
-
#
|
|
43
|
-
# @param productId [String]
|
|
44
|
-
# @param amount [Float]
|
|
45
|
-
# @param kwargs [Hash]
|
|
46
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
47
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#purchase-flexible-product-user_data
|
|
48
|
-
def savings_purchase_flexible_product(productId:, amount:, **kwargs)
|
|
49
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
50
|
-
Binance::Utils::Validation.require_param('amount', amount)
|
|
51
|
-
|
|
52
|
-
@session.sign_request(:post, '/sapi/v1/lending/daily/purchase', params: kwargs.merge(
|
|
53
|
-
productId: productId,
|
|
54
|
-
amount: amount
|
|
55
|
-
))
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# Get Left Daily Redemption Quota of Flexible Product (USER_DATA)
|
|
59
|
-
#
|
|
60
|
-
# GET /sapi/v1/lending/daily/userRedemptionQuota
|
|
61
|
-
#
|
|
62
|
-
# @param productId [String]
|
|
63
|
-
# @param type [String] "FAST", "NORMAL"
|
|
64
|
-
# @param kwargs [Hash]
|
|
65
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
66
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-redemption-quota-of-flexible-product-user_data
|
|
67
|
-
def savings_flexible_user_redemption_quota(productId:, type:, **kwargs)
|
|
68
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
69
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
70
|
-
|
|
71
|
-
@session.sign_request(:get, '/sapi/v1/lending/daily/userRedemptionQuota', params: kwargs.merge(
|
|
72
|
-
productId: productId,
|
|
73
|
-
type: type
|
|
74
|
-
))
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# Redeem Flexible Product (USER_DATA)
|
|
78
|
-
#
|
|
79
|
-
# POST /sapi/v1/lending/daily/redeem
|
|
80
|
-
#
|
|
81
|
-
# @param productId [String]
|
|
82
|
-
# @param amount [Float]]
|
|
83
|
-
# @param type [String]
|
|
84
|
-
# @param kwargs [Hash]
|
|
85
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
86
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-user_data
|
|
87
|
-
def savings_flexible_redeem(productId:, amount:, type:, **kwargs)
|
|
88
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
89
|
-
Binance::Utils::Validation.require_param('amount', amount)
|
|
90
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
91
|
-
|
|
92
|
-
@session.sign_request(:post, '/sapi/v1/lending/daily/redeem', params: kwargs.merge(
|
|
93
|
-
productId: productId,
|
|
94
|
-
amount: amount,
|
|
95
|
-
type: type
|
|
96
|
-
))
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
# Get Flexible Product Position (USER_DATA)
|
|
100
|
-
#
|
|
101
|
-
# GET /sapi/v1/lending/daily/token/position
|
|
102
|
-
#
|
|
103
|
-
# @param asset [String]
|
|
104
|
-
# @param kwargs [Hash]
|
|
105
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
106
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data
|
|
107
|
-
def savings_flexible_product_position(asset:, **kwargs)
|
|
108
|
-
Binance::Utils::Validation.require_param('asset', asset)
|
|
109
|
-
|
|
110
|
-
@session.sign_request(:get, '/sapi/v1/lending/daily/token/position', params: kwargs.merge(
|
|
111
|
-
asset: asset
|
|
112
|
-
))
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
# Get Fixed and Activity Project List(USER_DATA)
|
|
116
|
-
#
|
|
117
|
-
# GET /sapi/v1/lending/project/list
|
|
118
|
-
#
|
|
119
|
-
# @param type [String] "REGULAR", "CUSTOMIZED_FIXED"
|
|
120
|
-
# @param kwargs [Hash]
|
|
121
|
-
# @option kwargs [String] :asset
|
|
122
|
-
# @option kwargs [String] :status "ALL", "SUBSCRIBABLE", "UNSUBSCRIBABLE"; default "ALL"
|
|
123
|
-
# @option kwargs [Boolean] :isSortAsc default "true"
|
|
124
|
-
# @option kwargs [String] :sortBy "START_TIME", "LOT_SIZE", "INTEREST_RATE", "DURATION"; default "START_TIME"
|
|
125
|
-
# @option kwargs [Integer] :current Currently querying page. Start from 1. Default:1
|
|
126
|
-
# @option kwargs [Integer] :size Default:10, Max:100
|
|
127
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
128
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data
|
|
129
|
-
def savings_product_list(type:, **kwargs)
|
|
130
|
-
Binance::Utils::Validation.require_param('type', type)
|
|
131
|
-
|
|
132
|
-
@session.sign_request(:get, '/sapi/v1/lending/project/list', params: kwargs.merge(
|
|
133
|
-
type: type
|
|
134
|
-
))
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
# Purchase Fixed/Activity Project (USER_DATA)
|
|
138
|
-
#
|
|
139
|
-
# POST /sapi/v1/lending/customizedFixed/purchase
|
|
140
|
-
#
|
|
141
|
-
# @param projectId [String]
|
|
142
|
-
# @param lot [String]
|
|
143
|
-
# @param kwargs [Hash]
|
|
144
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
145
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#purchase-fixed-activity-project-user_data
|
|
146
|
-
def savings_purchase_customized_project(projectId:, lot:, **kwargs)
|
|
147
|
-
Binance::Utils::Validation.require_param('projectId', projectId)
|
|
148
|
-
Binance::Utils::Validation.require_param('lot', lot)
|
|
149
|
-
|
|
150
|
-
@session.sign_request(:post, '/sapi/v1/lending/customizedFixed/purchase', params: kwargs.merge(
|
|
151
|
-
projectId: projectId,
|
|
152
|
-
lot: lot
|
|
153
|
-
))
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
# Get Fixed/Activity Project Position (USER_DATA)
|
|
157
|
-
#
|
|
158
|
-
# GET /sapi/v1/lending/project/position/list
|
|
159
|
-
#
|
|
160
|
-
# @param asset [String]
|
|
161
|
-
# @param kwargs [Hash]
|
|
162
|
-
# @option kwargs [String] :projectId
|
|
163
|
-
# @option kwargs [String] :status "HOLDING", "REDEEMED"
|
|
164
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
165
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-fixed-activity-project-position-user_data
|
|
166
|
-
def savings_customized_position(asset:, **kwargs)
|
|
167
|
-
Binance::Utils::Validation.require_param('asset', asset)
|
|
168
|
-
|
|
169
|
-
@session.sign_request(:get, '/sapi/v1/lending/project/position/list', params: kwargs.merge(
|
|
170
|
-
asset: asset
|
|
171
|
-
))
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
# Lending Account (USER_DATA)
|
|
175
|
-
#
|
|
176
|
-
# GET /sapi/v1/lending/union/account
|
|
177
|
-
#
|
|
178
|
-
# @param kwargs [Hash]
|
|
179
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
180
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#lending-account-user_data
|
|
181
|
-
def savings_account(**kwargs)
|
|
182
|
-
@session.sign_request(:get, '/sapi/v1/lending/union/account', params: kwargs)
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
# Get Purchase Record (USER_DATA)
|
|
186
|
-
#
|
|
187
|
-
# GET /sapi/v1/lending/union/purchaseRecord
|
|
188
|
-
#
|
|
189
|
-
# @param lendingType [String]
|
|
190
|
-
# @param kwargs [Hash]
|
|
191
|
-
# @option kwargs [String] :asset
|
|
192
|
-
# @option kwargs [Integer] :startTime
|
|
193
|
-
# @option kwargs [Integer] :endTime
|
|
194
|
-
# @option kwargs [Integer] :current
|
|
195
|
-
# @option kwargs [Integer] :size
|
|
196
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
197
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-purchase-record-user_data
|
|
198
|
-
def savings_purchase_record(lendingType:, **kwargs)
|
|
199
|
-
Binance::Utils::Validation.require_param('lendingType', lendingType)
|
|
200
|
-
|
|
201
|
-
@session.sign_request(:get, '/sapi/v1/lending/union/purchaseRecord', params: kwargs.merge(
|
|
202
|
-
lendingType: lendingType
|
|
203
|
-
))
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
# Get Redemption Record (USER_DATA)
|
|
207
|
-
#
|
|
208
|
-
# GET /sapi/v1/lending/union/redemptionRecord
|
|
209
|
-
#
|
|
210
|
-
# @param lendingType [String]
|
|
211
|
-
# @param kwargs [Hash]
|
|
212
|
-
# @option kwargs [String] :asset
|
|
213
|
-
# @option kwargs [Integer] :startTime
|
|
214
|
-
# @option kwargs [Integer] :endTime
|
|
215
|
-
# @option kwargs [Integer] :current
|
|
216
|
-
# @option kwargs [Integer] :size
|
|
217
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
218
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-redemption-record-user_data
|
|
219
|
-
def savings_redemption_record(lendingType:, **kwargs)
|
|
220
|
-
Binance::Utils::Validation.require_param('lendingType', lendingType)
|
|
221
|
-
|
|
222
|
-
@session.sign_request(:get, '/sapi/v1/lending/union/redemptionRecord', params: kwargs.merge(
|
|
223
|
-
lendingType: lendingType
|
|
224
|
-
))
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
# Get Interest History (USER_DATA)
|
|
228
|
-
#
|
|
229
|
-
# GET /sapi/v1/lending/union/interestHistory
|
|
230
|
-
#
|
|
231
|
-
# @param lendingType [String]
|
|
232
|
-
# @param kwargs [Hash]
|
|
233
|
-
# @option kwargs [String] :asset
|
|
234
|
-
# @option kwargs [Integer] :startTime
|
|
235
|
-
# @option kwargs [Integer] :endTime
|
|
236
|
-
# @option kwargs [Integer] :current
|
|
237
|
-
# @option kwargs [Integer] :size
|
|
238
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
239
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-interest-history-user_data-2
|
|
240
|
-
def savings_interest_history(lendingType:, **kwargs)
|
|
241
|
-
Binance::Utils::Validation.require_param('lendingType', lendingType)
|
|
242
|
-
|
|
243
|
-
@session.sign_request(:get, '/sapi/v1/lending/union/interestHistory', params: kwargs.merge(
|
|
244
|
-
lendingType: lendingType
|
|
245
|
-
))
|
|
246
|
-
end
|
|
247
|
-
|
|
248
|
-
# Change Fixed/Activity Position to Daily Position(USER_DATA)
|
|
249
|
-
#
|
|
250
|
-
# POST /sapi/v1/lending/positionChanged
|
|
251
|
-
#
|
|
252
|
-
# @param projectId [String]
|
|
253
|
-
# @param lot [Integer]
|
|
254
|
-
# @param kwargs [Hash]
|
|
255
|
-
# @option kwargs [Integer] :positionId
|
|
256
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
257
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data
|
|
258
|
-
def savings_position_changed(projectId:, lot:, **kwargs)
|
|
259
|
-
Binance::Utils::Validation.require_param('projectId', projectId)
|
|
260
|
-
Binance::Utils::Validation.require_param('lot', lot)
|
|
261
|
-
|
|
262
|
-
@session.sign_request(:post, '/sapi/v1/lending/positionChanged', params: kwargs.merge(
|
|
263
|
-
projectId: projectId,
|
|
264
|
-
lot: lot
|
|
265
|
-
))
|
|
266
|
-
end
|
|
267
|
-
end
|
|
268
|
-
end
|
|
269
|
-
end
|
data/lib/binance/spot/staking.rb
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Binance
|
|
4
|
-
class Spot
|
|
5
|
-
# all savings endpoints
|
|
6
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#savings-endpoints
|
|
7
|
-
module Staking
|
|
8
|
-
# Get Staking Product List(USER_DATA)
|
|
9
|
-
#
|
|
10
|
-
# GET /sapi/v1/staking/productList
|
|
11
|
-
#
|
|
12
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
13
|
-
# @param kwargs [Hash]
|
|
14
|
-
# @option kwargs [String] :asset
|
|
15
|
-
# @option kwargs [Integer] :current
|
|
16
|
-
# @option kwargs [Integer] :size
|
|
17
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
18
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data
|
|
19
|
-
def staking_product_list(product:, **kwargs)
|
|
20
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
21
|
-
|
|
22
|
-
@session.sign_request(:get, '/sapi/v1/staking/productList', params: kwargs.merge(product: product))
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Purchase Staking Product(USER_DATA)
|
|
26
|
-
#
|
|
27
|
-
# POST /sapi/v1/staking/purchase
|
|
28
|
-
#
|
|
29
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
30
|
-
# @param productId [String]
|
|
31
|
-
# @param amount [Float]
|
|
32
|
-
# @param kwargs [Hash]
|
|
33
|
-
# @option kwargs [String] :renewable
|
|
34
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
35
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#purchase-staking-product-user_data
|
|
36
|
-
def staking_purchase(product:, productId:, amount:, **kwargs)
|
|
37
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
38
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
39
|
-
Binance::Utils::Validation.require_param('amount', amount)
|
|
40
|
-
|
|
41
|
-
@session.sign_request(:post, '/sapi/v1/staking/purchase', params: kwargs.merge(product: product, productId: productId, amount: amount))
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# Redeem Staking Product(USER_DATA)
|
|
45
|
-
#
|
|
46
|
-
# POST /sapi/v1/staking/redeem
|
|
47
|
-
#
|
|
48
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
49
|
-
# @param productId [String]
|
|
50
|
-
# @param kwargs [Hash]
|
|
51
|
-
# @option kwargs [Float] :amount
|
|
52
|
-
# @option kwargs [String] :positionId
|
|
53
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
54
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#redeem-staking-product-user_data
|
|
55
|
-
def staking_redeem(product:, productId:, **kwargs)
|
|
56
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
57
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
58
|
-
|
|
59
|
-
@session.sign_request(:post, '/sapi/v1/staking/redeem', params: kwargs.merge(product: product, productId: productId))
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
# Get Staking Product Position(USER_DATA)
|
|
63
|
-
#
|
|
64
|
-
# GET /sapi/v1/staking/position
|
|
65
|
-
#
|
|
66
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
67
|
-
# @param kwargs [Hash]
|
|
68
|
-
# @option kwargs [String] :productId
|
|
69
|
-
# @option kwargs [String] :asset
|
|
70
|
-
# @option kwargs [Integer] :current
|
|
71
|
-
# @option kwargs [Integer] :size
|
|
72
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
73
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data
|
|
74
|
-
def staking_position(product:, **kwargs)
|
|
75
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
76
|
-
|
|
77
|
-
@session.sign_request(:get, '/sapi/v1/staking/position', params: kwargs.merge(product: product))
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
# Get Staking History(USER_DATA)
|
|
81
|
-
#
|
|
82
|
-
# GET /sapi/v1/staking/stakingRecord
|
|
83
|
-
#
|
|
84
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
85
|
-
# @param txnType [String] "SUBSCRIPTION", "REDEMPTION", "INTEREST"
|
|
86
|
-
# @param kwargs [Hash]
|
|
87
|
-
# @option kwargs [String] :asset
|
|
88
|
-
# @option kwargs [Integer] :startTime
|
|
89
|
-
# @option kwargs [Integer] :endTime
|
|
90
|
-
# @option kwargs [Integer] :current
|
|
91
|
-
# @option kwargs [Integer] :size
|
|
92
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
93
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data
|
|
94
|
-
def staking_history(product:, txnType:, **kwargs)
|
|
95
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
96
|
-
Binance::Utils::Validation.require_param('txnType', txnType)
|
|
97
|
-
|
|
98
|
-
@session.sign_request(:get, '/sapi/v1/staking/stakingRecord', params: kwargs.merge(product: product, txnType: txnType))
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
# Set Auto Staking(USER_DATA)
|
|
102
|
-
#
|
|
103
|
-
# POST /sapi/v1/staking/setAutoStaking
|
|
104
|
-
#
|
|
105
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
106
|
-
# @param positionId [String]
|
|
107
|
-
# @param renewable [String] true or false
|
|
108
|
-
# @param kwargs [Hash]
|
|
109
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
110
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#set-auto-staking-user_data
|
|
111
|
-
def staking_set_auto(product:, positionId:, renewable:, **kwargs)
|
|
112
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
113
|
-
Binance::Utils::Validation.require_param('positionId', positionId)
|
|
114
|
-
Binance::Utils::Validation.require_param('renewable', renewable)
|
|
115
|
-
|
|
116
|
-
@session.sign_request(:post, '/sapi/v1/staking/setAutoStaking', params: kwargs.merge(product: product, positionId: positionId, renewable: renewable))
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
# Get Personal Left Quota of Staking Product(USER_DATA)
|
|
120
|
-
#
|
|
121
|
-
# GET /sapi/v1/staking/personalLeftQuota
|
|
122
|
-
#
|
|
123
|
-
# @param product [String] "STAKING" for Locked Staking, "F_DEFI" for flexible DeFi Staking, "L_DEFI" for locked DeFi Staking
|
|
124
|
-
# @param productId [String]
|
|
125
|
-
# @param kwargs [Hash]
|
|
126
|
-
# @option kwargs [Integer] :recvWindow The value cannot be greater than 60000
|
|
127
|
-
# @see https://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data
|
|
128
|
-
def staking_personal_quota_remain(product:, productId:, **kwargs)
|
|
129
|
-
Binance::Utils::Validation.require_param('product', product)
|
|
130
|
-
Binance::Utils::Validation.require_param('productId', productId)
|
|
131
|
-
|
|
132
|
-
@session.sign_request(:get, '/sapi/v1/staking/personalLeftQuota', params: kwargs.merge(product: product, productId: productId))
|
|
133
|
-
end
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|