wai/wai-ledger: tariffs, sources and invoices kept in a directory the service
owns (one process holds its lock; every file written whole; the state read back
and verified again on start); POST /v1/tariffs, /v1/sources, /v1/invoices and
/v1/verify, GET /v1/invoices/{digest} with the invoice's verification document.
Its tests issue the corpus's invoices byte for byte and recover the chain after
a restart; smoke.sh checks it over HTTP, the document checked by
receipt_ledger_verify.py --document.
wai.delivery.ledger registered with WLT1 and WLI1 (registry export
regenerated); unit tests of the module; the CI step beside settlement's and
.github/workflows/wai-ledger.yml.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
26 lines
932 B
TOML
26 lines
932 B
TOML
[package]
|
|
name = "wai-ledger"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.97"
|
|
license = "Apache-2.0"
|
|
description = "The WAI receipt ledger as a service: tariffs a seller and a buyer both sign, sources verified by their own extensions, invoices whose every line cites the records it came from, and the ad and delivery reports, kept in a directory the service owns."
|
|
repository = "https://git.transaction.science/Transaction-Science/open-standards"
|
|
publish = false
|
|
|
|
# Its own workspace and Cargo.lock, like the other crates beside wai-rs.
|
|
[workspace]
|
|
|
|
[dependencies]
|
|
axum = "0.8"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "signal"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
ed25519-dalek = "2"
|
|
getrandom = "0.4"
|
|
wai = { path = "../wai-rs", default-features = false, features = ["receipt_ledger"] }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
|
|
[dev-dependencies]
|
|
sha2 = "0.10"
|