Exemple
ip-address 10.4.0: v6.helpers
Échantillon vérifié pour npm ip-address 10.4.0: v6.helpers. Le contrat s'est exécuté sur node 22 · linux debian/x64 · docker et a réussi.
sha256:e8d86b60d6eec6376abd20b4acef04a1bae79eb946bccd7642d9288dd762527d
Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré.
Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes.
MIT-0
Preuves d'exécution
L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.
- Base de preuve
- Contrat signé réussi
- Reçus de vérification
- 1
- Clés de signature qui l’ont compilé
- 1
Environnement déclaré
node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript npm 10
Environnements des exécutions de vérification
| Environnement | Contrat | Étapes | Exécution |
|---|---|---|---|
| node 22 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1node:22@sha256:8a34c4ab3ea2… |
2026-09-01 |
Cas
HOW- Objectif
- verify ip-address.v6.helpers in pkg:npm/ip-address@10.4.0
- Paquets
- Symboles
-
- ip-address.v6.helpers
- Environnement
- node 22.23.2
- Créé
- 2026-09-01T22:48:10Z
Contrat
- helpers is accessible via v6.helpers export on the ip-address package
- helpers.escapeHtml escapes special characters (&, <, >, ", ') to HTML entities
- helpers.spanAllZeroes wraps all occurrences of one or more consecutive zeroes in span elements with class zero and escapes HTML
- helpers.spanAll wraps each character in a digit span with its value, position class including optional offset, and inner zero spans
- helpers.spanLeadingZeroes wraps leading zeroes of each colon-separated group in a span element with class zero
- helpers.simpleGroup splits an address by colons and wraps each non-v4 group in a hover-group span with indexed group class and offset
Fichiers
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.cjs
Code source
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify ip-address.v6.helpers in pkg:npm/ip-address@10.4.0
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/ip-address@10.4.0
Demonstrate these symbols/APIs:
- ip-address.v6.helpers
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:4419d9d3236b9880f84deb07f27fcc1ca048c0dabf2af6852d86aa2080987980","contract":["helpers is accessible via v6.helpers export on the ip-address package","helpers.escapeHtml escapes special characters (\u0026, \u003c, \u003e, \", ') to HTML entities","helpers.spanAllZeroes wraps all occurrences of one or more consecutive zeroes in span elements with class zero and escapes HTML","helpers.spanAll wraps each character in a digit span with its value, position class including optional offset, and inner zero spans","helpers.spanLeadingZeroes wraps leading zeroes of each colon-separated group in a span element with class zero","helpers.simpleGroup splits an address by colons and wraps each non-v4 group in a hover-group span with indexed group class and offset"],"goal":"verify ip-address.v6.helpers in pkg:npm/ip-address@10.4.0","kind":"HOW","packages":["pkg:npm/ip-address@10.4.0"],"schemaVersion":1,"symbols":["ip-address.v6.helpers"]},"contractCommand":["node","test/contract.cjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","executionContext":"node","language":"javascript","libc":"glibc","libcVersion":"2.39","moduleSystem":"cjs","os":"linux","osVersionBucket":"24","packageManager":"npm","packageManagerVersion":"10.9.8","runtime":"node","runtimeVersion":"22.23.2","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/ip-address@10.4.0"],"schemaVersion":1,"subject":"pkg:npm/ip-address@10.4.0","symbols":["ip-address.v6.helpers"],"verifierAdapter":"node-typescript@1"}
{
"name": "ip-address-sample",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ip-address-sample",
"version": "1.0.0",
"dependencies": {
"ip-address": "10.4.0"
}
},
"node_modules/ip-address": {
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz",
"integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==",
"license": "MIT",
"engines": {
"node": ">= 12"
}
}
}
}
{
"name": "ip-address-sample",
"version": "1.0.0",
"private": true,
"description": "Verification sample for ip-address 10.4.0",
"dependencies": {
"ip-address": "10.4.0"
}
}
{
"schemaVersion": 1,
"goal": "verify ip-address.v6.helpers in pkg:npm/ip-address@10.4.0",
"kind": "HOW",
"packages": [
"pkg:npm/ip-address@10.4.0"
],
"symbols": [
"ip-address.v6.helpers"
]
}
const assert = require("node:assert/strict");
const { v6 } = require("ip-address");
const { helpers } = v6;
// 1. helpers is accessible via v6.helpers export on the ip-address package
assert.equal(typeof helpers, "object");
assert.equal(typeof helpers.escapeHtml, "function");
assert.equal(typeof helpers.spanAllZeroes, "function");
assert.equal(typeof helpers.spanAll, "function");
assert.equal(typeof helpers.spanLeadingZeroes, "function");
assert.equal(typeof helpers.simpleGroup, "function");
// 2. helpers.escapeHtml escapes special characters (&, <, >, ", ') to HTML entities
assert.equal(helpers.escapeHtml("plain-text"), "plain-text");
assert.equal(helpers.escapeHtml('<div class="box" data-id=\'1\'>&</div>'), "<div class="box" data-id='1'>&</div>");
assert.equal(helpers.escapeHtml("a & b < c > d \"e\" 'f'"), "a & b < c > d "e" 'f'");
// 3. helpers.spanAllZeroes wraps all occurrences of one or more consecutive zeroes in span elements with class zero and escapes HTML
assert.equal(helpers.spanAllZeroes("2001:00ab:0:1200"), "2<span class=\"zero\">00</span>1:<span class=\"zero\">00</span>ab:<span class=\"zero\">0</span>:12<span class=\"zero\">00</span>");
assert.equal(helpers.spanAllZeroes("ffff:1234"), "ffff:1234");
assert.equal(helpers.spanAllZeroes("<0>"), "<<span class=\"zero\">0</span>>");
assert.equal(helpers.spanAllZeroes("0000"), "<span class=\"zero\">0000</span>");
// 4. helpers.spanAll wraps each character in a digit span with its value, position class including optional offset, and inner zero spans
assert.equal(
helpers.spanAll("2001", 0),
'<span class="digit value-2 position-0">2</span>' +
'<span class="digit value-0 position-1"><span class="zero">0</span></span>' +
'<span class="digit value-0 position-2"><span class="zero">0</span></span>' +
'<span class="digit value-1 position-3">1</span>'
);
assert.equal(
helpers.spanAll("0a", 4),
'<span class="digit value-0 position-4"><span class="zero">0</span></span>' +
'<span class="digit value-a position-5">a</span>'
);
assert.equal(helpers.spanAll(""), "");
// 5. helpers.spanLeadingZeroes wraps leading zeroes of each colon-separated group in a span element with class zero
assert.equal(
helpers.spanLeadingZeroes("2001:00ab:0000:0100:0:1"),
'2001:<span class="zero">00</span>ab:<span class="zero">0000</span>:<span class="zero">0</span>100:<span class="zero">0</span>:1'
);
assert.equal(helpers.spanLeadingZeroes("0042"), '<span class="zero">00</span>42');
assert.equal(helpers.spanLeadingZeroes("abcd:1234"), "abcd:1234");
// 6. helpers.simpleGroup splits an address by colons and wraps each non-v4 group in a hover-group span with indexed group class and offset
assert.deepEqual(
helpers.simpleGroup("2001:00ab:0000:0100", 0),
[
'<span class="hover-group group-0">2001</span>',
'<span class="hover-group group-1"><span class="zero">00</span>ab</span>',
'<span class="hover-group group-2"><span class="zero">0000</span></span>',
'<span class="hover-group group-3"><span class="zero">0</span>100</span>'
]
);
assert.deepEqual(
helpers.simpleGroup("fe80:0", 4),
[
'<span class="hover-group group-4">fe80</span>',
'<span class="hover-group group-5"><span class="zero">0</span></span>'
]
);
assert.deepEqual(
helpers.simpleGroup("fe80:group-v4-part", 0),
[
'<span class="hover-group group-0">fe80</span>',
'group-v4-part'
]
);
console.log("Contract verified successfully.");
Seeder d'origine
anonyme