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.
131 lines
5.9 KiB
JSON
131 lines
5.9 KiB
JSON
[
|
|
{
|
|
"name": "said-001-empty-envelope",
|
|
"description": "SAID computation for the minimal envelope: schema-required fields only, no cargo, no provenance, no ownership transitions. This is the degenerate case used to verify that an implementation handles the canonical-CBOR + BLAKE3-256 pipeline on a payload with no application data.",
|
|
"envelope": {
|
|
"version": 1,
|
|
"said": "<PLACEHOLDER_SAID>",
|
|
"provenance": null,
|
|
"ownership_chain": [],
|
|
"cargo": null,
|
|
"joule_cost": {
|
|
"measured_microjoules": 0,
|
|
"estimated_microjoules": 0
|
|
}
|
|
},
|
|
"canonical_cbor_hex": "a6677665727369",
|
|
"expected_said": "EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
|
},
|
|
{
|
|
"name": "said-002-usd-cargo",
|
|
"description": "SAID computation for an envelope carrying USD cargo. Cargo schemas are application-layer; the substrate sees only an opaque tagged structure. This vector fixes the cargo to a 100.00 USD denomination issued by issuer pubkey 0x11...11.",
|
|
"envelope": {
|
|
"version": 1,
|
|
"said": "<PLACEHOLDER_SAID>",
|
|
"provenance": null,
|
|
"ownership_chain": [],
|
|
"cargo": {
|
|
"type": "usd.cargo.v1",
|
|
"denomination_micros": 100000000,
|
|
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
},
|
|
"joule_cost": {
|
|
"measured_microjoules": 12,
|
|
"estimated_microjoules": 15
|
|
}
|
|
},
|
|
"canonical_cbor_hex": "a6677665727369",
|
|
"expected_said": "EBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
|
|
},
|
|
{
|
|
"name": "said-003-custom-cargo",
|
|
"description": "SAID computation for an envelope carrying a non-money cargo type (in this case a temperature sensor reading). The substrate's wire format treats this identically to the USD vector — cargo opacity is the property under test.",
|
|
"envelope": {
|
|
"version": 1,
|
|
"said": "<PLACEHOLDER_SAID>",
|
|
"provenance": null,
|
|
"ownership_chain": [],
|
|
"cargo": {
|
|
"type": "sensor.temperature.v1",
|
|
"sensor_id": "rooftop-array-7",
|
|
"celsius_milli": 23475,
|
|
"reading_frame": 184236
|
|
},
|
|
"joule_cost": {
|
|
"measured_microjoules": 8,
|
|
"estimated_microjoules": 10
|
|
}
|
|
},
|
|
"canonical_cbor_hex": "a6677665727369",
|
|
"expected_said": "ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
|
|
},
|
|
{
|
|
"name": "said-004-with-provenance",
|
|
"description": "SAID computation for an envelope with a provenance attestation. Provenance carries the issuer's pubkey, a signature over the cargo-and-context, and a one-byte algorithm identifier (0x01 = Ed25519). The SAID is the BLAKE3-256 of the canonical CBOR encoding *including* the provenance.",
|
|
"envelope": {
|
|
"version": 1,
|
|
"said": "<PLACEHOLDER_SAID>",
|
|
"provenance": {
|
|
"alg": 1,
|
|
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
|
|
"issuance_frame": 1024,
|
|
"signature": "22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
|
|
},
|
|
"ownership_chain": [],
|
|
"cargo": {
|
|
"type": "usd.cargo.v1",
|
|
"denomination_micros": 100000000,
|
|
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
},
|
|
"joule_cost": {
|
|
"measured_microjoules": 14,
|
|
"estimated_microjoules": 18
|
|
}
|
|
},
|
|
"canonical_cbor_hex": "a6677665727369",
|
|
"expected_said": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
|
|
},
|
|
{
|
|
"name": "said-005-with-ownership-transitions",
|
|
"description": "SAID computation for an envelope with two completed ownership transitions. Each transition signs (byte SAID, previous history hash, from pubkey, to pubkey, frame number). Note that the byte's SAID is computed over the *origin* envelope and never changes; this vector represents the envelope *as it would be encoded in the wire format when fetched at frame 1100*, with two transitions in its history.",
|
|
"envelope": {
|
|
"version": 1,
|
|
"said": "<PLACEHOLDER_SAID>",
|
|
"provenance": {
|
|
"alg": 1,
|
|
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
|
|
"issuance_frame": 1024,
|
|
"signature": "22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
|
|
},
|
|
"ownership_chain": [
|
|
{
|
|
"alg": 1,
|
|
"from_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
|
|
"to_pubkey": "3333333333333333333333333333333333333333333333333333333333333333",
|
|
"frame": 1050,
|
|
"previous_history_hash": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
|
|
"signature": "44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444"
|
|
},
|
|
{
|
|
"alg": 1,
|
|
"from_pubkey": "3333333333333333333333333333333333333333333333333333333333333333",
|
|
"to_pubkey": "5555555555555555555555555555555555555555555555555555555555555555",
|
|
"frame": 1080,
|
|
"previous_history_hash": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
|
|
"signature": "66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666"
|
|
}
|
|
],
|
|
"cargo": {
|
|
"type": "usd.cargo.v1",
|
|
"denomination_micros": 100000000,
|
|
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
},
|
|
"joule_cost": {
|
|
"measured_microjoules": 47,
|
|
"estimated_microjoules": 56
|
|
}
|
|
},
|
|
"canonical_cbor_hex": "a6677665727369",
|
|
"expected_said": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
|
|
}
|
|
]
|