openpay/
compliance/ PCI-DSS readiness package (scope-map,
pci-zero-architecture, hsm-kms-guidance,
qsa-checklist), citing PCI-DSS v4.0.1
requirements. (#1)
examples/pci-zero/ Runnable example demonstrating a deployment
where merchant code never touches a PAN. (#1)
crates/op-core/ Tokenized<Card> typestate + NetworkToken
+ CardNetwork + Cryptogram. (#2)
crates/op-rails-card/network_token/
NetworkTokenProvider trait + VTS adapter
+ MDES adapter, with deterministic stubs
behind a 'live' feature flag. (#2)
crates/op-driver-sdk/conformance/network_token.rs
Conformance harness for third-party
NetworkTokenProvider implementations. (#2)
crates/op-cli/src/ledger/ 'openpay ledger as-of' subcommand for
bi-temporal queries. (#3)
crates/op-orchestrator/src/telemetry.rs
OpenTelemetry span emission per
Payment<S> transition with semantic-
conventions tags. (#3)
docs/observability/ Grafana dashboard JSON + wiring guide
for the bi-temporal ledger lens. (#3)
smart-byte/
smart-byte-rs/ Rust reference implementation: envelope
encode/decode (canonical CBOR + BLAKE3
content addressing), Ed25519 sign +
verify, lockstep BFT commit MVP, Iroh
transport scaffold, CLI. (#4)
spec/identity_and_key_rotation.md
Adopts KERI SAIDs + key-event log
format; explicitly does not adopt ACDC
chaining wholesale. (#5)
conformance/v1/ 21 test vectors covering canonicalisation,
SAID computation, signature verification,
lockstep commit, gossip propagation.
CI gate enforces spec/vector coupling. (#6)
eoc/
eoc-rs/ Rust + WASM reference implementation:
4-stage cascade (cache -> kv -> graph ->
neural), joule counters via RAPL / NVML /
powermetrics, CLI, wasm-bindgen surface.
18 tests pass. (#7)
eoc-bench/ Benchmark harness, MT-Bench and Router
case sets, 'joules per MT-Bench point'
metric, 'eoc-bench run | compare' CLI. (#8)
standards/sci-for-ai-submission.md
Submission proposal mapping EOC's
receipt schema to GSF SCI-for-AI. (#9)
cookbook/ HuggingFace-style cookbook (markdown +
runnable Python) demonstrating EOC's
cascade with HF AI Energy Score. (#9)
docs/bench-v0.md Reproducibility doc for eoc-bench.
Workspace state:
- openpay clippy -- -D warnings: clean across all touched crates
- smart-byte-rs cargo test --workspace + clippy: clean
- eoc-rs cargo test --workspace + clippy: clean (18 tests)
- eoc-bench cargo check --workspace + clippy + 15 tests: clean
Rust 1.95.0 edition 2024 pinned at the open-standards root via
rust-toolchain.toml; every workspace inherits.
Closes #1 #2 #3 #4 #5 #6 #7 #8 #9.
51 lines
1.8 KiB
TOML
51 lines
1.8 KiB
TOML
[package]
|
|
name = "op-rails-card"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "OpenPay card-rail adapters. Generic CardAcquirer trait + Hyperswitch driver."
|
|
|
|
[dependencies]
|
|
op-core = { path = "../op-core" }
|
|
op-emv = { path = "../op-emv" }
|
|
thiserror = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
time = { workspace = true }
|
|
uuid = { workspace = true }
|
|
# HTTP client. ureq is sync, minimal deps, TLS via rustls. We pick it for
|
|
# small footprint and so the same crate compiles on iOS/Android via FFI
|
|
# without dragging in tokio.
|
|
ureq = { version = "2.10", default-features = false, features = ["tls", "json"] }
|
|
# Hex encoding for EMV TLV blobs forwarded in connector_metadata.
|
|
hex = "0.4"
|
|
|
|
[dev-dependencies]
|
|
proptest = { workspace = true }
|
|
insta = { workspace = true }
|
|
# httpmock spins up a fake HTTP server for driver tests. Hyperswitch's
|
|
# sandbox is reachable from the workspace network config; we use the mock
|
|
# for offline unit tests and the real sandbox for integration tests.
|
|
httpmock = "0.7"
|
|
|
|
[features]
|
|
default = ["hyperswitch"]
|
|
# Concrete drivers. Each is feature-gated so a deployment can compile
|
|
# only the PSPs it intends to use.
|
|
hyperswitch = []
|
|
stripe = [] # Future Phase 4.1
|
|
adyen = [] # Future Phase 4.2
|
|
finix = [] # Future Phase 4.3
|
|
moov = [] # Future Phase 4.4
|
|
|
|
# Enable the real-network integration tests (ignored by default).
|
|
live-sandbox = []
|
|
|
|
# Enable real HTTP integrations against card-network tokenization
|
|
# services (VTS, MDES). Default builds use deterministic stubs only;
|
|
# this feature pulls in the live HTTP code paths and is intended for
|
|
# deployments that have completed the Visa / Mastercard token
|
|
# requestor onboarding.
|
|
live = []
|