@hinkal/common 0.2.9 → 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 (284) 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.cjs +1 -1
  92. package/data-structures/event-service/AbstractEventService.d.mts +31 -0
  93. package/data-structures/event-service/AbstractEventService.mjs +42 -30
  94. package/data-structures/event-service/AbstractNullifierSnapshotService.d.mts +22 -0
  95. package/data-structures/event-service/AbstractSnapshotService.d.mts +23 -0
  96. package/data-structures/event-service/index.d.mts +5 -0
  97. package/data-structures/index.d.mts +13 -0
  98. package/data-structures/merkle-tree/MerkleTree.d.mts +78 -0
  99. package/data-structures/merkle-tree/MerkleTreeIncompleteError.d.mts +3 -0
  100. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.mts +3 -0
  101. package/data-structures/merkle-tree/index.d.mts +3 -0
  102. package/data-structures/provider-adapter/IProviderAdapter.d.mts +35 -0
  103. package/data-structures/snapshot/ClientAccessTokenSnapshotService.cjs +1 -1
  104. package/data-structures/snapshot/ClientAccessTokenSnapshotService.d.mts +7 -0
  105. package/data-structures/snapshot/ClientAccessTokenSnapshotService.mjs +10 -5
  106. package/data-structures/snapshot/ClientCommitmentsSnapshotService.cjs +1 -1
  107. package/data-structures/snapshot/ClientCommitmentsSnapshotService.d.mts +7 -0
  108. package/data-structures/snapshot/ClientCommitmentsSnapshotService.mjs +10 -5
  109. package/data-structures/snapshot/ClientNullifierSnapshotService.cjs +1 -1
  110. package/data-structures/snapshot/ClientNullifierSnapshotService.d.mts +7 -0
  111. package/data-structures/snapshot/ClientNullifierSnapshotService.mjs +8 -3
  112. package/data-structures/token-price-fetcher/TokenChecker.d.mts +20 -0
  113. package/data-structures/token-price-fetcher/index.d.mts +1 -0
  114. package/data-structures/transactions-manager/TransactionsManager.d.mts +27 -0
  115. package/data-structures/transactions-manager/history/getBeefyData.d.mts +3 -0
  116. package/data-structures/transactions-manager/history/getConvexData.d.mts +6 -0
  117. package/data-structures/transactions-manager/history/getCurveData.d.mts +6 -0
  118. package/data-structures/transactions-manager/history/getDepositData.d.mts +2 -0
  119. package/data-structures/transactions-manager/history/getLidoData.d.mts +10 -0
  120. package/data-structures/transactions-manager/history/getPendleData.d.mts +3 -0
  121. package/data-structures/transactions-manager/history/getSwapData.d.mts +3 -0
  122. package/data-structures/transactions-manager/history/getTxDetails.d.mts +3 -0
  123. package/data-structures/transactions-manager/history/getVolatileData.d.mts +32 -0
  124. package/data-structures/transactions-manager/history/history.types.d.mts +95 -0
  125. package/data-structures/transactions-manager/history/history.utils.d.mts +8 -0
  126. package/data-structures/transactions-manager/index.d.mts +2 -0
  127. package/data-structures/utxo/Utxo.d.mts +63 -0
  128. package/data-structures/volatile-helper/VolatileHelper.d.mts +57 -0
  129. package/data-structures/volatile-helper/index.d.mts +1 -0
  130. package/error-handling/customErrors/ErrorWithAmount.d.mts +4 -0
  131. package/error-handling/customErrors/FeeOverTransactionValueError.d.mts +9 -0
  132. package/error-handling/customErrors/customErrors.helpers.d.mts +5 -0
  133. package/error-handling/customErrors/index.d.mts +3 -0
  134. package/error-handling/error-codes.constants.cjs +1 -1
  135. package/error-handling/error-codes.constants.d.mts +181 -0
  136. package/error-handling/error-codes.constants.mjs +13 -13
  137. package/error-handling/get-error.message.d.mts +3 -0
  138. package/error-handling/handleErrorRestore.d.mts +2 -0
  139. package/error-handling/index.d.mts +7 -0
  140. package/error-handling/logError.d.mts +1 -0
  141. package/error-handling/types.d.mts +5 -0
  142. package/externalABIs/BUSD.d.mts +38 -0
  143. package/externalABIs/DAI.d.mts +45 -0
  144. package/externalABIs/ERC20.d.mts +1 -0
  145. package/externalABIs/SanctionsList.d.mts +35 -0
  146. package/externalABIs/USDC.d.mts +28 -0
  147. package/externalABIs/USDR.d.mts +28 -0
  148. package/externalABIs/USDR3CRV.d.mts +49 -0
  149. package/externalABIs/USDT.d.mts +41 -0
  150. package/externalABIs/WETH.d.mts +38 -0
  151. package/externalABIs/amToken.d.mts +28 -0
  152. package/externalABIs/crvFRAX.d.mts +38 -0
  153. package/externalABIs/index.d.mts +323 -0
  154. package/externalABIs/swapAbi.d.mts +77 -0
  155. package/functions/index.d.mts +14 -0
  156. package/functions/kyc/aiPriseHelper.d.mts +0 -0
  157. package/functions/kyc/authentoHelper.d.mts +12 -0
  158. package/functions/kyc/index.d.mts +3 -0
  159. package/functions/kyc/openDefaultPassportWindow.d.mts +1 -0
  160. package/functions/kyc/passportHelper.d.mts +3 -0
  161. package/functions/kyc/zkMeHelper.d.mts +4 -0
  162. package/functions/pre-transaction/getFlatFees.d.mts +12 -0
  163. package/functions/pre-transaction/index.d.mts +5 -0
  164. package/functions/pre-transaction/interaction-to-action.d.mts +2 -0
  165. package/functions/pre-transaction/outputUtxoProcessing.d.mts +5 -0
  166. package/functions/pre-transaction/process-gas-estimates.d.mts +5 -0
  167. package/functions/pre-transaction/processAmountChanges.d.mts +12 -0
  168. package/functions/private-wallet/emporium.helpers.d.mts +5 -0
  169. package/functions/private-wallet/index.d.mts +2 -0
  170. package/functions/private-wallet/opProducer.d.mts +5 -0
  171. package/functions/protocols/convex.protocols.d.mts +1 -0
  172. package/functions/protocols/curve.protocols.d.mts +1 -0
  173. package/functions/protocols/index.d.mts +3 -0
  174. package/functions/protocols/pendle.helpers.d.mts +8 -0
  175. package/functions/snarkjs/common.snarkjs.d.mts +22 -0
  176. package/functions/snarkjs/constant.d.mts +151 -0
  177. package/functions/snarkjs/constructEmporiumProof.d.mts +10 -0
  178. package/functions/snarkjs/constructGeneralZkProof.d.mts +12 -0
  179. package/functions/snarkjs/generateCircomData.d.mts +4 -0
  180. package/functions/snarkjs/generateZkProof.d.mts +5 -0
  181. package/functions/snarkjs/generateZkProofEnclave.d.mts +5 -0
  182. package/functions/snarkjs/generateZkProofSelf.d.mts +5 -0
  183. package/functions/snarkjs/getZKFiles.d.mts +2 -0
  184. package/functions/snarkjs/index.d.mts +4 -0
  185. package/functions/staking/index.d.mts +11 -0
  186. package/functions/utils/amounts.utils.d.mts +21 -0
  187. package/functions/utils/axelar.utils.d.mts +2 -0
  188. package/functions/utils/cacheDevice.utils.d.mts +3 -0
  189. package/functions/utils/cacheFunctions.d.mts +17 -0
  190. package/functions/utils/caseInsensitive.utils.d.mts +3 -0
  191. package/functions/utils/convertIntegrationProviderToExternalActionId.d.mts +2 -0
  192. package/functions/utils/create-provider.d.mts +2 -0
  193. package/functions/utils/enum.utils.d.mts +9 -0
  194. package/functions/utils/erc20tokenFunctions.d.mts +4 -0
  195. package/functions/utils/evmNetworkFunctions.d.mts +4 -0
  196. package/functions/utils/external-action.utils.d.mts +8 -0
  197. package/functions/utils/getDataFromTransaction.d.mts +45 -0
  198. package/functions/utils/index.d.mts +21 -0
  199. package/functions/utils/memoize.utils.d.mts +1 -0
  200. package/functions/utils/nickname.utils.d.mts +1 -0
  201. package/functions/utils/process.utils.d.mts +7 -0
  202. package/functions/utils/reloadPage.d.mts +1 -0
  203. package/functions/utils/requireEnv.d.mts +1 -0
  204. package/functions/utils/resolve-sync.utils.d.mts +6 -0
  205. package/functions/utils/serialize.utils.d.mts +1 -0
  206. package/functions/utils/string.utils.d.mts +8 -0
  207. package/functions/utils/time.utils.d.mts +1 -0
  208. package/functions/utils/userAgent.d.mts +2 -0
  209. package/functions/utils/volatile-patcher.utils.d.mts +1 -0
  210. package/functions/web3/etherFunctions.d.mts +20 -0
  211. package/functions/web3/events/balanceChangedHandler.d.mts +1 -0
  212. package/functions/web3/events/getInputUtxoAndBalance.d.mts +24 -0
  213. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  214. package/functions/web3/events/getShieldedBalance.d.mts +18 -0
  215. package/functions/web3/events/getShieldedBalance.mjs +66 -58
  216. package/functions/web3/events/index.d.mts +4 -0
  217. package/functions/web3/events/web3RetrieveEvents.d.mts +14 -0
  218. package/functions/web3/functionCalls/accessTokenCalls.d.mts +6 -0
  219. package/functions/web3/functionCalls/approveToken.d.mts +4 -0
  220. package/functions/web3/functionCalls/estimateGasRelayer.d.mts +4 -0
  221. package/functions/web3/functionCalls/getRootHash.d.mts +2 -0
  222. package/functions/web3/functionCalls/relayFunctions.d.mts +17 -0
  223. package/functions/web3/functionCalls/transactCallDirect.d.mts +6 -0
  224. package/functions/web3/functionCalls/transactCallRelayer.d.mts +7 -0
  225. package/functions/web3/getContractMetadata.d.mts +5 -0
  226. package/functions/web3/index.d.mts +6 -0
  227. package/functions/web3/odosAPI.d.mts +5 -0
  228. package/functions/web3/oneInchAPI.d.mts +5 -0
  229. package/functions/web3/runContractFunction.d.mts +15 -0
  230. package/functions/web3/uniswapAPI.d.mts +16 -0
  231. package/index.d.mts +8 -0
  232. package/package.json +42 -11
  233. package/providers/EthersProviderAdapter.d.mts +39 -0
  234. package/providers/WagmiProviderAdapter.d.mts +46 -0
  235. package/providers/exportProviers.d.mts +3 -0
  236. package/providers/prepareEthersHinkal.d.mts +4 -0
  237. package/providers/prepareWagmiHinkal.d.mts +3 -0
  238. package/types/API.types.d.mts +23 -0
  239. package/types/ICacheDevice.d.mts +4 -0
  240. package/types/IMultiThreadedUtxoUtils.d.mts +8 -0
  241. package/types/admin.types.d.mts +22 -0
  242. package/types/axelar.types.d.mts +14 -0
  243. package/types/beefy.types.d.mts +11 -0
  244. package/types/big-intable.types.d.mts +2 -0
  245. package/types/circom-data.types.d.mts +70 -0
  246. package/types/coingecko.types.d.mts +8 -0
  247. package/types/commitments.types.d.mts +26 -0
  248. package/types/connext.types.d.mts +13 -0
  249. package/types/crypto.types.d.mts +7 -0
  250. package/types/curve.types.d.mts +133 -0
  251. package/types/duneAPI.types.d.mts +9 -0
  252. package/types/ethereum-network.types.d.mts +142 -0
  253. package/types/external-action.types.d.mts +28 -0
  254. package/types/hinkal.stake.types.d.mts +11 -0
  255. package/types/hinkal.types.d.mts +150 -0
  256. package/types/hinkalTvl.types.d.mts +4 -0
  257. package/types/index.d.mts +27 -0
  258. package/types/kyc.types.d.mts +39 -0
  259. package/types/pendle.api.types.d.mts +233 -0
  260. package/types/pendle.types.d.mts +222 -0
  261. package/types/relayer.types.d.mts +25 -0
  262. package/types/remote-proof.types.d.mts +15 -0
  263. package/types/rewards.types.d.mts +230 -0
  264. package/types/slippage.types.d.mts +15 -0
  265. package/types/snark.types.d.mts +40 -0
  266. package/types/time.types.d.mts +31 -0
  267. package/types/token.types.d.mts +36 -0
  268. package/types/transactions.types.d.mts +55 -0
  269. package/webworker/performTaskWithWorker.d.mts +5 -0
  270. package/webworker/snarkjsWorker/snarkjsWorker.types.d.mts +14 -0
  271. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.d.mts +1 -0
  272. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.mts +10 -0
  273. package/webworker/utxoWorker/utxoWorker.types.d.mts +29 -0
  274. package/webworker/utxoWorker/utxoWorkerLauncher.d.mts +1 -0
  275. package/webworker/utxoWorker/utxoWorkerLogic.d.mts +8 -0
  276. package/webworker/viteWorkerURL.constant.d.mts +9 -0
  277. package/webworker/worker.registry.d.mts +10 -0
  278. package/webworker/worker.types.d.mts +33 -0
  279. package/webworker/workerErrorHandler.d.mts +1 -0
  280. package/webworker/workerFactory.d.mts +7 -0
  281. package/webworker/workerProxy.d.mts +40 -0
  282. package/webworker/zkProofWorker/zkProofWorker.types.d.mts +38 -0
  283. package/webworker/zkProofWorker/zkProofWorkerLauncher.d.mts +1 -0
  284. package/webworker/zkProofWorker/zkProofWorkerLogic.d.mts +8 -0
@@ -0,0 +1,15 @@
1
+ import { NewZkCallDataType } from './snark.types';
2
+ export type HandshakeResponseType = {
3
+ public_key: string;
4
+ };
5
+ export type RemoteProofType = {
6
+ pi_a: string[];
7
+ pi_b: string[][];
8
+ pi_c: string[];
9
+ protocol: string;
10
+ };
11
+ export type GenerateProofResponseType = {
12
+ proof: RemoteProofType;
13
+ public_signals: string[];
14
+ zk_calldata: NewZkCallDataType;
15
+ };
@@ -0,0 +1,230 @@
1
+ import { networkRegistry } from '../constants/chains.constants';
2
+ export declare enum TIER_LEVEL {
3
+ None = "None",
4
+ Bronze = "Bronze",
5
+ Silver = "Silver",
6
+ Gold = "Gold",
7
+ Platinum = "Platinum",
8
+ Diamond = "Diamond",
9
+ Elite = "Elite"
10
+ }
11
+ export declare enum LP_TIER {
12
+ None = "None",
13
+ Bronze = "Bronze",
14
+ Silver = "Silver",
15
+ Gold = "Gold",
16
+ Platinum = "Platinum",
17
+ Diamond = "Diamond"
18
+ }
19
+ export interface TraderIndex {
20
+ tier: TIER_LEVEL;
21
+ activeCode: string;
22
+ inviteeDiscount: number;
23
+ userTransactions: number;
24
+ userTrade: number;
25
+ traderRebates: number;
26
+ }
27
+ export interface AffiliateIndex {
28
+ tier: TIER_LEVEL;
29
+ tradersReferred: number;
30
+ trade: number;
31
+ transactions: number;
32
+ lockedDeposit: number;
33
+ referrerDiscount: number;
34
+ referrerRebates: number;
35
+ }
36
+ export interface ReferralIndex {
37
+ referralCode: string;
38
+ tradersReferred: number;
39
+ trade: number;
40
+ transactions: number;
41
+ }
42
+ export interface WeeklyReferralIndex extends ReferralIndex {
43
+ week: number;
44
+ consistency: number;
45
+ rebates: number;
46
+ }
47
+ export interface LpIndex {
48
+ tier: LP_TIER;
49
+ lockedDeposit: number;
50
+ lockinDuration: number;
51
+ feeDiscount: number;
52
+ lpRebates: number;
53
+ revenueRebates: number;
54
+ }
55
+ export interface UserIndex {
56
+ lpPoints: number;
57
+ referralPoints: number;
58
+ certificationPoints: number;
59
+ tradePoints: number;
60
+ ambassadorPoints: number;
61
+ totalPoints: number;
62
+ boost: number;
63
+ }
64
+ export interface AnonymityStakingUserIndex {
65
+ position: number;
66
+ username: string;
67
+ points: number;
68
+ referralPoints: number;
69
+ totalPoints: number;
70
+ }
71
+ export interface AnonymityStakingReferralPointsIndex {
72
+ referralCode: string;
73
+ numberOfStakersReferred: number;
74
+ cumulativeValue: number;
75
+ }
76
+ export interface CombinedReferralIndex extends ReferralIndex, AnonymityStakingReferralPointsIndex {
77
+ }
78
+ export declare enum RewardsPageTabs {
79
+ Points = "POINTS",
80
+ ReferralProgram = "REFERRAL",
81
+ LrtPoints = "LRT_POINTS",
82
+ LPProgram = "LP",
83
+ RewardsHistory = "HISTORY"
84
+ }
85
+ export declare enum RewardsHistoryStatuses {
86
+ InProgress = "In Progress",
87
+ Closed = "Closed"
88
+ }
89
+ export declare enum RewardsHistorySnapshots {
90
+ Pending = "Pending",
91
+ Submitted = "Submitted",
92
+ Unsubmitted = "Didn't Submit"
93
+ }
94
+ export declare enum RewardsHistoryEligibility {
95
+ Pending = "Pending",
96
+ Eligible = "Eligible",
97
+ Ineligible = "Ineligible"
98
+ }
99
+ export declare enum RewardsHistoryDistribution {
100
+ Pending = "Pending",
101
+ Completed = "Completed",
102
+ Unsubmitted = "Didn't Submit"
103
+ }
104
+ export interface RewardsHistoryItem<T> {
105
+ id: number;
106
+ date: string;
107
+ status: RewardsHistoryStatuses;
108
+ snapshot: RewardsHistorySnapshots;
109
+ eligibility: RewardsHistoryEligibility;
110
+ distribution: RewardsHistoryDistribution;
111
+ data: T;
112
+ }
113
+ export declare enum RafflePrizeType {
114
+ Gold = "Gold",
115
+ Silver = "Silver"
116
+ }
117
+ export declare enum PointType {
118
+ CertificationPoints = "CertificationPoints",
119
+ TradePoints = "TradePoints",
120
+ LPPoints = "LPPoints",
121
+ ReferralPoints = "ReferralPoints",
122
+ GalxePoints = "GalxePoints",
123
+ ZealyPoints = "ZealyPoints",
124
+ TaskOnPoints = "TaskOnPoints",
125
+ BonusPoints = "BonusPoints"
126
+ }
127
+ export type PointData = {
128
+ [PointType.CertificationPoints]: number;
129
+ [PointType.TradePoints]: number;
130
+ [PointType.LPPoints]: number;
131
+ [PointType.ReferralPoints]: number;
132
+ [PointType.GalxePoints]: number;
133
+ [PointType.ZealyPoints]: number;
134
+ [PointType.TaskOnPoints]?: number;
135
+ [PointType.BonusPoints]?: number;
136
+ RafflePrize?: RafflePrizeType;
137
+ boost?: number;
138
+ points: number;
139
+ };
140
+ export type TradingData = {
141
+ volume: number;
142
+ transactions: number;
143
+ };
144
+ export interface RewardsHistoryData {
145
+ week: number;
146
+ affiliateIndex: AffiliateIndex;
147
+ traderIndex: TraderIndex;
148
+ lpIndex: LpIndex;
149
+ points?: PointData;
150
+ isVerified: boolean;
151
+ paymentStatus?: PaymentStatus;
152
+ eligibility?: boolean;
153
+ rafflePrize: RafflePrizeType;
154
+ raffleTickets: number;
155
+ }
156
+ export declare enum Timeline {
157
+ Season = "Season",
158
+ Week = "Week"
159
+ }
160
+ export type CountDown = {
161
+ daysLeft: number;
162
+ hoursLeft: number;
163
+ minutesLeft: number;
164
+ secondsLeft: number;
165
+ };
166
+ export type RewardPaymentInfo = {
167
+ chainId: number;
168
+ receivingAddress: string;
169
+ rewardTokenAddress: string;
170
+ };
171
+ export declare enum PaymentStatus {
172
+ PAID = "PAID",
173
+ PENDING = "PENDING"
174
+ }
175
+ export declare enum CertifyType {
176
+ Certify = 0,
177
+ CheckActivity = 1
178
+ }
179
+ export declare enum RewardPage {
180
+ Points = 0,
181
+ Trader = 1,
182
+ Affiliate = 2,
183
+ LP = 3,
184
+ History = 4
185
+ }
186
+ export declare enum BonusType {
187
+ ReclaimCheck = 0,
188
+ IntegrationCheck = 1,
189
+ RandomPrizeGold = 2,
190
+ RandomPrizeSilver = 3
191
+ }
192
+ export type UserPoints = Record<string, number>;
193
+ export type UserPointsTokens = Record<string, UserPoints>;
194
+ export type UserPointsResponse = {
195
+ Result: UserPointsTokens;
196
+ };
197
+ export declare const emptyUserPointsResponse: {
198
+ Result: {};
199
+ };
200
+ export type UserPointsBreakdown = {
201
+ EtherFi: number;
202
+ Renzo: number;
203
+ Kelp: number;
204
+ Zircuit: number;
205
+ };
206
+ export declare const emptyUserPointsBreakdown: {
207
+ renzo: number;
208
+ kelp: number;
209
+ etherFi: number;
210
+ zircuit: number;
211
+ };
212
+ export interface HistoryIndexesProps {
213
+ week: number;
214
+ lpIndex: LpIndex;
215
+ affiliateIndex: AffiliateIndex;
216
+ traderIndex: TraderIndex;
217
+ points?: PointData;
218
+ raffleTickets: number;
219
+ rafflePrize: RafflePrizeType;
220
+ lpProgramStartWeek: number;
221
+ raffleProgramStartWeek: number;
222
+ }
223
+ export type HashInfoByChain = Record<keyof typeof networkRegistry, {
224
+ lastCertifiedHash: string;
225
+ week: number;
226
+ }>;
227
+ export type WeekOption = {
228
+ value: number;
229
+ label: string;
230
+ };
@@ -0,0 +1,15 @@
1
+ export declare enum SlippageType {
2
+ Swap = "Swap",
3
+ CurveDeposit = "CurveDeposit",
4
+ CurveWithdraw = "CurveWithdraw",
5
+ Beefy = "Beefy",
6
+ Pendle = "Pendle"
7
+ }
8
+ export interface ISlippageLevels {
9
+ [SlippageType.Swap]: number;
10
+ [SlippageType.CurveDeposit]: number;
11
+ [SlippageType.CurveWithdraw]: number;
12
+ [SlippageType.Beefy]: number;
13
+ [SlippageType.Pendle]: number;
14
+ }
15
+ export declare const slippageLevels: ISlippageLevels;
@@ -0,0 +1,40 @@
1
+ interface ZkBaseInputType {
2
+ rootHashHinkal: bigint | undefined;
3
+ shieldedPrivateKey: string;
4
+ inAmounts: string[];
5
+ inBlindings: string[];
6
+ inNullifiers: string[];
7
+ inCommitmentSiblings: string[][];
8
+ inCommitmentSiblingSides: string[][];
9
+ outCommitments: string[];
10
+ rootHashAccessToken: bigint | undefined;
11
+ accessTokenSiblings: string[];
12
+ accessTokenSiblingSides: string[];
13
+ relayFee: bigint;
14
+ relay: string;
15
+ }
16
+ export interface ZkInputType extends ZkBaseInputType {
17
+ publicAmount: bigint;
18
+ recipientAddress: string;
19
+ erc20TokenAddress: string;
20
+ outAmounts: string[];
21
+ outShieldedPublicKey: string[];
22
+ outBlindings: string[];
23
+ }
24
+ export interface ZkExternalInputType extends ZkBaseInputType {
25
+ inSwapAmount: bigint;
26
+ inErc20TokenAddress: string;
27
+ outAmount: bigint;
28
+ outBlinding: bigint;
29
+ outSwapAmount: bigint;
30
+ outErc20TokenAddress: string;
31
+ outSwapBlinding: bigint;
32
+ externalActionId: bigint;
33
+ externalActionMetadataHash: bigint;
34
+ }
35
+ export interface ZkResultType {
36
+ proof: string;
37
+ publicSignals: string[];
38
+ }
39
+ export type NewZkCallDataType = [[string, string], [[string, string], [string, string]], [string, string], string[]];
40
+ export {};
@@ -0,0 +1,31 @@
1
+ export declare const secondInMilliseconds = 1000;
2
+ export declare const minuteInMilliseconds: number;
3
+ export declare const hourInMilliseconds: number;
4
+ export declare const dayInMilliseconds: number;
5
+ export declare const weekInMilliseconds: number;
6
+ export declare const getDateFromWeek: (week: number) => Date;
7
+ export declare const getWeekTimestamps: (week: number) => {
8
+ initialTimestamp: number;
9
+ endTimestamp: number;
10
+ };
11
+ export declare const getCurrentWeek: () => number;
12
+ export declare const parseWeek: (week: unknown) => number | undefined;
13
+ export declare const toDateString: (date: Date, delimiter?: string) => string;
14
+ export declare const isWeekCurrent: (week: number) => boolean;
15
+ export declare const hasCertificationPeriodExpired: (week: number) => boolean;
16
+ export declare const getNextDay: (date: Date) => Date;
17
+ export declare enum MONTHS {
18
+ JANUARY = 0,
19
+ FEBRUARY = 1,
20
+ MARCH = 2,
21
+ APRIL = 3,
22
+ MAY = 4,
23
+ JUNE = 5,
24
+ JULY = 6,
25
+ AUGUST = 7,
26
+ SEPTEMBER = 8,
27
+ OCTOBER = 9,
28
+ NOVEMBER = 10,
29
+ DECEMBER = 11
30
+ }
31
+ export declare const divideMonthOnIntervals: (year: number, month: MONTHS) => number[];
@@ -0,0 +1,36 @@
1
+ export interface ERC20Token {
2
+ chainId: number;
3
+ erc20TokenAddress: string;
4
+ wrappedErc20TokenAddress?: string;
5
+ underlyingErc20TokenAddress?: string;
6
+ name: string;
7
+ symbol: string;
8
+ decimals: number;
9
+ logoURI?: string;
10
+ logoURIs?: string[];
11
+ whitelisted?: boolean;
12
+ isCustom?: true;
13
+ isNFT?: boolean;
14
+ approvalType?: ApprovalType;
15
+ isVolatile?: boolean;
16
+ sharedAddress?: string;
17
+ isPendleToken?: boolean;
18
+ isHToken?: boolean;
19
+ hasHToken?: boolean;
20
+ aaveToken?: boolean;
21
+ }
22
+ export declare enum ApprovalType {
23
+ Classic = 0,
24
+ ERC20Permit = 1,
25
+ DAIPermit = 2
26
+ }
27
+ export interface NFT {
28
+ tokenId: number;
29
+ timestamp: string;
30
+ }
31
+ export interface TokenBalance {
32
+ token: ERC20Token;
33
+ balance: bigint;
34
+ timestamp?: string;
35
+ nfts?: NFT[];
36
+ }
@@ -0,0 +1,55 @@
1
+ import { BigNumber } from 'ethers';
2
+ import { HookDataType, StealthAddressStructure } from './circom-data.types';
3
+ export interface RawTx {
4
+ blockNumber: number;
5
+ timeStamp: number;
6
+ isError: string;
7
+ methodId: string;
8
+ input: string;
9
+ logs: Log[];
10
+ hash: string;
11
+ gas: number;
12
+ gasPrice: number;
13
+ contract?: string;
14
+ }
15
+ type Log = {
16
+ topics: string[];
17
+ data: string;
18
+ };
19
+ export interface EventLog {
20
+ address: string;
21
+ topics: string[];
22
+ data: string;
23
+ blockNumber: string;
24
+ blockHash: string;
25
+ timeStamp: string;
26
+ gasPrice: string;
27
+ gasUsed: string;
28
+ logIndex: string;
29
+ transactionHash: string;
30
+ transactionIndex: string;
31
+ }
32
+ export interface DecodedTx<T = bigint, K = BigNumber> extends RawTx {
33
+ decodedInput: {
34
+ erc20TokenAddresses: string[];
35
+ amountChanges: K[];
36
+ flatFees: K[];
37
+ externalActionId: K;
38
+ externalActionMetadata: string;
39
+ encryptedOutputs: string[];
40
+ hookData: HookDataType;
41
+ stealthAddressStructure: StealthAddressStructure<T>;
42
+ };
43
+ status: string;
44
+ }
45
+ export interface DecodedTxWithUtxos<T = bigint, K = BigNumber> extends DecodedTx<T, K> {
46
+ utxosArray?: OnChainUtxo<T>[];
47
+ }
48
+ export type OnChainUtxo<AmountType = bigint> = {
49
+ amount: AmountType;
50
+ erc20TokenAddress: string;
51
+ timeStamp: string;
52
+ tokenId: number;
53
+ };
54
+ export declare const emptyDecodedTx: DecodedTx;
55
+ export {};
@@ -0,0 +1,5 @@
1
+ import { WorkerVariant } from './worker.registry';
2
+ export declare const performTaskWithWorker: <P, T>(workerData: {
3
+ type: WorkerVariant;
4
+ payload: P;
5
+ }) => Promise<T>;
@@ -0,0 +1,14 @@
1
+ import { WorkerParams, WorkerPayload } from '../worker.types';
2
+ export declare enum SnarkJSWorkerActionType {
3
+ FULL_PROVE = 0
4
+ }
5
+ export interface SnarkJSWorkerFullProvePayload extends WorkerPayload<{
6
+ input: any;
7
+ chainId: number;
8
+ wasmFilePath: string;
9
+ zKeyFilePath: string;
10
+ }> {
11
+ type: SnarkJSWorkerActionType.FULL_PROVE;
12
+ }
13
+ export type SnarkJSPayload = SnarkJSWorkerFullProvePayload;
14
+ export type SnarkJSParams = WorkerParams<SnarkJSPayload>;
@@ -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;