Files
pezkuwi-api/packages/bizinikiwi-bindings/dist/esm/hashes/h64.mjs.map
T
pezkuwichain 31467f90d4 feat: add PAPI rebrand packages
- @pezkuwi/papi-utils (rebrand of @polkadot-api/utils)
- @pezkuwi/bizinikiwi-bindings (rebrand of @polkadot-api/substrate-bindings)
- @pezkuwi/metadata-builders (rebrand of @polkadot-api/metadata-builders)
- @pezkuwi/merkleize-metadata (rebrand of @polkadot-api/merkleize-metadata)

All @polkadot-api references replaced with @pezkuwi equivalents.
2026-01-22 15:40:12 +03:00

1 line
11 KiB
Plaintext

{"version":3,"file":"h64.mjs","sources":["../../../src/hashes/h64.ts"],"sourcesContent":["// Adapted implementation based on: https://github.com/pierrec/js-xxhash/blob/7ff5ced282f97dba121109d7013e0fa80360398c/lib/xxhash64.js\n\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n\n// helper functions\nconst bigintFromU16 = (\n v0: number,\n v1: number,\n v2: number,\n v3: number,\n): bigint =>\n new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true)\n\nconst MASK_64 = 2n ** 64n - 1n\n\nconst rotl = (input: bigint, nBits: bigint) =>\n ((input << nBits) & MASK_64) | (input >> (64n - nBits))\n\nconst multiply = (a: bigint, b: bigint) => (a * b) & MASK_64\n\nconst add = (a: bigint, b: bigint) => (a + b) & MASK_64\n\n// constants\nconst PRIME64_1 = 11400714785074694791n\nconst PRIME64_2 = 14029467366897019727n\nconst PRIME64_3 = 1609587929392839161n\nconst PRIME64_4 = 9650029242287828579n\nconst PRIME64_5 = 2870177450012600261n\n\nexport function h64(input: Uint8Array, seed: bigint = 0n) {\n let v1 = add(add(seed, PRIME64_1), PRIME64_2)\n let v2 = add(seed, PRIME64_2)\n let v3 = seed\n let v4 = seed - PRIME64_1\n let totalLen = input.length\n let memsize = 0\n let memory: Uint8Array | null = null\n\n ;(function update() {\n let p = 0\n let bEnd = p + totalLen\n\n if (!totalLen) return\n\n memory = new Uint8Array(32)\n\n if (totalLen < 32) {\n memory.set(input.subarray(0, totalLen), memsize)\n\n memsize += totalLen\n return\n }\n\n if (p <= bEnd - 32) {\n const limit = bEnd - 32\n\n do {\n let other\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v1 = multiply(rotl(add(v1, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v2 = multiply(rotl(add(v2, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v3 = multiply(rotl(add(v3, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v4 = multiply(rotl(add(v4, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n } while (p <= limit)\n }\n\n if (p < bEnd) {\n memory.set(input.subarray(p, bEnd), memsize)\n memsize = bEnd - p\n }\n })()\n\n input = memory || input\n\n let result: bigint\n let p = 0\n\n if (totalLen >= 32) {\n result = rotl(v1, 1n)\n result = add(result, rotl(v2, 7n))\n result = add(result, rotl(v3, 12n))\n result = add(result, rotl(v4, 18n))\n\n v1 = multiply(rotl(multiply(v1, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v1\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v2 = multiply(rotl(multiply(v2, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v2\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v3 = multiply(rotl(multiply(v3, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v3\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v4 = multiply(rotl(multiply(v4, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v4\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n } else {\n result = add(seed, PRIME64_5)\n }\n\n result = add(result, BigInt(totalLen))\n\n while (p <= memsize - 8) {\n let temp = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n temp = multiply(rotl(multiply(temp, PRIME64_2), 31n), PRIME64_1)\n result = add(multiply(rotl(result ^ temp, 27n), PRIME64_1), PRIME64_4)\n p += 8\n }\n\n if (p + 4 <= memsize) {\n let temp = multiply(\n bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n 0,\n 0,\n ),\n PRIME64_1,\n )\n\n result = add(multiply(rotl(result ^ temp, 23n), PRIME64_2), PRIME64_3)\n p += 4\n }\n\n while (p < memsize) {\n const temp = multiply(bigintFromU16(input[p++], 0, 0, 0), PRIME64_5)\n result = multiply(rotl(result ^ temp, 11n), PRIME64_1)\n }\n\n let temp = result >> 33n\n result = multiply(result ^ temp, PRIME64_2)\n\n temp = result >> 29n\n result = multiply(result ^ temp, PRIME64_3)\n\n temp = result >> 32n\n result ^= temp\n\n return result\n}\n"],"names":["p","temp"],"mappings":"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"}