Skip to content

Commit

Permalink
support get token transfers by level (#7)
Browse files Browse the repository at this point in the history
* support get token transfers by level
  • Loading branch information
hvthhien authored Sep 11, 2023
1 parent 341c606 commit 8862978
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions token.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ type TokenTransfer struct {
TransactionID uint64 `json:"transactionId"`
From *Account `json:"from"`
To Account `json:"to"`
Amount *string `json:"amount"`
Token *Token `json:"token"`
}

type TokenOwner struct {
Expand Down Expand Up @@ -240,6 +242,38 @@ func (c *TZKT) GetTokenTransfers(contract, tokenID string, limit int) ([]TokenTr
return transfers, nil
}

func (c *TZKT) GetTokenTransfersByLevel(level string, limit int) ([]TokenTransfer, error) {
if limit == 0 {
limit = 100
}

v := url.Values{
"level.ge": []string{level},
"sort": []string{"level"},
"limit": []string{fmt.Sprint(limit)},
}

u := url.URL{
Scheme: "https",
Host: c.endpoint,
Path: "/v1/tokens/transfers",
RawQuery: v.Encode(),
}

var transfers []TokenTransfer

req, err := http.NewRequest("GET", u.String(), nil)
if err != nil {
return nil, err
}

if err := c.request(req, &transfers); err != nil {
return nil, err
}

return transfers, nil
}

func (c *TZKT) GetTokenTransfersCount(contract, tokenID string) (int, error) {
v := url.Values{
"token.contract": []string{contract},
Expand Down

0 comments on commit 8862978

Please sign in to comment.