Conformance Vectors
Conformance vectors provide fixed inputs and expected outputs for the protocol rules that must stay deterministic. A passing implementation reproduces the published bytes, hashes, graph results, and verification outcomes.
Conformance Vector Coverage
Unit tests can confirm internal behavior without proving compatibility with another implementation. Shared vectors compare the values that cross an implementation boundary.
Use the Vector Groups
Run the canonicalization and identity cases first, followed by lineage, Merkle, signing, and replay cases. Additional utility tests cover package behavior outside the core identity path.
When to Rerun the Vectors
Run the complete set after any change to serialization, hashing, parent normalization, graph traversal, signing, replay handling, or Merkle logic.
- Canonicalization and Identity Vectors
- Lineage and Merkle Vectors
- Signing and Replay Vectors
- Additional Utility Vectors
Vectors cover canonical bytes, rejected values, Block creation, normalization, and validation.
| Source | Coverage |
|---|---|
conformance-vectors.test.js | Canonical strings and identity vectors |
canonicalization.test.js | Canonicalization rejection and edge cases |
block.test.js | Block creation, normalization, and validation |
Vectors cover DAG validity, parent resolution, structural attribution, Merkle root hashes, and inclusion proofs.
| Source | Coverage |
|---|---|
block-lineage.test.js | DAG validation and parent resolution |
block-trace.test.js | Structural attribution tracing |
merkle.test.js | Sorted-pair Merkle roots and inclusion proofs |
Vectors cover signed-request normalization, verification outcomes, nonce, expiry, domain, and chain checks.
| Source | Coverage |
|---|---|
signatures.test.js | Signed-request normalization and verification outcomes |
replay.test.js | Nonce, expiry, domain, and chain replay checks |
Receipt, registry, and settlement tests verify helpers that may remain outside ALX economic semantics.
| Source | Coverage |
|---|---|
receipts.test.js | Receipt creation and verification |
registry.test.js | In-memory registry helper behavior |
settlement.test.js | Application-layer settlement utilities |
Settlement and receipt helpers provide application-layer utilities. ALX does not define economic policy.