MCPcopy
hub / github.com/thrasher-corp/gocryptotrader / checkParams

Function checkParams

engine/rpcserver.go:3559–3594  ·  view source on GitHub ↗
(exchName string, e exchange.IBotExchange, a asset.Item, p currency.Pair)

Source from the content-addressed store, hash-verified

3557}
3558
3559func checkParams(exchName string, e exchange.IBotExchange, a asset.Item, p currency.Pair) error {
3560 if e == nil {
3561 return fmt.Errorf("%s %w", exchName, errExchangeNotLoaded)
3562 }
3563 if !e.IsEnabled() {
3564 return fmt.Errorf("%s %w", exchName, errExchangeNotEnabled)
3565 }
3566 if a.IsValid() {
3567 b := e.GetBase()
3568 if b == nil {
3569 return fmt.Errorf("%s %w", exchName, errExchangeBaseNotFound)
3570 }
3571 err := b.CurrencyPairs.IsAssetEnabled(a)
3572 if err != nil {
3573 return err
3574 }
3575 }
3576 if p.IsEmpty() {
3577 return nil
3578 }
3579 enabledPairs, err := e.GetEnabledPairs(a)
3580 if err != nil {
3581 return err
3582 }
3583 if enabledPairs.Contains(p, true) {
3584 return nil
3585 }
3586 availablePairs, err := e.GetAvailablePairs(a)
3587 if err != nil {
3588 return err
3589 }
3590 if availablePairs.Contains(p, true) {
3591 return fmt.Errorf("%v %w", p, errCurrencyNotEnabled)
3592 }
3593 return fmt.Errorf("%v %w", p, errCurrencyPairInvalid)
3594}
3595
3596func parseMultipleEvents(ret []*withdraw.Response) *gctrpc.WithdrawalEventsByExchangeResponse {
3597 v := &gctrpc.WithdrawalEventsByExchangeResponse{}

Callers 15

GetTickerMethod · 0.85
GetAccountBalancesMethod · 0.85
UpdateAccountBalancesMethod · 0.85
GetOrdersMethod · 0.85
GetManagedOrdersMethod · 0.85
GetOrderMethod · 0.85
SubmitOrderMethod · 0.85
SimulateOrderMethod · 0.85
WhaleBombMethod · 0.85
CancelOrderMethod · 0.85
CancelBatchOrdersMethod · 0.85

Calls 8

IsAssetEnabledMethod · 0.80
IsEnabledMethod · 0.65
GetBaseMethod · 0.65
GetEnabledPairsMethod · 0.65
GetAvailablePairsMethod · 0.65
IsValidMethod · 0.45
IsEmptyMethod · 0.45
ContainsMethod · 0.45

Tested by 1

TestCheckVarsFunction · 0.68