[{"name":"CryptoComExchange","comment":" This module exposes the types used in the API.\n\n@docs OrderReference, LimitOrderRequest, OrderSide, OrderType, OrderId, Interval, InstrumentName, Account, Trade, Candle, Candlestick, Ticker, Instrument\n\n","unions":[{"name":"InstrumentName","comment":" Name of the instrument as defined by the exchange.\n","args":[],"cases":[["InstrumentName",["String.String"]]]},{"name":"Interval","comment":" Interval of the candlesticks.\n","args":[],"cases":[["Interval",["String.String"]]]},{"name":"OrderId","comment":" Id of an order generated by the exchange.\n","args":[],"cases":[["OrderId",["String.String"]]]},{"name":"OrderSide","comment":" Side information for an order.\n","args":[],"cases":[["Buy",[]],["Sell",[]]]},{"name":"OrderType","comment":" Type information for an order.\n","args":[],"cases":[["Limit",[]]]}],"aliases":[{"name":"Account","comment":" Summary of an account.\n","args":[],"type":"{ balance : Basics.Float, available : Basics.Float, order : Basics.Float, stake : Basics.Float, currency : String.String }"},{"name":"Candle","comment":" Single candle information.\n","args":[],"type":"{ timestamp : Basics.Int, open : Basics.Float, high : Basics.Float, low : Basics.Float, close : Basics.Float, volume : Basics.Float }"},{"name":"Candlestick","comment":" All data of a candlestick diagram.\n","args":[],"type":"{ instrumentName : String.String, interval : String.String, data : List.List CryptoComExchange.Candle }"},{"name":"Instrument","comment":" Information of an instrument.\n","args":[],"type":"{ instrumentName : String.String, baseCurrency : String.String, quoteCurrency : String.String, priceDecimals : Basics.Int, quantityDecimals : Basics.Int, marginTradingEnabled : Basics.Bool }"},{"name":"LimitOrderRequest","comment":" Information needed to create a limit order.\n","args":[],"type":"{ instrumentName : CryptoComExchange.InstrumentName, side : CryptoComExchange.OrderSide, price : String.String, quantity : String.String }"},{"name":"OrderReference","comment":" Combination of order id and client order id.\n","args":[],"type":"{ id : CryptoComExchange.OrderId, clientId : String.String }"},{"name":"Ticker","comment":" Information of a ticker\n","args":[],"type":"{ instrumentName : String.String, currentBidPrice : Basics.Float, currentAskPrice : Basics.Float, priceOfLatestTrade : Basics.Float, timestamp : Basics.Int, total24hTradedVolume : Basics.Float, priceOf24hHighestTrade : Basics.Float, priceOf24hLowestTrade : Basics.Float, priceChange24h : Basics.Float }"},{"name":"Trade","comment":" Information from a trade.\n","args":[],"type":"{ instrumentName : String.String, price : Basics.Float, quantity : Basics.Float, side : String.String, id : Basics.Int, timestamp : Time.Posix }"}],"values":[],"binops":[]},{"name":"CryptoComExchange.Api","comment":" This module provides a REST API to the crypto.com exchange.\n\n\n# Public API\n\n@docs getTradeList, getTickerList, getTicker, getCandlestick, getInstruments\n\n\n# Private API\n\n@docs getAccountSummary, createOrder, cancelOrder\n\n","unions":[],"aliases":[],"values":[{"name":"cancelOrder","comment":" Cancels an existing order on the Exchange (asynchronous)\n","type":"CryptoComExchange.Configuration.PrivateConfiguration -> CryptoComExchange.InstrumentName -> CryptoComExchange.OrderId -> CryptoComExchange.Api.ResponseHandler () msg"},{"name":"createOrder","comment":" Creates a new BUY or SELL order on the Exchange.\n","type":"CryptoComExchange.Configuration.PrivateConfiguration -> CryptoComExchange.LimitOrderRequest -> CryptoComExchange.Api.ResponseHandler CryptoComExchange.OrderReference msg"},{"name":"getAccountSummary","comment":" Returns the account balance of a user for a particular token\n","type":"CryptoComExchange.Configuration.PrivateConfiguration -> CryptoComExchange.Api.ResponseHandler (List.List CryptoComExchange.Account) msg"},{"name":"getCandlestick","comment":" Retrieves candlesticks (k-line data history) over a given period for an instrument (e.g. BTC\\_USDT)\n","type":"CryptoComExchange.Configuration.Configuration -> CryptoComExchange.InstrumentName -> CryptoComExchange.Interval -> CryptoComExchange.Api.ResponseHandler CryptoComExchange.Candlestick msg"},{"name":"getInstruments","comment":" Provides information on all supported instruments (e.g. BTC\\_USDT)\n","type":"CryptoComExchange.Configuration.Configuration -> CryptoComExchange.Api.ResponseHandler (List.List CryptoComExchange.Instrument) msg"},{"name":"getTicker","comment":" Fetches the public tickers for an instrument (e.g. BTC\\_USDT).\n","type":"CryptoComExchange.Configuration.Configuration -> CryptoComExchange.InstrumentName -> CryptoComExchange.Api.ResponseHandler CryptoComExchange.Ticker msg"},{"name":"getTickerList","comment":" Fetches the public tickers for all instruments.\n","type":"CryptoComExchange.Configuration.Configuration -> CryptoComExchange.Api.ResponseHandler (List.List CryptoComExchange.Ticker) msg"},{"name":"getTradeList","comment":" Fetches the public trades for a particular instrument\n","type":"CryptoComExchange.Configuration.Configuration -> Maybe.Maybe CryptoComExchange.InstrumentName -> CryptoComExchange.Api.ResponseHandler (List.List CryptoComExchange.Trade) msg"}],"binops":[]},{"name":"CryptoComExchange.Configuration","comment":" This module allows to define your custom configuration on how to use the API.\n\n\n# Definition\n\n@docs Configuration, PrivateConfiguration, PublicConfiguration, ApiKey, SecretKey\n\n\n# Helpers\n\n@docs createSandbox, createProduction, createPrivateConfiguration, withTimestamp, withApiKey, endpoint\n\n","unions":[{"name":"ApiKey","comment":" Randomly generated API key.\n","args":[],"cases":[["ApiKey",["String.String"]]]},{"name":"Configuration","comment":" A configuration that can be used for all public APis.\n","args":[],"cases":[]},{"name":"SecretKey","comment":" Randomly generated secret key.\n","args":[],"cases":[["SecretKey",["String.String"]]]}],"aliases":[{"name":"PrivateConfiguration","comment":" A configuration with authentication information.\n","args":[],"type":"{ endpoint : String.String, apiKey : CryptoComExchange.Configuration.ApiKey, secretKey : CryptoComExchange.Configuration.SecretKey, timestamp : Time.Posix }"},{"name":"PublicConfiguration","comment":" A configuration without authentication information.\n","args":[],"type":"{ endpoint : String.String }"}],"values":[{"name":"createPrivateConfiguration","comment":" Create a Configuration from a PrivateConfiguration\n","type":"CryptoComExchange.Configuration.PrivateConfiguration -> CryptoComExchange.Configuration.Configuration"},{"name":"createProduction","comment":" Create a configuration for the production environment.\n","type":"CryptoComExchange.Configuration.Configuration"},{"name":"createSandbox","comment":" Create a configuration for the sandbox environment.\n","type":"CryptoComExchange.Configuration.Configuration"},{"name":"endpoint","comment":" Get the endpoint of a configuration.\n","type":"CryptoComExchange.Configuration.Configuration -> String.String"},{"name":"withApiKey","comment":" Add ApiKey and SecretKey to a configuration.\n\nMore information about generating an API key can be found here.\n<https://exchange-docs.crypto.com/spot/index.html#generating-the-api-key>\n\n","type":"CryptoComExchange.Configuration.ApiKey -> CryptoComExchange.Configuration.SecretKey -> CryptoComExchange.Configuration.Configuration -> CryptoComExchange.Configuration.PrivateConfiguration"},{"name":"withTimestamp","comment":" Add a new timestamp to the PrivateConfiguration.\n","type":"Time.Posix -> CryptoComExchange.Configuration.PrivateConfiguration -> CryptoComExchange.Configuration.PrivateConfiguration"}],"binops":[]}]