@kapa123456789/sdk 0.0.68 → 0.0.70
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/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.mjs +6 -2
- package/common/src/crypto/BabyJubRN.cjs +1 -0
- package/common/src/crypto/BabyJubRN.d.ts +18 -0
- package/common/src/crypto/BabyJubRN.mjs +33 -0
- package/common/src/crypto/babyJub.cjs +1 -1
- package/common/src/crypto/babyJub.mjs +6 -34
- package/common/src/crypto/poseidon.cjs +1 -1
- package/common/src/crypto/poseidon.mjs +13 -14
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +2 -35
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +10 -10
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +9 -49
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +12 -59
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +13 -58
- package/common/src/error-handling/logger.cjs +1 -1
- package/common/src/error-handling/logger.mjs +15 -7
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -0
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +48 -161
- package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateZkProof.mjs +1 -6
- package/common/src/functions/utils/bigint-math.utils.cjs +1 -0
- package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
- package/common/src/functions/utils/bigint-math.utils.mjs +12 -0
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +1 -0
- package/common/src/functions/utils/index.mjs +1 -0
- package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +27 -6
- package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +42 -145
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +7 -30
- package/common/src/webworker/{logError-DlIdq8zv.js → logError-D7JCP4vy.js} +5 -5
- package/common/src/webworker/package.json +2 -2
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +4 -4
- package/common/src/webworker/viteWorkerURL.constant.mjs +4 -4
- package/common/src/webworker/workerFactory.cjs +1 -1
- package/common/src/webworker/workerFactory.mjs +1 -1
- package/common/src/webworker/{workerProxy-Cr4zT_SW.js → workerProxy-C1ojG-04.js} +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +2 -2
- package/react-native/HinkalWebViewWorker.cjs +3 -3
- package/react-native/HinkalWebViewWorker.mjs +46 -68
- package/react-native/bridge/HinkalRNWorker.cjs +1 -0
- package/react-native/bridge/HinkalRNWorker.d.ts +13 -0
- package/react-native/bridge/HinkalRNWorker.mjs +26 -0
- package/react-native/bridge/serialization.utils.cjs +1 -0
- package/react-native/bridge/serialization.utils.d.ts +3 -0
- package/react-native/bridge/serialization.utils.mjs +13 -0
- package/react-native/metro-config.js +4 -8
- package/react-native/shims/circomlibjs-hinkal-fork.js +1 -1
- package/react-native/shims/crypto.js +23 -16
- package/react-native/shims/globals.js +6 -4
- package/react-native/shims/idb-keyval.js +13 -5
- package/react-native/shims/path.js +20 -7
- package/react-native/shims/snarkjs.js +7 -6
- package/react-native/workerCDNUrls.cjs +1 -1
- package/react-native/workerCDNUrls.mjs +2 -4
- package/sdk/package.json.cjs +1 -1
- package/sdk/package.json.mjs +2 -2
- package/react-native/shims/circomlibjs.js +0 -16
|
@@ -32,78 +32,33 @@ var x = async (e, t, n, r) => {
|
|
|
32
32
|
outputUtxosArray: o
|
|
33
33
|
};
|
|
34
34
|
}, S = async (a, l, u, S, C, w, T, E) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
isRelayerOff: C,
|
|
40
|
-
feeToken: w,
|
|
41
|
-
hasFeeStructureOverride: !!T,
|
|
42
|
-
action: E
|
|
43
|
-
});
|
|
44
|
-
let D = c(l);
|
|
45
|
-
console.log("[hinkalWithdraw] chainId", D);
|
|
46
|
-
let O = e(D);
|
|
47
|
-
console.log("[hinkalWithdraw] isTron", O);
|
|
48
|
-
let k = o(await a.getEthereumAddressByChain(D));
|
|
49
|
-
console.log("[hinkalWithdraw] ethereumAddress", k);
|
|
50
|
-
let A = l.map((e) => e.erc20TokenAddress);
|
|
51
|
-
console.log("[hinkalWithdraw] erc20Addresses", A);
|
|
52
|
-
let j = await f(D, l, u);
|
|
53
|
-
console.log("[hinkalWithdraw] deltaAmounts", j);
|
|
54
|
-
let M;
|
|
55
|
-
if (console.log("[hinkalWithdraw] feeStructure initialized as undefined"), !C) {
|
|
56
|
-
console.log("[hinkalWithdraw] resolving relayer fee structure");
|
|
57
|
-
let e = T ?? await m(D, w, A, r.Transact);
|
|
58
|
-
console.log("[hinkalWithdraw] rawFeeStructure", e);
|
|
59
|
-
let t = d(-j[0], e);
|
|
60
|
-
console.log("[hinkalWithdraw] totalFee", t), M = {
|
|
35
|
+
let D = c(l), O = e(D), k = o(await a.getEthereumAddressByChain(D)), A = l.map((e) => e.erc20TokenAddress), j = await f(D, l, u), M;
|
|
36
|
+
if (!C) {
|
|
37
|
+
let e = T ?? await m(D, w, A, r.Transact), t = d(-j[0], e);
|
|
38
|
+
M = {
|
|
61
39
|
feeToken: e.feeToken,
|
|
62
40
|
flatFee: t,
|
|
63
41
|
variableRate: 0n
|
|
64
|
-
},
|
|
42
|
+
}, b(D, A, j, M);
|
|
65
43
|
}
|
|
66
44
|
let N = l[0];
|
|
67
|
-
if (
|
|
45
|
+
if (!N) throw Error("Deposit Action: No Token Found");
|
|
68
46
|
let P = {
|
|
69
47
|
externalActionId: 0n,
|
|
70
48
|
externalAddress: o(S),
|
|
71
49
|
externalActionMetadata: "0x00"
|
|
72
|
-
}
|
|
73
|
-
console.log("[hinkalWithdraw] externalActionData", P), console.log("[hinkalWithdraw] loading relay, kyc data, and utxos");
|
|
74
|
-
let [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
|
|
50
|
+
}, [F, { patchAccessTokenMerkleTree: I, signatureData: L }, { inputUtxosArray: R, outputUtxosArray: z }] = await Promise.all([
|
|
75
51
|
a.getRandomRelay(D, !0),
|
|
76
52
|
h(a, D, A, j, k),
|
|
77
53
|
x(a, D, A, j)
|
|
78
54
|
]);
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
outputUtxoGroups: z.length,
|
|
85
|
-
inputUtxoSizes: R.map((e) => e.length),
|
|
86
|
-
outputUtxoSizes: z.map((e) => e.length)
|
|
87
|
-
}), !C && !F) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
88
|
-
let B = `swapperM${j.length.toString()}x${R[0].length}x1`;
|
|
89
|
-
console.log("[hinkalWithdraw] circuitName", B), console.log("[hinkalWithdraw] constructing zk proof and commitment validation data");
|
|
90
|
-
let [{ zkCallData: V, circomData: H, dimData: U }, W] = await Promise.all([_(a.merkleTreeHinkalByChain[D], a.merkleTreeAccessTokenByChain[D], R, z, a.userKeys, B, P.externalActionId, P.externalAddress, P.externalActionMetadata, a.generateProofRemotely, C ? t : F, D, void 0, void 0, void 0, I, void 0, M, a.getContractWithFetcher(D, n.HinkalHelperContract), L, C ? k : void 0), g(D, a.userKeys, A, R)]);
|
|
91
|
-
console.log("[hinkalWithdraw] proof data ready", {
|
|
92
|
-
zkCallDataLength: V?.length,
|
|
93
|
-
circomDataLength: Array.isArray(H) ? H.length : void 0,
|
|
94
|
-
dimDataLength: Array.isArray(U) ? U.length : void 0,
|
|
95
|
-
commitmentValidationData: W
|
|
96
|
-
});
|
|
97
|
-
let G = await s(O, V, U, H);
|
|
98
|
-
if (console.log("[hinkalWithdraw] tronProofSignature", G), C) {
|
|
99
|
-
if (console.log("[hinkalWithdraw] relayer disabled, using direct transaction path"), !N) throw Error("Withdraw Action: No Token Found");
|
|
100
|
-
let e = await v(a, D, j[0], N, V, H, U);
|
|
101
|
-
return console.log("[hinkalWithdraw] direct transaction result", e), e;
|
|
55
|
+
if (!C && !F) throw Error(i.RELAYER_NOT_AVAILABLE);
|
|
56
|
+
let B = `swapperM${j.length.toString()}x${R[0].length}x1`, [{ zkCallData: V, circomData: H, dimData: U }, W] = await Promise.all([_(a.merkleTreeHinkalByChain[D], a.merkleTreeAccessTokenByChain[D], R, z, a.userKeys, B, P.externalActionId, P.externalAddress, P.externalActionMetadata, a.generateProofRemotely, C ? t : F, D, void 0, void 0, void 0, I, void 0, M, a.getContractWithFetcher(D, n.HinkalHelperContract), L, C ? k : void 0), g(D, a.userKeys, A, R)]), G = await s(O, V, U, H);
|
|
57
|
+
if (C) {
|
|
58
|
+
if (!N) throw Error("Withdraw Action: No Token Found");
|
|
59
|
+
return await v(a, D, j[0], N, V, H, U);
|
|
102
60
|
}
|
|
103
|
-
|
|
104
|
-
console.log("[hinkalWithdraw] adminData", K), console.log("[hinkalWithdraw] calling transactCallRelayer");
|
|
105
|
-
let q = await y(D, V, U, H, W, void 0, void 0, K, G);
|
|
106
|
-
return console.log("[hinkalWithdraw] txHash", q), q;
|
|
61
|
+
return await y(D, V, U, H, W, void 0, void 0, p(E, D, A, j, k), G);
|
|
107
62
|
};
|
|
108
63
|
//#endregion
|
|
109
64
|
export { S as hinkalWithdraw };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./logError.cjs`);var
|
|
1
|
+
const e=require(`../constants/vite.constants.cjs`),t=require(`./logError.cjs`);var n=class{static log(...t){e.isNotClientProduction&&console.log(...t)}static logObject(t){e.isNotClientProduction&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.logError(e)}};exports.Logger=n;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isNotClientProduction as e } from "../constants/vite.constants.mjs";
|
|
2
|
+
import { logError as t } from "./logError.mjs";
|
|
2
3
|
//#region libs/shared/common/src/error-handling/logger.ts
|
|
3
|
-
var
|
|
4
|
-
static log(...
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
var n = class {
|
|
5
|
+
static log(...t) {
|
|
6
|
+
e && console.log(...t);
|
|
7
|
+
}
|
|
8
|
+
static logObject(t) {
|
|
9
|
+
e && console.dir(t, {
|
|
10
|
+
depth: null,
|
|
11
|
+
colors: !0
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static error(...e) {
|
|
15
|
+
t(e);
|
|
8
16
|
}
|
|
9
17
|
};
|
|
10
18
|
//#endregion
|
|
11
|
-
export {
|
|
19
|
+
export { n as Logger };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./utils/serialize.utils.cjs`),require(`./utils/amounts.utils.cjs`),require(`./pre-transaction/solana.cjs`),require(`./web3/functionCalls/accessTokenCalls.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/erc20tokenFunctions.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/getContractAddress.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/addresses.cjs`),require(`./utils/tron.utils.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/get-signature-header.cjs`),require(`./utils/auth.utils.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./web3/events/getShieldedBalance.cjs`),require(`./pre-transaction/outputUtxoProcessing.cjs`),require(`./utils/external-action.utils.cjs`),require(`./snarkjs/common.snarkjs.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/create-provider.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./pre-transaction/process-gas-estimates.cjs`),require(`./pre-transaction/getFlatFees.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./web3/getSolanaPriorityFee.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./pre-transaction/recipientUtxoProcessing.cjs`),require(`./pre-transaction/ensureAmountChanges.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/getKycAndSignatureData.cjs`),require(`./pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./kyc/openDefaultPassportWindow.cjs`),require(`./utils/reloadPage.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/getUtxosFromReceipt.utils.cjs`),require(`./utils/getUtxosFromReceiptSolana.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./web3/events/balanceChangedHandler.cjs`),require(`./utils/index.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructEmporiumProof.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/index.cjs`),require(`./web3/uniswapAPI.cjs`),require(`./web3/odosAPI.cjs`),require(`./web3/oneInchAPI.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/signAndSendSerializedTransaction.cjs`),require(`./web3/index.cjs`),require(`./kyc/checkTokenLimitsUSD.cjs`),require(`./kyc/index.cjs`),require(`./private-wallet/emporium.swap.helpers.cjs`),require(`./private-wallet/index.cjs`),require(`./auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),require(`./auto-deposit-back-helpers/get-gas-token-records.cjs`),require(`./auto-deposit-back-helpers/select-gas-token.cjs`),require(`./auto-deposit-back-helpers/update-hinkal.cjs`),require(`./auto-deposit-back-helpers/index.cjs`);
|
|
1
|
+
require(`./utils/serialize.utils.cjs`),require(`./utils/amounts.utils.cjs`),require(`./pre-transaction/solana.cjs`),require(`./web3/functionCalls/accessTokenCalls.cjs`),require(`./web3/etherFunctions.cjs`),require(`./utils/erc20tokenFunctions.cjs`),require(`./utils/caseInsensitive.utils.cjs`),require(`./utils/bigint-math.utils.cjs`),require(`./utils/time.utils.cjs`),require(`./utils/upToDateState.cjs`),require(`./utils/getContractAddress.cjs`),require(`./utils/cacheFunctions.cjs`),require(`./utils/encryptInputForEnclave.cjs`),require(`./utils/solanaMint.utils.cjs`),require(`./utils/addresses.cjs`),require(`./utils/tron.utils.cjs`),require(`./web3/events/getInputUtxoAndBalance.cjs`),require(`./utils/get-signature-header.cjs`),require(`./utils/auth.utils.cjs`),require(`./utils/string.utils.cjs`),require(`./utils/token-check.utils.cjs`),require(`./utils/mutexes.utils.cjs`),require(`./web3/events/getShieldedBalance.cjs`),require(`./pre-transaction/outputUtxoProcessing.cjs`),require(`./utils/external-action.utils.cjs`),require(`./snarkjs/common.snarkjs.cjs`),require(`./snarkjs/generateZkProof.cjs`),require(`./utils/fees.utils.cjs`),require(`./utils/create-provider.cjs`),require(`./utils/resolve-sync.utils.cjs`),require(`./pre-transaction/process-gas-estimates.cjs`),require(`./pre-transaction/getFlatFees.cjs`),require(`./pre-transaction/getVolatileTransferAmount.cjs`),require(`./pre-transaction/constructAdminData.cjs`),require(`./pre-transaction/convert-okx-instructions.cjs`),require(`./web3/getSolanaPriorityFee.cjs`),require(`./utils/process.utils.cjs`),require(`./pre-transaction/sendV0Transaction.cjs`),require(`./utils/bytes32.utils.cjs`),require(`./pre-transaction/recipientUtxoProcessing.cjs`),require(`./pre-transaction/ensureAmountChanges.cjs`),require(`./pre-transaction/getFeeStructure.cjs`),require(`./pre-transaction/getKycAndSignatureData.cjs`),require(`./pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`./pre-transaction/buildCommitmentValidationData.cjs`),require(`./pre-transaction/index.cjs`),require(`./kyc/openDefaultPassportWindow.cjs`),require(`./utils/reloadPage.cjs`),require(`./utils/cacheDevice.utils.cjs`),require(`./utils/involves-permit2-op.cjs`),require(`./utils/convertEmporiumOpToCallInfo.cjs`),require(`./utils/getRecipientInfoFromUserKeys.cjs`),require(`./utils/publicBalance.utils.cjs`),require(`./utils/postToOffscreen.cjs`),require(`./utils/getUtxosFromReceipt.utils.cjs`),require(`./utils/getUtxosFromReceiptSolana.cjs`),require(`./utils/tx-confirmation.utils.cjs`),require(`./utils/tronSimulation.utils.cjs`),require(`./utils/getSignerFromContract.cjs`),require(`./web3/events/balanceChangedHandler.cjs`),require(`./utils/index.cjs`),require(`./snarkjs/fetchOnChainRootHashes.cjs`),require(`./snarkjs/constructGeneralZkProof.cjs`),require(`./private-wallet/emporium.helpers.cjs`),require(`./snarkjs/constructEmporiumProof.cjs`),require(`./snarkjs/constructSolanaZkProof.cjs`),require(`./snarkjs/index.cjs`),require(`./web3/uniswapAPI.cjs`),require(`./web3/odosAPI.cjs`),require(`./web3/oneInchAPI.cjs`),require(`./web3/lifiAPI.cjs`),require(`./web3/okxAPI.cjs`),require(`./web3/signAndSendSerializedTransaction.cjs`),require(`./web3/index.cjs`),require(`./kyc/checkTokenLimitsUSD.cjs`),require(`./kyc/index.cjs`),require(`./private-wallet/emporium.swap.helpers.cjs`),require(`./private-wallet/index.cjs`),require(`./auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),require(`./auto-deposit-back-helpers/get-gas-token-records.cjs`),require(`./auto-deposit-back-helpers/select-gas-token.cjs`),require(`./auto-deposit-back-helpers/update-hinkal.cjs`),require(`./auto-deposit-back-helpers/index.cjs`);
|
|
@@ -5,6 +5,7 @@ import "./web3/functionCalls/accessTokenCalls.mjs";
|
|
|
5
5
|
import "./web3/etherFunctions.mjs";
|
|
6
6
|
import "./utils/erc20tokenFunctions.mjs";
|
|
7
7
|
import "./utils/caseInsensitive.utils.mjs";
|
|
8
|
+
import "./utils/bigint-math.utils.mjs";
|
|
8
9
|
import "./utils/time.utils.mjs";
|
|
9
10
|
import "./utils/upToDateState.mjs";
|
|
10
11
|
import "./utils/getContractAddress.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/utxo/Utxo.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./generateCircomData.cjs`),c=require(`./generateZkProof.cjs`),l=require(`../utils/fees.utils.cjs`),u=require(`../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs`),d=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);var f=async(f,p,m,h,g,_,v,y,b,x,S=t.zeroAddress,C=e.chainIds.localhost,w=m.map(()=>!1),T=m.map(()=>0n),E=void 0,D=!1,O,k=void 0,A,j=t.defaultSignatureData,M)=>{let N=o.calcAmountChanges(m,h),P=m.map(e=>e[0].erc20TokenAddress),F=o.calcEncryptedOutputs(h),I=g.getShieldedPrivateKey(),L=i.Utxo.findCorrectRandomization(r.randomBigInt(31),I),R=e.isTronLike(C)?await u.hinkalCheckTronTokenRegistry(P,o.calcAmountChanges(m,h,!0),C):await u.hinkalCheckTokenRegistry(A??u.createHinkalHelperFromData(C),P,o.calcAmountChanges(m,h,!0)),z=e.isTronLike(C)?D||R:D,{inCommitmentSiblings:B,inCommitmentSiblingSides:V,accessTokenSiblings:H,accessTokenSiblingSides:U,rootHashHinkal:W,rootHashAccessToken:G,inNullifiers:K}=await d.getDataFromWorkers(C,f,p,g,m.map(e=>e.map(e=>e.getConstructableParams())),z,R),q=o.buildOutCommitments(h),J={rootHashHinkal:W,shieldedPrivateKey:I,erc20TokenAddresses:P,inAmounts:m.map(e=>e.map(e=>e.amount.toString())),inTimeStamps:m.map(e=>e.map(e=>e.timeStamp)),inRandomizations:m.map(e=>e.map(e=>e.randomization)),inNullifiers:K,inCommitmentSiblings:B,inCommitmentSiblingSides:V,outAmounts:h.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(h[0][0].timeStamp),outPublicKeys:h.map(e=>e.map(e=>e.getStealthAddress())),extraRandomization:L,amountChanges:N,outCommitments:q,rootHashAccessToken:G,accessTokenSiblings:H,accessTokenSiblingSides:U,calldataHash:0n},Y=m.map(e=>e[0].tokenId??0),X=Y.reduce((e,t)=>e+t,0)>0?Y.length:0;X>0&&(J.tokenIds=Y);let Z=o.calcPublicSignalCount(_,J.erc20TokenAddresses,J.amountChanges,J.inNullifiers,J.outCommitments,X),Q=n.defaultHinkalLogicArgs(N.length,g);J.interactionAddress=Q.interactionAddress,J.externalApprovalAddresses=Q.useApprovalUtxoData?.map(({externalApprovalAddresses:e})=>e),k||=l.generateFeeStructure(T,m.map(e=>e[0].erc20TokenAddress));let $=o.calcAmountChanges(m,h,!0);O||=o.getSlippageValues($),a.Logger.log({publicSignalCount:Z}),J.calldataHash=o.createCallDataHash(Z,S,y,v,b,F,T,E,O,w,Q,k,j,M);let{zkCallData:ee}=await c.generateZkProof(C,_,J,x),te=o.calcStealthAddressStructure(L,I);return{zkCallData:ee,circomData:s.generateCircomData(q,K,W,G,$,P,h,F,Z,v,y,b,S,J.calldataHash,Y,te,w,E,void 0,Q,O,k,j,M),dimData:{tokenNumber:m.length,nullifierAmount:m[0].length,outputAmount:h[0].length},encryptedOutputs:F}};exports.constructZkProof=f;
|
|
@@ -1,167 +1,54 @@
|
|
|
1
1
|
import { chainIds as e, isTronLike as t } from "../../constants/chains.constants.mjs";
|
|
2
|
-
import { defaultSignatureData as
|
|
3
|
-
import { defaultHinkalLogicArgs as
|
|
4
|
-
import { randomBigInt as
|
|
5
|
-
import { Utxo as
|
|
6
|
-
import { Logger as
|
|
7
|
-
import { buildOutCommitments as
|
|
8
|
-
import { generateCircomData as
|
|
9
|
-
import { generateZkProof as
|
|
10
|
-
import { generateFeeStructure as
|
|
11
|
-
import { createHinkalHelperFromData as
|
|
12
|
-
import { getDataFromWorkers as
|
|
2
|
+
import { defaultSignatureData as n, zeroAddress as r } from "../../constants/protocol.constants.mjs";
|
|
3
|
+
import { defaultHinkalLogicArgs as ee } from "../../types/hinkal.types.mjs";
|
|
4
|
+
import { randomBigInt as te } from "../web3/etherFunctions.mjs";
|
|
5
|
+
import { Utxo as ne } from "../../data-structures/utxo/Utxo.mjs";
|
|
6
|
+
import { Logger as re } from "../../error-handling/logger.mjs";
|
|
7
|
+
import { buildOutCommitments as ie, calcAmountChanges as i, calcEncryptedOutputs as a, calcPublicSignalCount as o, calcStealthAddressStructure as s, createCallDataHash as ae, getSlippageValues as c } from "./common.snarkjs.mjs";
|
|
8
|
+
import { generateCircomData as oe } from "./generateCircomData.mjs";
|
|
9
|
+
import { generateZkProof as se } from "./generateZkProof.mjs";
|
|
10
|
+
import { generateFeeStructure as ce } from "../utils/fees.utils.mjs";
|
|
11
|
+
import { createHinkalHelperFromData as l, hinkalCheckTokenRegistry as u, hinkalCheckTronTokenRegistry as le } from "../../data-structures/Hinkal/hinkalCheckTokenRegistry.mjs";
|
|
12
|
+
import { getDataFromWorkers as d } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
|
|
13
13
|
//#region libs/shared/common/src/functions/snarkjs/constructGeneralZkProof.ts
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
flatFees: y.map((e) => e.toString()),
|
|
35
|
-
hasHookData: !!b,
|
|
36
|
-
hasHinkalHelper: !!w,
|
|
37
|
-
hasOriginalSender: !!E,
|
|
38
|
-
inputUtxos: o(c),
|
|
39
|
-
outputUtxos: o(l)
|
|
40
|
-
});
|
|
41
|
-
let D = n(c, l), O = c.map((e) => e[0].erc20TokenAddress), k = se(l);
|
|
42
|
-
console.log(`${i} derived base values`, {
|
|
43
|
-
amountChanges: D.map((e) => e.toString()),
|
|
44
|
-
erc20TokenAddresses: O,
|
|
45
|
-
encryptedOutputGroupCount: k.length,
|
|
46
|
-
encryptedOutputSizes: k.map((e) => e.length)
|
|
47
|
-
});
|
|
48
|
-
let A = u.getShieldedPrivateKey();
|
|
49
|
-
console.log(`${i} shielded key ready`, { shieldedPrivateKeyLength: A?.toString()?.length });
|
|
50
|
-
let j = ie.findCorrectRandomization(re(31), A);
|
|
51
|
-
console.log(`${i} extra randomization ready`, { extraRandomization: j.toString() });
|
|
52
|
-
let M = n(c, l, !0);
|
|
53
|
-
console.log(`${i} token registry check start`, {
|
|
54
|
-
isTronLike: t(_),
|
|
55
|
-
erc20TokenAddresses: O,
|
|
56
|
-
signedAmountChanges: M.map((e) => e.toString())
|
|
57
|
-
});
|
|
58
|
-
let N = t(_) ? await ge(O, M, _) : await he(w ?? me(_), O, M);
|
|
59
|
-
console.log(`${i} token registry check complete`, { kycRequired: N });
|
|
60
|
-
let P = t(_) ? x || N : x;
|
|
61
|
-
console.log(`${i} effective access token patch flag`, { effectivePatchAccessTokenMerkleTree: P });
|
|
62
|
-
let F = c.map((e) => e.map((e) => e.getConstructableParams()));
|
|
63
|
-
console.log(`${i} input utxos serialized`, {
|
|
64
|
-
serializedGroupCount: F.length,
|
|
65
|
-
serializedGroupSizes: F.map((e) => e.length)
|
|
66
|
-
}), console.log(`${i} worker data fetch start`);
|
|
67
|
-
let { inCommitmentSiblings: I, inCommitmentSiblingSides: L, accessTokenSiblings: R, accessTokenSiblingSides: z, rootHashHinkal: B, rootHashAccessToken: V, inNullifiers: H } = await _e(_, s, ye, u, F, P, N);
|
|
68
|
-
console.log(`${i} worker data fetch complete`, {
|
|
69
|
-
inNullifierGroupCount: H.length,
|
|
70
|
-
inNullifierSizes: H.map((e) => e.length),
|
|
71
|
-
inCommitmentSiblingGroupCount: I.length,
|
|
72
|
-
inCommitmentSiblingSizes: I.map((e) => e.length),
|
|
73
|
-
accessTokenSiblingGroupCount: R.length,
|
|
74
|
-
accessTokenSiblingSizes: R.map((e) => e.length),
|
|
75
|
-
rootHashHinkal: a(B),
|
|
76
|
-
rootHashAccessToken: a(V),
|
|
77
|
-
inCommitmentSiblingSidesGroupCount: L.length,
|
|
78
|
-
accessTokenSiblingSidesGroupCount: z.length
|
|
79
|
-
});
|
|
80
|
-
let U = oe(l);
|
|
81
|
-
console.log(`${i} out commitments built`, {
|
|
82
|
-
outCommitmentGroupCount: U.length,
|
|
83
|
-
outCommitmentSizes: U.map((e) => e.length)
|
|
84
|
-
});
|
|
85
|
-
let W = {
|
|
86
|
-
rootHashHinkal: B,
|
|
87
|
-
shieldedPrivateKey: A,
|
|
88
|
-
erc20TokenAddresses: O,
|
|
89
|
-
inAmounts: c.map((e) => e.map((e) => e.amount.toString())),
|
|
90
|
-
inTimeStamps: c.map((e) => e.map((e) => e.timeStamp)),
|
|
91
|
-
inRandomizations: c.map((e) => e.map((e) => e.randomization)),
|
|
92
|
-
inNullifiers: H,
|
|
93
|
-
inCommitmentSiblings: I,
|
|
94
|
-
inCommitmentSiblingSides: L,
|
|
95
|
-
outAmounts: l.map((e) => e.map((e) => e.amount.toString())),
|
|
96
|
-
outTimeStamp: BigInt(l[0][0].timeStamp),
|
|
97
|
-
outPublicKeys: l.map((e) => e.map((e) => e.getStealthAddress())),
|
|
98
|
-
extraRandomization: j,
|
|
99
|
-
amountChanges: D,
|
|
100
|
-
outCommitments: U,
|
|
101
|
-
rootHashAccessToken: V,
|
|
102
|
-
accessTokenSiblings: R,
|
|
103
|
-
accessTokenSiblingSides: z,
|
|
14
|
+
var f = async (f, p, m, h, g, _, v, y, b, x, S = r, C = e.localhost, w = m.map(() => !1), T = m.map(() => 0n), E = void 0, D = !1, O, k = void 0, A, j = n, M) => {
|
|
15
|
+
let N = i(m, h), P = m.map((e) => e[0].erc20TokenAddress), F = a(h), I = g.getShieldedPrivateKey(), L = ne.findCorrectRandomization(te(31), I), R = t(C) ? await le(P, i(m, h, !0), C) : await u(A ?? l(C), P, i(m, h, !0)), z = t(C) ? D || R : D, { inCommitmentSiblings: B, inCommitmentSiblingSides: V, accessTokenSiblings: H, accessTokenSiblingSides: U, rootHashHinkal: W, rootHashAccessToken: G, inNullifiers: K } = await d(C, f, p, g, m.map((e) => e.map((e) => e.getConstructableParams())), z, R), q = ie(h), J = {
|
|
16
|
+
rootHashHinkal: W,
|
|
17
|
+
shieldedPrivateKey: I,
|
|
18
|
+
erc20TokenAddresses: P,
|
|
19
|
+
inAmounts: m.map((e) => e.map((e) => e.amount.toString())),
|
|
20
|
+
inTimeStamps: m.map((e) => e.map((e) => e.timeStamp)),
|
|
21
|
+
inRandomizations: m.map((e) => e.map((e) => e.randomization)),
|
|
22
|
+
inNullifiers: K,
|
|
23
|
+
inCommitmentSiblings: B,
|
|
24
|
+
inCommitmentSiblingSides: V,
|
|
25
|
+
outAmounts: h.map((e) => e.map((e) => e.amount.toString())),
|
|
26
|
+
outTimeStamp: BigInt(h[0][0].timeStamp),
|
|
27
|
+
outPublicKeys: h.map((e) => e.map((e) => e.getStealthAddress())),
|
|
28
|
+
extraRandomization: L,
|
|
29
|
+
amountChanges: N,
|
|
30
|
+
outCommitments: q,
|
|
31
|
+
rootHashAccessToken: G,
|
|
32
|
+
accessTokenSiblings: H,
|
|
33
|
+
accessTokenSiblingSides: U,
|
|
104
34
|
calldataHash: 0n
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
W.interactionAddress = J.interactionAddress, W.externalApprovalAddresses = J.useApprovalUtxoData?.map(({ externalApprovalAddresses: e }) => e), console.log(`${i} hinkal logic args ready`, {
|
|
122
|
-
interactionAddress: J.interactionAddress,
|
|
123
|
-
externalApprovalAddressesCount: W.externalApprovalAddresses?.length
|
|
124
|
-
}), C ||= (console.log(`${i} generating fee structure`), pe(y, c.map((e) => e[0].erc20TokenAddress))), console.log(`${i} fee structure ready`, ve(C));
|
|
125
|
-
let Y = M;
|
|
126
|
-
console.log(`${i} signed amount changes ready`, { amountChangesBased: Y.map((e) => e.toString()) }), S ||= (console.log(`${i} generating slippage values`), de(Y)), console.log(`${i} slippage values ready`, { slippageValues: S.map((e) => e.toString()) }), ae.log({ publicSignalCount: q }), console.log(`${i} calldata hash start`), W.calldataHash = ue(q, g, p, f, m, k, y, b, S, v, J, C, T, E), console.log(`${i} calldata hash complete`, { calldataHash: W.calldataHash.toString() }), console.log(`${i} generateZkProof start`);
|
|
127
|
-
let { zkCallData: X } = await r(_, d, W, h);
|
|
128
|
-
console.log(`${i} generateZkProof complete`, {
|
|
129
|
-
aLength: X?.[0]?.length,
|
|
130
|
-
bOuterLength: X?.[1]?.length,
|
|
131
|
-
bInnerLengths: X?.[1]?.map((e) => e.length),
|
|
132
|
-
cLength: X?.[2]?.length,
|
|
133
|
-
inputLength: X?.[3]?.length
|
|
134
|
-
});
|
|
135
|
-
let Z = le(j, A);
|
|
136
|
-
console.log(`${i} stealth address structure ready`, {
|
|
137
|
-
extraRandomization: a(Z.extraRandomization),
|
|
138
|
-
stealthAddress: a(Z.stealthAddress)
|
|
139
|
-
});
|
|
140
|
-
let Q = fe(U, H, B, V, Y, O, l, k, q, f, p, m, g, W.calldataHash, G, Z, v, b, void 0, J, S, C, T, E);
|
|
141
|
-
console.log(`${i} circom data ready`, {
|
|
142
|
-
tokenCount: Q.erc20TokenAddresses.length,
|
|
143
|
-
amountChanges: Q.amountChanges.map((e) => e.toString()),
|
|
144
|
-
inputNullifierGroupCount: Q.inputNullifiers.length,
|
|
145
|
-
outCommitmentGroupCount: Q.outCommitments.length,
|
|
146
|
-
encryptedOutputGroupCount: Q.encryptedOutputs.length,
|
|
147
|
-
rootHashHinkal: a(Q.rootHashHinkal),
|
|
148
|
-
rootHashAccessToken: a(Q.rootHashAccessToken),
|
|
149
|
-
relay: Q.relay,
|
|
150
|
-
externalAddress: Q.externalAddress,
|
|
151
|
-
externalActionId: a(Q.externalActionId),
|
|
152
|
-
calldataHash: a(Q.calldataHash)
|
|
153
|
-
});
|
|
154
|
-
let $ = {
|
|
155
|
-
tokenNumber: c.length,
|
|
156
|
-
nullifierAmount: c[0].length,
|
|
157
|
-
outputAmount: l[0].length
|
|
158
|
-
};
|
|
159
|
-
return console.log(`${i} dim data ready`, $), console.log(`${i} complete`), {
|
|
160
|
-
zkCallData: X,
|
|
161
|
-
circomData: Q,
|
|
162
|
-
dimData: $,
|
|
163
|
-
encryptedOutputs: k
|
|
35
|
+
}, Y = m.map((e) => e[0].tokenId ?? 0), X = Y.reduce((e, t) => e + t, 0) > 0 ? Y.length : 0;
|
|
36
|
+
X > 0 && (J.tokenIds = Y);
|
|
37
|
+
let Z = o(_, J.erc20TokenAddresses, J.amountChanges, J.inNullifiers, J.outCommitments, X), Q = ee(N.length, g);
|
|
38
|
+
J.interactionAddress = Q.interactionAddress, J.externalApprovalAddresses = Q.useApprovalUtxoData?.map(({ externalApprovalAddresses: e }) => e), k ||= ce(T, m.map((e) => e[0].erc20TokenAddress));
|
|
39
|
+
let $ = i(m, h, !0);
|
|
40
|
+
O ||= c($), re.log({ publicSignalCount: Z }), J.calldataHash = ae(Z, S, y, v, b, F, T, E, O, w, Q, k, j, M);
|
|
41
|
+
let { zkCallData: ue } = await se(C, _, J, x), de = s(L, I);
|
|
42
|
+
return {
|
|
43
|
+
zkCallData: ue,
|
|
44
|
+
circomData: oe(q, K, W, G, $, P, h, F, Z, v, y, b, S, J.calldataHash, Y, de, w, E, void 0, Q, O, k, j, M),
|
|
45
|
+
dimData: {
|
|
46
|
+
tokenNumber: m.length,
|
|
47
|
+
nullifierAmount: m[0].length,
|
|
48
|
+
outputAmount: h[0].length
|
|
49
|
+
},
|
|
50
|
+
encryptedOutputs: F
|
|
164
51
|
};
|
|
165
52
|
};
|
|
166
53
|
//#endregion
|
|
167
|
-
export {
|
|
54
|
+
export { f as constructZkProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../error-handling/logger.cjs`),t=require(`./generateZkProofEnclave.cjs`),n=require(`./generateZkProofSelf.cjs`);var r=async(r,i,a,o)=>{if(
|
|
1
|
+
const e=require(`../../error-handling/logger.cjs`),t=require(`./generateZkProofEnclave.cjs`),n=require(`./generateZkProofSelf.cjs`);var r=async(r,i,a,o)=>{if(o)try{return await t.generateZkProofEnclave(r,i,a)}catch(t){e.Logger.error(`enclave proof error`,t)}return n.generateZkProofSelf(r,i,a)};exports.generateZkProof=r;
|
|
@@ -3,12 +3,7 @@ import { generateZkProofEnclave as t } from "./generateZkProofEnclave.mjs";
|
|
|
3
3
|
import { generateZkProofSelf as n } from "./generateZkProofSelf.mjs";
|
|
4
4
|
//#region libs/shared/common/src/functions/snarkjs/generateZkProof.ts
|
|
5
5
|
var r = async (r, i, a, o) => {
|
|
6
|
-
if (
|
|
7
|
-
chainId: r,
|
|
8
|
-
verifierName: i,
|
|
9
|
-
input: a,
|
|
10
|
-
remotely: o
|
|
11
|
-
}), o) try {
|
|
6
|
+
if (o) try {
|
|
12
7
|
return await t(r, i, a);
|
|
13
8
|
} catch (t) {
|
|
14
9
|
e.error("enclave proof error", t);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`);var t=(t,n=e.CIRCOM_P)=>{let r=t%n;return r>=0n?r:r+n},n=(e,n,r)=>{let i=1n,a=t(e,r),o=n;for(;o>0n;)o%2n==1n&&(i=i*a%r),o/=2n,a=a*a%r;return i};exports.mod=t,exports.modpow=n;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CIRCOM_P as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
//#region libs/shared/common/src/functions/utils/bigint-math.utils.ts
|
|
3
|
+
var t = (t, n = e) => {
|
|
4
|
+
let r = t % n;
|
|
5
|
+
return r >= 0n ? r : r + n;
|
|
6
|
+
}, n = (e, n, r) => {
|
|
7
|
+
let i = 1n, a = t(e, r), o = n;
|
|
8
|
+
for (; o > 0n;) o % 2n == 1n && (i = i * a % r), o /= 2n, a = a * a % r;
|
|
9
|
+
return i;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as mod, n as modpow };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./serialize.utils.cjs`),require(`./amounts.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./getContractAddress.cjs`),require(`./cacheFunctions.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./addresses.cjs`),require(`./tron.utils.cjs`),require(`./get-signature-header.cjs`),require(`./auth.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(`./fees.utils.cjs`),require(`./create-provider.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./bytes32.utils.cjs`),require(`../pre-transaction/recipientUtxoProcessing.cjs`),require(`../pre-transaction/ensureAmountChanges.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`../pre-transaction/getKycAndSignatureData.cjs`),require(`../pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.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(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./formatter.cjs`),require(`./tronSimulation.utils.cjs`),require(`./getSignerFromContract.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`);
|
|
1
|
+
require(`./serialize.utils.cjs`),require(`./amounts.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./bigint-math.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./getContractAddress.cjs`),require(`./cacheFunctions.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./addresses.cjs`),require(`./tron.utils.cjs`),require(`./get-signature-header.cjs`),require(`./auth.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(`./fees.utils.cjs`),require(`./create-provider.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./bytes32.utils.cjs`),require(`../pre-transaction/recipientUtxoProcessing.cjs`),require(`../pre-transaction/ensureAmountChanges.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`../pre-transaction/getKycAndSignatureData.cjs`),require(`../pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.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(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./formatter.cjs`),require(`./tronSimulation.utils.cjs`),require(`./getSignerFromContract.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`);
|
|
@@ -3,6 +3,7 @@ import "./amounts.utils.mjs";
|
|
|
3
3
|
import "../pre-transaction/solana.mjs";
|
|
4
4
|
import "./erc20tokenFunctions.mjs";
|
|
5
5
|
import "./caseInsensitive.utils.mjs";
|
|
6
|
+
import "./bigint-math.utils.mjs";
|
|
6
7
|
import "./time.utils.mjs";
|
|
7
8
|
import "./upToDateState.mjs";
|
|
8
9
|
import "./getContractAddress.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../utils/getContractAddress.cjs`),t=require(`../../../externalABIs/index.cjs`);let n=require(`ethers`);var r=(e,r)=>new n.ethers.Interface(t.ERC20ABI).encodeFunctionData(`approve`,[e,r]),i=(e,t,n,r,i)=>i.encodeFunctionData(`prooflessDeposit`,[e,t,n,r]),
|
|
1
|
+
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../utils/getContractAddress.cjs`),t=require(`../../../externalABIs/index.cjs`);let n=require(`ethers`);var r=(e,r)=>new n.ethers.Interface(t.ERC20ABI).encodeFunctionData(`approve`,[e,r]),i=(e,t,n,r)=>r.encodeFunctionData(`transact`,[e[0],e[1],e[2],t,n]),a=(e,t,n,r,i)=>i.encodeFunctionData(`prooflessDeposit`,[e,t,n,r]),o=(e,t,i,a,o,s)=>{let c=[];for(let a=0;a<e.length;a+=1){let o=e[a],s=t[a];o!==n.ethers.ZeroAddress&&s>0n&&c.push({to:o,value:`0x0`,data:r(i,s)})}return c.push({to:a,value:s>0n?`0x${s.toString(16)}`:`0x0`,data:o}),c},s=(t,a,o,s,c,l,u,d)=>{let f=[];for(let e=0;e<t.length;e+=1){let i=t[e],s=a[e];i!==n.ethers.ZeroAddress&&s>0n&&f.push({to:i,value:`0x0`,data:r(o,s)})}return f.push({to:e.getContractAddress(s),value:d>0n?`0x${d.toString(16)}`:`0x0`,data:i(c,l,u,s.interface)}),f},c=(t,n,r,i,s,c,l,u,d)=>{let f=a(s,c,l,u,i.interface);return o(t,n,r,e.getContractAddress(i),f,d)};exports.buildApproveAndProoflessDepositCalls=c,exports.buildApproveAndTransactCalls=s;
|
|
@@ -2,12 +2,18 @@ import { getContractAddress as e } from "../../utils/getContractAddress.mjs";
|
|
|
2
2
|
import { ERC20ABI as t } from "../../../externalABIs/index.mjs";
|
|
3
3
|
import { ethers as n } from "ethers";
|
|
4
4
|
//#region libs/shared/common/src/functions/web3/functionCalls/constructBatchCall.ts
|
|
5
|
-
var r = (e, r) => new n.Interface(t).encodeFunctionData("approve", [e, r]), i = (e, t, n, r
|
|
5
|
+
var r = (e, r) => new n.Interface(t).encodeFunctionData("approve", [e, r]), i = (e, t, n, r) => r.encodeFunctionData("transact", [
|
|
6
|
+
e[0],
|
|
7
|
+
e[1],
|
|
8
|
+
e[2],
|
|
9
|
+
t,
|
|
10
|
+
n
|
|
11
|
+
]), a = (e, t, n, r, i) => i.encodeFunctionData("prooflessDeposit", [
|
|
6
12
|
e,
|
|
7
13
|
t,
|
|
8
14
|
n,
|
|
9
15
|
r
|
|
10
|
-
]),
|
|
16
|
+
]), o = (e, t, i, a, o, s) => {
|
|
11
17
|
let c = [];
|
|
12
18
|
for (let a = 0; a < e.length; a += 1) {
|
|
13
19
|
let o = e[a], s = t[a];
|
|
@@ -22,9 +28,24 @@ var r = (e, r) => new n.Interface(t).encodeFunctionData("approve", [e, r]), i =
|
|
|
22
28
|
value: s > 0n ? `0x${s.toString(16)}` : "0x0",
|
|
23
29
|
data: o
|
|
24
30
|
}), c;
|
|
25
|
-
},
|
|
26
|
-
let f =
|
|
27
|
-
|
|
31
|
+
}, s = (t, a, o, s, c, l, u, d) => {
|
|
32
|
+
let f = [];
|
|
33
|
+
for (let e = 0; e < t.length; e += 1) {
|
|
34
|
+
let i = t[e], s = a[e];
|
|
35
|
+
i !== n.ZeroAddress && s > 0n && f.push({
|
|
36
|
+
to: i,
|
|
37
|
+
value: "0x0",
|
|
38
|
+
data: r(o, s)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return f.push({
|
|
42
|
+
to: e(s),
|
|
43
|
+
value: d > 0n ? `0x${d.toString(16)}` : "0x0",
|
|
44
|
+
data: i(c, l, u, s.interface)
|
|
45
|
+
}), f;
|
|
46
|
+
}, c = (t, n, r, i, s, c, l, u, d) => {
|
|
47
|
+
let f = a(s, c, l, u, i.interface);
|
|
48
|
+
return o(t, n, r, e(i), f, d);
|
|
28
49
|
};
|
|
29
50
|
//#endregion
|
|
30
|
-
export {
|
|
51
|
+
export { c as buildApproveAndProoflessDepositCalls, s as buildApproveAndTransactCalls };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../types/ethereum-network.types.cjs`),n=require(`../../utils/time.utils.cjs`),r=require(`../../utils/getContractAddress.cjs`),i=require(`./recoverTransactionFromError.cjs`),a=require(`./approveTokensToHinkal.cjs`),o=require(`./waitForErc20Approvals.cjs`);let
|
|
1
|
+
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../types/ethereum-network.types.cjs`),n=require(`../../utils/time.utils.cjs`),r=require(`../../utils/getContractAddress.cjs`),i=require(`./recoverTransactionFromError.cjs`),a=require(`./approveTokensToHinkal.cjs`),o=require(`./constructBatchCall.cjs`),s=require(`./waitForErc20Approvals.cjs`);let c=require(`ethers`);var l=async(l,u,d,f,p,m,h,g,_,v=!0,y=!1)=>{let b=Array.isArray(d)?d:[d],x=Array.isArray(f)?f:[f];if(b.length!==x.length)throw Error(`token and amount length mismatch`);let S=l.getContractWithSigner(u,t.ContractType.HinkalContract),C=await l.getEthereumAddressByChain(u),w=g??S,T=_??S,E=`transact`,D=x.findIndex(({erc20TokenAddress:t})=>t===e.zeroAddress),O=x.some(({erc20TokenAddress:t})=>t!==e.zeroAddress),k=D===-1?0n:b[D],A=l.getProviderAdapter(u),j=await A.supportsBatchCall?.(u);if(!y&&O&&j&&A.sendBatchCallsTransaction){let e=o.buildApproveAndTransactCalls(x.map(e=>e.erc20TokenAddress),b,r.getContractAddress(w),T,p,h,m,k);return await A.sendBatchCallsTransaction(u,e)}if(!y&&(await a.approveTokensToHinkal(l,u,w,x,b),O)){let e=x.map(({erc20TokenAddress:e},t)=>({tokenAddress:e,requiredAmount:b[t]}));await s.waitForErc20Approvals(l,u,C,r.getContractAddress(w),e)}let M={value:k>0n?BigInt(k).toString():void 0,gasLimit:void 0},N,P=[p[0],p[1],p[2],h,m,{...M,from:C}],{runner:F}=T;if(!(F instanceof c.ethers.AbstractSigner))throw Error(`expected signer`);if(v)try{N=Number(await T[E].estimateGas(...P))}catch(e){console.log(`hinkalDeposit: gas estimation error`,{err:e})}let I=N&&N>=0?Math.ceil(N*12/10):void 0;I&&(P[5].gasLimit=I),await n.waitLittle();let L;try{L=y?await T[E].populateTransaction(...P):await T[E](...P)}catch(e){if(!e?.transactionHash)throw e;let t=await i.recoverTransactionFromError(F.provider,e.transactionHash);if(!t)throw e;L=t}return L};exports.transactCallDirect=l;
|