h_test_1 0.0.21 → 0.0.23

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/chains.constants.cjs"),i=require("../../constants/protocol.constants.cjs"),ee=require("../../data-structures/utxo/Utxo.cjs"),ne=require("../web3/etherFunctions.cjs"),r=require("./common.snarkjs.cjs"),te=require("./generateCircomData.cjs"),ae=require("./generateZkProof.cjs"),se=require("../../types/hinkal.types.cjs"),oe=require("../utils/fees.utils.cjs"),b=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),re=require("../../error-handling/logger.cjs"),ce=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),ie=async(m,M,W,n,a,c,q,z,l,P,G,D=i.zeroAddress,d=T.chainIds.localhost,k=n.map(()=>!1),R=n.map(()=>0n),p=void 0,v=!1,s=void 0,g,u=void 0,J,y=i.defaultSignatureData,w)=>{const _=r.calcAmountChanges(n,a),A=n.map(e=>e[0].erc20TokenAddress),h=r.calcEncryptedOutputs(a),f=c.getShieldedPrivateKey(),O=ee.Utxo.findCorrectRandomization(ne.randomBigInt(31),f),C=T.isTronLike(d)?await b.hinkalCheckTronTokenRegistry(A,r.calcAmountChanges(n,a,!0),d):await b.hinkalCheckTokenRegistry(J??b.createHinkalHelperFromData(d),A,r.calcAmountChanges(n,a,!0)),Z=T.isTronLike(d)?v||C:v,Q=n.map(e=>e.map(t=>t.getConstructableParams()));console.log("hinkalDeposit sa1",{userKeys:c});const{inCommitmentSiblings:X,inCommitmentSiblingSides:Y,accessTokenSiblings:$,accessTokenSiblingSides:K,rootHashHinkal:B,rootHashAccessToken:F,inNullifiers:I}=await ce.getDataFromWorkers(d,M,W,c,Q,Z,C,k,m);console.log("hinkalDeposit y1",{userKeys:c,effectivePatchAccessTokenMerkleTree:Z,kycRequired:C});const j=r.buildOutCommitments(m,a,k),o={rootHashHinkal:B,shieldedPrivateKey:f,erc20TokenAddresses:A,inAmounts:n.map(e=>e.map(t=>t.amount.toString())),inTimeStamps:n.map(e=>e.map(t=>t.timeStamp)),inRandomizations:n.map(e=>e.map(t=>t.randomization)),inNullifiers:I,inCommitmentSiblings:X,inCommitmentSiblingSides:Y,outAmounts:a.map(e=>e.map(t=>t.amount.toString())),outTimeStamp:BigInt(a[0][0].timeStamp),outPublicKeys:a.map(e=>e.map(t=>t.getStealthAddress())),extraRandomization:O,amountChanges:_,outCommitments:j,rootHashAccessToken:F,accessTokenSiblings:$,accessTokenSiblingSides:K,calldataHash:0n},S=n.map(e=>e[0].tokenId??0),E=S.reduce((e,t)=>e+t,0)>0?S.length:0;E>0&&(o.tokenIds=S);const H=r.calcPublicSignalCount(q,o.erc20TokenAddresses,o.amountChanges,o.inNullifiers,o.outCommitments,E);if(!s){s=se.defaultHinkalLogicArgs(_.length,c),s.interactionAddress=l??i.zeroAddress;const e=c.getInHinkalAddress(s.interactionAddress);s.inHinkalAddress=e}if(m==="v1x1"){if(o.interactionAddress=s?.interactionAddress??l??i.zeroAddress,c.getInHinkalAddress(o.interactionAddress)!==s.inHinkalAddress)throw new Error("inHinkalAddress mismatch");o.externalApprovalAddresses=s.useApprovalUtxoData?.map(({externalApprovalAddresses:e})=>e)??[i.zeroAddress,i.zeroAddress,i.zeroAddress]}u||(u=oe.generateFeeStructure(R,n.map(e=>e[0].erc20TokenAddress)));const N=r.calcAmountChanges(n,a,!0);g||(g=r.getSlippageValues(N,s)),re.Logger.log({publicSignalCount:H}),o.calldataHash=r.createCallDataHash(m,H,D,l,z,P,h,R,p,g,k,s,u,y,w);const{zkCallData:L}=await ae.generateZkProof(m,d,q,o,G),V=r.calcStealthAddressStructure(O,f),U=te.generateCircomData(j,I,B,F,N,A,a,h,H,z,l,P,D,o.calldataHash,S,V,k,p,void 0,s,g,u,y,w),x={tokenNumber:n.length,nullifierAmount:n[0].length,outputAmount:a[0].length};return{zkCallData:L,circomData:U,dimData:x,encryptedOutputs:h}};exports.constructZkProof=ie;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/chains.constants.cjs"),c=require("../../constants/protocol.constants.cjs"),ee=require("../../data-structures/utxo/Utxo.cjs"),ne=require("../web3/etherFunctions.cjs"),r=require("./common.snarkjs.cjs"),te=require("./generateCircomData.cjs"),ae=require("./generateZkProof.cjs"),se=require("../../types/hinkal.types.cjs"),oe=require("../utils/fees.utils.cjs"),b=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),re=require("../../error-handling/logger.cjs"),ie=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),ce=async(m,W,G,n,s,i,p,q,l,z,D,P=c.zeroAddress,d=T.chainIds.localhost,k=n.map(()=>!1),v=n.map(()=>0n),R=void 0,w=!1,o=void 0,g,u=void 0,J,y=c.defaultSignatureData,_)=>{const O=r.calcAmountChanges(n,s),A=n.map(e=>e[0].erc20TokenAddress),S=r.calcEncryptedOutputs(s),f=i.getShieldedPrivateKey(),Z=ee.Utxo.findCorrectRandomization(ne.randomBigInt(31),f),C=T.isTronLike(d)?await b.hinkalCheckTronTokenRegistry(A,r.calcAmountChanges(n,s,!0),d):await b.hinkalCheckTokenRegistry(J??b.createHinkalHelperFromData(d),A,r.calcAmountChanges(n,s,!0)),B=T.isTronLike(d)?w||C:w,Q=n.map(e=>e.map(t=>t.getConstructableParams()));console.log("hinkalDeposit sa1",{userKeys:i});const{inCommitmentSiblings:X,inCommitmentSiblingSides:Y,accessTokenSiblings:$,accessTokenSiblingSides:K,rootHashHinkal:F,rootHashAccessToken:I,inNullifiers:j}=await ie.getDataFromWorkers(d,W,G,i,Q,B,C,k,m);console.log("hinkalDeposit y1",{userKeys:i,effectivePatchAccessTokenMerkleTree:B,kycRequired:C});const E=r.buildOutCommitments(m,s,k),a={rootHashHinkal:F,shieldedPrivateKey:f,erc20TokenAddresses:A,inAmounts:n.map(e=>e.map(t=>t.amount.toString())),inTimeStamps:n.map(e=>e.map(t=>t.timeStamp)),inRandomizations:n.map(e=>e.map(t=>t.randomization)),inNullifiers:j,inCommitmentSiblings:X,inCommitmentSiblingSides:Y,outAmounts:s.map(e=>e.map(t=>t.amount.toString())),outTimeStamp:BigInt(s[0][0].timeStamp),outPublicKeys:s.map(e=>e.map(t=>t.getStealthAddress())),extraRandomization:Z,amountChanges:O,outCommitments:E,rootHashAccessToken:I,accessTokenSiblings:$,accessTokenSiblingSides:K,calldataHash:0n},h=n.map(e=>e[0].tokenId??0),N=h.reduce((e,t)=>e+t,0)>0?h.length:0;N>0&&(a.tokenIds=h);const H=r.calcPublicSignalCount(p,a.erc20TokenAddresses,a.amountChanges,a.inNullifiers,a.outCommitments,N);if(!o){o=se.defaultHinkalLogicArgs(O.length,i),o.interactionAddress=l??c.zeroAddress;const e=i.getInHinkalAddress(o.interactionAddress);o.inHinkalAddress=e}if(m==="v1x1"){if(a.interactionAddress=o?.interactionAddress??l??c.zeroAddress,i.getInHinkalAddress(a.interactionAddress)!==o.inHinkalAddress)throw new Error("inHinkalAddress mismatch");a.externalApprovalAddresses=o.useApprovalUtxoData?.map(({externalApprovalAddresses:e})=>e)??[c.zeroAddress,c.zeroAddress,c.zeroAddress]}u||(u=oe.generateFeeStructure(v,n.map(e=>e[0].erc20TokenAddress)));const M=r.calcAmountChanges(n,s,!0);g||(g=r.getSlippageValues(M,o)),re.Logger.log({publicSignalCount:H}),a.calldataHash=r.createCallDataHash(m,H,P,l,q,z,S,v,R,g,k,o,u,y,_),console.log("hinkalDeposit k2 pre proof",{input:a,generateProofRemotely:D});const{zkCallData:L}=await ae.generateZkProof(m,d,p,a,D);console.log("hinkalDeposit k2 post proof");const V=r.calcStealthAddressStructure(Z,f),U=te.generateCircomData(E,j,F,I,M,A,s,S,H,q,l,z,P,a.calldataHash,h,V,k,R,void 0,o,g,u,y,_),x={tokenNumber:n.length,nullifierAmount:n[0].length,outputAmount:s[0].length};return{zkCallData:L,circomData:U,dimData:x,encryptedOutputs:S}};exports.constructZkProof=ce;
@@ -1,138 +1,140 @@
1
- import { isTronLike as W, chainIds as x } from "../../constants/chains.constants.mjs";
1
+ import { isTronLike as j, chainIds as x } from "../../constants/chains.constants.mjs";
2
2
  import { zeroAddress as s, defaultSignatureData as tt } from "../../constants/protocol.constants.mjs";
3
3
  import { Utxo as at } from "../../data-structures/utxo/Utxo.mjs";
4
4
  import { randomBigInt as et } from "../web3/etherFunctions.mjs";
5
- import { calcAmountChanges as H, calcEncryptedOutputs as mt, buildOutCommitments as nt, calcPublicSignalCount as ot, getSlippageValues as it, createCallDataHash as rt, calcStealthAddressStructure as st } from "./common.snarkjs.mjs";
5
+ import { calcAmountChanges as g, calcEncryptedOutputs as nt, buildOutCommitments as ot, calcPublicSignalCount as mt, getSlippageValues as it, createCallDataHash as rt, calcStealthAddressStructure as st } from "./common.snarkjs.mjs";
6
6
  import { generateCircomData as dt } from "./generateCircomData.mjs";
7
7
  import { generateZkProof as ct } from "./generateZkProof.mjs";
8
8
  import { defaultHinkalLogicArgs as lt } from "../../types/hinkal.types.mjs";
9
- import { generateFeeStructure as ft } from "../utils/fees.utils.mjs";
10
- import { hinkalCheckTronTokenRegistry as kt, hinkalCheckTokenRegistry as St, createHinkalHelperFromData as pt } from "../../data-structures/Hinkal/hinkalCheckTokenRegistry.mjs";
11
- import { Logger as Ht } from "../../error-handling/logger.mjs";
12
- import { getDataFromWorkers as gt } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
13
- const yt = async (d, j, G, a, m, i, h, b, c, D, J, P = s, r = x.localhost, l = a.map(() => !1), z = a.map(() => 0n), v = void 0, w = !1, n = void 0, f, k = void 0, Q, R = tt, u) => {
14
- const y = H(a, m), S = a.map((t) => t[0].erc20TokenAddress), g = mt(m), A = i.getShieldedPrivateKey(), B = at.findCorrectRandomization(et(31), A), T = W(r) ? await kt(S, H(a, m, !0), r) : await St(
15
- Q ?? pt(r),
16
- S,
17
- H(a, m, !0)
18
- ), I = W(r) ? w || T : w, X = a.map((t) => t.map((e) => e.getConstructableParams()));
9
+ import { generateFeeStructure as kt } from "../utils/fees.utils.mjs";
10
+ import { hinkalCheckTronTokenRegistry as ft, hinkalCheckTokenRegistry as pt, createHinkalHelperFromData as St } from "../../data-structures/Hinkal/hinkalCheckTokenRegistry.mjs";
11
+ import { Logger as gt } from "../../error-handling/logger.mjs";
12
+ import { getDataFromWorkers as Ht } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
13
+ const Bt = async (d, G, J, a, o, i, C, D, c, b, P, z = s, r = x.localhost, l = a.map(() => !1), v = a.map(() => 0n), w = void 0, R = !1, m = void 0, k, f = void 0, Q, u = tt, B) => {
14
+ const I = g(a, o), p = a.map((t) => t[0].erc20TokenAddress), H = nt(o), A = i.getShieldedPrivateKey(), O = at.findCorrectRandomization(et(31), A), h = j(r) ? await ft(p, g(a, o, !0), r) : await pt(
15
+ Q ?? St(r),
16
+ p,
17
+ g(a, o, !0)
18
+ ), y = j(r) ? R || h : R, X = a.map((t) => t.map((e) => e.getConstructableParams()));
19
19
  console.log("hinkalDeposit sa1", { userKeys: i });
20
20
  const {
21
21
  inCommitmentSiblings: Y,
22
22
  inCommitmentSiblingSides: _,
23
23
  accessTokenSiblings: $,
24
24
  accessTokenSiblingSides: M,
25
- rootHashHinkal: O,
26
- rootHashAccessToken: E,
27
- inNullifiers: F
28
- } = await gt(
25
+ rootHashHinkal: E,
26
+ rootHashAccessToken: F,
27
+ inNullifiers: N
28
+ } = await Ht(
29
29
  r,
30
- j,
31
30
  G,
31
+ J,
32
32
  i,
33
33
  X,
34
- I,
35
- T,
34
+ y,
35
+ h,
36
36
  l,
37
37
  d
38
38
  );
39
- console.log("hinkalDeposit y1", { userKeys: i, effectivePatchAccessTokenMerkleTree: I, kycRequired: T });
40
- const N = nt(d, m, l), o = {
41
- rootHashHinkal: O,
39
+ console.log("hinkalDeposit y1", { userKeys: i, effectivePatchAccessTokenMerkleTree: y, kycRequired: h });
40
+ const Z = ot(d, o, l), n = {
41
+ rootHashHinkal: E,
42
42
  shieldedPrivateKey: A,
43
- erc20TokenAddresses: S,
43
+ erc20TokenAddresses: p,
44
44
  inAmounts: a.map((t) => t.map((e) => e.amount.toString())),
45
45
  inTimeStamps: a.map((t) => t.map((e) => e.timeStamp)),
46
46
  inRandomizations: a.map((t) => t.map((e) => e.randomization)),
47
- inNullifiers: F,
47
+ inNullifiers: N,
48
48
  inCommitmentSiblings: Y,
49
49
  inCommitmentSiblingSides: _,
50
- outAmounts: m.map((t) => t.map((e) => e.amount.toString())),
51
- outTimeStamp: BigInt(m[0][0].timeStamp),
52
- outPublicKeys: m.map((t) => t.map((e) => e.getStealthAddress())),
53
- extraRandomization: B,
54
- amountChanges: y,
55
- outCommitments: N,
56
- rootHashAccessToken: E,
50
+ outAmounts: o.map((t) => t.map((e) => e.amount.toString())),
51
+ outTimeStamp: BigInt(o[0][0].timeStamp),
52
+ outPublicKeys: o.map((t) => t.map((e) => e.getStealthAddress())),
53
+ extraRandomization: O,
54
+ amountChanges: I,
55
+ outCommitments: Z,
56
+ rootHashAccessToken: F,
57
57
  accessTokenSiblings: $,
58
58
  accessTokenSiblingSides: M,
59
59
  calldataHash: 0n
60
- }, p = a.map((t) => t[0].tokenId ?? 0), Z = p.reduce((t, e) => t + e, 0) > 0 ? p.length : 0;
61
- Z > 0 && (o.tokenIds = p);
62
- const C = ot(
63
- h,
64
- o.erc20TokenAddresses,
65
- o.amountChanges,
66
- o.inNullifiers,
67
- o.outCommitments,
68
- Z
60
+ }, S = a.map((t) => t[0].tokenId ?? 0), q = S.reduce((t, e) => t + e, 0) > 0 ? S.length : 0;
61
+ q > 0 && (n.tokenIds = S);
62
+ const T = mt(
63
+ C,
64
+ n.erc20TokenAddresses,
65
+ n.amountChanges,
66
+ n.inNullifiers,
67
+ n.outCommitments,
68
+ q
69
69
  );
70
- if (!n) {
71
- n = lt(y.length, i), n.interactionAddress = c ?? s;
72
- const t = i.getInHinkalAddress(n.interactionAddress);
73
- n.inHinkalAddress = t;
70
+ if (!m) {
71
+ m = lt(I.length, i), m.interactionAddress = c ?? s;
72
+ const t = i.getInHinkalAddress(m.interactionAddress);
73
+ m.inHinkalAddress = t;
74
74
  }
75
75
  if (d === "v1x1") {
76
- if (o.interactionAddress = n?.interactionAddress ?? c ?? s, i.getInHinkalAddress(o.interactionAddress) !== n.inHinkalAddress)
76
+ if (n.interactionAddress = m?.interactionAddress ?? c ?? s, i.getInHinkalAddress(n.interactionAddress) !== m.inHinkalAddress)
77
77
  throw new Error("inHinkalAddress mismatch");
78
- o.externalApprovalAddresses = n.useApprovalUtxoData?.map(
78
+ n.externalApprovalAddresses = m.useApprovalUtxoData?.map(
79
79
  ({ externalApprovalAddresses: t }) => t
80
80
  ) ?? [s, s, s];
81
81
  }
82
- k || (k = ft(
83
- z,
82
+ f || (f = kt(
83
+ v,
84
84
  a.map((t) => t[0].erc20TokenAddress)
85
85
  ));
86
- const q = H(a, m, !0);
87
- f || (f = it(q, n)), Ht.log({ publicSignalCount: C }), o.calldataHash = rt(
86
+ const W = g(a, o, !0);
87
+ k || (k = it(W, m)), gt.log({ publicSignalCount: T }), n.calldataHash = rt(
88
88
  d,
89
- C,
90
- P,
89
+ T,
90
+ z,
91
91
  c,
92
- b,
93
92
  D,
94
- g,
95
- z,
93
+ b,
94
+ H,
96
95
  v,
97
- f,
98
- l,
99
- n,
96
+ w,
100
97
  k,
101
- R,
102
- u
103
- );
104
- const { zkCallData: K } = await ct(d, r, h, o, J), V = st(B, A), L = dt(
98
+ l,
99
+ m,
100
+ f,
101
+ u,
102
+ B
103
+ ), console.log("hinkalDeposit k2 pre proof", { input: n, generateProofRemotely: P });
104
+ const { zkCallData: K } = await ct(d, r, C, n, P);
105
+ console.log("hinkalDeposit k2 post proof");
106
+ const V = st(O, A), L = dt(
107
+ Z,
105
108
  N,
106
- F,
107
- O,
108
109
  E,
109
- q,
110
- S,
111
- m,
112
- g,
113
- C,
114
- b,
115
- c,
116
- D,
117
- P,
118
- o.calldataHash,
110
+ F,
111
+ W,
119
112
  p,
113
+ o,
114
+ H,
115
+ T,
116
+ D,
117
+ c,
118
+ b,
119
+ z,
120
+ n.calldataHash,
121
+ S,
120
122
  V,
121
123
  l,
122
- v,
124
+ w,
123
125
  void 0,
124
- n,
125
- f,
126
+ m,
126
127
  k,
127
- R,
128
- u
128
+ f,
129
+ u,
130
+ B
129
131
  ), U = {
130
132
  tokenNumber: a.length,
131
133
  nullifierAmount: a[0].length,
132
- outputAmount: m[0].length
134
+ outputAmount: o[0].length
133
135
  };
134
- return { zkCallData: K, circomData: L, dimData: U, encryptedOutputs: g };
136
+ return { zkCallData: K, circomData: L, dimData: U, encryptedOutputs: H };
135
137
  };
136
138
  export {
137
- yt as constructZkProof
139
+ Bt as constructZkProof
138
140
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../error-handling/logger.cjs"),c=require("./generateZkProofEnclave.cjs"),f=require("./generateZkProofSelf.cjs"),l=async(e,r,o,t,n)=>{if(n)try{return await c.generateZkProofEnclave(e,r,o,t)}catch(a){g.Logger.error("enclave proof error",a)}return f.generateZkProofSelf(e,r,o,t)};exports.generateZkProof=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../error-handling/logger.cjs"),c=require("./generateZkProofEnclave.cjs"),g=require("./generateZkProofSelf.cjs"),f=async(e,r,o,t,l)=>{if(l)try{return await c.generateZkProofEnclave(e,r,o,t)}catch(n){console.log("hinkalDeposit k3 enclave proof error",n),a.Logger.error("enclave proof error",n)}return console.log("hinkalDeposit k4 self proof"),g.generateZkProofSelf(e,r,o,t)};exports.generateZkProof=f;
@@ -1,15 +1,15 @@
1
1
  import { Logger as n } from "../../error-handling/logger.mjs";
2
- import { generateZkProofEnclave as c } from "./generateZkProofEnclave.mjs";
3
- import { generateZkProofSelf as g } from "./generateZkProofSelf.mjs";
4
- const p = async (r, o, e, t, f) => {
5
- if (f)
2
+ import { generateZkProofEnclave as a } from "./generateZkProofEnclave.mjs";
3
+ import { generateZkProofSelf as c } from "./generateZkProofSelf.mjs";
4
+ const s = async (o, r, e, t, l) => {
5
+ if (l)
6
6
  try {
7
- return await c(r, o, e, t);
8
- } catch (a) {
9
- n.error("enclave proof error", a);
7
+ return await a(o, r, e, t);
8
+ } catch (f) {
9
+ console.log("hinkalDeposit k3 enclave proof error", f), n.error("enclave proof error", f);
10
10
  }
11
- return g(r, o, e, t);
11
+ return console.log("hinkalDeposit k4 self proof"), c(o, r, e, t);
12
12
  };
13
13
  export {
14
- p as generateZkProof
14
+ s as generateZkProof
15
15
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./getZKFiles.cjs"),k=require("../../webworker/performTaskWithWorker.cjs"),c=require("../../webworker/snarkjsWorker/snarkjsWorker.types.cjs"),y=require("../../webworker/worker.registry.cjs"),S=async(r,e,t,a)=>{const s=o.getWASMFile(r,t,e),n=o.getZKeyFile(r,t,e),{publicSignals:i,zkCallData:l}=await k.performTaskWithWorker({type:y.WorkerVariant.SnarkJS,payload:{type:c.SnarkJSWorkerActionType.FULL_PROVE,data:{input:a,chainId:e,wasmFilePath:s,zKeyFilePath:n}}});return{zkCallData:l,publicSignals:i}};exports.generateZkProofSelf=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./getZKFiles.cjs"),k=require("../../webworker/performTaskWithWorker.cjs"),c=require("../../webworker/snarkjsWorker/snarkjsWorker.types.cjs"),y=require("../../webworker/worker.registry.cjs"),g=async(r,e,t,o)=>{const a=l.getWASMFile(r,t,e),s=l.getZKeyFile(r,t,e);console.log("hinkalDeposit k5 self proof",{input:o,wasmFilePath:a,zKeyFilePath:s});const{publicSignals:n,zkCallData:i}=await k.performTaskWithWorker({type:y.WorkerVariant.SnarkJS,payload:{type:c.SnarkJSWorkerActionType.FULL_PROVE,data:{input:o,chainId:e,wasmFilePath:a,zKeyFilePath:s}}});return{zkCallData:i,publicSignals:n}};exports.generateZkProofSelf=g;
@@ -1,17 +1,19 @@
1
- import { getWASMFile as m, getZKeyFile as n } from "./getZKFiles.mjs";
2
- import { performTaskWithWorker as k } from "../../webworker/performTaskWithWorker.mjs";
3
- import { SnarkJSWorkerActionType as s } from "../../webworker/snarkjsWorker/snarkjsWorker.types.mjs";
4
- import { WorkerVariant as y } from "../../webworker/worker.registry.mjs";
5
- const W = async (o, t, r, a) => {
6
- const e = m(o, r, t), l = n(o, r, t), { publicSignals: p, zkCallData: i } = await k({
7
- type: y.SnarkJS,
1
+ import { getWASMFile as k, getZKeyFile as n } from "./getZKFiles.mjs";
2
+ import { performTaskWithWorker as s } from "../../webworker/performTaskWithWorker.mjs";
3
+ import { SnarkJSWorkerActionType as m } from "../../webworker/snarkjsWorker/snarkjsWorker.types.mjs";
4
+ import { WorkerVariant as f } from "../../webworker/worker.registry.mjs";
5
+ const F = async (t, o, r, e) => {
6
+ const a = k(t, r, o), l = n(t, r, o);
7
+ console.log("hinkalDeposit k5 self proof", { input: e, wasmFilePath: a, zKeyFilePath: l });
8
+ const { publicSignals: p, zkCallData: i } = await s({
9
+ type: f.SnarkJS,
8
10
  payload: {
9
- type: s.FULL_PROVE,
10
- data: { input: a, chainId: t, wasmFilePath: e, zKeyFilePath: l }
11
+ type: m.FULL_PROVE,
12
+ data: { input: e, chainId: o, wasmFilePath: a, zKeyFilePath: l }
11
13
  }
12
14
  });
13
15
  return { zkCallData: i, publicSignals: p };
14
16
  };
15
17
  export {
16
- W as generateZkProofSelf
18
+ F as generateZkProofSelf
17
19
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../data-structures/merkle-tree/MerkleTree.cjs"),C=require("../../data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs"),g=require("../../webworker/performTaskWithWorker.cjs"),m=require("../../webworker/worker.registry.cjs"),h=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),A=require("./fetchMerkleTreeSiblings.cjs"),H=require("../utils/amounts.utils.cjs"),P=require("../../crypto/poseidon.cjs"),W=require("../../constants/vite.constants.cjs"),_=require("./fetchOnChainRootHashes.cjs"),p=async(e,a)=>{const s=e.getRootHash();if(s===void 0)throw new Error("Root hash not available from patched merkle tree");const o=await g.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES,data:{accessKey:a,merkleTreeAccessTokenSerialized:e.toJSON()}}});return{accessTokenSiblings:o.accessTokenSiblings,accessTokenSiblingSides:o.accessTokenSiblingSides,rootHashAccessToken:s}},N=async(e,a,s,o,i,n)=>{console.log("hinkalDeposit sa5");const r=s.getAccessKey();console.log("hinkalDeposit sa6",{accessKey:r});const t=C.getPatchedAccessTokenMerkleTree(a,r,i,n),k=e.getRootHash();if(k===void 0)throw new Error("Root hash not available from hinkal merkle tree");let l,c;return W.isNode?(l=await p(t,r),c=await g.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:o,merkleTreeSerialized:e.toJSON()}}})):[l,c]=await Promise.all([p(t,r),g.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:o,merkleTreeSerialized:e.toJSON()}}})]),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,accessTokenSiblings:l.accessTokenSiblings,accessTokenSiblingSides:l.accessTokenSiblingSides,rootHashHinkal:k,rootHashAccessToken:l.rootHashAccessToken}},R=async(e,a,s,o,i)=>{console.log("hinkalDeposit sa3");const n=a.getAccessKey();if(console.log("hinkalDeposit sa4",{accessKey:n}),!i||o){const k=u.MerkleTree.create(P.poseidonFunction,0n),l=C.getPatchedAccessTokenMerkleTree(k,n,o,i),[c,S]=await Promise.all([p(l,n),A.fetchMerkleTreeSiblings(e,s,n)]);return{inCommitmentSiblings:S.inCommitmentSiblings,inCommitmentSiblingSides:S.inCommitmentSiblingSides,accessTokenSiblings:c.accessTokenSiblings,accessTokenSiblingSides:c.accessTokenSiblingSides,rootHashHinkal:H.toBigInt(S.rootHashHinkal),rootHashAccessToken:c.rootHashAccessToken}}const t=await A.fetchMerkleTreeSiblings(e,s,n);return{inCommitmentSiblings:t.inCommitmentSiblings,inCommitmentSiblingSides:t.inCommitmentSiblingSides,accessTokenSiblings:t.accessTokenSiblings,accessTokenSiblingSides:t.accessTokenSiblingSides,rootHashHinkal:H.toBigInt(t.rootHashHinkal),rootHashAccessToken:H.toBigInt(t.rootHashAccessToken)}},I=async(e,a,s)=>{if(!a||!s)return!1;try{const o=a.getRootHash(),i=s.getRootHash();if(!o||!i)return!1;const{hinkalRootHash:n,accessTokenRootHash:r}=await _.fetchOnChainRootHashes(e);return o===n&&i===r}catch{return!1}},y=async(e,a,s,o,i,n,r)=>{const t=await I(e,n,r);return console.log("hinkalDeposit sa2",{isLocalFresh:t}),t?N(n,r,a,s,o,i):R(e,a,s,o,i)},M=async(e,a,s,o,i,n,r,t,k)=>{if(W.isNode){const{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:S,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d}=await y(e,o,i,n,r,a,s),f=await g.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:i,onChainCreation:t,proverVersion:k}}});return{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:S,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d,inNullifiers:f}}else{const[{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:S,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d},f]=await Promise.all([y(e,o,i,n,r,a,s),g.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:i,onChainCreation:t,proverVersion:k}}})]);return{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:S,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d,inNullifiers:f}}};exports.getDataFromWorkers=M;exports.getMerkleTreeSiblingsAndRootHashes=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("../../data-structures/merkle-tree/MerkleTree.cjs"),A=require("../../data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs"),S=require("../../webworker/performTaskWithWorker.cjs"),m=require("../../webworker/worker.registry.cjs"),h=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),u=require("./fetchMerkleTreeSiblings.cjs"),H=require("../utils/amounts.utils.cjs"),P=require("../../crypto/poseidon.cjs"),C=require("../../constants/vite.constants.cjs"),R=require("./fetchOnChainRootHashes.cjs"),p=async(e,a)=>{const o=e.getRootHash();if(console.log("pre calculate access token siblings and root hash",{rootHash:o,patchedMerkleTree:e}),o===void 0)throw new Error("Root hash not available from patched merkle tree");const s=await S.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES,data:{accessKey:a,merkleTreeAccessTokenSerialized:e.toJSON()}}});return{accessTokenSiblings:s.accessTokenSiblings,accessTokenSiblingSides:s.accessTokenSiblingSides,rootHashAccessToken:o}},_=async(e,a,o,s,i,n)=>{console.log("hinkalDeposit sa5");const r=o.getAccessKey();console.log("hinkalDeposit sa6",{accessKey:r});const t=A.getPatchedAccessTokenMerkleTree(a,r,i,n),g=e.getRootHash();if(g===void 0)throw new Error("Root hash not available from hinkal merkle tree");let l,c;return C.isNode?(l=await p(t,r),c=await S.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:s,merkleTreeSerialized:e.toJSON()}}})):[l,c]=await Promise.all([p(t,r),S.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:s,merkleTreeSerialized:e.toJSON()}}})]),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,accessTokenSiblings:l.accessTokenSiblings,accessTokenSiblingSides:l.accessTokenSiblingSides,rootHashHinkal:g,rootHashAccessToken:l.rootHashAccessToken}},N=async(e,a,o,s,i)=>{console.log("hinkalDeposit sa3");const n=a.getAccessKey();if(console.log("hinkalDeposit sa4",{accessKey:n}),!i||s){const g=W.MerkleTree.create(P.poseidonFunction,0n),l=A.getPatchedAccessTokenMerkleTree(g,n,s,i);console.log("pre calculating access token siblings and root hash",{accessKey:n});const[c,k]=await Promise.all([p(l,n),u.fetchMerkleTreeSiblings(e,o,n)]);return console.log("post calculating access token siblings and root hash",{accessTokenResult:c,siblingsResponse:k}),{inCommitmentSiblings:k.inCommitmentSiblings,inCommitmentSiblingSides:k.inCommitmentSiblingSides,accessTokenSiblings:c.accessTokenSiblings,accessTokenSiblingSides:c.accessTokenSiblingSides,rootHashHinkal:H.toBigInt(k.rootHashHinkal),rootHashAccessToken:c.rootHashAccessToken}}const t=await u.fetchMerkleTreeSiblings(e,o,n);return{inCommitmentSiblings:t.inCommitmentSiblings,inCommitmentSiblingSides:t.inCommitmentSiblingSides,accessTokenSiblings:t.accessTokenSiblings,accessTokenSiblingSides:t.accessTokenSiblingSides,rootHashHinkal:H.toBigInt(t.rootHashHinkal),rootHashAccessToken:H.toBigInt(t.rootHashAccessToken)}},I=async(e,a,o)=>{if(!a||!o)return!1;try{const s=a.getRootHash(),i=o.getRootHash();if(!s||!i)return!1;const{hinkalRootHash:n,accessTokenRootHash:r}=await R.fetchOnChainRootHashes(e);return s===n&&i===r}catch{return!1}},y=async(e,a,o,s,i,n,r)=>{const t=await I(e,n,r);return console.log("hinkalDeposit sa2",{isLocalFresh:t}),t?_(n,r,a,o,s,i):N(e,a,o,s,i)},M=async(e,a,o,s,i,n,r,t,g)=>{if(C.isNode){const{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:k,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d}=await y(e,s,i,n,r,a,o),f=await S.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:i,onChainCreation:t,proverVersion:g}}});return{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:k,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d,inNullifiers:f}}else{const[{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:k,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d},f]=await Promise.all([y(e,s,i,n,r,a,o),S.performTaskWithWorker({type:m.WorkerVariant.ZKProof,payload:{type:h.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:i,onChainCreation:t,proverVersion:g}}})]);return{inCommitmentSiblings:l,inCommitmentSiblingSides:c,accessTokenSiblings:k,accessTokenSiblingSides:T,rootHashHinkal:b,rootHashAccessToken:d,inNullifiers:f}}};exports.getDataFromWorkers=M;exports.getMerkleTreeSiblingsAndRootHashes=y;
@@ -4,15 +4,15 @@ import { performTaskWithWorker as g } from "../../webworker/performTaskWithWorke
4
4
  import { WorkerVariant as k } from "../../webworker/worker.registry.mjs";
5
5
  import { ZKProofWorkerActionType as h } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
6
6
  import { fetchMerkleTreeSiblings as C } from "./fetchMerkleTreeSiblings.mjs";
7
- import { toBigInt as d } from "../utils/amounts.utils.mjs";
7
+ import { toBigInt as H } from "../utils/amounts.utils.mjs";
8
8
  import { poseidonFunction as I } from "../../crypto/poseidon.mjs";
9
9
  import { isNode as N } from "../../constants/vite.constants.mjs";
10
10
  import { fetchOnChainRootHashes as _ } from "./fetchOnChainRootHashes.mjs";
11
11
  const p = async (o, a) => {
12
- const e = o.getRootHash();
13
- if (e === void 0)
12
+ const s = o.getRootHash();
13
+ if (console.log("pre calculate access token siblings and root hash", { rootHash: s, patchedMerkleTree: o }), s === void 0)
14
14
  throw new Error("Root hash not available from patched merkle tree");
15
- const s = await g({
15
+ const e = await g({
16
16
  type: k.ZKProof,
17
17
  payload: {
18
18
  type: h.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES,
@@ -23,28 +23,28 @@ const p = async (o, a) => {
23
23
  }
24
24
  });
25
25
  return {
26
- accessTokenSiblings: s.accessTokenSiblings,
27
- accessTokenSiblingSides: s.accessTokenSiblingSides,
28
- rootHashAccessToken: e
26
+ accessTokenSiblings: e.accessTokenSiblings,
27
+ accessTokenSiblingSides: e.accessTokenSiblingSides,
28
+ rootHashAccessToken: s
29
29
  };
30
- }, w = async (o, a, e, s, i, n) => {
30
+ }, w = async (o, a, s, e, n, i) => {
31
31
  console.log("hinkalDeposit sa5");
32
- const c = e.getAccessKey();
32
+ const c = s.getAccessKey();
33
33
  console.log("hinkalDeposit sa6", { accessKey: c });
34
34
  const t = A(
35
35
  a,
36
36
  c,
37
- i,
38
- n
39
- ), m = o.getRootHash();
40
- if (m === void 0)
37
+ n,
38
+ i
39
+ ), S = o.getRootHash();
40
+ if (S === void 0)
41
41
  throw new Error("Root hash not available from hinkal merkle tree");
42
42
  let r, l;
43
43
  return N ? (r = await p(t, c), l = await g({
44
44
  type: k.ZKProof,
45
45
  payload: {
46
46
  type: h.CALC_COMMITMENTS_SIBLING_AND_SIDES,
47
- data: { inputUtxosSerialized: s, merkleTreeSerialized: o.toJSON() }
47
+ data: { inputUtxosSerialized: e, merkleTreeSerialized: o.toJSON() }
48
48
  }
49
49
  })) : [r, l] = await Promise.all([
50
50
  p(t, c),
@@ -52,7 +52,7 @@ const p = async (o, a) => {
52
52
  type: k.ZKProof,
53
53
  payload: {
54
54
  type: h.CALC_COMMITMENTS_SIBLING_AND_SIDES,
55
- data: { inputUtxosSerialized: s, merkleTreeSerialized: o.toJSON() }
55
+ data: { inputUtxosSerialized: e, merkleTreeSerialized: o.toJSON() }
56
56
  }
57
57
  })
58
58
  ]), {
@@ -60,132 +60,134 @@ const p = async (o, a) => {
60
60
  inCommitmentSiblingSides: l.inCommitmentSiblingSides,
61
61
  accessTokenSiblings: r.accessTokenSiblings,
62
62
  accessTokenSiblingSides: r.accessTokenSiblingSides,
63
- rootHashHinkal: m,
63
+ rootHashHinkal: S,
64
64
  rootHashAccessToken: r.rootHashAccessToken
65
65
  };
66
- }, D = async (o, a, e, s, i) => {
66
+ }, D = async (o, a, s, e, n) => {
67
67
  console.log("hinkalDeposit sa3");
68
- const n = a.getAccessKey();
69
- if (console.log("hinkalDeposit sa4", { accessKey: n }), !i || s) {
70
- const m = R.create(I, 0n), r = A(
71
- m,
72
- n,
73
- s,
74
- i
75
- ), [l, S] = await Promise.all([
76
- p(r, n),
77
- C(o, e, n)
68
+ const i = a.getAccessKey();
69
+ if (console.log("hinkalDeposit sa4", { accessKey: i }), !n || e) {
70
+ const S = R.create(I, 0n), r = A(
71
+ S,
72
+ i,
73
+ e,
74
+ n
75
+ );
76
+ console.log("pre calculating access token siblings and root hash", { accessKey: i });
77
+ const [l, m] = await Promise.all([
78
+ p(r, i),
79
+ C(o, s, i)
78
80
  ]);
79
- return {
80
- inCommitmentSiblings: S.inCommitmentSiblings,
81
- inCommitmentSiblingSides: S.inCommitmentSiblingSides,
81
+ return console.log("post calculating access token siblings and root hash", { accessTokenResult: l, siblingsResponse: m }), {
82
+ inCommitmentSiblings: m.inCommitmentSiblings,
83
+ inCommitmentSiblingSides: m.inCommitmentSiblingSides,
82
84
  accessTokenSiblings: l.accessTokenSiblings,
83
85
  accessTokenSiblingSides: l.accessTokenSiblingSides,
84
- rootHashHinkal: d(S.rootHashHinkal),
86
+ rootHashHinkal: H(m.rootHashHinkal),
85
87
  rootHashAccessToken: l.rootHashAccessToken
86
88
  };
87
89
  }
88
- const t = await C(o, e, n);
90
+ const t = await C(o, s, i);
89
91
  return {
90
92
  inCommitmentSiblings: t.inCommitmentSiblings,
91
93
  inCommitmentSiblingSides: t.inCommitmentSiblingSides,
92
94
  accessTokenSiblings: t.accessTokenSiblings,
93
95
  accessTokenSiblingSides: t.accessTokenSiblingSides,
94
- rootHashHinkal: d(t.rootHashHinkal),
95
- rootHashAccessToken: d(t.rootHashAccessToken)
96
+ rootHashHinkal: H(t.rootHashHinkal),
97
+ rootHashAccessToken: H(t.rootHashAccessToken)
96
98
  };
97
- }, L = async (o, a, e) => {
98
- if (!a || !e)
99
+ }, L = async (o, a, s) => {
100
+ if (!a || !s)
99
101
  return !1;
100
102
  try {
101
- const s = a.getRootHash(), i = e.getRootHash();
102
- if (!s || !i)
103
+ const e = a.getRootHash(), n = s.getRootHash();
104
+ if (!e || !n)
103
105
  return !1;
104
- const { hinkalRootHash: n, accessTokenRootHash: c } = await _(o);
105
- return s === n && i === c;
106
+ const { hinkalRootHash: i, accessTokenRootHash: c } = await _(o);
107
+ return e === i && n === c;
106
108
  } catch {
107
109
  return !1;
108
110
  }
109
- }, y = async (o, a, e, s, i, n, c) => {
110
- const t = await L(o, n, c);
111
+ }, y = async (o, a, s, e, n, i, c) => {
112
+ const t = await L(o, i, c);
111
113
  return console.log("hinkalDeposit sa2", { isLocalFresh: t }), t ? w(
112
- n,
114
+ i,
113
115
  c,
114
116
  a,
115
- e,
116
117
  s,
117
- i
118
- ) : D(o, a, e, s, i);
119
- }, v = async (o, a, e, s, i, n, c, t, m) => {
118
+ e,
119
+ n
120
+ ) : D(o, a, s, e, n);
121
+ }, v = async (o, a, s, e, n, i, c, t, S) => {
120
122
  if (N) {
121
123
  const {
122
124
  inCommitmentSiblings: r,
123
125
  inCommitmentSiblingSides: l,
124
- accessTokenSiblings: S,
126
+ accessTokenSiblings: m,
125
127
  accessTokenSiblingSides: b,
126
128
  rootHashHinkal: T,
127
- rootHashAccessToken: f
129
+ rootHashAccessToken: d
128
130
  } = await y(
129
131
  o,
130
- s,
131
- i,
132
+ e,
132
133
  n,
134
+ i,
133
135
  c,
134
136
  a,
135
- e
136
- ), H = await g({
137
+ s
138
+ ), f = await g({
137
139
  type: k.ZKProof,
138
140
  payload: {
139
141
  type: h.BUILD_IN_NULLIFIERS,
140
- data: { inputUtxosSerialized: i, onChainCreation: t, proverVersion: m }
142
+ data: { inputUtxosSerialized: n, onChainCreation: t, proverVersion: S }
141
143
  }
142
144
  });
143
145
  return {
144
146
  inCommitmentSiblings: r,
145
147
  inCommitmentSiblingSides: l,
146
- accessTokenSiblings: S,
148
+ accessTokenSiblings: m,
147
149
  accessTokenSiblingSides: b,
148
150
  rootHashHinkal: T,
149
- rootHashAccessToken: f,
150
- inNullifiers: H
151
+ rootHashAccessToken: d,
152
+ inNullifiers: f
151
153
  };
152
154
  } else {
153
155
  const [
154
156
  {
155
157
  inCommitmentSiblings: r,
156
158
  inCommitmentSiblingSides: l,
157
- accessTokenSiblings: S,
159
+ accessTokenSiblings: m,
158
160
  accessTokenSiblingSides: b,
159
161
  rootHashHinkal: T,
160
- rootHashAccessToken: f
162
+ rootHashAccessToken: d
161
163
  },
162
- H
164
+ f
163
165
  ] = await Promise.all([
164
166
  y(
165
167
  o,
166
- s,
167
- i,
168
+ e,
168
169
  n,
170
+ i,
169
171
  c,
170
172
  a,
171
- e
173
+ s
172
174
  ),
173
175
  g({
174
176
  type: k.ZKProof,
175
177
  payload: {
176
178
  type: h.BUILD_IN_NULLIFIERS,
177
- data: { inputUtxosSerialized: i, onChainCreation: t, proverVersion: m }
179
+ data: { inputUtxosSerialized: n, onChainCreation: t, proverVersion: S }
178
180
  }
179
181
  })
180
182
  ]);
181
183
  return {
182
184
  inCommitmentSiblings: r,
183
185
  inCommitmentSiblingSides: l,
184
- accessTokenSiblings: S,
186
+ accessTokenSiblings: m,
185
187
  accessTokenSiblingSides: b,
186
188
  rootHashHinkal: T,
187
- rootHashAccessToken: f,
188
- inNullifiers: H
189
+ rootHashAccessToken: d,
190
+ inNullifiers: f
189
191
  };
190
192
  }
191
193
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "h_test_1",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1 +1 @@
1
- "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/snarkjsWorkerLauncher-BaRacf89.js").href:new URL("../../assets/snarkjsWorkerLauncher-BaRacf89.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
1
+ "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/snarkjsWorkerLauncher-DA6ytEz_.js").href:new URL("../../assets/snarkjsWorkerLauncher-DA6ytEz_.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
@@ -1,4 +1,4 @@
1
- const r = "" + new URL("../../assets/snarkjsWorkerLauncher-BaRacf89.js", import.meta.url).href;
1
+ const r = "" + new URL("../../assets/snarkjsWorkerLauncher-DA6ytEz_.js", import.meta.url).href;
2
2
  export {
3
3
  r as default
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("../workerProxy.cjs"),i=require("../../constants/vite.constants.cjs"),O=require("snarkjs"),F=require("../../data-structures/http/HttpClient.cjs");require("axios");const b=require("../../constants/chains.constants.cjs");function S(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const w=S(O),c=new M.WorkerProxy,k=async e=>new Uint8Array(await F.httpClient.get(e,{responseType:"arraybuffer"})),$=async e=>{try{const{input:a,wasmFilePath:t,zKeyFilePath:r,chainId:n}=e.payload.data,{hostLocation:{origin:u},constants:{isDevelopment:v,chains:{chainIds:l}}}=e.metadata;let s=t,o=r,d,h;const f=s.startsWith("https://");if(i.isNode&&!f){i.isWebpack?(s=`libs/hardhat/test/circuits/${t}`,o=`libs/hardhat/test/circuits/${r}`):!i.isWebpack&&v&&(n===b.chainIds.solanaLocalnet?(s=`tests/circuits/${t}`,o=`tests/circuits/${r}`):(s=`test/circuits/${t}`,o=`test/circuits/${r}`));const g=require("path");s=g.resolve(s),o=g.resolve(o)}i.isNode&&f?(d=await k(s),h=await k(o)):(n===l.localhost||n===b.chainIds.solanaLocalnet||n===l.tronLocalnet)&&!i.isNode&&(s=`${u}/${t}`,o=`${u}/${r}`);const{proof:p,publicSignals:y}=await w.groth16.fullProve(a,d??s,h??o,void 0,void 0,i.isNode&&n===l.tronLocalnet?{singleThread:!0}:void 0),P=await w.groth16.exportSolidityCallData(p,y),m=JSON.parse(`[${P}]`);c.postMessageToMainThread({zkCallData:m,proof:p,publicSignals:y})}catch(a){console.error(a),c.postErrorToMainThread(a)}};c.attachWorkerSideOnMessage($);exports.default=c;exports.onWorkerMessage=$;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const j=require("../workerProxy.cjs"),i=require("../../constants/vite.constants.cjs"),M=require("snarkjs"),O=require("../../data-structures/http/HttpClient.cjs");require("axios");const y=require("../../constants/chains.constants.cjs");function W(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const b=W(M),c=new j.WorkerProxy,w=async e=>new Uint8Array(await O.httpClient.get(e,{responseType:"arraybuffer"})),$=async e=>{try{const{input:o,wasmFilePath:t,zKeyFilePath:r,chainId:n}=e.payload.data,{hostLocation:{origin:h},constants:{isDevelopment:v,chains:{chainIds:l}}}=e.metadata;let s=t,a=r,f,g;const u=s.startsWith("https://");if(console.log("hinkalDeposit k6 snarkjs worker logic",{isNode:i.isNode,isOnline:u,isWebpack:i.isWebpack}),i.isNode&&!u){i.isWebpack?(s=`libs/hardhat/test/circuits/${t}`,a=`libs/hardhat/test/circuits/${r}`):!i.isWebpack&&v&&(n===y.chainIds.solanaLocalnet?(s=`tests/circuits/${t}`,a=`tests/circuits/${r}`):(s=`test/circuits/${t}`,a=`test/circuits/${r}`));const k=require("path");s=k.resolve(s),a=k.resolve(a)}i.isNode&&u?(f=await w(s),g=await w(a)):(n===l.localhost||n===y.chainIds.solanaLocalnet||n===l.tronLocalnet)&&!i.isNode&&(s=`${h}/${t}`,a=`${h}/${r}`),console.log("pre pr ",{chainId:n});const{proof:d,publicSignals:p}=await b.groth16.fullProve(o,f??s,g??a,void 0,void 0,i.isNode&&n===l.tronLocalnet?{singleThread:!0}:void 0);console.log("post proof",{proof:d,publicSignals:p});const P=await b.groth16.exportSolidityCallData(d,p),m=JSON.parse(`[${P}]`);c.postMessageToMainThread({zkCallData:m,proof:d,publicSignals:p})}catch(o){console.error("snarkjs worker logic error",o),c.postErrorToMainThread(o)}};c.attachWorkerSideOnMessage($);exports.default=c;exports.onWorkerMessage=$;
@@ -1,42 +1,44 @@
1
1
  import { WorkerProxy as T } from "../workerProxy.mjs";
2
- import { isNode as n, isWebpack as w } from "../../constants/vite.constants.mjs";
3
- import * as $ from "snarkjs";
2
+ import { isNode as s, isWebpack as f } from "../../constants/vite.constants.mjs";
3
+ import * as w from "snarkjs";
4
4
  import { httpClient as b } from "../../data-structures/http/HttpClient.mjs";
5
5
  import "axios";
6
- import { chainIds as g } from "../../constants/chains.constants.mjs";
7
- const c = new T(), k = async (o) => new Uint8Array(await b.get(o, { responseType: "arraybuffer" })), z = async (o) => {
6
+ import { chainIds as y } from "../../constants/chains.constants.mjs";
7
+ const d = new T(), $ = async (i) => new Uint8Array(await b.get(i, { responseType: "arraybuffer" })), z = async (i) => {
8
8
  try {
9
- const { input: i, wasmFilePath: e, zKeyFilePath: s, chainId: r } = o.payload.data, {
10
- hostLocation: { origin: h },
9
+ const { input: l, wasmFilePath: r, zKeyFilePath: a, chainId: o } = i.payload.data, {
10
+ hostLocation: { origin: u },
11
11
  constants: {
12
12
  isDevelopment: F,
13
- chains: { chainIds: l }
13
+ chains: { chainIds: n }
14
14
  }
15
- } = o.metadata;
16
- let t = e, a = s, p, f;
17
- const d = t.startsWith("https://");
18
- if (n && !d) {
19
- w ? (t = `libs/hardhat/test/circuits/${e}`, a = `libs/hardhat/test/circuits/${s}`) : !w && F && (r === g.solanaLocalnet ? (t = `tests/circuits/${e}`, a = `tests/circuits/${s}`) : (t = `test/circuits/${e}`, a = `test/circuits/${s}`));
20
- const y = require("path");
21
- t = y.resolve(t), a = y.resolve(a);
15
+ } = i.metadata;
16
+ let t = r, e = a, m, g;
17
+ const c = t.startsWith("https://");
18
+ if (console.log("hinkalDeposit k6 snarkjs worker logic", { isNode: s, isOnline: c, isWebpack: f }), s && !c) {
19
+ f ? (t = `libs/hardhat/test/circuits/${r}`, e = `libs/hardhat/test/circuits/${a}`) : !f && F && (o === y.solanaLocalnet ? (t = `tests/circuits/${r}`, e = `tests/circuits/${a}`) : (t = `test/circuits/${r}`, e = `test/circuits/${a}`));
20
+ const k = require("path");
21
+ t = k.resolve(t), e = k.resolve(e);
22
22
  }
23
- n && d ? (p = await k(t), f = await k(a)) : (r === l.localhost || r === g.solanaLocalnet || r === l.tronLocalnet) && !n && (t = `${h}/${e}`, a = `${h}/${s}`);
24
- const { proof: u, publicSignals: m } = await $.groth16.fullProve(
25
- i,
26
- p ?? t,
27
- f ?? a,
23
+ s && c ? (m = await $(t), g = await $(e)) : (o === n.localhost || o === y.solanaLocalnet || o === n.tronLocalnet) && !s && (t = `${u}/${r}`, e = `${u}/${a}`), console.log("pre pr ", { chainId: o });
24
+ const { proof: h, publicSignals: p } = await w.groth16.fullProve(
25
+ l,
26
+ m ?? t,
27
+ g ?? e,
28
28
  void 0,
29
29
  void 0,
30
- n && r === l.tronLocalnet ? { singleThread: !0 } : void 0
30
+ s && o === n.tronLocalnet ? { singleThread: !0 } : void 0
31
31
  // snarkjs hangs in tronbox enviroment if singleThread: true is not provided, which is weird, since if incorrect input is provided it will error out
32
- ), v = await $.groth16.exportSolidityCallData(u, m), P = JSON.parse(`[${v}]`);
33
- c.postMessageToMainThread({ zkCallData: P, proof: u, publicSignals: m });
34
- } catch (i) {
35
- console.error(i), c.postErrorToMainThread(i);
32
+ );
33
+ console.log("post proof", { proof: h, publicSignals: p });
34
+ const v = await w.groth16.exportSolidityCallData(h, p), P = JSON.parse(`[${v}]`);
35
+ d.postMessageToMainThread({ zkCallData: P, proof: h, publicSignals: p });
36
+ } catch (l) {
37
+ console.error("snarkjs worker logic error", l), d.postErrorToMainThread(l);
36
38
  }
37
39
  };
38
- c.attachWorkerSideOnMessage(z);
40
+ d.attachWorkerSideOnMessage(z);
39
41
  export {
40
- c as default,
42
+ d as default,
41
43
  z as onWorkerMessage
42
44
  };
@@ -1 +1 @@
1
- "use strict";const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/zkProofWorkerLauncher-2cfKnA2L.js").href:new URL("../../assets/zkProofWorkerLauncher-2cfKnA2L.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=e;
1
+ "use strict";const r=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/../../assets/zkProofWorkerLauncher-2a1CGTor.js").href:new URL("../../assets/zkProofWorkerLauncher-2a1CGTor.js",document.currentScript&&document.currentScript.src||document.baseURI).href);module.exports=r;
@@ -1,4 +1,4 @@
1
- const r = "" + new URL("../../assets/zkProofWorkerLauncher-2cfKnA2L.js", import.meta.url).href;
1
+ const r = "" + new URL("../../assets/zkProofWorkerLauncher-2a1CGTor.js", import.meta.url).href;
2
2
  export {
3
3
  r as default
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("../../crypto/preProcessing.cjs"),S=require("../../data-structures/utxo/Utxo.cjs"),m=require("../../functions/snarkjs/common.snarkjs.cjs"),C=require("../workerProxy.cjs"),d=require("./zkProofWorker.types.cjs"),u=require("../../functions/utils/merkleTree.utils.cjs"),t=new C.WorkerProxy,p=r=>{const{inputUtxosSerialized:e,merkleTreeSerialized:a}=r.data,c=u.contructMerkleTreeFromSerialized(a),i=e.map(o=>o.map(l=>new S.Utxo(l))),{inCommitmentSiblings:n,inCommitmentSiblingSides:s}=m.calcCommitmentsSiblingAndSides(i,c);t.postMessageToMainThread({inCommitmentSiblings:n,inCommitmentSiblingSides:s})},T=r=>{const{accessKey:e,merkleTreeAccessTokenSerialized:a}=r.data,c=u.contructMerkleTreeFromSerialized(a),{accessTokenSiblings:i,accessTokenSiblingSides:n}=m.calcAccessTokenSiblingsAndSides(e,c);t.postMessageToMainThread({accessTokenSiblings:i,accessTokenSiblingSides:n})},k=r=>{const{inputUtxosSerialized:e,onChainCreation:a,proverVersion:c}=r.data,i=e.map(s=>s.map(o=>new S.Utxo(o)));let n=[];c==="v1x0"?n=i.map((s,o)=>s.map(l=>a[o]?"0":l.getNullifier())):n=i.map(s=>s.map(o=>o.amount===0n?"0":o.getNullifier())),t.postMessageToMainThread(n)},g=async r=>{try{await A.preProcessing();const{type:e}=r.payload;switch(e){case d.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES:p(r.payload);return;case d.ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:T(r.payload);return;case d.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS:k(r.payload);return;default:throw Error(`Unknown worker message type ${e}`)}}catch(e){console.error(e),t.postErrorToMainThread(e)}};t.attachWorkerSideOnMessage(g);exports.default=t;exports.handleBuildInNullifiers=k;exports.handleCalcAccessTokenSiblingAndSides=T;exports.handleCalcCommitmentsSiblingAndSides=p;exports.onWorkerMessage=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("../../crypto/preProcessing.cjs"),S=require("../../data-structures/utxo/Utxo.cjs"),m=require("../../functions/snarkjs/common.snarkjs.cjs"),C=require("../workerProxy.cjs"),d=require("./zkProofWorker.types.cjs"),u=require("../../functions/utils/merkleTree.utils.cjs"),c=new C.WorkerProxy,k=o=>{const{inputUtxosSerialized:e,merkleTreeSerialized:t}=o.data,a=u.contructMerkleTreeFromSerialized(t),s=e.map(n=>n.map(l=>new S.Utxo(l))),{inCommitmentSiblings:r,inCommitmentSiblingSides:i}=m.calcCommitmentsSiblingAndSides(s,a);c.postMessageToMainThread({inCommitmentSiblings:r,inCommitmentSiblingSides:i})},p=o=>{const{accessKey:e,merkleTreeAccessTokenSerialized:t}=o.data;console.log("worker code a1",{accessKey:e,merkleTreeAccessTokenSerialized:t});const a=u.contructMerkleTreeFromSerialized(t);console.log("worker code a2",{merkleTree:a});const{accessTokenSiblings:s,accessTokenSiblingSides:r}=m.calcAccessTokenSiblingsAndSides(e,a);console.log("worker code a3",{accessTokenSiblings:s,accessTokenSiblingSides:r}),c.postMessageToMainThread({accessTokenSiblings:s,accessTokenSiblingSides:r})},T=o=>{const{inputUtxosSerialized:e,onChainCreation:t,proverVersion:a}=o.data,s=e.map(i=>i.map(n=>new S.Utxo(n)));let r=[];a==="v1x0"?r=s.map((i,n)=>i.map(l=>t[n]?"0":l.getNullifier())):r=s.map(i=>i.map(n=>n.amount===0n?"0":n.getNullifier())),c.postMessageToMainThread(r)},g=async o=>{try{await A.preProcessing();const{type:e}=o.payload;switch(e){case d.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES:k(o.payload);return;case d.ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES:p(o.payload);return;case d.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS:T(o.payload);return;default:throw Error(`Unknown worker message type ${e}`)}}catch(e){console.error(e),c.postErrorToMainThread(e)}};c.attachWorkerSideOnMessage(g);exports.default=c;exports.handleBuildInNullifiers=T;exports.handleCalcAccessTokenSiblingAndSides=p;exports.handleCalcCommitmentsSiblingAndSides=k;exports.onWorkerMessage=g;
@@ -1,25 +1,29 @@
1
1
  import { preProcessing as S } from "../../crypto/preProcessing.mjs";
2
- import { Utxo as p } from "../../data-structures/utxo/Utxo.mjs";
2
+ import { Utxo as d } from "../../data-structures/utxo/Utxo.mjs";
3
3
  import { calcCommitmentsSiblingAndSides as T, calcAccessTokenSiblingsAndSides as g } from "../../functions/snarkjs/common.snarkjs.mjs";
4
4
  import { WorkerProxy as k } from "../workerProxy.mjs";
5
5
  import { ZKProofWorkerActionType as m } from "./zkProofWorker.types.mjs";
6
- import { contructMerkleTreeFromSerialized as d } from "../../functions/utils/merkleTree.utils.mjs";
6
+ import { contructMerkleTreeFromSerialized as p } from "../../functions/utils/merkleTree.utils.mjs";
7
7
  const c = new k(), u = (o) => {
8
- const { inputUtxosSerialized: e, merkleTreeSerialized: t } = o.data, a = d(t), i = e.map(
9
- (r) => r.map((l) => new p(l))
10
- ), { inCommitmentSiblings: n, inCommitmentSiblingSides: s } = T(i, a);
11
- c.postMessageToMainThread({ inCommitmentSiblings: n, inCommitmentSiblingSides: s });
8
+ const { inputUtxosSerialized: e, merkleTreeSerialized: t } = o.data, a = p(t), s = e.map(
9
+ (n) => n.map((l) => new d(l))
10
+ ), { inCommitmentSiblings: r, inCommitmentSiblingSides: i } = T(s, a);
11
+ c.postMessageToMainThread({ inCommitmentSiblings: r, inCommitmentSiblingSides: i });
12
12
  }, C = (o) => {
13
- const { accessKey: e, merkleTreeAccessTokenSerialized: t } = o.data, a = d(t), { accessTokenSiblings: i, accessTokenSiblingSides: n } = g(e, a);
14
- c.postMessageToMainThread({ accessTokenSiblings: i, accessTokenSiblingSides: n });
13
+ const { accessKey: e, merkleTreeAccessTokenSerialized: t } = o.data;
14
+ console.log("worker code a1", { accessKey: e, merkleTreeAccessTokenSerialized: t });
15
+ const a = p(t);
16
+ console.log("worker code a2", { merkleTree: a });
17
+ const { accessTokenSiblings: s, accessTokenSiblingSides: r } = g(e, a);
18
+ console.log("worker code a3", { accessTokenSiblings: s, accessTokenSiblingSides: r }), c.postMessageToMainThread({ accessTokenSiblings: s, accessTokenSiblingSides: r });
15
19
  }, f = (o) => {
16
- const { inputUtxosSerialized: e, onChainCreation: t, proverVersion: a } = o.data, i = e.map(
17
- (s) => s.map((r) => new p(r))
20
+ const { inputUtxosSerialized: e, onChainCreation: t, proverVersion: a } = o.data, s = e.map(
21
+ (i) => i.map((n) => new d(n))
18
22
  );
19
- let n = [];
20
- a === "v1x0" ? n = i.map(
21
- (s, r) => s.map((l) => t[r] ? "0" : l.getNullifier())
22
- ) : n = i.map((s) => s.map((r) => r.amount === 0n ? "0" : r.getNullifier())), c.postMessageToMainThread(n);
23
+ let r = [];
24
+ a === "v1x0" ? r = s.map(
25
+ (i, n) => i.map((l) => t[n] ? "0" : l.getNullifier())
26
+ ) : r = s.map((i) => i.map((n) => n.amount === 0n ? "0" : n.getNullifier())), c.postMessageToMainThread(r);
23
27
  }, A = async (o) => {
24
28
  try {
25
29
  await S();