@hinkal/common 0.2.13 → 0.2.14

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 (656) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +10 -3
  3. package/API/API.mjs +42 -31
  4. package/API/ai-calls.cjs +1 -0
  5. package/API/ai-calls.d.ts +9 -0
  6. package/API/ai-calls.mjs +13 -0
  7. package/API/callCurveAPI.cjs +1 -1
  8. package/API/callCurveAPI.mjs +28 -22
  9. package/API/callRelayer.d.ts +3 -2
  10. package/API/dataServerCalls.cjs +1 -1
  11. package/API/dataServerCalls.d.ts +4 -0
  12. package/API/dataServerCalls.mjs +11 -7
  13. package/API/duneAPI.cjs +1 -1
  14. package/API/duneAPI.mjs +7 -4
  15. package/API/fetchCommitmentsCache.cjs +1 -1
  16. package/API/fetchCommitmentsCache.d.ts +9 -1
  17. package/API/fetchCommitmentsCache.mjs +6 -5
  18. package/API/getGasEstimates.cjs +1 -1
  19. package/API/getGasEstimates.d.ts +2 -1
  20. package/API/getGasEstimates.mjs +10 -9
  21. package/API/getServerURL.d.ts +1 -1
  22. package/API/index.d.ts +2 -0
  23. package/API/is-tx-stateless.cjs +1 -0
  24. package/API/is-tx-stateless.d.ts +3 -0
  25. package/API/is-tx-stateless.mjs +9 -0
  26. package/API/rewardsPointsCalls.cjs +1 -1
  27. package/API/rewardsPointsCalls.d.ts +3 -3
  28. package/API/rewardsPointsCalls.mjs +1 -3
  29. package/API/tenderly.api.cjs +1 -0
  30. package/API/tenderly.api.d.ts +12 -0
  31. package/API/tenderly.api.mjs +47 -0
  32. package/API/token-calls.cjs +1 -0
  33. package/API/token-calls.d.ts +2 -0
  34. package/API/token-calls.mjs +9 -0
  35. package/API/userVerifyTransactions.cjs +1 -1
  36. package/API/userVerifyTransactions.d.ts +6 -7
  37. package/API/userVerifyTransactions.mjs +13 -14
  38. package/constants/addresses.constants.cjs +1 -0
  39. package/constants/addresses.constants.d.ts +16 -0
  40. package/constants/addresses.constants.mjs +50 -0
  41. package/constants/assets.constants.cjs +1 -1
  42. package/constants/assets.constants.mjs +13 -13
  43. package/constants/axelar.constants.cjs +1 -1
  44. package/constants/axelar.constants.mjs +5 -5
  45. package/constants/balance.constants.cjs +1 -0
  46. package/constants/balance.constants.d.ts +1 -0
  47. package/constants/balance.constants.mjs +4 -0
  48. package/constants/chains.constants.cjs +1 -1
  49. package/constants/chains.constants.d.ts +0 -2
  50. package/constants/chains.constants.mjs +28 -40
  51. package/constants/contracts.constants.cjs +1 -1
  52. package/constants/contracts.constants.mjs +144 -140
  53. package/constants/conversion.constants.cjs +1 -0
  54. package/constants/conversion.constants.d.ts +1 -0
  55. package/constants/conversion.constants.mjs +4 -0
  56. package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  57. package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +846 -11
  58. package/constants/deploy-data/deploy-data-avalanche.json.cjs +1 -1
  59. package/constants/deploy-data/deploy-data-avalanche.json.mjs +848 -13
  60. package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  61. package/constants/deploy-data/deploy-data-base.json.mjs +852 -17
  62. package/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  63. package/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +855 -20
  64. package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  65. package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +850 -15
  66. package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  67. package/constants/deploy-data/deploy-data-localhost.json.mjs +3208 -1550
  68. package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  69. package/constants/deploy-data/deploy-data-optimism.json.mjs +10010 -3429
  70. package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  71. package/constants/deploy-data/deploy-data-polygon.json.mjs +844 -9
  72. package/constants/fees.constants.cjs +1 -1
  73. package/constants/fees.constants.d.ts +5 -3
  74. package/constants/fees.constants.mjs +22 -19
  75. package/constants/index.d.ts +6 -0
  76. package/constants/kyc.constants.cjs +1 -1
  77. package/constants/kyc.constants.mjs +30 -18
  78. package/constants/mediaUrls.constants.cjs +1 -0
  79. package/constants/mediaUrls.constants.d.ts +23 -0
  80. package/constants/mediaUrls.constants.mjs +26 -0
  81. package/constants/permit2.constants.cjs +1 -0
  82. package/constants/permit2.constants.d.ts +2 -0
  83. package/constants/permit2.constants.mjs +5 -0
  84. package/constants/protocol.constants.cjs +1 -1
  85. package/constants/protocol.constants.d.ts +6 -0
  86. package/constants/protocol.constants.mjs +27 -15
  87. package/constants/rewards.constants.cjs +1 -1
  88. package/constants/rewards.constants.mjs +14 -12
  89. package/constants/server.constants.cjs +1 -1
  90. package/constants/server.constants.d.ts +14 -6
  91. package/constants/server.constants.mjs +24 -16
  92. package/constants/token-data/ERC20Registry.cjs +1 -1
  93. package/constants/token-data/ERC20Registry.mjs +49 -48
  94. package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
  95. package/constants/token-data/arbMainnetRegistry.json.mjs +89 -86
  96. package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
  97. package/constants/token-data/arbMainnetRegistryFixed.json.mjs +79 -76
  98. package/constants/token-data/avalancheRegistry.json.cjs +1 -1
  99. package/constants/token-data/avalancheRegistry.json.mjs +51 -48
  100. package/constants/token-data/avalancheRegistryFixed.json.cjs +1 -1
  101. package/constants/token-data/avalancheRegistryFixed.json.mjs +51 -48
  102. package/constants/token-data/baseRegistry.json.cjs +1 -1
  103. package/constants/token-data/baseRegistry.json.mjs +34 -31
  104. package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
  105. package/constants/token-data/baseRegistryFixed.json.mjs +31 -28
  106. package/constants/token-data/bnbMainnetRegistry.json.cjs +1 -1
  107. package/constants/token-data/bnbMainnetRegistry.json.mjs +67 -64
  108. package/constants/token-data/bnbMainnetRegistryFixed.json.cjs +1 -1
  109. package/constants/token-data/bnbMainnetRegistryFixed.json.mjs +67 -64
  110. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  111. package/constants/token-data/ethMainnetRegistry.json.mjs +229 -226
  112. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  113. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +193 -190
  114. package/constants/token-data/index.cjs +1 -0
  115. package/constants/token-data/index.d.ts +1063 -15
  116. package/constants/token-data/index.mjs +34 -0
  117. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  118. package/constants/token-data/localhostRegistry.json.mjs +296 -276
  119. package/constants/token-data/optimismRegistry.json.cjs +1 -1
  120. package/constants/token-data/optimismRegistry.json.mjs +703 -180
  121. package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
  122. package/constants/token-data/optimismRegistryFixed.json.mjs +679 -173
  123. package/constants/token-data/polygonRegistry.json.cjs +1 -1
  124. package/constants/token-data/polygonRegistry.json.mjs +110 -107
  125. package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
  126. package/constants/token-data/polygonRegistryFixed.json.mjs +102 -99
  127. package/constants/token.limits.constants.cjs +1 -0
  128. package/constants/token.limits.constants.d.ts +5 -0
  129. package/constants/token.limits.constants.mjs +30 -0
  130. package/constants/vite.constants.cjs +1 -1
  131. package/constants/vite.constants.d.ts +5 -0
  132. package/constants/vite.constants.mjs +26 -22
  133. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  134. package/data-structures/Hinkal/Hinkal.d.ts +48 -20
  135. package/data-structures/Hinkal/Hinkal.mjs +263 -85
  136. package/data-structures/Hinkal/IHinkal.d.ts +37 -10
  137. package/data-structures/Hinkal/hinkalActionBeefy.cjs +1 -1
  138. package/data-structures/Hinkal/hinkalActionBeefy.mjs +25 -23
  139. package/data-structures/Hinkal/hinkalActionConvex.cjs +1 -1
  140. package/data-structures/Hinkal/hinkalActionConvex.mjs +11 -9
  141. package/data-structures/Hinkal/hinkalActionCurve.cjs +1 -1
  142. package/data-structures/Hinkal/hinkalActionCurve.mjs +18 -16
  143. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
  144. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +3 -0
  145. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +61 -0
  146. package/data-structures/Hinkal/hinkalActionLidoEth.cjs +1 -1
  147. package/data-structures/Hinkal/hinkalActionLidoEth.mjs +24 -22
  148. package/data-structures/Hinkal/hinkalActionPendle.cjs +1 -1
  149. package/data-structures/Hinkal/hinkalActionPendle.d.ts +1 -1
  150. package/data-structures/Hinkal/hinkalActionPendle.mjs +17 -15
  151. package/data-structures/Hinkal/hinkalActionPendleLP.cjs +1 -1
  152. package/data-structures/Hinkal/hinkalActionPendleLP.mjs +29 -26
  153. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -0
  154. package/data-structures/Hinkal/hinkalActionReceive.d.ts +4 -0
  155. package/data-structures/Hinkal/hinkalActionReceive.mjs +39 -0
  156. package/data-structures/Hinkal/hinkalActionStake.cjs +1 -1
  157. package/data-structures/Hinkal/hinkalActionStake.d.ts +1 -1
  158. package/data-structures/Hinkal/hinkalActionStake.mjs +15 -11
  159. package/data-structures/Hinkal/hinkalActionVolatile.cjs +1 -1
  160. package/data-structures/Hinkal/hinkalActionVolatile.d.ts +1 -1
  161. package/data-structures/Hinkal/hinkalActionVolatile.mjs +31 -26
  162. package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
  163. package/data-structures/Hinkal/hinkalApprove.d.ts +2 -0
  164. package/data-structures/Hinkal/hinkalApprove.mjs +120 -0
  165. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -0
  166. package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +3 -0
  167. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +12 -0
  168. package/data-structures/Hinkal/hinkalDeploySubAccount.cjs +1 -0
  169. package/data-structures/Hinkal/hinkalDeploySubAccount.d.ts +3 -0
  170. package/data-structures/Hinkal/hinkalDeploySubAccount.mjs +15 -0
  171. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  172. package/data-structures/Hinkal/hinkalDeposit.d.ts +3 -2
  173. package/data-structures/Hinkal/hinkalDeposit.mjs +116 -52
  174. package/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +1 -0
  175. package/data-structures/Hinkal/hinkalGetRecipientInfo.d.ts +2 -0
  176. package/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +10 -0
  177. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  178. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +6 -17
  179. package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
  180. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +2 -0
  181. package/data-structures/Hinkal/hinkalInsideTransact.mjs +111 -0
  182. package/data-structures/Hinkal/hinkalMultiSend.cjs +1 -0
  183. package/data-structures/Hinkal/hinkalMultiSend.d.ts +3 -0
  184. package/data-structures/Hinkal/hinkalMultiSend.mjs +13 -0
  185. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  186. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -1
  187. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +83 -37
  188. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -0
  189. package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -0
  190. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +46 -0
  191. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -0
  192. package/data-structures/Hinkal/hinkalProxySwap.d.ts +5 -0
  193. package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -0
  194. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -0
  195. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +3 -0
  196. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +20 -0
  197. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  198. package/data-structures/Hinkal/hinkalSwap.d.ts +2 -1
  199. package/data-structures/Hinkal/hinkalSwap.mjs +69 -60
  200. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  201. package/data-structures/Hinkal/hinkalWithdraw.d.ts +3 -1
  202. package/data-structures/Hinkal/hinkalWithdraw.mjs +77 -50
  203. package/data-structures/Hinkal/index.d.ts +1 -0
  204. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  205. package/data-structures/Hinkal/resetMerkleTrees.mjs +18 -11
  206. package/data-structures/IndexedDB/activity-db.cjs +1 -0
  207. package/data-structures/IndexedDB/activity-db.d.ts +16 -0
  208. package/data-structures/IndexedDB/activity-db.mjs +124 -0
  209. package/data-structures/IndexedDB/balances-db.cjs +1 -0
  210. package/data-structures/IndexedDB/balances-db.d.ts +13 -0
  211. package/data-structures/IndexedDB/balances-db.mjs +75 -0
  212. package/data-structures/IndexedDB/contact-db.cjs +1 -0
  213. package/data-structures/IndexedDB/contact-db.d.ts +11 -0
  214. package/data-structures/IndexedDB/contact-db.mjs +44 -0
  215. package/data-structures/IndexedDB/index.d.ts +5 -0
  216. package/data-structures/IndexedDB/prices-db.cjs +1 -0
  217. package/data-structures/IndexedDB/prices-db.d.ts +9 -0
  218. package/data-structures/IndexedDB/prices-db.mjs +62 -0
  219. package/data-structures/IndexedDB/private-balances-db.cjs +1 -0
  220. package/data-structures/IndexedDB/private-balances-db.d.ts +9 -0
  221. package/data-structures/IndexedDB/private-balances-db.mjs +28 -0
  222. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  223. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +47 -44
  224. package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -0
  225. package/data-structures/TokenDBs/PrivateTokensDB.d.ts +11 -0
  226. package/data-structures/TokenDBs/PrivateTokensDB.mjs +53 -0
  227. package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -0
  228. package/data-structures/TokenDBs/PublicTokensDB.d.ts +13 -0
  229. package/data-structures/TokenDBs/PublicTokensDB.mjs +81 -0
  230. package/data-structures/TokenDBs/index.d.ts +2 -0
  231. package/data-structures/cacheDevices/AttachableMemoryCacheDevice.cjs +1 -0
  232. package/data-structures/cacheDevices/AttachableMemoryCacheDevice.d.ts +8 -0
  233. package/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +28 -0
  234. package/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
  235. package/data-structures/cacheDevices/BaseCacheDevice.d.ts +9 -6
  236. package/data-structures/cacheDevices/BaseCacheDevice.mjs +13 -4
  237. package/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  238. package/data-structures/cacheDevices/FileCacheDevice.d.ts +1 -0
  239. package/data-structures/cacheDevices/FileCacheDevice.mjs +7 -3
  240. package/data-structures/cacheDevices/LocalStorageCacheDevice.cjs +1 -1
  241. package/data-structures/cacheDevices/LocalStorageCacheDevice.d.ts +2 -1
  242. package/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +10 -5
  243. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  244. package/data-structures/crypto-keys/decodeUTXO.mjs +13 -12
  245. package/data-structures/crypto-keys/keys.cjs +1 -1
  246. package/data-structures/crypto-keys/keys.d.ts +13 -3
  247. package/data-structures/crypto-keys/keys.mjs +45 -34
  248. package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
  249. package/data-structures/custom-token-registry/CustomTokenRegistry.d.ts +2 -3
  250. package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +17 -21
  251. package/data-structures/event-service/AbstractAccessTokenSnapshotService.cjs +1 -1
  252. package/data-structures/event-service/AbstractAccessTokenSnapshotService.mjs +15 -29
  253. package/data-structures/event-service/AbstractApprovalsSnapshotService.cjs +1 -0
  254. package/data-structures/event-service/AbstractApprovalsSnapshotService.d.ts +30 -0
  255. package/data-structures/event-service/AbstractApprovalsSnapshotService.mjs +104 -0
  256. package/data-structures/event-service/AbstractCommitmentsSnapshotService.cjs +1 -1
  257. package/data-structures/event-service/AbstractCommitmentsSnapshotService.mjs +24 -37
  258. package/data-structures/event-service/AbstractEventService.cjs +1 -1
  259. package/data-structures/event-service/AbstractEventService.d.ts +1 -1
  260. package/data-structures/event-service/AbstractEventService.mjs +15 -15
  261. package/data-structures/event-service/index.d.ts +1 -0
  262. package/data-structures/index.d.ts +2 -0
  263. package/data-structures/merkle-tree/MerkleTree.cjs +1 -1
  264. package/data-structures/merkle-tree/MerkleTree.d.ts +6 -1
  265. package/data-structures/merkle-tree/MerkleTree.mjs +79 -65
  266. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +1 -0
  267. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +3 -0
  268. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +13 -0
  269. package/data-structures/merkle-tree/index.d.ts +1 -0
  270. package/data-structures/provider-adapter/IProviderAdapter.d.ts +2 -0
  271. package/data-structures/snapshot/ClientAccessTokenSnapshotService.cjs +1 -1
  272. package/data-structures/snapshot/ClientAccessTokenSnapshotService.mjs +3 -2
  273. package/data-structures/snapshot/ClientApprovalsSnapshotService.cjs +1 -0
  274. package/data-structures/snapshot/ClientApprovalsSnapshotService.d.ts +8 -0
  275. package/data-structures/snapshot/ClientApprovalsSnapshotService.mjs +23 -0
  276. package/data-structures/snapshot/ClientCommitmentsSnapshotService.cjs +1 -1
  277. package/data-structures/snapshot/ClientCommitmentsSnapshotService.mjs +3 -2
  278. package/data-structures/snapshot/ClientNullifierSnapshotService.cjs +1 -1
  279. package/data-structures/snapshot/ClientNullifierSnapshotService.mjs +6 -5
  280. package/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  281. package/data-structures/token-price-fetcher/TokenChecker.d.ts +1 -0
  282. package/data-structures/token-price-fetcher/TokenChecker.mjs +4 -2
  283. package/data-structures/transactions-manager/TransactionsManager.cjs +1 -1
  284. package/data-structures/transactions-manager/TransactionsManager.d.ts +8 -6
  285. package/data-structures/transactions-manager/TransactionsManager.mjs +124 -122
  286. package/data-structures/transactions-manager/history/getBeefyData.cjs +1 -1
  287. package/data-structures/transactions-manager/history/getBeefyData.mjs +3 -2
  288. package/data-structures/transactions-manager/history/getConvexData.cjs +1 -1
  289. package/data-structures/transactions-manager/history/getConvexData.mjs +3 -2
  290. package/data-structures/transactions-manager/history/getCurveData.cjs +1 -1
  291. package/data-structures/transactions-manager/history/getCurveData.mjs +3 -2
  292. package/data-structures/transactions-manager/history/getLidoData.cjs +1 -1
  293. package/data-structures/transactions-manager/history/getLidoData.mjs +3 -2
  294. package/data-structures/transactions-manager/history/getPendleData.cjs +1 -1
  295. package/data-structures/transactions-manager/history/getPendleData.mjs +13 -12
  296. package/data-structures/transactions-manager/history/getTxDetails.cjs +1 -1
  297. package/data-structures/transactions-manager/history/getTxDetails.mjs +22 -20
  298. package/data-structures/transactions-manager/history/getVolatileData.cjs +1 -1
  299. package/data-structures/transactions-manager/history/getVolatileData.mjs +11 -10
  300. package/data-structures/transactions-manager/history/history.types.cjs +1 -1
  301. package/data-structures/transactions-manager/history/history.types.mjs +4 -2
  302. package/data-structures/utxo/Utxo.cjs +1 -1
  303. package/data-structures/utxo/Utxo.d.ts +3 -3
  304. package/data-structures/utxo/Utxo.mjs +8 -7
  305. package/error-handling/error-codes.constants.cjs +2 -2
  306. package/error-handling/error-codes.constants.d.ts +22 -1
  307. package/error-handling/error-codes.constants.mjs +129 -112
  308. package/error-handling/get-error.message.cjs +1 -1
  309. package/error-handling/get-error.message.mjs +29 -25
  310. package/error-handling/index.d.ts +1 -0
  311. package/error-handling/logger.cjs +1 -0
  312. package/error-handling/logger.d.ts +5 -0
  313. package/error-handling/logger.mjs +16 -0
  314. package/error-handling/types.cjs +1 -1
  315. package/error-handling/types.d.ts +3 -1
  316. package/error-handling/types.mjs +2 -2
  317. package/externalABIs/BabPassport.json.cjs +1 -1
  318. package/externalABIs/BabPassport.json.mjs +8 -3
  319. package/externalABIs/BeefyRouterAbi.json.cjs +1 -1
  320. package/externalABIs/BeefyRouterAbi.json.mjs +5 -2
  321. package/externalABIs/BeefyStrategyAbi.json.cjs +1 -1
  322. package/externalABIs/BeefyStrategyAbi.json.mjs +5 -2
  323. package/externalABIs/BeefyVaultAbi.json.cjs +1 -1
  324. package/externalABIs/BeefyVaultAbi.json.mjs +5 -2
  325. package/externalABIs/BeefyZapAbi.json.cjs +1 -1
  326. package/externalABIs/BeefyZapAbi.json.mjs +5 -2
  327. package/externalABIs/BeefyZapOneInchAbi.json.cjs +1 -1
  328. package/externalABIs/BeefyZapOneInchAbi.json.mjs +5 -2
  329. package/externalABIs/ConvexBoosterAbi.json.cjs +1 -1
  330. package/externalABIs/ConvexBoosterAbi.json.mjs +5 -2
  331. package/externalABIs/ConvexBoosterAbiMainnet.json.cjs +1 -1
  332. package/externalABIs/ConvexBoosterAbiMainnet.json.mjs +5 -2
  333. package/externalABIs/ConvexRewardPoolAbi.json.cjs +1 -1
  334. package/externalABIs/ConvexRewardPoolAbi.json.mjs +5 -2
  335. package/externalABIs/CurveReadingWrapperAbi.json.cjs +1 -1
  336. package/externalABIs/CurveReadingWrapperAbi.json.mjs +5 -2
  337. package/externalABIs/CurveWrappedMainPool.json.cjs +1 -1
  338. package/externalABIs/CurveWrappedMainPool.json.mjs +5 -2
  339. package/externalABIs/CurveZap.json.cjs +1 -1
  340. package/externalABIs/CurveZap.json.mjs +5 -2
  341. package/externalABIs/CvxCrvUtilities.json.cjs +1 -1
  342. package/externalABIs/CvxCrvUtilities.json.mjs +5 -2
  343. package/externalABIs/ERC20.json.cjs +1 -1
  344. package/externalABIs/ERC20.json.mjs +20 -3
  345. package/externalABIs/GalxePassport.json.cjs +1 -1
  346. package/externalABIs/GalxePassport.json.mjs +8 -3
  347. package/externalABIs/IQuoterV2.json.cjs +1 -1
  348. package/externalABIs/IQuoterV2.json.mjs +20 -3
  349. package/externalABIs/ISwapRouter.json.cjs +1 -1
  350. package/externalABIs/ISwapRouter.json.mjs +5 -2
  351. package/externalABIs/IUniswapV3Factory.json.cjs +1 -1
  352. package/externalABIs/IUniswapV3Factory.json.mjs +20 -3
  353. package/externalABIs/IUniswapV3Pool.json.cjs +1 -1
  354. package/externalABIs/IUniswapV3Pool.json.mjs +20 -3
  355. package/externalABIs/PendleRouterAbi.json.cjs +1 -1
  356. package/externalABIs/PendleRouterAbi.json.mjs +5 -2
  357. package/externalABIs/UniswapV2PoolAbi.json.cjs +1 -1
  358. package/externalABIs/UniswapV2PoolAbi.json.mjs +16 -3
  359. package/externalABIs/index.cjs +1 -0
  360. package/externalABIs/index.d.ts +307 -11
  361. package/externalABIs/index.mjs +23 -0
  362. package/externalABIs/transactionsProver.json.cjs +1 -1
  363. package/externalABIs/transactionsProver.json.mjs +20 -3
  364. package/functions/kyc/zkMeHelper.cjs +1 -1
  365. package/functions/kyc/zkMeHelper.d.ts +0 -1
  366. package/functions/kyc/zkMeHelper.mjs +8 -11
  367. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -0
  368. package/functions/pre-transaction/getExternalSwapAddress.d.ts +3 -0
  369. package/functions/pre-transaction/getExternalSwapAddress.mjs +26 -0
  370. package/functions/pre-transaction/getFeeStructure.cjs +1 -0
  371. package/functions/pre-transaction/getFeeStructure.d.ts +4 -0
  372. package/functions/pre-transaction/getFeeStructure.mjs +30 -0
  373. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  374. package/functions/pre-transaction/getFlatFees.d.ts +3 -7
  375. package/functions/pre-transaction/getFlatFees.mjs +52 -46
  376. package/functions/pre-transaction/getSignatureDataForTransact.cjs +1 -0
  377. package/functions/pre-transaction/getSignatureDataForTransact.d.ts +3 -0
  378. package/functions/pre-transaction/getSignatureDataForTransact.mjs +6 -0
  379. package/functions/pre-transaction/index.d.ts +1 -0
  380. package/functions/pre-transaction/interaction-to-action.cjs +1 -1
  381. package/functions/pre-transaction/interaction-to-action.mjs +3 -2
  382. package/functions/pre-transaction/merge-with-fee-structure.cjs +1 -0
  383. package/functions/pre-transaction/merge-with-fee-structure.d.ts +2 -0
  384. package/functions/pre-transaction/merge-with-fee-structure.mjs +25 -0
  385. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -0
  386. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +16 -0
  387. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +42 -0
  388. package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  389. package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  390. package/functions/pre-transaction/outputUtxoProcessing.mjs +19 -30
  391. package/functions/pre-transaction/process-gas-estimates.cjs +1 -1
  392. package/functions/pre-transaction/process-gas-estimates.d.ts +2 -2
  393. package/functions/pre-transaction/process-gas-estimates.mjs +17 -27
  394. package/functions/pre-transaction/processAmountChanges.cjs +1 -1
  395. package/functions/pre-transaction/processAmountChanges.mjs +34 -23
  396. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -0
  397. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +6 -0
  398. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +7 -0
  399. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  400. package/functions/private-wallet/emporium.helpers.d.ts +9 -1
  401. package/functions/private-wallet/emporium.helpers.mjs +117 -22
  402. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -0
  403. package/functions/private-wallet/emporium.swap.helpers.d.ts +5 -0
  404. package/functions/private-wallet/emporium.swap.helpers.mjs +92 -0
  405. package/functions/private-wallet/index.d.ts +1 -0
  406. package/functions/private-wallet/opProducer.cjs +1 -1
  407. package/functions/private-wallet/opProducer.mjs +9 -10
  408. package/functions/private-wallet/smartContractWalletCalculator.cjs +1 -1
  409. package/functions/private-wallet/smartContractWalletCalculator.d.ts +5 -1
  410. package/functions/private-wallet/smartContractWalletCalculator.mjs +22 -17
  411. package/functions/protocols/convex.protocols.cjs +1 -1
  412. package/functions/protocols/convex.protocols.mjs +11 -8
  413. package/functions/protocols/pendle.helpers.cjs +1 -1
  414. package/functions/protocols/pendle.helpers.mjs +20 -15
  415. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  416. package/functions/snarkjs/common.snarkjs.d.ts +8 -5
  417. package/functions/snarkjs/common.snarkjs.mjs +177 -87
  418. package/functions/snarkjs/constant.cjs +1 -1
  419. package/functions/snarkjs/constant.d.ts +223 -1
  420. package/functions/snarkjs/constant.mjs +315 -94
  421. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  422. package/functions/snarkjs/constructEmporiumProof.d.ts +6 -3
  423. package/functions/snarkjs/constructEmporiumProof.mjs +148 -84
  424. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  425. package/functions/snarkjs/constructGeneralZkProof.d.ts +5 -3
  426. package/functions/snarkjs/constructGeneralZkProof.mjs +142 -86
  427. package/functions/snarkjs/generateCircomData.cjs +1 -1
  428. package/functions/snarkjs/generateCircomData.d.ts +3 -2
  429. package/functions/snarkjs/generateCircomData.mjs +33 -35
  430. package/functions/snarkjs/generateZkProof.cjs +1 -1
  431. package/functions/snarkjs/generateZkProof.d.ts +2 -2
  432. package/functions/snarkjs/generateZkProof.mjs +4 -15
  433. package/functions/snarkjs/generateZkProofEnclave.cjs +1 -0
  434. package/functions/snarkjs/generateZkProofEnclave.d.ts +6 -0
  435. package/functions/snarkjs/generateZkProofEnclave.mjs +26 -0
  436. package/functions/snarkjs/generateZkProofSelf.cjs +1 -0
  437. package/functions/snarkjs/generateZkProofSelf.d.ts +5 -0
  438. package/functions/snarkjs/generateZkProofSelf.mjs +17 -0
  439. package/functions/snarkjs/getOriginalSender.cjs +1 -0
  440. package/functions/snarkjs/getOriginalSender.d.ts +1 -0
  441. package/functions/snarkjs/getOriginalSender.mjs +5 -0
  442. package/functions/snarkjs/getZKFiles.cjs +1 -1
  443. package/functions/snarkjs/getZKFiles.d.ts +3 -2
  444. package/functions/snarkjs/getZKFiles.mjs +14 -5
  445. package/functions/utils/addresses.cjs +1 -0
  446. package/functions/utils/addresses.d.ts +4 -0
  447. package/functions/utils/addresses.mjs +20 -0
  448. package/functions/utils/amounts.utils.cjs +1 -1
  449. package/functions/utils/amounts.utils.d.ts +4 -1
  450. package/functions/utils/amounts.utils.mjs +29 -27
  451. package/functions/utils/arraysMatch.cjs +1 -0
  452. package/functions/utils/arraysMatch.d.ts +1 -0
  453. package/functions/utils/arraysMatch.mjs +4 -0
  454. package/functions/utils/axelar.utils.cjs +1 -1
  455. package/functions/utils/axelar.utils.d.ts +1 -0
  456. package/functions/utils/axelar.utils.mjs +32 -9
  457. package/functions/utils/cacheDevice.utils.cjs +1 -1
  458. package/functions/utils/cacheDevice.utils.mjs +11 -8
  459. package/functions/utils/cacheFunctions.cjs +1 -1
  460. package/functions/utils/cacheFunctions.d.ts +10 -7
  461. package/functions/utils/cacheFunctions.mjs +62 -39
  462. package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -0
  463. package/functions/utils/convertEmporiumOpToCallInfo.d.ts +2 -0
  464. package/functions/utils/convertEmporiumOpToCallInfo.mjs +10 -0
  465. package/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
  466. package/functions/utils/convertIntegrationProviderToExternalActionId.d.ts +2 -1
  467. package/functions/utils/convertIntegrationProviderToExternalActionId.mjs +7 -10
  468. package/functions/utils/encodeTokenWithId.cjs +1 -0
  469. package/functions/utils/encodeTokenWithId.d.ts +2 -0
  470. package/functions/utils/encodeTokenWithId.mjs +4 -0
  471. package/functions/utils/encryptInputForEnclave.cjs +1 -0
  472. package/functions/utils/encryptInputForEnclave.d.ts +8 -0
  473. package/functions/utils/encryptInputForEnclave.mjs +43 -0
  474. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  475. package/functions/utils/erc20tokenFunctions.d.ts +8 -2
  476. package/functions/utils/erc20tokenFunctions.mjs +23 -14
  477. package/functions/utils/evmNetworkFunctions.cjs +1 -1
  478. package/functions/utils/evmNetworkFunctions.mjs +7 -4
  479. package/functions/utils/external-action.utils.d.ts +2 -2
  480. package/functions/utils/fees.utils.cjs +1 -0
  481. package/functions/utils/fees.utils.d.ts +2 -0
  482. package/functions/utils/fees.utils.mjs +14 -0
  483. package/functions/utils/getBlockExplorerUrl.cjs +1 -0
  484. package/functions/utils/getBlockExplorerUrl.d.ts +1 -0
  485. package/functions/utils/getBlockExplorerUrl.mjs +6 -0
  486. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -0
  487. package/functions/utils/getRecipientInfoFromUserKeys.d.ts +3 -0
  488. package/functions/utils/getRecipientInfoFromUserKeys.mjs +18 -0
  489. package/functions/utils/index.d.ts +12 -0
  490. package/functions/utils/involves-permit2-op.cjs +1 -0
  491. package/functions/utils/involves-permit2-op.d.ts +1 -0
  492. package/functions/utils/involves-permit2-op.mjs +5 -0
  493. package/functions/utils/merkleTree.utils.cjs +1 -0
  494. package/functions/utils/merkleTree.utils.d.ts +2 -0
  495. package/functions/utils/merkleTree.utils.mjs +19 -0
  496. package/functions/utils/prepareHinkal.d.ts +6 -0
  497. package/functions/utils/processUseApprovalUtxoData.cjs +1 -0
  498. package/functions/utils/processUseApprovalUtxoData.d.ts +3 -0
  499. package/functions/utils/processUseApprovalUtxoData.mjs +19 -0
  500. package/functions/utils/publicBalance.utils.cjs +1 -0
  501. package/functions/utils/publicBalance.utils.d.ts +5 -0
  502. package/functions/utils/publicBalance.utils.mjs +25 -0
  503. package/functions/utils/replaceAddressInCalldata.cjs +1 -0
  504. package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
  505. package/functions/utils/replaceAddressInCalldata.mjs +7 -0
  506. package/functions/utils/rpc-int-encode.cjs +1 -0
  507. package/functions/utils/rpc-int-encode.d.ts +2 -0
  508. package/functions/utils/rpc-int-encode.mjs +8 -0
  509. package/functions/utils/serialize.utils.cjs +1 -1
  510. package/functions/utils/serialize.utils.d.ts +1 -0
  511. package/functions/utils/serialize.utils.mjs +3 -2
  512. package/functions/utils/string.utils.cjs +1 -1
  513. package/functions/utils/string.utils.d.ts +2 -0
  514. package/functions/utils/string.utils.mjs +28 -14
  515. package/functions/utils/time.utils.cjs +1 -1
  516. package/functions/utils/time.utils.d.ts +1 -0
  517. package/functions/utils/time.utils.mjs +4 -3
  518. package/functions/utils/token-check.utils.cjs +1 -0
  519. package/functions/utils/token-check.utils.d.ts +1 -0
  520. package/functions/utils/token-check.utils.mjs +10 -0
  521. package/functions/utils/upToDateState.cjs +1 -0
  522. package/functions/utils/upToDateState.d.ts +2 -0
  523. package/functions/utils/upToDateState.mjs +11 -0
  524. package/functions/utils/userAgent.cjs +1 -1
  525. package/functions/utils/userAgent.mjs +8 -8
  526. package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -0
  527. package/functions/web3/events/balanceChangedCustomHandler.d.ts +2 -0
  528. package/functions/web3/events/balanceChangedCustomHandler.mjs +14 -0
  529. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  530. package/functions/web3/events/balanceChangedHandler.mjs +5 -4
  531. package/functions/web3/events/getApprovedBalance.cjs +1 -0
  532. package/functions/web3/events/getApprovedBalance.d.ts +7 -0
  533. package/functions/web3/events/getApprovedBalance.mjs +80 -0
  534. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  535. package/functions/web3/events/getInputUtxoAndBalance.d.ts +16 -3
  536. package/functions/web3/events/getInputUtxoAndBalance.mjs +128 -46
  537. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  538. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  539. package/functions/web3/events/getShieldedBalance.mjs +70 -65
  540. package/functions/web3/events/index.d.ts +2 -0
  541. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  542. package/functions/web3/functionCalls/accessTokenCalls.d.ts +2 -2
  543. package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -18
  544. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  545. package/functions/web3/functionCalls/approveToken.mjs +8 -7
  546. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -0
  547. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +4 -0
  548. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +11 -0
  549. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  550. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -2
  551. package/functions/web3/functionCalls/estimateGasRelayer.mjs +14 -8
  552. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
  553. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
  554. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +32 -0
  555. package/functions/web3/functionCalls/relayFunctions.d.ts +1 -15
  556. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  557. package/functions/web3/functionCalls/transactCallDirect.d.ts +2 -2
  558. package/functions/web3/functionCalls/transactCallDirect.mjs +31 -30
  559. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  560. package/functions/web3/functionCalls/transactCallRelayer.d.ts +2 -2
  561. package/functions/web3/functionCalls/transactCallRelayer.mjs +32 -9
  562. package/functions/web3/getContractMetadata.cjs +1 -0
  563. package/functions/web3/getContractMetadata.d.ts +5 -0
  564. package/functions/web3/getContractMetadata.mjs +30 -0
  565. package/functions/web3/odosAPI.cjs +1 -1
  566. package/functions/web3/odosAPI.d.ts +1 -2
  567. package/functions/web3/odosAPI.mjs +23 -19
  568. package/functions/web3/oneInchAPI.cjs +1 -1
  569. package/functions/web3/oneInchAPI.d.ts +1 -2
  570. package/functions/web3/oneInchAPI.mjs +20 -15
  571. package/functions/web3/runContractFunction.cjs +1 -1
  572. package/functions/web3/runContractFunction.mjs +3 -2
  573. package/functions/web3/uniswapAPI.cjs +1 -1
  574. package/functions/web3/uniswapAPI.d.ts +4 -4
  575. package/functions/web3/uniswapAPI.mjs +57 -43
  576. package/index.cjs +1 -1
  577. package/index.mjs +761 -639
  578. package/package.json +19 -8
  579. package/providers/EthersProviderAdapter.cjs +1 -1
  580. package/providers/EthersProviderAdapter.d.ts +8 -3
  581. package/providers/EthersProviderAdapter.mjs +52 -43
  582. package/providers/WagmiProviderAdapter.cjs +1 -1
  583. package/providers/WagmiProviderAdapter.d.ts +4 -1
  584. package/providers/WagmiProviderAdapter.mjs +53 -56
  585. package/providers/prepareEthersHinkal.cjs +1 -1
  586. package/providers/prepareEthersHinkal.mjs +18 -10
  587. package/providers/prepareWagmiHinkal.cjs +1 -1
  588. package/providers/prepareWagmiHinkal.mjs +18 -10
  589. package/types/API.types.d.ts +21 -0
  590. package/types/ICacheDevice.d.ts +4 -3
  591. package/types/TransactionSimulator.types.d.ts +9 -0
  592. package/types/activities.types.cjs +1 -0
  593. package/types/activities.types.d.ts +45 -0
  594. package/types/activities.types.mjs +13 -0
  595. package/types/balances.types.cjs +1 -0
  596. package/types/balances.types.d.ts +17 -0
  597. package/types/balances.types.mjs +4 -0
  598. package/types/cache.types.cjs +1 -0
  599. package/types/cache.types.d.ts +27 -0
  600. package/types/cache.types.mjs +4 -0
  601. package/types/circom-data.types.d.ts +29 -9
  602. package/types/commitments.types.d.ts +6 -0
  603. package/types/contacts.types.d.ts +5 -0
  604. package/types/crypto.types.d.ts +1 -0
  605. package/types/earlyAccessCode.types.d.ts +4 -0
  606. package/types/ethereum-network.types.cjs +1 -1
  607. package/types/ethereum-network.types.d.ts +8 -3
  608. package/types/ethereum-network.types.mjs +1 -1
  609. package/types/external-action.types.cjs +1 -1
  610. package/types/external-action.types.d.ts +2 -1
  611. package/types/external-action.types.mjs +1 -1
  612. package/types/fee.types.d.ts +9 -0
  613. package/types/hinkal.types.cjs +1 -1
  614. package/types/hinkal.types.d.ts +48 -0
  615. package/types/hinkal.types.mjs +38 -13
  616. package/types/index.d.ts +9 -0
  617. package/types/kyc.types.cjs +1 -1
  618. package/types/kyc.types.d.ts +1 -1
  619. package/types/kyc.types.mjs +1 -1
  620. package/types/remote-proof.types.d.ts +15 -0
  621. package/types/rewards.types.d.ts +9 -0
  622. package/types/sandbox.types.cjs +1 -0
  623. package/types/sandbox.types.d.ts +157 -0
  624. package/types/sandbox.types.mjs +4 -0
  625. package/types/tenderly.api.types.d.ts +180 -0
  626. package/types/time.types.cjs +1 -1
  627. package/types/time.types.mjs +1 -1
  628. package/types/token-with-id.types.d.ts +4 -0
  629. package/types/token.types.d.ts +23 -0
  630. package/types/transactions.types.cjs +1 -1
  631. package/types/transactions.types.d.ts +31 -0
  632. package/types/transactions.types.mjs +8 -5
  633. package/types/wc.types.d.ts +89 -0
  634. package/types/with-id.types.d.ts +3 -0
  635. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  636. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  637. package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +1 -1
  638. package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +26 -26
  639. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  640. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  641. package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
  642. package/webworker/utxoWorker/utxoWorkerLogic.mjs +58 -50
  643. package/webworker/viteWorkerURL.constant.cjs +3 -3
  644. package/webworker/viteWorkerURL.constant.mjs +3 -3
  645. package/webworker/workerFactory.cjs +1 -1
  646. package/webworker/workerFactory.mjs +2 -2
  647. package/webworker/workerProxy.cjs +1 -1
  648. package/webworker/workerProxy.d.ts +11 -11
  649. package/webworker/workerProxy.mjs +24 -26
  650. package/webworker/zkProofWorker/zkProofWorker.types.d.ts +2 -0
  651. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  652. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  653. package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +1 -1
  654. package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +47 -61
  655. package/functions/utils/memoize.utils.cjs +0 -1
  656. package/functions/utils/memoize.utils.mjs +0 -14
@@ -0,0 +1,81 @@
1
+ import { ethers as m } from "ethers";
2
+ import { get as B, update as h } from "idb-keyval";
3
+ import { API as g } from "../../API/API.mjs";
4
+ import { chainIds as S, networkRegistry as w } from "../../constants/chains.constants.mjs";
5
+ import { Logger as E } from "../../error-handling/logger.mjs";
6
+ import { lowerCaseIncludes as L } from "../../functions/utils/caseInsensitive.utils.mjs";
7
+ import { StorageKeys as u } from "../../types/cache.types.mjs";
8
+ import { getStateKey as T } from "../../functions/utils/string.utils.mjs";
9
+ import { zeroAddress as b } from "../../constants/protocol.constants.mjs";
10
+ class y {
11
+ fetchedTokens = {};
12
+ transferEventTopic = m.utils.id("Transfer(address,address,uint256)");
13
+ // ToDo: replace this with hinkal deployment block
14
+ INITIAL_BLOCKS = {
15
+ [S.optimism]: 124883692
16
+ };
17
+ async getPublicTokens(e, t) {
18
+ const o = T(t, e);
19
+ return (await B(u.PUBLIC_TOKENS))?.[o] || [];
20
+ }
21
+ async getLastProcessedBlock(e, t) {
22
+ const o = await B(u.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, s = T(t, e);
23
+ return o[s] || this.INITIAL_BLOCKS[e];
24
+ }
25
+ async updateLastProcessedBlock(e, t, o) {
26
+ await h(u.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (s = {}) => {
27
+ const r = T(t, e);
28
+ return {
29
+ ...s,
30
+ [r]: o
31
+ };
32
+ });
33
+ }
34
+ async fetchPublicTokens(e, t, o) {
35
+ try {
36
+ const { fetchRpcUrl: s } = w[t];
37
+ if (!s)
38
+ throw Error("No fetchRpcUrl in PublicTokensDB");
39
+ const r = new m.providers.JsonRpcProvider(s), i = await this.getLastProcessedBlock(t, e), a = await r.getBlockNumber(), n = m.utils.hexZeroPad(e.toLowerCase(), 32), k = {
40
+ topics: [this.transferEventTopic, null, n],
41
+ fromBlock: i
42
+ }, f = {
43
+ topics: [this.transferEventTopic, n, null],
44
+ fromBlock: i
45
+ }, [d, p] = await Promise.all([r.getLogs(k), r.getLogs(f)]), l = [...d, ...p], P = [b, ...new Set(l.map((c) => c.address))].filter(
46
+ (c) => c && !L(o, c)
47
+ );
48
+ return P.length ? { erc20Tokens: (await g.tokensInfoCall(t, P)).filter(
49
+ (c) => !!c
50
+ ), latestBlock: a } : { erc20Tokens: [], latestBlock: a };
51
+ } catch (s) {
52
+ return E.error("Error fetching public tokens:", s), { erc20Tokens: [], latestBlock: void 0 };
53
+ }
54
+ }
55
+ // this function should be called when:
56
+ // 1) user first initiates wallet on a given chain
57
+ // 2) user manually press refresh balances button
58
+ async fetchAndUpdatePublicTokens(e, t) {
59
+ const s = (await this.getPublicTokens(t, e)).map((n) => n.erc20TokenAddress), { erc20Tokens: r, latestBlock: i } = await this.fetchPublicTokens(e, t, s), a = T(e, t);
60
+ await h(u.PUBLIC_TOKENS, (n = {}) => {
61
+ const k = n[a] || [], f = k.map((l) => l.erc20TokenAddress), d = r.filter(
62
+ (l) => !L(f, l.erc20TokenAddress)
63
+ );
64
+ k.push(...d);
65
+ const p = {
66
+ ...n,
67
+ [a]: k
68
+ };
69
+ return this.fetchedTokens = p, p;
70
+ }), i && await this.updateLastProcessedBlock(t, e, i);
71
+ }
72
+ getFetchedTokens(e, t) {
73
+ const o = T(t, e);
74
+ return this.fetchedTokens[o] || [];
75
+ }
76
+ }
77
+ const x = new y();
78
+ export {
79
+ y as PublicTokensDB,
80
+ x as publicTokensDB
81
+ };
@@ -0,0 +1,2 @@
1
+ export * from './PrivateTokensDB';
2
+ export * from './PublicTokensDB';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../functions/utils/serialize.utils.cjs"),n=require("./BaseCacheDevice.cjs");class h extends n.BaseCacheDevice{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,t])=>[e,s.CustomJSONStringify(t)]))}attach(e){if(this.isAttached)throw new Error("can't reattach cache device");return this.isAttached=!0,(...i)=>{const r=s.CustomJSONStringify(i),c=this.get(r);if(c!==void 0)return c;const a=e(...i);return this.set(r,a),a}}}exports.AttachableMemoryCacheDevice=h;
@@ -0,0 +1,8 @@
1
+ import { BaseCacheDevice } from './BaseCacheDevice';
2
+ export declare class AttachableMemoryCacheDevice<T> extends BaseCacheDevice<T> {
3
+ private isAttached;
4
+ get(key: string): T | undefined;
5
+ set(key: string, value: T): void;
6
+ serialize(): Record<string, string>;
7
+ attach<ArgsType extends unknown[]>(func: (...args: ArgsType) => T): (...args: ArgsType) => T;
8
+ }
@@ -0,0 +1,28 @@
1
+ import { CustomJSONStringify as s } from "../../functions/utils/serialize.utils.mjs";
2
+ import { BaseCacheDevice as h } from "./BaseCacheDevice.mjs";
3
+ class l extends h {
4
+ isAttached = !1;
5
+ get(t) {
6
+ return this.getInMemory(t);
7
+ }
8
+ set(t, e) {
9
+ this.setInMemory(t, e);
10
+ }
11
+ serialize() {
12
+ return Object.fromEntries([...this.inMemoryCache].map(([t, e]) => [t, s(e)]));
13
+ }
14
+ attach(t) {
15
+ if (this.isAttached)
16
+ throw new Error("can't reattach cache device");
17
+ return this.isAttached = !0, (...r) => {
18
+ const a = s(r), c = this.get(a);
19
+ if (c !== void 0)
20
+ return c;
21
+ const i = t(...r);
22
+ return this.set(a, i), i;
23
+ };
24
+ }
25
+ }
26
+ export {
27
+ l as AttachableMemoryCacheDevice
28
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class a{inMemoryCache=new Map;getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}}exports.BaseCacheDevice=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../functions/utils/serialize.utils.cjs");class s{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}mergeWithSerialized(e){Object.entries(e).forEach(([t,i])=>{this.set(t,r.CustomJSONParse(i))})}}exports.BaseCacheDevice=s;
@@ -1,8 +1,11 @@
1
1
  import { ICacheDevice } from '../../types/ICacheDevice';
2
- export declare abstract class BaseCacheDevice implements ICacheDevice {
3
- protected inMemoryCache: Map<string, string>;
4
- protected getInMemory(key: string): string | undefined;
5
- protected setInMemory(key: string, value: string): void;
6
- abstract get(key: string): string | undefined;
7
- abstract set(key: string, value: string): void;
2
+ export declare abstract class BaseCacheDevice<T = string> implements ICacheDevice<T> {
3
+ protected inMemoryCache: Map<string, T>;
4
+ constructor(serialized?: Record<string, string>);
5
+ protected getInMemory(key: string): T | undefined;
6
+ protected setInMemory(key: string, value: T): void;
7
+ abstract get(key: string): T | undefined;
8
+ abstract set(key: string, value: T): void;
9
+ abstract serialize(): Record<string, string>;
10
+ mergeWithSerialized(serialized: Record<string, string>): void;
8
11
  }
@@ -1,12 +1,21 @@
1
- class a {
1
+ import { CustomJSONParse as i } from "../../functions/utils/serialize.utils.mjs";
2
+ class h {
2
3
  inMemoryCache = /* @__PURE__ */ new Map();
4
+ constructor(e) {
5
+ e && this.mergeWithSerialized(e);
6
+ }
3
7
  getInMemory(e) {
4
8
  return this.inMemoryCache.get(e) ?? void 0;
5
9
  }
6
- setInMemory(e, r) {
7
- this.inMemoryCache.set(e, r);
10
+ setInMemory(e, t) {
11
+ this.inMemoryCache.set(e, t);
12
+ }
13
+ mergeWithSerialized(e) {
14
+ Object.entries(e).forEach(([t, r]) => {
15
+ this.set(t, i(r));
16
+ });
8
17
  }
9
18
  }
10
19
  export {
11
- a as BaseCacheDevice
20
+ h as BaseCacheDevice
12
21
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../error-handling/logError.cjs"),h=require("./BaseCacheDevice.cjs");class o extends h.BaseCacheDevice{filePath;useFileCache;constructor(e,i){super(),this.useFileCache=!!e,this.filePath=i,this.readFileFromDevice()}readFileFromDevice(){if(this.useFileCache&&this.filePath)try{const e=require("fs");if(e.existsSync(this.filePath)){const i=JSON.parse(e.readFileSync(this.filePath).toString());Object.entries(i).forEach(([s,c])=>{this.setInMemory(s,c)})}}catch(e){r.logError("FileCacheDevice Constructor Error",{err:e})}}get(e){return this.getInMemory(e)}set(e,i){if(this.readFileFromDevice(),this.setInMemory(e,i),this.useFileCache&&this.filePath)try{require("fs").writeFileSync(this.filePath,JSON.stringify(Object.fromEntries(this.inMemoryCache)))}catch(t){r.logError("FileCacheDevice set function",{err:t})}}}exports.FileCacheDevice=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../functions/utils/serialize.utils.cjs"),r=require("../../error-handling/logError.cjs"),o=require("./BaseCacheDevice.cjs");class a extends o.BaseCacheDevice{filePath;useFileCache;constructor(e,i){super(),this.useFileCache=!!e,this.filePath=i,this.readFileFromDevice()}readFileFromDevice(){if(this.useFileCache&&this.filePath)try{const e=require("fs");if(e.existsSync(this.filePath)){const i=JSON.parse(e.readFileSync(this.filePath).toString());Object.entries(i).forEach(([s,c])=>{this.setInMemory(s,c)})}}catch(e){r.logError("FileCacheDevice Constructor Error",{err:e})}}get(e){return this.getInMemory(e)}set(e,i){if(this.readFileFromDevice(),this.setInMemory(e,i),this.useFileCache&&this.filePath)try{require("fs").writeFileSync(this.filePath,JSON.stringify(Object.fromEntries(this.inMemoryCache)))}catch(t){r.logError("FileCacheDevice set function",{err:t})}}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([e,i])=>[e,h.CustomJSONStringify(i)]))}}exports.FileCacheDevice=a;
@@ -6,4 +6,5 @@ export declare class FileCacheDevice extends BaseCacheDevice {
6
6
  private readFileFromDevice;
7
7
  get(key: string): string | undefined;
8
8
  set(key: string, value: string): void;
9
+ serialize(): Record<string, string>;
9
10
  }
@@ -1,6 +1,7 @@
1
+ import { CustomJSONStringify as h } from "../../functions/utils/serialize.utils.mjs";
1
2
  import { logError as r } from "../../error-handling/logError.mjs";
2
- import { BaseCacheDevice as h } from "./BaseCacheDevice.mjs";
3
- class l extends h {
3
+ import { BaseCacheDevice as o } from "./BaseCacheDevice.mjs";
4
+ class m extends o {
4
5
  filePath;
5
6
  useFileCache;
6
7
  constructor(e, i) {
@@ -31,7 +32,10 @@ class l extends h {
31
32
  r("FileCacheDevice set function", { err: t });
32
33
  }
33
34
  }
35
+ serialize() {
36
+ return Object.fromEntries([...this.inMemoryCache].map(([e, i]) => [e, h(i)]));
37
+ }
34
38
  }
35
39
  export {
36
- l as FileCacheDevice
40
+ m as FileCacheDevice
37
41
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./BaseCacheDevice.cjs");class o extends a.BaseCacheDevice{localDataStorage;constructor(){super(),typeof localStorage<"u"&&(this.localDataStorage=localStorage)}get(e){return this.localDataStorage?this.localDataStorage.getItem(e)??void 0:this.getInMemory(e)}set(e,t){this.localDataStorage?this.localDataStorage.setItem(e,t):this.setInMemory(e,t)}}exports.LocalStorageCacheDevice=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../functions/utils/serialize.utils.cjs"),r=require("./BaseCacheDevice.cjs");class i extends r.BaseCacheDevice{localDataStorage;constructor(e,t){super(),!e&&typeof localStorage<"u"&&(this.localDataStorage=localStorage),t&&this.mergeWithSerialized(t)}get(e){return this.localDataStorage?this.localDataStorage.getItem(e)??void 0:this.getInMemory(e)}set(e,t){this.localDataStorage?this.localDataStorage.setItem(e,t):this.setInMemory(e,t)}serialize(){const e=this.localDataStorage?Object.entries(localStorage):[...this.inMemoryCache];return Object.fromEntries(e.map(([t,a])=>[t,o.CustomJSONStringify(a)]))}}exports.LocalStorageCacheDevice=i;
@@ -1,7 +1,8 @@
1
1
  import { BaseCacheDevice } from './BaseCacheDevice';
2
2
  export declare class LocalStorageCacheDevice extends BaseCacheDevice {
3
3
  private localDataStorage;
4
- constructor();
4
+ constructor(disableCaching?: boolean, serializedCache?: Record<string, string>);
5
5
  get(key: string): string | undefined;
6
6
  set(key: string, value: string): void;
7
+ serialize(): Record<string, string>;
7
8
  }
@@ -1,8 +1,9 @@
1
- import { BaseCacheDevice as a } from "./BaseCacheDevice.mjs";
2
- class l extends a {
1
+ import { CustomJSONStringify as o } from "../../functions/utils/serialize.utils.mjs";
2
+ import { BaseCacheDevice as r } from "./BaseCacheDevice.mjs";
3
+ class c extends r {
3
4
  localDataStorage;
4
- constructor() {
5
- super(), typeof localStorage < "u" && (this.localDataStorage = localStorage);
5
+ constructor(t, e) {
6
+ super(), !t && typeof localStorage < "u" && (this.localDataStorage = localStorage), e && this.mergeWithSerialized(e);
6
7
  }
7
8
  get(t) {
8
9
  return this.localDataStorage ? this.localDataStorage.getItem(t) ?? void 0 : this.getInMemory(t);
@@ -10,7 +11,11 @@ class l extends a {
10
11
  set(t, e) {
11
12
  this.localDataStorage ? this.localDataStorage.setItem(t, e) : this.setInMemory(t, e);
12
13
  }
14
+ serialize() {
15
+ const t = this.localDataStorage ? Object.entries(localStorage) : [...this.inMemoryCache];
16
+ return Object.fromEntries(t.map(([e, a]) => [e, o(a)]));
17
+ }
13
18
  }
14
19
  export {
15
- l as LocalStorageCacheDevice
20
+ c as LocalStorageCacheDevice
16
21
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("ethers"),x=require("../utxo/Utxo.cjs"),m=require("./keys.cjs"),i=e=>{const t=U.ethers.utils.defaultAbiCoder.decode(["uint256","address","tuple(uint256, uint256, uint256, uint256)","uint256","uint256"],e),n=t[0].toBigInt(),r=t[1],s=t[2][0].toBigInt(),o=t[2][1].toHexString(),c=t[2][2].toBigInt(),u=t[2][3].toBigInt(),a=t[3].toString(),g=t[4].toNumber();return{amount:n,erc20TokenAddress:r,randomization:s,stealthAddress:o,H0:c,H1:u,timeStamp:a,tokenId:g}},d=(e,t)=>{const{amount:n,erc20TokenAddress:r,timeStamp:s,tokenId:o,randomization:c}=i(e);return{amount:n,erc20TokenAddress:r,timeStamp:s,tokenId:o,randomization:c,shieldedPrivateKey:t}},l=(e,t)=>new x.Utxo(d(e,t)),S=(e,t)=>{const{randomization:n,H0:r,H1:s}=i(e),o=m.UserKeys.checkSignature(n,r,s,t);if(!o)throw new Error("UTXO doesn't belong to user");return o};exports.abiDecodeUtxo=i;exports.checkUtxoSignature=S;exports.decodeUtxo=l;exports.decodeUtxoConstructorArgs=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("ethers"),x=require("../utxo/Utxo.cjs"),l=require("./keys.cjs"),i=e=>{const t=U.ethers.utils.defaultAbiCoder.decode(["uint256","address","tuple(uint256, uint256, uint256, uint256)","uint256","uint256"],e),n=t[0].toBigInt(),r=t[1],s=t[2][0].toBigInt(),o=t[2][1].toHexString(),c=t[2][2].toBigInt(),d=t[2][3].toBigInt(),a=t[3].toString(),g=t[4].toNumber();return{amount:n,erc20TokenAddress:r,randomization:s,stealthAddress:o,H0:c,H1:d,timeStamp:a,tokenId:g}},u=(e,t)=>{const{amount:n,erc20TokenAddress:r,timeStamp:s,tokenId:o,randomization:c,stealthAddress:d}=i(e);return{amount:n,erc20TokenAddress:r,timeStamp:s,tokenId:o,randomization:c,shieldedPrivateKey:t,stealthAddress:d}},m=(e,t)=>new x.Utxo(u(e,t)),h=(e,t)=>{const{randomization:n,H0:r,H1:s}=i(e),o=l.UserKeys.checkSignature(n,r,s,t);if(!o)throw new Error("UTXO doesn't belong to user");return o};exports.abiDecodeUtxo=i;exports.checkUtxoSignature=h;exports.decodeUtxo=m;exports.decodeUtxoConstructorArgs=u;
@@ -5,36 +5,37 @@ const c = (o) => {
5
5
  const t = m.utils.defaultAbiCoder.decode(
6
6
  ["uint256", "address", "tuple(uint256, uint256, uint256, uint256)", "uint256", "uint256"],
7
7
  o
8
- ), e = t[0].toBigInt(), r = t[1], s = t[2][0].toBigInt(), n = t[2][1].toHexString(), i = t[2][2].toBigInt(), d = t[2][3].toBigInt(), u = t[3].toString(), a = t[4].toNumber();
8
+ ), n = t[0].toBigInt(), r = t[1], s = t[2][0].toBigInt(), e = t[2][1].toHexString(), i = t[2][2].toBigInt(), d = t[2][3].toBigInt(), u = t[3].toString(), a = t[4].toNumber();
9
9
  return {
10
- amount: e,
10
+ amount: n,
11
11
  erc20TokenAddress: r,
12
12
  randomization: s,
13
- stealthAddress: n,
13
+ stealthAddress: e,
14
14
  H0: i,
15
15
  H1: d,
16
16
  timeStamp: u,
17
17
  tokenId: a
18
18
  };
19
19
  }, U = (o, t) => {
20
- const { amount: e, erc20TokenAddress: r, timeStamp: s, tokenId: n, randomization: i } = c(o);
20
+ const { amount: n, erc20TokenAddress: r, timeStamp: s, tokenId: e, randomization: i, stealthAddress: d } = c(o);
21
21
  return {
22
- amount: e,
22
+ amount: n,
23
23
  erc20TokenAddress: r,
24
24
  timeStamp: s,
25
- tokenId: n,
25
+ tokenId: e,
26
26
  randomization: i,
27
- shieldedPrivateKey: t
27
+ shieldedPrivateKey: t,
28
+ stealthAddress: d
28
29
  };
29
- }, k = (o, t) => new g(U(o, t)), I = (o, t) => {
30
- const { randomization: e, H0: r, H1: s } = c(o), n = x.checkSignature(e, r, s, t);
31
- if (!n)
30
+ }, k = (o, t) => new g(U(o, t)), A = (o, t) => {
31
+ const { randomization: n, H0: r, H1: s } = c(o), e = x.checkSignature(n, r, s, t);
32
+ if (!e)
32
33
  throw new Error("UTXO doesn't belong to user");
33
- return n;
34
+ return e;
34
35
  };
35
36
  export {
36
37
  c as abiDecodeUtxo,
37
- I as checkUtxoSignature,
38
+ A as checkUtxoSignature,
38
39
  k as decodeUtxo,
39
40
  U as decodeUtxoConstructorArgs
40
41
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("ethers"),y=require("libsodium-wrappers"),g=require("../../constants/protocol.constants.cjs"),S=require("../../crypto/babyJub.cjs"),o=require("../../crypto/poseidon.cjs"),h=require("../../functions/utils/memoize.utils.cjs"),c=require("./keyUtils.cjs"),p={privateKey:"",publicKey:""};class K{signature;constructor(e){this.signature=e}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error("No signature provided")}verifyMessage(e){return this.requireSignature(),u.utils.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireSignature(),u.ethers.utils.keccak256(this.signature));getShieldedPublicKey=()=>(this.requireSignature(),o.poseidonHash(this.getShieldedPrivateKey()));getAccessKey=()=>(this.requireSignature(),o.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getWalletSalt=e=>(this.requireSignature(),o.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getBackendToken=()=>(this.requireSignature(),o.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=h.memoizeFunc((e,i)=>{const t=S.babyJubInstance(),s=BigInt(i)%g.CIRCOM_P,n=e*s%g.CIRCOM_P,r=t.mulPointEscalar(t.Base8,e),a=t.mulPointEscalar(t.Base8,n),d=[BigInt(t.F.toString(r[0])),BigInt(t.F.toString(r[1]))],l=[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))];return{H0:d,H1:l}});static getStealthAddressCompressedPoints=(e,i)=>{const{H0:t,H1:s}=this.getRandomizedStealthPair(e,i),[n,r]=[t,s].map(a=>BigInt(a[1])+2n**255n*c.getCircomSign(a[0]));return{h0:n,h1:r}};static getStealthAddress=h.memoizeFunc((e,i)=>{const{H0:t,H1:s}=this.getRandomizedStealthPair(e,i),r=[2n*c.getCircomSign(t[0])+c.getCircomSign(s[0]),t[1],s[1]];return o.poseidonHash(...r)});static getStealthAddressWithEKey=(e,i)=>({stealthAddress:this.getStealthAddress(e,i),encryptionKey:this.getEncryptionKeyPair(i).publicKey});static checkSignature=(e,i,t,s)=>{const{h0:n,h1:r}=this.getStealthAddressCompressedPoints(e,s);return i===n&&t===r};static getEncryptionKeyPair=e=>{const i=y.crypto_box_seed_keypair(u.ethers.utils.arrayify(e));return{privateKey:u.ethers.utils.hexlify(i.privateKey),publicKey:u.ethers.utils.hexlify(i.publicKey)}}}exports.EncryptionKeyPairDefaultValue=p;exports.UserKeys=K;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("ethers"),p=require("libsodium-wrappers"),u=require("../../constants/protocol.constants.cjs"),K=require("../../crypto/babyJub.cjs"),a=require("../../crypto/poseidon.cjs"),o=require("./keyUtils.cjs"),g=require("../cacheDevices/AttachableMemoryCacheDevice.cjs"),d=new g.AttachableMemoryCacheDevice,l=new g.AttachableMemoryCacheDevice,P={privateKey:"",publicKey:""};class b{signature;constructor(e){this.signature=e}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error("No signature provided")}verifyMessage(e){return this.requireSignature(),h.utils.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireSignature(),h.ethers.utils.keccak256(this.signature));getShieldedPublicKey=()=>(this.requireSignature(),a.poseidonHash(this.getShieldedPrivateKey()));getAccessKey=()=>(this.requireSignature(),a.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getWalletSalt=e=>(this.requireSignature(),a.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireSignature();const t=a.poseidonHash(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireSignature(),a.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=d.attach((e,t)=>{const i=K.babyJubInstance(),s=BigInt(t)%u.CIRCOM_P,n=e*s%u.CIRCOM_P,r=i.mulPointEscalar(i.Base8,e),c=i.mulPointEscalar(i.Base8,n),y=[BigInt(i.F.toString(r[0])),BigInt(i.F.toString(r[1]))],S=[BigInt(i.F.toString(c[0])),BigInt(i.F.toString(c[1]))];return{H0:y,H1:S}});static getStealthAddressCompressedPoints=(e,t)=>{const{H0:i,H1:s}=this.getRandomizedStealthPair(e,t),[n,r]=[i,s].map(c=>BigInt(c[1])+2n**255n*o.getCircomSign(c[0]));return{h0:n,h1:r}};static getStealthAddress=l.attach((e,t)=>{const{H0:i,H1:s}=this.getRandomizedStealthPair(e,t),r=[2n*o.getCircomSign(i[0])+o.getCircomSign(s[0]),i[1],s[1]];return a.poseidonHash(...r)});static getStealthAddressWithEKey=(e,t)=>({stealthAddress:this.getStealthAddress(e,t),encryptionKey:this.getEncryptionKeyPair(t).publicKey});static checkSignature=(e,t,i,s)=>{const{h0:n,h1:r}=this.getStealthAddressCompressedPoints(e,s);return t===n&&i===r};static getEncryptionKeyPair=e=>{const t=p.crypto_box_seed_keypair(h.ethers.utils.arrayify(e));return{privateKey:h.ethers.utils.hexlify(t.privateKey),publicKey:h.ethers.utils.hexlify(t.publicKey)}}}exports.EncryptionKeyPairDefaultValue=P;exports.UserKeys=b;exports.stealthAddressCacheDevice=l;exports.stealthPairCacheDevice=d;
@@ -1,4 +1,9 @@
1
- import { JubPoint } from '../../crypto/babyJub';
1
+ import { AttachableMemoryCacheDevice } from '../cacheDevices/AttachableMemoryCacheDevice';
2
+ export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
3
+ H0: [bigint, bigint];
4
+ H1: [bigint, bigint];
5
+ }>;
6
+ export declare const stealthAddressCacheDevice: AttachableMemoryCacheDevice<string>;
2
7
  export interface EncryptionKeyPair {
3
8
  privateKey: string;
4
9
  publicKey: string;
@@ -30,14 +35,19 @@ export declare class UserKeys {
30
35
  */
31
36
  getAccessKey: () => string;
32
37
  getWalletSalt: (walletNonce: bigint) => string;
38
+ /**
39
+ * generate inHinkalAddress - a user unique address linking him with a specific app
40
+ * @returns inHinkalAddress in bigint
41
+ */
42
+ getInHinkalAddress: (interactionAddress: string) => bigint;
33
43
  /**
34
44
  * generate backend token, which is used for access control on backend
35
45
  * @returns accessKey in hexstring with 0x prefixed
36
46
  */
37
47
  getBackendToken: () => string;
38
48
  static getRandomizedStealthPair: (s: bigint, privateKey: string) => {
39
- H0: JubPoint;
40
- H1: JubPoint;
49
+ H0: [bigint, bigint];
50
+ H1: [bigint, bigint];
41
51
  };
42
52
  static getStealthAddressCompressedPoints: (s: bigint, privateKey: string) => {
43
53
  h0: bigint;
@@ -1,31 +1,31 @@
1
1
  import { utils as y, ethers as o } from "ethers";
2
2
  import S from "libsodium-wrappers";
3
- import { CIRCOM_P as h } from "../../constants/protocol.constants.mjs";
3
+ import { CIRCOM_P as g } from "../../constants/protocol.constants.mjs";
4
4
  import { babyJubInstance as m } from "../../crypto/babyJub.mjs";
5
- import { poseidonHash as u } from "../../crypto/poseidon.mjs";
6
- import { memoizeFunc as c } from "../../functions/utils/memoize.utils.mjs";
7
- import { getCircomSign as g } from "./keyUtils.mjs";
8
- const q = {
5
+ import { poseidonHash as a } from "../../crypto/poseidon.mjs";
6
+ import { getCircomSign as u } from "./keyUtils.mjs";
7
+ import { AttachableMemoryCacheDevice as c } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
8
+ const p = new c(), K = new c(), H = {
9
9
  privateKey: "",
10
10
  publicKey: ""
11
11
  };
12
- class H {
12
+ class k {
13
13
  signature;
14
- constructor(t) {
15
- this.signature = t;
14
+ constructor(e) {
15
+ this.signature = e;
16
16
  }
17
17
  getSignature() {
18
18
  return this.requireSignature(), this.signature;
19
19
  }
20
- setSignature(t) {
21
- this.signature = t;
20
+ setSignature(e) {
21
+ this.signature = e;
22
22
  }
23
23
  requireSignature() {
24
24
  if (!this.signature)
25
25
  throw Error("No signature provided");
26
26
  }
27
- verifyMessage(t) {
28
- return this.requireSignature(), y.verifyMessage(t, this.signature);
27
+ verifyMessage(e) {
28
+ return this.requireSignature(), y.verifyMessage(e, this.signature);
29
29
  }
30
30
  /**
31
31
  * get shielded private key from message signature used to login to the application,
@@ -39,51 +39,62 @@ class H {
39
39
  * that the user provided
40
40
  * @retuns shielded public key in hexstring with 0x prefixed
41
41
  */
42
- getShieldedPublicKey = () => (this.requireSignature(), u(this.getShieldedPrivateKey()));
42
+ getShieldedPublicKey = () => (this.requireSignature(), a(this.getShieldedPrivateKey()));
43
43
  /**
44
44
  * generate access token, this accessKey is what should be sent to the server for signing
45
45
  * @returns accessKey in hexstring with 0x prefixed
46
46
  */
47
- getAccessKey = () => (this.requireSignature(), u(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
48
- getWalletSalt = (t) => (this.requireSignature(), u(this.getShieldedPublicKey(), this.getShieldedPrivateKey(), t));
47
+ getAccessKey = () => (this.requireSignature(), a(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
48
+ getWalletSalt = (e) => (this.requireSignature(), a(this.getShieldedPublicKey(), this.getShieldedPrivateKey(), e));
49
+ /**
50
+ * generate inHinkalAddress - a user unique address linking him with a specific app
51
+ * @returns inHinkalAddress in bigint
52
+ */
53
+ getInHinkalAddress = (e) => {
54
+ this.requireSignature();
55
+ const t = a(this.getShieldedPrivateKey(), e);
56
+ return BigInt(t);
57
+ };
49
58
  /**
50
59
  * generate backend token, which is used for access control on backend
51
60
  * @returns accessKey in hexstring with 0x prefixed
52
61
  */
53
- getBackendToken = () => (this.requireSignature(), u(this.getAccessKey(), this.getShieldedPublicKey()));
54
- static getRandomizedStealthPair = c(
55
- (t, i) => {
56
- const e = m(), r = BigInt(i) % h, n = t * r % h, s = e.mulPointEscalar(e.Base8, t), a = e.mulPointEscalar(e.Base8, n), d = [BigInt(e.F.toString(s[0])), BigInt(e.F.toString(s[1]))], l = [BigInt(e.F.toString(a[0])), BigInt(e.F.toString(a[1]))];
62
+ getBackendToken = () => (this.requireSignature(), a(this.getAccessKey(), this.getShieldedPublicKey()));
63
+ static getRandomizedStealthPair = p.attach(
64
+ (e, t) => {
65
+ const i = m(), r = BigInt(t) % g, n = e * r % g, s = i.mulPointEscalar(i.Base8, e), h = i.mulPointEscalar(i.Base8, n), d = [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))], l = [BigInt(i.F.toString(h[0])), BigInt(i.F.toString(h[1]))];
57
66
  return { H0: d, H1: l };
58
67
  }
59
68
  );
60
- static getStealthAddressCompressedPoints = (t, i) => {
61
- const { H0: e, H1: r } = this.getRandomizedStealthPair(t, i), [n, s] = [e, r].map((a) => BigInt(a[1]) + 2n ** 255n * g(a[0]));
69
+ static getStealthAddressCompressedPoints = (e, t) => {
70
+ const { H0: i, H1: r } = this.getRandomizedStealthPair(e, t), [n, s] = [i, r].map((h) => BigInt(h[1]) + 2n ** 255n * u(h[0]));
62
71
  return { h0: n, h1: s };
63
72
  };
64
- static getStealthAddress = c((t, i) => {
65
- const { H0: e, H1: r } = this.getRandomizedStealthPair(t, i), s = [2n * g(e[0]) + g(r[0]), e[1], r[1]];
66
- return u(...s);
73
+ static getStealthAddress = K.attach((e, t) => {
74
+ const { H0: i, H1: r } = this.getRandomizedStealthPair(e, t), s = [2n * u(i[0]) + u(r[0]), i[1], r[1]];
75
+ return a(...s);
67
76
  });
68
- static getStealthAddressWithEKey = (t, i) => ({ stealthAddress: this.getStealthAddress(t, i), encryptionKey: this.getEncryptionKeyPair(i).publicKey });
69
- static checkSignature = (t, i, e, r) => {
70
- const { h0: n, h1: s } = this.getStealthAddressCompressedPoints(t, r);
71
- return i === n && e === s;
77
+ static getStealthAddressWithEKey = (e, t) => ({ stealthAddress: this.getStealthAddress(e, t), encryptionKey: this.getEncryptionKeyPair(t).publicKey });
78
+ static checkSignature = (e, t, i, r) => {
79
+ const { h0: n, h1: s } = this.getStealthAddressCompressedPoints(e, r);
80
+ return t === n && i === s;
72
81
  };
73
82
  /**
74
83
  * generate private and public keypair
75
84
  * @param seed seed to use to deterministically generate key, must be in DataHexString format
76
85
  * and must correspond to 32 bytes
77
86
  */
78
- static getEncryptionKeyPair = (t) => {
79
- const i = S.crypto_box_seed_keypair(o.utils.arrayify(t));
87
+ static getEncryptionKeyPair = (e) => {
88
+ const t = S.crypto_box_seed_keypair(o.utils.arrayify(e));
80
89
  return {
81
- privateKey: o.utils.hexlify(i.privateKey),
82
- publicKey: o.utils.hexlify(i.publicKey)
90
+ privateKey: o.utils.hexlify(t.privateKey),
91
+ publicKey: o.utils.hexlify(t.publicKey)
83
92
  };
84
93
  };
85
94
  }
86
95
  export {
87
- q as EncryptionKeyPairDefaultValue,
88
- H as UserKeys
96
+ H as EncryptionKeyPairDefaultValue,
97
+ k as UserKeys,
98
+ K as stealthAddressCacheDevice,
99
+ p as stealthPairCacheDevice
89
100
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class o{localStorageKey="tokenRegistry";tokenRegistry;constructor(){if(this.tokenRegistry=[],typeof localStorage<"u"){const t=localStorage.getItem(this.localStorageKey);t&&(this.tokenRegistry=JSON.parse(t))}}persistRegistry(){typeof localStorage<"u"&&localStorage.setItem(this.localStorageKey,JSON.stringify(this.tokenRegistry))}getCustomTokens(t){return this.tokenRegistry.filter(e=>e.chainId===t)}tokenExists(t,e){return t.find(s=>s.erc20TokenAddress===e.erc20TokenAddress||s.symbol===e.symbol||s.name===e.name)}addCustomToken(t){const{chainId:e}=t,s=this.getCustomTokens(e);this.tokenExists(s,t)||this.tokenRegistry.push(t),this.persistRegistry()}removeCustomToken(t){const{chainId:e}=t,r=this.getCustomTokens(e).filter(i=>i.erc20TokenAddress!==t.erc20TokenAddress);this.tokenRegistry=r,this.persistRegistry()}}const n=new o;exports.customTokenRegistry=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class i{tokenRegistry;constructor(){this.tokenRegistry=[]}setTokensFromCache(s){this.tokenRegistry=s}getCustomTokens(s){return this.tokenRegistry.filter(t=>t.chainId===s)}tokenExists(s,t){return s.find(e=>e.erc20TokenAddress===t.erc20TokenAddress||e.symbol===t.symbol||e.name===t.name)}addCustomToken(s){const{chainId:t}=s,e=this.getCustomTokens(t);this.tokenExists(e,s)||this.tokenRegistry.push(s)}removeCustomToken(s){const{chainId:t}=s,r=this.getCustomTokens(t).filter(o=>o.erc20TokenAddress!==s.erc20TokenAddress);this.tokenRegistry=r}}const n=new i;exports.customTokenRegistry=n;
@@ -1,9 +1,8 @@
1
- import { ERC20Token } from '../../types/token.types';
1
+ import { ERC20Token } from '../../types';
2
2
  declare class CustomTokenRegistry {
3
- private localStorageKey;
4
3
  tokenRegistry: ERC20Token[];
5
4
  constructor();
6
- private persistRegistry;
5
+ setTokensFromCache(newTokenRegistries: ERC20Token[]): void;
7
6
  getCustomTokens(chainId: number): ERC20Token[];
8
7
  tokenExists(registry: ERC20Token[], tokenToCheck: ERC20Token): ERC20Token | undefined;
9
8
  addCustomToken(token: ERC20Token): void;
@@ -1,33 +1,29 @@
1
- class o {
2
- localStorageKey = "tokenRegistry";
1
+ class i {
3
2
  tokenRegistry;
4
3
  constructor() {
5
- if (this.tokenRegistry = [], typeof localStorage < "u") {
6
- const t = localStorage.getItem(this.localStorageKey);
7
- t && (this.tokenRegistry = JSON.parse(t));
8
- }
4
+ this.tokenRegistry = [];
9
5
  }
10
- persistRegistry() {
11
- typeof localStorage < "u" && localStorage.setItem(this.localStorageKey, JSON.stringify(this.tokenRegistry));
6
+ setTokensFromCache(s) {
7
+ this.tokenRegistry = s;
12
8
  }
13
- getCustomTokens(t) {
14
- return this.tokenRegistry.filter((s) => s.chainId === t);
9
+ getCustomTokens(s) {
10
+ return this.tokenRegistry.filter((t) => t.chainId === s);
15
11
  }
16
- tokenExists(t, s) {
17
- return t.find(
18
- (e) => e.erc20TokenAddress === s.erc20TokenAddress || e.symbol === s.symbol || e.name === s.name
12
+ tokenExists(s, t) {
13
+ return s.find(
14
+ (e) => e.erc20TokenAddress === t.erc20TokenAddress || e.symbol === t.symbol || e.name === t.name
19
15
  );
20
16
  }
21
- addCustomToken(t) {
22
- const { chainId: s } = t, e = this.getCustomTokens(s);
23
- this.tokenExists(e, t) || this.tokenRegistry.push(t), this.persistRegistry();
17
+ addCustomToken(s) {
18
+ const { chainId: t } = s, e = this.getCustomTokens(t);
19
+ this.tokenExists(e, s) || this.tokenRegistry.push(s);
24
20
  }
25
- removeCustomToken(t) {
26
- const { chainId: s } = t, r = this.getCustomTokens(s).filter((i) => i.erc20TokenAddress !== t.erc20TokenAddress);
27
- this.tokenRegistry = r, this.persistRegistry();
21
+ removeCustomToken(s) {
22
+ const { chainId: t } = s, r = this.getCustomTokens(t).filter((n) => n.erc20TokenAddress !== s.erc20TokenAddress);
23
+ this.tokenRegistry = r;
28
24
  }
29
25
  }
30
- const g = new o();
26
+ const c = new i();
31
27
  export {
32
- g as customTokenRegistry
28
+ c as customTokenRegistry
33
29
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../constants/protocol.constants.cjs"),c=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const n=require("../../functions/utils/amounts.utils.cjs"),o=require("../merkle-tree/MerkleTree.cjs"),u=require("./AbstractSnapshotService.cjs");class A extends u.AbstractSnapshotService{constructor(e,s,r,d){super(e,{name:"NewAccessKeyAdded",args:["accessKey","index","senderAddress"]},s,r,d)}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,reserveBlockNumber:e.reserveBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([s,r])=>({address:s,index:r}))}}deserializeSnapshot(e){let s,r;if(e.latestBlockNumber&&e.merkleTree){const d=new Map(Object.entries(e.merkleTree.tree).map(([t,a])=>[BigInt(t),BigInt(a)]));s=o.MerkleTree.createWithData(d,n.toBigInt(e.merkleTree.index),n.toBigInt(e.merkleTree.count),c.poseidonFunction,25n,0n)}else s=o.MerkleTree.create(c.poseidonFunction,25n,0n);return e.latestBlockNumber&&e.senderAddressIndexMap?r=new Map(e.senderAddressIndexMap.map(({address:d,index:t})=>[d,t])):r=new Map,{latestBlockNumber:e.latestBlockNumber??0,reserveBlockNumber:e.reserveBlockNumber??0,payload:{merkleTree:s,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:r}}}acceptEvent(e,s){try{return this._merkleTree.insert(e.accessKey,e.index),this._senderAddressIndexMap.set(e.senderAddress,Math.max(Number(e.index),this._senderAddressIndexMap.get(e.senderAddress)??0)),this._senderAddresses.includes(e.senderAddress)||this._senderAddresses.push(e.senderAddress),e.accessKey===0n&&e.senderAddress===l.zeroAddress&&this._merkleTree.remove(e.index),!0}catch(r){return console.error(r),!1}}mapEvent(e){const{accessKey:s,index:r,senderAddress:d}=e;return{accessKey:n.toBigInt(s),index:n.toBigInt(r),senderAddress:d}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:s,senderAddressIndexMap:r}}){this._merkleTree=e,this._senderAddresses=s,this._senderAddressIndexMap=r}}exports.AbstractAccessTokenSnapshotService=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../constants/protocol.constants.cjs"),a=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const n=require("../../functions/utils/amounts.utils.cjs"),o=require("../merkle-tree/MerkleTree.cjs");require("ethers");require("../../error-handling/error-codes.constants.cjs");const l=require("./AbstractSnapshotService.cjs"),u=require("../../functions/utils/merkleTree.utils.cjs");class i extends l.AbstractSnapshotService{constructor(e,s,r,d){super(e,{name:"NewAccessKeyAdded",args:["accessKey","index","senderAddress"]},s,r,d)}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,reserveBlockNumber:e.reserveBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([s,r])=>({address:s,index:r}))}}deserializeSnapshot(e){let s,r;return e.latestBlockNumber&&e.merkleTree?s=u.contructMerkleTreeFromSerialized(e.merkleTree):s=o.MerkleTree.create(a.poseidonFunction,25n,0n),e.latestBlockNumber&&e.senderAddressIndexMap?r=new Map(e.senderAddressIndexMap.map(({address:d,index:t})=>[d,t])):r=new Map,{latestBlockNumber:e.latestBlockNumber??0,reserveBlockNumber:e.reserveBlockNumber??0,payload:{merkleTree:s,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:r}}}acceptEvent(e,s){try{return this._merkleTree.insert(e.accessKey,e.index),this._senderAddressIndexMap.set(e.senderAddress,Math.max(Number(e.index),this._senderAddressIndexMap.get(e.senderAddress)??0)),this._senderAddresses.includes(e.senderAddress)||this._senderAddresses.push(e.senderAddress),e.accessKey===0n&&e.senderAddress===c.zeroAddress&&this._merkleTree.remove(e.index),!0}catch(r){return console.error(r),!1}}mapEvent(e){const{accessKey:s,index:r,senderAddress:d}=e;return{accessKey:n.toBigInt(s),index:n.toBigInt(r),senderAddress:d}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:s,senderAddressIndexMap:r}}){this._merkleTree=e,this._senderAddresses=s,this._senderAddressIndexMap=r}}exports.AbstractAccessTokenSnapshotService=i;