Skip to content

Commit 49a6283

Browse files
authored
Merge pull request #73
add auto repay endpoint
2 parents e0f49e5 + 400e05e commit 49a6283

File tree

3 files changed

+95
-1
lines changed

3 files changed

+95
-1
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
bybit "github.com/bybit-exchange/bybit.go.api"
8+
)
9+
10+
func main() {
11+
client := bybit.NewBybitHttpClient("YOUR_API_KEY", "YOUR_API_SECRET", bybit.WithBaseURL(bybit.TESTNET))
12+
params := map[string]interface{}{
13+
"currency": "BTC",
14+
}
15+
result, err := client.NewUtaBybitServiceWithParams(params).GetSpotMarginAutoRepayMode(context.Background())
16+
if err != nil {
17+
fmt.Println(err)
18+
return
19+
}
20+
fmt.Println(bybit.PrettyPrint(result))
21+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
bybit "github.com/bybit-exchange/bybit.go.api"
8+
)
9+
10+
func main() {
11+
client := bybit.NewBybitHttpClient("YOUR_API_KEY", "YOUR_API_SECRET", bybit.WithBaseURL(bybit.TESTNET))
12+
params := map[string]interface{}{
13+
"currency": "BTC",
14+
"autoRepayMode": "0",
15+
}
16+
result, err := client.NewUtaBybitServiceWithParams(params).SetSpotMarginAutoRepayMode(context.Background())
17+
if err != nil {
18+
fmt.Println(err)
19+
return
20+
}
21+
fmt.Println(bybit.PrettyPrint(result))
22+
}

spot_margin.go

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ package bybit_connector
33
import (
44
"context"
55
"errors"
6-
"github.com/bybit-exchange/bybit.go.api/handlers"
76
"net/http"
7+
8+
"github.com/bybit-exchange/bybit.go.api/handlers"
89
)
910

1011
func (s *BybitClientRequest) GetSpotMarginData(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
@@ -255,3 +256,53 @@ func (s *BybitClientRequest) RepaySpotMarginLoan(ctx context.Context, opts ...Re
255256
data, err := SendRequest(ctx, opts, r, s, err)
256257
return GetServerResponse(err, data)
257258
}
259+
260+
func (s *BybitClientRequest) GetSpotMarginAutoRepayMode(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
261+
if !s.isUta {
262+
return nil, errors.New("this function only works for UTA accounts")
263+
}
264+
if err = handlers.ValidateParams(s.params); err != nil {
265+
return nil, err
266+
}
267+
r := &request{
268+
method: http.MethodGet,
269+
endpoint: "/v5/spot-margin-trade/get-auto-repay-mode",
270+
secType: secTypeSigned,
271+
}
272+
r.setParams(s.params)
273+
data, err := s.c.callAPI(ctx, r, opts...)
274+
if err != nil {
275+
return nil, err
276+
}
277+
res = new(ServerResponse)
278+
err = json.Unmarshal(data, res)
279+
if err != nil {
280+
return nil, err
281+
}
282+
return res, nil
283+
}
284+
285+
func (s *BybitClientRequest) SetSpotMarginAutoRepayMode(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
286+
if !s.isUta {
287+
return nil, errors.New("this function only works for UTA accounts")
288+
}
289+
if err = handlers.ValidateParams(s.params); err != nil {
290+
return nil, err
291+
}
292+
r := &request{
293+
method: http.MethodPost,
294+
endpoint: "/v5/spot-margin-trade/set-auto-repay-mode",
295+
secType: secTypeSigned,
296+
}
297+
r.setParams(s.params)
298+
data, err := s.c.callAPI(ctx, r, opts...)
299+
if err != nil {
300+
return nil, err
301+
}
302+
res = new(ServerResponse)
303+
err = json.Unmarshal(data, res)
304+
if err != nil {
305+
return nil, err
306+
}
307+
return res, nil
308+
}

0 commit comments

Comments
 (0)