* Basic concept commit
* Initial changes to support bitfinex v2. Reverts linter changes as they suck. Exports bitfinex ws types
* Adds ticker, trade and orderbook support
* Candles sub that returns no data COMPLETE
* Adds authenticated ws support
* Adds the barebones endpoints to support
* Adds more endpoints
* Even more endpoints
* minicommit to switch and test
* All the interactive types
* Adds support for simultaneous connections. Updates tests. Nothing is working
* Successfully adds place order. Moves all authenticated endpoints to new switch case
* Cancel order and modify order
* Cancel all orders, cancel multi orders
* Finalises implementation. Uses testMain
* Adds WS wrapper support for some funcs
* Fixing rebasing issues
* Replaces use of currency as a variable. Updates a lot of coinut websocket auth endpoint stuff
* Fixes some fun for loops with GetEnabledPairs
* Fixes tests impacted by currency var change
* Adds coinut support for WS functions. Replaces `order` vars with `ord`. Fixes some for loops too. Removes verbose from bitfinex
* So many panics
* I'm fixing a hole, where the panics get in, and stops my mind from wandering, where it will go
* Moves func `CanUseAuthenticatedWebsocketEndpoint` to Websocket package as it fits better. Adds test coverage of `CanUseAuthenticatedWebsocketEndpoint`
* Finishes up all of coinuts ws implementations.
* GateIO implementation
* Adds some helper funcs for types, sides and status. Adds support for huobi. Removes unnecessary type
* Adds forgotten huobi endpoint
* Fixes cancel order endpoint
* go hates my formatting and so do I
* The process to get authenticated kraken websocket to work. Uses testmain. Adds new auth channel, auth subscriptions, auth data handling. Not working yet
* Finishes open orders handling
* Mini update for status only updates
* Fixes some kraken points
* Finishes WS kraken since it doesn't work
* Unfinished commit, cleaning up types
* Finishes the const replacing
* Fixes extra GetNAmes after rebase
* An end to the cleanup. testmain for gateio
* Adds ZB support
* Bitfinex cleanup. Renamed func
* Testmain-47s for everyone!!! yayaaaaaaa
* Adds kraken websocket wrapper support
* Fixes rebase issues
* Fixes tests from rebase
* Adds test for conversion. Fixes for loop. Updates test order pricing. Fixes some poor made tests. Adds proper error handling for ws responses instead of logging them. Fixed issue where commented code ruined kraken ws.
* Fixes secret linting issues. Prioritises bitfinex channelID responses over authorised
* Fixes sloppy error/var declarations
* Fixes crazy bad logic where submit order errors weren't really considered. Parralols alphapoint/alphapoint_test.go. Removes buffer for multi-websocket comms channel.
* Removal of inline string and removal of redundant nil checkerinos
* Fixes err checks. Checks whether float has decimal. Fixes append. Drops omitempties. Parallel to some tests. Moves var declarations
* Replaces my lazy sprintfs with strconv.FormatInt(time.Now().Unix(), 10)
* Adds shiny new FullyMatched bool. Fixes coinbene buy sell consts
* Fixes oopsie with coinbene const replacement
* Fixes currency issue
* Cleans up new places that use JSONDecode
* Fixes huge panic bug from string int conversion. Adds large testtable for strings to order types
* Fixes some more strconversion issues. Fixes table test var usage. Changes mapperino name
* Added some new scenarios for number splitting
* Fixes lint issues
* negative num fix
* Typo fix
* Accuracy warning comment
* Add directories to exclusion list && change default repo string
* Add in .idea folder to directory exclusion list
* cleaned
* Added support for calling the tool outside of its file
* fix formatting
* changed strings
* 1) Update Dockerfile/docker-compose.yml
2) Remove inline strings for buy/sell/test pairs
3) Remove dangerous order submission values
4) Fix consistency with audit_events (all other spec files use
CamelCase)
5) Update web websocket endpoint
6) Fix main param set (and induce dryrun mode on specific command line
params)
* Engine QA
Link up exchange syncer to cmd params, disarm market selling bombs and fix OKEX endpoints
* Fix linter issue after merge
* Engine QA changes
Template updates
Wrapper code cleanup
Disarmed order bombs
Documentation updates
* Daily engine QA
Bitstamp improvements
Spelling mistakes
Add Coinbene exchange to support list
Protect API authenticated calls for Coinbene/LBank
* Engine QA changes
Fix exchange_wrapper_coverage tool
Add SupportsAsset to exchange interface
Fix inline string usage and add BCH withdrawal support
* Engine QA
Fix Bitstamp types
Inform user of errors when parsing time accross the codebase
Change time parsing warnings to errors (as they are)
Update markdown docs [with linter fixes]
* Engine QA changes
1) Add test for dryrunParamInteraction
2) Disarm OKCoin/OKEX bombs if someone accidently sets canManipulateRealOrders to true and runs all package tests
3) Actually check exchange setup errors for BTSE and Coinbene, plus address this in the wrapper template
4) Hardcode missing/non-retrievable contributors and bump the contributors
5) Convert numbers/strings to meaningful types in Bitstamp and OKEX
6) If WS is supported for the exchange wrapper template, preset authWebsocketSupport var
* Fix the shadow people
* Link the SyncContinuously paramerino
* Also show SyncContinuously in engine.PrintSettings
* Address nitterinos and use correct filepath for logs
* Bitstamp: Extract ALL THE APM
* Fix additional nitterinos
* Fix time parsing error for Bittrex
* Attempts to update orderbook so it doesn't need to sort
* Reverts the ws ob stuff. Gets rid of sorting because it happens later. Adds some exchange features
* update existing feature lists. Expands list definition to match my emotions
* Adds bithumb bitmex and bitstamp. adds a couple more types
* Features for you, features for me, features for bittrex, btcmarkets, btse, coinbasepro, coinut, exmo, gateio and gemini
* Features for hitbtc, huobi, itbit, kraken, lakebtc, lbank, localbitcoins, okcoin, okex, poloniex, yobit, zb
* Who can forget good old alphapoint?
* Adds btcmarksets websocket :glitch_crab: fixes alphapoint features
* Adds extra data not in the documentation :/
* Replaces websocket features by using protocol features. However, it breaks it due to import cycles. I'm not sure what I'll do just yet
* Removes import cycle via duplicate structs.
* Increases coverage of config with `TestCheckCurrencyConfigValues`. Moves all currency pair package types into their own files or places it at the bottom of files if necessary
* Increase coverage in code.go
* One way of determining a test has failed, is when to it fails. Removed redundant explanation
* Increases code coverage of conversion
* Lint fixes
* Fixes orderbook tests
* Re-adds sorting because its important to still have the internal pre-processed orderbook to be representative of a real orderbook
* Secret lints that did not show up via Windows linting
* Adds protocol package to contain exchange features
* Fixes protocol implementation
* Fixes ws tests
* Addresses the following: Removes st-st-stutters in config types, changes GetAvailableForexProviders -> GetSupportedForexProviders, removes errors from tests where error is nil, removes orderbook setup when not necessary, removes import newlines, removes false bools from declaration, changes should of to should have
* imports and casing
* Fixes two more nil error checks
* Fix bug where on parsing an alternate new config it will overwrite main config.json in gct dir
* Stop movement of config.json file from root dir when a new config is parsed in
* Stop overiding config.json at gct dir with new config.json from root directory
* RM LN :D
* Fix bug where promptforconfig in config_encryption.go overwrites default config
Ensure periphery command packages do not interact or save over configuration
Ensure tests to not save over or change current testdata/config
* Adds extra properties to Websocket ticker. Adds new properties to binance and bitfinex, but doesn't test anything yet. Changes names and properties of ticker package to make more streamlined
* Adds support for coinbasepro, coinut, gateio, gitbtc, huobi, hadax, kraken, okex, okcoin. Adds quoteVolume
* Adds poloniex and ZB ticker datas
* Updates ANX, Binance, Bitfinex, Bistamp, Bittrex, BTCMarkets, BTSE, CoinbasePRo, Coinut, Exmo tickers. It looks like a whole bunch of stuff is wrong in how tickers are done though :/
* Updates tickers everywhere. Will revert batch ones
* Re-Preseves ticker batching
* Minor fixes to ticks and removal of comment
* Logging errors instead of returning mid loop. Adds bitfinex batch ticker processing. Fixes unrelated okgroup wallet bug
* Removes bad code I wrote preventing function from running if feature not enabled
* Fixes issue with bitmex and rebase issues
* Fixes bitmex iterator error, splits hitbtc ticker requests
* Fixes okgroup currency pair formatting. Updates okgroup to use ticker batching. Fixes okgroup ticker issues due to assetTypes. Fixes okgroup ws pinging. Fixes Kraken's currency pairs formatting. Reverts ANXs auto parsing back to strings because ANX json makes me cry. Minor property improvements for coinut, coinbasepro, btse, exmo. Protects wshandler manageSubscriptions() from running and returning an error when feature not supported
* Updates config example to reflect the underscore dash situation
* Fixes a config delimiter oopsie. Simplifies ANX wrapper ticker parsing. Fixes bittrex date parsing. Simplifies okcoin switch to if.
* Fixes super fun issue where kraken has updated their currency pair format and must add new delimiter support. Fixes super fun issue where okex has updated their currency pair format and must add new delimiter support. Fixes super fun issue where okcoin has updated their currency pair format and must add new delimiter support.
* Updates config example for kraken
* Adds lbank batch ticker support. Adds details to errors
* Updates FetchTradablePairs to use the config delimiter to prevent issues if the delimiter ever changes
* Fixes nil reference bug. Uses NAme not GetNAme
* Fixes hardcoded delimiter in Binance. Expands bitfinex websocket ticker fields. Updates Bitstamp rate limits. Expands BTSE ticker data fields. Fixes typo in coibasepro. Expands Coinut ticker data. Renames currency to curr as it conflicts with package name. Expands GateIO websocket ticker data. Fixes ticker data implementation for huobi and huobi hadax. Reverts ticker map to string instead of assetType. Fixes real stupid bug I introduced which preveted subscriptions from running :glitch_crab: Adds Price ATH to ws ticker type. Adds quotevolume to yobit ticker. Uses delimiter in ZB rather than hardcoded field.
* Fixes bug in syncer where if the websocket is already connected, then UsingWebsocket is not set
* Updates broken tests
* Simplifies poloniex frozen check
* Updates configtest.json with new delimiters
* Renames shorthand properties of structs. Fixes delimiter referencing
* Fixes some bugs and nits around variable declaration, currency pairs and config upscaling
* Adds config upgrade path for okcoin and okex. Reverts configtest.json.
* Fixes okex futures currency formatting by no longer using global currency format. updates Run code to adapt. Removes BTSE value
* Adds ":" as a delimiter for when a delimiter only shows up SOMETIMES
* Adds support for optional delimiter