@kapa123456789/sdk 0.0.82 → 0.0.84

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 (60) hide show
  1. package/common/src/constants/chains.constants.cjs +1 -1
  2. package/common/src/constants/chains.constants.mjs +1 -1
  3. package/common/src/crypto/babyJub.cjs +1 -1
  4. package/common/src/crypto/babyJub.mjs +1 -1
  5. package/common/src/crypto/eddsa.cjs +1 -1
  6. package/common/src/crypto/eddsa.mjs +1 -1
  7. package/common/src/crypto/poseidon.cjs +1 -1
  8. package/common/src/crypto/poseidon.mjs +1 -1
  9. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  10. package/common/src/data-structures/Hinkal/Hinkal.mjs +4 -41
  11. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  12. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +46 -73
  13. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  14. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +16 -37
  15. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  16. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +18 -47
  17. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  18. package/common/src/data-structures/crypto-keys/keys.mjs +8 -2
  19. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  20. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +5 -5
  21. package/common/src/functions/pre-transaction/getFeeStructure.cjs +1 -1
  22. package/common/src/functions/pre-transaction/getFeeStructure.mjs +10 -21
  23. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  24. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +71 -89
  25. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -1
  26. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +8 -17
  27. package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
  28. package/common/src/functions/snarkjs/generateZkProof.mjs +8 -26
  29. package/common/src/functions/utils/evmNetworkFunctions.cjs +1 -1
  30. package/common/src/functions/utils/evmNetworkFunctions.d.ts +1 -0
  31. package/common/src/functions/utils/evmNetworkFunctions.mjs +4 -0
  32. package/common/src/functions/utils/process.utils.cjs +1 -1
  33. package/common/src/functions/utils/process.utils.mjs +6 -10
  34. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  35. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +43 -61
  36. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  37. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +65 -73
  38. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  39. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +14 -22
  40. package/common/src/types/scheduled-transactions.types.d.ts +1 -0
  41. package/common/src/webworker/logError-F50ubgnd.js +2 -0
  42. package/common/src/webworker/package.json +1 -1
  43. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  44. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  45. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  46. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  47. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  48. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  49. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  50. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  51. package/common/src/webworker/{workerProxy-D22p2w2G.js → workerProxy-BP_AUL0j.js} +1 -1
  52. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  53. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  54. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  55. package/functions/integrations/swapApi.cjs +1 -1
  56. package/functions/integrations/swapApi.mjs +4 -9
  57. package/package.json +1 -1
  58. package/services/Hinkal.cjs +1 -1
  59. package/services/Hinkal.mjs +3 -42
  60. package/common/src/webworker/logError-o9XP6THu.js +0 -2
@@ -9,91 +9,83 @@ import { simulateTronTransaction as p } from "../../utils/tronSimulation.utils.m
9
9
  import { waitForTronErc20Approvals as m } from "./waitForErc20Approvals.mjs";
10
10
  //#region libs/shared/common/src/functions/web3/functionCalls/transactCallDirectTron.ts
11
11
  var h = async (h, g, _, v, y, b, x, S, C, w = !0) => {
12
- console.log("[transactCallDirectTron] start", { chainId: g });
13
- try {
14
- let T = Array.isArray(_) ? _ : [_], E = Array.isArray(v) ? v : [v];
15
- if (T.length !== E.length) throw Error("token and amount length mismatch");
16
- let D = h.getTronWeb(), O = await h.getEthereumAddressByChain(g), { hinkalAddress: k, hinkalABI: A } = e[g].contractData, j = D.contract(A, u(k)), M = S ?? j, N = C ?? j;
17
- if (!M.address) throw Error("contractForApproval address not set");
18
- if (!N.address) throw Error("contractForTransaction address not set");
19
- let P = E.findIndex(({ erc20TokenAddress: e }) => r(e, n)), F = P === -1 ? 0n : T[P], I = F > 0n ? F : 0n;
20
- if (E.some(({ erc20TokenAddress: e }, t) => !r(e, n) && T[t] > 0n)) {
21
- console.log("[transactCallDirectTron] token approvals");
22
- let e = M.address;
23
- if (!e) throw Error("token approval spender not set");
24
- let i = [];
25
- for (let o = 0; o < E.length; o += 1) {
26
- let s = E[o], c = T[o];
27
- if (c > 0n && !r(s.erc20TokenAddress, n)) {
28
- let n = u(s.erc20TokenAddress), r = await D.contract(a, n).allowance(O, e).call({ from: O });
29
- if (BigInt(String(r)) < c) {
30
- let { transaction: r } = await D.transactionBuilder.triggerSmartContract(n, "approve(address,uint256)", { feeLimit: t }, [{
31
- type: "address",
32
- value: e
33
- }, {
34
- type: "uint256",
35
- value: c.toString()
36
- }], O), a = await D.trx.sign(r), o = await D.trx.sendRawTransaction(a);
37
- if (!o.result) {
38
- let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
39
- throw Error(`Tron token approval failed: ${e} - ${t}`);
40
- }
41
- i.push({
42
- tokenAddress: n,
43
- requiredAmount: c
44
- });
12
+ let T = Array.isArray(_) ? _ : [_], E = Array.isArray(v) ? v : [v];
13
+ if (T.length !== E.length) throw Error("token and amount length mismatch");
14
+ let D = h.getTronWeb(), O = await h.getEthereumAddressByChain(g), { hinkalAddress: k, hinkalABI: A } = e[g].contractData, j = D.contract(A, u(k)), M = S ?? j, N = C ?? j;
15
+ if (!M.address) throw Error("contractForApproval address not set");
16
+ if (!N.address) throw Error("contractForTransaction address not set");
17
+ let P = E.findIndex(({ erc20TokenAddress: e }) => r(e, n)), F = P === -1 ? 0n : T[P], I = F > 0n ? F : 0n;
18
+ if (E.some(({ erc20TokenAddress: e }, t) => !r(e, n) && T[t] > 0n)) {
19
+ let e = M.address;
20
+ if (!e) throw Error("token approval spender not set");
21
+ let i = [];
22
+ for (let o = 0; o < E.length; o += 1) {
23
+ let s = E[o], c = T[o];
24
+ if (c > 0n && !r(s.erc20TokenAddress, n)) {
25
+ let n = u(s.erc20TokenAddress), r = await D.contract(a, n).allowance(O, e).call({ from: O });
26
+ if (BigInt(String(r)) < c) {
27
+ let { transaction: r } = await D.transactionBuilder.triggerSmartContract(n, "approve(address,uint256)", { feeLimit: t }, [{
28
+ type: "address",
29
+ value: e
30
+ }, {
31
+ type: "uint256",
32
+ value: c.toString()
33
+ }], O), a = await D.trx.sign(r), o = await D.trx.sendRawTransaction(a);
34
+ if (!o.result) {
35
+ let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
36
+ throw Error(`Tron token approval failed: ${e} - ${t}`);
45
37
  }
38
+ i.push({
39
+ tokenAddress: n,
40
+ requiredAmount: c
41
+ });
46
42
  }
47
43
  }
48
- i.length > 0 && await m(D, O, e, i);
49
44
  }
50
- console.log("[transactCallDirectTron] reorderZkCallData");
51
- let { a: L, b: R, c: z } = d(y), B = await f(!0, y, x, b, !1);
52
- if (!B) throw Error("Tron proof signature not found");
53
- let V = [
54
- B.v,
55
- B.r,
56
- B.s
57
- ], H = [
58
- x.tokenNumber,
59
- x.nullifierAmount,
60
- x.outputAmount
61
- ], U = s(b);
62
- if (w) {
63
- console.log("[transactCallDirectTron] simulateTronTransaction"), await p(g, N.address, "transact", N.abi, [
45
+ i.length > 0 && await m(D, O, e, i);
46
+ }
47
+ let { a: L, b: R, c: z } = d(y), B = await f(!0, y, x, b, !1);
48
+ if (!B) throw Error("Tron proof signature not found");
49
+ let V = [
50
+ B.v,
51
+ B.r,
52
+ B.s
53
+ ], H = [
54
+ x.tokenNumber,
55
+ x.nullifierAmount,
56
+ x.outputAmount
57
+ ], U = s(b);
58
+ if (w) {
59
+ await p(g, N.address, "transact", N.abi, [
60
+ V,
61
+ L,
62
+ R,
63
+ z,
64
+ H,
65
+ U
66
+ ], O, I);
67
+ let e = BigInt(await D.trx.getBalance(O)), n = BigInt(t);
68
+ try {
69
+ let e = c(N.abi, "transact", [
64
70
  V,
65
71
  L,
66
72
  R,
67
73
  z,
68
74
  H,
69
75
  U
70
- ], O, I);
71
- let e = BigInt(await D.trx.getBalance(O)), n = BigInt(t);
72
- try {
73
- let e = c(N.abi, "transact", [
74
- V,
75
- L,
76
- R,
77
- z,
78
- H,
79
- U
80
- ]);
81
- n = await l(D, g, N.address, O, e, I);
82
- } catch (e) {
83
- o.error("Error estimating Tron transact fee", e);
84
- }
85
- if (e < I + n) throw Error(i.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
76
+ ]);
77
+ n = await l(D, g, N.address, O, e, I);
78
+ } catch (e) {
79
+ o.error("Error estimating Tron transact fee", e);
86
80
  }
87
- console.log("[transactCallDirectTron] contract.transact.send");
88
- let W = await N.transact(V, L, R, z, H, U).send({
89
- feeLimit: t,
90
- callValue: Number(I)
91
- }), G = typeof W == "string" ? W : W?.txid ?? W?.transaction?.txID ?? W?.transaction?.txid;
92
- if (!G) throw Error("Tron transact failed (missing txid)");
93
- return console.log("[transactCallDirectTron] success", { txid: G }), G;
94
- } catch (e) {
95
- throw console.log("[transactCallDirectTron] error", e), e;
81
+ if (e < I + n) throw Error(i.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
96
82
  }
83
+ let W = await N.transact(V, L, R, z, H, U).send({
84
+ feeLimit: t,
85
+ callValue: Number(I)
86
+ }), G = typeof W == "string" ? W : W?.txid ?? W?.transaction?.txID ?? W?.transaction?.txid;
87
+ if (!G) throw Error("Tron transact failed (missing txid)");
88
+ return G;
97
89
  };
98
90
  //#endregion
99
91
  export { h as transactCallDirectTron };
@@ -1 +1 @@
1
- const e=require(`../../../error-handling/customErrors/ErrorWithTx.cjs`),t=require(`../../../constants/server.constants.cjs`),n=require(`../../../API/getServerURL.cjs`),r=require(`../../../data-structures/http/HttpClient.cjs`),i=require(`../../../API/callRelayer.cjs`),a=require(`../../snarkjs/common.snarkjs.cjs`);require(`../../../error-handling/index.cjs`),require(`../../snarkjs/index.cjs`);var o=t=>{if(t.status===`success`)return t.message;throw t.message&&t.error?new e.ErrorWithRelayerTransaction(t.error,t.message):Error(t.error)},s=async(e,t,n,r,s,c,l,u,d)=>{console.log(`[transactCallRelayer] start`,{chainId:e});try{console.log(`[transactCallRelayer] serializeCircomData`);let f=a.serializeCircomData(r);console.log(`[transactCallRelayer] callRelayerTransactAPI`);let p=o(await i.callRelayerTransactAPI({chainId:e,a:t[0],b:t[1],c:t[2],dimData:n,circomData:f,withUniswapWorkAround:c,authorizationData:l,adminData:u,tronProofSignature:d,commitmentValidationData:s}));return console.log(`[transactCallRelayer] success`,{txHash:p}),p}catch(e){throw console.log(`[transactCallRelayer] error`,e),e}},c=async e=>o(await r.httpClient.post(`${n.RELAYER_URL}${t.RELAYER_CONFIG.SOLANA_TRANSACT}`,e)),l=e=>{if(e.status===`success`)return e.message.scheduleId;throw Error(e.error||`Batch transaction failed`)},u=async(e,t,n,r,o,s)=>{let c=t.map(e=>a.serializeCircomData(e.circomData));return l(await i.callRelayerTransactBatchAPI({chainId:e,transactions:t.map((t,n)=>({chainId:e,a:t.zkCallData[0],b:t.zkCallData[1],c:t.zkCallData[2],dimData:t.dimData,circomData:c[n],commitmentValidationData:t.commitmentValidationData,withUniswapWorkAround:t.withUniswapWorkAround,authorizationData:t.authorizationData,adminData:t.adminData,recipientAddress:t.recipientAddress,tronProofSignature:t.tronProofSignature})),txCompletionTime:r,hashedEthereumAddress:n,ref:o,hashedDashboardAccountId:s}))},d=async(e,t,n,r,a,o)=>l(await i.callRelayerSolanaTransactBatchAPI({chainId:e,transactions:t,hashedEthereumAddress:n,txCompletionTime:r,ref:a,hashedDashboardAccountId:o}));exports.solanaTransactCallRelayer=c,exports.solanaTransactCallRelayerBatch=d,exports.transactCallRelayer=s,exports.transactCallRelayerBatch=u;
1
+ const e=require(`../../../error-handling/customErrors/ErrorWithTx.cjs`),t=require(`../../../constants/server.constants.cjs`),n=require(`../../../API/getServerURL.cjs`),r=require(`../../../data-structures/http/HttpClient.cjs`),i=require(`../../../API/callRelayer.cjs`),a=require(`../../snarkjs/common.snarkjs.cjs`);require(`../../../error-handling/index.cjs`),require(`../../snarkjs/index.cjs`);var o=t=>{if(t.status===`success`)return t.message;throw t.message&&t.error?new e.ErrorWithRelayerTransaction(t.error,t.message):Error(t.error)},s=async(e,t,n,r,s,c,l,u,d)=>{let f=a.serializeCircomData(r);return o(await i.callRelayerTransactAPI({chainId:e,a:t[0],b:t[1],c:t[2],dimData:n,circomData:f,withUniswapWorkAround:c,authorizationData:l,adminData:u,tronProofSignature:d,commitmentValidationData:s}))},c=async e=>o(await r.httpClient.post(`${n.RELAYER_URL}${t.RELAYER_CONFIG.SOLANA_TRANSACT}`,e)),l=e=>{if(e.status===`success`)return e.message.scheduleId;throw Error(e.error||`Batch transaction failed`)},u=async(e,t,n,r,o,s)=>{let c=t.map(e=>a.serializeCircomData(e.circomData));return l(await i.callRelayerTransactBatchAPI({chainId:e,transactions:t.map((t,n)=>({chainId:e,a:t.zkCallData[0],b:t.zkCallData[1],c:t.zkCallData[2],dimData:t.dimData,circomData:c[n],commitmentValidationData:t.commitmentValidationData,withUniswapWorkAround:t.withUniswapWorkAround,authorizationData:t.authorizationData,adminData:t.adminData,recipientAddress:t.recipientAddress,tronProofSignature:t.tronProofSignature})),txCompletionTime:r,hashedEthereumAddress:n,ref:o,hashedDashboardAccountId:s}))},d=async(e,t,n,r,a,o)=>l(await i.callRelayerSolanaTransactBatchAPI({chainId:e,transactions:t,hashedEthereumAddress:n,txCompletionTime:r,ref:a,hashedDashboardAccountId:o}));exports.solanaTransactCallRelayer=c,exports.solanaTransactCallRelayerBatch=d,exports.transactCallRelayer=s,exports.transactCallRelayerBatch=u;
@@ -11,28 +11,20 @@ var c = (t) => {
11
11
  if (t.status === "success") return t.message;
12
12
  throw t.message && t.error ? new e(t.error, t.message) : Error(t.error);
13
13
  }, l = async (e, t, n, r, i, o, l, u, d) => {
14
- console.log("[transactCallRelayer] start", { chainId: e });
15
- try {
16
- console.log("[transactCallRelayer] serializeCircomData");
17
- let f = s(r);
18
- console.log("[transactCallRelayer] callRelayerTransactAPI");
19
- let p = c(await a({
20
- chainId: e,
21
- a: t[0],
22
- b: t[1],
23
- c: t[2],
24
- dimData: n,
25
- circomData: f,
26
- withUniswapWorkAround: o,
27
- authorizationData: l,
28
- adminData: u,
29
- tronProofSignature: d,
30
- commitmentValidationData: i
31
- }));
32
- return console.log("[transactCallRelayer] success", { txHash: p }), p;
33
- } catch (e) {
34
- throw console.log("[transactCallRelayer] error", e), e;
35
- }
14
+ let f = s(r);
15
+ return c(await a({
16
+ chainId: e,
17
+ a: t[0],
18
+ b: t[1],
19
+ c: t[2],
20
+ dimData: n,
21
+ circomData: f,
22
+ withUniswapWorkAround: o,
23
+ authorizationData: l,
24
+ adminData: u,
25
+ tronProofSignature: d,
26
+ commitmentValidationData: i
27
+ }));
36
28
  }, u = async (e) => c(await r.post(`${n}${t.SOLANA_TRANSACT}`, e)), d = (e) => {
37
29
  if (e.status === "success") return e.message.scheduleId;
38
30
  throw Error(e.error || "Batch transaction failed");
@@ -3,6 +3,7 @@ export declare enum ScheduledTransactionStatus {
3
3
  PENDING = "pending",
4
4
  PROCESSING = "processing",
5
5
  WAITING_FOR_RELAYER = "waiting_for_relayer",
6
+ SENT_ON_CHAIN = "sent_on_chain",
6
7
  COMPLETED = "completed",
7
8
  FAILED = "failed"
8
9
  }
@@ -0,0 +1,2 @@
1
+ const e=require(`./workerProxy-BP_AUL0j.js`);let t=require(`buffer`),n=require(`process`);n=e.l(n);let r=require(`@kapa123456789/circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.l(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.l(s);let c=require(`tweetnacl`);c=e.l(c);let l=require(`tronweb`);var u=new class{babyjub=void 0;async init(){this.babyjub||=await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},d=()=>u.getJub(),f=new class{eddsa=void 0;async init(){this.eddsa||=await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},p=()=>f.getEddsa();function m(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var h=new class{poseidon=void 0;async init(){this.poseidon||=await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function g(...e){let t=h.getPoseidon();return m(t.F.toString(t(e)))}var _=(...e)=>{let t=h.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},v=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,h.init(),u.init(),...e?[]:[f.init()]])};`${`00`.repeat(20)}`;var y=21888242871839275222246405745257275088548364400416034343698204186575808495617n,b=y/2n,x=200n;`${`00`.repeat(32)}`;var S=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.s(n))})}},C=class extends S{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.c(n)]))}attach(t){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...n)=>{let r=e.c(n),i=this.get(r);if(i!==void 0)return i;let a=t(...n);return this.set(r,a),a}}},w=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>b},T=e=>w(e)?1n:0n,E=new C,D=new C,O=new C,k=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.nullifyingKey||=i.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),_(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=p(),t=d(),n=_(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=d(),n=p();console.log(`message`,e),console.log(`this.getSpendingKeyPair().privSpendingKey`,this.getSpendingKeyPair().privSpendingKey);let r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey));console.log(`prvBytes`,r);let a=t.F.e(e);console.log(`msgF`,a);let o=n.signPoseidon(r,a);return console.log(`sig`,o),{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new i.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=_(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPairOld=D.attach((e,t)=>{let n=d(),r=e*(BigInt(t)%y)%y,i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(n.Base8,r);return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getRandomizedStealthPair=E.attach((e,t)=>{let n=d(),r=BigInt(t)%y,i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(i,r);return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*T(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=O.attach((e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t);return _(2n*T(n[0])+T(r[0]),n[1],r[1])});static getH1FromH0=(e,t)=>{let n=d(),r=BigInt(t)%y,i=[n.F.e(e[0]),n.F.e(e[1])],a=n.mulPointEscalar(i,r);return[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return _(2n*T(e[0])+T(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t)%y,r,i,a=0n;do r=e*10n**a%y,i=r*n%y,a+=1n;while(i>=2n**253n||r>=2n**253n);return r}static getH0FromRandomization=e=>{let t=d(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(e));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),_(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),_(this.getAccessKey(),this.getShieldedPublicKey()))},A={CANNOT_CERTIFY_FOR_PAST_WEEK:`Certification for the past week is not available`,CYCLICAL_REFERRALS_FORBIDDEN:`Cyclical referrals are forbidden`,USER_IS_UNRANKED:`Please certify transactions to see rank`},j={WC_NO_MATCHING_KEY:`creating the transaction failed
2
+ version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},M={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},N={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...A,...j,...M,...N});var P=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),F=()=>Math.floor(Date.now()/1e3),I=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;randomization;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;isNewStyle;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1,isNewStyle:p=!1}){this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??F().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.randomization=o??(i?k.findCorrectRandomization(P(31),i):void 0),this.H0=s??(p&&this.randomization?k.findH0(this.randomization,i):void 0),this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,this.isNewStyle=p}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,randomization:this.randomization,H0:this.H0,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,isNewStyle:this.isNewStyle}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,randomization:this.randomization,H0:this.H0,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,isNewStyle:this.isNewStyle}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=_(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=_(this.nullifyingKey,e);this.nullifier=_(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(this.isNewStyle){if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=k.getStealthAddressNewStyle(this.H0,this.nullifyingKey,this.spendingPublicKey)}else{if(!this.randomization)throw Error(`No randomization provided`);this.stealthAddress=k.getStealthAddress(this.randomization,this.nullifyingKey)}}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return k.getEncryptionKeyPair(this.nullifyingKey).publicKey}},L=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,R=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=L(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},z=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=R(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},B=(e,t,n)=>{let r=a.default.crypto_box_seal_open(e,i.ethers.getBytes(n),i.ethers.getBytes(t));return Buffer.from(r)},V=54912,H=2,U=e=>e[0]*256+e[1],W=(e,t)=>{let{privateKey:n,publicKey:r}=k.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=U(e)===V?z(e.slice(H),n,r,0):B(e,n,r),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a.length>=8,u=l&&s(a[5])===1n,d=l?8:6,f=a[d]?c(a[d]):void 0,p=f?new o.PublicKey(Buffer.from(f.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),randomization:s(a[2]),stealthAddress:c(a[3]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[4]).toString(),isNewStyle:u,...u?{H0:[s(a[6]),s(a[7])]}:{},mintAddress:p}},G=(e,t)=>new I(W(e,t)),K=e=>e&2n**255n-1n,q=e=>e>>255n&1n,J=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return x}});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.82",
3
+ "version": "0.0.84",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-m1Qq_2Fq.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-m1Qq_2Fq.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher--a7XU_rl.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher--a7XU_rl.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-m1Qq_2Fq.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher--a7XU_rl.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-D22p2w2G.js`);let t=require(`buffer`),n=require(`process`);n=e.l(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.l(i);let a=require(`axios`);a=e.l(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.o?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.o&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
1
+ const e=require(`./workerProxy-BP_AUL0j.js`);let t=require(`buffer`),n=require(`process`);n=e.l(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.l(i);let a=require(`axios`);a=e.l(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.o?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.o&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
@@ -1 +1 @@
1
- var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-DVwpyBZH.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-DVwpyBZH.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-7OhgSs8A.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-7OhgSs8A.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
@@ -1,4 +1,4 @@
1
1
  //#region libs/shared/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url
2
- var e = "" + new URL("../../../../assets/utxoWorkerLauncher-DVwpyBZH.js", import.meta.url).href;
2
+ var e = "" + new URL("../../../../assets/utxoWorkerLauncher-7OhgSs8A.js", import.meta.url).href;
3
3
  //#endregion
4
4
  export { e as default };
@@ -1 +1 @@
1
- const e=require(`./workerProxy-D22p2w2G.js`),t=require(`./logError-o9XP6THu.js`);let n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=8,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h]=r,g=BigInt(i),_=BigInt(d),v=t.n(_)===1n,y=t.r(_),b=a.ethers.toBeHex(BigInt(f)),x=BigInt(p),S=BigInt(m),C=BigInt(h).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.p(BigInt(s),BigInt(u)),mintAddress:E,randomization:y,stealthAddress:b,H0:x,H1:S,timeStamp:C,isNewStyle:v}},d=e=>{let n=a.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),r=BigInt(n[0]),i=n[1],o=BigInt(n[2][0]),s=t.n(o),c=t.r(o),l=a.ethers.toBeHex(BigInt(n[2][1])),u=BigInt(n[2][2]),d=BigInt(n[2][3]),f=BigInt(n[3]).toString(),p=Number(n[4]);return{amount:r,erc20TokenAddress:i,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},f=(n,r,i)=>{let{randomization:a,H0:o,H1:s,isNewStyle:c}=e.r(i)?u(n):d(n),l=c?t.s.verifyStealthPair([a,o],[0n,s],r):t.s.checkSignature(a,o,s,r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,nullifyingKey:n,stealthAddress:o,isNewStyle:c,...c?{H0:[a,l]}:{randomization:a}}}let{amount:i,erc20TokenAddress:a,timeStamp:o,randomization:s,isNewStyle:c,stealthAddress:l,H0:f}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,f]}:{randomization:s}}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.o(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.l.serialize(),stealthAddressCache:t.c.serialize()})},v=async({data:e})=>{let n=new t.s(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.a(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.s(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.i(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.d(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
1
+ const e=require(`./workerProxy-BP_AUL0j.js`),t=require(`./logError-F50ubgnd.js`);let n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=8,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h]=r,g=BigInt(i),_=BigInt(d),v=t.n(_)===1n,y=t.r(_),b=a.ethers.toBeHex(BigInt(f)),x=BigInt(p),S=BigInt(m),C=BigInt(h).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.p(BigInt(s),BigInt(u)),mintAddress:E,randomization:y,stealthAddress:b,H0:x,H1:S,timeStamp:C,isNewStyle:v}},d=e=>{let n=a.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),r=BigInt(n[0]),i=n[1],o=BigInt(n[2][0]),s=t.n(o),c=t.r(o),l=a.ethers.toBeHex(BigInt(n[2][1])),u=BigInt(n[2][2]),d=BigInt(n[2][3]),f=BigInt(n[3]).toString(),p=Number(n[4]);return{amount:r,erc20TokenAddress:i,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},f=(n,r,i)=>{let{randomization:a,H0:o,H1:s,isNewStyle:c}=e.r(i)?u(n):d(n),l=c?t.s.verifyStealthPair([a,o],[0n,s],r):t.s.checkSignature(a,o,s,r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,nullifyingKey:n,stealthAddress:o,isNewStyle:c,...c?{H0:[a,l]}:{randomization:a}}}let{amount:i,erc20TokenAddress:a,timeStamp:o,randomization:s,isNewStyle:c,stealthAddress:l,H0:f}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,f]}:{randomization:s}}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.o(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.l.serialize(),stealthAddressCache:t.c.serialize()})},v=async({data:e})=>{let n=new t.s(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.a(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.s(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.i(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.d(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
@@ -14,8 +14,8 @@
14
14
  var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
15
15
 
16
16
  const n = async () => ({
17
- [e.ZKProof]: await getWorkerURL(domain + '/0.0.76/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.76/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.76/' + 'utxoWorkerLauncher.js'),
17
+ [e.ZKProof]: await getWorkerURL(domain + '/0.0.84/' + 'zkProofWorkerLauncher.js'),
18
+ [e.SnarkJS]: await getWorkerURL(domain + '/0.0.84/' + 'snarkjsWorkerLauncher.js'),
19
+ [e.UTXO]: await getWorkerURL(domain + '/0.0.84/' + 'utxoWorkerLauncher.js'),
20
20
  });
21
21
  exports.getWorkerViteURL = n;
@@ -14,8 +14,8 @@
14
14
  var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
15
15
 
16
16
  const n = async () => ({
17
- [e.ZKProof]: await getWorkerURL(domain + '/0.0.76/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.76/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.76/' + 'utxoWorkerLauncher.js'),
17
+ [e.ZKProof]: await getWorkerURL(domain + '/0.0.84/' + 'zkProofWorkerLauncher.js'),
18
+ [e.SnarkJS]: await getWorkerURL(domain + '/0.0.84/' + 'snarkjsWorkerLauncher.js'),
19
+ [e.UTXO]: await getWorkerURL(domain + '/0.0.84/' + 'utxoWorkerLauncher.js'),
20
20
  });
21
21
  export { n as getWorkerViteURL };