MCPcopy Create free account
hub / github.com/wevm/viem / commitmentToVersionedHash

Function commitmentToVersionedHash

src/utils/blob/commitmentToVersionedHash.ts:46–62  ·  view source on GitHub ↗
(
  parameters: CommitmentToVersionedHashParameters<commitment, to>,
)

Source from the content-addressed store, hash-verified

44 * ```
45 */
46export function commitmentToVersionedHash<
47 const commitment extends Hex | ByteArray,
48 to extends To =
49 | (commitment extends Hex ? 'hex' : never)
50 | (commitment extends ByteArray ? 'bytes' : never),
51>(
52 parameters: CommitmentToVersionedHashParameters<commitment, to>,
53): CommitmentToVersionedHashReturnType<to> {
54 const { commitment, version = 1 } = parameters
55 const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes')
56
57 const versionedHash = sha256(commitment, 'bytes')
58 versionedHash.set([version], 0)
59 return (
60 to === 'bytes' ? versionedHash : bytesToHex(versionedHash)
61 ) as CommitmentToVersionedHashReturnType<to>
62}

Calls 3

sha256Function · 0.85
bytesToHexFunction · 0.85
setMethod · 0.80

Tested by

no test coverage detected