* Improves subscribing by not allowing duplicates. Adds bitmex auth support
* Adds coinbase pro support. Partial BTCC support. Adds WebsocketAuthenticatedEndpointsSupported websocket feature. Adds GateIO support
* Adds Coinut support
* Moves Coinut WS types to file. Implements Gemini's secure WS endpoint
* Adds HitBTC ws authenticated support. Fixes var names
* Adds huobi and hadax authenticated websocket support
* Adds auth to okgroup (okex, okcoin). Fixes some linting
* Adds Poloniex support
* Adds ZB support
* Adds proper bitmex support
* Improves bitfinex support, improves websocket functionality definitions
* Fixes coinbasepro auth
* Tests all endpoints
* go formatting, importing, linting run
* Adds wrapper supports
* General clean up. Data race destruction
* Improves testing on all exchanges except ZB
* Fixes ZB hashing, parsing and tests
* minor nits before someone else sees them <_<
* Fixes some nits pertaining to variable usage, comments, typos and rate limiting
* Addresses nits regarding types and test responses where applicable
* fmt import
* Fixes linting issues
* No longer returns an error on failure to authenticate, just logs. Adds new AuthenticatedWebsocketAPISupport config value to allow a user to seperate auth from REST and WS. Prevents WS auth if AuthenticatedWebsocketAPISupport is false, adds additional login check 'CanUseAuthenticatedEndpoints' for when login only occurs once (not per request). Removes unnecessary time.Sleeps from code. Moves WS auth error logic to auth function so that wrappers can get involved in all the auth fun. New-fandangled shared test package, used exclusively in testing, will be the store of all the constant boilerplate things like timeout values. Moves WS test setup function to only run once when there are multiple WS endpoint tests. Cleans up some struct types
* Increases test coverage with tests for config.areAuthenticatedCredentialsValid config.CheckExchangeConfigValues, exchange.SetAPIKeys, exchange.GetAuthenticatedAPISupport, exchange_websocket.CanUseAuthenticatedEndpoitns and exchange_websocket.SetCanUseAuthenticatedEndpoints. Adds b.Websocket.SetCanUseAuthenticatedEndpoints(false) when bitfinex fails to authenticate
Fixes a typo. gofmt and goimport
* Trim Test Typos
* Reformats various websocket types. Adds more specific error messaging to config.areAuthenticatedCredentialsValid
* WIP
* Added check for time out of sync
* merged upstream/master
* added tests
* Increased configuration options for NTPclient and test coverage
* removed unneeded config save at end of ntp update
* Added test for empty response to confirm it will loop
* formatting correction
* converted to pointer to allow for default allowance settings to be checked
* added readme for NTP server
* corrected some formatting
* updated configtest negativedifference value
* gofmt config_test.go for correct import order
* corrected typo value in test
* bugfix for windows newline and changes based on PR feedback
* added minus sign to output
* fixed negative number input
* Fixed spelling mistakes and removed redundant test
* reverted back to a positive number in the config instead of negative for allowednegativedifference
* restructured code for cleaner output
* Initial currency overhaul before service system implementation
* Remove redundant currency string in orderbook.Base
Unexport lastupdated field in orderbook.Base as it was being instantiated multiple times
Add error handling for process orderbook
* Remove redundant currency string in ticker.Price
Unexport lastupdated field in ticker.Price
Add error handling for process ticker function and fix tests
* Phase Two Update
* Update translations to use map type - thankyou to kempeng for spotting this
* Change pair method name from Display -> Format for better readability
* Fixes misspelling and tests
* Implement requested changes from GloriousCode
* Remove reduntant function and streamlined return in currency_translation.go
* Revert pair method naming conventions
* Change currency naming conventions
* Changed code type to exported Item type with underlying string to reduce complexity
* Added interim orderbook process method to orderbook.Base type
* Changed feebuilder struct field to currency.Pair
* Adds fall over system for backup fx providers
* deprecate function and children and fix linter issue with btcmarkets
* Fixed requested changes
* Fix bug and move mtx for rates
* Fixed after rebase oopsies
* Fix linter issues
* Fixes race conditions in testing functions
* Final phase coinmarketcap update
* fix linter issues
* Implement requested changes
* Adds configuration variables to increase/decrease time durations between updating currency file and fetching new currency rates
* Add a collection of tests to improve codecov
* After rebase oopsy fixes for btse
* Fix requested changes
* fix after rebase oopsies and add more efficient comparison checks within currency pair
* Fix linter issues
* Add new unauthenticated forex provider and use it by default
This is in response to currencyconverterapi requiring an API key for the free version
* Fix golinter complaint
* Added additional endpoints, tests and improve config forex logic
* Updates requester package to allow unpacking of zipped files and defaults to warn if no JSON is present
* Initial addition of coinmarketcap functionality
* fix requested changes
* Fix issue with displaying false positive in request.go && reorder plan list
* Rename CurrencyProvider -> CryptocurrencyProvider
Skip seeding currency data if not enabled
Rm line in main.go
* Update test procedures and relevant json files
* Fix const issue within config.go
* Added new base logger
* updated example and test configs
* updated exchange helpers restful router & server
* logPath is now passed to the logger to remove dependency on common package
* updated everything besides exchanges to use new logger
* alphapoint to bitmex done
* updated bitmex bitstamp bittrex btcc and also performance changes to logger
* btcmarkets coinbase coinut exmo gateio wrappers updated
* gateio and gemini logger updated
* hitbtc huobi itbit & kraken updated
* All exchanges updatd
* return correct error for disabled websocket
* don't disconnect client on invalid json
* updated router internal logging
* log.Fatal to t.Error for tests
* Changed from fatal to error failure to set maxprocs
* output ANSI codes for everything but windows for now due to lack of windows support
* added error handling to logger and unit tests
* clear wording on print -> log.print
* added benchmark test
* cleaned up import sections
* Updated logger based on PR requests (added default config options on failure/setting errors)
* ah this should fix travici enc config issue
* Load entire config and clear out logging to hopefully fix travisci issue
* wording & test error handling
* fixed formatting issues based on feedback
* fixed formatting issues based on feedback
* changed CheckDir to use mkdirall instead of mkdir and other changes based on feedback
This is a security feature that was introduced briefly, where you were
required to upload a public key while generating your api keys, and for
authentication you had to use your private keys to sign the request and
send it through this “PrivateSignature” param.
This security feature was rolled back and it is not mentioned anymore
in Huobi’s documentation.
For backwards compatibility purposes we should still keep this feature
though, they still seem to accept this parameter, I guess if you have
one of this old api keys, that was generated with a given public key,
you still have to send it.
* Added marcofranssen to contributors
* Added missing doc for binance type Response
* Fixed some typos in binance_types and aligned the doc blocks
* Updated binance trading pairs in config_example.json
* Enable all USDT trading pairs in example config for binance exchange
- Modifications made to the request package. Planned improvements will be
sending requests on intervals, rate limiter back off support, dynamic tuning
and requests packaged into a request job group.
- Can modify each exchanges individual HTTP client (e.g timeout and
transport settings).
- Bot now uses an exchange config HTTP timeout value.
- Bot now uses a global HTTP timeout (configurable).
- Batched ticker request support for exchanges.
- Ticker and Orderbook fetching now are spanned accross multiple
go routines and regulated by a sync wait group.
- Fixes hack used to load exchanges, now uses a sync wait group.
- Ticker and Orderbook storage and fetching now uses mutex locks.
- New pair function for finding different pairs between two supplied
pair arrays. This is used for currency pair updates for exchange which
support dynamic updating.
- Shows removal/additions of dynamic updates currencies.