@kapa123456789/sdk 0.0.74 → 0.0.75
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/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +1 -0
- package/common/src/data-structures/Hinkal/Hinkal.mjs +13 -3
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +1 -0
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +2 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +5 -1
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -0
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +37 -36
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +9 -1
- package/common/src/functions/snarkjs/common.snarkjs.mjs +11 -7
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -3
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +49 -32
- 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/utils/initUserKeysWithEnclaveSignature.cjs +1 -0
- package/common/src/functions/utils/initUserKeysWithEnclaveSignature.d.ts +3 -0
- package/common/src/functions/utils/initUserKeysWithEnclaveSignature.mjs +20 -0
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -1
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +16 -2
- package/common/src/types/hinkal.types.d.ts +4 -0
- package/common/src/webworker/package.json +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- 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 -1
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.d.ts +2 -0
- package/providers/prepareEthersHinkal.mjs +11 -1
- package/providers/prepareSolanaHinkal.cjs +1 -1
- package/providers/prepareSolanaHinkal.d.ts +2 -0
- package/providers/prepareSolanaHinkal.mjs +11 -1
- package/providers/prepareTronHinkal.cjs +1 -1
- package/providers/prepareTronHinkal.d.ts +2 -0
- package/providers/prepareTronHinkal.mjs +11 -1
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.d.ts +3 -0
- package/providers/prepareWagmiHinkal.mjs +11 -1
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +2 -0
- package/services/Hinkal.mjs +17 -10
- package/types/IHinkal.d.ts +2 -0
- package/common/src/data-structures/SignatureStorage.d.ts +0 -11
- package/common/src/functions/utils/initUserKeysWithCachedSignature.d.ts +0 -3
|
@@ -1,77 +1,94 @@
|
|
|
1
1
|
import { isNode as e } from "../../constants/vite.constants.mjs";
|
|
2
2
|
import { isLocalNetwork as t } from "../../constants/chains.constants.mjs";
|
|
3
3
|
import { toBigInt as n } from "../utils/amounts.utils.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { buildZeroInputMerkleDataFromSerialized as r, hasOnlyZeroAmounts as i } from "./common.snarkjs.mjs";
|
|
5
|
+
import { WorkerVariant as a } from "../../webworker/worker.registry.mjs";
|
|
6
|
+
import { performTaskWithWorker as o } from "../../webworker/performTaskWithWorker.mjs";
|
|
7
|
+
import { ZKProofWorkerActionType as s } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
|
|
8
|
+
import { fetchMerkleTreeSiblings as c } from "./fetchMerkleTreeSiblings.mjs";
|
|
9
|
+
import { fetchOnChainRootHashes as l } from "./fetchOnChainRootHashes.mjs";
|
|
9
10
|
//#region libs/shared/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.ts
|
|
10
|
-
var
|
|
11
|
+
var u = async (e, t) => {
|
|
11
12
|
let n = e.getRootHash();
|
|
12
13
|
if (n === void 0) throw Error("Root hash not available from hinkal merkle tree");
|
|
13
|
-
let
|
|
14
|
-
return
|
|
15
|
-
type:
|
|
14
|
+
let r;
|
|
15
|
+
return r = await o({
|
|
16
|
+
type: a.ZKProof,
|
|
16
17
|
payload: {
|
|
17
|
-
type:
|
|
18
|
+
type: s.CALC_COMMITMENTS_SIBLING_AND_SIDES,
|
|
18
19
|
data: {
|
|
19
20
|
inputUtxosSerialized: t,
|
|
20
21
|
merkleTreeSerialized: e.toJSON()
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
}), {
|
|
24
|
-
inCommitmentSiblings:
|
|
25
|
-
inCommitmentSiblingSides:
|
|
25
|
+
inCommitmentSiblings: r.inCommitmentSiblings,
|
|
26
|
+
inCommitmentSiblingSides: r.inCommitmentSiblingSides,
|
|
26
27
|
rootHashHinkal: n
|
|
27
28
|
};
|
|
28
|
-
},
|
|
29
|
-
let r = await
|
|
29
|
+
}, d = async (e, t) => {
|
|
30
|
+
let r = await c(e, t);
|
|
30
31
|
return {
|
|
31
32
|
inCommitmentSiblings: r.inCommitmentSiblings,
|
|
32
33
|
inCommitmentSiblingSides: r.inCommitmentSiblingSides,
|
|
33
34
|
rootHashHinkal: n(r.rootHashHinkal)
|
|
34
35
|
};
|
|
35
|
-
},
|
|
36
|
+
}, f = async (e, t) => {
|
|
36
37
|
if (!t) return !1;
|
|
37
38
|
try {
|
|
38
39
|
let n = t.getRootHash();
|
|
39
40
|
if (n === void 0) return !1;
|
|
40
|
-
let { hinkalRootHash: r } = await
|
|
41
|
+
let { hinkalRootHash: r } = await l(e);
|
|
41
42
|
return n === r;
|
|
42
43
|
} catch {
|
|
43
44
|
return !1;
|
|
44
45
|
}
|
|
45
|
-
},
|
|
46
|
+
}, p = async (e, n, r) => await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u) => {
|
|
47
|
+
if (i(u)) {
|
|
48
|
+
let e = r(u);
|
|
49
|
+
if (t(n)) {
|
|
50
|
+
let t = c.getRootHash();
|
|
51
|
+
if (t === void 0) throw Error("Root hash not available from hinkal merkle tree");
|
|
52
|
+
return {
|
|
53
|
+
...e,
|
|
54
|
+
rootHashHinkal: t
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
let { hinkalRootHash: i } = await l(n);
|
|
58
|
+
return {
|
|
59
|
+
...e,
|
|
60
|
+
rootHashHinkal: i
|
|
61
|
+
};
|
|
62
|
+
}
|
|
46
63
|
if (e) {
|
|
47
|
-
let { inCommitmentSiblings: e, inCommitmentSiblingSides:
|
|
64
|
+
let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r } = await p(n, u, c);
|
|
48
65
|
return {
|
|
49
66
|
inCommitmentSiblings: e,
|
|
50
|
-
inCommitmentSiblingSides:
|
|
51
|
-
rootHashHinkal:
|
|
52
|
-
inNullifiers: await
|
|
53
|
-
type:
|
|
67
|
+
inCommitmentSiblingSides: t,
|
|
68
|
+
rootHashHinkal: r,
|
|
69
|
+
inNullifiers: await o({
|
|
70
|
+
type: a.ZKProof,
|
|
54
71
|
payload: {
|
|
55
|
-
type:
|
|
56
|
-
data: { inputUtxosSerialized:
|
|
72
|
+
type: s.BUILD_IN_NULLIFIERS,
|
|
73
|
+
data: { inputUtxosSerialized: u }
|
|
57
74
|
}
|
|
58
75
|
})
|
|
59
76
|
};
|
|
60
77
|
} else {
|
|
61
|
-
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides:
|
|
62
|
-
type:
|
|
78
|
+
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r }, i] = await Promise.all([p(n, u, c), o({
|
|
79
|
+
type: a.ZKProof,
|
|
63
80
|
payload: {
|
|
64
|
-
type:
|
|
65
|
-
data: { inputUtxosSerialized:
|
|
81
|
+
type: s.BUILD_IN_NULLIFIERS,
|
|
82
|
+
data: { inputUtxosSerialized: u }
|
|
66
83
|
}
|
|
67
84
|
})]);
|
|
68
85
|
return {
|
|
69
86
|
inCommitmentSiblings: e,
|
|
70
|
-
inCommitmentSiblingSides:
|
|
71
|
-
rootHashHinkal:
|
|
72
|
-
inNullifiers:
|
|
87
|
+
inCommitmentSiblingSides: t,
|
|
88
|
+
rootHashHinkal: r,
|
|
89
|
+
inNullifiers: i
|
|
73
90
|
};
|
|
74
91
|
}
|
|
75
92
|
};
|
|
76
93
|
//#endregion
|
|
77
|
-
export {
|
|
94
|
+
export { m as getDataFromWorkers };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.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(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`./bit.operations.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.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/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.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(`./solanaSendPreflight.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getContractAddress.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.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`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`);
|
|
1
|
+
require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.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(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`./bit.operations.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.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/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.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(`./solanaSendPreflight.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./initUserKeysWithEnclaveSignature.cjs`),require(`./getContractAddress.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.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`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`);
|
|
@@ -41,6 +41,7 @@ export * from './get-signature-header';
|
|
|
41
41
|
export * from './solanaMint.utils';
|
|
42
42
|
export * from './solanaSendPreflight.utils';
|
|
43
43
|
export * from './prepareHinkal';
|
|
44
|
+
export * from './initUserKeysWithEnclaveSignature';
|
|
44
45
|
export * from './bytes32.utils';
|
|
45
46
|
export * from './getUtxosFromReceipt.utils';
|
|
46
47
|
export * from './getUtxosFromReceiptSolana';
|
|
@@ -55,6 +55,7 @@ import "./networks.utils.mjs";
|
|
|
55
55
|
import "./postToOffscreen.mjs";
|
|
56
56
|
import "./solanaSendPreflight.utils.mjs";
|
|
57
57
|
import "./prepareHinkal.mjs";
|
|
58
|
+
import "./initUserKeysWithEnclaveSignature.mjs";
|
|
58
59
|
import "./getContractAddress.mjs";
|
|
59
60
|
import "./getUtxosFromReceipt.utils.mjs";
|
|
60
61
|
import "./getUtxosFromReceiptSolana.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../types/hinkal.types.cjs`);require(`../../types/index.cjs`);var t=async(t,n=e.LoginMessageMode.PROTOCOL)=>{console.log(`signature`,n);let r=await t.getEthereumAddress();if(!r)throw Error(`Connected address not found`);console.log(`ethereumAddress`,r);let i=t.getProviderAdapter().isSolanaLedger?.()??!1;console.log(`isSolanaLedger`,i);let a,o;if(i){let e=await t.signSolanaLedgerMessage();console.log(`ledgerAuth`,e),a=e.signature,o=e.txMessageForSolanaLedger}else a=await t.getProviderAdapter().signMessage(t.getSigningMessage(n)),console.log(`signature`,a);let s=await t.storeAndGetInitialSignature(a,i,o);return console.log(`storedSignature`,s),t.initUserKeysWithSignature(s??a),o};exports.initUserKeysWithEnclaveSignature=t;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LoginMessageMode as e } from "../../types/hinkal.types.mjs";
|
|
2
|
+
import "../../types/index.mjs";
|
|
3
|
+
//#region libs/shared/common/src/functions/utils/initUserKeysWithEnclaveSignature.ts
|
|
4
|
+
var t = async (t, n = e.PROTOCOL) => {
|
|
5
|
+
console.log("signature", n);
|
|
6
|
+
let r = await t.getEthereumAddress();
|
|
7
|
+
if (!r) throw Error("Connected address not found");
|
|
8
|
+
console.log("ethereumAddress", r);
|
|
9
|
+
let i = t.getProviderAdapter().isSolanaLedger?.() ?? !1;
|
|
10
|
+
console.log("isSolanaLedger", i);
|
|
11
|
+
let a, o;
|
|
12
|
+
if (i) {
|
|
13
|
+
let e = await t.signSolanaLedgerMessage();
|
|
14
|
+
console.log("ledgerAuth", e), a = e.signature, o = e.txMessageForSolanaLedger;
|
|
15
|
+
} else a = await t.getProviderAdapter().signMessage(t.getSigningMessage(n)), console.log("signature", a);
|
|
16
|
+
let s = await t.storeAndGetInitialSignature(a, i, o);
|
|
17
|
+
return console.log("storedSignature", s), t.initUserKeysWithSignature(s ?? a), o;
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { t as initUserKeysWithEnclaveSignature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../utils/caseInsensitive.utils.cjs`),n=require(`../../../data-structures/utxo/Utxo.cjs`),r=require(`../../utils/upToDateState.cjs`),i=require(`../../utils/cacheFunctions.cjs`),a=require(`../../utils/encodeTokenWithId.cjs`),o=require(`../../utils/solanaMint.utils.cjs`),s=require(`./getInputUtxosEnclave.cjs`),c=require(`../../utils/addresses.cjs`),l=require(`../../../API/scheduled-transactions-calls.cjs`),u=require(`../../utils/tron.utils.cjs`);var d=new(require(`async-mutex`)).Mutex,f=async(e,t,n,a,o,s,c,l,u)=>d.runExclusive(async()=>{u+=1;let d=s.slice(u),{lastOutput:f,additionalEncryptedOutputs:p}=await e.utxoUtils.batchProcess(d,l,t,n),m=[...c,...p];return await r.checkAddressNotUpdated(e,a),i.setHinkalCache({lastOutput:f,encryptedOutputs:m},e,n,o),await e.utxoUtils.buildBatchProcess(m,t,n)}),p=async(e,t,n,r)=>{let{utxos:a,encryptedOutputs:o,lastOutput:c}=await s.getInputUtxosEnclave(e,n,t);return i.setHinkalCache({encryptedOutputs:o,lastOutput:c},e,n,r),a},m=async(e,t,n,r,i,a,o,s,c)=>{try{return await p(e,t,n,i)}catch{return f(e,t,n,r,i,a,o,s,c)}},h=e=>{if(Array.isArray(e))return e;if(e!==void 0)return[e]},g=async(e,t,n)=>await e.utxoUtils.batchFilterUtxosWithNullifier(t,n),_=(e,t,r,i,a,o,s,c)=>{for(e.sort((e,t)=>e.amount<=t.amount?1:-1);e.length<t||e.length>t&&e.length<6;)if(e.push(new n.Utxo({amount:0n,erc20TokenAddress:o,mintAddress:c,nullifyingKey:i,spendingPublicKey:a,isNewStyle:!0})),r)for(;e.length>6;)e.splice(e.length-1)},v=async({hinkal:e,chainId:t,passedShieldedPublicKey:n=void 0,ethAddress:a=void 0,resetCacheBefore:o=!1,allowRemoteDecryption:s=!1,useBlockedUtxos:c=!1})=>{let l=a??await e.getEthereumAddress(),u=n??e.userKeys.getShieldedPublicKey(),{userKeys:d}=e,p=e.encryptedOutputsByChain[t],h=e.nullifiersByChain[t],_=Array.from(p);o&&i.resetCache(e,t,u);let{encryptedOutputs:v,lastOutput:y}=i.getHinkalCache(e,t,u);await r.checkAddressNotUpdated(e,l);let b=y!==``,x=_.findIndex(e=>e.value===y),S=x>-1,C=!b&&x===-1,w=e.areMerkleTreeUpdatesDisabled(),T=!w&&(S||!s&&C),E=!w&&s&&C,D=!T&&!E,O=[];T?O=await f(e,d,t,l,u,_,v,y,x):E?O=await m(e,d,t,l,u,_,v,y,x):D&&(O=await e.utxoUtils.buildBatchProcess(v,d,t)),await r.checkAddressNotUpdated(e,l);let k=await g(e,O,h);return{inputUtxos:c?k.filter(e=>e.isBlocked):k.filter(e=>!e.isBlocked)}},y=async({hinkal:t,chainId:n,passedShieldedPublicKey:r=void 0,ethAddress:i=void 0,resetCacheBefore:a=!1,allowRemoteDecryption:o=!1})=>{let s=i??await t.getEthereumAddressByChain(n),d=c.hashEthereumAddress(e.isTronLike(n)?u.addressToHexFormat(s):s),{inputUtxos:f}=await v({hinkal:t,chainId:n,passedShieldedPublicKey:r,ethAddress:s,resetCacheBefore:a,allowRemoteDecryption:o,useBlockedUtxos:!0});if(!f.length)return{inputUtxos:[]};let{indexes:p}=await l.getScheduledTransactionsNullifierIndexes({hashedEthereumAddress:d,nullifiers:f.map(e=>e.getNullifier())});return{inputUtxos:p.map(e=>f[e]).filter(e=>!!e)}},b=async({hinkal:n,tokenWithId:r,minInput:i=2,sliceIfMore6:s=!0,chainId:c,passedShieldedPrivateKey:l=void 0,passedShieldedPublicKey:u=void 0,ethAddress:d=void 0,resetCacheBefore:f=!1,ensuredTokensWithId:p,allowRemoteDecryption:m=!1,useBlockedUtxos:g=!1})=>{let b=l??n.userKeys.getShieldedPrivateKey(),x=n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,{inputUtxos:S}=g?await y({hinkal:n,chainId:c,ethAddress:d,passedShieldedPrivateKey:l,resetCacheBefore:f,allowRemoteDecryption:m}):await v({hinkal:n,tokenWithId:r,minInput:i,sliceIfMore6:s,chainId:c,passedShieldedPrivateKey:l,passedShieldedPublicKey:u,ethAddress:d,resetCacheBefore:f,allowRemoteDecryption:m}),C=h(r),w=new Map;S.forEach(e=>{let n=e.getTokenAddress(c);if(C&&!C.some(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,n)))return;let r=a.encodeTokenWithId(c,{erc20TokenAddress:n,tokenId:0}),i=w.get(r)??[];w.set(r,[...i,e])}),p?.forEach(e=>{let t=a.encodeTokenWithId(c,{erc20TokenAddress:e.erc20TokenAddress,tokenId:0});w.set(t,w.get(t)??[])});for(let[t,n]of w){let r=t.split(`-`)[0],a=Number(t.split(`-`)[1]),l=e.isSolanaLike(c),u=l?r:void 0;_(n,i,s,b,x,l?o.formatMintAddress(r).compressedAddress.toLowerCase():r.toLowerCase(),a,u)}return w};exports.attemptGetInputUtxosRemotely=m,exports.getInputUtxoAndBalance=v,exports.getInputUtxoAndBalanceOfStuckUtxos=y,exports.getInputUtxoAndBalancePerToken=b,exports.getInputUtxosRemotely=p;
|
|
1
|
+
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../utils/caseInsensitive.utils.cjs`),n=require(`../../../data-structures/utxo/Utxo.cjs`),r=require(`../../utils/upToDateState.cjs`),i=require(`../../utils/cacheFunctions.cjs`),a=require(`../../utils/encodeTokenWithId.cjs`),o=require(`../../utils/solanaMint.utils.cjs`),s=require(`./getInputUtxosEnclave.cjs`),c=require(`../../utils/addresses.cjs`),l=require(`../../../API/scheduled-transactions-calls.cjs`),u=require(`../../utils/tron.utils.cjs`);var d=new(require(`async-mutex`)).Mutex,f=async(e,t,n,a,o,s,c,l,u)=>d.runExclusive(async()=>{u+=1;let d=s.slice(u),{lastOutput:f,additionalEncryptedOutputs:p}=await e.utxoUtils.batchProcess(d,l,t,n),m=[...c,...p];return await r.checkAddressNotUpdated(e,a),i.setHinkalCache({lastOutput:f,encryptedOutputs:m},e,n,o),await e.utxoUtils.buildBatchProcess(m,t,n)}),p=async(e,t,n,r)=>{let{utxos:a,encryptedOutputs:o,lastOutput:c}=await s.getInputUtxosEnclave(e,n,t);return i.setHinkalCache({encryptedOutputs:o,lastOutput:c},e,n,r),a},m=async(e,t,n,r,i,a,o,s,c)=>{try{return await p(e,t,n,i)}catch{return f(e,t,n,r,i,a,o,s,c)}},h=e=>{if(Array.isArray(e))return e;if(e!==void 0)return[e]},g=async(e,t,n)=>await e.utxoUtils.batchFilterUtxosWithNullifier(t,n),_=(e,t,r,i,a,o,s,c)=>{for(e.sort((e,t)=>e.amount<=t.amount?1:-1);e.length<t||e.length>t&&e.length<6;)if(e.push(new n.Utxo({amount:0n,erc20TokenAddress:o,mintAddress:c,nullifyingKey:i,spendingPublicKey:a,isNewStyle:!0})),r)for(;e.length>6;)e.splice(e.length-1)},v=async({hinkal:e,chainId:t,passedShieldedPublicKey:n=void 0,ethAddress:a=void 0,resetCacheBefore:o=!1,allowRemoteDecryption:s=!1,useBlockedUtxos:c=!1})=>{let l=a??await e.getEthereumAddress(),u=n??e.userKeys.getShieldedPublicKey(),{userKeys:d}=e,p=e.encryptedOutputsByChain[t],h=e.nullifiersByChain[t],_=Array.from(p);o&&i.resetCache(e,t,u);let{encryptedOutputs:v,lastOutput:y}=i.getHinkalCache(e,t,u);await r.checkAddressNotUpdated(e,l);let b=y!==``,x=_.findIndex(e=>e.value===y),S=x>-1,C=!b&&x===-1,w=e.areMerkleTreeUpdatesDisabled(),T=!w&&(S||!s&&C),E=!w&&s&&C,D=!T&&!E,O=[];console.log({decryptLocally:T,decryptRemotely:E,useCache:D},new Date().toISOString(),l,t),T?O=await f(e,d,t,l,u,_,v,y,x):E?O=await m(e,d,t,l,u,_,v,y,x):D&&(O=await e.utxoUtils.buildBatchProcess(v,d,t)),await r.checkAddressNotUpdated(e,l);let k=await g(e,O,h);return{inputUtxos:c?k.filter(e=>e.isBlocked):k.filter(e=>!e.isBlocked)}},y=async({hinkal:t,chainId:n,passedShieldedPublicKey:r=void 0,ethAddress:i=void 0,resetCacheBefore:a=!1,allowRemoteDecryption:o=!1})=>{let s=i??await t.getEthereumAddressByChain(n),d=c.hashEthereumAddress(e.isTronLike(n)?u.addressToHexFormat(s):s),{inputUtxos:f}=await v({hinkal:t,chainId:n,passedShieldedPublicKey:r,ethAddress:s,resetCacheBefore:a,allowRemoteDecryption:o,useBlockedUtxos:!0});if(!f.length)return{inputUtxos:[]};let{indexes:p}=await l.getScheduledTransactionsNullifierIndexes({hashedEthereumAddress:d,nullifiers:f.map(e=>e.getNullifier())});return{inputUtxos:p.map(e=>f[e]).filter(e=>!!e)}},b=async({hinkal:n,tokenWithId:r,minInput:i=2,sliceIfMore6:s=!0,chainId:c,passedShieldedPrivateKey:l=void 0,passedShieldedPublicKey:u=void 0,ethAddress:d=void 0,resetCacheBefore:f=!1,ensuredTokensWithId:p,allowRemoteDecryption:m=!1,useBlockedUtxos:g=!1})=>{let b=l??n.userKeys.getShieldedPrivateKey(),x=n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,{inputUtxos:S}=g?await y({hinkal:n,chainId:c,ethAddress:d,passedShieldedPrivateKey:l,resetCacheBefore:f,allowRemoteDecryption:m}):await v({hinkal:n,tokenWithId:r,minInput:i,sliceIfMore6:s,chainId:c,passedShieldedPrivateKey:l,passedShieldedPublicKey:u,ethAddress:d,resetCacheBefore:f,allowRemoteDecryption:m}),C=h(r),w=new Map;S.forEach(e=>{let n=e.getTokenAddress(c);if(C&&!C.some(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,n)))return;let r=a.encodeTokenWithId(c,{erc20TokenAddress:n,tokenId:0}),i=w.get(r)??[];w.set(r,[...i,e])}),p?.forEach(e=>{let t=a.encodeTokenWithId(c,{erc20TokenAddress:e.erc20TokenAddress,tokenId:0});w.set(t,w.get(t)??[])});for(let[t,n]of w){let r=t.split(`-`)[0],a=Number(t.split(`-`)[1]),l=e.isSolanaLike(c),u=l?r:void 0;_(n,i,s,b,x,l?o.formatMintAddress(r).compressedAddress.toLowerCase():r.toLowerCase(),a,u)}return w};exports.attemptGetInputUtxosRemotely=m,exports.getInputUtxoAndBalance=v,exports.getInputUtxoAndBalanceOfStuckUtxos=y,exports.getInputUtxoAndBalancePerToken=b,exports.getInputUtxosRemotely=p;
|
|
@@ -48,7 +48,11 @@ var h = new m(), g = async (e, t, n, r, a, o, c, l, u) => h.runExclusive(async (
|
|
|
48
48
|
let { encryptedOutputs: _, lastOutput: y } = a(e, t, d);
|
|
49
49
|
await i(e, u);
|
|
50
50
|
let x = y !== "", S = h.findIndex((e) => e.value === y), C = S > -1, w = !x && S === -1, T = e.areMerkleTreeUpdatesDisabled(), E = !T && (C || !c && w), D = !T && c && w, O = !E && !D, k = [];
|
|
51
|
-
|
|
51
|
+
console.log({
|
|
52
|
+
decryptLocally: E,
|
|
53
|
+
decryptRemotely: D,
|
|
54
|
+
useCache: O
|
|
55
|
+
}, (/* @__PURE__ */ new Date()).toISOString(), u, t), E ? k = await g(e, f, t, u, d, h, _, y, S) : D ? k = await v(e, f, t, u, d, h, _, y, S) : O && (k = await e.utxoUtils.buildBatchProcess(_, f, t)), await i(e, u);
|
|
52
56
|
let A = await b(e, k, m);
|
|
53
57
|
return { inputUtxos: l ? A.filter((e) => e.isBlocked) : A.filter((e) => !e.isBlocked) };
|
|
54
58
|
}, C = async ({ hinkal: e, chainId: n, passedShieldedPublicKey: r = void 0, ethAddress: i = void 0, resetCacheBefore: a = !1, allowRemoteDecryption: o = !1 }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../../data-structures/utxo/Utxo.cjs`),o=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const s=require(`../../utils/encodeTokenWithId.cjs`),c=require(`../../utils/solanaMint.utils.cjs`),l=require(`./getInputUtxoAndBalance.cjs`),u=require(`../../../data-structures/TokenDBs/PrivateTokensDB.cjs`),d=require(`../../utils/mutexes.utils.cjs`),f=require(`../../utils/erc20tokenFunctions.cjs`);var p=async(t,r,i,a,o,s=!1,c,p=!1,m=!1)=>d.getChainBalanceFetchingMutex(r).runExclusive(async()=>{let{inputUtxos:d}=m?await l.getInputUtxoAndBalanceOfStuckUtxos({hinkal:t,chainId:r,ethAddress:o,passedShieldedPrivateKey:i,resetCacheBefore:s,allowRemoteDecryption:c}):await l.getInputUtxoAndBalance({hinkal:t,sliceIfMore6:!1,chainId:r,passedShieldedPrivateKey:i,passedShieldedPublicKey:a,ethAddress:o,resetCacheBefore:s,allowRemoteDecryption:c});p&&e.isExtension&&await u.privateTokensDB.fetchAndUpdatePrivateTokens(d.map(e=>e.getTokenAddress(r)).filter(e=>e!==void 0),r,o);let h=(e.isExtension?await u.privateTokensDB.getPrivateTokens(r,o):await f.getErc20TokensForChainAPI(r)).map(e=>({token:e,balance:d.reduce((t,i)=>{let a=e.erc20TokenAddress;return n.caseInsensitiveEqual(a,i.getTokenAddress(r))?t+i.amount:t},0n),timestamp:d.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress))[0]?.timeStamp,nfts:[]})),g=new Map;return h.forEach(e=>{g.set(e.token.erc20TokenAddress.toLowerCase(),e)}),g}),m=async(e,n,u,d,p=6,m=u.map(()=>0),h=!1,g=!1)=>{let{userKeys:_}=e,v=_.getSpendingKeyPair().pubSpendingBJJPoint,y=[],b=[];if(u.length===0)return[];let x=await l.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,ensuredTokensWithId:u.map((e,t)=>({erc20TokenAddress:u[t],tokenId:m[t]})),allowRemoteDecryption:e.generateProofRemotely,useBlockedUtxos:g,chainId:n}),S=0;for(let e=0;e<u.length;e+=1)
|
|
1
|
+
const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../../data-structures/utxo/Utxo.cjs`),o=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const s=require(`../../utils/encodeTokenWithId.cjs`),c=require(`../../utils/solanaMint.utils.cjs`),l=require(`./getInputUtxoAndBalance.cjs`),u=require(`../../../data-structures/TokenDBs/PrivateTokensDB.cjs`),d=require(`../../utils/mutexes.utils.cjs`),f=require(`../../utils/erc20tokenFunctions.cjs`);var p=async(t,r,i,a,o,s=!1,c,p=!1,m=!1)=>d.getChainBalanceFetchingMutex(r).runExclusive(async()=>{let{inputUtxos:d}=m?await l.getInputUtxoAndBalanceOfStuckUtxos({hinkal:t,chainId:r,ethAddress:o,passedShieldedPrivateKey:i,resetCacheBefore:s,allowRemoteDecryption:c}):await l.getInputUtxoAndBalance({hinkal:t,sliceIfMore6:!1,chainId:r,passedShieldedPrivateKey:i,passedShieldedPublicKey:a,ethAddress:o,resetCacheBefore:s,allowRemoteDecryption:c});p&&e.isExtension&&await u.privateTokensDB.fetchAndUpdatePrivateTokens(d.map(e=>e.getTokenAddress(r)).filter(e=>e!==void 0),r,o);let h=(e.isExtension?await u.privateTokensDB.getPrivateTokens(r,o):await f.getErc20TokensForChainAPI(r)).map(e=>({token:e,balance:d.reduce((t,i)=>{let a=e.erc20TokenAddress;return n.caseInsensitiveEqual(a,i.getTokenAddress(r))?t+i.amount:t},0n),timestamp:d.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(r),e.erc20TokenAddress))[0]?.timeStamp,nfts:[]})),g=new Map;return h.forEach(e=>{g.set(e.token.erc20TokenAddress.toLowerCase(),e)}),g}),m=async(e,n,u,d,p=6,m=u.map(()=>0),h=!1,g=!1)=>{let{userKeys:_}=e,v=_.getSpendingKeyPair().pubSpendingBJJPoint,y=[],b=[];if(u.length===0)return[];if(h){for(let e=0;e<u.length;e+=1){let r=t.isSolanaLike(n),i=r?u[e]:void 0,o=r?c.formatMintAddress(u[e]).compressedAddress:u[e];y.push(Array.from({length:p},()=>new a.Utxo({amount:0n,erc20TokenAddress:o,mintAddress:i,nullifyingKey:_.getShieldedPrivateKey(),spendingPublicKey:v,isNewStyle:!0})))}return y}let x=await l.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,ensuredTokensWithId:u.map((e,t)=>({erc20TokenAddress:u[t],tokenId:m[t]})),allowRemoteDecryption:e.generateProofRemotely,useBlockedUtxos:g,chainId:n}),S=0;for(let e=0;e<u.length;e+=1){let t=x.get(s.encodeTokenWithId(n,{erc20TokenAddress:u[e],tokenId:m[e]}))??[];if(!t)throw Error(`Missing utxos for token`);S=Math.max(t.length,S),b.push(t)}if(S===2)return b;for(let[e,s]of b.entries())if(s.length>p){let t=s.slice(0,p),a=t.reduce((e,t)=>e+t.amount,0n);if(d[e]<0n&&a<-d[e]){let t=await f.getErc20TokenFromAPI(n,u[e]);if(!t)throw Error(`Token not found`);let s=t.decimals===18?6:2,c=Number(i.getAmountWithPrecision(a,t,s));throw new o.ErrorWithAmount(c,`${r.DIRECTLY_SHOW_MESSAGE_ERROR_CODES.UTXO_LIMITATIONS}. Please try again with ${c} ${t.symbol}, including gas fees.`)}y.push(t)}else if(s.length<=p){let r=[...s],i=p-s.length;for(;i>0;){--i;let o=t.isSolanaLike(n),s=o?u[e]:void 0,l=o?c.formatMintAddress(u[e]).compressedAddress:u[e];r.push(new a.Utxo({amount:0n,erc20TokenAddress:l,mintAddress:s,nullifyingKey:_.getShieldedPrivateKey(),spendingPublicKey:v,isNewStyle:!0}))}y.push(r)}return y};exports.addPaddingToUtxos=m,exports.getShieldedBalance=p;
|
|
@@ -47,6 +47,20 @@ var g = async (t, r, i, a, o, s = !1, c, d = !1, m = !1) => p(r).runExclusive(as
|
|
|
47
47
|
}), _ = async (e, n, l, u, f = 6, p = l.map(() => 0), h = !1, g = !1) => {
|
|
48
48
|
let { userKeys: _ } = e, v = _.getSpendingKeyPair().pubSpendingBJJPoint, y = [], b = [];
|
|
49
49
|
if (l.length === 0) return [];
|
|
50
|
+
if (h) {
|
|
51
|
+
for (let e = 0; e < l.length; e += 1) {
|
|
52
|
+
let r = t(n), i = r ? l[e] : void 0, o = r ? c(l[e]).compressedAddress : l[e];
|
|
53
|
+
y.push(Array.from({ length: f }, () => new a({
|
|
54
|
+
amount: 0n,
|
|
55
|
+
erc20TokenAddress: o,
|
|
56
|
+
mintAddress: i,
|
|
57
|
+
nullifyingKey: _.getShieldedPrivateKey(),
|
|
58
|
+
spendingPublicKey: v,
|
|
59
|
+
isNewStyle: !0
|
|
60
|
+
})));
|
|
61
|
+
}
|
|
62
|
+
return y;
|
|
63
|
+
}
|
|
50
64
|
let x = await d({
|
|
51
65
|
hinkal: e,
|
|
52
66
|
sliceIfMore6: !1,
|
|
@@ -58,14 +72,14 @@ var g = async (t, r, i, a, o, s = !1, c, d = !1, m = !1) => p(r).runExclusive(as
|
|
|
58
72
|
useBlockedUtxos: g,
|
|
59
73
|
chainId: n
|
|
60
74
|
}), S = 0;
|
|
61
|
-
for (let e = 0; e < l.length; e += 1)
|
|
75
|
+
for (let e = 0; e < l.length; e += 1) {
|
|
62
76
|
let t = x.get(s(n, {
|
|
63
77
|
erc20TokenAddress: l[e],
|
|
64
78
|
tokenId: p[e]
|
|
65
79
|
})) ?? [];
|
|
66
80
|
if (!t) throw Error("Missing utxos for token");
|
|
67
81
|
S = Math.max(t.length, S), b.push(t);
|
|
68
|
-
}
|
|
82
|
+
}
|
|
69
83
|
if (S === 2) return b;
|
|
70
84
|
for (let [e, s] of b.entries()) if (s.length > f) {
|
|
71
85
|
let t = s.slice(0, f), a = t.reduce((e, t) => e + t.amount, 0n);
|
|
@@ -23,6 +23,10 @@ export type HinkalConfig = {
|
|
|
23
23
|
* Override which Tron chain this Hinkal instance targets.
|
|
24
24
|
*/
|
|
25
25
|
tronChainOverride?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Signature for user keys initialization.
|
|
28
|
+
*/
|
|
29
|
+
signature?: string;
|
|
26
30
|
};
|
|
27
31
|
export declare enum EventType {
|
|
28
32
|
BalanceChange = "BalanceChange",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
|
|
15
15
|
|
|
16
16
|
const n = async () => ({
|
|
17
|
-
[e.ZKProof]: await getWorkerURL(domain + '/0.0.
|
|
18
|
-
[e.SnarkJS]: await getWorkerURL(domain + '/0.0.
|
|
19
|
-
[e.UTXO]: await getWorkerURL(domain + '/0.0.
|
|
17
|
+
[e.ZKProof]: await getWorkerURL(domain + '/0.0.75/' + 'zkProofWorkerLauncher.js'),
|
|
18
|
+
[e.SnarkJS]: await getWorkerURL(domain + '/0.0.75/' + 'snarkjsWorkerLauncher.js'),
|
|
19
|
+
[e.UTXO]: await getWorkerURL(domain + '/0.0.75/' + 'utxoWorkerLauncher.js'),
|
|
20
20
|
});
|
|
21
21
|
exports.getWorkerViteURL = n;
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
var e = /* @__PURE__ */ ((r) => (r.ZKProof = "ZKProof", r.SnarkJS = "SnarkJS", r.UTXO = "UTXO", r))(e || {});
|
|
15
15
|
|
|
16
16
|
const n = async () => ({
|
|
17
|
-
[e.ZKProof]: await getWorkerURL(domain + '/0.0.
|
|
18
|
-
[e.SnarkJS]: await getWorkerURL(domain + '/0.0.
|
|
19
|
-
[e.UTXO]: await getWorkerURL(domain + '/0.0.
|
|
17
|
+
[e.ZKProof]: await getWorkerURL(domain + '/0.0.75/' + 'zkProofWorkerLauncher.js'),
|
|
18
|
+
[e.SnarkJS]: await getWorkerURL(domain + '/0.0.75/' + 'snarkjsWorkerLauncher.js'),
|
|
19
|
+
[e.UTXO]: await getWorkerURL(domain + '/0.0.75/' + 'utxoWorkerLauncher.js'),
|
|
20
20
|
});
|
|
21
21
|
export { n as getWorkerViteURL };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-
|
|
1
|
+
var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/zkProofWorkerLauncher-3izYT6GW.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-3izYT6GW.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/zkProofWorker/zkProofWorkerLauncher.ts?worker&url
|
|
2
|
-
var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-
|
|
2
|
+
var e = "" + new URL("../../../../assets/zkProofWorkerLauncher-3izYT6GW.js", import.meta.url).href;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./workerProxy-D22p2w2G.js`),t=require(`./logError-o9XP6THu.js`);let n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,hookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`});var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.u){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))||this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.f,t.u,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.o(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.o(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.d(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
|
|
1
|
+
const e=require(`./workerProxy-D22p2w2G.js`),t=require(`./logError-o9XP6THu.js`);let n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`worker_threads`);require(`ethers`),Object.values({preHookContract:`0x0000000000000000000000000000000000000000`,hookContract:`0x0000000000000000000000000000000000000000`,preHookMetadata:`0x00`,postHookMetadata:`0x00`}),Array.from({length:25},()=>`0`);var a=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){n.push([]);for(let i=0;i<e[r].length;i+=1)n[r][i]=t.getSiblingHashesForVerification(BigInt(e[r][i].getCommitment())).map(e=>e.toString())}let r=[];for(let n=0;n<e.length;n+=1){r.push([]);for(let i=0;i<e[n].length;i+=1)r[n][i]=t.getSiblingSides(BigInt(e[n][i].getCommitment())).map(e=>e.toString())}return{inCommitmentSiblings:n,inCommitmentSiblingSides:r}},o=function(e){return e[e.CALC_COMMITMENTS_SIBLING_AND_SIDES=0]=`CALC_COMMITMENTS_SIBLING_AND_SIDES`,e[e.BUILD_IN_NULLIFIERS=1]=`BUILD_IN_NULLIFIERS`,e}({}),s=class extends Error{constructor(){super(`Merkle tree is incomplete`),this.name=`MerkleTreeIncompleteError`}},c=class e{tree;count;index;reverseTree;static createWithData(t,n,r,i,a,o,s){return new e(a,o,s,t,n,r,i)}static create(n,r,i=t.u){return new e(n,i,r)}createReverseTree(){let e=new Map;for(let t=this.getStartIndex();t<this.getStartIndex()+this.count;t+=1n){let n=this.tree.get(t);n!==void 0&&e.set(n,t)}return e}constructor(e,t,n,r,i,a,o){this.hashFunction=e,this.levels=t,this.defaultNodeValue=n,this.tree=r??new Map,this.count=o??0n,this.index=a??2n**(t-1n),i?this.reverseTree=i:this.reverseTree=this.createReverseTree()}getStartIndex(){return 2n**(this.levels-1n)}logarithm2(e){let t=0n;for(;2n**t<e;)t+=1n;return t}bigIntMax(e,t){return e>t?e:t}forceInsert(e,t){if(t<this.getStartIndex())throw RangeError();this.tree.set(t,e),this.reverseTree.set(e,t);let n=this.index-this.getStartIndex(),r=this.logarithm2(n),i=t;for(let e=1n;e<=r;e+=1n){i/=2n;let e=this.hashFunction(this.tree.get(i*2n)||this.defaultNodeValue,this.tree.get(i*2n+1n)||this.defaultNodeValue);this.tree.set(i,e)}}insert(e,n){let r=!1;this.tree.has(n)&&(r=!0,t.t(`Editing commitment index: ${n} `)),r||(this.count+=1n),this.index=this.bigIntMax(this.index,n+1n),this.forceInsert(e,n)}remove(e){this.forceInsert(this.defaultNodeValue,e)}completenessCheck(){if(this.count!==this.index-this.getStartIndex())throw new s}getRootHash(){this.completenessCheck();for(let e=1n;e<2n**this.levels;e*=2n)if(this.tree.get(e))return this.tree.get(e);return this.defaultNodeValue}getMerkleData(){return this.completenessCheck(),new Map(this.tree)}getValue(e){return this.tree.get(e)}getSiblingIndex(e){return e===1n?1n:e%2n==1n?e-1n:e+1n}getSiblingHashesForVerification(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;)n.push(this.tree.get(this.getSiblingIndex(t))||this.defaultNodeValue),t/=2n;return n.slice(0,25)}getSiblingSides(e){this.completenessCheck();let t=this.reverseTree.get(e);if(t===void 0)return Array(25).fill(0n);let n=[];for(;t!==0n;){let e=t%2n==0n?0n:1n;n.push(e),t/=2n}return n.slice(0,25)}toJSON(){let{tree:e,reverseTree:t,count:n,index:r}=this;return{tree:Object.fromEntries(e),reverseTree:Object.fromEntries(t),count:n.toString(),index:r.toString()}}toJSONLite(){let{tree:e,count:t,index:n}=this;return{tree:Object.fromEntries(e),count:t.toString(),index:n.toString()}}clone(){return e.createWithData(new Map(this.tree),new Map(this.reverseTree),this.index,this.count,this.hashFunction,this.levels,this.defaultNodeValue)}getIndex(){return this.index}},l=e=>new Map(Object.entries(e).map(([e,t])=>[BigInt(e),BigInt(t)])),u=e=>{let n=l(e.tree),r=e.reverseTree?l(e.reverseTree):void 0;return c.createWithData(n,r,BigInt(e.index),BigInt(e.count),t.f,t.u,0n)},d=new e.t,f=e=>{let{inputUtxosSerialized:n,merkleTreeSerialized:r}=e.data,i=u(r),{inCommitmentSiblings:o,inCommitmentSiblingSides:s}=a(n.map(e=>e.map(e=>new t.o(e))),i);d.postMessageToMainThread({inCommitmentSiblings:o,inCommitmentSiblingSides:s})},p=e=>{let{inputUtxosSerialized:n}=e.data,r=n.map(e=>e.map(e=>new t.o(e))).map(e=>e.map(e=>e.amount===0n?`0`:e.getNullifier()));d.postMessageToMainThread(r)},m=async e=>{try{await t.d(!0);let{type:n}=e.payload;switch(n){case o.CALC_COMMITMENTS_SIBLING_AND_SIDES:f(e.payload);return;case o.BUILD_IN_NULLIFIERS:p(e.payload);return;default:throw Error(`Unknown worker message type ${n}`)}}catch(e){console.error(`zk proof worker message failed`,e),d.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,i.parentPort.on(`message`,async e=>{await m(e)});
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../common/src/providers/EthersProviderAdapter.cjs`),n=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var r=async(r,i)=>{await e.preProcessing();let a=new n.Hinkal(i),o=t.default();return o.initSigner?.(r),await a.initProviderAdapter(void 0,o),await a.initUserKeys(),await a.resetMerkle(),a};exports.prepareEthersHinkal=r;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../common/src/providers/EthersProviderAdapter.cjs`),n=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var r=async(r,i)=>{await e.preProcessing();let a=new n.Hinkal(i),o=t.default();return o.initSigner?.(r),await a.initProviderAdapter(void 0,o),await a.initUserKeys(),await a.resetMerkle(),a},i=async(r,i)=>{await e.preProcessing();let a=new n.Hinkal(i),o=t.default();return o.initSigner?.(r),await a.initProviderAdapter(void 0,o),await a.initUserKeysWithEnclaveSignature(),await a.resetMerkle(),a},a=async(r,i)=>{let{signature:a}=i??{};if(!a)throw Error(`Signature is required`);await e.preProcessing();let o=new n.Hinkal(i),s=t.default();return s.initSigner?.(r),await o.initProviderAdapter(void 0,s),o.initUserKeysWithSignature(a),await o.resetMerkle(),o};exports.prepareEthersHinkal=r,exports.prepareEthersHinkalWithEnclaveSignature=i,exports.prepareEthersHinkalWithSignature=a;
|
|
@@ -2,3 +2,5 @@ import { HinkalConfig } from '../common/src/types/hinkal.types';
|
|
|
2
2
|
import { Signer } from 'ethers';
|
|
3
3
|
import { Hinkal } from '../services';
|
|
4
4
|
export declare const prepareEthersHinkal: (signer: Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
5
|
+
export declare const prepareEthersHinkalWithEnclaveSignature: (signer: Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
6
|
+
export declare const prepareEthersHinkalWithSignature: (signer: Signer, hinkalConfig: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
@@ -7,6 +7,16 @@ var r = async (r, i) => {
|
|
|
7
7
|
await e();
|
|
8
8
|
let a = new n(i), o = t();
|
|
9
9
|
return o.initSigner?.(r), await a.initProviderAdapter(void 0, o), await a.initUserKeys(), await a.resetMerkle(), a;
|
|
10
|
+
}, i = async (r, i) => {
|
|
11
|
+
await e();
|
|
12
|
+
let a = new n(i), o = t();
|
|
13
|
+
return o.initSigner?.(r), await a.initProviderAdapter(void 0, o), await a.initUserKeysWithEnclaveSignature(), await a.resetMerkle(), a;
|
|
14
|
+
}, a = async (r, i) => {
|
|
15
|
+
let { signature: a } = i ?? {};
|
|
16
|
+
if (!a) throw Error("Signature is required");
|
|
17
|
+
await e();
|
|
18
|
+
let o = new n(i), s = t();
|
|
19
|
+
return s.initSigner?.(r), await o.initProviderAdapter(void 0, s), o.initUserKeysWithSignature(a), await o.resetMerkle(), o;
|
|
10
20
|
};
|
|
11
21
|
//#endregion
|
|
12
|
-
export { r as prepareEthersHinkal };
|
|
22
|
+
export { r as prepareEthersHinkal, i as prepareEthersHinkalWithEnclaveSignature, a as prepareEthersHinkalWithSignature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/SolanaProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var i=async(i,a,o)=>{await t.preProcessing();let s=new r.Hinkal(o),c=n.default(e.currentSolanaChainId,a);return await s.initProviderAdapter(i,c),await s.initUserKeys(),await s.resetMerkle(),s};exports.prepareSolanaHinkal=i;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/SolanaProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var i=async(i,a,o)=>{await t.preProcessing();let s=new r.Hinkal(o),c=n.default(e.currentSolanaChainId,a);return await s.initProviderAdapter(i,c),await s.initUserKeys(),await s.resetMerkle(),s},a=async(i,a,o)=>{await t.preProcessing();let s=new r.Hinkal(o),c=n.default(e.currentSolanaChainId,a);return await s.initProviderAdapter(i,c),await s.initUserKeysWithEnclaveSignature(),await s.resetMerkle(),s},o=async(i,a,o)=>{let{signature:s}=o??{};if(!s)throw Error(`Signature is required`);await t.preProcessing();let c=new r.Hinkal(o),l=n.default(e.currentSolanaChainId,a);return await c.initProviderAdapter(i,l),c.initUserKeysWithSignature(s),await c.resetMerkle(),c};exports.prepareSolanaHinkal=i,exports.prepareSolanaHinkalWithEnclaveSignature=a,exports.prepareSolanaHinkalWithSignature=o;
|
|
@@ -2,3 +2,5 @@ import { HinkalConfig } from '../common/src/types/hinkal.types';
|
|
|
2
2
|
import { SolanaWallet } from '../common/src/types/solana.types';
|
|
3
3
|
import { Hinkal } from '../services';
|
|
4
4
|
export declare const prepareSolanaHinkal: (connector: SolanaWallet, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
5
|
+
export declare const prepareSolanaHinkalWithEnclaveSignature: (connector: SolanaWallet, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
6
|
+
export declare const prepareSolanaHinkalWithSignature: (connector: SolanaWallet, ethereumAddress?: string, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
@@ -8,6 +8,16 @@ var i = async (i, a, o) => {
|
|
|
8
8
|
await t();
|
|
9
9
|
let s = new r(o), c = n(e, a);
|
|
10
10
|
return await s.initProviderAdapter(i, c), await s.initUserKeys(), await s.resetMerkle(), s;
|
|
11
|
+
}, a = async (i, a, o) => {
|
|
12
|
+
await t();
|
|
13
|
+
let s = new r(o), c = n(e, a);
|
|
14
|
+
return await s.initProviderAdapter(i, c), await s.initUserKeysWithEnclaveSignature(), await s.resetMerkle(), s;
|
|
15
|
+
}, o = async (i, a, o) => {
|
|
16
|
+
let { signature: s } = o ?? {};
|
|
17
|
+
if (!s) throw Error("Signature is required");
|
|
18
|
+
await t();
|
|
19
|
+
let c = new r(o), l = n(e, a);
|
|
20
|
+
return await c.initProviderAdapter(i, l), c.initUserKeysWithSignature(s), await c.resetMerkle(), c;
|
|
11
21
|
};
|
|
12
22
|
//#endregion
|
|
13
|
-
export { i as prepareSolanaHinkal };
|
|
23
|
+
export { i as prepareSolanaHinkal, a as prepareSolanaHinkalWithEnclaveSignature, o as prepareSolanaHinkalWithSignature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/TronProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var i=async(i,a)=>{await t.preProcessing();let o=new r.Hinkal(a),s=n.default(e.currentTronChainId);return await o.initProviderAdapter(i,s),await o.initUserKeys(),await o.resetMerkle(),o};exports.prepareTronHinkal=i;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/crypto/preProcessing.cjs`),n=require(`../common/src/providers/TronProviderAdapter.cjs`),r=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);var i=async(i,a)=>{await t.preProcessing();let o=new r.Hinkal(a),s=n.default(e.currentTronChainId);return await o.initProviderAdapter(i,s),await o.initUserKeys(),await o.resetMerkle(),o},a=async(i,a)=>{await t.preProcessing();let o=new r.Hinkal(a),s=n.default(e.currentTronChainId);return await o.initProviderAdapter(i,s),await o.initUserKeysWithEnclaveSignature(),await o.resetMerkle(),o},o=async(i,a)=>{let{signature:o}=a??{};if(!o)throw Error(`Signature is required`);await t.preProcessing();let s=new r.Hinkal(a),c=n.default(e.currentTronChainId);return await s.initProviderAdapter(i,c),s.initUserKeysWithSignature(o),await s.resetMerkle(),s};exports.prepareTronHinkal=i,exports.prepareTronHinkalWithEnclaveSignature=a,exports.prepareTronHinkalWithSignature=o;
|
|
@@ -2,3 +2,5 @@ import { HinkalConfig } from '../common/src/types/hinkal.types';
|
|
|
2
2
|
import { TronWeb } from 'tronweb';
|
|
3
3
|
import { Hinkal } from '../services';
|
|
4
4
|
export declare const prepareTronHinkal: (connector: TronWeb, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
5
|
+
export declare const prepareTronHinkalWithEnclaveSignature: (connector: TronWeb, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
6
|
+
export declare const prepareTronHinkalWithSignature: (connector: TronWeb, hinkalConfig: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
@@ -8,6 +8,16 @@ var i = async (i, a) => {
|
|
|
8
8
|
await t();
|
|
9
9
|
let o = new r(a), s = n(e);
|
|
10
10
|
return await o.initProviderAdapter(i, s), await o.initUserKeys(), await o.resetMerkle(), o;
|
|
11
|
+
}, a = async (i, a) => {
|
|
12
|
+
await t();
|
|
13
|
+
let o = new r(a), s = n(e);
|
|
14
|
+
return await o.initProviderAdapter(i, s), await o.initUserKeysWithEnclaveSignature(), await o.resetMerkle(), o;
|
|
15
|
+
}, o = async (i, a) => {
|
|
16
|
+
let { signature: o } = a ?? {};
|
|
17
|
+
if (!o) throw Error("Signature is required");
|
|
18
|
+
await t();
|
|
19
|
+
let s = new r(a), c = n(e);
|
|
20
|
+
return await s.initProviderAdapter(i, c), s.initUserKeysWithSignature(o), await s.resetMerkle(), s;
|
|
11
21
|
};
|
|
12
22
|
//#endregion
|
|
13
|
-
export { i as prepareTronHinkal };
|
|
23
|
+
export { i as prepareTronHinkal, a as prepareTronHinkalWithEnclaveSignature, o as prepareTronHinkalWithSignature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const n=require(`../common/src/providers/WagmiProviderAdapter.cjs`);var r=async(r,i)=>{await e.preProcessing();let a=new t.Hinkal,o=n.default();return o.initConfig?.(i),await a.initProviderAdapter(r,o),await a.initUserKeys(),await a.resetMerkle(),a};exports.prepareWagmiHinkal=r;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../common/src/crypto/preProcessing.cjs`),t=require(`../services/Hinkal.cjs`);require(`../services/index.cjs`);const n=require(`../common/src/providers/WagmiProviderAdapter.cjs`);var r=async(r,i)=>{await e.preProcessing();let a=new t.Hinkal,o=n.default();return o.initConfig?.(i),await a.initProviderAdapter(r,o),await a.initUserKeys(),await a.resetMerkle(),a},i=async(r,i)=>{await e.preProcessing();let a=new t.Hinkal,o=n.default();return o.initConfig?.(i),await a.initProviderAdapter(r,o),await a.initUserKeysWithEnclaveSignature(),await a.resetMerkle(),a},a=async(r,i,a)=>{let{signature:o}=a??{};if(!o)throw Error(`Signature is required`);await e.preProcessing();let s=new t.Hinkal,c=n.default();return c.initConfig?.(i),await s.initProviderAdapter(r,c),s.initUserKeysWithSignature(o),await s.resetMerkle(),s};exports.prepareWagmiHinkal=r,exports.prepareWagmiHinkalWithEnclaveSignature=i,exports.prepareWagmiHinkalWithSignature=a;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Config, Connector } from 'wagmi';
|
|
2
2
|
import { Hinkal } from '../services';
|
|
3
|
+
import { HinkalConfig } from '../common/src/types';
|
|
3
4
|
export declare const prepareWagmiHinkal: (connector: Connector, config: Config) => Promise<Hinkal<unknown>>;
|
|
5
|
+
export declare const prepareWagmiHinkalWithEnclaveSignature: (connector: Connector, config: Config) => Promise<Hinkal<unknown>>;
|
|
6
|
+
export declare const prepareWagmiHinkalWithSignature: (connector: Connector, config: Config, hinkalConfig: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
@@ -7,6 +7,16 @@ var r = async (r, i) => {
|
|
|
7
7
|
await e();
|
|
8
8
|
let a = new t(), o = n();
|
|
9
9
|
return o.initConfig?.(i), await a.initProviderAdapter(r, o), await a.initUserKeys(), await a.resetMerkle(), a;
|
|
10
|
+
}, i = async (r, i) => {
|
|
11
|
+
await e();
|
|
12
|
+
let a = new t(), o = n();
|
|
13
|
+
return o.initConfig?.(i), await a.initProviderAdapter(r, o), await a.initUserKeysWithEnclaveSignature(), await a.resetMerkle(), a;
|
|
14
|
+
}, a = async (r, i, a) => {
|
|
15
|
+
let { signature: o } = a ?? {};
|
|
16
|
+
if (!o) throw Error("Signature is required");
|
|
17
|
+
await e();
|
|
18
|
+
let s = new t(), c = n();
|
|
19
|
+
return c.initConfig?.(i), await s.initProviderAdapter(r, c), s.initUserKeysWithSignature(o), await s.resetMerkle(), s;
|
|
10
20
|
};
|
|
11
21
|
//#endregion
|
|
12
|
-
export { r as prepareWagmiHinkal };
|
|
22
|
+
export { r as prepareWagmiHinkal, i as prepareWagmiHinkalWithEnclaveSignature, a as prepareWagmiHinkalWithSignature };
|
package/services/Hinkal.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`);require(`../common/src/functions/index.cjs`);const
|
|
1
|
+
const e=require(`../common/src/constants/chains.constants.cjs`),t=require(`../common/src/types/hinkal.types.cjs`);require(`../common/src/types/index.cjs`);const n=require(`../common/src/functions/utils/erc20tokenFunctions.cjs`),r=require(`../common/src/functions/utils/initUserKeysWithEnclaveSignature.cjs`);require(`../common/src/functions/index.cjs`);const i=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),a=require(`../internal/token.utils.cjs`);var o=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new i.Hinkal(e)}getProviderAdapter(e){return this.hinkalCommon.getProviderAdapter(e)}initProviderAdapter(e,t){return this.hinkalCommon.initProviderAdapter(e,t)}initUserKeys(e=t.LoginMessageMode.PROTOCOL){return this.hinkalCommon.initUserKeys(e)}initUserKeysWithSignature(e){return this.hinkalCommon.initUserKeysWithSignature(e)}initUserKeysFromSeedPhrases(e){return this.hinkalCommon.initUserKeysFromSeedPhrases(e)}initUserKeysWithEnclaveSignature(){return r.initUserKeysWithEnclaveSignature(this.hinkalCommon)}storeAndGetInitialSignature(e,t=!1,n){return this.hinkalCommon.storeAndGetInitialSignature(e,t,n)}resetProviderAdapters(){return this.hinkalCommon.resetProviderAdapters()}disconnectFromConnector(){return this.hinkalCommon.disconnectFromConnector()}destroy(){return this.hinkalCommon.destroy()}signMessage(e){return this.hinkalCommon.signMessage(e)}signTypedData(e,t,n){return this.hinkalCommon.signTypedData(e,t,n)}getSupportedChains(){return this.hinkalCommon.getSupportedChains()}isSelectedNetworkSupported(e){return this.hinkalCommon.isSelectedNetworkSupported(e)}switchNetwork(t){let n=e.networkRegistry[t];if(!n)throw Error(`Network with chainId ${t} not supported`);return this.hinkalCommon.switchNetwork(n)}resetMerkle(e){return this.hinkalCommon.resetMerkle(e)}resetMerkleTreesIfNecessary(e){return this.hinkalCommon.resetMerkleTreesIfNecessary(e)}getMappedPrivateBalances(e){return e===this.mappedPrivateBalancesSource?this.mappedPrivateBalances:(this.mappedPrivateBalancesSource=e,this.mappedPrivateBalances=a.mapPrivateBalances(e),this.mappedPrivateBalances)}get privateBalancesWithUSD(){return this.getMappedPrivateBalances(this.hinkalCommon.privateBalancesWithUSD)}onPrivateBalancesWithUSDChange(e){return this.hinkalCommon.onPrivateBalancesWithUSDChange(t=>e(this.getMappedPrivateBalances(t)))}async getTotalBalance(e,t=!1,n=!1){return(await this.hinkalCommon.getTotalBalance(e,void 0,void 0,t,n)).map(a.mapTokenBalance)}async getStuckShieldedBalances(e,t=!1,n=!1){return(await this.hinkalCommon.getStuckShieldedBalances(e,void 0,void 0,t,n)).map(a.mapTokenBalance)}monitorConnectedAddress(e){return this.hinkalCommon.monitorConnectedAddress(e)}waitForTransaction(e,t,n){return this.hinkalCommon.waitForTransaction(e,t,n)}getSolanaPublicKey(){return this.hinkalCommon.getSolanaPublicKey()}getEthereumAddress(){return this.hinkalCommon.getEthereumAddress()}getEthereumAddressByChain(e){return this.hinkalCommon.getEthereumAddressByChain(e)}getRecipientInfo(){return this.hinkalCommon.getRecipientInfo()}getShieldedPublicKey(){return this.hinkalCommon.userKeys.getShieldedPublicKey()}async prooflessDeposit(e,t,r,i){return this.hinkalCommon.prooflessDeposit(await n.resolveErc20Tokens(e,t),r,i)}async prooflessDepositWithPublicFee(e,t,r,i,a){return this.hinkalCommon.prooflessDepositWithPublicFee(await n.resolveErc20Token(e,t),r,i,a)}async deposit(e,t,r,i,a){return this.hinkalCommon.deposit(await n.resolveErc20Tokens(e,t),r,i,a)}async depositSolana(e,t,r){return this.hinkalCommon.depositSolana(r,await n.resolveErc20Token(e,t))}async depositForOther(e,t,r,i,a,o){return this.hinkalCommon.depositForOther(await n.resolveErc20Tokens(e,t),r,i,a,o)}async depositSolanaForOther(e,t,r,i){return this.hinkalCommon.depositSolanaForOther(r,await n.resolveErc20Token(e,t),i)}async depositAndWithdraw(e,t,r,i,a,o,s){return this.hinkalCommon.depositAndWithdraw(await n.resolveErc20Token(e,t),r,i,a,o,void 0,void 0,void 0,s)}async depositAndBridge(e,t,r,i,a,o){return this.hinkalCommon.depositAndBridge(await n.resolveErc20Token(e,t),r,i,a,void 0,void 0,void 0,o)}async checkSendTransactionStatus(e){return this.hinkalCommon.checkSendTransactionStatus(e)}async nearDepositAndBridge(e,t,r,i,a,o,s){return this.hinkalCommon.nearDepositAndBridge(await n.resolveErc20Token(e,t),r,i,a,o,s)}async claimUtxo(e,t,r,i,a){return this.hinkalCommon.claimUtxo(await n.resolveErc20Token(e,t),r,i,a)}async transfer(e,t,r,i,a,o){return this.hinkalCommon.transfer(await n.resolveErc20Tokens(e,t),r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return this.hinkalCommon.withdraw(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async withdrawStuckUtxos(e,t,r){return this.hinkalCommon.withdrawStuckUtxos(await n.resolveErc20Token(e,t),r)}async swap(e,t,r,i,a,o,s){return this.hinkalCommon.swap(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async actionPrivateWallet(e,t,r,i,o,s,c,l,u){return this.hinkalCommon.actionPrivateWallet(e,await n.resolveErc20Tokens(e,t),r,i,o,await a.resolveCommonTokenChanges(e,s),c,l,u)}async proxySwap(e,t,r,i,a,o,s,c,l){return this.hinkalCommon.proxySwap(await n.resolveErc20Tokens(e,t),r,i,a,o,s,c,l)}async proxyToPrivate(e,t,r,i,a,o,s){return this.hinkalCommon.proxyToPrivate(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}async proxySend(e,t,r,i,a,o,s){return this.hinkalCommon.proxySend(await n.resolveErc20Tokens(e,t),r,i,a,o,s)}};exports.Hinkal=o;
|
package/services/Hinkal.d.ts
CHANGED
|
@@ -15,9 +15,11 @@ export declare class Hinkal<ConnectorType> implements IHinkal<ConnectorType> {
|
|
|
15
15
|
initUserKeys(mode?: LoginMessageMode): Promise<void>;
|
|
16
16
|
initUserKeysWithSignature(signature: string): void;
|
|
17
17
|
initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
|
|
18
|
+
initUserKeysWithEnclaveSignature(): Promise<string | undefined>;
|
|
18
19
|
storeAndGetInitialSignature(authSignature: string, isSolanaLedger?: boolean, txMessageForSolanaLedger?: string): Promise<string>;
|
|
19
20
|
resetProviderAdapters(): Promise<void>;
|
|
20
21
|
disconnectFromConnector(): Promise<void>;
|
|
22
|
+
destroy(): Promise<void>;
|
|
21
23
|
signMessage(message: string): Promise<string>;
|
|
22
24
|
signTypedData(domain: TypedDataDomain, types: Record<string, TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
|
|
23
25
|
getSupportedChains(): number[];
|