{"_id":"@chainvue/v402-conformance-suite","_rev":"2-7e26f0b52e30d15a45759565f2518ad6","name":"@chainvue/v402-conformance-suite","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@chainvue/v402-conformance-suite","version":"0.1.0","author":{"url":"chainvue","name":"Robert Lech"},"license":"Apache-2.0","_id":"@chainvue/v402-conformance-suite@0.1.0","maintainers":[{"name":"devdudeio","email":"fLoAtivErImE@proton.me"}],"homepage":"https://github.com/chainvue/v402/tree/main/packages/conformance-suite#readme","bugs":{"url":"https://github.com/chainvue/v402/issues"},"dist":{"shasum":"61b18d41fcf061b581e69dddf4b8820cc1d30bb3","tarball":"https://registry.npmjs.org/@chainvue/v402-conformance-suite/-/v402-conformance-suite-0.1.0.tgz","fileCount":19,"integrity":"sha512-Mn9fa7J2OEFZVarEx8a8vxnRzfA1k6YJuJNmRnzl9ij3v3CTScGcb07bBY9nkp5XFBBwtZ4K1TWHL5AhevBHRw==","signatures":[{"sig":"MEYCIQCVbWFFABqKX42SqzL2IWmnN1rEBPeczDFuLCxm4MCQKgIhAOTYA2/NHYsWjhdPcuDUMn0HPhL0ChSb5kS2LNKRFWQg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48965},"main":"./dist/index.js","type":"module","_from":"file:chainvue-v402-conformance-suite-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"devdudeio","email":"fLoAtivErImE@proton.me"},"_resolved":"/private/var/folders/lc/_1dmy3kd06b9ryyyvv7pk9vw0000gn/T/7d67149efbbd224ca6a57848100342e7/chainvue-v402-conformance-suite-0.1.0.tgz","_integrity":"sha512-Mn9fa7J2OEFZVarEx8a8vxnRzfA1k6YJuJNmRnzl9ij3v3CTScGcb07bBY9nkp5XFBBwtZ4K1TWHL5AhevBHRw==","repository":{"url":"git+https://github.com/chainvue/v402.git","type":"git","directory":"packages/conformance-suite"},"_npmVersion":"11.11.0","description":"Conformance runner for v402 implementations: drives any implementation through the normative reference test vectors (canonical form, extensions, boundaries, wire format, signing, verification) via a pluggable target interface and reports pass/fail per cas","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@chainvue/v402-protocol":"^0.1.0","@chainvue/v402-signer-verus":"^0.1.0","@chainvue/v402-test-vectors":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/v402-conformance-suite_0.1.0_1783731555874_0.6387725866272711","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@chainvue/v402-conformance-suite","version":"0.1.1","description":"Conformance runner for v402 implementations: drives any implementation through the normative reference test vectors (canonical form, extensions, boundaries, wire format, signing, verification) via a pluggable target interface and reports pass/fail per cas","repository":{"type":"git","url":"git+https://github.com/chainvue/v402.git","directory":"packages/conformance-suite"},"homepage":"https://github.com/chainvue/v402/tree/main/packages/conformance-suite#readme","bugs":{"url":"https://github.com/chainvue/v402/issues"},"license":"Apache-2.0","author":{"name":"Robert Lech","url":"chainvue"},"type":"module","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@chainvue/v402-protocol":"^0.1.0","@chainvue/v402-signer-verus":"^0.1.2","@chainvue/v402-test-vectors":"^0.1.1"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json","test":"vitest run"},"_id":"@chainvue/v402-conformance-suite@0.1.1","_integrity":"sha512-TGoemzF4cUShXMq0+rWwPkEZiwX+oG+Hb/a7WdoDSLbCHqK13l0uuaUINBAPs8o/ofefyMd8LZSw9r9u+H23uw==","_resolved":"/tmp/34081eed17254c4eb83dc27c8e4817b6/chainvue-v402-conformance-suite-0.1.1.tgz","_from":"file:chainvue-v402-conformance-suite-0.1.1.tgz","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-TGoemzF4cUShXMq0+rWwPkEZiwX+oG+Hb/a7WdoDSLbCHqK13l0uuaUINBAPs8o/ofefyMd8LZSw9r9u+H23uw==","shasum":"8876d2571d3c64b5e970caf595ea87811942aa1a","tarball":"https://registry.npmjs.org/@chainvue/v402-conformance-suite/-/v402-conformance-suite-0.1.1.tgz","fileCount":19,"unpackedSize":49363,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chainvue%2fv402-conformance-suite@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZq8ccDJkyma01HuCD0Dw44YhhsYS8NIUp9Z+Ea05TAAIhAMj/LOLPxHf1XTr+hMfeU6EhvJ+k98Qd5ALO3igaaLnf"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87b2a2c5-0a44-4724-9f95-5cdf7bb4eb74"}},"directories":{},"maintainers":[{"name":"devdudeio","email":"fLoAtivErImE@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/v402-conformance-suite_0.1.1_1783765824902_0.6504208227833987"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-11T00:59:15.674Z","modified":"2026-07-11T10:30:25.335Z","0.1.0":"2026-07-11T00:59:16.012Z","0.1.1":"2026-07-11T10:30:25.038Z"},"bugs":{"url":"https://github.com/chainvue/v402/issues"},"author":{"name":"Robert Lech","url":"chainvue"},"license":"Apache-2.0","homepage":"https://github.com/chainvue/v402/tree/main/packages/conformance-suite#readme","repository":{"type":"git","url":"git+https://github.com/chainvue/v402.git","directory":"packages/conformance-suite"},"description":"Conformance runner for v402 implementations: drives any implementation through the normative reference test vectors (canonical form, extensions, boundaries, wire format, signing, verification) via a pluggable target interface and reports pass/fail per cas","maintainers":[{"name":"devdudeio","email":"fLoAtivErImE@proton.me"}],"readme":"# @chainvue/v402-conformance-suite\n\nConformance runner for [v402](https://github.com/chainvue/v402)\nimplementations: drives any implementation through the normative reference\ntest vectors ([`@chainvue/v402-test-vectors`](https://www.npmjs.com/package/@chainvue/v402-test-vectors))\nand reports pass/fail per case. Passing all applicable vectors is the baseline\nfor claiming v402/0.1 conformance.\n\n```sh\nnpm install --save-dev @chainvue/v402-conformance-suite\n```\n\n```ts\nimport { runConformance, formatReport, referenceTarget } from \"@chainvue/v402-conformance-suite\";\n\n// adapt YOUR implementation to the ConformanceTarget interface:\nconst report = await runConformance(myTarget);\nconsole.log(formatReport(report));\nif (!report.ok) process.exit(1);\n```\n\n## The target interface\n\nEvery operation is optional — categories whose operations are missing are\nreported as **skipped**, so a client-only or server-only implementation can\nprove conformance for exactly what it implements. Where a vector expects a\nrejection, the operation must throw an error whose `code` equals the vector's\nerror identifier (the identifiers are normative).\n\nSigning cases follow the vectors' documented semantics: independent\nimplementations assert the message hash and verify-validity of both the\nreference signature and their own — not byte-equality, which only the daemon's\nRFC 6979 nonce variant can reproduce.\n\nIdentity-signature cases are verified against the pinned `v402test@` state\nshipped with the vectors (published test key A as the only primary address),\nso no chain access is needed anywhere in a conformance run.\n\n`referenceTarget()` wires this repository's own packages to the interface —\nit doubles as the self-conformance gate in CI and as adaptation template.\n\nCross-language targets (subprocess/CLI protocol) are on the roadmap (Etappe 2);\nuntil then, non-JS implementations consume the vector JSON directly.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}