dydx 0.1.1

dYdX v4 asynchronous client.
Documentation
# Rust client for dYdX v4

The crate implements interaction with the dYdX API.

The following features are implemented:
- `NodeClient`, `IndexerClient` + WebSockets, `FaucetClient`, `NobleClient`
- Fully asynchronous implementation
- Telemetry
- Convenient builder for constructing requests
- Automatic WS connection support

## Install

To add the crate to your project, use the command:

```sh
cargo add dydx
```

## Development

Workspace consists of a single crate:
* `client` - to provide connection management with dYdX, common types and utils

### Prerequisites

* [Rust]https://www.rust-lang.org/tools/install
* [cargo deny]https://github.com/EmbarkStudios/cargo-deny
* [protoc]https://grpc.io/docs/protoc-installation/ for dev dependencies (`metrics-exporter-tcp`)


### Examples

To run the example, you need to use the `cargo` command as follows:

```sh
cargo run --example bot_basic_adder
```

You can find the full set of examples in the [examples](client/examples) folder.

### Code quality assurance

Before publishing make sure to run (and fix all warnings and errors)

```sh
cargo fmt
cargo clippy
cargo deny check licenses advisories sources
```

### Documentation

To generate the documentation, use the command

```sh
cargo doc -p dydx
```

## Acknowledgements

Built by Nethermind: [@v0-e](https://github.com/v0-e), [@therustmonk](https://github.com/therustmonk),  [@maksimryndin](https://github.com/maksimryndin)

For more details about the grant see [link](https://www.dydxgrants.com/grants/rust-trading-client).