diff --git a/CryptoExchange.Net/CryptoExchange.Net.csproj b/CryptoExchange.Net/CryptoExchange.Net.csproj index c3aef77..2709772 100644 --- a/CryptoExchange.Net/CryptoExchange.Net.csproj +++ b/CryptoExchange.Net/CryptoExchange.Net.csproj @@ -14,6 +14,10 @@ en true + + + CryptoExchange.Net.xml + diff --git a/CryptoExchange.Net/CryptoExchange.Net.xml b/CryptoExchange.Net/CryptoExchange.Net.xml new file mode 100644 index 0000000..c9b64ab --- /dev/null +++ b/CryptoExchange.Net/CryptoExchange.Net.xml @@ -0,0 +1,924 @@ + + + + CryptoExchange.Net + + + + + The api key to authenticate requests + + + + + The api secret to authenticate requests + + + + + The private key to authenticate requests + + + + + Create Api credentials providing a private key for authentication + + The private key used for signing + + + + Create Api credentials providing a api key and secret for authentication + + The api key used for identification + The api secret used for signing + + + + Create Api credentials providing a api key and secret for authentication + + The api key used for identification + The api secret used for signing + + + + Create Api credentials providing a stream containing json data. The json data should include two values: apiKey and apiSecret + + The stream containing the json data + A key to identify the credentials for the API. For example, when set to `binanceKey` the json data should contain a value for the property `binanceKey`. Defaults to 'apiKey'. + A key to identify the credentials for the API. For example, when set to `binanceSecret` the json data should contain a value for the property `binanceSecret`. Defaults to 'apiSecret'. + + + + The private key + + + + + The private key's pass phrase + + + + + Indicates if the private key is encrypted or not + + + + + Create a private key providing an encrypted key information + + The private key used for signing + The private key's passphrase + + + + Create a private key providing an encrypted key information + + The private key used for signing + The private key's passphrase + + + + Create a private key providing an unencrypted key information + + The private key used for signing + + + + Create a private key providing an encrypted key information + + The private key used for signing + + + + Configure the client using the provided options + + Options + + + + Set the authentication provider + + + + + + Tries to parse the json data and returns a token + + The data to parse + + + + + Deserialize a string into an object + + The type to deserialize into + The data to deserialize + Whether or not the parsing should be checked for missing properties (will output data to the logging if log verbosity is Debug) + A specific serializer to use + + + + + Deserialize a JToken into an object + + The type to deserialize into + The data to deserialize + Whether or not the parsing should be checked for missing properties (will output data to the logging if log verbosity is Debug) + A specific serializer to use + + + + + Generate a unique id + + + + + + Fill parameters in a path. Parameters are specified by '{}' and should be specified in occuring sequence + + The total path string + The values to fill + + + + + Create a query string of the specified parameters + + The parameters to use + Whether or not the values should be url encoded + + + + + Get the string the secure string is representing + + The source secure string + + + + + Base class for rest API implementations + + + + + The factory for creating requests. Used for unit testing + + + + + What should happen when hitting a rate limit + + + + + List of active rate limiters + + + + + The total amount of requests made + + + + + The base address of the API + + + + + Adds a rate limiter to the client. There are 2 choices, the and the . + + The limiter to add + + + + Removes all rate limiters from this client + + + + + Ping to see if the server is reachable + + The roundtrip time of the ping request + + + + Ping to see if the server is reachable + + The roundtrip time of the ping request + + + + Base class for socket API implementations + + + + + The factory for creating sockets. Used for unit testing + + + + + The time in between reconnect attempts + + + + + Whether the client should try to auto reconnect when losing connection + + + + + The base address of the API + + + + + Unsubscribe from a stream + + The subscription to unsubscribe + + + + + Unsubscribe all subscriptions + + + + + + The host address of the proxy + + + + + The port of the proxy + + + + + The login of the proxy + + + + + The password of the proxy + + + + + Create new settings for a proxy + + The proxy hostname/ip + The proxy port + + + + + Create new settings for a proxy + + The proxy hostname/ip + The proxy port + The proxy login + The proxy password + + + + The data returned by the call + + + + + An error if the call didn't succeed + + + + + Whether the call was successful + + + + + The status code of the response. Note that a OK status does not always indicate success, check the Success parameter for this. + + + + + The error code + + + + + The message for the error that occured + + + + + Base options + + + + + The log verbosity + + + + + The log writers + + + + + Base for order book options + + + + + The name of the order book implementation + + + + + Whether each update should have a consecutive id number. Used to identify and reconnect when numbers are skipped. + + + + + + The name of the order book implementation + Whether each update should have a consecutive id number. Used to identify and reconnect when numbers are skipped. + + + + Base client options + + + + + The api credentials + + + + + The base address of the client + + + + + Proxy to use + + + + + Base for rest client options + + + + + List of rate limiters to use + + + + + What to do when a call would exceed the rate limit + + + + + The time the server has to respond to a request before timing out + + + + + Base for socket client options + + + + + Whether or not the socket should automatically reconnect when losing connection + + + + + Time to wait between reconnect attempts + + + + + The time to wait for a socket response + + + + + The time after which the connection is assumed to be dropped + + + + + The amount of subscriptions that should be made on a single socket connection. Not all exchanges support multiple subscriptions on a single socket. + Setting this to a higher number increases subscription speed, but having more subscriptions on a single connection will also increase the amount of traffic on that single connection. + + + + + The quantity of the entry + + + + + The price of the entry + + + + + Base for order book implementations + + + + + The status of the order book. Order book is up to date when the status is `Synced` + + + + + Last update identifier + + + + + The symbol of the order book + + + + + Event when the state changes + + + + + The number of asks in the book + + + + + The number of bids in the book + + + + + The list of asks + + + + + The list of bids + + + + + The best bid currently in the order book + + + + + The best ask currently in the order book + + + + + Start connecting and synchronizing the order book + + + + + + Start connecting and synchronizing the order book + + + + + + Stop syncing the order book + + + + + + Stop syncing the order book + + + + + + Limits the amount of requests per time period to a certain limit, counts the request per API key. + + + + + Create a new RateLimiterAPIKey. This rate limiter limits the amount of requests per time period to a certain limit, counts the request per API key. + + The amount to limit to + The time period over which the limit counts + + + + Limits the amount of requests per time period to a certain limit, counts the request per endpoint. + + + + + Create a new RateLimiterPerEndpoint. This rate limiter limits the amount of requests per time period to a certain limit, counts the request per endpoint. + + The amount to limit to + The time period over which the limit counts + + + + Limits the amount of requests per time period to a certain limit, counts the total amount of requests. + + + + + Create a new RateLimiterTotal. This rate limiter limits the amount of requests per time period to a certain limit, counts the total amount of requests. + + The amount to limit to + The time period over which the limit counts + + + + The factory for creating requests. Used for unit testing + + + + + Configure the client using the provided options + + Options + + + + Adds a rate limiter to the client. There are 2 choices, the and the . + + The limiter to add + + + + Removes all rate limiters from this client + + + + + Ping to see if the server is reachable + + The roundtrip time of the ping request + + + + Ping to see if the server is reachable + + The roundtrip time of the ping request + + + + Execute a request + + The expected result type + The uri to send the request to + The method of the request + The parameters of the request + Whether or not the request should be authenticated + Whether or not the resulting object should be checked for missing properties in the mapping (only outputs if log verbosity is Debug) + + + + + Can be overridden to indicate if a response is an error response + + The received data + True if error response + + + + Creates a request object + + The uri to send the request to + The method of the request + The parameters of the request + Whether or not the request should be authenticated + + + + + Writes the string data of the parameters to the request body stream + + + + + + + Writes the parameters of the request to the request object, either in the query string or the request body + + + + + + + Executes the request and returns the string result + + The request object to execute + + + + + Parse an error response from the server. Only used when server returns a status other than Success(200) + + The string the request returned + + + + + The factory for creating sockets. Used for unit testing + + + + + List of socket connections currently connecting/connected + + + + + + + + + + + + + + + + + The max amount of concurrent socket connections + + + + + + + + Configure the client using the provided options + + Options + + + + Set a function to interpret the data, used when the data is received as bytes instead of a string + + Handler for byte data + Handler for string data + + + + Subscribe + + The expected return data + The request to send + The identifier to use + If the subscription should be authenticated + The handler of update data + + + + + Subscribe using a specif URL + + The type of the expected data + The URL to connect to + The request to send + The identifier to use + If the subscription should be authenticated + The handler of update data + + + + + Sends the subscribe request and waits for a response to that request + + The connection to send the request on + The request to send + The subscription the request is for + + + + + Query for data + + The expected result type + The request to send + Whether the socket should be authenticated + + + + + Sends the query request and waits for the result + + The expected result type + The connection to send and wait on + The request to send + + + + + Checks if a socket needs to be connected and does so if needed + + The connection to check + Whether the socket should authenticated + + + + + Needs to check if a received message was an answer to a query request (preferable by id) and set the callResult out to whatever the response is + + The type of response + The socket connection + The request that a response is awaited for + The message + The interpretation (null if message wasn't a response to the request) + True if the message was a response to the query + + + + Needs to check if a received message was an answer to a subscription request (preferable by id) and set the callResult out to whatever the response is + + The socket connection + + The request that a response is awaited for + The message + The interpretation (null if message wasn't a response to the request) + True if the message was a response to the subscription request + + + + Needs to check if a received message matches a handler. Typically if an update message matches the request + + The received data + The subscription request + + + + + Needs to check if a received message matches a handler. Typically if an received message matches a ping request or a other information pushed from the the server + + The received data + The string identifier of the handler + + + + + Needs to authenticate the socket so authenticated queries/subscriptions can be made on this socket connection + + + + + + + Needs to unsubscribe a subscription, typically by sending an unsubscribe request. If multiple subscriptions per socket is not allowed this can just return since the socket will be closed anyway + + The connection on which to unsubscribe + The subscription to unsubscribe + + + + + Optional handler to interpolate data before sending it to the handlers + + + + + + + Add a handler for a subscription + + The type of data the subscription expects + The request of the subscription + The identifier of the subscription (can be null if request param is used) + Whether or not this is a user subscription (counts towards the max amount of handlers on a socket) + The socket connection the handler is on + The handler of the data received + + + + + Adds a generic message handler. Used for example to reply to ping requests + + The name of the request handler. Needs to be unique + The action to execute when receiving a message for this handler (checked by ) + + + + Gets a connection for a new subscription or query. Can be an existing if there are open position or a new one. + + The address the socket is for + Whether the socket should be authenticated + + + + + Connect a socket + + The socket to connect + + + + + Create a socket for an address + + The address the socket should connect to + + + + + Periodically sends an object to a socket + + How often + Method returning the object to send + + + + Unsubscribe from a stream + + The subscription to unsubscribe + + + + + Unsubscribe all subscriptions + + + + + + Dispose the client + + + + + Send data to the websocket + + The type of the object to send + The object to send + How null values should be serialized + + + + Send string data to the websocket + + The data to send + + + + Handler for a socket closing. Reconnects the socket if needed, or removes it from the active socket list if not + + + + + Message handlers for this subscription. Should return true if the message is handled and should not be distributed to the other handlers + + + + + Event when the connection is lost. The socket will automatically reconnect when possible. + + + + + Event when the connection is restored. Timespan parameter indicates the time the socket has been offline for before reconnecting + + + + + Event when an exception happened + + + + + The id of the socket + + + + + Close the subscription + + + + + + Close the socket to cause a reconnect + + + + +