@hinkal/common 0.3.9 → 0.3.10
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/README.md +2 -8
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +4 -5
- package/common/src/API/API.mjs +79 -80
- package/common/src/API/dashboardTransactionCalls.cjs +1 -1
- package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
- package/common/src/API/dashboardTransactionCalls.mjs +2 -2
- package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
- package/common/src/API/enclaveSignatureCalls.cjs +1 -1
- package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
- package/common/src/API/enclaveSignatureCalls.mjs +5 -8
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
- package/common/src/API/enclaveUtxoCalls.mjs +17 -20
- package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
- package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
- package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
- package/common/src/API/scheduled-transactions-calls.cjs +1 -1
- package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
- package/common/src/API/scheduled-transactions-calls.mjs +2 -6
- package/common/src/constants/bridging.constants.cjs +1 -1
- package/common/src/constants/bridging.constants.d.ts +1 -0
- package/common/src/constants/bridging.constants.mjs +1 -1
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +18 -17
- package/common/src/constants/chains.constants.mjs +108 -89
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +1 -16
- package/common/src/constants/protocol.constants.d.ts +1 -3
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -4
- package/common/src/constants/server.constants.mjs +1 -4
- package/common/src/constants/tx-confirmation.constants.cjs +1 -1
- package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
- package/common/src/constants/tx-confirmation.constants.mjs +2 -2
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -9
- package/common/src/data-structures/Hinkal/Hinkal.mjs +129 -160
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +18 -18
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
- package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
- package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/index.cjs +1 -1
- package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
- package/common/src/data-structures/IndexedDB/index.mjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
- package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
- package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +6 -0
- package/common/src/error-handling/error-codes.constants.mjs +10 -4
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -2
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
- package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +1 -0
- package/common/src/functions/utils/addresses.mjs +13 -12
- package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
- package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
- package/common/src/functions/utils/create-provider.cjs +1 -1
- package/common/src/functions/utils/create-provider.mjs +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
- package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
- package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
- package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
- package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
- package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +6 -6
- 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 +3 -3
- package/common/src/functions/utils/ipfs.d.ts +2 -3
- package/common/src/functions/utils/lifi.utils.d.ts +2 -0
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +6 -6
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +9 -10
- package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
- package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.mjs +16 -29
- package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
- package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
- package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -102
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
- package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/enclaveApi.types.d.ts +2 -3
- package/common/src/types/ethereum-network.types.d.ts +1 -0
- package/common/src/types/events.types.d.ts +1 -0
- package/common/src/types/near-intents.types.d.ts +1 -0
- package/common/src/types/remote-proof.types.d.ts +5 -0
- package/common/src/types/remote-tx-build.types.d.ts +37 -4
- package/common/src/types/scheduled-transactions.types.d.ts +18 -0
- package/common/src/types/solana.types.d.ts +0 -3
- package/common/src/webworker/{logError-RKYfeI6h.js → logError-CIIt1CO3.js} +1 -1
- package/common/src/webworker/package.json +1 -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 +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
- 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 +1 -2
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +6 -2
- package/services/Hinkal.mjs +9 -4
- package/types/IHinkal.d.ts +6 -2
- package/common/src/API/evm-token-assets.cjs +0 -1
- package/common/src/API/evm-token-assets.mjs +0 -20
- package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
- package/common/src/API/solana-nft-assets.cjs +0 -1
- package/common/src/API/solana-nft-assets.mjs +0 -11
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
- package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
- package/common/src/data-structures/TokenDBs/index.cjs +0 -1
- package/common/src/data-structures/TokenDBs/index.mjs +0 -6
- package/common/src/functions/utils/ipfs.cjs +0 -1
- package/common/src/functions/utils/ipfs.mjs +0 -1
- package/common/src/functions/utils/reloadPage.cjs +0 -1
- package/common/src/functions/utils/reloadPage.mjs +0 -4
- package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
|
@@ -2,8 +2,8 @@ import { networkRegistry as e } from "../../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { TRON_DEFAULT_FEE_LIMIT_SUN as t, zeroAddress as n } from "../../../constants/protocol.constants.mjs";
|
|
3
3
|
import { caseInsensitiveEqual as r } from "../../utils/caseInsensitive.utils.mjs";
|
|
4
4
|
import { insufficientResourcesErrorCodes as i } from "../../../error-handling/error-codes.constants.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { Logger as a } from "../../../error-handling/logger.mjs";
|
|
6
|
+
import { circomDataToArray as o, createTronCallData as s, estimateTronFeeSunWithPadding as c, evmHexToTronBase58Address as l, parseZkCalldata as u, reorderZkCallData as d } from "../../utils/tron.utils.mjs";
|
|
7
7
|
import { ERC20ABI as f } from "../../../externalABIs/index.mjs";
|
|
8
8
|
import { waitForTronErc20Approvals as p } from "./waitForErc20Approvals.mjs";
|
|
9
9
|
import { simulateTronTransaction as m } from "../../utils/tronSimulation.utils.mjs";
|
|
@@ -11,7 +11,7 @@ import { simulateTronTransaction as m } from "../../utils/tronSimulation.utils.m
|
|
|
11
11
|
var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
12
12
|
let E = Array.isArray(_) ? _ : [_], D = Array.isArray(v) ? v : [v];
|
|
13
13
|
if (E.length !== D.length) throw Error("token and amount length mismatch");
|
|
14
|
-
let O = h.getTronWeb(), k = await h.getEthereumAddressByChain(g), { hinkalAddress: A, hinkalABI: j } = e[g].contractData, M = O.contract(j,
|
|
14
|
+
let O = h.getTronWeb(), k = await h.getEthereumAddressByChain(g), { hinkalAddress: A, hinkalABI: j } = e[g].contractData, M = O.contract(j, l(A)), N = S ?? M, P = C ?? M;
|
|
15
15
|
if (!N.address) throw Error("contractForApproval address not set");
|
|
16
16
|
if (!P.address) throw Error("contractForTransaction address not set");
|
|
17
17
|
let F = D.findIndex(({ erc20TokenAddress: e }) => r(e, n)), I = F === -1 ? 0n : E[F], L = I > 0n ? I : 0n;
|
|
@@ -22,7 +22,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
22
22
|
for (let a = 0; a < D.length; a += 1) {
|
|
23
23
|
let o = D[a], s = E[a];
|
|
24
24
|
if (s > 0n && !r(o.erc20TokenAddress, n)) {
|
|
25
|
-
let n =
|
|
25
|
+
let n = l(o.erc20TokenAddress), r = await O.contract(f, n).allowance(k, e).call({ from: k });
|
|
26
26
|
if (BigInt(String(r)) < s) {
|
|
27
27
|
let { transaction: r } = await O.transactionBuilder.triggerSmartContract(n, "approve(address,uint256)", { feeLimit: t }, [{
|
|
28
28
|
type: "address",
|
|
@@ -44,7 +44,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
44
44
|
}
|
|
45
45
|
i.length > 0 && await p(O, k, e, i);
|
|
46
46
|
}
|
|
47
|
-
let { a: R, b: z, c: B } =
|
|
47
|
+
let { a: R, b: z, c: B } = u(y), V = T ?? await d(!0, y, x, b, g, !1);
|
|
48
48
|
if (!V) throw Error("Tron proof signature not found");
|
|
49
49
|
let H = [
|
|
50
50
|
V.v,
|
|
@@ -54,7 +54,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
54
54
|
x.tokenNumber,
|
|
55
55
|
x.nullifierAmount,
|
|
56
56
|
x.outputAmount
|
|
57
|
-
], W =
|
|
57
|
+
], W = o(b);
|
|
58
58
|
if (w) {
|
|
59
59
|
await m(g, P.address, "transact", P.abi, [
|
|
60
60
|
H,
|
|
@@ -66,7 +66,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
66
66
|
], k, L);
|
|
67
67
|
let e = BigInt(await O.trx.getBalance(k)), n = BigInt(t);
|
|
68
68
|
try {
|
|
69
|
-
let e =
|
|
69
|
+
let e = s(P.abi, "transact", [
|
|
70
70
|
H,
|
|
71
71
|
R,
|
|
72
72
|
z,
|
|
@@ -74,9 +74,9 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
74
74
|
U,
|
|
75
75
|
W
|
|
76
76
|
]);
|
|
77
|
-
n = await
|
|
77
|
+
n = await c(O, g, P.address, k, e, L);
|
|
78
78
|
} catch (e) {
|
|
79
|
-
|
|
79
|
+
a.error("Error estimating Tron transact fee", e);
|
|
80
80
|
}
|
|
81
81
|
if (e < L + n) throw Error(i.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
|
|
82
82
|
}
|
|
@@ -86,14 +86,14 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
86
86
|
}), K = typeof G == "string" ? G : G?.txid ?? G?.transaction?.txID ?? G?.transaction?.txid;
|
|
87
87
|
if (!K) throw Error("Tron transact failed (missing txid)");
|
|
88
88
|
return K;
|
|
89
|
-
}, g = async (i,
|
|
90
|
-
let _ = Array.isArray(
|
|
89
|
+
}, g = async (i, a, c, f, p, m, h, g) => {
|
|
90
|
+
let _ = Array.isArray(c) ? c : [c], v = Array.isArray(f) ? f : [f];
|
|
91
91
|
if (_.length !== v.length) throw Error("token and amount length mismatch");
|
|
92
|
-
let { hinkalAddress: y, hinkalABI: b } = e[
|
|
92
|
+
let { hinkalAddress: y, hinkalABI: b } = e[a].contractData;
|
|
93
93
|
if (!y || !b) throw Error("Missing Tron contract data (hinkalAddress/hinkalABI)");
|
|
94
|
-
let x = i.getTronWeb(), S = await i.getEthereumAddressByChain(
|
|
94
|
+
let x = i.getTronWeb(), S = await i.getEthereumAddressByChain(a), C = v.findIndex(({ erc20TokenAddress: e }) => r(e, n)), w = C === -1 ? 0n : _[C], T = w > 0n ? w : 0n, { a: E, b: D, c: O } = u(p), k = g ?? await d(!0, p, h, m, a, !1);
|
|
95
95
|
if (!k) throw Error("Tron proof signature not found");
|
|
96
|
-
let A =
|
|
96
|
+
let A = s(b, "transact", [
|
|
97
97
|
[
|
|
98
98
|
k.v,
|
|
99
99
|
k.r,
|
|
@@ -107,8 +107,8 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
|
107
107
|
h.nullifierAmount,
|
|
108
108
|
h.outputAmount
|
|
109
109
|
],
|
|
110
|
-
|
|
111
|
-
]), { transaction: j } = await x.transactionBuilder.triggerSmartContract(
|
|
110
|
+
o(m)
|
|
111
|
+
]), { transaction: j } = await x.transactionBuilder.triggerSmartContract(l(y), "", {
|
|
112
112
|
feeLimit: t,
|
|
113
113
|
callValue: Number(T),
|
|
114
114
|
input: A
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../functions/utils/create-provider.cjs`);let r=require(`@coral-xyz/anchor`);var i=class{chainId;connection;wallet;ethereumAddress;connectHandler;disconnectHandler;chainEventListener;anchorProvider;constructor(t,r){let{rpcUrl:i}=e.networkRegistry[t];this.connection=n.createCustomSolanaConnection(i),this.chainId=t,this.ethereumAddress=r}initConnector(e){this.wallet=e,this.initializeAnchorProvider()}async init(e){e&&(this.chainId=e)}async connectToConnector(){return this.chainId??0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw Error(`No Chain Id In Provider Adapter`);return this.chainId}getChainId(){return this.chainId}async waitForTransaction(e,n,r){try{return(await this.connection.confirmTransaction(n,`confirmed`)).value.err===null}catch{throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(e){if(!this.wallet?.signMessage)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=typeof e==`string`?new TextEncoder().encode(e):e,{signature:r}=await this.wallet.signMessage(n,`utf8`);if(!r)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(r).toString(`hex`)}`}async signTransactionWithoutBroadcast(e){if(!this.wallet)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=await this.wallet.signTransaction(e)
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../functions/utils/create-provider.cjs`);let r=require(`@coral-xyz/anchor`);var i=class{chainId;connection;wallet;ethereumAddress;connectHandler;disconnectHandler;chainEventListener;anchorProvider;constructor(t,r){let{rpcUrl:i}=e.networkRegistry[t];this.connection=n.createCustomSolanaConnection(i),this.chainId=t,this.ethereumAddress=r}initConnector(e){this.wallet=e,this.initializeAnchorProvider()}async init(e){e&&(this.chainId=e)}async connectToConnector(){return this.chainId??0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw Error(`No Chain Id In Provider Adapter`);return this.chainId}getChainId(){return this.chainId}async waitForTransaction(e,n,r){try{return(await this.connection.confirmTransaction(n,`confirmed`)).value.err===null}catch{throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(e){if(!this.wallet?.signMessage)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=typeof e==`string`?new TextEncoder().encode(e):e,{signature:r}=await this.wallet.signMessage(n,`utf8`);if(!r)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(r).toString(`hex`)}`}async signTransactionWithoutBroadcast(e){if(!this.wallet)throw Error(t.transactionErrorCodes.SIGNING_FAILED);let n=(await this.wallet.signTransaction(e)).signatures.find(({publicKey:e})=>e.equals(this.wallet.publicKey))?.signature;if(!n)throw Error(t.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(n).toString(`hex`)}`}async getAddress(){let e=this.ethereumAddress??this.wallet?.publicKey.toString();if(!e)throw Error(`IllegalState`);return e}setChainEventListener(e){this.chainEventListener=e,this.setupWalletListeners()}async switchNetwork(e){this.chainEventListener?.onChainChanged(e.chainId)}async signTypedData(e,t,n){throw Error(`Typed data signing not supported on Solana`)}async onAccountChanged(){return this.init()}async onChainChanged(e){return this.init(e)}release(){this.removeWalletListeners(),this.chainEventListener=void 0}getContract(e,t,n,r){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithSigner(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}getContractWithFetcher(e,t,n){throw Error(`Not implemented from SolanaProviderAdapter`)}async sendTransaction(e){throw Error(`Not implemented from SolanaProviderAdapter`)}async getGasPrice(e){throw Error(`Not implemented from SolanaProviderAdapter`)}getConnection(){return this.connection}initializeAnchorProvider(){if(!this.wallet)throw Error(`No wallet provided`);return this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.anchorProvider}getAnchorProvider(){return this.anchorProvider??this.initializeAnchorProvider()}getSolanaProgram(e){return new r.Program(e,this.getAnchorProvider())}getSolanaPublicKey(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.publicKey}setupWalletListeners(){!this.wallet?.adapter||!this.chainEventListener||(this.connectHandler=e=>{if(!e){this.chainEventListener?.onChainChanged();return}if(!this.wallet)throw Error(`No wallet provided`);this.wallet={...this.wallet,publicKey:e},this.anchorProvider=new r.AnchorProvider(this.connection,this.wallet,{preflightCommitment:`confirmed`,commitment:`confirmed`}),this.chainEventListener?.onAccountChanged()},this.disconnectHandler=()=>{this.chainEventListener?.onChainChanged()},this.wallet.adapter.on(`connect`,this.connectHandler),this.wallet.adapter.on(`disconnect`,this.disconnectHandler))}removeWalletListeners(){this.wallet?.adapter&&this.connectHandler&&this.wallet.adapter.off(`connect`,this.connectHandler),this.wallet?.adapter&&this.disconnectHandler&&this.wallet.adapter.off(`disconnect`,this.disconnectHandler),this.connectHandler=void 0,this.disconnectHandler=void 0}isSolanaLedger(){if(!this.wallet)throw Error(`No wallet provided`);return this.wallet.isLedger??!1}},a=(e,t)=>new i(e,t);exports.SolanaProviderAdapter=i,exports.default=a;
|
|
@@ -22,10 +22,7 @@ export declare class SolanaProviderAdapter implements IProviderAdapter<SolanaWal
|
|
|
22
22
|
getChainId(): number | undefined;
|
|
23
23
|
waitForTransaction(_chainId: number, transactionHash: string, _confirmations: number): Promise<boolean>;
|
|
24
24
|
signMessage(message: string | Uint8Array): Promise<string>;
|
|
25
|
-
signTransactionWithoutBroadcast(tx: Transaction): Promise<
|
|
26
|
-
signature: string;
|
|
27
|
-
transactionMessageB64: string;
|
|
28
|
-
}>;
|
|
25
|
+
signTransactionWithoutBroadcast(tx: Transaction): Promise<string>;
|
|
29
26
|
getAddress(): Promise<string>;
|
|
30
27
|
setChainEventListener(chainEventListener: ChainEventListener): void;
|
|
31
28
|
switchNetwork(network: EthereumNetwork): Promise<void>;
|
|
@@ -48,12 +48,9 @@ var a = class {
|
|
|
48
48
|
}
|
|
49
49
|
async signTransactionWithoutBroadcast(e) {
|
|
50
50
|
if (!this.wallet) throw Error(t.SIGNING_FAILED);
|
|
51
|
-
let n = await this.wallet.signTransaction(e)
|
|
52
|
-
if (!
|
|
53
|
-
return {
|
|
54
|
-
signature: `0x${Buffer.from(i).toString("hex")}`,
|
|
55
|
-
transactionMessageB64: r
|
|
56
|
-
};
|
|
51
|
+
let n = (await this.wallet.signTransaction(e)).signatures.find(({ publicKey: e }) => e.equals(this.wallet.publicKey))?.signature;
|
|
52
|
+
if (!n) throw Error(t.SIGNING_FAILED);
|
|
53
|
+
return `0x${Buffer.from(n).toString("hex")}`;
|
|
57
54
|
}
|
|
58
55
|
async getAddress() {
|
|
59
56
|
let e = this.ethereumAddress ?? this.wallet?.publicKey.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/chains.constants.cjs`),t=require(`../error-handling/error-codes.constants.cjs`),n=require(`../error-handling/logger.cjs`),r=require(`../types/eip5792.types.cjs`),i=require(`../functions/utils/create-provider.cjs`),a=require(`../functions/web3/getContractMetadata.cjs`);let o=require(`ethers`),s=require(`wagmi`),c=require(`wagmi/actions`);var l=class l{connector;chainId;originalProvider;fetchProviders={};signer;chainEventListener;config;unsubscribeFns=[];constructor(){e.HINKAL_SUPPORTED_CHAINS.forEach(t=>{e.isSolanaLike(t)||(this.fetchProviders[t]=i.createJsonRpcProvider(t))})}initConnector(e){this.connector=e}initConfig(e){this.config=e}async init(e){if(!this.connector)throw Error(`No Connector In Provider Adapter`);if(e&&(this.chainId=e),!this.chainId)throw Error(`No Chain Id In Provider Adapter`);let t=await this.connector.getProvider();this.originalProvider=new o.ethers.BrowserProvider(t);let n=(await this.connector.getAccounts())?.[0];if(!n){this.chainEventListener&&this.chainEventListener.onChainChanged();return}this.signer=await this.walletClientToSigner({transport:t,account:n},this.chainId)}async disconnectFromConnector(){if(!this.config)throw Error(`No Config In Provider Adapter`);this.release(),await(0,c.disconnect)(this.config)}async connectToConnector(e){if(!this.config)throw Error(`No Config In Provider Adapter`);if(e.id===`walletConnect`)try{await(0,c.reconnect)(this.config,{connectors:[e]}),await(0,c.disconnect)(this.config)}catch{}try{return(await(0,c.connect)(this.config,{connector:e})).chainId}catch(n){if(n instanceof s.ConnectorAlreadyConnectedError)return e.getChainId();let r=t.transactionErrorCodes.CONNECTION_FAILED;throw n?.code===4001&&(r=t.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),Error(r)}}getChainId(){return this.chainId}async waitForTransaction(e,n,r){if((await this.fetchProviders[e]?.waitForTransaction(n,r))?.status)return!0;throw Error(t.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(e){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=await(0,c.signMessage)(this.config,{message:e});if(!n)throw Error(t.transactionErrorCodes.SIGNING_FAILED);if(n.includes(`error`))throw Error(t.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return n}async signTypedData(e,t,n){return this.signer.signTypedData(e,t,n)}async switchNetwork(t){if(!this.config)throw Error(`No Config In Provider Adapter`);let n=e.getOnchainChainId(t.chainId);return(0,c.switchChain)(this.config,{chainId:n})}async getAddress(){if(!this.config)throw Error(`No Config In Provider Adapter`);let{address:e}=(0,c.getAccount)(this.config);if(!e)throw Error(`IllegalState`);return o.ethers.getAddress(e)}setChainEventListener(e){if(!this.config)throw Error(`No Config In Provider Adapter`);this.chainEventListener=e,this.chainEventListener&&(this.unsubscribeFns.push((0,c.watchAccount)(this.config,{onChange:({address:e},{address:t})=>{this.chainEventListener&&e!==t&&this.chainEventListener.onAccountChanged()}})),this.unsubscribeFns.push((0,c.watchChainId)(this.config,{onChange:e=>{this.chainEventListener&&this.chainEventListener.onChainChanged(e)}})))}onAccountChanged(){return this.init()}onChainChanged(e){return this.init(e)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(e=>e()),this.unsubscribeFns=[]}getContract(e,t,n=void 0,r){return a.getContract(t,e,n,r)}getContractWithSigner(e,t,n=void 0){if(!this.signer)throw Error(`IllegalState: no signer`);return this.getContract(e,t,n,this.signer)}getContractWithFetcher(e,t,n=void 0){let r=this.fetchProviders[e];if(!r)throw Error(`fetchProvider not initialized`);return this.getContract(e,t,n,r)}async sendTransaction(e){if(!this.signer)throw Error(`IllegalState: no signer`);return await this.signer.sendTransaction(e)}async connectAndPatchProvider(e){return await this.connectToConnector(e)}async getGasPrice(e){let t=(await this.fetchProviders[e]?.getFeeData())?.gasPrice;if(!t)throw Error(`Could not fetch gas price in getGasPrice`);return t}static FALLBACK_METHODS=new Set([`eth_blockNumber`,`eth_call`]);wrapTransportWithRpcFallback(e,t){let n=this.fetchProviders[t];return n?{request:async t=>{let r=await e.request(t);return r==null&&l.FALLBACK_METHODS.has(t.method)?n.send(t.method,Array.isArray(t.params)?t.params:[]):r}}:e}async walletClientToSigner(e,t){let{account:n,transport:r}=e;return new o.ethers.BrowserProvider(this.wrapTransportWithRpcFallback(r,t)).getSigner(n)}async supportsBatchCall(t){if(!this.originalProvider)return!1;try{let n=await this.getAddress(),r=`0x${e.getOnchainChainId(t).toString(16)}`,i=await this.originalProvider.send(`wallet_getCapabilities`,[n,[r]]),a=i?.[r]||i?.[`0x0`];if(!a?.atomic)return!1;let o=typeof a.atomic==`string`?a.atomic:a.atomic?.status;return o===`supported`||o===`ready`}catch{return!1}}async waitForBatchTransactionStatus(e){if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);for(let t=0;t<60;t+=1){await new Promise(e=>{setTimeout(()=>e(),1e3)});try{let t=await this.originalProvider.send(`wallet_getCallsStatus`,[e]);if(t.status===r.CallsStatus.Confirmed&&t.receipts?.[0]?.transactionHash)return t.receipts[0].transactionHash;if(t.status===r.CallsStatus.OffchainFailure||t.status===r.CallsStatus.ChainFailure||t.status===r.CallsStatus.PartialFailure)break}catch(e){n.Logger.log(`waitForBatchTransactionStatus:`,e)}}throw Error(`Batch transaction timed out or failed`)}async sendBatchCallsTransaction(t,n){if(!this.fetchProviders[t])throw Error(`WagmiProviderAdapter: fetchProvider not initialized`);if(!this.originalProvider)throw Error(`WagmiProviderAdapter: Provider not initialized`);let r=await this.getAddress(),i={version:`2.0.0`,chainId:`0x${e.getOnchainChainId(t).toString(16)}`,from:r,atomicRequired:!0,calls:n},a=await this.originalProvider.send(`wallet_sendCalls`,[i]),o=a?.id||a;if(!o||typeof o!=`string`)throw Error(`Invalid batch ID received from wallet_sendCalls`);let s=await this.waitForBatchTransactionStatus(o),c=await this.fetchProviders[t].getTransaction(s);if(!c)throw Error(`Transaction not found`);return c}},u=new l,d=()=>new l;exports.default=d,exports.wagmiProviderAdapter=u;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HINKAL_SUPPORTED_CHAINS as e, getOnchainChainId as t, isSolanaLike as n } from "../constants/chains.constants.mjs";
|
|
2
2
|
import { UserFriendlyErrorCodes as r, transactionErrorCodes as i } from "../error-handling/error-codes.constants.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Logger as a } from "../error-handling/logger.mjs";
|
|
4
|
+
import { CallsStatus as o } from "../types/eip5792.types.mjs";
|
|
5
5
|
import { createJsonRpcProvider as s } from "../functions/utils/create-provider.mjs";
|
|
6
6
|
import { getContract as c } from "../functions/web3/getContractMetadata.mjs";
|
|
7
7
|
import { ethers as l } from "ethers";
|
|
@@ -163,10 +163,10 @@ var y = class y {
|
|
|
163
163
|
});
|
|
164
164
|
try {
|
|
165
165
|
let t = await this.originalProvider.send("wallet_getCallsStatus", [e]);
|
|
166
|
-
if (t.status ===
|
|
167
|
-
if (t.status ===
|
|
166
|
+
if (t.status === o.Confirmed && t.receipts?.[0]?.transactionHash) return t.receipts[0].transactionHash;
|
|
167
|
+
if (t.status === o.OffchainFailure || t.status === o.ChainFailure || t.status === o.PartialFailure) break;
|
|
168
168
|
} catch (e) {
|
|
169
|
-
|
|
169
|
+
a.log("waitForBatchTransactionStatus:", e);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
throw Error("Batch transaction timed out or failed");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.TRON_PUBLIC_TOKENS=`tronPublicTokens`,e.TEMPO_PUBLIC_TOKENS=`tempoPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e.IS_DEPRECATED_CACHE_CLEARED=`isDeprecatedCacheCleared`,e.NFT_METADATA=`nftMetadata`,e}({});exports.StorageKeys=e;
|
|
1
|
+
var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.TRON_PUBLIC_TOKENS=`tronPublicTokens`,e.TEMPO_PUBLIC_TOKENS=`tempoPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e.IS_DEPRECATED_CACHE_CLEARED=`isDeprecatedCacheCleared`,e.NFT_METADATA=`nftMetadata`,e.SCHEDULED_TRANSACTIONS=`scheduledTransactions`,e}({});exports.StorageKeys=e;
|
|
@@ -56,5 +56,6 @@ export declare enum StorageKeys {
|
|
|
56
56
|
TOUR_CURRENT_STEP = "tourCurrentStep",
|
|
57
57
|
REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress",
|
|
58
58
|
IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared",
|
|
59
|
-
NFT_METADATA = "nftMetadata"
|
|
59
|
+
NFT_METADATA = "nftMetadata",
|
|
60
|
+
SCHEDULED_TRANSACTIONS = "scheduledTransactions"
|
|
60
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region libs/shared/common/src/types/cache.types.ts
|
|
2
2
|
var e = /* @__PURE__ */ function(e) {
|
|
3
|
-
return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.TRON_PUBLIC_TOKENS = "tronPublicTokens", e.TEMPO_PUBLIC_TOKENS = "tempoPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e.IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared", e.NFT_METADATA = "nftMetadata", e;
|
|
3
|
+
return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.TRON_PUBLIC_TOKENS = "tronPublicTokens", e.TEMPO_PUBLIC_TOKENS = "tempoPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e.IS_DEPRECATED_CACHE_CLEARED = "isDeprecatedCacheCleared", e.NFT_METADATA = "nftMetadata", e.SCHEDULED_TRANSACTIONS = "scheduledTransactions", e;
|
|
4
4
|
}({});
|
|
5
5
|
//#endregion
|
|
6
6
|
export { e as StorageKeys };
|
|
@@ -2,7 +2,6 @@ import { ethers } from 'ethers';
|
|
|
2
2
|
import { Types as TronWebTypes } from 'tronweb';
|
|
3
3
|
import { ERC20Token } from './token.types';
|
|
4
4
|
import { ExternalActionId } from './external-action.types';
|
|
5
|
-
import { FeeStructure } from './hinkal.types';
|
|
6
5
|
export type FailedResponse = {
|
|
7
6
|
success: false;
|
|
8
7
|
error: string;
|
|
@@ -52,9 +51,9 @@ export type DepositResponse = {
|
|
|
52
51
|
success: true;
|
|
53
52
|
txData: DepositTxData;
|
|
54
53
|
} | FailedResponse;
|
|
55
|
-
export type
|
|
54
|
+
export type FeeResponse = {
|
|
56
55
|
success: true;
|
|
57
|
-
|
|
56
|
+
feeAmount: string;
|
|
58
57
|
} | FailedResponse;
|
|
59
58
|
export type GetSwapDataResponse = {
|
|
60
59
|
success: true;
|
|
@@ -167,11 +167,30 @@ export interface PreparedJobType {
|
|
|
167
167
|
jobId: string;
|
|
168
168
|
signedMessageHash: string;
|
|
169
169
|
}
|
|
170
|
-
export interface
|
|
170
|
+
export interface EnclaveWitnessPreimage {
|
|
171
|
+
rootHashHinkal: string;
|
|
172
|
+
outTimeStamp: string;
|
|
173
|
+
outH1Ax: string;
|
|
174
|
+
outH1Ay: string;
|
|
175
|
+
h0Ax: string;
|
|
176
|
+
h0Ay: string;
|
|
177
|
+
outAmounts: string[][];
|
|
178
|
+
outNoteH0Ax: string[][];
|
|
179
|
+
outNoteH0Ay: string[][];
|
|
180
|
+
messageSeed: string;
|
|
181
|
+
encryptedOutputs: string[][];
|
|
182
|
+
onChainEncryptedOutput: string;
|
|
183
|
+
inAmounts: string[][];
|
|
184
|
+
inH0Ax: string[][];
|
|
185
|
+
inH0Ay: string[][];
|
|
186
|
+
inTimeStamps: string[][];
|
|
187
|
+
}
|
|
188
|
+
export interface PrepareTxResponseType extends PreparedJobType, EnclaveWitnessPreimage {
|
|
171
189
|
request: EchoedPrepareTxRequestType;
|
|
172
190
|
}
|
|
173
|
-
export interface PrepareSolanaTxResponseType extends PreparedJobType {
|
|
191
|
+
export interface PrepareSolanaTxResponseType extends PreparedJobType, EnclaveWitnessPreimage {
|
|
174
192
|
request: EchoedPrepareSolanaTxRequestType;
|
|
193
|
+
dimensions: DimDataType;
|
|
175
194
|
}
|
|
176
195
|
export interface PrepareStuckWithdrawRequestType {
|
|
177
196
|
chainId: number;
|
|
@@ -197,8 +216,11 @@ export interface EchoedPrepareStuckWithdrawRequestType {
|
|
|
197
216
|
};
|
|
198
217
|
hashedEthereumAddress: string;
|
|
199
218
|
}
|
|
219
|
+
export interface PreparedStuckWithdrawJobType extends PreparedJobType, EnclaveWitnessPreimage {
|
|
220
|
+
dimensions: DimDataType;
|
|
221
|
+
}
|
|
200
222
|
export interface PrepareStuckWithdrawResponseType {
|
|
201
|
-
jobs:
|
|
223
|
+
jobs: PreparedStuckWithdrawJobType[];
|
|
202
224
|
request: EchoedPrepareStuckWithdrawRequestType;
|
|
203
225
|
}
|
|
204
226
|
export interface PrepareSolanaStuckWithdrawParams {
|
|
@@ -215,8 +237,19 @@ export interface PrepareSolanaStuckWithdrawRequestType extends Omit<PrepareSolan
|
|
|
215
237
|
nullifyingKey: string;
|
|
216
238
|
spendingPublicKey: [string, string];
|
|
217
239
|
}
|
|
240
|
+
export interface EchoedPrepareSolanaStuckWithdrawRequestType {
|
|
241
|
+
chainId: string;
|
|
242
|
+
mintAddress: string;
|
|
243
|
+
recipient: string;
|
|
244
|
+
relayAddress: string;
|
|
245
|
+
signer: string;
|
|
246
|
+
accounts: SolanaTransactAccounts;
|
|
247
|
+
feeStructures: Record<string, RemoteFeeStructureRequest>;
|
|
248
|
+
hashedEthereumAddress: string;
|
|
249
|
+
}
|
|
218
250
|
export interface PrepareSolanaStuckWithdrawResponseType {
|
|
219
|
-
jobs:
|
|
251
|
+
jobs: PreparedStuckWithdrawJobType[];
|
|
252
|
+
request: EchoedPrepareSolanaStuckWithdrawRequestType;
|
|
220
253
|
}
|
|
221
254
|
export interface FinalizeTxRequestType {
|
|
222
255
|
jobId: string;
|
|
@@ -30,6 +30,24 @@ export interface ScheduledTransactionResponseItem {
|
|
|
30
30
|
destinationTokenAddress?: string;
|
|
31
31
|
destinationTokenAmount?: string;
|
|
32
32
|
}
|
|
33
|
+
export interface ScheduledTransactionCacheLeg {
|
|
34
|
+
scheduledTime: string;
|
|
35
|
+
status: ScheduledTransactionStatus;
|
|
36
|
+
txHash: string | null;
|
|
37
|
+
externalAddress: string;
|
|
38
|
+
amount: string;
|
|
39
|
+
destinationChainId?: number;
|
|
40
|
+
destinationTokenAddress?: string;
|
|
41
|
+
destinationTokenAmount?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface ScheduledTransactionCacheEntry {
|
|
44
|
+
scheduleId: string;
|
|
45
|
+
depositTxHash: string;
|
|
46
|
+
chainId: number;
|
|
47
|
+
erc20TokenAddress: string;
|
|
48
|
+
createdAt: string;
|
|
49
|
+
legs: ScheduledTransactionCacheLeg[];
|
|
50
|
+
}
|
|
33
51
|
export interface RecipientUtxo {
|
|
34
52
|
recipientAddress: string;
|
|
35
53
|
utxo: Utxo;
|
|
@@ -50,9 +50,6 @@ export interface SolanaTransactAccounts extends SolanaAccounts {
|
|
|
50
50
|
mint?: string;
|
|
51
51
|
}
|
|
52
52
|
export interface SolanaSwapAccounts extends SolanaAccounts {
|
|
53
|
-
storageAccount: string;
|
|
54
|
-
storageVault: string;
|
|
55
|
-
swapperAccount: string;
|
|
56
53
|
mintFrom: string | null;
|
|
57
54
|
mintTo: string | null;
|
|
58
55
|
remainingAccounts: OKXAccount[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./workerProxy-
|
|
1
|
+
const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.c(a);let o=require(`@solana/web3.js`),s=require(`bs58`);s=e.c(s);let c=require(`tweetnacl`);c=e.c(c);let l=require(`tronweb`);var u=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),d=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),f=new class{babyjub=void 0;async init(){this.babyjub||=e.o?(0,r.buildBabyJubRN)():await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},p=()=>f.getJub(),m=new class{eddsa=void 0;async init(){this.eddsa||=e.o?await(0,r.buildEddsaRN)():await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},h=()=>m.getEddsa();function g(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var _=new class{poseidon=void 0;async init(){this.poseidon||=e.o?(0,r.buildPoseidonRN)():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function v(...e){let t=_.getPoseidon();return g(t.F.toString(t(e)))}var y=(...e)=>{let t=_.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},b=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([a.default.ready,_.init(),f.init(),...e?[]:[m.init()]])};`${`00`.repeat(20)}`;var x=21888242871839275222246405745257275088548364400416034343698204186575808495617n,S=x/2n,C=2n**250n,w=200n,T=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(e){Object.entries(e).forEach(([e,t])=>{this.set(e,d(t))})}},E=class extends T{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,u(t)]))}attach(e){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...t)=>{let n=u(t),r=this.get(n);if(r!==void 0)return r;let i=e(...t);return this.set(n,i),i}}},D=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>S},O=e=>D(e)?1n:0n,k=new E,A=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===l.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(y(this.signature));this.nullifyingKey=i.ethers.toBeHex(e%C)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>i.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=h(),t=p(),n=y(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=p(),n=h(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=o.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${s.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=y(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=o.Keypair.fromSeed(n);return s.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new o.PublicKey(t).toBytes();return c.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPair=k.attach((e,t)=>{let n=p(),r=n.mulPointEscalar(n.Base8,e),i=n.mulPointEscalar(r,BigInt(t));return{H0:[BigInt(n.F.toString(r[0])),BigInt(n.F.toString(r[1]))],H1:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]}});static getH1FromH0=(e,t)=>{let n=p(),r=[n.F.e(e[0]),n.F.e(e[1])],i=n.mulPointEscalar(r,BigInt(t));return[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddress=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return y(2n*O(e[0])+O(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t),r,i,a=0n;do r=e*10n**a%x,i=r*n%x,a+=1n;while(i>=2n**250n||r>=2n**250n);return r}static getH0FromRandomization=e=>{let t=p(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=a.default.crypto_box_seed_keypair(i.ethers.getBytes(i.ethers.keccak256(e)));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),y(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),y(this.getAccessKey(),this.getShieldedPublicKey()))},j={WC_NO_MATCHING_KEY:`creating the transaction failed
|
|
2
2
|
version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},M={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},N={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...j,...M,...N});var P=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),F=()=>Math.floor(Date.now()/1e3),I=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1}){if(this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??F().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,s!==void 0)this.H0=s;else{let e=o??(i?A.findCorrectRandomization(P(31),i):void 0);if(this.H0=e?A.findH0(e,i):void 0,!this.H0)throw Error(`UTXO requires H0 or nullifyingKey`)}}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,H0:this.H0}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=y(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=y(this.nullifyingKey,e);this.nullifier=y(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=A.getStealthAddress(this.H0,this.nullifyingKey,this.spendingPublicKey)}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return A.getEncryptionKeyPair(this.nullifyingKey).publicKey}},L=()=>a.default.crypto_box_SEALBYTES+a.default.crypto_secretbox_KEYBYTES,R=e=>{let t=a.default.crypto_secretbox_NONCEBYTES,n=L(),r=0,i=e[r];r+=1;let o=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:o,sealedKeys:s,ciphertext:e.slice(r)}},z=(e,t,n,r)=>{let{nonce:o,sealedKeys:s,ciphertext:c}=R(e),l=a.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=a.default.crypto_secretbox_open_easy(c,o,l);return Buffer.from(u)},B=(e,t)=>{let{privateKey:n,publicKey:r}=A.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=z(e,n,r,0),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),s=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a[7]?c(a[7]):void 0,u=l?new o.PublicKey(Buffer.from(l.slice(2),`hex`)).toString():void 0;return{amount:s(a[0]),erc20TokenAddress:c(a[1]),stealthAddress:c(a[2]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:s(a[3]).toString(),H0:[s(a[4]),s(a[5])],mintAddress:u}},V=(e,t)=>new I(B(e,t)),H=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hinkal/common",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"homepage": "hinkal.io",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hinkal Protocol"
|
|
@@ -94,7 +94,6 @@
|
|
|
94
94
|
"dotenv": "16.4.5",
|
|
95
95
|
"ethers": "6.17.0",
|
|
96
96
|
"idb-keyval": "6.3.0",
|
|
97
|
-
"multiformats": "9.4.2",
|
|
98
97
|
"snarkjs": "0.7.6",
|
|
99
98
|
"libsodium-wrappers": "0.8.4",
|
|
100
99
|
"lodash": "4.18.1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-
|
|
1
|
+
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js`).href:new URL(`../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
//#region libs/shared/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url
|
|
2
|
-
var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-
|
|
2
|
+
var e = "" + new URL("../../../../assets/snarkjsWorkerLauncher-47LZCNfa.js", import.meta.url).href;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./workerProxy-
|
|
1
|
+
const e=require(`./workerProxy-BHzCZ9HT.js`);let t=require(`buffer`),n=require(`process`);n=e.c(n);let r=require(`worker_threads`),i=require(`snarkjs`);i=e.c(i);let a=require(`axios`);a=e.c(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.s?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.s&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p);let n=require(`fs`);m=await n.promises.readFile(f),h=await n.promises.readFile(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=n.default,globalThis.Buffer=t.Buffer,r.parentPort.on(`message`,async e=>{await u(e)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-
|
|
1
|
+
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/utxoWorkerLauncher-BUIa39gN.js`).href:new URL(`../../../../assets/utxoWorkerLauncher-BUIa39gN.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
//#region libs/shared/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url
|
|
2
|
-
var e = "" + new URL("../../../../assets/utxoWorkerLauncher-
|
|
2
|
+
var e = "" + new URL("../../../../assets/utxoWorkerLauncher-BUIa39gN.js", import.meta.url).href;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./workerProxy-
|
|
1
|
+
const e=require(`./workerProxy-BHzCZ9HT.js`),t=require(`./logError-CIIt1CO3.js`);let n=require(`buffer`),r=require(`process`);r=e.c(r);let i=require(`worker_threads`),a=require(`ethers`),o=require(`@solana/web3.js`);var s=`solana-on-chain-utxo:`,c=9,l=e=>e.startsWith(s),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=a.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${c}]`],e.slice(21)),r=n;if(!Array.isArray(r)||r.length!==c)throw Error(`Malformed encoded Solana UTXO payload`);let[i,s,u,d,f,p,m,h,g]=r,_=BigInt(i),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=a.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(a.ethers.getBytes(s)),T=Array.from(a.ethers.getBytes(u)),E=new o.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.u(BigInt(s),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},d=e=>{let[t]=a.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:a.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},f=(n,r,i)=>{let{h0x:a,h0y:o,h1x:s,h1y:c}=e.r(i)?u(n):d(n),l=t.a.verifyStealthPair([a,o],[s,c],r);if(!l)throw Error(`UTXO doesn't belong to user`);return l},p=(t,n,r)=>{if(e.r(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:l}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,H0:[s,c]}},m=class{static log(...t){e.a&&console.log(...t)}static logObject(t){e.a&&console.dir(t,{depth:null,colors:!0})}static error(...e){t.t(e)}},h=function(e){return e[e.BATCH_FILTER_UTXOS_WITH_NULLIFIER=0]=`BATCH_FILTER_UTXOS_WITH_NULLIFIER`,e[e.BUILD_UTXOS=1]=`BUILD_UTXOS`,e[e.DECIPHER_OUTPUTS=2]=`DECIPHER_OUTPUTS`,e}({}),g=new e.t,_=async({data:e})=>{let{utxos:n,nullifiers:r}=e,i=n.filter(e=>{let n=new t.i(e);return!r.has(n.getNullifier())});g.postMessageToMainThread({utxoConstructors:i,stealthPairCache:t.o.serialize()})},v=async({data:e})=>{let n=new t.a(e.signature),r=n.getShieldedPrivateKey(),i=e.encryptedOutputs.map(i=>{try{let a=i.isPositive?t.r(Buffer.from(i.value.slice(2),`hex`),n):p(i.value,r,e.chainId);return a.isBlocked=i.isBlocked,a}catch{return}}).filter(e=>e!==void 0&&e.amount!==0n);g.postMessageToMainThread(i)},y=async({data:e})=>{let n=new t.a(e.signature),r=[],{encryptedOutputs:i}=e,{lastOutput:a}=e,o=n.getShieldedPrivateKey();for(let s=0;s<i.length;s+=1){let c=i[s];if(a=c.value,c.isPositive)try{let e=t.n(Buffer.from(a.slice(2),`hex`),n);if(e.isBlocked=c.isBlocked,!e.erc20TokenAddress||!e.amount||!e.stealthAddress)throw Error(`bruh`);r.push(c)}catch{}else try{f(a,o,e.chainId)&&r.push(c)}catch{}}g.postMessageToMainThread({additionalEncryptedOutputs:r,lastOutput:a})},b=async e=>{try{await t.c(!0);let{type:n}=e.payload;switch(n){case h.BATCH_FILTER_UTXOS_WITH_NULLIFIER:await _(e.payload);return;case h.BUILD_UTXOS:await v(e.payload);return;case h.DECIPHER_OUTPUTS:await y(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){m.error(`utxo worker message failed`,e),g.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await b(e)});
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
const domain = 'https://wallet-prodv12.hinkal.io/workers';
|
|
3
3
|
|
|
4
4
|
const WORKER_CDN_URLS = {
|
|
5
|
-
ZKProof: domain + '/0.3.
|
|
6
|
-
SnarkJS: domain + '/0.3.
|
|
7
|
-
UTXO: domain + '/0.3.
|
|
5
|
+
ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
|
|
6
|
+
SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
|
|
7
|
+
UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
// Returns a blob:// URL which points
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
const domain = 'https://wallet-prodv12.hinkal.io/workers';
|
|
3
3
|
|
|
4
4
|
const WORKER_CDN_URLS = {
|
|
5
|
-
ZKProof: domain + '/0.3.
|
|
6
|
-
SnarkJS: domain + '/0.3.
|
|
7
|
-
UTXO: domain + '/0.3.
|
|
5
|
+
ZKProof: domain + '/0.3.10/' + 'zkProofWorkerLauncher.js',
|
|
6
|
+
SnarkJS: domain + '/0.3.10/' + 'snarkjsWorkerLauncher.js',
|
|
7
|
+
UTXO: domain + '/0.3.10/' + 'utxoWorkerLauncher.js',
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
// Returns a blob:// URL which points
|