@hinkal/common 0.2.10 → 0.2.11

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 (272) hide show
  1. package/API/API.d.mts +49 -0
  2. package/API/HinkalPointsCalls.d.mts +20 -0
  3. package/API/callBeefyGraphAPI.d.mts +2 -0
  4. package/API/callCurveAPI.d.mts +9 -0
  5. package/API/callMonitor.d.mts +1 -0
  6. package/API/callOdosAPI.d.mts +63 -0
  7. package/API/callOneInchAPI.d.mts +18 -0
  8. package/API/callRelayer.d.mts +10 -0
  9. package/API/checkRisk.d.mts +1 -0
  10. package/API/dataServerCalls.d.mts +2 -0
  11. package/API/duneAPI.d.mts +11 -0
  12. package/API/fetchCommitmentsCache.d.mts +20 -0
  13. package/API/fetchNullifiers.d.mts +5 -0
  14. package/API/getAxelarGasEstimate.d.mts +5 -0
  15. package/API/getCoingeckoPrice.d.mts +22 -0
  16. package/API/getConnextReceiveFee.d.mts +2 -0
  17. package/API/getGasEstimates.d.mts +9 -0
  18. package/API/getRelayerURL.d.mts +1 -0
  19. package/API/getServerURL.d.mts +2 -0
  20. package/API/getTokenPrice.d.mts +16 -0
  21. package/API/index.d.mts +14 -0
  22. package/API/kycCalls.d.mts +30 -0
  23. package/API/passwordCalls.d.mts +9 -0
  24. package/API/referralProgramCalls.d.mts +36 -0
  25. package/API/relayCalls.d.mts +5 -0
  26. package/API/restoreSnapshots.d.mts +1 -0
  27. package/API/rewardsPointsCalls.d.mts +13 -0
  28. package/API/userVerifyTransactions.d.mts +19 -0
  29. package/constants/assets.constants.d.mts +13 -0
  30. package/constants/axelar.constants.d.mts +5 -0
  31. package/constants/backend.constants.d.mts +11 -0
  32. package/constants/beefy.registry.d.mts +8 -0
  33. package/constants/chains.constants.d.mts +36 -0
  34. package/constants/coingecko.constants.d.mts +13 -0
  35. package/constants/contracts.constants.d.mts +119 -0
  36. package/constants/crvCvx.registry.d.mts +20 -0
  37. package/constants/crvDynamic.registry.d.mts +1 -0
  38. package/constants/deploy-data/index.d.mts +11 -0
  39. package/constants/fees.constants.d.mts +11 -0
  40. package/constants/index.d.mts +20 -0
  41. package/constants/kyc.constants.d.mts +28 -0
  42. package/constants/lido.constants.d.mts +10 -0
  43. package/constants/pendle.registry.d.mts +21 -0
  44. package/constants/protocol.constants.d.mts +18 -0
  45. package/constants/reorg-depths.constants.d.mts +3 -0
  46. package/constants/rewards.constants.d.mts +19 -0
  47. package/constants/server.constants.d.mts +155 -0
  48. package/constants/token-data/ERC20Registry.d.mts +3 -0
  49. package/constants/token-data/index.d.mts +976 -0
  50. package/constants/token-data/popularTokens.constants.d.mts +3 -0
  51. package/constants/token-data/tokenPricing.consts.d.mts +5 -0
  52. package/constants/vite.constants.d.mts +14 -0
  53. package/crypto/babyJub.d.mts +16 -0
  54. package/crypto/index.d.mts +3 -0
  55. package/crypto/poseidon.d.mts +15 -0
  56. package/crypto/preProcessing.d.mts +1 -0
  57. package/data-structures/Hinkal/Hinkal.d.mts +100 -0
  58. package/data-structures/Hinkal/IHinkal.d.mts +93 -0
  59. package/data-structures/Hinkal/hinkalActionBeefy.d.mts +3 -0
  60. package/data-structures/Hinkal/hinkalActionConvex.d.mts +12 -0
  61. package/data-structures/Hinkal/hinkalActionCurve.d.mts +12 -0
  62. package/data-structures/Hinkal/hinkalActionLidoEth.d.mts +4 -0
  63. package/data-structures/Hinkal/hinkalActionPendle.d.mts +3 -0
  64. package/data-structures/Hinkal/hinkalActionPendleLP.d.mts +7 -0
  65. package/data-structures/Hinkal/hinkalActionStake.d.mts +3 -0
  66. package/data-structures/Hinkal/hinkalActionVolatile.d.mts +3 -0
  67. package/data-structures/Hinkal/hinkalDeposit.d.mts +3 -0
  68. package/data-structures/Hinkal/hinkalGetRecipientInfo.d.mts +2 -0
  69. package/data-structures/Hinkal/hinkalGetZkMeProvider.d.mts +3 -0
  70. package/data-structures/Hinkal/hinkalPrivateWallet.d.mts +2 -0
  71. package/data-structures/Hinkal/hinkalSwap.d.mts +3 -0
  72. package/data-structures/Hinkal/hinkalTransfer.d.mts +1 -0
  73. package/data-structures/Hinkal/hinkalWithdraw.d.mts +2 -0
  74. package/data-structures/Hinkal/index.d.mts +12 -0
  75. package/data-structures/Hinkal/resetMerkleTrees.d.mts +2 -0
  76. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.mts +20 -0
  77. package/data-structures/ValueCache/ValueCache.d.mts +10 -0
  78. package/data-structures/ValueCache/index.d.mts +1 -0
  79. package/data-structures/cacheDevices/BaseCacheDevice.d.mts +8 -0
  80. package/data-structures/cacheDevices/FileCacheDevice.d.mts +9 -0
  81. package/data-structures/cacheDevices/LocalStorageCacheDevice.d.mts +7 -0
  82. package/data-structures/cacheDevices/index.d.mts +2 -0
  83. package/data-structures/crypto-keys/decodeUTXO.d.mts +14 -0
  84. package/data-structures/crypto-keys/encryptDecryptUtxo.d.mts +18 -0
  85. package/data-structures/crypto-keys/index.d.mts +4 -0
  86. package/data-structures/crypto-keys/keyUtils.d.mts +2 -0
  87. package/data-structures/crypto-keys/keys.d.mts +58 -0
  88. package/data-structures/custom-token-registry/CustomTokenRegistry.d.mts +13 -0
  89. package/data-structures/event-service/AbstractAccessTokenSnapshotService.d.mts +35 -0
  90. package/data-structures/event-service/AbstractCommitmentsSnapshotService.d.mts +30 -0
  91. package/data-structures/event-service/AbstractEventService.d.mts +31 -0
  92. package/data-structures/event-service/AbstractNullifierSnapshotService.d.mts +22 -0
  93. package/data-structures/event-service/AbstractSnapshotService.d.mts +23 -0
  94. package/data-structures/event-service/index.d.mts +5 -0
  95. package/data-structures/index.d.mts +13 -0
  96. package/data-structures/merkle-tree/MerkleTree.d.mts +78 -0
  97. package/data-structures/merkle-tree/MerkleTreeIncompleteError.d.mts +3 -0
  98. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.mts +3 -0
  99. package/data-structures/merkle-tree/index.d.mts +3 -0
  100. package/data-structures/provider-adapter/IProviderAdapter.d.mts +35 -0
  101. package/data-structures/snapshot/ClientAccessTokenSnapshotService.d.mts +7 -0
  102. package/data-structures/snapshot/ClientCommitmentsSnapshotService.d.mts +7 -0
  103. package/data-structures/snapshot/ClientNullifierSnapshotService.d.mts +7 -0
  104. package/data-structures/token-price-fetcher/TokenChecker.d.mts +20 -0
  105. package/data-structures/token-price-fetcher/index.d.mts +1 -0
  106. package/data-structures/transactions-manager/TransactionsManager.d.mts +27 -0
  107. package/data-structures/transactions-manager/history/getBeefyData.d.mts +3 -0
  108. package/data-structures/transactions-manager/history/getConvexData.d.mts +6 -0
  109. package/data-structures/transactions-manager/history/getCurveData.d.mts +6 -0
  110. package/data-structures/transactions-manager/history/getDepositData.d.mts +2 -0
  111. package/data-structures/transactions-manager/history/getLidoData.d.mts +10 -0
  112. package/data-structures/transactions-manager/history/getPendleData.d.mts +3 -0
  113. package/data-structures/transactions-manager/history/getSwapData.d.mts +3 -0
  114. package/data-structures/transactions-manager/history/getTxDetails.d.mts +3 -0
  115. package/data-structures/transactions-manager/history/getVolatileData.d.mts +32 -0
  116. package/data-structures/transactions-manager/history/history.types.d.mts +95 -0
  117. package/data-structures/transactions-manager/history/history.utils.d.mts +8 -0
  118. package/data-structures/transactions-manager/index.d.mts +2 -0
  119. package/data-structures/utxo/Utxo.d.mts +63 -0
  120. package/data-structures/volatile-helper/VolatileHelper.d.mts +57 -0
  121. package/data-structures/volatile-helper/index.d.mts +1 -0
  122. package/error-handling/customErrors/ErrorWithAmount.d.mts +4 -0
  123. package/error-handling/customErrors/FeeOverTransactionValueError.d.mts +9 -0
  124. package/error-handling/customErrors/customErrors.helpers.d.mts +5 -0
  125. package/error-handling/customErrors/index.d.mts +3 -0
  126. package/error-handling/error-codes.constants.d.mts +181 -0
  127. package/error-handling/get-error.message.d.mts +3 -0
  128. package/error-handling/handleErrorRestore.d.mts +2 -0
  129. package/error-handling/index.d.mts +7 -0
  130. package/error-handling/logError.d.mts +1 -0
  131. package/error-handling/types.d.mts +5 -0
  132. package/externalABIs/BUSD.d.mts +38 -0
  133. package/externalABIs/DAI.d.mts +45 -0
  134. package/externalABIs/ERC20.d.mts +1 -0
  135. package/externalABIs/SanctionsList.d.mts +35 -0
  136. package/externalABIs/USDC.d.mts +28 -0
  137. package/externalABIs/USDR.d.mts +28 -0
  138. package/externalABIs/USDR3CRV.d.mts +49 -0
  139. package/externalABIs/USDT.d.mts +41 -0
  140. package/externalABIs/WETH.d.mts +38 -0
  141. package/externalABIs/amToken.d.mts +28 -0
  142. package/externalABIs/crvFRAX.d.mts +38 -0
  143. package/externalABIs/index.d.mts +323 -0
  144. package/externalABIs/swapAbi.d.mts +77 -0
  145. package/functions/index.d.mts +14 -0
  146. package/functions/kyc/aiPriseHelper.d.mts +0 -0
  147. package/functions/kyc/authentoHelper.d.mts +12 -0
  148. package/functions/kyc/index.d.mts +3 -0
  149. package/functions/kyc/openDefaultPassportWindow.d.mts +1 -0
  150. package/functions/kyc/passportHelper.d.mts +3 -0
  151. package/functions/kyc/zkMeHelper.d.mts +4 -0
  152. package/functions/pre-transaction/getFlatFees.d.mts +12 -0
  153. package/functions/pre-transaction/index.d.mts +5 -0
  154. package/functions/pre-transaction/interaction-to-action.d.mts +2 -0
  155. package/functions/pre-transaction/outputUtxoProcessing.d.mts +5 -0
  156. package/functions/pre-transaction/process-gas-estimates.d.mts +5 -0
  157. package/functions/pre-transaction/processAmountChanges.d.mts +12 -0
  158. package/functions/private-wallet/emporium.helpers.d.mts +5 -0
  159. package/functions/private-wallet/index.d.mts +2 -0
  160. package/functions/private-wallet/opProducer.d.mts +5 -0
  161. package/functions/protocols/convex.protocols.d.mts +1 -0
  162. package/functions/protocols/curve.protocols.d.mts +1 -0
  163. package/functions/protocols/index.d.mts +3 -0
  164. package/functions/protocols/pendle.helpers.d.mts +8 -0
  165. package/functions/snarkjs/common.snarkjs.d.mts +22 -0
  166. package/functions/snarkjs/constant.d.mts +151 -0
  167. package/functions/snarkjs/constructEmporiumProof.d.mts +10 -0
  168. package/functions/snarkjs/constructGeneralZkProof.d.mts +12 -0
  169. package/functions/snarkjs/generateCircomData.d.mts +4 -0
  170. package/functions/snarkjs/generateZkProof.d.mts +5 -0
  171. package/functions/snarkjs/generateZkProofEnclave.d.mts +5 -0
  172. package/functions/snarkjs/generateZkProofSelf.d.mts +5 -0
  173. package/functions/snarkjs/getZKFiles.d.mts +2 -0
  174. package/functions/snarkjs/index.d.mts +4 -0
  175. package/functions/staking/index.d.mts +11 -0
  176. package/functions/utils/amounts.utils.d.mts +21 -0
  177. package/functions/utils/axelar.utils.d.mts +2 -0
  178. package/functions/utils/cacheDevice.utils.d.mts +3 -0
  179. package/functions/utils/cacheFunctions.d.mts +17 -0
  180. package/functions/utils/caseInsensitive.utils.d.mts +3 -0
  181. package/functions/utils/convertIntegrationProviderToExternalActionId.d.mts +2 -0
  182. package/functions/utils/create-provider.d.mts +2 -0
  183. package/functions/utils/enum.utils.d.mts +9 -0
  184. package/functions/utils/erc20tokenFunctions.d.mts +4 -0
  185. package/functions/utils/evmNetworkFunctions.d.mts +4 -0
  186. package/functions/utils/external-action.utils.d.mts +8 -0
  187. package/functions/utils/getDataFromTransaction.d.mts +45 -0
  188. package/functions/utils/index.d.mts +21 -0
  189. package/functions/utils/memoize.utils.d.mts +1 -0
  190. package/functions/utils/nickname.utils.d.mts +1 -0
  191. package/functions/utils/process.utils.d.mts +7 -0
  192. package/functions/utils/reloadPage.d.mts +1 -0
  193. package/functions/utils/requireEnv.d.mts +1 -0
  194. package/functions/utils/resolve-sync.utils.d.mts +6 -0
  195. package/functions/utils/serialize.utils.d.mts +1 -0
  196. package/functions/utils/string.utils.d.mts +8 -0
  197. package/functions/utils/time.utils.d.mts +1 -0
  198. package/functions/utils/userAgent.d.mts +2 -0
  199. package/functions/utils/volatile-patcher.utils.d.mts +1 -0
  200. package/functions/web3/etherFunctions.d.mts +20 -0
  201. package/functions/web3/events/balanceChangedHandler.d.mts +1 -0
  202. package/functions/web3/events/getInputUtxoAndBalance.d.mts +24 -0
  203. package/functions/web3/events/getShieldedBalance.d.mts +18 -0
  204. package/functions/web3/events/index.d.mts +4 -0
  205. package/functions/web3/events/web3RetrieveEvents.d.mts +14 -0
  206. package/functions/web3/functionCalls/accessTokenCalls.d.mts +6 -0
  207. package/functions/web3/functionCalls/approveToken.d.mts +4 -0
  208. package/functions/web3/functionCalls/estimateGasRelayer.d.mts +4 -0
  209. package/functions/web3/functionCalls/getRootHash.d.mts +2 -0
  210. package/functions/web3/functionCalls/relayFunctions.d.mts +17 -0
  211. package/functions/web3/functionCalls/transactCallDirect.d.mts +6 -0
  212. package/functions/web3/functionCalls/transactCallRelayer.d.mts +7 -0
  213. package/functions/web3/getContractMetadata.d.mts +5 -0
  214. package/functions/web3/index.d.mts +6 -0
  215. package/functions/web3/odosAPI.d.mts +5 -0
  216. package/functions/web3/oneInchAPI.d.mts +5 -0
  217. package/functions/web3/runContractFunction.d.mts +15 -0
  218. package/functions/web3/uniswapAPI.d.mts +16 -0
  219. package/index.d.mts +8 -0
  220. package/package.json +41 -11
  221. package/providers/EthersProviderAdapter.d.mts +39 -0
  222. package/providers/WagmiProviderAdapter.d.mts +46 -0
  223. package/providers/exportProviers.d.mts +3 -0
  224. package/providers/prepareEthersHinkal.d.mts +4 -0
  225. package/providers/prepareWagmiHinkal.d.mts +3 -0
  226. package/types/API.types.d.mts +23 -0
  227. package/types/ICacheDevice.d.mts +4 -0
  228. package/types/IMultiThreadedUtxoUtils.d.mts +8 -0
  229. package/types/admin.types.d.mts +22 -0
  230. package/types/axelar.types.d.mts +14 -0
  231. package/types/beefy.types.d.mts +11 -0
  232. package/types/big-intable.types.d.mts +2 -0
  233. package/types/circom-data.types.d.mts +70 -0
  234. package/types/coingecko.types.d.mts +8 -0
  235. package/types/commitments.types.d.mts +26 -0
  236. package/types/connext.types.d.mts +13 -0
  237. package/types/crypto.types.d.mts +7 -0
  238. package/types/curve.types.d.mts +133 -0
  239. package/types/duneAPI.types.d.mts +9 -0
  240. package/types/ethereum-network.types.d.mts +142 -0
  241. package/types/external-action.types.d.mts +28 -0
  242. package/types/hinkal.stake.types.d.mts +11 -0
  243. package/types/hinkal.types.d.mts +150 -0
  244. package/types/hinkalTvl.types.d.mts +4 -0
  245. package/types/index.d.mts +27 -0
  246. package/types/kyc.types.d.mts +39 -0
  247. package/types/pendle.api.types.d.mts +233 -0
  248. package/types/pendle.types.d.mts +222 -0
  249. package/types/relayer.types.d.mts +25 -0
  250. package/types/remote-proof.types.d.mts +15 -0
  251. package/types/rewards.types.d.mts +230 -0
  252. package/types/slippage.types.d.mts +15 -0
  253. package/types/snark.types.d.mts +40 -0
  254. package/types/time.types.d.mts +31 -0
  255. package/types/token.types.d.mts +36 -0
  256. package/types/transactions.types.d.mts +55 -0
  257. package/webworker/performTaskWithWorker.d.mts +5 -0
  258. package/webworker/snarkjsWorker/snarkjsWorker.types.d.mts +14 -0
  259. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.d.mts +1 -0
  260. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.mts +10 -0
  261. package/webworker/utxoWorker/utxoWorker.types.d.mts +29 -0
  262. package/webworker/utxoWorker/utxoWorkerLauncher.d.mts +1 -0
  263. package/webworker/utxoWorker/utxoWorkerLogic.d.mts +8 -0
  264. package/webworker/viteWorkerURL.constant.d.mts +9 -0
  265. package/webworker/worker.registry.d.mts +10 -0
  266. package/webworker/worker.types.d.mts +33 -0
  267. package/webworker/workerErrorHandler.d.mts +1 -0
  268. package/webworker/workerFactory.d.mts +7 -0
  269. package/webworker/workerProxy.d.mts +40 -0
  270. package/webworker/zkProofWorker/zkProofWorker.types.d.mts +38 -0
  271. package/webworker/zkProofWorker/zkProofWorkerLauncher.d.mts +1 -0
  272. package/webworker/zkProofWorker/zkProofWorkerLogic.d.mts +8 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This Web Worker only handle snarkjs operation.
3
+ * If possible, avoid importing modules form main project and instead pass data along with message
4
+ * to ensure this worker stay lean.
5
+ */
6
+ import { WorkerProxy } from '../workerProxy';
7
+ import { SnarkJSParams } from './snarkjsWorker.types';
8
+ declare const workerProxy: WorkerProxy;
9
+ export declare const onWorkerMessage: (data: SnarkJSParams) => Promise<void>;
10
+ export default workerProxy;
@@ -0,0 +1,29 @@
1
+ import { EncryptedOutputWithSign } from '../../types/commitments.types';
2
+ import { WorkerParams, WorkerPayload } from '../worker.types';
3
+ import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
4
+ export declare enum UtxoWorkerActionType {
5
+ BATCH_FILTER_UTXOS_WITH_NULLIFIER = 0,
6
+ BUILD_UTXOS = 1,
7
+ DECIPHER_OUTPUTS = 2
8
+ }
9
+ export interface BatchFilterUtxosWithNullifierPayload extends WorkerPayload<{
10
+ utxos: IUtxoConstructor[];
11
+ nullifiers: Set<string>;
12
+ }> {
13
+ type: UtxoWorkerActionType.BATCH_FILTER_UTXOS_WITH_NULLIFIER;
14
+ }
15
+ export interface BuildBatchProcessPayload extends WorkerPayload<{
16
+ signature: string;
17
+ encryptedOutputs: EncryptedOutputWithSign[];
18
+ }> {
19
+ type: UtxoWorkerActionType.BUILD_UTXOS;
20
+ }
21
+ export interface DecipherProcessPayload extends WorkerPayload<{
22
+ encryptedOutputs: EncryptedOutputWithSign[];
23
+ lastOutput: string;
24
+ signature: string;
25
+ }> {
26
+ type: UtxoWorkerActionType.DECIPHER_OUTPUTS;
27
+ }
28
+ export type UtxoWorkerPayload = BuildBatchProcessPayload | BatchFilterUtxosWithNullifierPayload | DecipherProcessPayload;
29
+ export type UtxoWorkerParams = WorkerParams<UtxoWorkerPayload>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { WorkerProxy } from '../workerProxy';
2
+ import { BatchFilterUtxosWithNullifierPayload, BuildBatchProcessPayload, DecipherProcessPayload, UtxoWorkerParams } from './utxoWorker.types';
3
+ declare const workerProxy: WorkerProxy;
4
+ export declare const handleFilterUtxosWithNullifier: ({ data }: BatchFilterUtxosWithNullifierPayload) => Promise<void>;
5
+ export declare const handleBuildUtxosMessage: ({ data }: BuildBatchProcessPayload) => Promise<void>;
6
+ export declare const handleDecipherMessage: ({ data }: DecipherProcessPayload) => Promise<void>;
7
+ export declare const onWorkerMessage: (data: UtxoWorkerParams) => Promise<void>;
8
+ export default workerProxy;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * These imports tell vite to generate and bundle worker file.
3
+ * These are import conditionally because we do not have vite when running on node.
4
+ */
5
+ export declare const getWorkerViteURL: () => Promise<{
6
+ ZKProof: any;
7
+ SnarkJS: any;
8
+ UTXO: any;
9
+ }>;
@@ -0,0 +1,10 @@
1
+ export declare enum WorkerVariant {
2
+ ZKProof = "ZKProof",
3
+ SnarkJS = "SnarkJS",
4
+ UTXO = "UTXO"
5
+ }
6
+ export declare const workerNodeURL: {
7
+ ZKProof: string;
8
+ SnarkJS: string;
9
+ UTXO: string;
10
+ };
@@ -0,0 +1,33 @@
1
+ export interface WorkerPayload<T> {
2
+ data: T;
3
+ }
4
+ export interface WorkerMetadata {
5
+ hostLocation: {
6
+ origin?: string;
7
+ protocol?: string;
8
+ host?: string;
9
+ port?: string;
10
+ hostname?: string;
11
+ href?: string;
12
+ };
13
+ /**
14
+ * Importing these in worker script will executed the whole constant script in worker env,
15
+ * which could resolve into different values, as well as, result in many unnecessary imports
16
+ */
17
+ constants: {
18
+ chains: {
19
+ chainIds: {
20
+ [key: string]: number;
21
+ };
22
+ };
23
+ /**
24
+ * Worker do not have access to window.location -> so this will always be false if import
25
+ * directly from vite constant file.
26
+ */
27
+ isDevelopment: boolean;
28
+ };
29
+ }
30
+ export interface WorkerParams<T = WorkerPayload<unknown>> {
31
+ payload: T;
32
+ metadata: WorkerMetadata;
33
+ }
@@ -0,0 +1 @@
1
+ export declare const addWorkerErrorHandler: () => void;
@@ -0,0 +1,7 @@
1
+ import { WorkerVariant } from './worker.registry';
2
+ export declare class WorkerFactory {
3
+ private constructor();
4
+ private static resolveWorkerURL;
5
+ private static createWorker;
6
+ static getWebWorker(workerVariant: WorkerVariant): Promise<any>;
7
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This class mimic interface of real Web Worker so it can be passed to code that expect normal web
3
+ * worker on browser side and operate as if it is the same, while executing the actual code on main
4
+ * thread when Node environment is detected.
5
+ *
6
+ * The reason we need this is because hardhat, at the time of writting (Mar 12, 2024), do not support
7
+ * ES Module worker with typescript. Enabling experimental ESM support for `ts-node` does not work
8
+ * across all machines and environment, thus, we decided to run the worker's logic on main thread
9
+ * during hardhat step.
10
+ */
11
+ export declare class WorkerProxy {
12
+ private isNode;
13
+ /**
14
+ * This allow browser or main thread to listen for worker response message
15
+ * using the normal `worker.onmessage = () => {}` syntax. Is should only be side on the
16
+ * main thread side, not on worker side.
17
+ */
18
+ onmessage: ((e: {
19
+ data: any;
20
+ }) => void) | null;
21
+ private _eventEmitter;
22
+ /**
23
+ * Lazy load event emitter so it is only initialize if require/if in node environment
24
+ */
25
+ private get eventEmitter();
26
+ constructor();
27
+ terminate(): void;
28
+ /**
29
+ * This postMessage() should only be called when intending to send message from main thread to
30
+ * worker; In a typical browser environment, this will just act as a normal postMessage() function.
31
+ */
32
+ postMessage(message: unknown): void;
33
+ /**
34
+ * A separate postMessage() is needed because both main thread and worker thread communicate with
35
+ * each other using postMessage(), but we cannot (and do not) differentiate between the two
36
+ * while running on main thread on hardhat
37
+ */
38
+ postMessageToMainThread(message: unknown): void;
39
+ attachWorkerSideOnMessage(fn: (e: any) => void | Promise<void>): void;
40
+ }
@@ -0,0 +1,38 @@
1
+ import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
2
+ import { type MerkleTreeJson } from '../../data-structures/merkle-tree';
3
+ import { WorkerParams, WorkerPayload } from '../worker.types';
4
+ export declare enum ZKProofWorkerActionType {
5
+ CALC_COMMITMENTS_SIBLING_AND_SIDES = 0,
6
+ CALC_ACCESS_TOKEN_SIBLING_AND_SIDES = 1,
7
+ BUILD_IN_NULLIFIERS = 2
8
+ }
9
+ export interface ZKProofWorkerCalcCommitmentsPayload extends WorkerPayload<{
10
+ inputUtxosSerialized: IUtxoConstructor[][];
11
+ merkleTreeSerialized: MerkleTreeJson;
12
+ userSignature: string;
13
+ }> {
14
+ type: ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES;
15
+ }
16
+ export interface ZKProofWorkerCalcCommitmentsReturn {
17
+ inCommitmentSiblings: string[][][];
18
+ inCommitmentSiblingSides: string[][][];
19
+ }
20
+ export interface ZKProofWorkerCalcAccessTokenPayload extends WorkerPayload<{
21
+ merkleTreeAccessTokenSerialized: MerkleTreeJson;
22
+ userSignature: string;
23
+ }> {
24
+ type: ZKProofWorkerActionType.CALC_ACCESS_TOKEN_SIBLING_AND_SIDES;
25
+ }
26
+ export interface ZKProofWorkerCalcAccessTokenReturn {
27
+ accessTokenSiblings: string[];
28
+ accessTokenSiblingSides: string[];
29
+ }
30
+ export interface ZKProofWorkerBuildInNullifiersPayload extends WorkerPayload<{
31
+ inputUtxosSerialized: IUtxoConstructor[][];
32
+ onChainCreation: boolean[];
33
+ }> {
34
+ type: ZKProofWorkerActionType.BUILD_IN_NULLIFIERS;
35
+ }
36
+ export type ZKProofWorkerBuildInNullifiersReturn = string[][];
37
+ export type ZKProofWorkerPayload = ZKProofWorkerCalcCommitmentsPayload | ZKProofWorkerCalcAccessTokenPayload | ZKProofWorkerBuildInNullifiersPayload;
38
+ export type ZKProofWorkerParams = WorkerParams<ZKProofWorkerPayload>;
@@ -0,0 +1,8 @@
1
+ import { WorkerProxy } from '../workerProxy';
2
+ import { ZKProofWorkerBuildInNullifiersPayload, ZKProofWorkerCalcAccessTokenPayload, ZKProofWorkerCalcCommitmentsPayload, ZKProofWorkerParams } from './zkProofWorker.types';
3
+ declare const workerProxy: WorkerProxy;
4
+ export declare const handleCalcCommitmentsSiblingAndSides: (payload: ZKProofWorkerCalcCommitmentsPayload) => void;
5
+ export declare const handleCalcAccessTokenSiblingAndSides: (payload: ZKProofWorkerCalcAccessTokenPayload) => void;
6
+ export declare const handleBuildInNullifiers: (payload: ZKProofWorkerBuildInNullifiersPayload) => void;
7
+ export declare const onWorkerMessage: (data: ZKProofWorkerParams) => Promise<void>;
8
+ export default workerProxy;