mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
* implemented binance and bitfinex GetHistoricCandles wrapper methods) * coinbene supported added * after and before clean up * gateio wrapper completed * merged upstream/master * Added bsaic KlineIntervalSupported() method * Converted binance fixed test * WIP * new KlineConvertToExchangeStandardString method added * end of day WIP * WIP * end of day WIP started migration of trade history * added kline support to hitbtc huobi lbank * added exchangehistory to all supported exchanges started work on coinbase 300 candles/request method * end of day WIP * removed unused ta and misc changes to flag ready for review * yobit cleanup * revert coinbase changES * general code clean up and added zb support * poloniex support added * renamed method to FormatExchangeKlineInterval other misc fixes * linter fixes * linter fixes * removed verbose * fixed poloniex test coverage * revert poloniex mock data * regenerated poloniex mock data * a very verbose clean up * binance mock clean up * removed unneeded t.Log() * setting verbose to true to debug CI issue * first pass changes addressed * common.ErrNotYetImplemented implemented :D * comments added * WIP-addressed exchange requests and reverted previous GetExchangeHistory changes * WIP-addressed exchange requests and reverted previous GetExchangeHistory changes * increased test coverage added kraken support * OKGroup support completed started work on address GetExchangeHistory feedback and migrating to own PR under https://github.com/xtda/gocryptotrader/tree/exchange_history * convert zb ratelimits * gofmt run on okcoin * increased delay on rate limit * gofmt package * fixed panic with coinbene and bithumb if conversion fails * very broken end of day WIP * added support for GetHistoricCandlesEx to coinbase and binance * gofmt package * coinbase, btcmarkets, zb ex wrapper function added * added all exchange support for ex regenerated mock data * update bithumb to return wrapper method * gofmt package * end of day started work on changes * reworked test coverage added okgroup support general fixes/change requests addressed * Added OneMonth * limit checks on supportedexchanges * reverted getexchangehistory * reworked binance tesT * added workaround for kraken panic * renamed command to extended removed interval check on non-implemented commands * added wrapperconfig back * increased test coverage for FormatExchangeKlineInterval * WIP * increased test coverage for FormatExchangeKlineInterval bitfinex/gateio/huobi * linter fixes * zb kraken lbank coinbene btcmarkets support added * removed verbose * OK group support for other asset types added * swapped margin to use spot endpoint * index support added test coverage added for asset types * added asset type to okcoin test * gofmt * add asset to extended method * removed verbose * add support for coinbene swap increase test coverage * removed verbose * small clean up of okgroup wrapper functions * verbose to troubleshoot CI issues * removed verbose * added error check reverted coinbasechanges * readme updated * removed unused start/finish started work on decoupling api requests from kline package * restructured coinbene, bithumb methods, added bitstamp support * kraken time fix * BTCMarkets restructure * typo fix * removed test for futures due to contact changing * added start/end date to extended method over range * converted to assettranslator * removed verbose * removed invalid char * reverted incorrectly removed return * added import * further template updates * macos hates my keyboard :D * misc canges * x -> i * removed verbose * updated fixCasing to allocate var before checks * removed time conversion * sort all outgoing kline candles * fixCasing fix * after/before checks added * added parallel to test * logic check on BTCmarkets * removed unused param, used correct iterator * converted HitBTC to use time.Time * add iszero false check to candle times * updated resultlimit to 5000 * new line added * added comment to exported const * use configured ratelimit * fixed pair for test * panic fixed WIP on fixCasing * fixCasing rework, started work on readme docs * enable rate limiter for wrapper issues tool * docs updated * removed err from return and formatted currency * updated Yobit supported status * Updated HitBTC to use onehour candles due to test exeuction times * added further details to gctcli output * added link to docs * added link to tempalte * disable FTX websocket in config_example * fix poloneix * regenerated poloniex mock data * removed recording flag
148 lines
3.4 KiB
Go
148 lines
3.4 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"runtime"
|
|
|
|
"github.com/thrasher-corp/gocryptotrader/common"
|
|
"github.com/thrasher-corp/gocryptotrader/core"
|
|
"github.com/thrasher-corp/gocryptotrader/gctrpc/auth"
|
|
"github.com/urfave/cli"
|
|
"google.golang.org/grpc"
|
|
"google.golang.org/grpc/credentials"
|
|
)
|
|
|
|
var (
|
|
host string
|
|
username string
|
|
password string
|
|
pairDelimiter string
|
|
)
|
|
|
|
func jsonOutput(in interface{}) {
|
|
j, err := json.MarshalIndent(in, "", " ")
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Print(string(j))
|
|
}
|
|
|
|
func setupClient() (*grpc.ClientConn, error) {
|
|
targetPath := filepath.Join(common.GetDefaultDataDir(runtime.GOOS), "tls", "cert.pem")
|
|
creds, err := credentials.NewClientTLSFromFile(targetPath, "")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
opts := []grpc.DialOption{grpc.WithTransportCredentials(creds),
|
|
grpc.WithPerRPCCredentials(auth.BasicAuth{
|
|
Username: username,
|
|
Password: password,
|
|
}),
|
|
}
|
|
conn, err := grpc.Dial(host, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return conn, err
|
|
}
|
|
|
|
func main() {
|
|
app := cli.NewApp()
|
|
app.Name = "gctcli"
|
|
app.Version = core.Version(true)
|
|
app.EnableBashCompletion = true
|
|
app.Usage = "command line interface for managing the gocryptotrader daemon"
|
|
app.Flags = []cli.Flag{
|
|
cli.StringFlag{
|
|
Name: "rpchost",
|
|
Value: "localhost:9052",
|
|
Usage: "the gRPC host to connect to",
|
|
Destination: &host,
|
|
},
|
|
cli.StringFlag{
|
|
Name: "rpcuser",
|
|
Value: "admin",
|
|
Usage: "the gRPC username",
|
|
Destination: &username,
|
|
},
|
|
cli.StringFlag{
|
|
Name: "rpcpassword",
|
|
Value: "Password",
|
|
Usage: "the gRPC password",
|
|
Destination: &password,
|
|
},
|
|
cli.StringFlag{
|
|
Name: "delimiter",
|
|
Value: "-",
|
|
Usage: "the default currency pair delimiter used to standardise currency pair input",
|
|
Destination: &pairDelimiter,
|
|
},
|
|
}
|
|
app.Commands = []cli.Command{
|
|
getInfoCommand,
|
|
getSubsystemsCommand,
|
|
enableSubsystemCommand,
|
|
disableSubsystemCommand,
|
|
getRPCEndpointsCommand,
|
|
getCommunicationRelayersCommand,
|
|
getExchangesCommand,
|
|
enableExchangeCommand,
|
|
disableExchangeCommand,
|
|
getExchangeOTPCommand,
|
|
getExchangeOTPsCommand,
|
|
getExchangeInfoCommand,
|
|
getTickerCommand,
|
|
getTickersCommand,
|
|
getOrderbookCommand,
|
|
getOrderbooksCommand,
|
|
getAccountInfoCommand,
|
|
getAccountInfoStreamCommand,
|
|
getConfigCommand,
|
|
getPortfolioCommand,
|
|
getPortfolioSummaryCommand,
|
|
addPortfolioAddressCommand,
|
|
removePortfolioAddressCommand,
|
|
getForexProvidersCommand,
|
|
getForexRatesCommand,
|
|
getOrdersCommand,
|
|
getOrderCommand,
|
|
submitOrderCommand,
|
|
simulateOrderCommand,
|
|
whaleBombCommand,
|
|
cancelOrderCommand,
|
|
cancelAllOrdersCommand,
|
|
getEventsCommand,
|
|
addEventCommand,
|
|
removeEventCommand,
|
|
getCryptocurrencyDepositAddressesCommand,
|
|
getCryptocurrencyDepositAddressCommand,
|
|
withdrawCryptocurrencyFundsCommand,
|
|
withdrawFiatFundsCommand,
|
|
withdrawalRequestCommand,
|
|
getLoggerDetailsCommand,
|
|
setLoggerDetailsCommand,
|
|
getExchangePairsCommand,
|
|
enableExchangePairCommand,
|
|
disableExchangePairCommand,
|
|
getOrderbookStreamCommand,
|
|
getExchangeOrderbookStreamCommand,
|
|
getTickerStreamCommand,
|
|
getExchangeTickerStreamCommand,
|
|
getAuditEventCommand,
|
|
getHistoricCandlesCommand,
|
|
getHistoricCandlesExtendedCommand,
|
|
gctScriptCommand,
|
|
}
|
|
|
|
err := app.Run(os.Args)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|