2021-04-09 00:22:17 +00:00
|
|
|
[package]
|
|
|
|
name = "mitra"
|
2022-09-19 18:04:30 +00:00
|
|
|
version = "1.0.0"
|
2021-04-09 00:22:17 +00:00
|
|
|
description = "Mitra backend"
|
|
|
|
license = "AGPL-3.0"
|
|
|
|
|
|
|
|
edition = "2018"
|
2022-04-08 18:52:13 +00:00
|
|
|
rust-version = "1.54"
|
2021-04-09 00:22:17 +00:00
|
|
|
publish = false
|
|
|
|
default-run = "mitra"
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
# Used to handle incoming HTTP requests
|
2022-08-18 18:05:18 +00:00
|
|
|
actix-cors = "0.6.2"
|
|
|
|
actix-files = "0.6.2"
|
|
|
|
actix-web = "4.1.0"
|
|
|
|
actix-web-httpauth = "0.8.0"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for HTML sanitization
|
2022-04-13 17:45:47 +00:00
|
|
|
ammonia = "3.2.0"
|
2022-06-20 20:26:43 +00:00
|
|
|
# Used for catching errors
|
|
|
|
anyhow = "1.0.58"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for working with RSA keys, HTTP signatures and file uploads
|
|
|
|
base64 = "0.13.0"
|
|
|
|
# Used for working with dates
|
2022-08-17 18:37:45 +00:00
|
|
|
chrono = { version = "0.4.22", features = ["serde"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to build admin CLI tool
|
2022-04-10 19:51:03 +00:00
|
|
|
clap = { version = "3.1.8", default-features = false, features = ["std", "derive"] }
|
2022-04-08 18:52:13 +00:00
|
|
|
# Used for pooling database connections
|
|
|
|
deadpool = "0.9.2"
|
|
|
|
deadpool-postgres = { version = "0.10.2", default-features = false }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to read .env files
|
|
|
|
dotenv = "0.15.0"
|
|
|
|
# Used to work with hexadecimal strings
|
2022-04-16 19:33:47 +00:00
|
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for logging
|
2021-12-21 00:14:12 +00:00
|
|
|
log = { version = "0.4.14", features = ["serde"] }
|
|
|
|
env_logger = { version = "0.9.0", default-features = false }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to guess media type of a file
|
|
|
|
mime_guess = "2.0.3"
|
|
|
|
mime-sniffer = "0.1.2"
|
2022-08-15 23:56:06 +00:00
|
|
|
# Used to query Monero node
|
|
|
|
monero-rpc = "0.2.0"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to determine the number of CPUs on the system
|
|
|
|
num_cpus = "1.13.0"
|
|
|
|
# Used for working with regular expressions
|
2022-08-17 18:37:45 +00:00
|
|
|
regex = "1.6.0"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to generate random numbers
|
2022-02-09 00:09:08 +00:00
|
|
|
rand = "0.8.4"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for managing database migrations
|
2022-04-08 18:52:13 +00:00
|
|
|
refinery = { version = "0.8.4", features = ["tokio-postgres"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for making async HTTP requests
|
2022-04-08 18:52:13 +00:00
|
|
|
reqwest = { version = "0.11.10", features = ["json", "multipart"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for working with RSA keys
|
|
|
|
rsa = "0.5.0"
|
2022-02-13 13:10:09 +00:00
|
|
|
pem = "1.0.2"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for hashing passwords
|
|
|
|
rust-argon2 = "0.8.3"
|
|
|
|
# Used for working with ethereum keys
|
2022-04-20 17:30:30 +00:00
|
|
|
secp256k1 = { version = "0.21.3", features = ["rand", "rand-std"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for serialization/deserialization
|
2022-04-08 18:52:13 +00:00
|
|
|
serde = { version = "1.0.136", features = ["derive"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
serde_json = "1.0"
|
|
|
|
# Used to parse config file
|
|
|
|
serde_yaml = "0.8.17"
|
|
|
|
# Used to calculate SHA2 hashes
|
|
|
|
sha2 = "0.9.5"
|
2022-02-09 00:09:08 +00:00
|
|
|
# Used to verify EIP-4361 signatures
|
2022-05-09 16:05:16 +00:00
|
|
|
siwe = "0.3.0"
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used for creating error types
|
|
|
|
thiserror = "1.0.24"
|
2022-04-08 18:52:13 +00:00
|
|
|
# Async runtime
|
|
|
|
tokio = { version = "1.17.0", features = ["macros"] }
|
|
|
|
# Used for working with Postgresql database
|
2022-08-18 00:41:29 +00:00
|
|
|
tokio-postgres = { version = "0.7.6", features = ["with-chrono-0_4", "with-uuid-1", "with-serde_json-1"] }
|
|
|
|
postgres-types = { version = "0.2.3", features = ["derive", "with-chrono-0_4", "with-uuid-1", "with-serde_json-1"] }
|
|
|
|
postgres-protocol = "0.6.4"
|
2022-01-07 16:33:23 +00:00
|
|
|
# Used to construct PostgreSQL queries
|
2022-04-08 18:52:13 +00:00
|
|
|
postgres_query = { git = "https://github.com/nolanderc/rust-postgres-query", rev = "b4422051c8a31fbba4a35f88004c1cefb1878dd5" }
|
|
|
|
postgres_query_macro = { git = "https://github.com/nolanderc/rust-postgres-query", rev = "b4422051c8a31fbba4a35f88004c1cefb1878dd5" }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to work with URLs
|
|
|
|
url = "2.2.2"
|
2021-12-01 23:26:59 +00:00
|
|
|
# Used to generate lexicographically sortable IDs
|
2022-08-18 00:41:29 +00:00
|
|
|
ulid = { version = "1.0.0", features = ["uuid"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to work with UUIDs
|
2022-08-18 00:41:29 +00:00
|
|
|
uuid = { version = "1.1.2", features = ["serde", "v4"] }
|
2021-04-09 00:22:17 +00:00
|
|
|
# Used to query ethereum node
|
2022-04-20 17:30:30 +00:00
|
|
|
web3 = { version = "0.18.0", default-features = false, features = ["http", "http-tls", "signing"] }
|
2022-01-06 11:09:45 +00:00
|
|
|
|
|
|
|
[dev-dependencies]
|
|
|
|
serial_test = "0.5.1"
|
2022-05-04 19:44:38 +00:00
|
|
|
|
|
|
|
[features]
|
|
|
|
production = []
|