Skip to content

Commit

Permalink
Merge pull request #1523 from c9s/edwin/binance/update-api-changes
Browse files Browse the repository at this point in the history
MAJOR: [binance] replace margin/transfer to asset/transfer
  • Loading branch information
c9s authored Feb 5, 2024
2 parents 3c73c28 + b6717f2 commit aad3f89
Show file tree
Hide file tree
Showing 8 changed files with 309 additions and 444 deletions.
22 changes: 22 additions & 0 deletions pkg/exchange/binance/binanceapi/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"os"
"strconv"
"testing"
"time"

"github.com/stretchr/testify/assert"

Expand Down Expand Up @@ -154,3 +155,24 @@ func TestClient_setTimeOffsetFromServer(t *testing.T) {
err := client.SetTimeOffsetFromServer(context.Background())
assert.NoError(t, err)
}

func TestClient_NewTransferAssetRequest(t *testing.T) {
client := getTestClientOrSkip(t)
ctx := context.Background()

err := client.SetTimeOffsetFromServer(ctx)
assert.NoError(t, err)

req := client.NewTransferAssetRequest()
req.Asset("BTC")
req.FromSymbol("BTCUSDT")
req.ToSymbol("BTCUSDT")
req.Amount("0.01")
req.Timestamp(time.Now())
req.TransferType(TransferAssetTypeIsolatedMarginToMain)
res, err := req.Do(ctx)
assert.NoError(t, err)
assert.NotNil(t, res)
assert.NotEmpty(t, res)
t.Logf("result: %+v", res)
}
40 changes: 40 additions & 0 deletions pkg/exchange/binance/binanceapi/transfer_asset_request.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package binanceapi

import (
"time"

"github.com/c9s/requestgen"
)

type TransferResponse struct {
TranId int `json:"tranId"`
}

type TransferAssetType string

const (
TransferAssetTypeMainToMargin TransferAssetType = "MAIN_MARGIN"
TransferAssetTypeMarginToMain TransferAssetType = "MARGIN_MAIN"
TransferAssetTypeMainToIsolatedMargin TransferAssetType = "MAIN_ISOLATED_MARGIN"
TransferAssetTypeIsolatedMarginToMain TransferAssetType = "ISOLATED_MARGIN_MAIN"
)

//go:generate requestgen -method POST -url "/sapi/v1/asset/transfer" -type TransferAssetRequest -responseType .TransferResponse
type TransferAssetRequest struct {
client requestgen.AuthenticatedAPIClient

asset string `param:"asset"`

transferType TransferAssetType `param:"type"`

amount string `param:"amount"`

timestamp time.Time `param:"timestamp,milliseconds,query"`

fromSymbol *string `param:"fromSymbol"`
toSymbol *string `param:"toSymbol"`
}

func (c *RestClient) NewTransferAssetRequest() *TransferAssetRequest {
return &TransferAssetRequest{client: c}
}
238 changes: 238 additions & 0 deletions pkg/exchange/binance/binanceapi/transfer_asset_request_requestgen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

Loading

0 comments on commit aad3f89

Please sign in to comment.