@hinkal/common 0.2.35 → 0.2.37
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.
- package/API/enclaveUtxoCalls.cjs +1 -1
- package/API/enclaveUtxoCalls.mjs +6 -7
- package/constants/events.constants.cjs +1 -1
- package/constants/events.constants.mjs +3 -1
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +1 -1
- package/constants/server.constants.mjs +1 -1
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.mjs +5 -23
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +13 -13
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +5 -0
- package/data-structures/Hinkal/Hinkal.mjs +114 -104
- package/data-structures/Hinkal/IHinkal.d.ts +5 -0
- package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +2 -2
- package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +8 -5
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +2 -2
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +4 -1
- package/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +4 -1
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +12 -12
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +3 -2
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +0 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +27 -36
- package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/PublicTokensDB.mjs +22 -20
- package/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/TronPublicTokensDB.d.ts +9 -0
- package/data-structures/TokenDBs/TronPublicTokensDB.mjs +47 -0
- package/data-structures/TokenDBs/index.cjs +1 -1
- package/data-structures/TokenDBs/index.d.ts +1 -0
- package/data-structures/TokenDBs/index.mjs +1 -0
- package/data-structures/index.cjs +1 -1
- package/data-structures/index.mjs +1 -0
- package/functions/index.cjs +1 -1
- package/functions/index.mjs +1 -0
- package/functions/pre-transaction/sendV0Transaction.cjs +2 -2
- package/functions/pre-transaction/sendV0Transaction.mjs +69 -57
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.mjs +2 -2
- package/functions/snarkjs/constant.cjs +1 -1
- package/functions/snarkjs/constant.mjs +1 -1
- package/functions/utils/enclaveHandshakeService.cjs +1 -0
- package/functions/utils/enclaveHandshakeService.d.ts +10 -0
- package/functions/utils/enclaveHandshakeService.mjs +22 -0
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +23 -25
- package/functions/utils/index.cjs +1 -1
- package/functions/utils/index.d.ts +1 -0
- package/functions/utils/index.mjs +1 -0
- package/functions/utils/tron.utils.cjs +1 -1
- package/functions/utils/tron.utils.d.ts +1 -0
- package/functions/utils/tron.utils.mjs +1 -1
- package/index.cjs +1 -1
- package/index.mjs +183 -181
- package/package.json +1 -1
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +1 -0
- package/types/cache.types.mjs +1 -1
- package/types/scheduled-transactions.types.d.ts +4 -0
- package/webworker/{logError-DoUkEIFE.js → logError-B1LyaM6e.js} +14 -14
- package/webworker/package.json +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/snarkjsWorkerNode.cjs +2 -2
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/utxoWorkerNode.cjs +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/{workerProxy-DQJE57Ye.js → workerProxy-UUs7pDb1.js} +7 -9
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/zkProofWorkerNode.cjs +1 -1
- package/functions/utils/enum.utils.cjs +0 -1
- package/functions/utils/enum.utils.mjs +0 -12
|
@@ -1,40 +1,46 @@
|
|
|
1
1
|
import { safeJsonStringify as e } from "../utils/serialize.utils.mjs";
|
|
2
2
|
import { COMPUTE_UNIT_PADDING_PERCENTAGE as t, MAX_COMPUTE_UNIT_LIMIT as n, MAX_SOLANA_HEAP_FRAME_BYTES as r, MIN_COMPUTE_UNIT_LIMIT as i } from "../../constants/protocol.constants.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
3
|
+
import { Logger as a } from "../../error-handling/logger.mjs";
|
|
4
|
+
import { AccountActions as o } from "../../data-structures/AccountActions/AccountActions.mjs";
|
|
5
|
+
import { SolanaPriorityFeeMode as s } from "../../types/fee.types.mjs";
|
|
6
|
+
import { getSolanaPriorityFee as c } from "../web3/getSolanaPriorityFee.mjs";
|
|
7
|
+
import { pollForValue as l } from "../utils/process.utils.mjs";
|
|
8
|
+
import { shouldRetryForSolanaError as u } from "../../error-handling/retrySolanaError.mjs";
|
|
9
|
+
import { ComputeBudgetProgram as d, PublicKey as f, TransactionMessage as p, VersionedTransaction as m } from "@solana/web3.js";
|
|
10
|
+
import { ASSOCIATED_TOKEN_PROGRAM_ID as h, TOKEN_PROGRAM_ID as g, createAssociatedTokenAccountInstruction as _, getAssociatedTokenAddress as v } from "@solana/spl-token";
|
|
10
11
|
//#region libs/shared/common/src/functions/pre-transaction/sendV0Transaction.ts
|
|
11
|
-
var
|
|
12
|
+
var y = 5e3, b = 6e4, x = 7, S = async (e, t, n = "confirmed") => await l(() => e.getTransaction(t, {
|
|
12
13
|
commitment: n,
|
|
13
14
|
maxSupportedTransactionVersion: 0
|
|
14
15
|
}), {
|
|
15
|
-
timeoutMs:
|
|
16
|
-
intervalMs:
|
|
17
|
-
}) ?? null,
|
|
16
|
+
timeoutMs: b,
|
|
17
|
+
intervalMs: y
|
|
18
|
+
}) ?? null, C = async (o, s, c, l, u = !1) => {
|
|
18
19
|
try {
|
|
19
|
-
let { blockhash:
|
|
20
|
-
payerKey:
|
|
21
|
-
recentBlockhash:
|
|
20
|
+
let { blockhash: f } = await o.getLatestBlockhash(), h = new m(new p({
|
|
21
|
+
payerKey: s,
|
|
22
|
+
recentBlockhash: f,
|
|
22
23
|
instructions: [
|
|
23
|
-
|
|
24
|
-
...
|
|
25
|
-
...
|
|
24
|
+
d.setComputeUnitLimit({ units: n }),
|
|
25
|
+
...u ? [d.requestHeapFrame({ bytes: r })] : [],
|
|
26
|
+
...c
|
|
26
27
|
]
|
|
27
|
-
}).compileToV0Message(
|
|
28
|
+
}).compileToV0Message(l)), g = await o.simulateTransaction(h, {
|
|
28
29
|
sigVerify: !1,
|
|
29
30
|
replaceRecentBlockhash: !0
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
});
|
|
32
|
+
g.value.err && a.error("Solana compute-unit simulation failed:", {
|
|
33
|
+
error: e(g.value.err),
|
|
34
|
+
logs: g.value.logs
|
|
35
|
+
});
|
|
36
|
+
let { unitsConsumed: _ } = g.value;
|
|
37
|
+
if (!_) return n;
|
|
38
|
+
let v = Math.ceil(_ * (1 + t));
|
|
39
|
+
return Math.max(i, Math.min(v, n));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
return a.error("Solana compute-unit estimation threw:", e), n;
|
|
36
42
|
}
|
|
37
|
-
},
|
|
43
|
+
}, w = (e, t, n, r) => {
|
|
38
44
|
let i = /* @__PURE__ */ new Set();
|
|
39
45
|
return t && i.add(t.toBase58()), n?.forEach((e) => i.add(e.toBase58())), e.forEach((e) => {
|
|
40
46
|
i.add(e.programId.toBase58()), e.keys.forEach((e) => {
|
|
@@ -44,78 +50,84 @@ var v = 5e3, y = 6e4, b = 7, x = async (e, t, n = "confirmed") => await c(() =>
|
|
|
44
50
|
i.add(e.key.toBase58()), e.state.addresses.forEach((e) => {
|
|
45
51
|
i.add(e.toBase58());
|
|
46
52
|
});
|
|
47
|
-
}), [...i].map((e) => new
|
|
48
|
-
},
|
|
49
|
-
if (!t) throw Error(
|
|
53
|
+
}), [...i].map((e) => new f(e));
|
|
54
|
+
}, T = (t, n) => {
|
|
55
|
+
if (!t) throw Error(`Failed to fetch Solana transaction details for signature${n ? ` ${n}` : ""}`);
|
|
50
56
|
if (t.meta?.err) {
|
|
51
|
-
let
|
|
52
|
-
|
|
57
|
+
let r = e(t.meta.err), i = t.meta.logMessages?.join("\n");
|
|
58
|
+
a.error("Solana transaction failed on-chain", {
|
|
59
|
+
signature: n,
|
|
60
|
+
error: r,
|
|
61
|
+
logs: t.meta.logMessages
|
|
62
|
+
});
|
|
63
|
+
let o = n ? ` (signature: ${n})` : "";
|
|
64
|
+
throw Error(i ? `Solana transaction failed on-chain${o}: ${r}\n${i}` : `Solana transaction failed on-chain${o}: ${r}`);
|
|
53
65
|
}
|
|
54
|
-
},
|
|
55
|
-
if (i.some((e) => e.programId.equals(
|
|
56
|
-
let l = i.filter((e) => !e.programId.equals(
|
|
66
|
+
}, E = async (e, t, i, a, o, s = !1) => {
|
|
67
|
+
if (i.some((e) => e.programId.equals(d.programId))) return i.map((e) => e.programId.equals(d.programId) && e.data[0] === 2 ? d.setComputeUnitLimit({ units: n }) : e);
|
|
68
|
+
let l = i.filter((e) => !e.programId.equals(d.programId)), u = await C(e, t, l, a, s), f = d.setComputeUnitLimit({ units: u }), p = e.rpcEndpoint.includes("helius") ? await c(w(l, t, [d.programId], a), o) : 0;
|
|
57
69
|
return [
|
|
58
70
|
f,
|
|
59
|
-
|
|
60
|
-
...
|
|
71
|
+
d.setComputeUnitPrice({ microLamports: p }),
|
|
72
|
+
...s ? [d.requestHeapFrame({ bytes: r })] : [],
|
|
61
73
|
...l
|
|
62
74
|
];
|
|
63
|
-
},
|
|
75
|
+
}, D = async (e, t, n, r, i, a = !1) => {
|
|
64
76
|
if (t.length === 0) return "";
|
|
65
|
-
for (let
|
|
66
|
-
let c =
|
|
77
|
+
for (let o = 0; o < 10; o += 1) {
|
|
78
|
+
let c = o === 9;
|
|
67
79
|
try {
|
|
68
|
-
let c = await
|
|
80
|
+
let c = await E(e, n.publicKey, t, i, o >= x ? s.HIGH : s.RECOMMENDED, a), { blockhash: l, lastValidBlockHeight: u } = await e.getLatestBlockhash(), d = new m(new p({
|
|
69
81
|
payerKey: n.publicKey,
|
|
70
82
|
instructions: c,
|
|
71
83
|
recentBlockhash: l
|
|
72
84
|
}).compileToV0Message(i));
|
|
73
85
|
d.sign(r);
|
|
74
|
-
let
|
|
86
|
+
let f = await e.sendTransaction(d);
|
|
75
87
|
return await e.confirmTransaction({
|
|
76
|
-
signature:
|
|
88
|
+
signature: f,
|
|
77
89
|
blockhash: l,
|
|
78
90
|
lastValidBlockHeight: u
|
|
79
|
-
}, "confirmed"),
|
|
91
|
+
}, "confirmed"), T(await S(e, f), f), f;
|
|
80
92
|
} catch (e) {
|
|
81
|
-
if (
|
|
93
|
+
if (u(e) && !c) continue;
|
|
82
94
|
throw e;
|
|
83
95
|
}
|
|
84
96
|
}
|
|
85
97
|
return "";
|
|
86
|
-
},
|
|
98
|
+
}, O = async (e, t, n, r) => {
|
|
87
99
|
if (!n) return null;
|
|
88
|
-
let i = await
|
|
89
|
-
return await e.getAccountInfo(i) || await
|
|
90
|
-
},
|
|
91
|
-
let c =
|
|
100
|
+
let i = await v(n, r, !0, g, h);
|
|
101
|
+
return await e.getAccountInfo(i) || await D(e, [_(t.publicKey, i, r, n, g, h)], t, [t]), i;
|
|
102
|
+
}, k = async ({ connection: e, chainId: t, subAccount: n, payerPublicKey: r, instructions: i, lookupTableAccounts: a }) => {
|
|
103
|
+
let c = o.getPrivateKeyFromSubAccount(t, n);
|
|
92
104
|
if (!c) throw Error("Private key is not available");
|
|
93
105
|
for (let t = 0; t < 10; t += 1) {
|
|
94
106
|
let n = t === 9;
|
|
95
107
|
try {
|
|
96
|
-
let t = await
|
|
108
|
+
let t = await E(e, r, i, a, n ? s.HIGH : s.RECOMMENDED), { blockhash: l, lastValidBlockHeight: u } = await e.getLatestBlockhash(), d = new m(new p({
|
|
97
109
|
payerKey: r,
|
|
98
110
|
recentBlockhash: l,
|
|
99
111
|
instructions: t
|
|
100
|
-
}).compileToV0Message(
|
|
112
|
+
}).compileToV0Message(a)), f = await o.sendAndSignSolanaTransactionFromPrivateKey(e, c, d, !0);
|
|
101
113
|
return await e.confirmTransaction({
|
|
102
|
-
signature:
|
|
114
|
+
signature: f,
|
|
103
115
|
blockhash: l,
|
|
104
116
|
lastValidBlockHeight: u
|
|
105
|
-
}, "confirmed"),
|
|
117
|
+
}, "confirmed"), T(await S(e, f), f), f;
|
|
106
118
|
} catch (e) {
|
|
107
|
-
if (
|
|
119
|
+
if (u(e) && !n) continue;
|
|
108
120
|
throw e;
|
|
109
121
|
}
|
|
110
122
|
}
|
|
111
123
|
throw Error("Failed to send proxy v0 transaction due to expired blockheight after all retries");
|
|
112
|
-
},
|
|
113
|
-
let { blockhash: i } = await e.getLatestBlockhash(), a = new
|
|
124
|
+
}, A = async (e, t, n, r) => {
|
|
125
|
+
let { blockhash: i } = await e.getLatestBlockhash(), a = new m(new p({
|
|
114
126
|
payerKey: t,
|
|
115
127
|
recentBlockhash: i,
|
|
116
|
-
instructions: await
|
|
128
|
+
instructions: await E(e, t, n, r)
|
|
117
129
|
}).compileToV0Message(r));
|
|
118
130
|
return Buffer.from(a.serialize()).toString("base64");
|
|
119
131
|
};
|
|
120
132
|
//#endregion
|
|
121
|
-
export {
|
|
133
|
+
export { O as ensureAtaExists, C as estimateComputeUnitLimit, S as fetchSolanaTransaction, w as getAccountsFromInstructions, k as sendProxyV0Transaction, D as sendV0Transaction, A as serializeProxyV0Transaction };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/circom-data.types.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/crypto-keys/keys.cjs`),r=require(`../utils/bit.operations.cjs`),i=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),a=require(`../utils/external-action.utils.cjs`),o=require(`./getOriginalSender.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return n.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.randomization!==void 0)return e.randomization.toString();
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/circom-data.types.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/crypto-keys/keys.cjs`),r=require(`../utils/bit.operations.cjs`),i=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),a=require(`../utils/external-action.utils.cjs`),o=require(`./getOriginalSender.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return n.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.isNewStyle)return`0`;if(e.randomization!==void 0)return e.randomization.toString();throw Error(`UTXO missing randomization for old-style proof input`)},u=(e,t)=>e.map((e,n)=>e.map(e=>t[n]?`0`:e.getNullifier())),d=e=>e.map(e=>e.map(e=>e.amount===0n?`0`:e.getCommitment())),f=(e,n,r=!1)=>{let i=[];for(let a=0;a<e.length;a+=1){let o=0n,s=0n;for(let t=0;t<e[a].length;t+=1)o+=e[a][t].amount;for(let e=0;e<n[a].length;e+=1)s+=n[a][e].amount;s-o<0?r?i.push(s-o):i.push(t.CIRCOM_P+(s-o)):i.push(s-o)}return i},p=e=>e.map(e=>e>=0n?0n:e),m=e=>{if(e.length===0)return[];let t=[[``]];for(let n=0;n<e.length;n+=1)n>0&&t.push([``]),e[n].forEach((e,r)=>{t[n][r]=`0x${Buffer.from(i.encryptUtxo(e)).toString(`hex`)}`});return t},h=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},g=e=>{let t={...e};return t.amountChanges=e.amountChanges.map(e=>e.toString()),t.calldataHash=e.calldataHash.toString(),t.rootHashAccessToken=e.rootHashAccessToken?.toString(),t.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),t.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),t.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),t.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),t.rootHashHinkal=e.rootHashHinkal?.toString(),t.externalActionId=e.externalActionId?.toString(),t.slippageValues=e.slippageValues.map(e=>e.toString()),t.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(e=>e.toString()),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(e=>({approvalChanges:e.approvalChanges.map(e=>e.toString()),externalApprovalAddresses:e.externalApprovalAddresses,conversionInHinkalAddress:e.conversionInHinkalAddress.map(e=>e.toString())})),t.feeStructure.flatFee=e.feeStructure.flatFee.toString(),t.feeStructure.variableRate=e.feeStructure.variableRate.toString(),t},_=e=>{let t={...e.hinkalLogicArgs,inHinkalAddress:BigInt(e.hinkalLogicArgs.inHinkalAddress),executeApprovalChanges:e.hinkalLogicArgs.executeApprovalChanges.map(e=>BigInt(e)),useApprovalUtxoData:e.hinkalLogicArgs.useApprovalUtxoData.map(e=>({...e,approvalChanges:e.approvalChanges.map(e=>BigInt(e)),conversionInHinkalAddress:e.conversionInHinkalAddress.map(e=>BigInt(e))}))};return{...e,amountChanges:e.amountChanges.map(e=>BigInt(e)),calldataHash:BigInt(e.calldataHash),rootHashAccessToken:BigInt(e.rootHashAccessToken),rootHashHinkal:BigInt(e.rootHashHinkal),externalActionId:BigInt(e.externalActionId),stealthAddressStructure:{extraRandomization:BigInt(e.stealthAddressStructure.extraRandomization),stealthAddress:BigInt(e.stealthAddressStructure.stealthAddress),H0:BigInt(e.stealthAddressStructure.H0),H1:BigInt(e.stealthAddressStructure.H1)},feeStructure:{...e.feeStructure,flatFee:BigInt(e.feeStructure.flatFee),variableRate:BigInt(e.feeStructure.variableRate)},slippageValues:e.slippageValues.map(e=>BigInt(e)),hinkalLogicArgs:t}},v=(n,r,i,c,l,u,d,f,p,m,h,g)=>{let _=Object.values(d||e.defaultHookData),v=g??o.getOriginalSender(i??t.zeroAddress,r),y=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`address`,`address`,`uint256`,`bytes`],[n,r,i,typeof c==`bigint`?c:a.getExternalActionIdHash(c),l]),b=s.ethers.AbiCoder.defaultAbiCoder().encode([`tuple(address, address, bytes, bytes)`,`bytes[][]`,`tuple(address, uint256, uint256)`,`int256[]`,`bool[]`,`tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)`,`address`],[_,u,[m.feeToken,m.flatFee,m.variableRate],f,p,h,v]),x=BigInt(s.ethers.keccak256(y)),S=BigInt(s.ethers.keccak256(b)),C=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[x,S]);return BigInt(s.ethers.keccak256(C))%t.CIRCOM_P},y=(e,t,n,r,i)=>e.startsWith(`mainEVMCircuitMin0`)?3:2+t.length+n.length+1+r.flat().length+i.flat().length+1+1+1+1+1+1,b=(e,t,i)=>{let{H0:a}=n.UserKeys.getRandomizedStealthPair(e,t),o=n.UserKeys.getH1FromH0(a,t),s=BigInt(n.UserKeys.getStealthAddressNewStyle(a,t,i));return{extraRandomization:r.addHighestBitToNumber(a[0]),H0:a[1],H1:o[1],stealthAddress:s}},x=(e,t)=>t.length===0?`mainEVMCircuitMin0`:`mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;exports.buildInNullifiers=u,exports.buildOutCommitments=d,exports.calcAmountChanges=f,exports.calcCommitmentsSiblingAndSides=h,exports.calcEncryptedOutputs=m,exports.calcPublicSignalCount=y,exports.calcStealthAddressStructure=b,exports.createCallDataHash=v,exports.deserializeCircomData=_,exports.getSlippageValues=p,exports.getUtxoCircuitH0Coords=c,exports.getUtxoCircuitInRandomization=l,exports.getZkProofVerifierName=x,exports.serializeCircomData=g;
|
|
@@ -12,9 +12,9 @@ var l = (e) => {
|
|
|
12
12
|
if (e.randomization !== void 0) return r.getH0FromRandomization(e.randomization);
|
|
13
13
|
throw Error("UTXO missing H0 coordinates for proof input");
|
|
14
14
|
}, u = (e) => {
|
|
15
|
+
if (e.isNewStyle) return "0";
|
|
15
16
|
if (e.randomization !== void 0) return e.randomization.toString();
|
|
16
|
-
|
|
17
|
-
return "0";
|
|
17
|
+
throw Error("UTXO missing randomization for old-style proof input");
|
|
18
18
|
}, d = (e, t) => e.map((e, n) => e.map((e) => t[n] ? "0" : e.getNullifier())), f = (e) => e.map((e) => e.map((e) => e.amount === 0n ? "0" : e.getCommitment())), p = (e, n, r = !1) => {
|
|
19
19
|
let i = [];
|
|
20
20
|
for (let a = 0; a < e.length; a += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../API/getServerURL.cjs`);var n=e.isNotProduction?`https://enclave-staging.hinkal.io`:`https://enclave-server.hinkal.io`,r=`${t.BACK_END_URL}/verifiers-v2/`,i={mainEVMCircuit1x2x1v1x1Wasm:`${r}mainEVMCircuit1x2x1-1.1.wasm`,mainEVMCircuit1x2x1v1x1Zkey:`${r}mainEVMCircuit1x2x1_final-1.1.zkey`,mainEVMCircuit1x6x1v1x1Wasm:`${r}mainEVMCircuit1x6x1-1.1.wasm`,mainEVMCircuit1x6x1v1x1Zkey:`${r}mainEVMCircuit1x6x1_final-1.1.zkey`,mainEVMCircuit2x2x1v1x1Wasm:`${r}mainEVMCircuit2x2x1-1.1.wasm`,mainEVMCircuit2x2x1v1x1Zkey:`${r}mainEVMCircuit2x2x1_final-1.1.zkey`,mainEVMCircuit2x6x1v1x1Wasm:`${r}mainEVMCircuit2x6x1-1.1.wasm`,mainEVMCircuit2x6x1v1x1Zkey:`${r}mainEVMCircuit2x6x1_final-1.1.zkey`,mainEVMCircuit3x2x1v1x1Wasm:`${r}mainEVMCircuit3x2x1-1.1.wasm`,mainEVMCircuit3x2x1v1x1Zkey:`${r}mainEVMCircuit3x2x1_final-1.1.zkey`,mainEVMCircuit3x6x1v1x1Wasm:`${r}mainEVMCircuit3x6x1-1.1.wasm`,mainEVMCircuit3x6x1v1x1Zkey:`${r}mainEVMCircuit3x6x1_final-1.1.zkey`,mainEVMCircuit4x2x1v1x1Wasm:`${r}mainEVMCircuit4x2x1-1.1.wasm`,mainEVMCircuit4x2x1v1x1Zkey:`${r}mainEVMCircuit4x2x1_final-1.1.zkey`,mainEVMCircuit4x6x1v1x1Wasm:`${r}mainEVMCircuit4x6x1-1.1.wasm`,mainEVMCircuit4x6x1v1x1Zkey:`${r}mainEVMCircuit4x6x1_final-1.1.zkey`,mainEVMCircuit5x2x1v1x1Wasm:`${r}mainEVMCircuit5x2x1-1.1.wasm`,mainEVMCircuit5x2x1v1x1Zkey:`${r}mainEVMCircuit5x2x1_final-1.1.zkey`,mainEVMCircuit5x6x1v1x1Wasm:`${r}mainEVMCircuit5x6x1-1.1.wasm`,mainEVMCircuit5x6x1v1x1Zkey:`${r}mainEVMCircuit5x6x1_final-1.1.zkey`,mainEVMCircuit1x2x2v1x1Wasm:`${r}mainEVMCircuit1x2x2-1.1.wasm`,mainEVMCircuit1x2x2v1x1Zkey:`${r}mainEVMCircuit1x2x2_final-1.1.zkey`,mainEVMCircuit1x6x2v1x1Wasm:`${r}mainEVMCircuit1x6x2-1.1.wasm`,mainEVMCircuit1x6x2v1x1Zkey:`${r}mainEVMCircuit1x6x2_final-1.1.zkey`,mainEVMCircuit2x2x2v1x1Wasm:`${r}mainEVMCircuit2x2x2-1.1.wasm`,mainEVMCircuit2x2x2v1x1Zkey:`${r}mainEVMCircuit2x2x2_final-1.1.zkey`,mainEVMCircuit2x6x2v1x1Wasm:`${r}mainEVMCircuit2x6x2-1.1.wasm`,mainEVMCircuit2x6x2v1x1Zkey:`${r}mainEVMCircuit2x6x2_final-1.1.zkey`,mainEVMCircuitMin0v1x1Wasm:`${r}mainEVMCircuitMin0-1.1.wasm`,mainEVMCircuitMin0v1x1Zkey:`${r}mainEVMCircuitMin0_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Zkey:`${r}mainSolanaCircuit1x2x1_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Wasm:`${r}mainSolanaCircuit1x2x1-1.1.wasm`,mainSolanaCircuit1x2x2v1x1Zkey:`${r}mainSolanaCircuit1x2x2_final-1.1.zkey`,mainSolanaCircuit1x2x2v1x1Wasm:`${r}mainSolanaCircuit1x2x2-1.1.wasm`,mainSolanaCircuit1x6x1v1x1Zkey:`${r}mainSolanaCircuit1x6x1_final-1.1.zkey`,mainSolanaCircuit1x6x1v1x1Wasm:`${r}mainSolanaCircuit1x6x1-1.1.wasm`,mainSolanaCircuit1x6x2v1x1Zkey:`${r}mainSolanaCircuit1x6x2_final-1.1.zkey`,mainSolanaCircuit1x6x2v1x1Wasm:`${r}mainSolanaCircuit1x6x2-1.1.wasm`,mainSolanaCircuit2x2x1v1x1Zkey:`${r}mainSolanaCircuit2x2x1_final-1.1.zkey`,mainSolanaCircuit2x2x1v1x1Wasm:`${r}mainSolanaCircuit2x2x1-1.1.wasm`,mainSolanaCircuit2x6x1v1x1Zkey:`${r}mainSolanaCircuit2x6x1_final-1.1.zkey`,mainSolanaCircuit2x6x1v1x1Wasm:`${r}mainSolanaCircuit2x6x1-1.1.wasm`,commitmentCalculator1x2v1x1Wasm:`${r}commitmentCalculator1x2-1.1.wasm`,commitmentCalculator1x2v1x1Zkey:`${r}commitmentCalculator1x2_final-1.1.zkey`,commitmentCalculator1x2v1x1VK:`${r}commitmentCalculator1x2_final-1.1_verification_key.json`,commitmentCalculator1x6v1x1Wasm:`${r}commitmentCalculator1x6-1.1.wasm`,commitmentCalculator1x6v1x1Zkey:`${r}commitmentCalculator1x6_final-1.1.zkey`,commitmentCalculator1x6v1x1VK:`${r}commitmentCalculator1x6_final-1.1_verification_key.json`,commitmentCalculator2x2v1x1Wasm:`${r}commitmentCalculator2x2-1.1.wasm`,commitmentCalculator2x2v1x1Zkey:`${r}commitmentCalculator2x2_final-1.1.zkey`,commitmentCalculator2x2v1x1VK:`${r}commitmentCalculator2x2_final-1.1_verification_key.json`,commitmentCalculator2x6v1x1Wasm:`${r}commitmentCalculator2x6-1.1.wasm`,commitmentCalculator2x6v1x1Zkey:`${r}commitmentCalculator2x6_final-1.1.zkey`,commitmentCalculator2x6v1x1VK:`${r}commitmentCalculator2x6_final-1.1_verification_key.json`,commitmentCalculator3x2v1x1Wasm:`${r}commitmentCalculator3x2-1.1.wasm`,commitmentCalculator3x2v1x1Zkey:`${r}commitmentCalculator3x2_final-1.1.zkey`,commitmentCalculator3x2v1x1VK:`${r}commitmentCalculator3x2_final-1.1_verification_key.json`,commitmentCalculator3x6v1x1Wasm:`${r}commitmentCalculator3x6-1.1.wasm`,commitmentCalculator3x6v1x1Zkey:`${r}commitmentCalculator3x6_final-1.1.zkey`,commitmentCalculator3x6v1x1VK:`${r}commitmentCalculator3x6_final-1.1_verification_key.json`,commitmentCalculator4x2v1x1Wasm:`${r}commitmentCalculator4x2-1.1.wasm`,commitmentCalculator4x2v1x1Zkey:`${r}commitmentCalculator4x2_final-1.1.zkey`,commitmentCalculator4x2v1x1VK:`${r}commitmentCalculator4x2_final-1.1_verification_key.json`,commitmentCalculator4x6v1x1Wasm:`${r}commitmentCalculator4x6-1.1.wasm`,commitmentCalculator4x6v1x1Zkey:`${r}commitmentCalculator4x6_final-1.1.zkey`,commitmentCalculator4x6v1x1VK:`${r}commitmentCalculator4x6_final-1.1_verification_key.json`,commitmentCalculator5x2v1x1Wasm:`${r}commitmentCalculator5x2-1.1.wasm`,commitmentCalculator5x2v1x1Zkey:`${r}commitmentCalculator5x2_final-1.1.zkey`,commitmentCalculator5x2v1x1VK:`${r}commitmentCalculator5x2_final-1.1_verification_key.json`,commitmentCalculator5x6v1x1Wasm:`${r}commitmentCalculator5x6-1.1.wasm`,commitmentCalculator5x6v1x1Zkey:`${r}commitmentCalculator5x6_final-1.1.zkey`,commitmentCalculator5x6v1x1VK:`${r}commitmentCalculator5x6_final-1.1_verification_key.json`},a={mainEVMCircuit1x2x1v1x1Wasm:`mainEVMCircuit1x2x1-1.1.wasm`,mainEVMCircuit1x2x1v1x1Zkey:`mainEVMCircuit1x2x1_final-1.1.zkey`,mainEVMCircuit1x6x1v1x1Wasm:`mainEVMCircuit1x6x1-1.1.wasm`,mainEVMCircuit1x6x1v1x1Zkey:`mainEVMCircuit1x6x1_final-1.1.zkey`,mainEVMCircuit2x2x1v1x1Wasm:`mainEVMCircuit2x2x1-1.1.wasm`,mainEVMCircuit2x2x1v1x1Zkey:`mainEVMCircuit2x2x1_final-1.1.zkey`,mainEVMCircuit2x6x1v1x1Wasm:`mainEVMCircuit2x6x1-1.1.wasm`,mainEVMCircuit2x6x1v1x1Zkey:`mainEVMCircuit2x6x1_final-1.1.zkey`,mainEVMCircuit3x2x1v1x1Wasm:`mainEVMCircuit3x2x1-1.1.wasm`,mainEVMCircuit3x2x1v1x1Zkey:`mainEVMCircuit3x2x1_final-1.1.zkey`,mainEVMCircuit3x6x1v1x1Wasm:`mainEVMCircuit3x6x1-1.1.wasm`,mainEVMCircuit3x6x1v1x1Zkey:`mainEVMCircuit3x6x1_final-1.1.zkey`,mainEVMCircuit4x2x1v1x1Wasm:`mainEVMCircuit4x2x1-1.1.wasm`,mainEVMCircuit4x2x1v1x1Zkey:`mainEVMCircuit4x2x1_final-1.1.zkey`,mainEVMCircuit4x6x1v1x1Wasm:`mainEVMCircuit4x6x1-1.1.wasm`,mainEVMCircuit4x6x1v1x1Zkey:`mainEVMCircuit4x6x1_final-1.1.zkey`,mainEVMCircuit5x2x1v1x1Wasm:`mainEVMCircuit5x2x1-1.1.wasm`,mainEVMCircuit5x2x1v1x1Zkey:`mainEVMCircuit5x2x1_final-1.1.zkey`,mainEVMCircuit5x6x1v1x1Wasm:`mainEVMCircuit5x6x1-1.1.wasm`,mainEVMCircuit5x6x1v1x1Zkey:`mainEVMCircuit5x6x1_final-1.1.zkey`,mainEVMCircuit1x2x2v1x1Wasm:`mainEVMCircuit1x2x2-1.1.wasm`,mainEVMCircuit1x2x2v1x1Zkey:`mainEVMCircuit1x2x2_final-1.1.zkey`,mainEVMCircuit1x6x2v1x1Wasm:`mainEVMCircuit1x6x2-1.1.wasm`,mainEVMCircuit1x6x2v1x1Zkey:`mainEVMCircuit1x6x2_final-1.1.zkey`,mainEVMCircuit2x2x2v1x1Wasm:`mainEVMCircuit2x2x2-1.1.wasm`,mainEVMCircuit2x2x2v1x1Zkey:`mainEVMCircuit2x2x2_final-1.1.zkey`,mainEVMCircuit2x6x2v1x1Wasm:`mainEVMCircuit2x6x2-1.1.wasm`,mainEVMCircuit2x6x2v1x1Zkey:`mainEVMCircuit2x6x2_final-1.1.zkey`,mainEVMCircuitMin0v1x1Wasm:`mainEVMCircuitMin0-1.1.wasm`,mainEVMCircuitMin0v1x1Zkey:`mainEVMCircuitMin0_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Zkey:`mainSolanaCircuit1x2x1_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Wasm:`mainSolanaCircuit1x2x1-1.1.wasm`,mainSolanaCircuit1x2x2v1x1Zkey:`mainSolanaCircuit1x2x2_final-1.1.zkey`,mainSolanaCircuit1x2x2v1x1Wasm:`mainSolanaCircuit1x2x2-1.1.wasm`,mainSolanaCircuit1x6x1v1x1Zkey:`mainSolanaCircuit1x6x1_final-1.1.zkey`,mainSolanaCircuit1x6x1v1x1Wasm:`mainSolanaCircuit1x6x1-1.1.wasm`,mainSolanaCircuit1x6x2v1x1Zkey:`mainSolanaCircuit1x6x2_final-1.1.zkey`,mainSolanaCircuit1x6x2v1x1Wasm:`mainSolanaCircuit1x6x2-1.1.wasm`,mainSolanaCircuit2x2x1v1x1Zkey:`mainSolanaCircuit2x2x1_final-1.1.zkey`,mainSolanaCircuit2x2x1v1x1Wasm:`mainSolanaCircuit2x2x1-1.1.wasm`,mainSolanaCircuit2x6x1v1x1Zkey:`mainSolanaCircuit2x6x1_final-1.1.zkey`,mainSolanaCircuit2x6x1v1x1Wasm:`mainSolanaCircuit2x6x1-1.1.wasm`,commitmentCalculator1x2v1x1Zkey:`commitmentCalculator1x2_final-1.1.zkey`,commitmentCalculator1x2v1x1Wasm:`commitmentCalculator1x2-1.1.wasm`,commitmentCalculator1x2v1x1VK:`commitmentCalculator1x2_final-1.1_verification_key.json`,commitmentCalculator1x6v1x1Zkey:`commitmentCalculator1x6_final-1.1.zkey`,commitmentCalculator1x6v1x1Wasm:`commitmentCalculator1x6-1.1.wasm`,commitmentCalculator1x6v1x1VK:`commitmentCalculator1x6_final-1.1_verification_key.json`,commitmentCalculator2x2v1x1Zkey:`commitmentCalculator2x2_final-1.1.zkey`,commitmentCalculator2x2v1x1Wasm:`commitmentCalculator2x2-1.1.wasm`,commitmentCalculator2x2v1x1VK:`commitmentCalculator2x2_final-1.1_verification_key.json`,commitmentCalculator2x6v1x1Zkey:`commitmentCalculator2x6_final-1.1.zkey`,commitmentCalculator2x6v1x1Wasm:`commitmentCalculator2x6-1.1.wasm`,commitmentCalculator2x6v1x1VK:`commitmentCalculator2x6_final-1.1_verification_key.json`,commitmentCalculator3x2v1x1Zkey:`commitmentCalculator3x2_final-1.1.zkey`,commitmentCalculator3x2v1x1Wasm:`commitmentCalculator3x2-1.1.wasm`,commitmentCalculator3x2v1x1VK:`commitmentCalculator3x2_final-1.1_verification_key.json`,commitmentCalculator3x6v1x1Zkey:`commitmentCalculator3x6_final-1.1.zkey`,commitmentCalculator3x6v1x1Wasm:`commitmentCalculator3x6-1.1.wasm`,commitmentCalculator3x6v1x1VK:`commitmentCalculator3x6_final-1.1_verification_key.json`,commitmentCalculator4x2v1x1Zkey:`commitmentCalculator4x2_final-1.1.zkey`,commitmentCalculator4x2v1x1Wasm:`commitmentCalculator4x2-1.1.wasm`,commitmentCalculator4x2v1x1VK:`commitmentCalculator4x2_final-1.1_verification_key.json`,commitmentCalculator4x6v1x1Zkey:`commitmentCalculator4x6_final-1.1.zkey`,commitmentCalculator4x6v1x1Wasm:`commitmentCalculator4x6-1.1.wasm`,commitmentCalculator4x6v1x1VK:`commitmentCalculator4x6_final-1.1_verification_key.json`,commitmentCalculator5x2v1x1Zkey:`commitmentCalculator5x2_final-1.1.zkey`,commitmentCalculator5x2v1x1Wasm:`commitmentCalculator5x2-1.1.wasm`,commitmentCalculator5x2v1x1VK:`commitmentCalculator5x2_final-1.1_verification_key.json`,commitmentCalculator5x6v1x1Zkey:`commitmentCalculator5x6_final-1.1.zkey`,commitmentCalculator5x6v1x1Wasm:`commitmentCalculator5x6-1.1.wasm`,commitmentCalculator5x6v1x1VK:`commitmentCalculator5x6_final-1.1_verification_key.json`};exports.ENCLAVE_URL=n,exports.localVerifiers=a,exports.prodVerifiers=i;
|
|
1
|
+
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../API/getServerURL.cjs`);var n=e.isNotProduction?`https://enclave-staging-v2.hinkal.io`:`https://enclave-server.hinkal.io`,r=`${t.BACK_END_URL}/verifiers-v2/`,i={mainEVMCircuit1x2x1v1x1Wasm:`${r}mainEVMCircuit1x2x1-1.1.wasm`,mainEVMCircuit1x2x1v1x1Zkey:`${r}mainEVMCircuit1x2x1_final-1.1.zkey`,mainEVMCircuit1x6x1v1x1Wasm:`${r}mainEVMCircuit1x6x1-1.1.wasm`,mainEVMCircuit1x6x1v1x1Zkey:`${r}mainEVMCircuit1x6x1_final-1.1.zkey`,mainEVMCircuit2x2x1v1x1Wasm:`${r}mainEVMCircuit2x2x1-1.1.wasm`,mainEVMCircuit2x2x1v1x1Zkey:`${r}mainEVMCircuit2x2x1_final-1.1.zkey`,mainEVMCircuit2x6x1v1x1Wasm:`${r}mainEVMCircuit2x6x1-1.1.wasm`,mainEVMCircuit2x6x1v1x1Zkey:`${r}mainEVMCircuit2x6x1_final-1.1.zkey`,mainEVMCircuit3x2x1v1x1Wasm:`${r}mainEVMCircuit3x2x1-1.1.wasm`,mainEVMCircuit3x2x1v1x1Zkey:`${r}mainEVMCircuit3x2x1_final-1.1.zkey`,mainEVMCircuit3x6x1v1x1Wasm:`${r}mainEVMCircuit3x6x1-1.1.wasm`,mainEVMCircuit3x6x1v1x1Zkey:`${r}mainEVMCircuit3x6x1_final-1.1.zkey`,mainEVMCircuit4x2x1v1x1Wasm:`${r}mainEVMCircuit4x2x1-1.1.wasm`,mainEVMCircuit4x2x1v1x1Zkey:`${r}mainEVMCircuit4x2x1_final-1.1.zkey`,mainEVMCircuit4x6x1v1x1Wasm:`${r}mainEVMCircuit4x6x1-1.1.wasm`,mainEVMCircuit4x6x1v1x1Zkey:`${r}mainEVMCircuit4x6x1_final-1.1.zkey`,mainEVMCircuit5x2x1v1x1Wasm:`${r}mainEVMCircuit5x2x1-1.1.wasm`,mainEVMCircuit5x2x1v1x1Zkey:`${r}mainEVMCircuit5x2x1_final-1.1.zkey`,mainEVMCircuit5x6x1v1x1Wasm:`${r}mainEVMCircuit5x6x1-1.1.wasm`,mainEVMCircuit5x6x1v1x1Zkey:`${r}mainEVMCircuit5x6x1_final-1.1.zkey`,mainEVMCircuit1x2x2v1x1Wasm:`${r}mainEVMCircuit1x2x2-1.1.wasm`,mainEVMCircuit1x2x2v1x1Zkey:`${r}mainEVMCircuit1x2x2_final-1.1.zkey`,mainEVMCircuit1x6x2v1x1Wasm:`${r}mainEVMCircuit1x6x2-1.1.wasm`,mainEVMCircuit1x6x2v1x1Zkey:`${r}mainEVMCircuit1x6x2_final-1.1.zkey`,mainEVMCircuit2x2x2v1x1Wasm:`${r}mainEVMCircuit2x2x2-1.1.wasm`,mainEVMCircuit2x2x2v1x1Zkey:`${r}mainEVMCircuit2x2x2_final-1.1.zkey`,mainEVMCircuit2x6x2v1x1Wasm:`${r}mainEVMCircuit2x6x2-1.1.wasm`,mainEVMCircuit2x6x2v1x1Zkey:`${r}mainEVMCircuit2x6x2_final-1.1.zkey`,mainEVMCircuitMin0v1x1Wasm:`${r}mainEVMCircuitMin0-1.1.wasm`,mainEVMCircuitMin0v1x1Zkey:`${r}mainEVMCircuitMin0_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Zkey:`${r}mainSolanaCircuit1x2x1_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Wasm:`${r}mainSolanaCircuit1x2x1-1.1.wasm`,mainSolanaCircuit1x2x2v1x1Zkey:`${r}mainSolanaCircuit1x2x2_final-1.1.zkey`,mainSolanaCircuit1x2x2v1x1Wasm:`${r}mainSolanaCircuit1x2x2-1.1.wasm`,mainSolanaCircuit1x6x1v1x1Zkey:`${r}mainSolanaCircuit1x6x1_final-1.1.zkey`,mainSolanaCircuit1x6x1v1x1Wasm:`${r}mainSolanaCircuit1x6x1-1.1.wasm`,mainSolanaCircuit1x6x2v1x1Zkey:`${r}mainSolanaCircuit1x6x2_final-1.1.zkey`,mainSolanaCircuit1x6x2v1x1Wasm:`${r}mainSolanaCircuit1x6x2-1.1.wasm`,mainSolanaCircuit2x2x1v1x1Zkey:`${r}mainSolanaCircuit2x2x1_final-1.1.zkey`,mainSolanaCircuit2x2x1v1x1Wasm:`${r}mainSolanaCircuit2x2x1-1.1.wasm`,mainSolanaCircuit2x6x1v1x1Zkey:`${r}mainSolanaCircuit2x6x1_final-1.1.zkey`,mainSolanaCircuit2x6x1v1x1Wasm:`${r}mainSolanaCircuit2x6x1-1.1.wasm`,commitmentCalculator1x2v1x1Wasm:`${r}commitmentCalculator1x2-1.1.wasm`,commitmentCalculator1x2v1x1Zkey:`${r}commitmentCalculator1x2_final-1.1.zkey`,commitmentCalculator1x2v1x1VK:`${r}commitmentCalculator1x2_final-1.1_verification_key.json`,commitmentCalculator1x6v1x1Wasm:`${r}commitmentCalculator1x6-1.1.wasm`,commitmentCalculator1x6v1x1Zkey:`${r}commitmentCalculator1x6_final-1.1.zkey`,commitmentCalculator1x6v1x1VK:`${r}commitmentCalculator1x6_final-1.1_verification_key.json`,commitmentCalculator2x2v1x1Wasm:`${r}commitmentCalculator2x2-1.1.wasm`,commitmentCalculator2x2v1x1Zkey:`${r}commitmentCalculator2x2_final-1.1.zkey`,commitmentCalculator2x2v1x1VK:`${r}commitmentCalculator2x2_final-1.1_verification_key.json`,commitmentCalculator2x6v1x1Wasm:`${r}commitmentCalculator2x6-1.1.wasm`,commitmentCalculator2x6v1x1Zkey:`${r}commitmentCalculator2x6_final-1.1.zkey`,commitmentCalculator2x6v1x1VK:`${r}commitmentCalculator2x6_final-1.1_verification_key.json`,commitmentCalculator3x2v1x1Wasm:`${r}commitmentCalculator3x2-1.1.wasm`,commitmentCalculator3x2v1x1Zkey:`${r}commitmentCalculator3x2_final-1.1.zkey`,commitmentCalculator3x2v1x1VK:`${r}commitmentCalculator3x2_final-1.1_verification_key.json`,commitmentCalculator3x6v1x1Wasm:`${r}commitmentCalculator3x6-1.1.wasm`,commitmentCalculator3x6v1x1Zkey:`${r}commitmentCalculator3x6_final-1.1.zkey`,commitmentCalculator3x6v1x1VK:`${r}commitmentCalculator3x6_final-1.1_verification_key.json`,commitmentCalculator4x2v1x1Wasm:`${r}commitmentCalculator4x2-1.1.wasm`,commitmentCalculator4x2v1x1Zkey:`${r}commitmentCalculator4x2_final-1.1.zkey`,commitmentCalculator4x2v1x1VK:`${r}commitmentCalculator4x2_final-1.1_verification_key.json`,commitmentCalculator4x6v1x1Wasm:`${r}commitmentCalculator4x6-1.1.wasm`,commitmentCalculator4x6v1x1Zkey:`${r}commitmentCalculator4x6_final-1.1.zkey`,commitmentCalculator4x6v1x1VK:`${r}commitmentCalculator4x6_final-1.1_verification_key.json`,commitmentCalculator5x2v1x1Wasm:`${r}commitmentCalculator5x2-1.1.wasm`,commitmentCalculator5x2v1x1Zkey:`${r}commitmentCalculator5x2_final-1.1.zkey`,commitmentCalculator5x2v1x1VK:`${r}commitmentCalculator5x2_final-1.1_verification_key.json`,commitmentCalculator5x6v1x1Wasm:`${r}commitmentCalculator5x6-1.1.wasm`,commitmentCalculator5x6v1x1Zkey:`${r}commitmentCalculator5x6_final-1.1.zkey`,commitmentCalculator5x6v1x1VK:`${r}commitmentCalculator5x6_final-1.1_verification_key.json`},a={mainEVMCircuit1x2x1v1x1Wasm:`mainEVMCircuit1x2x1-1.1.wasm`,mainEVMCircuit1x2x1v1x1Zkey:`mainEVMCircuit1x2x1_final-1.1.zkey`,mainEVMCircuit1x6x1v1x1Wasm:`mainEVMCircuit1x6x1-1.1.wasm`,mainEVMCircuit1x6x1v1x1Zkey:`mainEVMCircuit1x6x1_final-1.1.zkey`,mainEVMCircuit2x2x1v1x1Wasm:`mainEVMCircuit2x2x1-1.1.wasm`,mainEVMCircuit2x2x1v1x1Zkey:`mainEVMCircuit2x2x1_final-1.1.zkey`,mainEVMCircuit2x6x1v1x1Wasm:`mainEVMCircuit2x6x1-1.1.wasm`,mainEVMCircuit2x6x1v1x1Zkey:`mainEVMCircuit2x6x1_final-1.1.zkey`,mainEVMCircuit3x2x1v1x1Wasm:`mainEVMCircuit3x2x1-1.1.wasm`,mainEVMCircuit3x2x1v1x1Zkey:`mainEVMCircuit3x2x1_final-1.1.zkey`,mainEVMCircuit3x6x1v1x1Wasm:`mainEVMCircuit3x6x1-1.1.wasm`,mainEVMCircuit3x6x1v1x1Zkey:`mainEVMCircuit3x6x1_final-1.1.zkey`,mainEVMCircuit4x2x1v1x1Wasm:`mainEVMCircuit4x2x1-1.1.wasm`,mainEVMCircuit4x2x1v1x1Zkey:`mainEVMCircuit4x2x1_final-1.1.zkey`,mainEVMCircuit4x6x1v1x1Wasm:`mainEVMCircuit4x6x1-1.1.wasm`,mainEVMCircuit4x6x1v1x1Zkey:`mainEVMCircuit4x6x1_final-1.1.zkey`,mainEVMCircuit5x2x1v1x1Wasm:`mainEVMCircuit5x2x1-1.1.wasm`,mainEVMCircuit5x2x1v1x1Zkey:`mainEVMCircuit5x2x1_final-1.1.zkey`,mainEVMCircuit5x6x1v1x1Wasm:`mainEVMCircuit5x6x1-1.1.wasm`,mainEVMCircuit5x6x1v1x1Zkey:`mainEVMCircuit5x6x1_final-1.1.zkey`,mainEVMCircuit1x2x2v1x1Wasm:`mainEVMCircuit1x2x2-1.1.wasm`,mainEVMCircuit1x2x2v1x1Zkey:`mainEVMCircuit1x2x2_final-1.1.zkey`,mainEVMCircuit1x6x2v1x1Wasm:`mainEVMCircuit1x6x2-1.1.wasm`,mainEVMCircuit1x6x2v1x1Zkey:`mainEVMCircuit1x6x2_final-1.1.zkey`,mainEVMCircuit2x2x2v1x1Wasm:`mainEVMCircuit2x2x2-1.1.wasm`,mainEVMCircuit2x2x2v1x1Zkey:`mainEVMCircuit2x2x2_final-1.1.zkey`,mainEVMCircuit2x6x2v1x1Wasm:`mainEVMCircuit2x6x2-1.1.wasm`,mainEVMCircuit2x6x2v1x1Zkey:`mainEVMCircuit2x6x2_final-1.1.zkey`,mainEVMCircuitMin0v1x1Wasm:`mainEVMCircuitMin0-1.1.wasm`,mainEVMCircuitMin0v1x1Zkey:`mainEVMCircuitMin0_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Zkey:`mainSolanaCircuit1x2x1_final-1.1.zkey`,mainSolanaCircuit1x2x1v1x1Wasm:`mainSolanaCircuit1x2x1-1.1.wasm`,mainSolanaCircuit1x2x2v1x1Zkey:`mainSolanaCircuit1x2x2_final-1.1.zkey`,mainSolanaCircuit1x2x2v1x1Wasm:`mainSolanaCircuit1x2x2-1.1.wasm`,mainSolanaCircuit1x6x1v1x1Zkey:`mainSolanaCircuit1x6x1_final-1.1.zkey`,mainSolanaCircuit1x6x1v1x1Wasm:`mainSolanaCircuit1x6x1-1.1.wasm`,mainSolanaCircuit1x6x2v1x1Zkey:`mainSolanaCircuit1x6x2_final-1.1.zkey`,mainSolanaCircuit1x6x2v1x1Wasm:`mainSolanaCircuit1x6x2-1.1.wasm`,mainSolanaCircuit2x2x1v1x1Zkey:`mainSolanaCircuit2x2x1_final-1.1.zkey`,mainSolanaCircuit2x2x1v1x1Wasm:`mainSolanaCircuit2x2x1-1.1.wasm`,mainSolanaCircuit2x6x1v1x1Zkey:`mainSolanaCircuit2x6x1_final-1.1.zkey`,mainSolanaCircuit2x6x1v1x1Wasm:`mainSolanaCircuit2x6x1-1.1.wasm`,commitmentCalculator1x2v1x1Zkey:`commitmentCalculator1x2_final-1.1.zkey`,commitmentCalculator1x2v1x1Wasm:`commitmentCalculator1x2-1.1.wasm`,commitmentCalculator1x2v1x1VK:`commitmentCalculator1x2_final-1.1_verification_key.json`,commitmentCalculator1x6v1x1Zkey:`commitmentCalculator1x6_final-1.1.zkey`,commitmentCalculator1x6v1x1Wasm:`commitmentCalculator1x6-1.1.wasm`,commitmentCalculator1x6v1x1VK:`commitmentCalculator1x6_final-1.1_verification_key.json`,commitmentCalculator2x2v1x1Zkey:`commitmentCalculator2x2_final-1.1.zkey`,commitmentCalculator2x2v1x1Wasm:`commitmentCalculator2x2-1.1.wasm`,commitmentCalculator2x2v1x1VK:`commitmentCalculator2x2_final-1.1_verification_key.json`,commitmentCalculator2x6v1x1Zkey:`commitmentCalculator2x6_final-1.1.zkey`,commitmentCalculator2x6v1x1Wasm:`commitmentCalculator2x6-1.1.wasm`,commitmentCalculator2x6v1x1VK:`commitmentCalculator2x6_final-1.1_verification_key.json`,commitmentCalculator3x2v1x1Zkey:`commitmentCalculator3x2_final-1.1.zkey`,commitmentCalculator3x2v1x1Wasm:`commitmentCalculator3x2-1.1.wasm`,commitmentCalculator3x2v1x1VK:`commitmentCalculator3x2_final-1.1_verification_key.json`,commitmentCalculator3x6v1x1Zkey:`commitmentCalculator3x6_final-1.1.zkey`,commitmentCalculator3x6v1x1Wasm:`commitmentCalculator3x6-1.1.wasm`,commitmentCalculator3x6v1x1VK:`commitmentCalculator3x6_final-1.1_verification_key.json`,commitmentCalculator4x2v1x1Zkey:`commitmentCalculator4x2_final-1.1.zkey`,commitmentCalculator4x2v1x1Wasm:`commitmentCalculator4x2-1.1.wasm`,commitmentCalculator4x2v1x1VK:`commitmentCalculator4x2_final-1.1_verification_key.json`,commitmentCalculator4x6v1x1Zkey:`commitmentCalculator4x6_final-1.1.zkey`,commitmentCalculator4x6v1x1Wasm:`commitmentCalculator4x6-1.1.wasm`,commitmentCalculator4x6v1x1VK:`commitmentCalculator4x6_final-1.1_verification_key.json`,commitmentCalculator5x2v1x1Zkey:`commitmentCalculator5x2_final-1.1.zkey`,commitmentCalculator5x2v1x1Wasm:`commitmentCalculator5x2-1.1.wasm`,commitmentCalculator5x2v1x1VK:`commitmentCalculator5x2_final-1.1_verification_key.json`,commitmentCalculator5x6v1x1Zkey:`commitmentCalculator5x6_final-1.1.zkey`,commitmentCalculator5x6v1x1Wasm:`commitmentCalculator5x6-1.1.wasm`,commitmentCalculator5x6v1x1VK:`commitmentCalculator5x6_final-1.1_verification_key.json`};exports.ENCLAVE_URL=n,exports.localVerifiers=a,exports.prodVerifiers=i;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isNotProduction as e } from "../../constants/vite.constants.mjs";
|
|
2
2
|
import { BACK_END_URL as t } from "../../API/getServerURL.mjs";
|
|
3
3
|
//#region libs/shared/common/src/functions/snarkjs/constant.ts
|
|
4
|
-
var n = e ? "https://enclave-staging.hinkal.io" : "https://enclave-server.hinkal.io", r = `${t}/verifiers-v2/`, i = {
|
|
4
|
+
var n = e ? "https://enclave-staging-v2.hinkal.io" : "https://enclave-server.hinkal.io", r = `${t}/verifiers-v2/`, i = {
|
|
5
5
|
mainEVMCircuit1x2x1v1x1Wasm: `${r}mainEVMCircuit1x2x1-1.1.wasm`,
|
|
6
6
|
mainEVMCircuit1x2x1v1x1Zkey: `${r}mainEVMCircuit1x2x1_final-1.1.zkey`,
|
|
7
7
|
mainEVMCircuit1x6x1v1x1Wasm: `${r}mainEVMCircuit1x6x1-1.1.wasm`,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const t=require(`../snarkjs/constant.cjs`);var n=class{cachedPublicKey;cachedAt=0;inFlight;constructor(e=300*1e3){this.ttlMs=e}async getPublicKey(){return this.cachedPublicKey&&Date.now()-this.cachedAt<this.ttlMs?this.cachedPublicKey:(this.inFlight||=e.httpClient.get(`${t.ENCLAVE_URL}/handshake`).then(e=>(this.cachedPublicKey=e.public_key,this.cachedAt=Date.now(),this.cachedPublicKey)).finally(()=>{this.inFlight=void 0}),this.inFlight)}invalidate(){this.cachedPublicKey=void 0,this.cachedAt=0}},r=new n;exports.EnclaveHandshakeService=n,exports.enclaveHandshakeService=r;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class EnclaveHandshakeService {
|
|
2
|
+
private readonly ttlMs;
|
|
3
|
+
private cachedPublicKey?;
|
|
4
|
+
private cachedAt;
|
|
5
|
+
private inFlight?;
|
|
6
|
+
constructor(ttlMs?: number);
|
|
7
|
+
getPublicKey(): Promise<string>;
|
|
8
|
+
invalidate(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const enclaveHandshakeService: EnclaveHandshakeService;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { httpClient as e } from "../../data-structures/http/HttpClient.mjs";
|
|
2
|
+
import "../../data-structures/http/index.mjs";
|
|
3
|
+
import { ENCLAVE_URL as t } from "../snarkjs/constant.mjs";
|
|
4
|
+
//#region libs/shared/common/src/functions/utils/enclaveHandshakeService.ts
|
|
5
|
+
var n = class {
|
|
6
|
+
cachedPublicKey;
|
|
7
|
+
cachedAt = 0;
|
|
8
|
+
inFlight;
|
|
9
|
+
constructor(e = 300 * 1e3) {
|
|
10
|
+
this.ttlMs = e;
|
|
11
|
+
}
|
|
12
|
+
async getPublicKey() {
|
|
13
|
+
return this.cachedPublicKey && Date.now() - this.cachedAt < this.ttlMs ? this.cachedPublicKey : (this.inFlight ||= e.get(`${t}/handshake`).then((e) => (this.cachedPublicKey = e.public_key, this.cachedAt = Date.now(), this.cachedPublicKey)).finally(() => {
|
|
14
|
+
this.inFlight = void 0;
|
|
15
|
+
}), this.inFlight);
|
|
16
|
+
}
|
|
17
|
+
invalidate() {
|
|
18
|
+
this.cachedPublicKey = void 0, this.cachedAt = 0;
|
|
19
|
+
}
|
|
20
|
+
}, r = new n();
|
|
21
|
+
//#endregion
|
|
22
|
+
export { n as EnclaveHandshakeService, r as enclaveHandshakeService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`./enclaveHandshakeService.cjs`);let r=require(`ethers`),i=require(`libsodium-wrappers`);i=e.__toESM(i);let a=require(`node-forge`);a=e.__toESM(a);var o=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,s=e=>a.util.hexToBytes(e.replace(`0x`,``)),c=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=o(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(o)):t[e]=n.map(o))}),t},l=(e,t)=>{let n=a.util.decode64(e),r=a.asn1.fromDer(a.util.createBuffer(n)),i=a.pki.publicKeyFromAsn1(r),o=a.util.binary.raw.encode(t),s=i.encrypt(o,`RSA-OAEP`,{md:a.md.sha1.create(),mgf1:{md:a.md.sha1.create()}});return a.util.encode64(s)},u=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_NONCEBYTES),o=i.default.crypto_secretbox_easy(t,n,e),c=s(r.ethers.hexlify(n)+r.ethers.hexlify(o).slice(2));return a.util.encode64(c)},d=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:l(t,n),inputCiphertext:u(n,e)}},f=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(c(e));return d(new TextEncoder().encode(r),n)},p=async e=>f(e,await n.enclaveHandshakeService.getPublicKey()),m=async e=>d(e,await n.enclaveHandshakeService.getPublicKey());exports.makeEnclaveHandshakeAndEncryptInput=p,exports.makeEnclaveHandshakeAndEncryptUint8Array=m;
|
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
import { safeJsonStringify as e } from "./serialize.utils.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import i from "libsodium-wrappers";
|
|
7
|
-
import * as a from "node-forge";
|
|
2
|
+
import { enclaveHandshakeService as t } from "./enclaveHandshakeService.mjs";
|
|
3
|
+
import { ethers as n } from "ethers";
|
|
4
|
+
import r from "libsodium-wrappers";
|
|
5
|
+
import * as i from "node-forge";
|
|
8
6
|
//#region libs/shared/common/src/functions/utils/encryptInputForEnclave.ts
|
|
9
|
-
var
|
|
7
|
+
var a = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, o = (e) => i.util.hexToBytes(e.replace("0x", "")), s = (e) => {
|
|
10
8
|
let t = structuredClone(e);
|
|
11
9
|
return Object.entries(t).forEach(([e, n]) => {
|
|
12
|
-
t[e] =
|
|
10
|
+
t[e] = a(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(a)) : t[e] = n.map(a));
|
|
13
11
|
}), t;
|
|
14
|
-
},
|
|
15
|
-
let n =
|
|
16
|
-
md:
|
|
17
|
-
mgf1: { md:
|
|
12
|
+
}, c = (e, t) => {
|
|
13
|
+
let n = i.util.decode64(e), r = i.asn1.fromDer(i.util.createBuffer(n)), a = i.pki.publicKeyFromAsn1(r), o = i.util.binary.raw.encode(t), s = a.encrypt(o, "RSA-OAEP", {
|
|
14
|
+
md: i.md.sha1.create(),
|
|
15
|
+
mgf1: { md: i.md.sha1.create() }
|
|
18
16
|
});
|
|
19
|
-
return
|
|
20
|
-
},
|
|
21
|
-
let
|
|
22
|
-
return
|
|
23
|
-
},
|
|
24
|
-
let n =
|
|
17
|
+
return i.util.encode64(s);
|
|
18
|
+
}, l = (e, t) => {
|
|
19
|
+
let a = r.randombytes_buf(r.crypto_secretbox_NONCEBYTES), s = r.crypto_secretbox_easy(t, a, e), c = o(n.hexlify(a) + n.hexlify(s).slice(2));
|
|
20
|
+
return i.util.encode64(c);
|
|
21
|
+
}, u = (e, t) => {
|
|
22
|
+
let n = r.randombytes_buf(r.crypto_secretbox_KEYBYTES);
|
|
25
23
|
return {
|
|
26
|
-
keyCiphertext:
|
|
27
|
-
inputCiphertext:
|
|
24
|
+
keyCiphertext: c(t, n),
|
|
25
|
+
inputCiphertext: l(n, e)
|
|
28
26
|
};
|
|
29
|
-
},
|
|
30
|
-
let r = typeof t == "string" ? t : e(
|
|
31
|
-
return
|
|
32
|
-
},
|
|
27
|
+
}, d = (t, n) => {
|
|
28
|
+
let r = typeof t == "string" ? t : e(s(t));
|
|
29
|
+
return u(new TextEncoder().encode(r), n);
|
|
30
|
+
}, f = async (e) => d(e, await t.getPublicKey()), p = async (e) => u(e, await t.getPublicKey());
|
|
33
31
|
//#endregion
|
|
34
|
-
export {
|
|
32
|
+
export { f as makeEnclaveHandshakeAndEncryptInput, p as makeEnclaveHandshakeAndEncryptUint8Array };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./serialize.utils.cjs`),require(`./get-signature-header.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./addresses.cjs`),require(`./auth.utils.cjs`),require(`./amounts.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./bytes32.utils.cjs`),require(`./time.utils.cjs`),require(`./bit.operations.cjs`),require(`./upToDateState.cjs`),require(`./getDataFromTransaction.cjs`),require(`./cacheFunctions.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./mutexes.utils.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/interaction-to-action.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getFlatFees.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/addressTableLookup.cjs`),require(`../pre-transaction/solana-public-signals.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`../pre-transaction/store-proof.cjs`),require(`../pre-transaction/sendInitNullifiersTransaction.cjs`),require(`../pre-transaction/recipientUtxoProcessing.cjs`),require(`../pre-transaction/store-instructions.cjs`),require(`../pre-transaction/ensureAmountChanges.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`../pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./requireEnv.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.cjs`),require(`./nickname.utils.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./arraysMatch.cjs`),require(`./trimFieldValues.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./is-valid-url.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getContractAddress.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./validateUsername.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./pay-routing.utils.cjs`),require(`./formatter.cjs`),require(`./tronSimulation.utils.cjs`),require(`./getSignerFromContract.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./getWalletGroupKey.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`);
|
|
1
|
+
require(`./serialize.utils.cjs`),require(`./get-signature-header.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./addresses.cjs`),require(`./auth.utils.cjs`),require(`./amounts.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./bytes32.utils.cjs`),require(`./time.utils.cjs`),require(`./bit.operations.cjs`),require(`./upToDateState.cjs`),require(`./getDataFromTransaction.cjs`),require(`./cacheFunctions.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./mutexes.utils.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/interaction-to-action.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getFlatFees.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/addressTableLookup.cjs`),require(`../pre-transaction/solana-public-signals.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`../pre-transaction/store-proof.cjs`),require(`../pre-transaction/sendInitNullifiersTransaction.cjs`),require(`../pre-transaction/recipientUtxoProcessing.cjs`),require(`../pre-transaction/store-instructions.cjs`),require(`../pre-transaction/ensureAmountChanges.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`../pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./requireEnv.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.cjs`),require(`./nickname.utils.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./arraysMatch.cjs`),require(`./trimFieldValues.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./is-valid-url.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getContractAddress.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./validateUsername.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./pay-routing.utils.cjs`),require(`./formatter.cjs`),require(`./tronSimulation.utils.cjs`),require(`./getSignerFromContract.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./getWalletGroupKey.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`);
|
|
@@ -62,6 +62,7 @@ export * from './transfer-claimable.utils';
|
|
|
62
62
|
export * from './auth.utils';
|
|
63
63
|
export * from './getWalletGroupKey.utils';
|
|
64
64
|
export * from './encryptInputForEnclave';
|
|
65
|
+
export * from './enclaveHandshakeService';
|
|
65
66
|
export * from './dispatchBalanceRefreshes';
|
|
66
67
|
export * from './lifi.utils';
|
|
67
68
|
export * from './enclave-recipient-info-storage';
|
|
@@ -11,6 +11,7 @@ import "./bit.operations.mjs";
|
|
|
11
11
|
import "./upToDateState.mjs";
|
|
12
12
|
import "./getDataFromTransaction.mjs";
|
|
13
13
|
import "./cacheFunctions.mjs";
|
|
14
|
+
import "./enclaveHandshakeService.mjs";
|
|
14
15
|
import "./encryptInputForEnclave.mjs";
|
|
15
16
|
import "./solanaMint.utils.mjs";
|
|
16
17
|
import "./customEnclaveFunctionsRegister.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/http/HttpClient.cjs`),r=require(`../snarkjs/constant.cjs`),i=require(`./caseInsensitive.utils.cjs`),a=require(`../../externalABIs/index.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../error-handling/logger.cjs`);let c=require(`ethers`),l=require(`tronweb`);var u=[`https://nile.trongrid.io`,`https://api.shasta.trongrid.io`],d=2000n,f=t=>{let n=t.toLowerCase();return u.some(e=>n.includes(e))?e.chainIds.tronNile:e.chainIds.tronMainnet},p=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t;if(!/^[0-9a-fA-F]{64}$/.test(n))throw Error(`Tron private key must be 32 bytes (64 hex characters), with or without 0x prefix`);return n},m=(t,n)=>{let r=e.networkRegistry[t].fetchRpcUrl,i=n?p(n):void 0,a=i?new l.TronWeb({fullHost:r,privateKey:i}):new l.TronWeb({fullHost:r});return n||a.setAddress(`T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb`),a},h=e=>e?.startsWith(`T`)?e:l.TronWeb.address.fromHex(e),g=e=>e.startsWith(`0x`)?h(e):e,_=e=>{if(e.startsWith(`0x`))return e;if(e.startsWith(`41`))return e.replace(`41`,`0x`);if(e.startsWith(`T`))return _(l.TronWeb.address.toHex(e));throw Error(`Failed to convert address to hex format`)},v=e=>e?.startsWith(`T`)?_(e):e,y=t=>{if(t===e.chainIds.tronNile)return`https://nile.trongrid.io`;if(t===e.chainIds.tronMainnet)return`https://api.trongrid.io`;throw Error(`Unsupported Tron chain for wallet RPC: ${t}`)},b=(e,t)=>e.map(e=>Array.isArray(e)?b(e,t):t(e)),x=(e,t,n)=>{let r=new c.ethers.Interface(e);if(!r.getFunction(t))throw Error(`${t} ABI is missing for Tron call data creation`);let i=b(n,e=>typeof e==`string`&&e.startsWith(`T`)?_(e):e);return r.encodeFunctionData(t,i)},S=(e,t,n)=>e?BigInt(Math.max((e[t]??0)-(e[n]??0),0)):0n,C=(e,t)=>{let n=e.find(e=>e.key===t);if(!n||typeof n.value!=`number`)throw Error(`Missing Tron chain parameter: ${t}`);return BigInt(n.value)},w=async e=>{let t=`${y(e)}/wallet/getchainparameters`,r=await n.httpClient.post(t,{});if(!r?.chainParameter?.length)throw Error(`Failed to fetch Tron chain parameters from wallet RPC`);return r.chainParameter},T=async(e,t)=>{let r=`${y(e)}/wallet/getaccountresource`,i=_(t),a=i.startsWith(`0x`)?`41${i.slice(2)}`:i;return await n.httpClient.post(r,{address:a,visible:!1})},E=async(e,n,r,i,a,o)=>{let s={input:a,callValue:Number(o),feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[c,l]=await Promise.all([e.transactionBuilder.estimateEnergy(r,``,s,[],i),e.transactionBuilder.triggerConstantContract(r,``,s,[],i)]),u=await w(n),f=C(u,`getEnergyFee`),p=C(u,`getTransactionFee`),m=await T(n,i),h=BigInt(c?.energy_required??l?.energy_used??0),g=S(m,`EnergyLimit`,`EnergyUsed`),_=(h>g?h-g:0n)*f,v=BigInt(Math.ceil((l?.transaction?.raw_data_hex?.length??0)/2)),y=S(m,`freeNetLimit`,`freeNetUsed`)+S(m,`NetLimit`,`NetUsed`),b=_+(v>y?v-y:0n)*p,x=b+b*d/10000n;return x>BigInt(1e9)?BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN):x},D=e=>{let t=e[0].map(BigInt),n=e[1][0].map(BigInt),r=e[1][1].map(BigInt),i=e[2].map(BigInt),a=e[3].map(BigInt);return{a:t,b:[[n[1],n[0]],[r[1],r[0]]],c:i,publicSignals:a}},O=(e,t)=>{let n=c.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`uint16`,`uint16`,`uint256`],[e.tokenNumber,e.nullifierAmount,e.outputAmount,t]);return BigInt(c.ethers.keccak256(n))},k=async(e,t,i,a,o,s)=>{let l=O(o,s),u=e.map(String),d=i.map(String),f=a.map(String),p={a:u,b:[t[0].map(String),t[1].map(String)],c:d,inputs:f,verifier_id:String(l)},m=await n.httpClient.post(`${r.ENCLAVE_URL}/sign-proof`,p),{v:h,r:g,s:_}=c.ethers.Signature.from(m.signature.trim());return{v:h,r:g,s:_}},A=e=>[e.rootHashHinkal,e.erc20TokenAddresses,e.tokenIds,e.amountChanges,e.onChainCreation,e.slippageValues,e.inputNullifiers,e.outCommitments,e.encryptedOutputs,[e.feeStructure.feeToken,e.feeStructure.flatFee,e.feeStructure.variableRate],e.timeStamp,[e.stealthAddressStructure.extraRandomization,e.stealthAddressStructure.stealthAddress,e.stealthAddressStructure.H0,e.stealthAddressStructure.H1],e.rootHashAccessToken,e.calldataHash,e.publicSignalCount,e.relay,e.externalAddress,e.externalActionId,e.externalActionMetadata,[e.hinkalLogicArgs.hinkalLogicAction,e.hinkalLogicArgs.inHinkalAddress,e.hinkalLogicArgs.executeApprovalChanges,e.hinkalLogicArgs.doPreTxApproval,e.hinkalLogicArgs.useApprovalUtxoData.map(e=>[e.approvalChanges,e.externalApprovalAddresses,e.conversionInHinkalAddress])],[e.hookData.preHookContract,e.hookData.hookContract,e.hookData.preHookMetadata,e.hookData.postHookMetadata],[e.signatureData.v,e.signatureData.r,e.signatureData.s,e.signatureData.accessKey,e.signatureData.nonce,e.signatureData.ethereumAddress],e.originalSender],j=async(e,t,n,r,i=!0)=>{if(e){let{a:e,b:a,c:o,publicSignals:s}=D(t),c=await k(e,a,o,s,n,BigInt(r.externalActionId)),l={v:c.v,r:c.r,s:c.s};return i&&(t[1]=[[t[1][0][1],t[1][0][0]],[t[1][1][1],t[1][1][0]]]),l}},M=(e,n)=>{let r=0n,a=new Map;for(let o=0;o<e.length;o+=1)if(i.caseInsensitiveEqual(e[o].erc20TokenAddress,t.zeroAddress))r+=n[o];else{let t=h(e[o].erc20TokenAddress);a.set(t,(a.get(t)??0n)+n[o])}return{totalTrxValue:r,tokensNeedingApproval:a}},N=async(e,n,r,i,a,c)=>{let l=BigInt(await e.trx.getBalance(i)),u=BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN);try{u=await E(e,n,r,i,a,c)}catch(e){s.Logger.error(`Error estimating Tron deposit fee`,e)}if(l<c+u)throw Error(o.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)},P=async(e,n,r,i)=>{let o=Array.from(i.entries());for(let i=0;i<o.length;i+=1){let[s,c]=o[i],l=await e.contract(a.ERC20ABI,s).allowance(n,r).call({from:n});if(BigInt(String(l))<c){let{transaction:i}=await e.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:r},{type:`uint256`,value:c.toString()}],n),a=await e.trx.sign(i),o=await e.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}}}};exports.addressToHexFormat=_,exports.approveTronTokens=P,exports.assertTronSufficientBalance=N,exports.circomDataToArray=A,exports.createTronCallData=x,exports.createTronWeb=m,exports.detectTronChainIdFromHost=f,exports.estimateTronFeeSunWithPadding=E,exports.evmHexToTronBase58Address=h,exports.fetchTronAccountResources=T,exports.fetchTronChainParameters=w,exports.generateProofSignatureRemotely=k,exports.getAvailableResource=S,exports.getChainParameterValue=C,exports.getVerifierId=O,exports.normalizeTronAddr=v,exports.normalizeTronPrivateKey=p,exports.parseZkCalldata=D,exports.reorderZkCallData=j,exports.splitTronTokensByNative=M,exports.toTronBase58IfHex=g;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../data-structures/http/HttpClient.cjs`),r=require(`../snarkjs/constant.cjs`),i=require(`./caseInsensitive.utils.cjs`),a=require(`../../externalABIs/index.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../error-handling/logger.cjs`);let c=require(`ethers`),l=require(`tronweb`);var u=[`https://nile.trongrid.io`,`https://api.shasta.trongrid.io`],d=2000n,f=t=>{let n=t.toLowerCase();return u.some(e=>n.includes(e))?e.chainIds.tronNile:e.chainIds.tronMainnet},p=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t;if(!/^[0-9a-fA-F]{64}$/.test(n))throw Error(`Tron private key must be 32 bytes (64 hex characters), with or without 0x prefix`);return n},m=(t,n)=>{let r=e.networkRegistry[t].fetchRpcUrl,i=n?p(n):void 0,a=i?new l.TronWeb({fullHost:r,privateKey:i}):new l.TronWeb({fullHost:r});return n||a.setAddress(`T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb`),a},h=e=>e?.startsWith(`T`)?e:l.TronWeb.address.fromHex(e),g=e=>e.startsWith(`0x`)?h(e):e,_=e=>{if(e.startsWith(`0x`))return e;if(e.startsWith(`41`))return e.replace(`41`,`0x`);if(e.startsWith(`T`))return _(l.TronWeb.address.toHex(e));throw Error(`Failed to convert address to hex format`)},v=e=>e?.startsWith(`T`)?_(e):e,y=t=>{if(t===e.chainIds.tronNile)return`https://nile.trongrid.io`;if(t===e.chainIds.tronMainnet)return`https://api.trongrid.io`;throw Error(`Unsupported Tron chain for wallet RPC: ${t}`)},b=(e,t)=>e.map(e=>Array.isArray(e)?b(e,t):t(e)),x=(e,t,n)=>{let r=new c.ethers.Interface(e);if(!r.getFunction(t))throw Error(`${t} ABI is missing for Tron call data creation`);let i=b(n,e=>typeof e==`string`&&e.startsWith(`T`)?_(e):e);return r.encodeFunctionData(t,i)},S=(e,t,n)=>e?BigInt(Math.max((e[t]??0)-(e[n]??0),0)):0n,C=(e,t)=>{let n=e.find(e=>e.key===t);if(!n||typeof n.value!=`number`)throw Error(`Missing Tron chain parameter: ${t}`);return BigInt(n.value)},w=async e=>{let t=`${y(e)}/wallet/getchainparameters`,r=await n.httpClient.post(t,{});if(!r?.chainParameter?.length)throw Error(`Failed to fetch Tron chain parameters from wallet RPC`);return r.chainParameter},T=async(e,t)=>{let r=`${y(e)}/wallet/getaccountresource`,i=_(t),a=i.startsWith(`0x`)?`41${i.slice(2)}`:i;return await n.httpClient.post(r,{address:a,visible:!1})},E=async(e,n,r,i,a,o)=>{let s={input:a,callValue:Number(o),feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[c,l]=await Promise.all([e.transactionBuilder.estimateEnergy(r,``,s,[],i),e.transactionBuilder.triggerConstantContract(r,``,s,[],i)]),u=await w(n),f=C(u,`getEnergyFee`),p=C(u,`getTransactionFee`),m=await T(n,i),h=BigInt(c?.energy_required??l?.energy_used??0),g=S(m,`EnergyLimit`,`EnergyUsed`),_=(h>g?h-g:0n)*f,v=BigInt(Math.ceil((l?.transaction?.raw_data_hex?.length??0)/2)),y=S(m,`freeNetLimit`,`freeNetUsed`)+S(m,`NetLimit`,`NetUsed`),b=_+(v>y?v-y:0n)*p,x=b+b*d/10000n;return x>BigInt(1e9)?BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN):x},D=e=>{let t=e[0].map(BigInt),n=e[1][0].map(BigInt),r=e[1][1].map(BigInt),i=e[2].map(BigInt),a=e[3].map(BigInt);return{a:t,b:[[n[1],n[0]],[r[1],r[0]]],c:i,publicSignals:a}},O=(e,t)=>{let n=c.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`uint16`,`uint16`,`uint256`],[e.tokenNumber,e.nullifierAmount,e.outputAmount,t]);return BigInt(c.ethers.keccak256(n))},k=async(e,t,i,a,o,s)=>{let l=O(o,s),u=e.map(String),d=i.map(String),f=a.map(String),p={a:u,b:[t[0].map(String),t[1].map(String)],c:d,inputs:f,verifier_id:String(l)},m=await n.httpClient.post(`${r.ENCLAVE_URL}/sign-proof`,p),{v:h,r:g,s:_}=c.ethers.Signature.from(m.signature.trim());return{v:h,r:g,s:_}},A=e=>[e.rootHashHinkal,e.erc20TokenAddresses,e.tokenIds,e.amountChanges,e.onChainCreation,e.slippageValues,e.inputNullifiers,e.outCommitments,e.encryptedOutputs,[e.feeStructure.feeToken,e.feeStructure.flatFee,e.feeStructure.variableRate],e.timeStamp,[e.stealthAddressStructure.extraRandomization,e.stealthAddressStructure.stealthAddress,e.stealthAddressStructure.H0,e.stealthAddressStructure.H1],e.rootHashAccessToken,e.calldataHash,e.publicSignalCount,e.relay,e.externalAddress,e.externalActionId,e.externalActionMetadata,[e.hinkalLogicArgs.hinkalLogicAction,e.hinkalLogicArgs.inHinkalAddress,e.hinkalLogicArgs.executeApprovalChanges,e.hinkalLogicArgs.doPreTxApproval,e.hinkalLogicArgs.useApprovalUtxoData.map(e=>[e.approvalChanges,e.externalApprovalAddresses,e.conversionInHinkalAddress])],[e.hookData.preHookContract,e.hookData.hookContract,e.hookData.preHookMetadata,e.hookData.postHookMetadata],[e.signatureData.v,e.signatureData.r,e.signatureData.s,e.signatureData.accessKey,e.signatureData.nonce,e.signatureData.ethereumAddress],e.originalSender],j=async(e,t,n,r,i=!0)=>{if(e){let{a:e,b:a,c:o,publicSignals:s}=D(t),c=await k(e,a,o,s,n,BigInt(r.externalActionId)),l={v:c.v,r:c.r,s:c.s};return i&&(t[1]=[[t[1][0][1],t[1][0][0]],[t[1][1][1],t[1][1][0]]]),l}},M=(e,n)=>{let r=0n,a=new Map;for(let o=0;o<e.length;o+=1)if(i.caseInsensitiveEqual(e[o].erc20TokenAddress,t.zeroAddress))r+=n[o];else{let t=h(e[o].erc20TokenAddress);a.set(t,(a.get(t)??0n)+n[o])}return{totalTrxValue:r,tokensNeedingApproval:a}},N=async(e,n,r,i,a,c)=>{let l=BigInt(await e.trx.getBalance(i)),u=BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN);try{u=await E(e,n,r,i,a,c)}catch(e){s.Logger.error(`Error estimating Tron deposit fee`,e)}if(l<c+u)throw Error(o.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)},P=async(e,n,r,i)=>{let o=Array.from(i.entries());for(let i=0;i<o.length;i+=1){let[s,c]=o[i],l=await e.contract(a.ERC20ABI,s).allowance(n,r).call({from:n});if(BigInt(String(l))<c){let{transaction:i}=await e.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:r},{type:`uint256`,value:c.toString()}],n),a=await e.trx.sign(i),o=await e.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}}}};exports.addressToHexFormat=_,exports.approveTronTokens=P,exports.assertTronSufficientBalance=N,exports.circomDataToArray=A,exports.createTronCallData=x,exports.createTronWeb=m,exports.detectTronChainIdFromHost=f,exports.estimateTronFeeSunWithPadding=E,exports.evmHexToTronBase58Address=h,exports.fetchTronAccountResources=T,exports.fetchTronChainParameters=w,exports.generateProofSignatureRemotely=k,exports.getAvailableResource=S,exports.getChainParameterValue=C,exports.getTronWalletRpcUrl=y,exports.getVerifierId=O,exports.normalizeTronAddr=v,exports.normalizeTronPrivateKey=p,exports.parseZkCalldata=D,exports.reorderZkCallData=j,exports.splitTronTokensByNative=M,exports.toTronBase58IfHex=g;
|
|
@@ -11,6 +11,7 @@ export declare const evmHexToTronBase58Address: (addr: string) => string;
|
|
|
11
11
|
export declare const toTronBase58IfHex: (addr: string) => string;
|
|
12
12
|
export declare const addressToHexFormat: (addr: string) => string;
|
|
13
13
|
export declare const normalizeTronAddr: (addr: string) => string;
|
|
14
|
+
export declare const getTronWalletRpcUrl: (chainId: number) => "https://nile.trongrid.io" | "https://api.trongrid.io";
|
|
14
15
|
export declare const createTronCallData: (abi: ethers.InterfaceAbi, functionName: string, args: unknown[]) => string;
|
|
15
16
|
export declare const getAvailableResource: (resources: TronAccountResources | undefined, limitKey: string, usedKey: string) => bigint;
|
|
16
17
|
export declare const getChainParameterValue: (params: TronChainParameter[], key: string) => bigint;
|
|
@@ -194,4 +194,4 @@ var f = ["https://nile.trongrid.io", "https://api.shasta.trongrid.io"], p = 2000
|
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
//#endregion
|
|
197
|
-
export { y as addressToHexFormat, I as approveTronTokens, F as assertTronSufficientBalance, M as circomDataToArray, C as createTronCallData, g as createTronWeb, m as detectTronChainIdFromHost, O as estimateTronFeeSunWithPadding, _ as evmHexToTronBase58Address, D as fetchTronAccountResources, E as fetchTronChainParameters, j as generateProofSignatureRemotely, w as getAvailableResource, T as getChainParameterValue, A as getVerifierId, b as normalizeTronAddr, h as normalizeTronPrivateKey, k as parseZkCalldata, N as reorderZkCallData, P as splitTronTokensByNative, v as toTronBase58IfHex };
|
|
197
|
+
export { y as addressToHexFormat, I as approveTronTokens, F as assertTronSufficientBalance, M as circomDataToArray, C as createTronCallData, g as createTronWeb, m as detectTronChainIdFromHost, O as estimateTronFeeSunWithPadding, _ as evmHexToTronBase58Address, D as fetchTronAccountResources, E as fetchTronChainParameters, j as generateProofSignatureRemotely, w as getAvailableResource, T as getChainParameterValue, x as getTronWalletRpcUrl, A as getVerifierId, b as normalizeTronAddr, h as normalizeTronPrivateKey, k as parseZkCalldata, N as reorderZkCallData, P as splitTronTokensByNative, v as toTronBase58IfHex };
|