@prosopo/fingerprint 2.8.2 → 2.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +1 -1
  2. package/.turbo/{turbo-build.log → turbo-build$colon$esm.log} +7 -8
  3. package/.turbo/turbo-build$colon$tsc.log +9 -9
  4. package/.turbo/turbo-build$colon$types.log +1 -0
  5. package/CHANGELOG.md +14 -0
  6. package/dist/tsc/index.d.ts.map +1 -0
  7. package/dist/tsc/index.js +45 -0
  8. package/dist/tsc/index.js.map +1 -0
  9. package/dist/{index.test.d.ts.map → tsc/index.test.d.ts.map} +1 -1
  10. package/dist/tsc/index.test.js.map +1 -0
  11. package/dist/tsc/merkle.d.ts.map +1 -0
  12. package/dist/tsc/merkle.js +76 -0
  13. package/dist/tsc/merkle.js.map +1 -0
  14. package/dist/tsc/proof.d.ts.map +1 -0
  15. package/dist/tsc/proof.js +80 -0
  16. package/dist/tsc/proof.js.map +1 -0
  17. package/dist/{proof.test.d.ts.map → tsc/proof.test.d.ts.map} +1 -1
  18. package/dist/tsc/proof.test.js.map +1 -0
  19. package/dist/tsc/summary.d.ts.map +1 -0
  20. package/dist/tsc/summary.js +67 -0
  21. package/dist/tsc/summary.js.map +1 -0
  22. package/dist/{summary.test.d.ts.map → tsc/summary.test.d.ts.map} +1 -1
  23. package/dist/tsc/summary.test.js.map +1 -0
  24. package/dist/types/index.d.ts +12 -0
  25. package/dist/types/index.d.ts.map +1 -0
  26. package/dist/types/index.test.d.ts +2 -0
  27. package/dist/types/index.test.d.ts.map +1 -0
  28. package/dist/types/merkle.d.ts +7 -0
  29. package/dist/types/merkle.d.ts.map +1 -0
  30. package/dist/types/proof.d.ts +20 -0
  31. package/dist/types/proof.d.ts.map +1 -0
  32. package/dist/types/proof.test.d.ts +2 -0
  33. package/dist/types/proof.test.d.ts.map +1 -0
  34. package/dist/types/summary.d.ts +5 -0
  35. package/dist/types/summary.d.ts.map +1 -0
  36. package/dist/types/summary.test.d.ts +2 -0
  37. package/dist/types/summary.test.d.ts.map +1 -0
  38. package/package.json +13 -14
  39. package/dist/index.d.ts.map +0 -1
  40. package/dist/index.js.map +0 -1
  41. package/dist/index.test.js.map +0 -1
  42. package/dist/merkle.d.ts.map +0 -1
  43. package/dist/merkle.js.map +0 -1
  44. package/dist/proof.d.ts.map +0 -1
  45. package/dist/proof.js.map +0 -1
  46. package/dist/proof.test.js.map +0 -1
  47. package/dist/summary.d.ts.map +0 -1
  48. package/dist/summary.js.map +0 -1
  49. package/dist/summary.test.js.map +0 -1
  50. /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
  51. /package/dist/{index.js → esm/index.js} +0 -0
  52. /package/dist/{merkle.js → esm/merkle.js} +0 -0
  53. /package/dist/{proof.js → esm/proof.js} +0 -0
  54. /package/dist/{summary.js → esm/summary.js} +0 -0
  55. /package/dist/{index.d.ts → tsc/index.d.ts} +0 -0
  56. /package/dist/{index.test.d.ts → tsc/index.test.d.ts} +0 -0
  57. /package/dist/{index.test.js → tsc/index.test.js} +0 -0
  58. /package/dist/{merkle.d.ts → tsc/merkle.d.ts} +0 -0
  59. /package/dist/{proof.d.ts → tsc/proof.d.ts} +0 -0
  60. /package/dist/{proof.test.d.ts → tsc/proof.test.d.ts} +0 -0
  61. /package/dist/{proof.test.js → tsc/proof.test.js} +0 -0
  62. /package/dist/{summary.d.ts → tsc/summary.d.ts} +0 -0
  63. /package/dist/{summary.test.d.ts → tsc/summary.test.d.ts} +0 -0
  64. /package/dist/{summary.test.js → tsc/summary.test.js} +0 -0
@@ -30,4 +30,4 @@ dist/cjs/summary.cjs 2.95 kB │ gzip: 1.28 kB
30
30
  dist/cjs/index.cjs 3.40 kB │ gzip: 1.25 kB
31
31
  dist/cjs/proof.cjs 4.32 kB │ gzip: 1.71 kB
32
32
 
33
- ✓ built in 57ms
33
+ ✓ built in 42ms
@@ -1,5 +1,4 @@
1
- $ pnpm run build:cross-env --mode ${NODE_ENV:-development}
2
- $ vite build --config vite.esm.config.ts --mode production
1
+ $ vite build --config vite.esm.config.ts --mode ${NODE_ENV:-development}
3
2
  ViteEsmConfig: .
4
3
  {
5
4
  tsConfigPaths: [
@@ -26,10 +25,10 @@ Bundle build started
26
25
  ✓ 5 modules transformed.
27
26
  rendering chunks...
28
27
  computing gzip size...
29
- dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
30
- dist/merkle.js 2.68 kB │ gzip: 1.06 kB
31
- dist/summary.js 2.89 kB │ gzip: 1.26 kB
32
- dist/index.js 2.89 kB │ gzip: 1.17 kB
33
- dist/proof.js 4.05 kB │ gzip: 1.67 kB
28
+ dist/esm/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
29
+ dist/esm/merkle.js 2.68 kB │ gzip: 1.06 kB
30
+ dist/esm/summary.js 2.89 kB │ gzip: 1.26 kB
31
+ dist/esm/index.js 2.89 kB │ gzip: 1.17 kB
32
+ dist/esm/proof.js 4.05 kB │ gzip: 1.67 kB
34
33
 
35
- ✓ built in 76ms
34
+ ✓ built in 23ms
@@ -1,5 +1,5 @@
1
1
  $ tsc --build --verbose
2
- 3:59:24 PM - Projects in this build:
2
+ 11:54:02 AM - Projects in this build:
3
3
  * ../../dev/config/tsconfig.json
4
4
  * ../fingerprintjs/tsconfig.json
5
5
  * ../util/tsconfig.json
@@ -8,19 +8,19 @@ $ tsc --build --verbose
8
8
  * ../types/tsconfig.json
9
9
  * tsconfig.json
10
10
 
11
- 3:59:25 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
11
+ 11:54:02 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/dist/tsc/tsconfig.tsbuildinfo'
12
12
 
13
- 3:59:25 PM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
13
+ 11:54:02 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/dist/tsc/tsconfig.tsbuildinfo'
14
14
 
15
- 3:59:25 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
15
+ 11:54:02 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/dist/tsc/tsconfig.tsbuildinfo'
16
16
 
17
- 3:59:25 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/tsconfig.tsbuildinfo'
17
+ 11:54:02 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/dist/tsc/tsconfig.tsbuildinfo'
18
18
 
19
- 3:59:25 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
19
+ 11:54:02 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/dist/tsc/tsconfig.tsbuildinfo'
20
20
 
21
- 3:59:25 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
21
+ 11:54:02 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/dist/tsc/tsconfig.tsbuildinfo'
22
22
 
23
- 3:59:25 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
23
+ 11:54:02 AM - Project 'tsconfig.json' is out of date because output file 'dist/tsc/tsconfig.tsbuildinfo' does not exist
24
24
 
25
- 3:59:25 PM - Building project '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json'...
25
+ 11:54:02 AM - Building project '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json'...
26
26
 
@@ -0,0 +1 @@
1
+ $ tsc --project tsconfig.types.json
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @prosopo/fingerprint
2
2
 
3
+ ## 2.8.3
4
+ ### Patch Changes
5
+
6
+ - 2086040: Each kind of build now writes to its own folder under dist: dist/esm (vite ESM), dist/cjs (vite CommonJS), dist/types (declarations), dist/tsc (plain tsc), dist/bundle and dist/bundle-webpack (bundles) and dist/native (the Rust addons). Turbo caches each folder separately, so building one variant no longer overwrites or invalidates another. Package exports point at the new folders; anything importing a file from dist by path has to add the variant folder.
7
+
8
+ The Rust addons are no longer committed. They are built into dist/native, in debug for development and tests and fully optimised when NODE_ENV=production, so building them now needs a Rust toolchain.
9
+
10
+ Code that found the repo root or its certificates by climbing a fixed number of folders up from its own file now starts from its package's folder instead (new `packageDir` in @prosopo/util/node). The fixed count stopped working once the build output moved one folder deeper.
11
+ - Updated dependencies [2086040]
12
+ - Updated dependencies [915f30b]
13
+ - @prosopo/types@5.19.0
14
+ - @prosopo/util-crypto@13.6.2
15
+ - @prosopo/fingerprintjs@5.2.0
16
+
3
17
  ## 2.8.2
4
18
  ### Patch Changes
5
19
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACN,KAAK,gBAAgB,EAErB,MAAM,YAAY,CAAC;AAwDpB,eAAO,MAAM,WAAW,eAAgB,iBAAiB,KAAG,iBAK1D,CAAC;AAEH,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAMrD,CAAC;AASF,eAAO,MAAM,mBAAmB,kBAChB,SAAS,MAAM,EAAE,KAC9B,OAAO,CAAC,gBAAgB,CAG1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,IAItC,CAAC;AAEF,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { buildFingerprintProofFromComponents, } from "./proof.js";
2
+ const EXCLUDED_SOURCES = ["webGlExtensions"];
3
+ const FingerprintJSImport = async () => import("@prosopo/fingerprintjs");
4
+ let componentsCache = null;
5
+ const loadComponents = () => {
6
+ if (!componentsCache) {
7
+ const pending = (async () => {
8
+ const { sources, loadSources, prepareForSources } = await FingerprintJSImport();
9
+ await prepareForSources();
10
+ const sourceOptions = {
11
+ cache: {},
12
+ };
13
+ const getComponents = loadSources(sources, sourceOptions, EXCLUDED_SOURCES);
14
+ return getComponents();
15
+ })();
16
+ componentsCache = pending;
17
+ pending.catch(() => {
18
+ if (componentsCache === pending) {
19
+ componentsCache = null;
20
+ }
21
+ });
22
+ }
23
+ return componentsCache;
24
+ };
25
+ const NON_IDENTITY_SOURCES = ["deviceBucket"];
26
+ export const forIdentity = (components) => Object.fromEntries(Object.entries(components).filter(([key]) => !NON_IDENTITY_SOURCES.includes(key)));
27
+ export const getFingerprint = async () => {
28
+ const [{ hashComponents }, components] = await Promise.all([
29
+ FingerprintJSImport(),
30
+ loadComponents(),
31
+ ]);
32
+ return hashComponents(forIdentity(components));
33
+ };
34
+ export const getFingerprintProof = async (discloseKeys) => {
35
+ const components = await loadComponents();
36
+ return buildFingerprintProofFromComponents(components, discloseKeys);
37
+ };
38
+ export const prefetchFingerprint = () => {
39
+ loadComponents().catch(() => {
40
+ });
41
+ };
42
+ export { FINGERPRINT_DISCLOSURE_KEYS, FINGERPRINT_PROOF_VERSION, buildFingerprintProofFromComponents, encodeFingerprintProof, leafHashForContent, verifyFingerprintProofStructure, } from "./proof.js";
43
+ export { buildMerkleLayers, hashMerklePair, merkleProofFromLayers, merkleRootFromLayers, verifyMerkleProof, } from "./merkle.js";
44
+ export { summariseFingerprintProof } from "./summary.js";
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,mCAAmC,GACnC,MAAM,YAAY,CAAC;AAKpB,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAU,CAAC;AAEtD,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAIzE,IAAI,eAAe,GAAsC,IAAI,CAAC;AAE9D,MAAM,cAAc,GAAG,GAA+B,EAAE;IACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC3B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAChD,MAAM,mBAAmB,EAAE,CAAC;YAC7B,MAAM,iBAAiB,EAAE,CAAC;YAG1B,MAAM,aAAa,GAClB;gBACC,KAAK,EAAE,EAAE;aACT,CAAC;YACH,MAAM,aAAa,GAAG,WAAW,CAChC,OAAO,EACP,aAAa,EACb,gBAAgB,CAChB,CAAC;YACF,OAAO,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;QACL,eAAe,GAAG,OAAO,CAAC;QAE1B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAYF,MAAM,oBAAoB,GAAsB,CAAC,cAAc,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAA6B,EAAqB,EAAE,CAC/E,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAChC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9C,CACD,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;IACzD,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,mBAAmB,EAAE;QACrB,cAAc,EAAE;KAChB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,YAAgC,EACJ,EAAE;IAC9B,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAC1C,OAAO,mCAAmC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC7C,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAE5B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAGF,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAA0B,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,YAAY,GAAG,CAAC,MAA+B,EAAqB,EAAE,CAC3E,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3E,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAA4B;QACvC,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,KAAK,EAAE,GAAG;KACV,CAAC;IACF,MAAM,UAAU,GAA4B;QAC3C,GAAG,MAAM;QACT,YAAY,EAAE,UAAU;KACxB,CAAC;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CACxD,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CACvE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/merkle.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAqBhF,eAAO,MAAM,cAAc,SAAU,MAAM,SAAS,MAAM,KAAG,MACjC,CAAC;AAO7B,eAAO,MAAM,iBAAiB,eAAgB,MAAM,EAAE,KAAG,MAAM,EAAE,EAiBhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,MAAM,EAAE,EAAE,KAAG,MACrB,CAAC;AAGtC,eAAO,MAAM,qBAAqB,WACzB,MAAM,EAAE,EAAE,YACR,UAAU,KAClB,WAqBF,CAAC;AAGF,eAAO,MAAM,iBAAiB,aACnB,UAAU,SACb,WAAW,KAChB,OA0BF,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { hexHashArray } from "@prosopo/util-crypto";
2
+ const at = (arr, index) => {
3
+ const value = arr[index];
4
+ if (value === undefined) {
5
+ throw new Error(`merkle: index ${index} out of range (length ${arr.length})`);
6
+ }
7
+ return value;
8
+ };
9
+ export const hashMerklePair = (left, right) => hexHashArray([left, right]);
10
+ export const buildMerkleLayers = (leafHashes) => {
11
+ if (leafHashes.length === 0) {
12
+ throw new Error("merkle: cannot build a tree with no leaves");
13
+ }
14
+ const layers = [[...leafHashes]];
15
+ let current = leafHashes;
16
+ while (current.length > 1) {
17
+ const next = [];
18
+ for (let i = 0; i < current.length; i += 2) {
19
+ const left = at(current, i);
20
+ const right = i + 1 < current.length ? at(current, i + 1) : left;
21
+ next.push(hashMerklePair(left, right));
22
+ }
23
+ layers.push(next);
24
+ current = next;
25
+ }
26
+ return layers;
27
+ };
28
+ export const merkleRootFromLayers = (layers) => at(at(layers, layers.length - 1), 0);
29
+ export const merkleProofFromLayers = (layers, leafHash) => {
30
+ const proof = [];
31
+ let hash = leafHash;
32
+ for (let layerNum = 0; layerNum < layers.length - 1; layerNum++) {
33
+ const layer = at(layers, layerNum);
34
+ const index = layer.indexOf(hash);
35
+ if (index === -1) {
36
+ throw new Error("merkle: leaf hash not present in layer");
37
+ }
38
+ let partnerIndex = index % 2 === 1 ? index - 1 : index + 1;
39
+ if (partnerIndex > layer.length - 1) {
40
+ partnerIndex = index;
41
+ }
42
+ const partner = at(layer, partnerIndex);
43
+ const pair = partnerIndex > index ? [hash, partner] : [partner, hash];
44
+ proof.push(pair);
45
+ hash = hashMerklePair(pair[0], pair[1]);
46
+ }
47
+ return [...proof, [merkleRootFromLayers(layers)]];
48
+ };
49
+ export const verifyMerkleProof = (leafHash, proof) => {
50
+ try {
51
+ const firstLayer = proof[0];
52
+ if (firstLayer === undefined || firstLayer.indexOf(leafHash) === -1) {
53
+ return false;
54
+ }
55
+ if (proof.length === 1) {
56
+ return at(firstLayer, 0) === leafHash;
57
+ }
58
+ const root = at(at(proof, proof.length - 1), 0);
59
+ let hash = leafHash;
60
+ for (let i = 0; i < proof.length - 1; i++) {
61
+ const layer = at(proof, i);
62
+ if (layer.indexOf(hash) === -1) {
63
+ return false;
64
+ }
65
+ hash = hashMerklePair(at(layer, 0), at(layer, 1));
66
+ if (at(proof, i + 1).indexOf(hash) === -1) {
67
+ return false;
68
+ }
69
+ }
70
+ return hash === root;
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ };
76
+ //# sourceMappingURL=merkle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../src/merkle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/proof.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASlD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAa3C,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAC;AASF,MAAM,WAAW,yBAAyB;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACnB;AASD,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC;AA2BD,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,MAA0B,CAAC;AAShF,eAAO,MAAM,mCAAmC,eACnC,iBAAiB,iBACd,SAAS,MAAM,EAAE,KAC9B,gBAsCF,CAAC;AAQF,eAAO,MAAM,+BAA+B,UACpC,gBAAgB,KACrB,OAkBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,gBAAgB,KAAG,MAC3C,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { hexHash } from "@prosopo/util-crypto";
2
+ import { buildMerkleLayers, merkleProofFromLayers, merkleRootFromLayers, verifyMerkleProof, } from "./merkle.js";
3
+ export const FINGERPRINT_PROOF_VERSION = 1;
4
+ export const FINGERPRINT_DISCLOSURE_KEYS = [
5
+ "colorDepth",
6
+ "cookiesEnabled",
7
+ "sessionStorage",
8
+ "localStorage",
9
+ "timezone",
10
+ "hardwareConcurrency",
11
+ "languages",
12
+ "architecture",
13
+ "deviceBucket",
14
+ ];
15
+ const escapeKey = (key) => key.replace(/([:|\\])/g, "\\$1");
16
+ const componentLeafContent = (key, component) => {
17
+ const serialized = "error" in component ? "error" : JSON.stringify(component.value);
18
+ return `${escapeKey(key)}:${serialized}`;
19
+ };
20
+ const disclosureLeafContent = (disclosure) => {
21
+ const serialized = disclosure.error
22
+ ? "error"
23
+ : JSON.stringify(disclosure.value);
24
+ return `${escapeKey(disclosure.key)}:${serialized}`;
25
+ };
26
+ export const leafHashForContent = (content) => hexHash(content);
27
+ export const buildFingerprintProofFromComponents = (components, discloseKeys) => {
28
+ const keys = Object.keys(components).sort();
29
+ if (keys.length === 0) {
30
+ throw new Error("fingerprint proof: no components to commit to");
31
+ }
32
+ const leafHashes = keys.map((key) => {
33
+ const component = components[key];
34
+ if (component === undefined) {
35
+ throw new Error(`fingerprint proof: missing component ${key}`);
36
+ }
37
+ return leafHashForContent(componentLeafContent(key, component));
38
+ });
39
+ const layers = buildMerkleLayers(leafHashes);
40
+ const root = merkleRootFromLayers(layers);
41
+ const disclose = discloseKeys ?? keys;
42
+ const disclosures = [];
43
+ for (const key of disclose) {
44
+ const index = keys.indexOf(key);
45
+ if (index === -1) {
46
+ continue;
47
+ }
48
+ const component = components[key];
49
+ const leafHash = leafHashes[index];
50
+ if (component === undefined || leafHash === undefined) {
51
+ continue;
52
+ }
53
+ const proof = merkleProofFromLayers(layers, leafHash);
54
+ disclosures.push("error" in component
55
+ ? { key, error: true, proof }
56
+ : { key, value: component.value, proof });
57
+ }
58
+ return { v: FINGERPRINT_PROOF_VERSION, root, disclosures };
59
+ };
60
+ export const verifyFingerprintProofStructure = (proof) => {
61
+ if (proof.v !== FINGERPRINT_PROOF_VERSION) {
62
+ return false;
63
+ }
64
+ if (typeof proof.root !== "string" || proof.disclosures.length === 0) {
65
+ return false;
66
+ }
67
+ for (const disclosure of proof.disclosures) {
68
+ const leafHash = leafHashForContent(disclosureLeafContent(disclosure));
69
+ if (!verifyMerkleProof(leafHash, disclosure.proof)) {
70
+ return false;
71
+ }
72
+ const rootLayer = disclosure.proof[disclosure.proof.length - 1];
73
+ if (rootLayer === undefined || rootLayer[0] !== proof.root) {
74
+ return false;
75
+ }
76
+ }
77
+ return true;
78
+ };
79
+ export const encodeFingerprintProof = (proof) => JSON.stringify(proof);
80
+ //# sourceMappingURL=proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.js","sourceRoot":"","sources":["../../src/proof.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proof.test.d.ts","sourceRoot":"","sources":["../src/proof.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"proof.test.d.ts","sourceRoot":"","sources":["../../src/proof.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.test.js","sourceRoot":"","sources":["../../src/proof.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/summary.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,gCAAgC,EAChC,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAgB1E,eAAO,MAAM,yBAAyB,YAC5B,MAAM,GAAG,SAAS,KACzB,kBAAkB,GAAG,SA8DvB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { hexHash } from "@prosopo/util-crypto";
2
+ import { verifyFingerprintProofStructure, } from "./proof.js";
3
+ const GROUP_KEYS = [
4
+ "cookiesEnabled",
5
+ "sessionStorage",
6
+ "localStorage",
7
+ "timezone",
8
+ "languages",
9
+ "architecture",
10
+ ];
11
+ const asNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
12
+ export const summariseFingerprintProof = (encoded) => {
13
+ if (!encoded)
14
+ return undefined;
15
+ let proof;
16
+ try {
17
+ proof = JSON.parse(encoded);
18
+ }
19
+ catch {
20
+ return undefined;
21
+ }
22
+ if (typeof proof !== "object" ||
23
+ proof === null ||
24
+ typeof proof.root !== "string" ||
25
+ !Array.isArray(proof.disclosures)) {
26
+ return undefined;
27
+ }
28
+ if (!verifyFingerprintProofStructure(proof))
29
+ return undefined;
30
+ const byKey = new Map();
31
+ for (const disclosure of proof.disclosures) {
32
+ if (!disclosure.error)
33
+ byKey.set(disclosure.key, disclosure.value);
34
+ }
35
+ const groupInput = GROUP_KEYS.map((key) => `${key}:${JSON.stringify(byKey.get(key) ?? null)}`).join("|");
36
+ const disclosed = {};
37
+ const timezone = byKey.get("timezone");
38
+ if (typeof timezone === "string")
39
+ disclosed.timezone = timezone;
40
+ const languages = byKey.get("languages");
41
+ if (languages !== undefined)
42
+ disclosed.languages = JSON.stringify(languages);
43
+ const architecture = asNumber(byKey.get("architecture"));
44
+ if (architecture !== undefined)
45
+ disclosed.architecture = architecture;
46
+ for (const key of [
47
+ "cookiesEnabled",
48
+ "sessionStorage",
49
+ "localStorage",
50
+ ]) {
51
+ const value = byKey.get(key);
52
+ if (typeof value === "boolean")
53
+ disclosed[key] = value;
54
+ }
55
+ const bucketId = byKey.get("deviceBucket");
56
+ const colorDepth = asNumber(byKey.get("colorDepth"));
57
+ const hardwareConcurrency = asNumber(byKey.get("hardwareConcurrency"));
58
+ return {
59
+ root: proof.root,
60
+ groupHash: hexHash(groupInput),
61
+ ...(typeof bucketId === "string" && bucketId !== "" && { bucketId }),
62
+ ...(colorDepth !== undefined && { colorDepth }),
63
+ ...(hardwareConcurrency !== undefined && { hardwareConcurrency }),
64
+ ...(Object.keys(disclosed).length > 0 && { disclosed }),
65
+ };
66
+ };
67
+ //# sourceMappingURL=summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/summary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.test.d.ts","sourceRoot":"","sources":["../src/summary.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"summary.test.d.ts","sourceRoot":"","sources":["../../src/summary.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.test.js","sourceRoot":"","sources":["../../src/summary.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { UnknownComponents } from "@prosopo/fingerprintjs";
2
+ import { type FingerprintProof } from "./proof.js";
3
+ export declare const forIdentity: (components: UnknownComponents) => UnknownComponents;
4
+ export declare const getFingerprint: () => Promise<string>;
5
+ export declare const getFingerprintProof: (discloseKeys?: readonly string[]) => Promise<FingerprintProof>;
6
+ export declare const prefetchFingerprint: () => void;
7
+ export type { FingerprintLeafDisclosure, FingerprintProof } from "./proof.js";
8
+ export { FINGERPRINT_DISCLOSURE_KEYS, FINGERPRINT_PROOF_VERSION, buildFingerprintProofFromComponents, encodeFingerprintProof, leafHashForContent, verifyFingerprintProofStructure, } from "./proof.js";
9
+ export { buildMerkleLayers, hashMerklePair, merkleProofFromLayers, merkleRootFromLayers, verifyMerkleProof, } from "./merkle.js";
10
+ export type { FingerprintSummary } from "./summary.js";
11
+ export { summariseFingerprintProof } from "./summary.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACN,KAAK,gBAAgB,EAErB,MAAM,YAAY,CAAC;AAwDpB,eAAO,MAAM,WAAW,eAAgB,iBAAiB,KAAG,iBAK1D,CAAC;AAEH,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAMrD,CAAC;AASF,eAAO,MAAM,mBAAmB,kBAChB,SAAS,MAAM,EAAE,KAC9B,OAAO,CAAC,gBAAgB,CAG1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,IAItC,CAAC;AAEF,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { MerkleLeaf, MerkleProof } from "@prosopo/types";
2
+ export declare const hashMerklePair: (left: string, right: string) => string;
3
+ export declare const buildMerkleLayers: (leafHashes: string[]) => string[][];
4
+ export declare const merkleRootFromLayers: (layers: string[][]) => string;
5
+ export declare const merkleProofFromLayers: (layers: string[][], leafHash: MerkleLeaf) => MerkleProof;
6
+ export declare const verifyMerkleProof: (leafHash: MerkleLeaf, proof: MerkleProof) => boolean;
7
+ //# sourceMappingURL=merkle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/merkle.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAqBhF,eAAO,MAAM,cAAc,SAAU,MAAM,SAAS,MAAM,KAAG,MACjC,CAAC;AAO7B,eAAO,MAAM,iBAAiB,eAAgB,MAAM,EAAE,KAAG,MAAM,EAAE,EAiBhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,MAAM,EAAE,EAAE,KAAG,MACrB,CAAC;AAGtC,eAAO,MAAM,qBAAqB,WACzB,MAAM,EAAE,EAAE,YACR,UAAU,KAClB,WAqBF,CAAC;AAGF,eAAO,MAAM,iBAAiB,aACnB,UAAU,SACb,WAAW,KAChB,OA0BF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { UnknownComponents } from "@prosopo/fingerprintjs";
2
+ import type { MerkleProof } from "@prosopo/types";
3
+ export declare const FINGERPRINT_PROOF_VERSION = 1;
4
+ export declare const FINGERPRINT_DISCLOSURE_KEYS: readonly string[];
5
+ export interface FingerprintLeafDisclosure {
6
+ key: string;
7
+ value?: unknown;
8
+ error?: boolean;
9
+ proof: MerkleProof;
10
+ }
11
+ export interface FingerprintProof {
12
+ v: number;
13
+ root: string;
14
+ disclosures: FingerprintLeafDisclosure[];
15
+ }
16
+ export declare const leafHashForContent: (content: string) => string;
17
+ export declare const buildFingerprintProofFromComponents: (components: UnknownComponents, discloseKeys?: readonly string[]) => FingerprintProof;
18
+ export declare const verifyFingerprintProofStructure: (proof: FingerprintProof) => boolean;
19
+ export declare const encodeFingerprintProof: (proof: FingerprintProof) => string;
20
+ //# sourceMappingURL=proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/proof.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASlD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAa3C,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAC;AASF,MAAM,WAAW,yBAAyB;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACnB;AASD,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC;AA2BD,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,MAA0B,CAAC;AAShF,eAAO,MAAM,mCAAmC,eACnC,iBAAiB,iBACd,SAAS,MAAM,EAAE,KAC9B,gBAsCF,CAAC;AAQF,eAAO,MAAM,+BAA+B,UACpC,gBAAgB,KACrB,OAkBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,gBAAgB,KAAG,MAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=proof.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.test.d.ts","sourceRoot":"","sources":["../../src/proof.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { FingerprintDisclosedValuesStored, FingerprintSummaryStored } from "@prosopo/types";
2
+ export type FingerprintSummary = FingerprintSummaryStored;
3
+ export type FingerprintDisclosedValues = FingerprintDisclosedValuesStored;
4
+ export declare const summariseFingerprintProof: (encoded: string | undefined) => FingerprintSummary | undefined;
5
+ //# sourceMappingURL=summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/summary.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,gCAAgC,EAChC,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAgB1E,eAAO,MAAM,yBAAyB,YAC5B,MAAM,GAAG,SAAS,KACzB,kBAAkB,GAAG,SA8DvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=summary.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.test.d.ts","sourceRoot":"","sources":["../../src/summary.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@prosopo/fingerprint",
3
- "version": "2.8.2",
3
+ "version": "2.8.3",
4
4
  "description": "Provider fingerprint",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/esm/index.js",
6
+ "types": "dist/types/index.d.ts",
7
7
  "type": "module",
8
8
  "engines": {
9
9
  "node": "^24"
10
10
  },
11
11
  "exports": {
12
12
  ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.js",
13
+ "types": "./dist/types/index.d.ts",
14
+ "import": "./dist/esm/index.js",
15
15
  "require": "./dist/cjs/index.cjs"
16
16
  },
17
17
  "./summary": {
18
- "types": "./dist/summary.d.ts",
19
- "import": "./dist/summary.js",
18
+ "types": "./dist/types/summary.d.ts",
19
+ "import": "./dist/esm/summary.js",
20
20
  "require": "./dist/cjs/summary.cjs"
21
21
  }
22
22
  },
@@ -33,11 +33,11 @@
33
33
  "homepage": "https://github.com/prosopo/captcha#readme",
34
34
  "dependencies": {
35
35
  "@prosopo/fingerprintjs": "5.2.0",
36
- "@prosopo/types": "5.18.0",
37
- "@prosopo/util-crypto": "13.6.1"
36
+ "@prosopo/types": "5.19.0",
37
+ "@prosopo/util-crypto": "13.6.2"
38
38
  },
39
39
  "devDependencies": {
40
- "@prosopo/config": "3.5.0",
40
+ "@prosopo/config": "3.5.1",
41
41
  "@types/node": "22.10.2",
42
42
  "@vitest/coverage-v8": "5.0.4",
43
43
  "concurrently": "9.0.1",
@@ -53,12 +53,11 @@
53
53
  },
54
54
  "sideEffects": false,
55
55
  "scripts": {
56
- "clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
57
- "build": "pnpm run build:cross-env --mode ${NODE_ENV:-development}",
58
- "build:cross-env": "vite build --config vite.esm.config.ts",
56
+ "clean": "del-cli --verbose dist",
57
+ "build:esm": "vite build --config vite.esm.config.ts --mode ${NODE_ENV:-development}",
59
58
  "build:tsc": "tsc --build --verbose",
60
59
  "build:cjs": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
61
60
  "test": "NODE_ENV=${NODE_ENV:-test}; pnpm exec vitest run --config ./vite.test.config.ts",
62
- "typecheck": "tsc --project tsconfig.types.json"
61
+ "build:types": "tsc --project tsconfig.types.json"
63
62
  }
64
63
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACN,KAAK,gBAAgB,EAErB,MAAM,YAAY,CAAC;AAwDpB,eAAO,MAAM,WAAW,eAAgB,iBAAiB,KAAG,iBAK1D,CAAC;AAEH,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAMrD,CAAC;AASF,eAAO,MAAM,mBAAmB,kBAChB,SAAS,MAAM,EAAE,KAC9B,OAAO,CAAC,gBAAgB,CAG1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,IAItC,CAAC;AAEF,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,mCAAmC,GACnC,MAAM,YAAY,CAAC;AAKpB,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAU,CAAC;AAEtD,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAIzE,IAAI,eAAe,GAAsC,IAAI,CAAC;AAE9D,MAAM,cAAc,GAAG,GAA+B,EAAE;IACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC3B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAChD,MAAM,mBAAmB,EAAE,CAAC;YAC7B,MAAM,iBAAiB,EAAE,CAAC;YAG1B,MAAM,aAAa,GAClB;gBACC,KAAK,EAAE,EAAE;aACT,CAAC;YACH,MAAM,aAAa,GAAG,WAAW,CAChC,OAAO,EACP,aAAa,EACb,gBAAgB,CAChB,CAAC;YACF,OAAO,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;QACL,eAAe,GAAG,OAAO,CAAC;QAE1B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAYF,MAAM,oBAAoB,GAAsB,CAAC,cAAc,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAA6B,EAAqB,EAAE,CAC/E,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAChC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9C,CACD,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;IACzD,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,mBAAmB,EAAE;QACrB,cAAc,EAAE;KAChB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,YAAgC,EACJ,EAAE;IAC9B,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAC1C,OAAO,mCAAmC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC7C,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAE5B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAGF,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAA0B,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,YAAY,GAAG,CAAC,MAA+B,EAAqB,EAAE,CAC3E,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3E,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAA4B;QACvC,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,KAAK,EAAE,GAAG;KACV,CAAC;IACF,MAAM,UAAU,GAA4B;QAC3C,GAAG,MAAM;QACT,YAAY,EAAE,UAAU;KACxB,CAAC;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CACxD,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CACvE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../src/merkle.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAqBhF,eAAO,MAAM,cAAc,SAAU,MAAM,SAAS,MAAM,KAAG,MACjC,CAAC;AAO7B,eAAO,MAAM,iBAAiB,eAAgB,MAAM,EAAE,KAAG,MAAM,EAAE,EAiBhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,MAAM,EAAE,EAAE,KAAG,MACrB,CAAC;AAGtC,eAAO,MAAM,qBAAqB,WACzB,MAAM,EAAE,EAAE,YACR,UAAU,KAClB,WAqBF,CAAC;AAGF,eAAO,MAAM,iBAAiB,aACnB,UAAU,SACb,WAAW,KAChB,OA0BF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../src/merkle.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../src/proof.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASlD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAa3C,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAC;AASF,MAAM,WAAW,yBAAyB;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACnB;AASD,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,yBAAyB,EAAE,CAAC;CACzC;AA2BD,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,MAA0B,CAAC;AAShF,eAAO,MAAM,mCAAmC,eACnC,iBAAiB,iBACd,SAAS,MAAM,EAAE,KAC9B,gBAsCF,CAAC;AAQF,eAAO,MAAM,+BAA+B,UACpC,gBAAgB,KACrB,OAkBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,gBAAgB,KAAG,MAC3C,CAAC"}
package/dist/proof.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof.js","sourceRoot":"","sources":["../src/proof.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof.test.js","sourceRoot":"","sources":["../src/proof.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,gCAAgC,EAChC,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAgB1E,eAAO,MAAM,yBAAyB,YAC5B,MAAM,GAAG,SAAS,KACzB,kBAAkB,GAAG,SA8DvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.test.js","sourceRoot":"","sources":["../src/summary.test.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes