Merge pull request #729 from c9s/improve/maxapi

refactor: re-arrange maxapi files
This commit is contained in:
Yo-An Lin 2022-06-16 15:41:59 +08:00 committed by GitHub
commit f9a18e04c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 134 additions and 90 deletions

View File

@ -87,7 +87,7 @@ exchangeStrategies:
backtest:
sessions:
- binance
startTime: "2022-01-01"
startTime: "2022-04-01"
endTime: "2022-06-08"
symbols:
- ETHUSDT

View File

@ -0,0 +1,21 @@
package v3
import "github.com/c9s/requestgen"
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
func (s *OrderService) NewCancelWalletOrderAllRequest(walletType WalletType) *CancelWalletOrderAllRequest {
return &CancelWalletOrderAllRequest{client: s.Client, walletType: walletType}
}
//go:generate DeleteRequest -url "/api/v3/wallet/:walletType/orders" -type CancelWalletOrderAllRequest -responseType []Order
type CancelWalletOrderAllRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
side *string `param:"side"`
market *string `param:"market"`
groupID *uint32 `param:"groupID"`
}

View File

@ -0,0 +1,27 @@
package v3
import "github.com/c9s/requestgen"
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
//go:generate PostRequest -url "/api/v3/wallet/:walletType/orders" -type CreateWalletOrderRequest -responseType .Order
type CreateWalletOrderRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
side string `param:"side,required"`
volume string `param:"volume,required"`
orderType string `param:"ord_type"`
price *string `param:"price"`
stopPrice *string `param:"stop_price"`
clientOrderID *string `param:"client_oid"`
groupID *string `param:"group_id"`
}
func (s *OrderService) NewCreateWalletOrderRequest(walletType WalletType) *CreateWalletOrderRequest {
return &CreateWalletOrderRequest{client: s.Client, walletType: walletType}
}

View File

@ -0,0 +1,26 @@
package v3
import (
"github.com/c9s/requestgen"
"github.com/c9s/bbgo/pkg/fixedpoint"
)
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
func (s *MarginService) NewGetMarginADRatioRequest() *GetMarginADRatioRequest {
return &GetMarginADRatioRequest{client: s.Client}
}
type ADRatio struct {
AdRatio fixedpoint.Value `json:"ad_ratio"`
AssetInUsdt fixedpoint.Value `json:"asset_in_usdt"`
DebtInUsdt fixedpoint.Value `json:"debt_in_usdt"`
}
//go:generate GetRequest -url "/api/v3/wallet/m/ad_ratio" -type GetMarginADRatioRequest -responseType .ADRatio
type GetMarginADRatioRequest struct {
client requestgen.AuthenticatedAPIClient
}

View File

@ -0,0 +1,18 @@
package v3
import "github.com/c9s/requestgen"
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
func (s *OrderService) NewGetWalletAccountsRequest(walletType WalletType) *GetWalletAccountsRequest {
return &GetWalletAccountsRequest{client: s.Client, walletType: walletType}
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/accounts" -type GetWalletAccountsRequest -responseType []Account
type GetWalletAccountsRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
}

View File

@ -0,0 +1,19 @@
package v3
import "github.com/c9s/requestgen"
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
func (s *OrderService) NewGetWalletOpenOrdersRequest(walletType WalletType) *GetWalletOpenOrdersRequest {
return &GetWalletOpenOrdersRequest{client: s.Client, walletType: walletType}
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/orders/open" -type GetWalletOpenOrdersRequest -responseType []Order
type GetWalletOpenOrdersRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
}

View File

@ -0,0 +1,22 @@
package v3
import "github.com/c9s/requestgen"
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
func (s *OrderService) NewGetWalletOrderHistoryRequest(walletType WalletType) *GetWalletOrderHistoryRequest {
return &GetWalletOrderHistoryRequest{client: s.Client, walletType: walletType}
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/orders/history" -type GetWalletOrderHistoryRequest -responseType []Order
type GetWalletOrderHistoryRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
fromID *uint64 `param:"from_id"`
limit *uint `param:"limit"`
}

View File

@ -38,10 +38,6 @@ func (s *MarginService) NewGetMarginLoanHistoryRequest() *GetMarginLoanHistoryRe
return &GetMarginLoanHistoryRequest{client: s.Client}
}
func (s *MarginService) NewGetMarginADRatioRequest() *GetMarginADRatioRequest {
return &GetMarginADRatioRequest{client: s.Client}
}
func (s *MarginService) NewMarginRepayRequest() *MarginRepayRequest {
return &MarginRepayRequest{client: s.Client}
}
@ -163,13 +159,3 @@ type MarginRepayRequest struct {
amount string `param:"amount"`
}
type ADRatio struct {
AdRatio fixedpoint.Value `json:"ad_ratio"`
AssetInUsdt fixedpoint.Value `json:"asset_in_usdt"`
DebtInUsdt fixedpoint.Value `json:"debt_in_usdt"`
}
//go:generate GetRequest -url "/api/v3/wallet/m/ad_ratio" -type GetMarginADRatioRequest -responseType .ADRatio
type GetMarginADRatioRequest struct {
client requestgen.AuthenticatedAPIClient
}

View File

@ -5,8 +5,6 @@ package v3
//go:generate -command DeleteRequest requestgen -method DELETE
import (
"github.com/c9s/requestgen"
maxapi "github.com/c9s/bbgo/pkg/exchange/max/maxapi"
)
@ -20,76 +18,3 @@ type Account = maxapi.Account
type OrderService struct {
Client *maxapi.RestClient
}
func (s *OrderService) NewGetWalletAccountsRequest(walletType WalletType) *GetWalletAccountsRequest {
return &GetWalletAccountsRequest{client: s.Client, walletType: walletType}
}
func (s *OrderService) NewCreateWalletOrderRequest(walletType WalletType) *CreateWalletOrderRequest {
return &CreateWalletOrderRequest{client: s.Client, walletType: walletType}
}
func (s *OrderService) NewGetWalletOrderHistoryRequest(walletType WalletType) *GetWalletOrderHistoryRequest {
return &GetWalletOrderHistoryRequest{client: s.Client, walletType: walletType}
}
func (s *OrderService) NewGetWalletOpenOrdersRequest(walletType WalletType) *GetWalletOpenOrdersRequest {
return &GetWalletOpenOrdersRequest{client: s.Client, walletType: walletType}
}
func (s *OrderService) NewCancelWalletOrderAllRequest(walletType WalletType) *CancelWalletOrderAllRequest {
return &CancelWalletOrderAllRequest{client: s.Client, walletType: walletType}
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/accounts" -type GetWalletAccountsRequest -responseType []Account
type GetWalletAccountsRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
}
//go:generate PostRequest -url "/api/v3/wallet/:walletType/orders" -type CreateWalletOrderRequest -responseType .Order
type CreateWalletOrderRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
side string `param:"side,required"`
volume string `param:"volume,required"`
orderType string `param:"ord_type"`
price *string `param:"price"`
stopPrice *string `param:"stop_price"`
clientOrderID *string `param:"client_oid"`
groupID *string `param:"group_id"`
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/orders/history" -type GetWalletOrderHistoryRequest -responseType []Order
type GetWalletOrderHistoryRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
fromID *uint64 `param:"from_id"`
limit *uint `param:"limit"`
}
//go:generate GetRequest -url "/api/v3/wallet/:walletType/orders/open" -type GetWalletOpenOrdersRequest -responseType []Order
type GetWalletOpenOrdersRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
market string `param:"market,required"`
}
//go:generate DeleteRequest -url "/api/v3/wallet/:walletType/orders" -type CancelWalletOrderAllRequest -responseType []Order
type CancelWalletOrderAllRequest struct {
client requestgen.AuthenticatedAPIClient
walletType WalletType `param:"walletType,slug,required"`
side *string `param:"side"`
market *string `param:"market"`
groupID *uint32 `param:"groupID"`
}