mirror of
https://github.com/hinto-janai/cuprate.git
synced 2024-12-22 19:49:33 +00:00
9c27ba5791
* write: impl write_block() * ops: add `get_block_info()` * read: impl block fn's * read: fix signatures * service: wrap `ConcreteEnv` in `RwLock` and doc why * heed: use `read-txn-no-tls` for `Send` read transactions * service: remove RwLock, impl some read functions * read: impl `outputs()` * read: flatten indentation, add `thread_local()` * read: impl `number_outputs_with_amount()` * tests: add `AssertTableLen` * ops: replace all table len asserts with `AssertTableLen` * service: initial tests * service: finish most tests * service: fix bad block data in test * tables: fix incorrect doc * service: add `ReadRequest::Outputs` test * read: use macros for set/getting `ThreadLocal`'s based on backend * small fixes * fix review * small fixes * read: fix ThreadLocal macros for `redb` * read: move `Output` mapping to `crate::free` it's needed in tests too * service: check output value correctness in tests * helper: add timelock <-> u64 mapping functions * free: use `u64_to_timelock()` * read: rct outputs * read: fix variable name * read: use ThreadLocal for both backends * heed: use Mutex for `HeedTableRo`'s read tx * block: add miner_tx * heed: remove Table bound oops * Revert "heed: use Mutex for `HeedTableRo`'s read tx" This reverts commit 7e8aae016c55802070ccf7d152aa8966984d7186. * add `UnsafeSendable` * read: use `UnsafeSendable` for `heed`, branch on backend * read: safety docs * cargo.toml: re-add `read-txn-no-tls` for heed * ops: fix tests, remove miner_tx * fix tx_idx calculation, account for RCT outputs in tests * read: docs, fix `get_tables!()` for both backends * fix clippy * database: `unsafe trait DatabaseRo` * tx: use correct tx_id * free: remove miner_tx comment * free: remove `amount` input for rct outputs * ops: split `add_tx` inputs * read: use `UnsafeSendable` for all backends * heed: update safety comment * move output functions `free` -> `ops` * read: fix `chain_height()` handling * remove serde on `UnsafeSendable` * de-dup docs on `trait DatabaseRo`, `get_tables!()` * Update database/src/unsafe_sendable.rs Co-authored-by: Boog900 <boog900@tutanota.com> --------- Co-authored-by: Boog900 <boog900@tutanota.com>
41 lines
1.5 KiB
TOML
41 lines
1.5 KiB
TOML
[package]
|
|
name = "cuprate-helper"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Helper functions used around Cuprate."
|
|
license = "MIT"
|
|
authors = ["hinto-janai <hinto.janai@protonmail.com>", "Boog900"]
|
|
repository = "https://github.com/Cuprate/cuprate/tree/main/consensus"
|
|
|
|
|
|
[features]
|
|
# All features on by default.
|
|
default = ["std", "atomic", "asynch", "fs", "num", "map", "time", "thread", "constants"]
|
|
std = []
|
|
atomic = ["dep:crossbeam"]
|
|
asynch = ["dep:futures", "dep:rayon"]
|
|
constants = []
|
|
fs = ["dep:dirs"]
|
|
num = []
|
|
map = ["dep:monero-serai"]
|
|
time = ["dep:chrono", "std"]
|
|
thread = ["std", "dep:target_os_lib"]
|
|
|
|
[dependencies]
|
|
crossbeam = { workspace = true, optional = true }
|
|
chrono = { workspace = true, optional = true, features = ["std", "clock"] }
|
|
dirs = { workspace = true, optional = true }
|
|
futures = { workspace = true, optional = true, features = ["std"] }
|
|
monero-serai = { workspace = true, optional = true }
|
|
rayon = { workspace = true, optional = true }
|
|
|
|
# This is kinda a stupid work around.
|
|
# [thread] needs to activate one of these libs (windows|libc)
|
|
# although it depends on what target we're building for.
|
|
[target.'cfg(windows)'.dependencies]
|
|
target_os_lib = { package = "windows", version = ">=0.51", features = ["Win32_System_Threading", "Win32_Foundation"], optional = true }
|
|
[target.'cfg(unix)'.dependencies]
|
|
target_os_lib = { package = "libc", version = "0.2.151", optional = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["full"] }
|