@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.
Files changed (55) hide show
  1. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  2. package/common/src/data-structures/Hinkal/Hinkal.d.ts +1 -0
  3. package/common/src/data-structures/Hinkal/Hinkal.mjs +13 -3
  4. package/common/src/data-structures/Hinkal/IHinkal.d.ts +1 -0
  5. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  6. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  7. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  8. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +2 -0
  9. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +5 -1
  10. package/common/src/functions/index.cjs +1 -1
  11. package/common/src/functions/index.mjs +1 -0
  12. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  13. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +37 -36
  14. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  15. package/common/src/functions/snarkjs/common.snarkjs.d.ts +9 -1
  16. package/common/src/functions/snarkjs/common.snarkjs.mjs +11 -7
  17. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  18. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -3
  19. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +49 -32
  20. package/common/src/functions/utils/index.cjs +1 -1
  21. package/common/src/functions/utils/index.d.ts +1 -0
  22. package/common/src/functions/utils/index.mjs +1 -0
  23. package/common/src/functions/utils/initUserKeysWithEnclaveSignature.cjs +1 -0
  24. package/common/src/functions/utils/initUserKeysWithEnclaveSignature.d.ts +3 -0
  25. package/common/src/functions/utils/initUserKeysWithEnclaveSignature.mjs +20 -0
  26. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  27. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -1
  28. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  29. package/common/src/functions/web3/events/getShieldedBalance.mjs +16 -2
  30. package/common/src/types/hinkal.types.d.ts +4 -0
  31. package/common/src/webworker/package.json +1 -1
  32. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  33. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  34. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  35. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  36. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  37. package/package.json +1 -1
  38. package/providers/prepareEthersHinkal.cjs +1 -1
  39. package/providers/prepareEthersHinkal.d.ts +2 -0
  40. package/providers/prepareEthersHinkal.mjs +11 -1
  41. package/providers/prepareSolanaHinkal.cjs +1 -1
  42. package/providers/prepareSolanaHinkal.d.ts +2 -0
  43. package/providers/prepareSolanaHinkal.mjs +11 -1
  44. package/providers/prepareTronHinkal.cjs +1 -1
  45. package/providers/prepareTronHinkal.d.ts +2 -0
  46. package/providers/prepareTronHinkal.mjs +11 -1
  47. package/providers/prepareWagmiHinkal.cjs +1 -1
  48. package/providers/prepareWagmiHinkal.d.ts +3 -0
  49. package/providers/prepareWagmiHinkal.mjs +11 -1
  50. package/services/Hinkal.cjs +1 -1
  51. package/services/Hinkal.d.ts +2 -0
  52. package/services/Hinkal.mjs +17 -10
  53. package/types/IHinkal.d.ts +2 -0
  54. package/common/src/data-structures/SignatureStorage.d.ts +0 -11
  55. 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 { WorkerVariant as r } from "../../webworker/worker.registry.mjs";
5
- import { performTaskWithWorker as i } from "../../webworker/performTaskWithWorker.mjs";
6
- import { ZKProofWorkerActionType as a } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
7
- import { fetchMerkleTreeSiblings as o } from "./fetchMerkleTreeSiblings.mjs";
8
- import { fetchOnChainRootHashes as s } from "./fetchOnChainRootHashes.mjs";
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 c = async (e, t) => {
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 o;
14
- return o = await i({
15
- type: r.ZKProof,
14
+ let r;
15
+ return r = await o({
16
+ type: a.ZKProof,
16
17
  payload: {
17
- type: a.CALC_COMMITMENTS_SIBLING_AND_SIDES,
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: o.inCommitmentSiblings,
25
- inCommitmentSiblingSides: o.inCommitmentSiblingSides,
25
+ inCommitmentSiblings: r.inCommitmentSiblings,
26
+ inCommitmentSiblingSides: r.inCommitmentSiblingSides,
26
27
  rootHashHinkal: n
27
28
  };
28
- }, l = async (e, t) => {
29
- let r = await o(e, t);
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
- }, u = async (e, t) => {
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 s(e);
41
+ let { hinkalRootHash: r } = await l(e);
41
42
  return n === r;
42
43
  } catch {
43
44
  return !1;
44
45
  }
45
- }, d = async (e, n, r) => await u(e, r) || t(e) ? c(r, n) : l(e, n), f = async (t, n, o) => {
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: s, rootHashHinkal: c } = await d(t, o, n);
64
+ let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r } = await p(n, u, c);
48
65
  return {
49
66
  inCommitmentSiblings: e,
50
- inCommitmentSiblingSides: s,
51
- rootHashHinkal: c,
52
- inNullifiers: await i({
53
- type: r.ZKProof,
67
+ inCommitmentSiblingSides: t,
68
+ rootHashHinkal: r,
69
+ inNullifiers: await o({
70
+ type: a.ZKProof,
54
71
  payload: {
55
- type: a.BUILD_IN_NULLIFIERS,
56
- data: { inputUtxosSerialized: o }
72
+ type: s.BUILD_IN_NULLIFIERS,
73
+ data: { inputUtxosSerialized: u }
57
74
  }
58
75
  })
59
76
  };
60
77
  } else {
61
- let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: s, rootHashHinkal: c }, l] = await Promise.all([d(t, o, n), i({
62
- type: r.ZKProof,
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: a.BUILD_IN_NULLIFIERS,
65
- data: { inputUtxosSerialized: o }
81
+ type: s.BUILD_IN_NULLIFIERS,
82
+ data: { inputUtxosSerialized: u }
66
83
  }
67
84
  })]);
68
85
  return {
69
86
  inCommitmentSiblings: e,
70
- inCommitmentSiblingSides: s,
71
- rootHashHinkal: c,
72
- inNullifiers: l
87
+ inCommitmentSiblingSides: t,
88
+ rootHashHinkal: r,
89
+ inNullifiers: i
73
90
  };
74
91
  }
75
92
  };
76
93
  //#endregion
77
- export { f as getDataFromWorkers };
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,3 @@
1
+ import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
+ import { LoginMessageMode } from '../../types';
3
+ export declare const initUserKeysWithEnclaveSignature: (hinkal: IHinkal, signInMode?: LoginMessageMode) => Promise<string | undefined>;
@@ -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
- 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);
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)if(h===!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)}else b.push([]);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;
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) if (h === !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
- } else b.push([]);
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -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.74/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.74/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.74/' + 'utxoWorkerLauncher.js'),
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.74/' + 'zkProofWorkerLauncher.js'),
18
- [e.SnarkJS]: await getWorkerURL(domain + '/0.0.74/' + 'snarkjsWorkerLauncher.js'),
19
- [e.UTXO]: await getWorkerURL(domain + '/0.0.74/' + 'utxoWorkerLauncher.js'),
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-DzjU7PBO.js`).href:new URL(`../../../../assets/zkProofWorkerLauncher-DzjU7PBO.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href);exports.default=e;
1
+ var e=``+(typeof document>`u`?require(`url`).pathToFileURL(__dirname+`/../../../../assets/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-DzjU7PBO.js", import.meta.url).href;
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -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 };
@@ -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 r=require(`../common/src/data-structures/Hinkal/Hinkal.cjs`),i=require(`../internal/token.utils.cjs`);var a=class{hinkalCommon;mappedPrivateBalancesSource;mappedPrivateBalances={};constructor(e){this.hinkalCommon=new r.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)}storeAndGetInitialSignature(e,t=!1,n){return this.hinkalCommon.storeAndGetInitialSignature(e,t,n)}resetProviderAdapters(){return this.hinkalCommon.resetProviderAdapters()}disconnectFromConnector(){return this.hinkalCommon.disconnectFromConnector()}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=i.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(i.mapTokenBalance)}async getStuckShieldedBalances(e,t=!1,n=!1){return(await this.hinkalCommon.getStuckShieldedBalances(e,void 0,void 0,t,n)).map(i.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,a,o,s,c,l,u){return this.hinkalCommon.actionPrivateWallet(e,await n.resolveErc20Tokens(e,t),r,a,o,await i.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=a;
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;
@@ -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[];