Merge pull request #1814 from c9s/c9s/maxapi/update-deposit-info
Some checks are pending
Go / build (1.21, 6.2) (push) Waiting to run
golang-lint / lint (push) Waiting to run

IMPROVE: [maxapi] update deposit info fields
This commit is contained in:
c9s 2024-11-13 16:50:37 +08:00 committed by GitHub
commit 66396f9503
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 75 additions and 57 deletions

View File

@ -948,11 +948,13 @@ func (e *Exchange) QueryDepositHistory(
Time: types.Time(d.CreatedAt), Time: types.Time(d.CreatedAt),
Amount: d.Amount, Amount: d.Amount,
Asset: toGlobalCurrency(d.Currency), Asset: toGlobalCurrency(d.Currency),
Address: d.Address, // not supported Address: d.Address,
AddressTag: "", // not supported AddressTag: "", // not supported
TransactionID: d.TxID, TransactionID: d.TxID,
Status: toGlobalDepositStatus(d.State), Status: toGlobalDepositStatus(d.State),
Confirmation: "", Confirmation: strconv.FormatInt(d.Confirmations, 10),
Network: d.NetworkProtocol,
RawStatus: fmt.Sprintf("%s (%s: %s)", d.Status, d.State, d.StateReason),
}) })
} }
@ -1134,7 +1136,9 @@ func (e *Exchange) QueryKLines(
return kLines, nil return kLines, nil
} }
func (e *Exchange) QueryDepth(ctx context.Context, symbol string, limit int) (snapshot types.SliceOrderBook, finalUpdateID int64, err error) { func (e *Exchange) QueryDepth(
ctx context.Context, symbol string, limit int,
) (snapshot types.SliceOrderBook, finalUpdateID int64, err error) {
req := e.v3client.NewGetDepthRequest() req := e.v3client.NewGetDepthRequest()
req.Market(symbol) req.Market(symbol)
req.Limit(limit) req.Limit(limit)

View File

@ -104,59 +104,6 @@ func (c *RestClient) NewGetAccountsRequest() *GetAccountsRequest {
return &GetAccountsRequest{client: c} return &GetAccountsRequest{client: c}
} }
type DepositState string
const (
DepositStateSubmitting DepositState = "submitting"
DepositStateCancelled DepositState = "cancelled"
DepositStateSubmitted DepositState = "submitted"
DepositStatePending DepositState = "pending"
DepositStateSuspect DepositState = "suspect"
DepositStateRejected DepositState = "rejected"
DepositStateSuspended DepositState = "suspended"
DepositStateAccepted DepositState = "accepted"
DepositStateChecking DepositState = "checking"
// v3 states
DepositStateProcessing DepositState = "processing"
DepositStateFailed DepositState = "failed"
DepositStateDone DepositState = "done"
)
type Deposit struct {
Currency string `json:"currency"` // "eth"
CurrencyVersion string `json:"currency_version"` // "eth"
NetworkProtocol string `json:"network_protocol"` // "ethereum-erc20"
Amount fixedpoint.Value `json:"amount"`
Fee fixedpoint.Value `json:"fee"`
TxID string `json:"txid"`
State DepositState `json:"state"`
Status string `json:"status"`
Confirmations int64 `json:"confirmations"`
Address string `json:"to_address"` // 0x5c7d23d516f120d322fc7b116386b7e491739138
CreatedAt types.MillisecondTimestamp `json:"created_at"`
UpdatedAt types.MillisecondTimestamp `json:"updated_at"`
}
//go:generate GetRequest -url "v3/deposits" -type GetDepositHistoryRequest -responseType []Deposit
type GetDepositHistoryRequest struct {
client requestgen.AuthenticatedAPIClient
currency *string `param:"currency"`
timestamp *time.Time `param:"timestamp,milliseconds"` // seconds
state *string `param:"state"` // submitting, submitted, rejected, accepted, checking, refunded, canceled, suspect
order *string `param:"order"`
limit *int `param:"limit"`
}
func (c *RestClient) NewGetDepositHistoryRequest() *GetDepositHistoryRequest {
return &GetDepositHistoryRequest{
client: c,
}
}
// submitted -> accepted -> processing -> sent -> confirmed // submitted -> accepted -> processing -> sent -> confirmed
type WithdrawState string type WithdrawState string

View File

@ -0,0 +1,67 @@
package max
//go:generate -command GetRequest requestgen -method GET
//go:generate -command PostRequest requestgen -method POST
//go:generate -command DeleteRequest requestgen -method DELETE
import (
"time"
"github.com/c9s/requestgen"
"github.com/c9s/bbgo/pkg/fixedpoint"
"github.com/c9s/bbgo/pkg/types"
)
type DepositState string
const (
DepositStateSubmitting DepositState = "submitting"
DepositStateCancelled DepositState = "cancelled"
DepositStateSubmitted DepositState = "submitted"
DepositStatePending DepositState = "pending"
DepositStateSuspect DepositState = "suspect"
DepositStateRejected DepositState = "rejected"
DepositStateSuspended DepositState = "suspended"
DepositStateAccepted DepositState = "accepted"
DepositStateChecking DepositState = "checking"
// v3 states
DepositStateProcessing DepositState = "processing"
DepositStateFailed DepositState = "failed"
DepositStateDone DepositState = "done"
)
type Deposit struct {
Currency string `json:"currency"` // "eth"
NetworkProtocol string `json:"network_protocol"` // "ethereum-erc20"
Amount fixedpoint.Value `json:"amount"`
Fee fixedpoint.Value `json:"fee"`
TxID string `json:"txid"`
State DepositState `json:"state"`
StateReason string `json:"state_reason"`
Status string `json:"status"`
Confirmations int64 `json:"confirmations"`
Address string `json:"to_address"` // 0x5c7d23d516f120d322fc7b116386b7e491739138
CreatedAt types.MillisecondTimestamp `json:"created_at"`
UpdatedAt types.MillisecondTimestamp `json:"updated_at"`
}
//go:generate GetRequest -url "v3/deposits" -type GetDepositHistoryRequest -responseType []Deposit
type GetDepositHistoryRequest struct {
client requestgen.AuthenticatedAPIClient
currency *string `param:"currency"`
timestamp *time.Time `param:"timestamp,milliseconds"` // seconds
state *string `param:"state"` // submitting, submitted, rejected, accepted, checking, refunded, canceled, suspect
order *string `param:"order"`
limit *int `param:"limit"`
}
func (c *RestClient) NewGetDepositHistoryRequest() *GetDepositHistoryRequest {
return &GetDepositHistoryRequest{
client: c,
}
}