func Hash
Hash returns the hex-encoded SHA-256 over its parts, length-prefixed so that Hash("ab","c") != Hash("a","bc"). Use it to commit to structured off-chain material without revealing it.
Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.
Package commit provides small, deterministic commitment helpers shared by the agent demos. On-chain realms store \*co...
A tiny pure package: the one place the agent demos agree on how a commitment is computed. On-chain realms should store commitments (hashes) to off-chain material — reports, patches, verdicts — not the material itself. When several realms do that, they need to compute hashes the same way, or they can't verify each other's commitments.
1commit.Hash(parts...) // hex SHA-256, length-prefixed (no boundary collisions)
2commit.Verdict(vote, salt) // canonical commit-reveal commitment for a hidden bool
3commit.Short(hexHash) // abbreviate for display
Hash length-prefixes each part, so Hash("ab","c") != Hash("a","bc") — a
small detail that matters the moment a commitment concatenates
attacker-influenced fields.
Verdict is the scheme the jury demo uses for
blind voting: commit Verdict(vote, salt) during the commit phase, then
reveal (vote, salt) — anyone can recompute and confirm the vote wasn't
changed after the fact.
Pure, deterministic, no realm state. Import it; don't reinvent the hashing.
1gno test .
Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.
⚠️ Disclaimer: provided as-is, without warranty; not security-audited. Full disclaimer: DISCLAIMER.
Package commit provides small, deterministic commitment helpers shared by the agent demos. On-chain realms store *commitments* to off-chain data (reports, patches, verdicts) rather than the data itself; this package is the one place that defines how those commitments are computed, so several realms agree on the scheme.
Hash returns the hex-encoded SHA-256 over its parts, length-prefixed so that Hash("ab","c") != Hash("a","bc"). Use it to commit to structured off-chain material without revealing it.
Short abbreviates a hex commitment for display.
Verdict is the canonical commitment used by commit-reveal voting: a hidden boolean plus a salt. Reveal the same (verdict, salt) later and any observer can recompute this and confirm the vote was not changed after the fact.