Skip to content

Commit 400e05e

Browse files
author
johnny.wang
committed
add new endpoint auto repay
2 parents 1fe4e6e + 9fc352e commit 400e05e

File tree

13 files changed

+486
-1536
lines changed

13 files changed

+486
-1536
lines changed

.github/workflows/go.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# This workflow will build a golang project
2-
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
3-
41
name: Go
52

63
on:
@@ -10,19 +7,25 @@ on:
107
branches: [ "main" ]
118

129
jobs:
13-
1410
build:
1511
runs-on: ubuntu-latest
12+
1613
steps:
1714
- uses: actions/checkout@v3
1815

1916
- name: Set up Go
2017
uses: actions/setup-go@v4
2118
with:
22-
go-version: '1.20'
19+
go-version: '1.21' # Bybit API 要求 1.21+
2320

2421
- name: Build
25-
run: go build -v ./...
22+
run: |
23+
go list ./... \
24+
| grep -v "examples" \
25+
| grep -v "unit_test" \
26+
| xargs -L1 go build -v
27+
2628
2729
- name: Test
28-
run: go test -v ./...
30+
run: |
31+
go list ./... | grep -v "examples" | xargs -L1 go test -v

account.go

Lines changed: 90 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package bybit_connector
22

33
import (
44
"context"
5-
"github.com/bybit-exchange/bybit.go.api/handlers"
65
"net/http"
6+
7+
"github.com/bybit-exchange/bybit.go.api/handlers"
78
)
89

910
func (s *BybitClientRequest) GetTransactionLog(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
@@ -219,3 +220,91 @@ func (s *BybitClientRequest) GetSelfMarketProtectionGroup(ctx context.Context, o
219220
data, err := SendRequest(ctx, opts, r, s, err)
220221
return GetServerResponse(err, data)
221222
}
223+
224+
// GetAccountInstrumentsInfo
225+
func (s *BybitClientRequest) GetAccountInstrumentsInfo(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
226+
r := &request{
227+
method: http.MethodGet,
228+
endpoint: "/v5/account/instruments-info",
229+
secType: secTypeSigned,
230+
}
231+
data, err := SendRequest(ctx, opts, r, s, err)
232+
return GetServerResponse(err, data)
233+
}
234+
235+
// ManualBorrow
236+
func (s *BybitClientRequest) ManualBorrow(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
237+
r := &request{
238+
method: http.MethodPost,
239+
endpoint: "/v5/account/borrow",
240+
secType: secTypeSigned,
241+
}
242+
data, err := SendRequest(ctx, opts, r, s, err)
243+
return GetServerResponse(err, data)
244+
}
245+
246+
// GetMaxBorrowableAmount
247+
func (s *BybitClientRequest) GetMaxBorrowableAmount(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
248+
r := &request{
249+
method: http.MethodGet,
250+
endpoint: "/v5/spot-margin-trade/max-borrowable",
251+
secType: secTypeSigned,
252+
}
253+
data, err := SendRequest(ctx, opts, r, s, err)
254+
return GetServerResponse(err, data)
255+
}
256+
257+
// GetPositionTiers
258+
func (s *BybitClientRequest) GetPositionTiers(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
259+
r := &request{
260+
method: http.MethodGet,
261+
endpoint: "/v5/spot-margin-trade/position-tiers",
262+
secType: secTypeSigned,
263+
}
264+
data, err := SendRequest(ctx, opts, r, s, err)
265+
return GetServerResponse(err, data)
266+
}
267+
268+
// GetCoinState
269+
func (s *BybitClientRequest) GetCoinState(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
270+
r := &request{
271+
method: http.MethodGet,
272+
endpoint: "/v5/spot-margin-trade/coinstate",
273+
secType: secTypeSigned,
274+
}
275+
data, err := SendRequest(ctx, opts, r, s, err)
276+
return GetServerResponse(err, data)
277+
}
278+
279+
// GetAvailableAmountToRepay
280+
func (s *BybitClientRequest) GetAvailableAmountToRepay(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
281+
r := &request{
282+
method: http.MethodGet,
283+
endpoint: "/v5/spot-margin-trade/repayment-available-amount",
284+
secType: secTypeSigned,
285+
}
286+
data, err := SendRequest(ctx, opts, r, s, err)
287+
return GetServerResponse(err, data)
288+
}
289+
290+
// ManualRepay
291+
func (s *BybitClientRequest) ManualRepay(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
292+
r := &request{
293+
method: http.MethodPost,
294+
endpoint: "/v5/account/repay",
295+
secType: secTypeSigned,
296+
}
297+
data, err := SendRequest(ctx, opts, r, s, err)
298+
return GetServerResponse(err, data)
299+
}
300+
301+
// ManualRepayWithoutAssetConversion
302+
func (s *BybitClientRequest) ManualRepayWithoutAssetConversion(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
303+
r := &request{
304+
method: http.MethodPost,
305+
endpoint: "/v5/account/no-convert-repay",
306+
secType: secTypeSigned,
307+
}
308+
data, err := SendRequest(ctx, opts, r, s, err)
309+
return GetServerResponse(err, data)
310+
}

api_limit.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package bybit_connector
2+
3+
import (
4+
"context"
5+
"net/http"
6+
7+
"github.com/bybit-exchange/bybit.go.api/handlers"
8+
)
9+
10+
// QueryCap
11+
func (s *BybitClientRequest) QueryCap(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
12+
if err = handlers.ValidateParams(s.params); err != nil {
13+
return nil, err
14+
}
15+
r := &request{
16+
method: http.MethodGet,
17+
endpoint: "/v5/apilimit/query-cap",
18+
secType: secTypeSigned,
19+
}
20+
data, err := SendRequest(ctx, opts, r, s, err)
21+
return GetServerResponse(err, data)
22+
}
23+
24+
// QueryAll
25+
func (s *BybitClientRequest) QueryAll(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
26+
if err = handlers.ValidateParams(s.params); err != nil {
27+
return nil, err
28+
}
29+
r := &request{
30+
method: http.MethodGet,
31+
endpoint: "/v5/apilimit/query-all",
32+
secType: secTypeSigned,
33+
}
34+
data, err := SendRequest(ctx, opts, r, s, err)
35+
return GetServerResponse(err, data)
36+
}

asset.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package bybit_connector
22

33
import (
44
"context"
5-
"github.com/bybit-exchange/bybit.go.api/handlers"
65
"net/http"
6+
7+
"github.com/bybit-exchange/bybit.go.api/handlers"
78
)
89

910
func (s *BybitClientRequest) GetAssetOrderRecord(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
@@ -329,3 +330,14 @@ func (s *BybitClientRequest) ConfirmConvertQuote(ctx context.Context, opts ...Re
329330
data, err := SendRequest(ctx, opts, r, s, err)
330331
return GetServerResponse(err, data)
331332
}
333+
334+
// GetWithdrawalAddress
335+
func (s *BybitClientRequest) GetWithdrawalAddress(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
336+
r := &request{
337+
method: http.MethodGet,
338+
endpoint: "/v5/asset/withdraw/query-address",
339+
secType: secTypeSigned,
340+
}
341+
data, err := SendRequest(ctx, opts, r, s, err)
342+
return GetServerResponse(err, data)
343+
}

bybit_api_client_test.go

Lines changed: 0 additions & 150 deletions
This file was deleted.

0 commit comments

Comments
 (0)