Expand description
§TACEO:OPRF Umbrella Crate
taceo-oprf bundles all TACEO:OPRF sub-crates into a single crate
so you can include only the features you need, without importing
each crate separately.
§Modules
- [
client] – high-level OPRF client functionality (requires theclientfeature). core– core OPRF primitives and cryptography (requires thecorefeature).- [
dev_client] – developer-focused client utilities for testing and mocking (requires thedev-clientfeature, impliesclient). - [
service] – OPRF service nodes, background tasks, and orchestration (requires theservicefeature). - [
types] – shared types and structs across OPRF crates (requires thetypesfeature). - [
anvil] – test helpers for deploying the OPRF contracts to a local Anvil devnet (requires theanvilfeature; not included infull).
§Features
Each module is optional. Enable only the modules you need to reduce compile time and dependencies.
[dependencies]
taceo-oprf = { version = "0.7.1", features = ["client", "core"] }The feature full enables all modules with their transitive deps (except the test feature anvil).
§Transitive sub-crate features
The umbrella forwards each sub-crate feature as its own flag so consumers
can opt in or out without importing the individual crates. All of these use
the weak-dependency syntax (dep?/feature) and therefore do not activate
the parent crate on their own — the corresponding crate-selection feature
(core, service, types) must also be enabled.
| Umbrella feature | Forwarded to | Notes |
|---|---|---|
postgres | oprf-service/postgres | On by default via full |
chain | oprf-types/chain | On by default via full |
The anvil feature is not forwarded from a sub-crate; it enables the
[anvil] module directly and pulls in alloy, eyre, and serde_json.
It is opt-in only and, unlike the modules above, is not enabled by
full.