mirror of
https://github.com/Cuprate/cuprate.git
synced 2024-12-22 19:49:28 +00:00
Boog900
10aac8cbb2
* impl async buffer * clippy * p2p changes * clippy * a few more docs * init cuprate-p2p * remove some unrelated code and add some docs * start documenting client_pool.rs * add more docs * typo * fix docs * use JoinSet in connection maintainer * small changes * add peer sync state svc * add broadcast svc * add more docs * add some tests * add a test * fix merge * add another test * unify PeerDisconnectFut and add more docs * start network init * add an inbound connection server * remove crate doc for now * fix address book docs * fix leak in client pool * correct comment * fix merge + add some docs * review comments * init block downloader * fix doc * initial chain search * add chain_tracker * move block downloader to struct * spawn task whe getting blocks * check for free peers and handle batch response * add test bin * working block downloader * dynamic batch sizes * dandelion_tower -> dandelion-tower * fix async-buffer builds * check if incoming peers are banned * add interface methods * update docs * use a JoinSet for background network tasks * dynamic batch size changes * Keep a longer of queue of blocks to get * more checks on incoming data * fix merge * fix imports * add more docs * add some limits on messages * keep peers that dont have the current need data * fix clippy * fix .lock * fix stopping the block downloader * clean up API and add more docs * tracing + bug fixes * fix panic * doc changes * remove test_init * remove spammy log * fix previous merge * add a test * fix test * remove test unwrap * order imports correctly * clean up test * add a timeout * fix tests * review fixes * make `BlockDownloader` pub * make `initial_chain_search` pub * make `block_downloader` private * Apply suggestions from code review Co-authored-by: hinto-janai <hinto.janai@protonmail.com> * split some sections into separate modules * split chain requests * sort imports * check previous ID is correct * fix typos * Apply suggestions from code review Co-authored-by: hinto-janai <hinto.janai@protonmail.com> --------- Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
107 lines
5.2 KiB
TOML
107 lines
5.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
|
|
members = [
|
|
"consensus",
|
|
"consensus/fast-sync",
|
|
"consensus/rules",
|
|
"cryptonight",
|
|
"helper",
|
|
"net/epee-encoding",
|
|
"net/fixed-bytes",
|
|
"net/levin",
|
|
"net/monero-wire",
|
|
"p2p/cuprate-p2p",
|
|
"p2p/dandelion",
|
|
"p2p/monero-p2p",
|
|
"p2p/async-buffer",
|
|
"p2p/address-book",
|
|
"storage/cuprate-blockchain",
|
|
"storage/cuprate-txpool",
|
|
"storage/database",
|
|
"pruning",
|
|
"test-utils",
|
|
"types",
|
|
"rpc/json-rpc",
|
|
"rpc/monero-rpc-types",
|
|
"rpc/cuprate-rpc-interface",
|
|
]
|
|
|
|
[profile.release]
|
|
lto = true # Build with LTO
|
|
strip = "none" # Keep panic stack traces
|
|
codegen-units = 1 # Optimize for binary speed over compile times
|
|
opt-level = 3
|
|
|
|
[profile.dev]
|
|
lto = false
|
|
strip = "none"
|
|
# Not much slower compile times than opt-level 0, but much faster code.
|
|
opt-level = 1
|
|
|
|
[profile.dev.package."*"]
|
|
# Compile dependencies with max optimization.
|
|
# This is obviously slower on a cold build,
|
|
# but you only build these once.
|
|
opt-level = 3
|
|
|
|
[workspace.dependencies]
|
|
async-trait = { version = "0.1.74", default-features = false }
|
|
bitflags = { version = "2.4.2", default-features = false }
|
|
borsh = { version = "1.2.1", default-features = false }
|
|
bytemuck = { version = "1.14.3", default-features = false }
|
|
bytes = { version = "1.5.0", default-features = false }
|
|
cfg-if = { version = "1.0.0", default-features = false }
|
|
clap = { version = "4.4.7", default-features = false }
|
|
chrono = { version = "0.4.31", default-features = false }
|
|
crypto-bigint = { version = "0.5.5", default-features = false }
|
|
crossbeam = { version = "0.8.4", default-features = false }
|
|
curve25519-dalek = { version = "4.1.1", default-features = false }
|
|
dalek-ff-group = { git = "https://github.com/Cuprate/serai.git", rev = "d27d934", default-features = false }
|
|
dashmap = { version = "5.5.3", default-features = false }
|
|
dirs = { version = "5.0.1", default-features = false }
|
|
futures = { version = "0.3.29", default-features = false }
|
|
hex = { version = "0.4.3", default-features = false }
|
|
hex-literal = { version = "0.4", default-features = false }
|
|
indexmap = { version = "2.2.5", default-features = false }
|
|
monero-serai = { git = "https://github.com/Cuprate/serai.git", rev = "d27d934", default-features = false }
|
|
multiexp = { git = "https://github.com/Cuprate/serai.git", rev = "d27d934", default-features = false }
|
|
paste = { version = "1.0.14", default-features = false }
|
|
pin-project = { version = "1.1.3", default-features = false }
|
|
randomx-rs = { git = "https://github.com/Cuprate/randomx-rs.git", rev = "0028464", default-features = false }
|
|
rand = { version = "0.8.5", default-features = false }
|
|
rand_distr = { version = "0.4.3", default-features = false }
|
|
rayon = { version = "1.9.0", default-features = false }
|
|
serde_bytes = { version = "0.11.12", default-features = false }
|
|
serde_json = { version = "1.0.108", default-features = false }
|
|
serde = { version = "1.0.190", default-features = false }
|
|
thiserror = { version = "1.0.50", default-features = false }
|
|
thread_local = { version = "1.1.7", default-features = false }
|
|
tokio-util = { version = "0.7.10", default-features = false }
|
|
tokio-stream = { version = "0.1.14", default-features = false }
|
|
tokio = { version = "1.33.0", default-features = false }
|
|
tower = { version = "0.4.13", default-features = false }
|
|
tracing-subscriber = { version = "0.3.17", default-features = false }
|
|
tracing = { version = "0.1.40", default-features = false }
|
|
|
|
## workspace.dev-dependencies
|
|
tempfile = { version = "3" }
|
|
pretty_assertions = { version = "1.4.0" }
|
|
proptest = { version = "1" }
|
|
proptest-derive = { version = "0.4.0" }
|
|
tokio-test = { version = "0.4.4" }
|
|
|
|
## TODO:
|
|
## Potential dependencies.
|
|
# arc-swap = { version = "1.6.0" } # Atomically swappable Arc<T> | https://github.com/vorner/arc-swap
|
|
# itoa = { version = "1.0.9" } # Fast integer to string formatting | https://github.com/dtolnay/itoa
|
|
# notify = { version = "6.1.1" } # Filesystem watching | https://github.com/notify-rs/notify
|
|
# once_cell = { version = "1.18.0" } # Lazy/one-time initialization | https://github.com/matklad/once_cell
|
|
# open = { version = "5.0.0" } # Open PATH/URL, probably for binaries | https://github.com/byron/open-rs
|
|
# regex = { version = "1.10.2" } # Regular expressions | https://github.com/rust-lang/regex
|
|
# ryu = { version = "1.0.15" } # Fast float to string formatting | https://github.com/dtolnay/ryu
|
|
|
|
# Maybe one day.
|
|
# disk = { version = "*" } # (De)serialization to/from disk with various file formats | https://github.com/hinto-janai/disk
|
|
# readable = { version = "*" } # Stack-based string formatting utilities | https://github.com/hinto-janai/readable
|
|
# json-rpc = { git = "https://github.com/hinto-janai/json-rpc" } # JSON-RPC 2.0 types
|