Haskell bindings to the Kraken API.
Early stage work in progress.
- Return types for all services
- Time
- Assets
- AssetPairs
- Ticker
- OHLC
- Depth
- Trades
- Spread
- Balance
- TradeBalance
- OpenOrders
- ClosedOrders
- QueryOrders
- TradeHistory
- QueryTrades
- OpenPosition
- Ledgers
- QueryLedgers
- TradeVolume
- AddOrder
- CancelOrder
- Add 'options' to field names for Options data types
- Add underscore prefix to field names (for lens derivation)
- Resolve duplication in private user data functions (first attempt failed due to difficulty in factoring out Proxy's)
- Extract common functionality in JSON parsers
- Env vars for api keys: handle read failure, maybe use an env var library (e.g. envy), make optional (for public services)
- Enforce non-empty lists for relevant requests (e.g. query trades?)
- Prefix enums with enum name
- Untyped requests
- Restrict OHLC bar intervals
- Handle 'since' / 'last' - JSON can be number or string
- Add tests
- Add benchmarks
- Develop kraken executable into a full command-line tool
- Logging
- Newtypes for amounts, etc.
- Documentation
- Items marked with a 'TBC' comment in code
- Test optional PositionInfo on TradeHistory
- TxnId -> RefId