All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Dockerize Kelp binary (b61207012dd10b44220acf644703aa346834778c)
- update instructions in README on how to compile Kelp from source (c58982c25e8ead8c91ca17f09d4c96cc3705d772)
- Kelp UI: Wrap GUI as a standalone desktop application using Electron (b725cbaf9c67e8d3b9aea29316c5ec22d168c81e)
- combine build and test tasks in circleci (b725cbaf9c67e8d3b9aea29316c5ec22d168c81e)
- Upgraded horizon types to use hProtocol package (4af564dd9aeeb976685e381470f8a9fa0626b49e)
- Upgraded Go SDK to use horizonclient package (585080c76f173acd5a1348f3f662796d5aeda719)
- Upgraded Go SDK usage to
txnbuild
package instead ofbuild
package (c18c97f388d3a605b9c48edb5085008791467a1c) - Multiple usability improvements to the Kelp UI (f7db6c8430c834040020efa7c58ed860ff303abc through f765ae00d73f4a6a3d6eedf35de6d5528a5f455f)
- Guarantee fixed number of successful runs of update cycle via the
--iter
cli param (4845a6220a5091cd97c6833c359077c7a3afc291)
- remove travis.yml config file (54d4fc88e83e6f5f3211226cadd84118e9142995)
- git bash windows compatibility, replace
rev
command in build.sh and clean.sh (8ea336c379e6770a7ee4646aa3750ca51ed6f203) - improve number.AsRatio() conversion using stellar/go/price for more accurate pricing on centralized exchanges (59cabd6bf81e61a237f33c25e319530937941d76)
v1.7.2 - 2019-08-26
- add triggers to modification log line in sdex (a9991dcfde025c20239bf28f35c0f28d73b1107c)
- fix fill tracker to also work with path_payment type operations for sdex, fixes #219 (fb6f4d41bb395769fdc4965e9c0d76033bbcd192)
- fix op_underfunded error when replenishing top offer (b56d7b51b467a4c2c0f059c8620b59800049c321)
- new oversell trigger during modify to check need to reduce amount of existing offers (82285f3c5b4dcb6c05d5e400a49d57e23c7942b3)
v1.7.1 - 2019-07-18
- Fill tracker order action now correctly reflects direction of trade (5392d3e89787cf39993abaa02f5eea69be6e8c59)
v1.7.0 - 2019-05-05
- Bundle React.js into Kelp with 3 modes of running with 'server' command in dev mode (857214c14a5fd2c67a20d618f45614e33c6a97ae)
- added UI components for GUI (22e3d4242e93f2f0ddaf2e66a3f796ed668e1a0e)
- allow setting custom URL for CCXT-rest server (3c9af0cb098e0476512de2d002693b9b6cae426b)
- improve function number.AsRatio() for more accurate pricing on centralized exchanges (5d33101192a4834ee186228c4c3a17d6112086d7, f193eeef1c7cc328a529e6403af67f0f325ca0e6)
- increased limit when checking for open offers, reducing total requests to horizon (5416d78c754360144ed1f7e3cc0b31135eb47fea)
- Use v0.0.4 for ccxt-rest to fix travis build and update the instructions in our README file. The APIs have diverged with the latest release of ccxt-rest v1.0.0 so we are sticking to the older version for now (659bb20560a018c766c5c5db1bed55df922b7a2e).
v1.6.1 - 2019-04-12
- Use app name and version headers from horizon client in Go SDKs (d21a75fcdbff323de46e3d2a46f37d64831b1cb7)
- Add overrides for remaining orderConstraints via configs, fixing precision errors on centralized exchanges (6d989c8d78ea7c088e36b2b6f2bb7679013617d0)
- Add support for passing in params and headers to CCXT exchanges, such as coinbasepro (e7c76fe14191f14410aa0bcc34b06e202cc1c020)
- Fixed "Asset converter could not recognize string" error when trading using krakenExchange (258f1d67d3899ed21c3ee69cefd6299ea1c8bd4a)
- Turn off minBaseVolume checks in mirror strategy when OFFSET_TRADES=false (82e58b49381973efa5adc12c0f0238432f6cce2c)
- fix monitoring by only checking google auth when related config values are passed in (860d76b0c089efa62299093ff9ccf2d7b868a14c)
v1.6.0 - 2019-03-29
- Enable trading on centralized exchanges (505162a86777f99fba26bc953b3125aba90e2f7e) (a9ab0346ddd3500395018d1dbcf426200b5fb112) (3a1b4c467495a5ebb8219c554dd8a5e4d63723e5)
- support for OrderConstraintsFilter to preempt invalid orders (b9ba73071d97e9e0e8c6f61989ff9375be4dbbeb)
- Expand CCXT exchanges enabled on Kelp, including trading-enabled exchanges (0631bb1ec8892e331907614cca94d66aed3ee026) (40c56416e07a5f974815ee0ca11992c8825e57c2)
- Fill Tracker should accommodate N errors before causing bot to exit (de12bfe16e7d68f76798e4b99f60cb005386c2cb)
- Use FeeStats() method from new horizonclient package in stellar/go repo; run
glide install
to update vendored dependencies, do NOT runglide up
since that will break the dependencies installed because of an issue with how glide works (ce226cc20ce6a38fe56728c91432db9edd7cb272) - krakenExchange logs better error message when trading pair is missing (807139ff2b4b6fb81726459b1ef1958d95f7cd95)
- Sort exchanges based on what is tested first (8d6d4502032b8b5b237ad9d2a6fe3c38f176c541)
- Fixed Mirror Strategy not working without offsetTrades flag (09f76e891967a146363ccbd8fe8ccf53656c270e)
- Fix minVolume amounts when offsetting trades in mirror strategy (0576aa1724b98b3d359b1d82ca36b156b0251977)
v1.5.0 - 2019-03-04
- support for dynamic fee calculations using the
/fee_stats
endpoint (c0f7b5de726b7718f9335ba6b1e1aceca3d9a72d) - include ccxt-kraken as a read-only exchange (796ae5964a835ca441bb67f5964656dc2b5ecdb4)
- USDC as a recognized asset (3894b9a38fef601e5fe27a901f3f66a2071478f2)
- load orderConstraints for ccxtExchange from CCXT API (8d28c11b488e74f04d23f2ef62df6b603e731c68)
v1.4.0 - 2019-02-06
- Support to run Kelp in maker-only mode using the trader.cfg file (081aa210e684678b94c0ec2d772ad808eec9f0d6)
- Support for an SDEX priceFeed so you can follow ticker prices from other SDEX markets (8afec86c831c45aef2e4cc8e0c85c1de6d192325)
v1.3.0 - 2019-01-10
- mirror strategy offsets trades onto the backing exchange, run
glide up
to update dependencies (3a703a359db541b636cab38c3dd8a7fbe6df7193) - ccxt integration now supports trading APIs for all exchanges (5cf0aedc67eff89a8f82082326f878844ac7b5d5)
- randomized delay via the MAX_TICK_DELAY_MILLIS (4b74affb9933bf08a093ee66cea46c1b3fb87753)
- balanced strategy avoids unncessary re-randomization on every update cycle (0be414c77c2f12c9b4b624922aea5841e84c704c)
- fix op_underfunded issue when hitting capacity limits (d339e421f82de9e2996e45e71d745d81dff2f3f0)
v1.2.0 - 2018-11-26
- support for alerting with PagerDuty as the first implementation, run
glide up
to update the dependency (5e46ae0d94751d85dbb2e8f73094f5d96af0df5e) - support for logging to a file with the
--log
or-l
command-line option followed by the prefix of the log filename - support for basic monitoring with a health check service, run
glide up
to update the dependency (c6374c35cff9dfa46da342aa5342f312dcd337c4) iter
command line param to run for only a fixed number of iterations, runglide up
to update the dependencies- new DELETE_CYCLES_THRESHOLD config value in trader config file to allow some tolerance of errors before deleting all offers (f2537cafee8d620e1c4aabdd3d072d90628801b8)
- reduced the number of available assets that are recognized by the GetOpenOrders() API for Kraken
- levels are now logged with prices in the quote asset and amounts in the base asset for the sell, buysell, and balanced strategies
- clock tick is now synchronized at the start of each cycle (cd33d91b2d468bfbce6d38a6186d12c86777b7d5)
- conversion of asset symbols in the GetOpenOrders() API for Kraken, reducing the number of tested asset symbols with this API
- fix op_underfunded errors when we hit capacity limits for non-XLM assets (e6bebee9aeadf6e00a829a28c125f5dffad8c05c)
v1.1.2 - 2018-10-30
- log balance with liabilities
- scripts/build.sh: update VERSION format and LDFLAGS to include git branch info
- fix op_underfunded errors when we hit capacity limits
v1.1.1 - 2018-10-22
- fixed bot panicing when it cannot cast ticker bid/ask values to a float64 from CCXT's FetchTicker endpoint (0ccbc495e18b1e3b207dad5d3421c7556c63c004) (issue #31)
v1.1.0 - 2018-10-19
- support for CCXT via CCXT-REST API, increasing exchange integrations for priceFeeds and mirroring diff
v1.0.0 - 2018-10-15
- executables for windows should use the .exe extension (7b5bbc9eb5b776a27c63483c4af09ca38937670d)
- fixed divide by zero error (fa7d7c4d5a2a256d6cfcfe43a65e530e3c06862e)
v1.0.0-rc3 - 2018-09-29
- support for all currencies available on Kraken
v1.0.0-rc2 - 2018-09-28
- This CHANGELOG file
- Updated dependency
github.com/stellar/go
to latest version5bbd27814a3ffca9aeffcbd75a09a6164959776a
, runglide up
to update this dependency
- If
SOURCE_SECRET_SEED
is missing or empty then the bot will not crash now. - support for CAP-0003 introduced in stellar-core protocol v10 (issue #2)
- Kelp bot with a few basic strategies, priceFeeds, and support for integrating with the Kraken Exchange.
- Modular design allowing anyone to plug in their own strategies
- Robust logging
- Configuration file based approach to setting up a bot
- Documentation on existing capabilities