diff --git a/margin.go b/margin.go index 7a9e9e7..ded9157 100644 --- a/margin.go +++ b/margin.go @@ -354,3 +354,24 @@ func (as *ApiService) MarginTradeLast(currency string) (*ApiResponse, error) { req := NewRequest(http.MethodGet, "/api/v1/margin/trade/last", params) return as.Call(req) } + +// MarginRiskLimitItemModel is item of *MarginRiskLimitModel +type MarginRiskLimitItemModel struct { + Currency string `json:"currency"` + BorrowMaxAmount string `json:"borrowMaxAmount"` + BuyMaxAmount string `json:"buyMaxAmount"` + Precision json.Number `json:"precision"` +} + +// MarginRiskLimitModel is a list of *MarginRiskLimitModel +type MarginRiskLimitModel []*MarginRiskLimitItemModel + +func (as *ApiService) MarginRiskLimit(marginModel string) (*ApiResponse, error) { + params := map[string]string{} + if marginModel != "" { + params["marginModel"] = marginModel + } + + req := NewRequest(http.MethodGet, "/api/v1/risk/limit/strategy", params) + return as.Call(req) +} diff --git a/margin_test.go b/margin_test.go index 4abfa09..2b1b7fc 100644 --- a/margin_test.go +++ b/margin_test.go @@ -90,7 +90,7 @@ func TestApiService_CreateBorrowOrder(t *testing.T) { params := map[string]string{"currency": "BTC", "type": "IOC", "size": "0.003"} rsp, err := s.CreateBorrowOrder(params) - if err != err { + if err != nil { t.Fatal(err) } @@ -590,3 +590,17 @@ func TestApiService_MarginTradeLast(t *testing.T) { } } } + +func TestApiService_MarginRiskLimit(t *testing.T) { + s := NewApiServiceFromEnv() + rsp, err := s.MarginRiskLimit("cross") + if err != nil { + t.Fatal(err) + } + + os := &MarginRiskLimitModel{} + if err := rsp.ReadData(os); err != nil { + t.Fatal(err) + } + t.Log(ToJsonString(os)) +}