Compare commits
No commits in common. "main" and "VictorWuBranche" have entirely different histories.
main
...
VictorWuBr
|
@ -0,0 +1,28 @@
|
||||||
|
# This workflow will build a golang project
|
||||||
|
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
|
||||||
|
|
||||||
|
name: Go
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "main" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '1.20'
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: go build -v ./...
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: go test -v ./...
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="Go" enabled="true" />
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/bybit.go.api.iml" filepath="$PROJECT_DIR$/.idea/bybit.go.api.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type AccountClient struct {
|
type AccountClient struct {
|
||||||
|
|
4
asset.go
4
asset.go
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type AssetClient struct {
|
type AssetClient struct {
|
||||||
|
@ -472,7 +471,6 @@ func (s *AssetClient) GetWithdrawalAmount(ctx context.Context, opts ...RequestOp
|
||||||
}
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *AssetClient) GetWithdrawalRecords(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
|
func (s *AssetClient) GetWithdrawalRecords(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
|
||||||
r := &request{
|
r := &request{
|
||||||
method: http.MethodGet,
|
method: http.MethodGet,
|
||||||
|
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type BrokerServiceClient struct {
|
type BrokerServiceClient struct {
|
||||||
|
|
|
@ -14,9 +14,9 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
"github.com/bitly/go-simplejson"
|
"github.com/bitly/go-simplejson"
|
||||||
jsoniter "github.com/json-iterator/go"
|
jsoniter "github.com/json-iterator/go"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
)
|
)
|
||||||
|
|
||||||
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
@ -199,7 +199,9 @@ func (c *Client) callAPI(ctx context.Context, r *request, opts ...RequestOption)
|
||||||
c.debug("response status code: %d", res.StatusCode)
|
c.debug("response status code: %d", res.StatusCode)
|
||||||
|
|
||||||
if res.StatusCode >= http.StatusBadRequest {
|
if res.StatusCode >= http.StatusBadRequest {
|
||||||
apiErr := new(handlers.APIError)
|
var (
|
||||||
|
apiErr = new(handlers.APIError)
|
||||||
|
)
|
||||||
e := json.Unmarshal(data, apiErr)
|
e := json.Unmarshal(data, apiErr)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
c.debug("failed to unmarshal json: %s", e)
|
c.debug("failed to unmarshal json: %s", e)
|
||||||
|
@ -308,6 +310,7 @@ func (c *Client) NewPositionService(params map[string]interface{}) *PositionClie
|
||||||
c: c,
|
c: c,
|
||||||
params: params,
|
params: params,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) NewPreUpgradeService(params map[string]interface{}) *PreUpgradeClient {
|
func (c *Client) NewPreUpgradeService(params map[string]interface{}) *PreUpgradeClient {
|
||||||
|
|
|
@ -5,30 +5,28 @@ import (
|
||||||
"crypto/hmac"
|
"crypto/hmac"
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
"golang.org/x/sync/errgroup"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type MessageHandler func(message string) error
|
type MessageHandler func(message string) error
|
||||||
|
|
||||||
func (b *WebSocket) handleIncomingMessages() error {
|
func (b *WebSocket) handleIncomingMessages() {
|
||||||
for {
|
for {
|
||||||
_, message, err := b.conn.ReadMessage()
|
_, message, err := b.conn.ReadMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error reading:", err)
|
fmt.Println("Error reading:", err)
|
||||||
return err
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if b.onMessage != nil {
|
if b.onMessage != nil {
|
||||||
err := b.onMessage(string(message))
|
err := b.onMessage(string(message))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error handling message:", err)
|
fmt.Println("Error handling message:", err)
|
||||||
return err
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,49 +112,35 @@ func (b *WebSocket) Connect(args []string) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eg := errgroup.Group{}
|
go b.handleIncomingMessages()
|
||||||
|
|
||||||
b.ctx, b.cancel = context.WithCancel(context.Background())
|
b.ctx, b.cancel = context.WithCancel(context.Background())
|
||||||
|
Ping(b)
|
||||||
|
|
||||||
eg.Go(b.Ping)
|
return b.sendSubscription(args)
|
||||||
eg.Go(b.handleIncomingMessages)
|
|
||||||
|
|
||||||
if err := b.sendSubscription(args); err != nil {
|
|
||||||
return fmt.Errorf("failed to send subscription: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := eg.Wait(); err != nil {
|
|
||||||
b.Disconnect()
|
|
||||||
return fmt.Errorf("failed to handle message: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var ErrPingFailed = errors.New("failed to send ping")
|
func Ping(b *WebSocket) {
|
||||||
|
|
||||||
func (b *WebSocket) Ping() error {
|
|
||||||
ticker := time.NewTicker(time.Duration(b.pingInterval) * time.Second)
|
ticker := time.NewTicker(time.Duration(b.pingInterval) * time.Second)
|
||||||
|
go func() {
|
||||||
defer ticker.Stop() // Ensure the ticker is stopped when this goroutine ends
|
defer ticker.Stop() // Ensure the ticker is stopped when this goroutine ends
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ticker.C: // Wait until the ticker sends a signal
|
case <-ticker.C: // Wait until the ticker sends a signal
|
||||||
if err := b.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
|
if err := b.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
|
||||||
fmt.Println("Failed to send ping:", err)
|
fmt.Println("Failed to send ping:", err)
|
||||||
return ErrPingFailed
|
|
||||||
}
|
}
|
||||||
case <-b.ctx.Done():
|
case <-b.ctx.Done():
|
||||||
fmt.Println("Exit ping")
|
fmt.Println("Exit ping")
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *WebSocket) Disconnect() error {
|
func (b *WebSocket) Disconnect() error {
|
||||||
b.cancel()
|
b.cancel()
|
||||||
err := b.conn.Close()
|
return b.conn.Close()
|
||||||
fmt.Println("WebSocket disconnected, err =", err)
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *WebSocket) Send(message string) error {
|
func (b *WebSocket) Send(message string) error {
|
||||||
|
|
|
@ -3,8 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
bybit "github.com/wuhewuhe/bybit.go.api"
|
||||||
bybit "gitea.computernetthings.ru/yash/bybit.go.api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
|
@ -3,8 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
bybit "github.com/wuhewuhe/bybit.go.api"
|
||||||
bybit "gitea.computernetthings.ru/yash/bybit.go.api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
|
@ -3,8 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
bybit "github.com/wuhewuhe/bybit.go.api"
|
||||||
bybit "gitea.computernetthings.ru/yash/bybit.go.api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
|
@ -3,8 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
bybit "github.com/wuhewuhe/bybit.go.api"
|
||||||
bybit "gitea.computernetthings.ru/yash/bybit.go.api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -13,8 +12,7 @@ func main() {
|
||||||
|
|
||||||
func PlaceBatchTrade() {
|
func PlaceBatchTrade() {
|
||||||
client := bybit.NewBybitHttpClient("8wYkmpLsMg10eNQyPm", "Ouxc34myDnXvei54XsBZgoQzfGxO4bkr2Zsj", bybit.WithBaseURL(bybit.TESTNET))
|
client := bybit.NewBybitHttpClient("8wYkmpLsMg10eNQyPm", "Ouxc34myDnXvei54XsBZgoQzfGxO4bkr2Zsj", bybit.WithBaseURL(bybit.TESTNET))
|
||||||
params := map[string]interface{}{
|
params := map[string]interface{}{"category": "option",
|
||||||
"category": "option",
|
|
||||||
"request": []map[string]interface{}{
|
"request": []map[string]interface{}{
|
||||||
{
|
{
|
||||||
"category": "option",
|
"category": "option",
|
||||||
|
|
|
@ -3,8 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
bybit "github.com/wuhewuhe/bybit.go.api"
|
||||||
bybit "gitea.computernetthings.ru/yash/bybit.go.api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
3
go.mod
3
go.mod
|
@ -1,4 +1,4 @@
|
||||||
module gitea.computernetthings.ru/yash/bybit.go.api
|
module github.com/wuhewuhe/bybit.go.api
|
||||||
|
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ require (
|
||||||
github.com/gorilla/websocket v1.5.1
|
github.com/gorilla/websocket v1.5.1
|
||||||
github.com/json-iterator/go v1.1.12
|
github.com/json-iterator/go v1.1.12
|
||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
golang.org/x/sync v0.7.0
|
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
|
3
go.sum
3
go.sum
|
@ -10,6 +10,7 @@ github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/
|
||||||
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
|
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
|
||||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
|
@ -30,8 +31,6 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
|
||||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
|
|
||||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type LendingServiceClient struct {
|
type LendingServiceClient struct {
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/models"
|
"github.com/wuhewuhe/bybit.go.api/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MarketKlinesService Market Kline (GET /v5/market/kline)
|
// MarketKlinesService Market Kline (GET /v5/market/kline)
|
||||||
|
|
|
@ -4,8 +4,8 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/models"
|
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type marketTestSuite struct {
|
type marketTestSuite struct {
|
||||||
|
@ -128,7 +128,6 @@ func (s *marketTestSuite) assertMarketKlineEqual(expected, actual *models.Market
|
||||||
r.Equal(len(expected.List), len(actual.List), "List")
|
r.Equal(len(expected.List), len(actual.List), "List")
|
||||||
r.Equal(expected.List, actual.List)
|
r.Equal(expected.List, actual.List)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *marketTestSuite) TestMarketMarkPriceKline() {
|
func (s *marketTestSuite) TestMarketMarkPriceKline() {
|
||||||
data := []byte(`{
|
data := []byte(`{
|
||||||
"retCode": 0,
|
"retCode": 0,
|
||||||
|
@ -1297,7 +1296,6 @@ func (s *marketTestSuite) assertMarketLongShortRatioInfoEqual(expected, actual *
|
||||||
r := s.r()
|
r := s.r()
|
||||||
r.Equal(expected.List, actual.List, "List")
|
r.Equal(expected.List, actual.List, "List")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *marketTestSuite) TestGetServerTime() {
|
func (s *marketTestSuite) TestGetServerTime() {
|
||||||
data := []byte(`{
|
data := []byte(`{
|
||||||
"retCode": 0,
|
"retCode": 0,
|
||||||
|
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type PositionClient struct {
|
type PositionClient struct {
|
||||||
|
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type PreUpgradeClient struct {
|
type PreUpgradeClient struct {
|
||||||
|
|
|
@ -2,9 +2,8 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type SpotLeverageClient struct {
|
type SpotLeverageClient struct {
|
||||||
|
|
|
@ -3,9 +3,8 @@ package bybit_connector
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type SpotMarginClient struct {
|
type SpotMarginClient struct {
|
||||||
|
|
5
trade.go
5
trade.go
|
@ -2,10 +2,9 @@ package bybit_connector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/handlers"
|
||||||
|
"github.com/wuhewuhe/bybit.go.api/models"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/handlers"
|
|
||||||
"gitea.computernetthings.ru/yash/bybit.go.api/models"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type TradeClient struct {
|
type TradeClient struct {
|
||||||
|
|
Loading…
Reference in New Issue