@hinkal/common 0.0.104 → 0.0.106

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.js +58 -0
  2. package/API/HinkalPointsCalls.js +38 -0
  3. package/API/callBeefyGraphAPI.js +37 -0
  4. package/API/callCurveAPI.js +156 -0
  5. package/API/callMonitor.js +30 -0
  6. package/API/callOdosAPI.js +44 -0
  7. package/API/callOneInchAPI.js +37 -0
  8. package/API/callRelayer.js +32 -0
  9. package/API/checkRisk.js +30 -0
  10. package/API/dataServerCalls.js +32 -0
  11. package/API/fetchCommitmentsCache.js +31 -0
  12. package/API/fetchNullifiers.js +30 -0
  13. package/API/getAxelarGasEstimate.js +37 -0
  14. package/API/getCoingeckoPrice.js +27 -0
  15. package/API/getConnextReceiveFee.js +30 -0
  16. package/API/getGasEstimates.js +38 -0
  17. package/API/getRelayerURL.js +32 -0
  18. package/API/getServerURL.js +67 -0
  19. package/API/getTokenPrice.js +41 -0
  20. package/API/kycCalls.js +32 -0
  21. package/API/passwordCalls.js +36 -0
  22. package/API/referralProgramCalls.js +58 -0
  23. package/API/relayCalls.js +30 -0
  24. package/API/restoreSnapshots.js +32 -0
  25. package/API/rewardsPointsCalls.js +40 -0
  26. package/API/userVerifyTransactions.js +45 -0
  27. package/README.md +116 -1
  28. package/assets/{snarkjsWorkerLogic-CatB8Hso.js → snarkjsWorkerLogic-Fv0M38Mc.js} +2 -2
  29. package/assets/{utxoWorkerLogic-DDqTe7hT.js → utxoWorkerLogic-CtFLQiAX.js} +2 -2
  30. package/assets/{zkProofWorkerLauncher-C-pvCm0b.js → zkProofWorkerLauncher-J3Ts5_Ba.js} +1 -1
  31. package/assets/{zkProofWorkerLogic-CLpRqNRx.js → zkProofWorkerLogic-CPNuu61R.js} +18 -19
  32. package/constants/assets.constants.js +16 -0
  33. package/constants/axelar.constants.js +55 -0
  34. package/constants/backend.constants.js +18 -0
  35. package/constants/beefy.registry.js +24 -0
  36. package/constants/chains.constants.js +204 -0
  37. package/constants/coingecko.constants.js +53 -0
  38. package/constants/contracts.constants.js +276 -0
  39. package/constants/crvCvx.registry.js +636 -0
  40. package/constants/crvDynamic.registry.js +24 -0
  41. package/constants/deploy-data/deploy-data-arbMainnet.json.js +7415 -0
  42. package/constants/deploy-data/deploy-data-avalanche.json.js +7411 -0
  43. package/constants/deploy-data/deploy-data-axelar1.json.js +4329 -0
  44. package/constants/deploy-data/deploy-data-axelar2.json.js +4329 -0
  45. package/constants/deploy-data/deploy-data-base.json.js +8425 -0
  46. package/constants/deploy-data/deploy-data-blast.json.js +9600 -0
  47. package/constants/deploy-data/deploy-data-bnbMainnet.json.js +6877 -0
  48. package/constants/deploy-data/deploy-data-ethMainnet.json.js +11427 -0
  49. package/constants/deploy-data/deploy-data-localhost.json.js +13283 -0
  50. package/constants/deploy-data/deploy-data-optimism.json.js +7417 -0
  51. package/constants/deploy-data/deploy-data-polygon.json.js +7439 -0
  52. package/constants/fees.constants.js +57 -0
  53. package/constants/kyc.constants.js +118 -0
  54. package/constants/lido.constants.js +13 -0
  55. package/constants/pendle.registry.js +253 -0
  56. package/constants/protocol.constants.js +26 -0
  57. package/constants/reorg-depths.constants.js +15 -0
  58. package/constants/rewards.constants.js +27 -0
  59. package/constants/server.constants.js +157 -0
  60. package/constants/token-data/ERC20Registry.js +85 -0
  61. package/constants/token-data/arbMainnetRegistry.json.js +946 -0
  62. package/constants/token-data/arbMainnetRegistryFixed.json.js +856 -0
  63. package/constants/token-data/avalancheRegistry.json.js +591 -0
  64. package/constants/token-data/avalancheRegistryFixed.json.js +591 -0
  65. package/constants/token-data/baseRegistry.json.js +490 -0
  66. package/constants/token-data/baseRegistryFixed.json.js +463 -0
  67. package/constants/token-data/blastRegistry.json.js +137 -0
  68. package/constants/token-data/blastRegistryFixed.json.js +137 -0
  69. package/constants/token-data/bnbMainnetRegistry.json.js +973 -0
  70. package/constants/token-data/bnbMainnetRegistryFixed.json.js +973 -0
  71. package/constants/token-data/coingeckoRegistry.json.js +115623 -0
  72. package/constants/token-data/ethMainnetRegistry.json.js +2700 -0
  73. package/constants/token-data/ethMainnetRegistryFixed.json.js +2251 -0
  74. package/constants/token-data/index.js +6 -0
  75. package/constants/token-data/localhostRegistry.json.js +2768 -0
  76. package/constants/token-data/optimismRegistry.json.js +1455 -0
  77. package/constants/token-data/optimismRegistryFixed.json.js +1392 -0
  78. package/constants/token-data/polygonRegistry.json.js +1327 -0
  79. package/constants/token-data/polygonRegistryFixed.json.js +1255 -0
  80. package/constants/token-data/popularTokens.constants.js +14 -0
  81. package/constants/token-data/tokenPricing.consts.js +8 -0
  82. package/constants/vite.constants.js +29 -0
  83. package/crypto/babyJub.js +15 -0
  84. package/crypto/poseidon.js +26 -0
  85. package/crypto/preProcessing.js +9 -0
  86. package/data-structures/Hinkal/Hinkal.js +299 -0
  87. package/data-structures/Hinkal/hinkalActionBeefy.js +101 -0
  88. package/data-structures/Hinkal/hinkalActionConvex.js +83 -0
  89. package/data-structures/Hinkal/hinkalActionCurve.js +112 -0
  90. package/data-structures/Hinkal/hinkalActionLidoEth.js +91 -0
  91. package/data-structures/Hinkal/hinkalActionPendle.js +140 -0
  92. package/data-structures/Hinkal/hinkalActionPendleLP.js +96 -0
  93. package/data-structures/Hinkal/hinkalActionStake.js +138 -0
  94. package/data-structures/Hinkal/hinkalActionVolatile.js +112 -0
  95. package/data-structures/Hinkal/hinkalDeposit.js +95 -0
  96. package/data-structures/Hinkal/hinkalGetZkMeProvider.js +47 -0
  97. package/data-structures/Hinkal/hinkalPrivateWallet.js +66 -0
  98. package/data-structures/Hinkal/hinkalSwap.js +98 -0
  99. package/data-structures/Hinkal/hinkalTransfer.js +5 -0
  100. package/data-structures/Hinkal/hinkalWithdraw.js +91 -0
  101. package/data-structures/Hinkal/resetMerkleTrees.js +49 -0
  102. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.js +83 -0
  103. package/data-structures/ValueCache/ValueCache.js +25 -0
  104. package/data-structures/crypto-keys/decodeUTXO.js +40 -0
  105. package/data-structures/crypto-keys/encryptDecryptUtxo.js +41 -0
  106. package/data-structures/crypto-keys/keyUtils.js +10 -0
  107. package/data-structures/crypto-keys/keys.js +90 -0
  108. package/data-structures/custom-token-registry/CustomTokenRegistry.js +33 -0
  109. package/data-structures/event-service/AbstractAccessTokenSnapshotService.js +131 -0
  110. package/data-structures/event-service/AbstractCommitmentsSnapshotService.js +132 -0
  111. package/data-structures/event-service/AbstractEventService.js +118 -0
  112. package/data-structures/event-service/AbstractNullifierSnapshotService.js +59 -0
  113. package/data-structures/event-service/AbstractSnapshotService.js +35 -0
  114. package/data-structures/merkle-tree/MerkleTree.js +177 -0
  115. package/data-structures/merkle-tree/MerkleTreeIncompleteError.js +8 -0
  116. package/data-structures/snapshot/ClientAccessTokenSnapshotService.js +48 -0
  117. package/data-structures/snapshot/ClientCommitmentsSnapshotService.js +47 -0
  118. package/data-structures/snapshot/ClientNullifierSnapshotService.js +44 -0
  119. package/data-structures/token-price-fetcher/TokenChecker.js +29 -0
  120. package/data-structures/token-price-fetcher/TokenPriceFetcher.js +218 -0
  121. package/data-structures/transactions-manager/TransactionsManager.js +194 -0
  122. package/data-structures/transactions-manager/history/getBeefyData.js +68 -0
  123. package/data-structures/transactions-manager/history/getConvexData.js +57 -0
  124. package/data-structures/transactions-manager/history/getCurveData.js +97 -0
  125. package/data-structures/transactions-manager/history/getDepositData.js +36 -0
  126. package/data-structures/transactions-manager/history/getLidoData.js +44 -0
  127. package/data-structures/transactions-manager/history/getPendleData.js +59 -0
  128. package/data-structures/transactions-manager/history/getSwapData.js +43 -0
  129. package/data-structures/transactions-manager/history/getTxDetails.js +74 -0
  130. package/data-structures/transactions-manager/history/getVolatileData.js +75 -0
  131. package/data-structures/transactions-manager/history/history.types.js +62 -0
  132. package/data-structures/transactions-manager/history/history.utils.js +8 -0
  133. package/data-structures/utxo/Utxo.js +134 -0
  134. package/data-structures/volatile-helper/VolatileHelper.js +181 -0
  135. package/error-handling/customErrors/ErrorWithAmount.js +9 -0
  136. package/error-handling/customErrors/FeeOverTransactionValueError.js +9 -0
  137. package/error-handling/customErrors/customErrors.helpers.js +21 -0
  138. package/error-handling/error-codes.constants.js +184 -0
  139. package/error-handling/get-error.message.js +53 -0
  140. package/error-handling/handleErrorRestore.js +35 -0
  141. package/error-handling/logError.js +7 -0
  142. package/error-handling/types.js +4 -0
  143. package/externalABIs/BUSD.js +519 -0
  144. package/externalABIs/BabPassport.json.js +24 -0
  145. package/externalABIs/BeefyRouterAbi.json.js +1022 -0
  146. package/externalABIs/BeefyStrategyAbi.json.js +1423 -0
  147. package/externalABIs/BeefyVaultAbi.json.js +570 -0
  148. package/externalABIs/BeefyZapAbi.json.js +208 -0
  149. package/externalABIs/BeefyZapOneInchAbi.json.js +340 -0
  150. package/externalABIs/ConvexBoosterAbi.json.js +674 -0
  151. package/externalABIs/ConvexBoosterAbiMainnet.json.js +1002 -0
  152. package/externalABIs/ConvexRewardPoolAbi.json.js +883 -0
  153. package/externalABIs/CurveReadingWrapperAbi.json.js +1422 -0
  154. package/externalABIs/CurveWrappedMainPool.json.js +1136 -0
  155. package/externalABIs/CurveZap.json.js +262 -0
  156. package/externalABIs/CvxCrvUtilities.json.js +264 -0
  157. package/externalABIs/DAI.js +334 -0
  158. package/externalABIs/ERC20.json.js +291 -0
  159. package/externalABIs/GalxePassport.json.js +41 -0
  160. package/externalABIs/IQuoterV2.json.js +205 -0
  161. package/externalABIs/ISwapRouter.json.js +568 -0
  162. package/externalABIs/IUniswapV3Factory.json.js +201 -0
  163. package/externalABIs/IUniswapV3Pool.json.js +999 -0
  164. package/externalABIs/LidoStEthAbi.json.js +1603 -0
  165. package/externalABIs/LidoStMaticAbi.json.js +1764 -0
  166. package/externalABIs/LidoStakeManagerAbi.json.js +2082 -0
  167. package/externalABIs/LidoWithdrawalQueueERC721Abi.json.js +2030 -0
  168. package/externalABIs/LidoWstEthAbi.json.js +480 -0
  169. package/externalABIs/OptimismGasPriceOracle.json.js +206 -0
  170. package/externalABIs/PendleRouterAbi.json.js +173 -0
  171. package/externalABIs/PoLidoNftAbi.json.js +701 -0
  172. package/externalABIs/SanctionsList.js +89 -0
  173. package/externalABIs/USDC.js +721 -0
  174. package/externalABIs/USDR.js +346 -0
  175. package/externalABIs/USDR3CRV.js +542 -0
  176. package/externalABIs/USDT.js +393 -0
  177. package/externalABIs/UniswapV2PoolAbi.json.js +80 -0
  178. package/externalABIs/WETH.js +156 -0
  179. package/externalABIs/amToken.js +350 -0
  180. package/externalABIs/transactionsProver.json.js +39 -0
  181. package/functions/kyc/authentoHelper.js +42 -0
  182. package/functions/kyc/passportHelper.js +39 -0
  183. package/functions/kyc/zkMeHelper.js +56 -0
  184. package/functions/pre-transaction/getFlatFees.js +203 -0
  185. package/functions/pre-transaction/interaction-to-action.js +57 -0
  186. package/functions/pre-transaction/outputUtxoProcessing.js +45 -0
  187. package/functions/pre-transaction/process-gas-estimates.js +57 -0
  188. package/functions/pre-transaction/processAmountChanges.js +229 -0
  189. package/functions/private-wallet/emporium.helpers.js +19 -0
  190. package/functions/private-wallet/opProducer.js +24 -0
  191. package/functions/protocols/convex.protocols.js +41 -0
  192. package/functions/protocols/curve.protocols.js +45 -0
  193. package/functions/protocols/pendle.helpers.js +108 -0
  194. package/functions/snarkjs/common.snarkjs.js +96 -0
  195. package/functions/snarkjs/constant.js +211 -0
  196. package/functions/snarkjs/constructEmporiumProof.js +105 -0
  197. package/functions/snarkjs/constructGeneralZkProof.js +129 -0
  198. package/functions/snarkjs/generateCircomData.js +60 -0
  199. package/functions/snarkjs/generateZkProof.js +18 -0
  200. package/functions/snarkjs/getZKFiles.js +30 -0
  201. package/functions/staking/index.js +40 -0
  202. package/functions/utils/amounts.utils.js +70 -0
  203. package/functions/utils/axelar.utils.js +38 -0
  204. package/functions/utils/cacheFunctions.js +67 -0
  205. package/functions/utils/caseInsensitive.utils.js +6 -0
  206. package/functions/utils/convertIntegrationProviderToExternalActionId.js +16 -0
  207. package/functions/utils/create-provider.js +5 -0
  208. package/functions/utils/enum.utils.js +14 -0
  209. package/functions/utils/erc20tokenFunctions.js +20 -0
  210. package/functions/utils/evmNetworkFunctions.js +29 -0
  211. package/functions/utils/external-action.utils.js +61 -0
  212. package/functions/utils/getDataFromTransaction.js +105 -0
  213. package/functions/utils/memoize.utils.js +14 -0
  214. package/functions/utils/nickname.utils.js +7 -0
  215. package/functions/utils/process.utils.js +4 -0
  216. package/functions/utils/reloadPage.js +4 -0
  217. package/functions/utils/requireEnv.js +7 -0
  218. package/functions/utils/resolve-sync.utils.js +22 -0
  219. package/functions/utils/serialize.utils.js +4 -0
  220. package/functions/utils/string.utils.js +14 -0
  221. package/functions/utils/time.utils.js +8 -0
  222. package/functions/utils/userAgent.js +15 -0
  223. package/functions/utils/volatile-patcher.utils.js +40 -0
  224. package/functions/web3/etherFunctions.js +41 -0
  225. package/functions/web3/events/balanceChangedHandler.js +10 -0
  226. package/functions/web3/events/getInputUtxoAndBalance.js +72 -0
  227. package/functions/web3/events/getShieldedBalance.js +107 -0
  228. package/functions/web3/events/web3RetrieveEvents.js +9 -0
  229. package/functions/web3/functionCalls/accessTokenCalls.js +48 -0
  230. package/functions/web3/functionCalls/approveToken.js +153 -0
  231. package/functions/web3/functionCalls/estimateGasRelayer.js +18 -0
  232. package/functions/web3/functionCalls/transactCallDirect.js +60 -0
  233. package/functions/web3/functionCalls/transactCallRelayer.js +42 -0
  234. package/functions/web3/odosAPI.js +65 -0
  235. package/functions/web3/oneInchAPI.js +61 -0
  236. package/functions/web3/runContractFunction.js +95 -0
  237. package/functions/web3/uniswapAPI.js +97 -0
  238. package/index.js +644 -0
  239. package/package.json +5 -4
  240. package/types/beefy.types.js +21 -0
  241. package/types/circom-data.types.js +22 -0
  242. package/types/curve.types.js +25 -0
  243. package/types/ethereum-network.types.js +4 -0
  244. package/types/external-action.types.js +4 -0
  245. package/types/hinkal.stake.types.js +4 -0
  246. package/types/hinkal.types.js +15 -0
  247. package/types/kyc.types.js +13 -0
  248. package/types/pendle.types.js +15 -0
  249. package/types/rewards.types.js +27 -0
  250. package/types/slippage.types.js +15 -0
  251. package/types/time.types.js +58 -0
  252. package/types/token.types.js +4 -0
  253. package/types/transactions.types.js +36 -0
  254. package/webworker/performTaskWithWorker.js +62 -0
  255. package/webworker/snarkjsWorker/snarkjsWorker.types.js +4 -0
  256. package/webworker/snarkjsWorker/snarkjsWorkerLogic.js +32 -0
  257. package/webworker/utxoWorker/utxoWorker.types.js +4 -0
  258. package/webworker/utxoWorker/utxoWorkerLogic.js +70 -0
  259. package/webworker/viteWorkerURL.constant.d.ts +3 -3
  260. package/webworker/worker.registry.js +4 -0
  261. package/webworker/workerFactory.d.ts +0 -1
  262. package/webworker/workerFactory.js +42 -0
  263. package/{workerProxy-BDj498Ht.mjs → webworker/workerProxy.js} +1 -1
  264. package/webworker/zkProofWorker/zkProofWorker.types.js +4 -0
  265. package/webworker/zkProofWorker/zkProofWorkerLogic.js +66 -0
  266. package/assets/viteWorkerURL.constant-DrIQXA2B.js +0 -11
  267. package/index-DbehuQxV.mjs +0 -398145
  268. package/index.mjs +0 -457
  269. package/snarkjsWorkerLogic-BpNWzeoy.mjs +0 -12086
  270. package/utxoWorkerLogic-D7NuHk_K.mjs +0 -64
  271. package/viteWorkerURL.constant-Bc7ufzqC.mjs +0 -9
  272. package/zkProofWorkerLogic-Bnalmuka.mjs +0 -60
@@ -0,0 +1,203 @@
1
+ import { isBeefyDeposit as S } from "../../types/beefy.types.js";
2
+ import "../../types/circom-data.types.js";
3
+ import { INTERACTION as a } from "../../types/hinkal.types.js";
4
+ import "../../types/transactions.types.js";
5
+ import "../../types/curve.types.js";
6
+ import "ethers";
7
+ import "axios";
8
+ import "../../constants/chains.constants.js";
9
+ import "circomlibjs";
10
+ import "../../data-structures/crypto-keys/keys.js";
11
+ import "../web3/events/getShieldedBalance.js";
12
+ import "../../webworker/workerFactory.js";
13
+ import "../../data-structures/crypto-keys/encryptDecryptUtxo.js";
14
+ import "../utils/external-action.utils.js";
15
+ import { getInteractionFromAction as I } from "./interaction-to-action.js";
16
+ import { processGasEstimates as W } from "./process-gas-estimates.js";
17
+ import "libsodium-wrappers";
18
+ import "../../constants/reorg-depths.constants.js";
19
+ import "../../constants/kyc.constants.js";
20
+ import "../../constants/coingecko.constants.js";
21
+ import "../../constants/vite.constants.js";
22
+ import "../../data-structures/volatile-helper/VolatileHelper.js";
23
+ import "../../data-structures/custom-token-registry/CustomTokenRegistry.js";
24
+ import "../../constants/contracts.constants.js";
25
+ import "../../constants/axelar.constants.js";
26
+ import "../../constants/rewards.constants.js";
27
+ import { getERC20Token as k } from "../utils/erc20tokenFunctions.js";
28
+ import "../utils/convertIntegrationProviderToExternalActionId.js";
29
+ import "../utils/userAgent.js";
30
+ const Z = async (r, o, D, N, L, m) => {
31
+ let t;
32
+ const n = I(D, L);
33
+ if (n === a.NONE)
34
+ throw Error("No interaction was choosen");
35
+ let T, b, _;
36
+ switch (n) {
37
+ case a.WITHDRAW:
38
+ t = k(o[0], r);
39
+ break;
40
+ case a.SWAP:
41
+ t = k(o[1], r);
42
+ break;
43
+ case a.CURVE_DEPOSIT:
44
+ t = k(o[o.length - 1], r);
45
+ break;
46
+ case a.CURVE_WITHDRAW: {
47
+ if (_ = o.findIndex(
48
+ (P) => P.toLowerCase() === m?.toLowerCase()
49
+ ), console.log({ curveWithdrawGasTokenAddress: m, withdrawTokenIndex: _ }), _ === -1)
50
+ throw Error("Curve Withdraw Token Index not found");
51
+ t = k(o[_], r);
52
+ break;
53
+ }
54
+ case a.STAKING:
55
+ case a.UNSTAKING:
56
+ t = k(o[1], r);
57
+ break;
58
+ case a.CLAIMING:
59
+ t = k(o[1], r);
60
+ break;
61
+ case a.BEEFY:
62
+ T = S(L) ? 1 : 0, t = k(o[T], r);
63
+ break;
64
+ case a.BEEFY_STAKE:
65
+ case a.BEEFY_UNSTAKE:
66
+ t = k(o[1], r);
67
+ break;
68
+ case a.BEEFY_GET_REWARDS:
69
+ t = k(o[1], r);
70
+ break;
71
+ case a.LIDO_STAKE:
72
+ t = k(o[0], r);
73
+ break;
74
+ case a.LIDO_REQUEST:
75
+ t = k(o[1], r);
76
+ break;
77
+ case a.LIDO_CLAIM:
78
+ t = k(o[1], r);
79
+ break;
80
+ case a.PENDLE_TRANSACT:
81
+ t = k(o[0], r);
82
+ break;
83
+ case a.PENDLE_YT_IN_SWAP:
84
+ t = k(o[1], r);
85
+ break;
86
+ case a.PENDLE_YT_OUT_SWAP:
87
+ t = k(o[0], r);
88
+ break;
89
+ case a.PENDLE_PT_SWAP:
90
+ t = k(o[1], r);
91
+ break;
92
+ case a.PENDLE_MINT:
93
+ t = k(o[1], r);
94
+ break;
95
+ case a.PENDLE_REDEEM:
96
+ t = k(o[2], r);
97
+ break;
98
+ case a.PENDLE_CLAIM:
99
+ t = k(o[1], r);
100
+ break;
101
+ case a.VOLATILE_WITHDRAW:
102
+ t = k(o[0], r);
103
+ break;
104
+ case a.VOLATILE_SWAP:
105
+ t = k(o[1], r);
106
+ break;
107
+ case a.PENDLE_LP:
108
+ b = N.findIndex((P) => P > 0), t = k(o[b], r);
109
+ break;
110
+ case a.PENDLE_LP_CLAIM:
111
+ t = k(o[1], r);
112
+ break;
113
+ case a.EMPORIUM:
114
+ }
115
+ let E, p;
116
+ const i = N.length;
117
+ t && ({ priceOfTransactionInToken: E, priceOfTransactionInUSD: p } = await W(
118
+ r,
119
+ t,
120
+ D,
121
+ L,
122
+ i
123
+ ));
124
+ const e = new Array(i).fill(0n);
125
+ switch (n) {
126
+ case a.WITHDRAW:
127
+ e[0] = E || 0n;
128
+ break;
129
+ case a.SWAP:
130
+ e[1] = E || 0n;
131
+ break;
132
+ case a.CURVE_DEPOSIT:
133
+ e[e.length - 1] = E || 0n;
134
+ break;
135
+ case a.CURVE_WITHDRAW:
136
+ _ !== void 0 && (e[_] = E || 0n);
137
+ break;
138
+ case a.STAKING:
139
+ case a.UNSTAKING:
140
+ e[1] = E || 0n, e[0] = E || 0n;
141
+ break;
142
+ case a.CLAIMING:
143
+ e[1] = E || 0n;
144
+ break;
145
+ case a.BEEFY:
146
+ T && (e[T] = E || 0n);
147
+ break;
148
+ case a.BEEFY_STAKE:
149
+ e[1] = E || 0n, e[0] = E || 0n;
150
+ break;
151
+ case a.BEEFY_GET_REWARDS:
152
+ e[1] = E || 0n;
153
+ break;
154
+ case a.LIDO_STAKE:
155
+ e[0] = E || 0n;
156
+ break;
157
+ case a.LIDO_REQUEST:
158
+ e[1] = E || 0n;
159
+ break;
160
+ case a.LIDO_CLAIM:
161
+ e[1] = E || 0n;
162
+ break;
163
+ case a.PENDLE_TRANSACT:
164
+ e[0] = E || 0n;
165
+ break;
166
+ case a.PENDLE_YT_IN_SWAP:
167
+ e[1] = E || 0n;
168
+ break;
169
+ case a.PENDLE_YT_OUT_SWAP:
170
+ e[0] = E || 0n;
171
+ break;
172
+ case a.PENDLE_PT_SWAP:
173
+ e[1] = E || 0n;
174
+ break;
175
+ case a.PENDLE_MINT:
176
+ e[1] = E || 0n;
177
+ break;
178
+ case a.PENDLE_REDEEM:
179
+ e[2] = E || 0n;
180
+ break;
181
+ case a.PENDLE_CLAIM:
182
+ e[1] = E || 0n;
183
+ break;
184
+ case a.VOLATILE_WITHDRAW:
185
+ e[0] = E || 0n;
186
+ break;
187
+ case a.VOLATILE_SWAP:
188
+ e[1] = E || 0n;
189
+ break;
190
+ case a.PENDLE_LP:
191
+ b !== void 0 && (e[b] = E || 0n);
192
+ break;
193
+ case a.PENDLE_LP_CLAIM:
194
+ e[1] = E || 0n;
195
+ break;
196
+ case a.EMPORIUM:
197
+ break;
198
+ }
199
+ return { flatFees: e, priceOfTransactionInToken: E, feeUnit: t, priceOfTransactionInUSD: p };
200
+ };
201
+ export {
202
+ Z as getFlatFees
203
+ };
@@ -0,0 +1,57 @@
1
+ import "../../types/circom-data.types.js";
2
+ import { ExternalActionId as e } from "../../types/external-action.types.js";
3
+ import { INTERACTION as u, CurveAction as C, ConvexAction as L, BeefyAction as T, LidoAction as s, PendleAction as f, VolatileAction as P, PendleLPAction as R } from "../../types/hinkal.types.js";
4
+ import "../../types/transactions.types.js";
5
+ import "../../types/curve.types.js";
6
+ const m = (r, E) => {
7
+ if (r === e.Transact)
8
+ return u.WITHDRAW;
9
+ if ([e.Uniswap, e.Odos, e.OneInch].includes(
10
+ r
11
+ ))
12
+ return u.SWAP;
13
+ if ((r === e.Curve || r === e.CurveDynamic) && E === C.Deposit)
14
+ return u.CURVE_DEPOSIT;
15
+ if ((r === e.Curve || r === e.CurveDynamic) && [C.WithdrawInt, C.WithdrawUint].includes(E))
16
+ return u.CURVE_WITHDRAW;
17
+ if ((r === e.Curve || r === e.CurveDynamic) && E === C.WithdrawImbalance)
18
+ return u.CURVE_WITHDRAW_INBALANCED;
19
+ if ((r === e.CurveCRV || r === e.CurveCRVRewards) && E === C.Stake || r === e.Convex && E === L.StakeLP)
20
+ return u.STAKING;
21
+ if ((r === e.CurveCRV || r === e.CurveCRVRewards) && E === C.Unstake || r === e.Convex && E === L.UnStakeLP)
22
+ return u.UNSTAKING;
23
+ if ((r === e.CurveCRV || r === e.CurveCRVRewards) && E === C.GetCRV || r === e.Convex && E === L.ClaimRewardsLP)
24
+ return u.CLAIMING;
25
+ if (r === e.Beefy)
26
+ return u.BEEFY;
27
+ if (r === e.BeefyStake && E === T.Stake)
28
+ return u.BEEFY_STAKE;
29
+ if (r === e.BeefyStake && E === T.Unstake)
30
+ return u.BEEFY_UNSTAKE;
31
+ if (r === e.BeefyStake && E === T.GetRewards)
32
+ return u.BEEFY_GET_REWARDS;
33
+ if ((r === e.LidoETH || r === e.LidoMATIC) && E === s.Stake)
34
+ return u.LIDO_STAKE;
35
+ if ((r === e.LidoETHNFT || r === e.LidoMATICNFT) && E === s.Request)
36
+ return u.LIDO_REQUEST;
37
+ if ((r === e.LidoETHNFT || r === e.LidoMATICNFT) && E === s.Claim)
38
+ return u.LIDO_CLAIM;
39
+ if (r === e.Pendle)
40
+ return E === f.SwapFromYt ? u.PENDLE_YT_IN_SWAP : E === f.SwapToYt ? u.PENDLE_YT_OUT_SWAP : E === f.SwapPt ? u.PENDLE_PT_SWAP : E === f.Checkpoint ? u.PENDLE_CLAIM : u.PENDLE_TRANSACT;
41
+ if (r === e.Volatile) {
42
+ if (E === P.Withdraw)
43
+ return u.VOLATILE_WITHDRAW;
44
+ if (E === P.Swap)
45
+ return u.VOLATILE_SWAP;
46
+ } else if (r === e.PendleLP) {
47
+ if (E === R.AddOrRemoveLiquidity)
48
+ return u.PENDLE_LP;
49
+ if (E === R.Checkpoint)
50
+ return u.PENDLE_LP_CLAIM;
51
+ } else if (r === e.Emporium)
52
+ return u.EMPORIUM;
53
+ return u.NONE;
54
+ };
55
+ export {
56
+ m as getInteractionFromAction
57
+ };
@@ -0,0 +1,45 @@
1
+ import { Utxo as s } from "../../data-structures/utxo/Utxo.js";
2
+ import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.js";
3
+ import "ethers";
4
+ import "axios";
5
+ import "../../constants/chains.constants.js";
6
+ import "../../types/circom-data.types.js";
7
+ import "../../types/transactions.types.js";
8
+ import "../../types/curve.types.js";
9
+ import "../../data-structures/crypto-keys/keys.js";
10
+ import "../../data-structures/crypto-keys/encryptDecryptUtxo.js";
11
+ import "../web3/events/getShieldedBalance.js";
12
+ import "../../webworker/workerFactory.js";
13
+ import "../utils/external-action.utils.js";
14
+ import "../../data-structures/custom-token-registry/CustomTokenRegistry.js";
15
+ import "../utils/convertIntegrationProviderToExternalActionId.js";
16
+ import "../../constants/coingecko.constants.js";
17
+ import "../../constants/vite.constants.js";
18
+ import "../utils/userAgent.js";
19
+ import "circomlibjs";
20
+ import "../../constants/reorg-depths.constants.js";
21
+ import "../../constants/kyc.constants.js";
22
+ import "../../data-structures/volatile-helper/VolatileHelper.js";
23
+ import "libsodium-wrappers";
24
+ import "../../constants/contracts.constants.js";
25
+ import "../../constants/axelar.constants.js";
26
+ import "../../constants/rewards.constants.js";
27
+ const b = (i, r, o, m, p) => {
28
+ let t = 0n;
29
+ if (r.forEach((e) => {
30
+ t += e.amount;
31
+ }), o < 0n && t + o < 0n)
32
+ throw Error(n.INSUFFICIENT_FUNDS_TO_TRANSACT);
33
+ return { outputUtxos: [
34
+ new s({
35
+ amount: t + o,
36
+ erc20TokenAddress: r[0].erc20TokenAddress,
37
+ shieldedPrivateKey: i.getShieldedPrivateKey(),
38
+ timeStamp: m,
39
+ tokenId: p
40
+ })
41
+ ] };
42
+ };
43
+ export {
44
+ b as outputUtxoProcessing
45
+ };
@@ -0,0 +1,57 @@
1
+ import "../../constants/chains.constants.js";
2
+ import "../../types/circom-data.types.js";
3
+ import "../../types/transactions.types.js";
4
+ import "../../types/curve.types.js";
5
+ import { getAmountInWei as T } from "../web3/etherFunctions.js";
6
+ import "ethers";
7
+ import "circomlibjs";
8
+ import { getValueFirstNDigit as l } from "../utils/amounts.utils.js";
9
+ import "../../data-structures/crypto-keys/keys.js";
10
+ import "axios";
11
+ import "../../data-structures/crypto-keys/encryptDecryptUtxo.js";
12
+ import "../web3/events/getShieldedBalance.js";
13
+ import "../../webworker/workerFactory.js";
14
+ import "../utils/external-action.utils.js";
15
+ import "../../data-structures/custom-token-registry/CustomTokenRegistry.js";
16
+ import "../utils/convertIntegrationProviderToExternalActionId.js";
17
+ import "../utils/userAgent.js";
18
+ import "../../constants/reorg-depths.constants.js";
19
+ import "../../constants/kyc.constants.js";
20
+ import "../../constants/coingecko.constants.js";
21
+ import { logError as p } from "../../error-handling/logError.js";
22
+ import "../../data-structures/volatile-helper/VolatileHelper.js";
23
+ import "libsodium-wrappers";
24
+ import "../../constants/vite.constants.js";
25
+ import "../../constants/contracts.constants.js";
26
+ import "../../constants/axelar.constants.js";
27
+ import "../../constants/rewards.constants.js";
28
+ import { getGasEstimates as E } from "../../API/getGasEstimates.js";
29
+ const K = async (s, t, e, a, n, c) => {
30
+ let i, o, r;
31
+ try {
32
+ ({
33
+ status: i,
34
+ priceOfTransactionInUSD: o,
35
+ priceOfTransactionInToken: r
36
+ } = await E(
37
+ s,
38
+ t.erc20TokenAddress,
39
+ e,
40
+ a,
41
+ n,
42
+ c
43
+ ));
44
+ } catch (f) {
45
+ p("processGasEstimates error:", f);
46
+ }
47
+ const m = r ? T(t, l(r, t.decimals)) : void 0;
48
+ return p("processGasEstimates: ", {
49
+ status: i,
50
+ priceOfTransactionInUSD: o,
51
+ priceOfTransactionInTokenEstimate: r,
52
+ priceOfTransactionInToken: m
53
+ }), { priceOfTransactionInUSD: o, priceOfTransactionInToken: m };
54
+ };
55
+ export {
56
+ K as processGasEstimates
57
+ };
@@ -0,0 +1,229 @@
1
+ import "../../constants/chains.constants.js";
2
+ import { getAmountAfterRelayAndFlatFees as k, getAmountAfterRelayAndFlatFeesAndSlippage as b, getAmountAfterSlippage as L } from "../../constants/fees.constants.js";
3
+ import "../../constants/contracts.constants.js";
4
+ import "../../constants/kyc.constants.js";
5
+ import "../../constants/vite.constants.js";
6
+ import "../../constants/coingecko.constants.js";
7
+ import "../../constants/axelar.constants.js";
8
+ import "../../constants/rewards.constants.js";
9
+ import "../../constants/reorg-depths.constants.js";
10
+ import { FeeOverTransactionValueError as S } from "../../error-handling/customErrors/FeeOverTransactionValueError.js";
11
+ import { absBigInt as W } from "../utils/amounts.utils.js";
12
+ import "ethers";
13
+ import "axios";
14
+ import "circomlibjs";
15
+ import "../../data-structures/crypto-keys/keys.js";
16
+ import "../../data-structures/crypto-keys/encryptDecryptUtxo.js";
17
+ import { isBeefyDeposit as R } from "../../types/beefy.types.js";
18
+ import "../../types/circom-data.types.js";
19
+ import { INTERACTION as p } from "../../types/hinkal.types.js";
20
+ import { SlippageType as _ } from "../../types/slippage.types.js";
21
+ import "../../types/transactions.types.js";
22
+ import "../../types/curve.types.js";
23
+ import "../web3/events/getShieldedBalance.js";
24
+ import "../utils/external-action.utils.js";
25
+ import "../../data-structures/custom-token-registry/CustomTokenRegistry.js";
26
+ import "../utils/convertIntegrationProviderToExternalActionId.js";
27
+ import { getInteractionFromAction as d } from "./interaction-to-action.js";
28
+ import "../utils/userAgent.js";
29
+ import "../../webworker/workerFactory.js";
30
+ import "libsodium-wrappers";
31
+ import "../../data-structures/volatile-helper/VolatileHelper.js";
32
+ const A = (T, r, E) => {
33
+ const N = W(T) - r;
34
+ if (r < 0n)
35
+ throw new S({
36
+ totalFeeWEI: N,
37
+ feeUnit: E
38
+ });
39
+ return r;
40
+ }, h = ({
41
+ erc20Addresses: T = [],
42
+ amountChanges: r,
43
+ flatFees: E,
44
+ feeUnit: c,
45
+ externalActionId: N,
46
+ action: D,
47
+ gasTokenAddress: w
48
+ }) => {
49
+ const P = d(N, D);
50
+ if (P === p.NONE)
51
+ throw Error("No interaction was choosen");
52
+ switch (P) {
53
+ case p.WITHDRAW: {
54
+ A(
55
+ r[0],
56
+ k(r[0], E[0], !0),
57
+ c
58
+ );
59
+ break;
60
+ }
61
+ case p.SWAP: {
62
+ r[1] = A(
63
+ r[1],
64
+ b(r[1], E[1], _.Swap),
65
+ c
66
+ );
67
+ break;
68
+ }
69
+ case p.CURVE_DEPOSIT: {
70
+ const i = r.length - 1;
71
+ r[i] = A(
72
+ r[i],
73
+ b(r[i], E[i], _.CurveDeposit),
74
+ c
75
+ );
76
+ break;
77
+ }
78
+ case p.CURVE_WITHDRAW:
79
+ E.forEach((i, I) => {
80
+ i > 0n ? r[I] = A(
81
+ r[I],
82
+ b(r[I], i, _.CurveWithdraw),
83
+ c
84
+ ) : i === 0n && r[I] > 0n && I !== E.length - 1 && (r[I] = L(r[I], _.CurveWithdraw));
85
+ });
86
+ break;
87
+ case p.CURVE_WITHDRAW_INBALANCED:
88
+ break;
89
+ case p.STAKING:
90
+ r[0] = A(
91
+ r[0],
92
+ k(r[1], E[1]),
93
+ c
94
+ );
95
+ break;
96
+ case p.UNSTAKING:
97
+ r[1] = A(
98
+ r[1],
99
+ k(r[0], E[0]),
100
+ c
101
+ );
102
+ break;
103
+ case p.CLAIMING:
104
+ r[1] = A(
105
+ r[1],
106
+ k(r[1], E[1]),
107
+ c
108
+ );
109
+ break;
110
+ case p.BEEFY: {
111
+ const i = R(D) ? 1 : 0;
112
+ r[i] = A(
113
+ r[i],
114
+ b(
115
+ r[i],
116
+ E[i],
117
+ _.Beefy
118
+ ),
119
+ c
120
+ );
121
+ break;
122
+ }
123
+ case p.BEEFY_STAKE:
124
+ r[0] = A(
125
+ r[0],
126
+ k(r[1], E[1]),
127
+ c
128
+ );
129
+ break;
130
+ case p.BEEFY_UNSTAKE:
131
+ r[1] = A(
132
+ r[1],
133
+ k(r[0], E[0]),
134
+ c
135
+ );
136
+ break;
137
+ case p.BEEFY_GET_REWARDS:
138
+ r[1] = A(
139
+ r[1],
140
+ k(r[1], E[1]),
141
+ c
142
+ );
143
+ break;
144
+ case p.LIDO_STAKE:
145
+ r[0] = A(
146
+ r[0],
147
+ k(r[0], E[0]),
148
+ c
149
+ );
150
+ break;
151
+ case p.LIDO_REQUEST:
152
+ A(
153
+ r[1],
154
+ k(r[1], E[1]),
155
+ c
156
+ );
157
+ break;
158
+ case p.LIDO_CLAIM:
159
+ r[1] = A(
160
+ r[1],
161
+ k(r[1], E[1]),
162
+ c
163
+ );
164
+ break;
165
+ case p.PENDLE_TRANSACT:
166
+ r[0] < 0n && A(
167
+ r[0],
168
+ k(r[0], E[0], !0),
169
+ c
170
+ );
171
+ break;
172
+ case p.PENDLE_YT_IN_SWAP:
173
+ r[1] = A(
174
+ r[1],
175
+ k(r[1], E[1]),
176
+ c
177
+ );
178
+ break;
179
+ case p.PENDLE_YT_OUT_SWAP:
180
+ break;
181
+ case p.PENDLE_PT_SWAP:
182
+ r[1] = A(
183
+ r[1],
184
+ k(r[1], E[1]),
185
+ c
186
+ );
187
+ break;
188
+ case p.PENDLE_MINT:
189
+ r[1] = A(
190
+ r[1],
191
+ k(r[1], E[1]),
192
+ c
193
+ );
194
+ break;
195
+ case p.PENDLE_REDEEM:
196
+ r[2] = A(
197
+ r[2],
198
+ k(r[2], E[2]),
199
+ c
200
+ );
201
+ break;
202
+ case p.PENDLE_CLAIM:
203
+ r[1] = A(
204
+ r[1],
205
+ k(r[1], E[1]),
206
+ c
207
+ );
208
+ break;
209
+ case p.PENDLE_LP: {
210
+ const i = r.findIndex((I) => I > 0n);
211
+ r[i] = A(
212
+ r[i],
213
+ b(r[i], E[i], _.Pendle)
214
+ );
215
+ break;
216
+ }
217
+ case p.PENDLE_LP_CLAIM:
218
+ r[1] = A(
219
+ r[1],
220
+ k(r[1], E[1]),
221
+ c
222
+ );
223
+ break;
224
+ }
225
+ return r;
226
+ };
227
+ export {
228
+ h as processAmountChanges
229
+ };
@@ -0,0 +1,19 @@
1
+ import { ethers as e, BigNumber as d } from "ethers";
2
+ const p = (t, i, s, r, y) => {
3
+ let a = new Uint8Array(), l = new Uint8Array();
4
+ typeof t == "object" && "address" in t ? (a = e.utils.arrayify(t.address), i && (l = e.utils.arrayify(t.interface.encodeFunctionData(i, s)))) : a = e.utils.arrayify(t);
5
+ const n = e.utils.arrayify([r ? 1 : 0]), o = e.utils.zeroPad(e.utils.arrayify(d.from(y ?? 0n)), 16), u = e.utils.concat([a, n, o, l]);
6
+ return e.utils.hexlify(u);
7
+ }, m = (t, i) => e.utils.defaultAbiCoder.encode(
8
+ ["tuple(bytes32 walletSalt, bytes[] ops)"],
9
+ [
10
+ {
11
+ walletSalt: i ?? e.utils.hexlify(new Uint8Array(32)),
12
+ ops: t
13
+ }
14
+ ]
15
+ );
16
+ export {
17
+ p as emporiumOp,
18
+ m as encodeEmporiumMetadata
19
+ };
@@ -0,0 +1,24 @@
1
+ import { abi as m } from "../../externalABIs/ERC20.json.js";
2
+ import { abi as s } from "../../externalABIs/ISwapRouter.json.js";
3
+ import { ethers as p } from "ethers";
4
+ import { emporiumOp as b } from "./emporium.helpers.js";
5
+ var f = /* @__PURE__ */ ((r) => (r[r.Erc20Token = 0] = "Erc20Token", r[r.Uniswap = 1] = "Uniswap", r))(f || {});
6
+ const E = (r, t, a, i, c, e) => {
7
+ let o = "";
8
+ switch (r) {
9
+ case 0:
10
+ o = m;
11
+ break;
12
+ case 1:
13
+ o = s;
14
+ break;
15
+ }
16
+ if (!o)
17
+ throw Error("No ABI match in produceOp");
18
+ const n = new p.Contract(t, o);
19
+ return b(n, a, i, c, e);
20
+ };
21
+ export {
22
+ f as OpType,
23
+ E as produceOp
24
+ };
@@ -0,0 +1,41 @@
1
+ import { getNonLocalhostChainId as r, chainIds as t } from "../../constants/chains.constants.js";
2
+ import "../../types/circom-data.types.js";
3
+ import "../../types/transactions.types.js";
4
+ import "../../types/curve.types.js";
5
+ import "ethers";
6
+ import "circomlibjs";
7
+ import "../../data-structures/crypto-keys/keys.js";
8
+ import "axios";
9
+ import "../../data-structures/crypto-keys/encryptDecryptUtxo.js";
10
+ import "../web3/events/getShieldedBalance.js";
11
+ import "../../webworker/workerFactory.js";
12
+ import "../utils/external-action.utils.js";
13
+ import "../../data-structures/custom-token-registry/CustomTokenRegistry.js";
14
+ import "../utils/convertIntegrationProviderToExternalActionId.js";
15
+ import "../../constants/coingecko.constants.js";
16
+ import "../../constants/vite.constants.js";
17
+ import "../utils/userAgent.js";
18
+ import "../../constants/reorg-depths.constants.js";
19
+ import "../../constants/kyc.constants.js";
20
+ import "../../data-structures/volatile-helper/VolatileHelper.js";
21
+ import "libsodium-wrappers";
22
+ import "../../constants/contracts.constants.js";
23
+ import "../../constants/axelar.constants.js";
24
+ import "../../constants/rewards.constants.js";
25
+ const N = (o) => {
26
+ switch (r(o)) {
27
+ case t.polygon:
28
+ return "0x4257ea7637c355f81616050cbb6a9b709fd72683";
29
+ case t.arbMainnet:
30
+ return "0xb952a807345991bd529fdded05009f5e80fe8f45";
31
+ case t.ethMainnet:
32
+ return "0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B";
33
+ case t.optimism:
34
+ return "0x81ab7e0d570b01411fcc4afd3d50ec8c241cb74b";
35
+ default:
36
+ return "0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B";
37
+ }
38
+ };
39
+ export {
40
+ N as getCVX
41
+ };