Skip to content

Commit db6abc3

Browse files
authored
dust liability api (#40)
* dust liability api * update type * return err only * portfolio api
1 parent b286444 commit db6abc3

File tree

4 files changed

+104
-0
lines changed

4 files changed

+104
-0
lines changed

v2/client.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,14 @@ func (c *Client) NewListDustService() *ListDustService {
848848
return &ListDustService{c: c}
849849
}
850850

851+
func (c *Client) NewListDustLiabilityService() *ListDustLiabilityService {
852+
return &ListDustLiabilityService{c: c}
853+
}
854+
855+
func (c *Client) NewConvertDustLiabilityService() *ConvertDustLiabilityService {
856+
return &ConvertDustLiabilityService{c: c}
857+
}
858+
851859
// NewTransferToSubAccountService transfer to subaccount service
852860
func (c *Client) NewTransferToSubAccountService() *TransferToSubAccountService {
853861
return &TransferToSubAccountService{c: c}

v2/dust_log_service.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,60 @@ type ListDustResponse struct {
199199
TotalTransferBNB string `json:"totalTransferBNB"`
200200
DribbletPercentage string `json:"dribbletPercentage"`
201201
}
202+
203+
type ConvertDustLiabilityService struct {
204+
c *Client
205+
asset []string
206+
}
207+
208+
func (s *ConvertDustLiabilityService) Asset(asset []string) *ConvertDustLiabilityService {
209+
s.asset = asset
210+
return s
211+
}
212+
213+
func (s *ConvertDustLiabilityService) Do(ctx context.Context) error {
214+
r := &request{
215+
method: http.MethodPost,
216+
endpoint: "/sapi/v1/margin/exchange-small-liability",
217+
secType: secTypeSigned,
218+
}
219+
for _, a := range s.asset {
220+
r.addParam("assetNames", a)
221+
}
222+
223+
_, err := s.c.callAPI(ctx, r)
224+
return err
225+
}
226+
227+
type ListDustLiabilityService struct {
228+
c *Client
229+
}
230+
231+
// Do sends the request.
232+
func (s *ListDustLiabilityService) Do(ctx context.Context) ([]*ListDustLiability, error) {
233+
r := &request{
234+
method: http.MethodGet,
235+
endpoint: "/sapi/v1/margin/exchange-small-liability",
236+
secType: secTypeSigned,
237+
}
238+
239+
data, err := s.c.callAPI(ctx, r)
240+
if err != nil {
241+
return nil, err
242+
}
243+
244+
var res []*ListDustLiability
245+
if err := json.Unmarshal(data, &res); err != nil {
246+
return nil, err
247+
}
248+
249+
return res, nil
250+
}
251+
252+
type ListDustLiability struct {
253+
Asset string `json:"asset"`
254+
Interest string `json:"interest"`
255+
Principal string `json:"principal"`
256+
LiabilityAsset string `json:"liabilityAsset"`
257+
LiabilityQty string `json:"liabilityQty"`
258+
}

v2/portfolio/client.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,3 +437,15 @@ func (c *Client) NewDustListService() *DustListService {
437437
mc.Debug = c.Debug
438438
return &DustListService{Ms: mc.NewListDustService()}
439439
}
440+
441+
func (c *Client) NewConvertDustLiabilityService() *ConvertDustLiabilityService {
442+
mc := binance.NewClient(c.APIKey, c.SecretKey)
443+
mc.Debug = c.Debug
444+
return &ConvertDustLiabilityService{Ms: mc.NewConvertDustLiabilityService()}
445+
}
446+
447+
func (c *Client) NewListDustLiabilityService() *ListDustLiabilityService {
448+
mc := binance.NewClient(c.APIKey, c.SecretKey)
449+
mc.Debug = c.Debug
450+
return &ListDustLiabilityService{Ms: mc.NewListDustLiabilityService()}
451+
}

v2/portfolio/dust_service.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,30 @@ func (s *DustListService) Do(
4242
) (*binance.ListDustResponse, error) {
4343
return s.Ms.Do(ctx)
4444
}
45+
46+
type ConvertDustLiabilityService struct {
47+
Ms *binance.ConvertDustLiabilityService
48+
}
49+
50+
func (s *ConvertDustLiabilityService) Asset(asset []string) *ConvertDustLiabilityService {
51+
s.Ms.Asset(asset)
52+
return s
53+
}
54+
55+
func (s *ConvertDustLiabilityService) Do(
56+
ctx context.Context,
57+
opts ...binance.RequestOption,
58+
) error {
59+
return s.Ms.Do(ctx)
60+
}
61+
62+
type ListDustLiabilityService struct {
63+
Ms *binance.ListDustLiabilityService
64+
}
65+
66+
func (s *ListDustLiabilityService) Do(
67+
ctx context.Context,
68+
opts ...binance.RequestOption,
69+
) ([]*binance.ListDustLiability, error) {
70+
return s.Ms.Do(ctx)
71+
}

0 commit comments

Comments
 (0)