@hinkal/common 0.2.21 → 0.2.23

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 (603) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +14 -14
  3. package/API/API.mjs +88 -87
  4. package/API/admin-calls.cjs +1 -1
  5. package/API/admin-calls.d.ts +1 -1
  6. package/API/admin-calls.mjs +4 -4
  7. package/API/ai-calls.cjs +1 -0
  8. package/API/ai-calls.d.ts +17 -0
  9. package/API/ai-calls.mjs +21 -0
  10. package/API/callLifiAPI.cjs +1 -1
  11. package/API/callLifiAPI.d.ts +1 -1
  12. package/API/callLifiAPI.mjs +5 -5
  13. package/API/callMonitor.cjs +1 -1
  14. package/API/callMonitor.d.ts +1 -1
  15. package/API/callMonitor.mjs +7 -7
  16. package/API/callOdosAPI.cjs +1 -1
  17. package/API/callOdosAPI.mjs +11 -11
  18. package/API/callOkxAPI.cjs +1 -1
  19. package/API/callOkxAPI.d.ts +1 -1
  20. package/API/callOkxAPI.mjs +5 -5
  21. package/API/callOneInchAPI.cjs +1 -1
  22. package/API/callOneInchAPI.mjs +11 -10
  23. package/API/callRelayer.cjs +1 -1
  24. package/API/callRelayer.d.ts +5 -6
  25. package/API/callRelayer.mjs +11 -11
  26. package/API/checkRisk.cjs +1 -1
  27. package/API/checkRisk.d.ts +1 -1
  28. package/API/checkRisk.mjs +4 -4
  29. package/API/deposit-and-withdraw-status-calls.cjs +1 -0
  30. package/API/deposit-and-withdraw-status-calls.d.ts +20 -0
  31. package/API/deposit-and-withdraw-status-calls.mjs +18 -0
  32. package/API/duneAPI.cjs +1 -0
  33. package/API/duneAPI.d.ts +11 -0
  34. package/API/duneAPI.mjs +25 -0
  35. package/API/enclaveCalls.cjs +1 -1
  36. package/API/enclaveCalls.mjs +4 -5
  37. package/API/fetchCommitmentsCache.cjs +1 -1
  38. package/API/fetchCommitmentsCache.mjs +9 -9
  39. package/API/get-token-data.cjs +1 -1
  40. package/API/get-token-data.d.ts +1 -1
  41. package/API/get-token-data.mjs +5 -5
  42. package/API/getBridgeProtocols.cjs +1 -0
  43. package/API/getBridgeProtocols.d.ts +7 -0
  44. package/API/getBridgeProtocols.mjs +8 -0
  45. package/API/getGasEstimates.cjs +1 -1
  46. package/API/getGasEstimates.mjs +9 -9
  47. package/API/getLifiStatus.cjs +1 -0
  48. package/API/getLifiStatus.d.ts +24 -0
  49. package/API/getLifiStatus.mjs +15 -0
  50. package/API/getRelayerURL.cjs +1 -0
  51. package/API/getRelayerURL.d.ts +1 -0
  52. package/API/getRelayerURL.mjs +10 -0
  53. package/API/getServerURL.cjs +1 -1
  54. package/API/getServerURL.d.ts +3 -3
  55. package/API/getServerURL.mjs +67 -51
  56. package/API/getTokenPrice.cjs +1 -1
  57. package/API/getTokenPrice.d.ts +0 -5
  58. package/API/getTokenPrice.mjs +7 -14
  59. package/API/index.d.ts +3 -1
  60. package/API/is-tx-stateless.cjs +1 -1
  61. package/API/is-tx-stateless.d.ts +1 -1
  62. package/API/is-tx-stateless.mjs +12 -10
  63. package/API/kycCalls.cjs +1 -1
  64. package/API/kycCalls.d.ts +8 -4
  65. package/API/kycCalls.mjs +26 -23
  66. package/API/passwordCalls.cjs +1 -0
  67. package/API/passwordCalls.d.ts +9 -0
  68. package/API/passwordCalls.mjs +13 -0
  69. package/API/proxyAccountsCalls.cjs +1 -1
  70. package/API/proxyAccountsCalls.d.ts +2 -7
  71. package/API/proxyAccountsCalls.mjs +21 -27
  72. package/API/relayCalls.cjs +1 -1
  73. package/API/relayCalls.mjs +4 -4
  74. package/API/restoreSnapshots.cjs +1 -0
  75. package/API/restoreSnapshots.d.ts +1 -0
  76. package/API/restoreSnapshots.mjs +10 -0
  77. package/API/scheduled-transactions-calls.cjs +1 -1
  78. package/API/scheduled-transactions-calls.d.ts +9 -1
  79. package/API/scheduled-transactions-calls.mjs +9 -5
  80. package/API/simulate-batch-tx.cjs +1 -1
  81. package/API/simulate-batch-tx.d.ts +2 -2
  82. package/API/simulate-batch-tx.mjs +6 -7
  83. package/API/solana-calls.cjs +1 -1
  84. package/API/solana-calls.d.ts +3 -6
  85. package/API/solana-calls.mjs +15 -15
  86. package/API/temporaryWalletCalls.cjs +1 -1
  87. package/API/temporaryWalletCalls.mjs +19 -13
  88. package/API/token-calls.cjs +1 -1
  89. package/API/token-calls.mjs +5 -6
  90. package/README.md +64 -256
  91. package/constants/activity.constants.cjs +1 -1
  92. package/constants/activity.constants.mjs +0 -1
  93. package/constants/addresses.constants.cjs +1 -1
  94. package/constants/addresses.constants.mjs +9 -10
  95. package/constants/chains.constants.cjs +1 -1
  96. package/constants/chains.constants.d.ts +6 -0
  97. package/constants/chains.constants.mjs +52 -58
  98. package/constants/coingecko.constants.cjs +1 -1
  99. package/constants/coingecko.constants.d.ts +0 -1
  100. package/constants/coingecko.constants.mjs +10 -11
  101. package/constants/contracts.constants.cjs +1 -1
  102. package/constants/contracts.constants.d.ts +3 -3
  103. package/constants/contracts.constants.mjs +29 -29
  104. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-solana.json.mjs +2 -28
  106. package/constants/function-signatures.constants.cjs +1 -1
  107. package/constants/function-signatures.constants.d.ts +1 -0
  108. package/constants/function-signatures.constants.mjs +4 -3
  109. package/constants/kyc.constants.cjs +1 -1
  110. package/constants/kyc.constants.mjs +40 -39
  111. package/constants/mediaUrls.constants.cjs +1 -1
  112. package/constants/mediaUrls.constants.d.ts +0 -1
  113. package/constants/mediaUrls.constants.mjs +1 -2
  114. package/constants/permit2.constants.cjs +1 -1
  115. package/constants/permit2.constants.d.ts +1 -0
  116. package/constants/permit2.constants.mjs +11 -10
  117. package/constants/server.constants.cjs +1 -1
  118. package/constants/server.constants.d.ts +123 -19
  119. package/constants/server.constants.mjs +138 -35
  120. package/constants/tasks.constants.cjs +1 -1
  121. package/constants/tasks.constants.mjs +4 -5
  122. package/constants/vite.constants.cjs +1 -1
  123. package/constants/vite.constants.mjs +13 -36
  124. package/crypto/poseidon.cjs +1 -1
  125. package/crypto/poseidon.mjs +10 -10
  126. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  127. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +86 -83
  128. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  129. package/data-structures/Hinkal/Hinkal.d.ts +56 -45
  130. package/data-structures/Hinkal/Hinkal.mjs +348 -315
  131. package/data-structures/Hinkal/IHinkal.d.ts +56 -42
  132. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  133. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  134. package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -48
  135. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
  136. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +7 -0
  137. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +42 -0
  138. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalActionReceive.mjs +24 -29
  140. package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
  141. package/data-structures/Hinkal/hinkalApprove.d.ts +3 -0
  142. package/data-structures/Hinkal/hinkalApprove.mjs +114 -0
  143. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  144. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +19 -20
  145. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalDeposit.mjs +84 -89
  147. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  148. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  149. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -78
  150. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
  152. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +79 -75
  153. package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
  155. package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +151 -140
  156. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  157. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +5 -4
  158. package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
  159. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +4 -0
  160. package/data-structures/Hinkal/hinkalInsideTransact.mjs +120 -0
  161. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  162. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
  163. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +118 -115
  164. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  165. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +29 -30
  166. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  167. package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -40
  168. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  169. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -37
  170. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  171. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +2 -1
  172. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -17
  173. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  174. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +3 -4
  175. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +95 -84
  176. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  177. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +1 -2
  178. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +180 -154
  179. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  180. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +3 -2
  181. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +40 -43
  182. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  183. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +67 -71
  184. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  185. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  186. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -63
  187. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  188. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +46 -50
  189. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  190. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +50 -52
  191. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  192. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
  193. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +65 -69
  194. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  195. package/data-structures/Hinkal/hinkalSwap.mjs +77 -71
  196. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  197. package/data-structures/Hinkal/hinkalTransfer.mjs +70 -72
  198. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  199. package/data-structures/Hinkal/hinkalWithdraw.mjs +78 -81
  200. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  201. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -106
  202. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  203. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  204. package/data-structures/Hinkal/resetMerkleTrees.mjs +54 -108
  205. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  206. package/data-structures/IndexedDB/activity-db.d.ts +0 -1
  207. package/data-structures/IndexedDB/activity-db.mjs +79 -97
  208. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  209. package/data-structures/IndexedDB/balances-db.mjs +39 -43
  210. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  211. package/data-structures/IndexedDB/contact-db.mjs +31 -36
  212. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  213. package/data-structures/IndexedDB/signatures-db.mjs +40 -26
  214. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  215. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -82
  216. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  217. package/data-structures/TokenDBs/token-visibility-db.mjs +36 -22
  218. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  219. package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
  220. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  221. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
  222. package/data-structures/crypto-keys/keys.cjs +1 -1
  223. package/data-structures/crypto-keys/keys.d.ts +10 -0
  224. package/data-structures/crypto-keys/keys.mjs +106 -47
  225. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  226. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +2 -3
  227. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
  228. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
  229. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +2 -3
  230. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
  231. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  232. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +2 -3
  233. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
  234. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  235. package/data-structures/event-service/evm/AbstractEventService.d.ts +2 -4
  236. package/data-structures/event-service/evm/AbstractEventService.mjs +13 -13
  237. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  238. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
  239. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +3 -3
  240. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  241. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -1
  242. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +6 -2
  243. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  244. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +5 -10
  245. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +40 -40
  246. package/data-structures/event-service/index.d.ts +0 -4
  247. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  248. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +2 -3
  249. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
  250. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  251. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +3 -4
  252. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
  253. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  254. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +10 -4
  255. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +7 -10
  256. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  257. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +2 -3
  258. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +2 -2
  259. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  260. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +2 -1
  261. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +2 -1
  262. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  263. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +16 -11
  264. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +66 -64
  265. package/data-structures/index.d.ts +0 -3
  266. package/data-structures/presale/PresaleContractWrapper.cjs +1 -1
  267. package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
  268. package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
  269. package/data-structures/provider-adapter/IProviderAdapter.d.ts +16 -11
  270. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  271. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +18 -18
  272. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  273. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +9 -9
  274. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  275. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +4 -6
  276. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  277. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +4 -6
  278. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  279. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +4 -6
  280. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  281. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +4 -5
  282. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  283. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +4 -6
  284. package/error-handling/error-codes.constants.cjs +1 -1
  285. package/error-handling/error-codes.constants.d.ts +0 -1
  286. package/error-handling/error-codes.constants.mjs +3 -4
  287. package/error-handling/get-error.message.cjs +1 -1
  288. package/error-handling/get-error.message.mjs +27 -22
  289. package/error-handling/handleErrorRestore.cjs +1 -0
  290. package/error-handling/handleErrorRestore.d.ts +2 -0
  291. package/error-handling/handleErrorRestore.mjs +11 -0
  292. package/error-handling/index.d.ts +1 -0
  293. package/functions/kyc/authentoHelper.cjs +1 -0
  294. package/functions/kyc/authentoHelper.d.ts +12 -0
  295. package/functions/kyc/authentoHelper.mjs +30 -0
  296. package/functions/kyc/zkMeHelper.cjs +1 -1
  297. package/functions/kyc/zkMeHelper.mjs +16 -17
  298. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  299. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  300. package/functions/pre-transaction/constructAdminData.mjs +18 -12
  301. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  302. package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -1
  303. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  304. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  305. package/functions/pre-transaction/getFlatFees.mjs +2 -3
  306. package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  307. package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
  308. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  309. package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -22
  310. package/functions/pre-transaction/interaction-to-action.cjs +1 -1
  311. package/functions/pre-transaction/interaction-to-action.mjs +2 -3
  312. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  313. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  314. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  315. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  316. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +9 -1
  317. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +34 -19
  318. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  319. package/functions/pre-transaction/sendV0Transaction.mjs +50 -53
  320. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  321. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  322. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  323. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  324. package/functions/private-wallet/emporium.helpers.d.ts +12 -10
  325. package/functions/private-wallet/emporium.helpers.mjs +139 -102
  326. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  327. package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -1
  328. package/functions/private-wallet/emporium.swap.helpers.mjs +106 -103
  329. package/functions/private-wallet/opProducer.cjs +1 -1
  330. package/functions/private-wallet/opProducer.mjs +1 -1
  331. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  332. package/functions/snarkjs/common.snarkjs.mjs +21 -18
  333. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  334. package/functions/snarkjs/constructEmporiumProof.mjs +49 -49
  335. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  336. package/functions/snarkjs/constructSolanaZkProof.mjs +11 -10
  337. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  338. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +10 -11
  339. package/functions/utils/addresses.cjs +1 -1
  340. package/functions/utils/addresses.d.ts +0 -1
  341. package/functions/utils/addresses.mjs +11 -12
  342. package/functions/utils/cacheFunctions.cjs +1 -1
  343. package/functions/utils/cacheFunctions.d.ts +1 -1
  344. package/functions/utils/cacheFunctions.mjs +55 -54
  345. package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  346. package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
  347. package/functions/utils/create-provider.cjs +1 -1
  348. package/functions/utils/create-provider.d.ts +2 -2
  349. package/functions/utils/create-provider.mjs +7 -11
  350. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  351. package/functions/utils/encryptInputForEnclave.mjs +9 -9
  352. package/functions/utils/ethers-formatter.utils.d.ts +1 -1
  353. package/functions/utils/external-action.utils.cjs +1 -1
  354. package/functions/utils/external-action.utils.mjs +2 -2
  355. package/functions/utils/get-hinkal-approvals.cjs +1 -0
  356. package/functions/utils/get-hinkal-approvals.d.ts +3 -0
  357. package/functions/utils/get-hinkal-approvals.mjs +38 -0
  358. package/functions/utils/getContractAddress.cjs +1 -0
  359. package/functions/utils/getContractAddress.d.ts +2 -0
  360. package/functions/utils/getContractAddress.mjs +9 -0
  361. package/functions/utils/getDataFromTransaction.cjs +1 -1
  362. package/functions/utils/getDataFromTransaction.d.ts +0 -11
  363. package/functions/utils/getDataFromTransaction.mjs +26 -50
  364. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  365. package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
  366. package/functions/utils/getSignerFromContract.cjs +1 -0
  367. package/functions/utils/getSignerFromContract.d.ts +3 -0
  368. package/functions/utils/getSignerFromContract.mjs +16 -0
  369. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  370. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  371. package/functions/utils/getUtxosFromReceipt.utils.mjs +14 -15
  372. package/functions/utils/inLogicMetadata.cjs +1 -1
  373. package/functions/utils/inLogicMetadata.mjs +2 -2
  374. package/functions/utils/index.d.ts +1 -0
  375. package/functions/utils/involves-permit2-op.cjs +1 -1
  376. package/functions/utils/involves-permit2-op.d.ts +1 -0
  377. package/functions/utils/involves-permit2-op.mjs +6 -4
  378. package/functions/utils/mutexes.utils.cjs +1 -1
  379. package/functions/utils/mutexes.utils.d.ts +1 -1
  380. package/functions/utils/mutexes.utils.mjs +3 -3
  381. package/functions/utils/nftTokenFunctions.cjs +1 -1
  382. package/functions/utils/nftTokenFunctions.mjs +23 -9
  383. package/functions/utils/prepareHinkal.cjs +1 -1
  384. package/functions/utils/prepareHinkal.d.ts +13 -6
  385. package/functions/utils/prepareHinkal.mjs +72 -45
  386. package/functions/utils/publicBalance.utils.cjs +1 -1
  387. package/functions/utils/publicBalance.utils.d.ts +1 -1
  388. package/functions/utils/publicBalance.utils.mjs +62 -57
  389. package/functions/utils/replaceAddressInCalldata.cjs +1 -0
  390. package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
  391. package/functions/utils/replaceAddressInCalldata.mjs +7 -0
  392. package/functions/utils/rpc-int-encode.cjs +1 -1
  393. package/functions/utils/rpc-int-encode.d.ts +1 -2
  394. package/functions/utils/rpc-int-encode.mjs +3 -6
  395. package/functions/utils/solanaMint.utils.cjs +1 -1
  396. package/functions/utils/solanaMint.utils.mjs +6 -6
  397. package/functions/utils/string.utils.cjs +1 -1
  398. package/functions/utils/string.utils.d.ts +0 -1
  399. package/functions/utils/string.utils.mjs +14 -18
  400. package/functions/utils/token-check.utils.cjs +1 -1
  401. package/functions/utils/token-check.utils.d.ts +0 -3
  402. package/functions/utils/token-check.utils.mjs +7 -18
  403. package/functions/utils/upToDateState.cjs +1 -1
  404. package/functions/utils/upToDateState.d.ts +1 -1
  405. package/functions/utils/upToDateState.mjs +4 -4
  406. package/functions/utils/walletBalances.utils.cjs +1 -1
  407. package/functions/utils/walletBalances.utils.d.ts +17 -2
  408. package/functions/utils/walletBalances.utils.mjs +36 -5
  409. package/functions/web3/EIP-712.cjs +1 -1
  410. package/functions/web3/EIP-712.d.ts +4 -4
  411. package/functions/web3/EIP-712.mjs +1 -1
  412. package/functions/web3/etherFunctions.cjs +1 -1
  413. package/functions/web3/etherFunctions.mjs +32 -29
  414. package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
  415. package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
  416. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  417. package/functions/web3/events/balanceChangedHandler.mjs +2 -3
  418. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  419. package/functions/web3/events/getApprovedBalance.d.ts +4 -3
  420. package/functions/web3/events/getApprovedBalance.mjs +44 -39
  421. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  422. package/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -3
  423. package/functions/web3/events/getInputUtxoAndBalance.mjs +150 -129
  424. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  425. package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
  426. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  427. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  428. package/functions/web3/events/getShieldedBalance.mjs +75 -73
  429. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  430. package/functions/web3/events/getTransactionLogEvents.d.ts +3 -3
  431. package/functions/web3/events/getTransactionLogEvents.mjs +41 -40
  432. package/functions/web3/events/index.d.ts +0 -1
  433. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  434. package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
  435. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +12 -16
  436. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  437. package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
  438. package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -12
  439. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  440. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  441. package/functions/web3/functionCalls/approveToken.mjs +68 -69
  442. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  443. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  444. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  445. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  446. package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  447. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
  448. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  449. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -1
  450. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  451. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
  452. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
  453. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +29 -0
  454. package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
  455. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  456. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  457. package/functions/web3/functionCalls/transactCallDirect.mjs +47 -39
  458. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  459. package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
  460. package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -56
  461. package/functions/web3/getContractMetadata.cjs +1 -1
  462. package/functions/web3/getContractMetadata.d.ts +1 -1
  463. package/functions/web3/getContractMetadata.mjs +21 -16
  464. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  465. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  466. package/functions/web3/getPublicAddressBalance.mjs +7 -6
  467. package/functions/web3/getTokenHolder.cjs +1 -1
  468. package/functions/web3/getTokenHolder.mjs +32 -31
  469. package/functions/web3/index.d.ts +0 -1
  470. package/functions/web3/lifiAPI.cjs +1 -1
  471. package/functions/web3/lifiAPI.d.ts +1 -1
  472. package/functions/web3/lifiAPI.mjs +12 -12
  473. package/functions/web3/odosAPI.cjs +1 -1
  474. package/functions/web3/odosAPI.mjs +15 -3
  475. package/functions/web3/okxAPI.cjs +1 -1
  476. package/functions/web3/okxAPI.mjs +13 -13
  477. package/functions/web3/oneInchAPI.cjs +1 -1
  478. package/functions/web3/oneInchAPI.mjs +20 -8
  479. package/functions/web3/runContractFunction.cjs +1 -1
  480. package/functions/web3/runContractFunction.d.ts +6 -5
  481. package/functions/web3/runContractFunction.mjs +60 -46
  482. package/functions/web3/uniswapAPI.cjs +1 -1
  483. package/functions/web3/uniswapAPI.d.ts +2 -2
  484. package/functions/web3/uniswapAPI.mjs +49 -38
  485. package/index.cjs +1 -1
  486. package/index.mjs +912 -914
  487. package/package.json +4 -6
  488. package/providers/CustomEthersProvider.d.ts +1 -1
  489. package/providers/EthersProviderAdapter.cjs +1 -1
  490. package/providers/EthersProviderAdapter.d.ts +21 -14
  491. package/providers/EthersProviderAdapter.mjs +86 -53
  492. package/providers/SolanaProviderAdapter.cjs +1 -1
  493. package/providers/SolanaProviderAdapter.d.ts +12 -8
  494. package/providers/SolanaProviderAdapter.mjs +31 -16
  495. package/providers/WagmiProviderAdapter.cjs +1 -1
  496. package/providers/WagmiProviderAdapter.d.ts +20 -14
  497. package/providers/WagmiProviderAdapter.mjs +126 -91
  498. package/providers/prepareEthersHinkal.cjs +1 -1
  499. package/providers/prepareEthersHinkal.d.ts +2 -2
  500. package/providers/prepareEthersHinkal.mjs +9 -16
  501. package/providers/prepareWagmiHinkal.cjs +1 -1
  502. package/providers/prepareWagmiHinkal.mjs +9 -17
  503. package/types/TransactionSimulator.types.d.ts +9 -2
  504. package/types/activities.types.d.ts +2 -5
  505. package/types/admin.types.cjs +1 -1
  506. package/types/admin.types.d.ts +6 -0
  507. package/types/admin.types.mjs +2 -2
  508. package/types/balances.types.d.ts +1 -0
  509. package/types/big-intable.types.d.ts +3 -2
  510. package/types/bridging.types.d.ts +29 -0
  511. package/types/cache.types.cjs +1 -1
  512. package/types/cache.types.d.ts +3 -6
  513. package/types/cache.types.mjs +1 -1
  514. package/types/coingecko.types.d.ts +0 -5
  515. package/types/duneAPI.types.d.ts +9 -0
  516. package/types/ethereum-network.types.d.ts +10 -11
  517. package/types/hinkal.types.cjs +1 -1
  518. package/types/hinkal.types.d.ts +1 -1
  519. package/types/hinkal.types.mjs +18 -18
  520. package/types/index.d.ts +2 -2
  521. package/types/proxy.types.d.ts +3 -6
  522. package/types/sandbox.types.cjs +1 -1
  523. package/types/sandbox.types.d.ts +39 -10
  524. package/types/sandbox.types.mjs +2 -2
  525. package/types/scheduled-transactions.types.cjs +1 -1
  526. package/types/scheduled-transactions.types.d.ts +6 -0
  527. package/types/scheduled-transactions.types.mjs +3 -2
  528. package/types/session.types.d.ts +0 -2
  529. package/types/solana.types.d.ts +0 -9
  530. package/types/token-prices.types.cjs +1 -1
  531. package/types/token-prices.types.d.ts +0 -7
  532. package/types/token-prices.types.mjs +2 -4
  533. package/types/transactions.types.cjs +1 -1
  534. package/types/transactions.types.d.ts +2 -3
  535. package/types/transactions.types.mjs +6 -7
  536. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  537. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  538. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  539. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  540. package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
  541. package/webworker/utxoWorker/utxoWorkerLogic.mjs +1 -1
  542. package/webworker/viteWorkerURL.constant.cjs +3 -3
  543. package/webworker/viteWorkerURL.constant.mjs +3 -3
  544. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  545. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  546. package/API/get-token-price-chart-data.cjs +0 -1
  547. package/API/get-token-price-chart-data.d.ts +0 -16
  548. package/API/get-token-price-chart-data.mjs +0 -13
  549. package/API/onrampCalls.cjs +0 -1
  550. package/API/onrampCalls.d.ts +0 -20
  551. package/API/onrampCalls.mjs +0 -15
  552. package/API/unspent-utxos-calls.cjs +0 -1
  553. package/API/unspent-utxos-calls.d.ts +0 -26
  554. package/API/unspent-utxos-calls.mjs +0 -26
  555. package/data-structures/AccountActions/AccountActions.cjs +0 -1
  556. package/data-structures/AccountActions/AccountActions.d.ts +0 -18
  557. package/data-structures/AccountActions/AccountActions.mjs +0 -78
  558. package/data-structures/AccountActions/index.d.ts +0 -1
  559. package/data-structures/BlockchainEvent/BlockchainEvent.cjs +0 -1
  560. package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +0 -14
  561. package/data-structures/BlockchainEvent/BlockchainEvent.mjs +0 -41
  562. package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +0 -1
  563. package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +0 -20
  564. package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +0 -124
  565. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +0 -1
  566. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +0 -15
  567. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +0 -64
  568. package/data-structures/PublicBalance/index.d.ts +0 -2
  569. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +0 -1
  570. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +0 -11
  571. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +0 -21
  572. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
  573. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +0 -6
  574. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -16
  575. package/data-structures/event-service/helpers/ClientEventHelper.cjs +0 -1
  576. package/data-structures/event-service/helpers/ClientEventHelper.d.ts +0 -11
  577. package/data-structures/event-service/helpers/ClientEventHelper.mjs +0 -26
  578. package/data-structures/event-service/helpers/PollingEventHelper.cjs +0 -1
  579. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +0 -5
  580. package/data-structures/event-service/helpers/PollingEventHelper.mjs +0 -14
  581. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +0 -1
  582. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +0 -11
  583. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +0 -22
  584. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
  585. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +0 -6
  586. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -16
  587. package/functions/utils/enum.utils.cjs +0 -1
  588. package/functions/utils/enum.utils.mjs +0 -14
  589. package/functions/utils/socket.utils.cjs +0 -1
  590. package/functions/utils/socket.utils.d.ts +0 -1
  591. package/functions/utils/socket.utils.mjs +0 -12
  592. package/functions/web3/crypto.cjs +0 -1
  593. package/functions/web3/crypto.d.ts +0 -1
  594. package/functions/web3/crypto.mjs +0 -7
  595. package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
  596. package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
  597. package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
  598. package/types/events.types.cjs +0 -1
  599. package/types/events.types.d.ts +0 -9
  600. package/types/events.types.mjs +0 -5
  601. package/types/onramp.types.cjs +0 -1
  602. package/types/onramp.types.d.ts +0 -58
  603. package/types/onramp.types.mjs +0 -4
@@ -1,8 +1,7 @@
1
1
  import { MerkleTree, MerkleTreeJson } from '../../merkle-tree';
2
- import { CommitmentEvent, EncryptedOutputWithSign } from '../../../types';
2
+ import { CommitmentEvent, EncryptedOutputWithSign, SolanaCommitmentEvent } from '../../../types';
3
3
  import { AbstractSolanaSnapshotService, SolanaSnapshot } from './AbstractSolanaSnapshotService';
4
4
  import { SolanaBlockchainEventEmitter } from './SolanaBlockchainEventEmitter';
5
- import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
6
5
  export type SolanaCommitmentsSnapshotPayload = {
7
6
  readonly merkleTree: MerkleTree<bigint>;
8
7
  readonly encryptedOutputs: EncryptedOutputWithSign[];
@@ -12,7 +11,7 @@ export type SolanaCommitmentsSerializedSnapshot = {
12
11
  merkleTree?: MerkleTreeJson;
13
12
  encryptedOutputs?: EncryptedOutputWithSign<string>[];
14
13
  };
15
- export declare abstract class AbstractSolanaCommitmentsSnapshotService extends AbstractSolanaSnapshotService<CommitmentEvent<bigint>, SolanaCommitmentsSnapshotPayload, SolanaCommitmentsSerializedSnapshot> {
14
+ export declare abstract class AbstractSolanaCommitmentsSnapshotService extends AbstractSolanaSnapshotService<CommitmentEvent<bigint>, SolanaCommitmentEvent, SolanaCommitmentsSnapshotPayload, SolanaCommitmentsSerializedSnapshot> {
16
15
  constructor(solanaEventEmitter: SolanaBlockchainEventEmitter);
17
16
  private _merkleTree;
18
17
  private _encryptedOutputs;
@@ -25,6 +24,6 @@ export declare abstract class AbstractSolanaCommitmentsSnapshotService extends A
25
24
  encryptedOutputs: EncryptedOutputWithSign<boolean>[];
26
25
  };
27
26
  protected populateSnapshot({ payload: { merkleTree, encryptedOutputs }, }: SolanaSnapshot<SolanaCommitmentsSnapshotPayload>): void;
28
- protected mapEvent(event: BlockchainEvent): Promise<CommitmentEvent<bigint>>;
27
+ protected mapEvent(event: SolanaCommitmentEvent): Promise<CommitmentEvent<bigint>>;
29
28
  protected acceptEvent(event: CommitmentEvent<bigint>, _slot: number, _signature?: string, isBlocked?: boolean): boolean;
30
29
  }
@@ -6,11 +6,11 @@ import "buffer";
6
6
  import { MerkleTree as a } from "../../merkle-tree/MerkleTree.mjs";
7
7
  import "ethers";
8
8
  import "../../../error-handling/error-codes.constants.mjs";
9
- import { advancedToBigInt as c } from "../../../functions/utils/amounts.utils.mjs";
9
+ import { advancedToBigInt as u } from "../../../functions/utils/amounts.utils.mjs";
10
10
  import { AbstractSolanaSnapshotService as l } from "./AbstractSolanaSnapshotService.mjs";
11
11
  import { contructMerkleTreeFromSerialized as d } from "../../../functions/utils/merkleTree.utils.mjs";
12
12
  import { encodeSolanaOnChainUtxo as y, isSolanaOnChainUtxo as O } from "../../crypto-keys/decodeUTXO.mjs";
13
- class P extends l {
13
+ class I extends l {
14
14
  constructor(e) {
15
15
  super(e, "NewCommitment");
16
16
  }
@@ -61,20 +61,20 @@ class P extends l {
61
61
  this._merkleTree = e, this._encryptedOutputs = t;
62
62
  }
63
63
  async mapEvent(e) {
64
- const t = e.getArg("commitment"), n = e.getArg("index"), r = e.getArg("encrypted_output"), i = e.getArg("on_chain_data"), s = c(t), o = c(n);
64
+ const { commitment: t, index: n, encrypted_output: r, on_chain_data: i } = e, s = u(t), o = u(n);
65
65
  if (r.length === 0) {
66
- const u = y(i);
66
+ const m = y(i);
67
67
  return {
68
68
  commitment: s,
69
69
  index: o,
70
- encryptedOutput: u
70
+ encryptedOutput: m
71
71
  };
72
72
  }
73
- const m = `0x${Buffer.from(r).toString("hex")}`;
73
+ const c = `0x${Buffer.from(r).toString("hex")}`;
74
74
  return {
75
75
  commitment: s,
76
76
  index: o,
77
- encryptedOutput: m
77
+ encryptedOutput: c
78
78
  };
79
79
  }
80
80
  acceptEvent(e, t, n, r) {
@@ -92,5 +92,5 @@ class P extends l {
92
92
  }
93
93
  }
94
94
  export {
95
- P as AbstractSolanaCommitmentsSnapshotService
95
+ I as AbstractSolanaCommitmentsSnapshotService
96
96
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class l{solanaBlockchainEventEmitter;eventName;constructor(e,s){this.solanaBlockchainEventEmitter=e,this.eventName=s,e.addEventProcessorFunction(this.processEventsPage.bind(this))}get latestBlockNumber(){return this.solanaBlockchainEventEmitter.latestBlockNumber}get chainId(){return this.solanaBlockchainEventEmitter.chainId}intervalClear(){this.solanaBlockchainEventEmitter.intervalClear()}async processEventsPage(e){const s=[],a=new Set;e.forEach(({eventName:t,transactionHash:n})=>{t==="BlockedUtxosCreated"&&a.add(n)});const c=e.filter(t=>t.eventName===this.eventName).map(async t=>{try{const n=await this.mapEvent(t),i=a.has(t.transactionHash);return await this.acceptEvent(n,t.blockNumber,t.transactionHash,i)?n:null}catch{return null}}),r=(await Promise.all(c)).filter(t=>t!==null);s.push(...r);const o=s.length;return await this.afterEventsAccepted(o),s.length}}exports.AbstractSolanaEventService=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class i{solanaBlockchainEventEmitter;eventName;constructor(e,s){this.solanaBlockchainEventEmitter=e,this.eventName=s,e.addEventProcessorFunction(this.processEventsPage.bind(this))}get latestBlockNumber(){return this.solanaBlockchainEventEmitter.latestBlockNumber}intervalClear(){this.solanaBlockchainEventEmitter.intervalClear()}async processEventsPage(e){const s=[],n=new Set;e.forEach(({eventName:t,signature:a})=>{t==="BlockedUtxosCreated"&&n.add(a)});const c=e.filter(t=>t.eventName===this.eventName).map(async t=>{try{const a=await this.mapEvent(t.data),o=n.has(t.signature);return await this.acceptEvent(a,t.slot,t.signature,o)?a:null}catch{return null}}),r=(await Promise.all(c)).filter(t=>t!==null);s.push(...r);const l=s.length;return await this.afterEventsAccepted(l),s.length}}exports.AbstractSolanaEventService=i;
@@ -1,16 +1,22 @@
1
- import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
2
1
  import { SolanaBlockchainEventEmitter } from './SolanaBlockchainEventEmitter';
2
+ export interface SolanaEvent {
3
+ signature: string;
4
+ slot: number;
5
+ blockTime: number;
6
+ programId: any;
7
+ data: any;
8
+ eventName: string;
9
+ }
3
10
  type PromiseOrValue<T> = T | Promise<T>;
4
- export declare abstract class AbstractSolanaEventService<EventType> {
11
+ export declare abstract class AbstractSolanaEventService<EventType, SerializedEventType = unknown> {
5
12
  protected solanaBlockchainEventEmitter: SolanaBlockchainEventEmitter;
6
13
  protected readonly eventName: string;
7
14
  protected constructor(solanaBlockchainEventEmitter: SolanaBlockchainEventEmitter, eventName: string);
8
15
  get latestBlockNumber(): number;
9
- get chainId(): number;
10
16
  intervalClear(): void;
11
17
  private processEventsPage;
12
18
  protected abstract acceptEvent(event: EventType, slot: number, signature?: string, isBlocked?: boolean): boolean | Promise<boolean>;
13
- protected abstract mapEvent(event: BlockchainEvent): PromiseOrValue<EventType>;
19
+ protected abstract mapEvent(event: SerializedEventType): PromiseOrValue<EventType>;
14
20
  protected abstract afterEventsAccepted(eventsCount: number): Promise<void>;
15
21
  }
16
22
  export {};
@@ -1,4 +1,4 @@
1
- class u {
1
+ class E {
2
2
  solanaBlockchainEventEmitter;
3
3
  eventName;
4
4
  constructor(e, s) {
@@ -7,30 +7,27 @@ class u {
7
7
  get latestBlockNumber() {
8
8
  return this.solanaBlockchainEventEmitter.latestBlockNumber;
9
9
  }
10
- get chainId() {
11
- return this.solanaBlockchainEventEmitter.chainId;
12
- }
13
10
  intervalClear() {
14
11
  this.solanaBlockchainEventEmitter.intervalClear();
15
12
  }
16
13
  async processEventsPage(e) {
17
14
  const s = [], a = /* @__PURE__ */ new Set();
18
- e.forEach(({ eventName: t, transactionHash: n }) => {
15
+ e.forEach(({ eventName: t, signature: n }) => {
19
16
  t === "BlockedUtxosCreated" && a.add(n);
20
17
  });
21
18
  const c = e.filter((t) => t.eventName === this.eventName).map(async (t) => {
22
19
  try {
23
- const n = await this.mapEvent(t), i = a.has(t.transactionHash);
24
- return await this.acceptEvent(n, t.blockNumber, t.transactionHash, i) ? n : null;
20
+ const n = await this.mapEvent(t.data), o = a.has(t.signature);
21
+ return await this.acceptEvent(n, t.slot, t.signature, o) ? n : null;
25
22
  } catch {
26
23
  return null;
27
24
  }
28
25
  }), r = (await Promise.all(c)).filter((t) => t !== null);
29
26
  s.push(...r);
30
- const o = s.length;
31
- return await this.afterEventsAccepted(o), s.length;
27
+ const l = s.length;
28
+ return await this.afterEventsAccepted(l), s.length;
32
29
  }
33
30
  }
34
31
  export {
35
- u as AbstractSolanaEventService
32
+ E as AbstractSolanaEventService
36
33
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("ethers"),i=require("../../../functions/utils/amounts.utils.cjs"),n=require("./AbstractSolanaSnapshotService.cjs");class s extends n.AbstractSolanaSnapshotService{constructor(e){super(e,"Nullified")}_nullifiers;get nullifiers(){return this._nullifiers}serializeSnapshot(e){return{nullifiers:Array.from(e.payload.nullifiers).map(r=>r.toString()),latestBlockNumber:e.latestBlockNumber}}deserializeSnapshot(e){return{latestBlockNumber:e.latestBlockNumber??0,payload:{nullifiers:new Set(e.nullifiers??[])}}}acceptEvent(e,r){try{return this._nullifiers.has(e.nullifier)?!1:(this._nullifiers.add(e.nullifier),!0)}catch(t){return console.error(t),!1}}mapEvent(e){return{nullifier:l.BigNumber.from(i.advancedToBigInt(e.getArg("nullifier"))).toHexString()}}getSnapshotPayload(){return{nullifiers:this._nullifiers}}populateSnapshot({payload:{nullifiers:e}}){this._nullifiers=e}}exports.AbstractSolanaNullifierSnapshotService=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("ethers"),i=require("../../../functions/utils/amounts.utils.cjs"),s=require("./AbstractSolanaSnapshotService.cjs");class n extends s.AbstractSolanaSnapshotService{constructor(e){super(e,"Nullified")}_nullifiers;get nullifiers(){return this._nullifiers}serializeSnapshot(e){return{nullifiers:Array.from(e.payload.nullifiers).map(r=>r.toString()),latestBlockNumber:e.latestBlockNumber}}deserializeSnapshot(e){return{latestBlockNumber:e.latestBlockNumber??0,payload:{nullifiers:new Set(e.nullifiers??[])}}}acceptEvent(e,r){try{return this._nullifiers.has(e.nullifier)?!1:(this._nullifiers.add(e.nullifier),!0)}catch(l){return console.error(l),!1}}mapEvent(e){return{nullifier:t.ethers.toBeHex(i.advancedToBigInt(e.nullifier))}}getSnapshotPayload(){return{nullifiers:this._nullifiers}}populateSnapshot({payload:{nullifiers:e}}){this._nullifiers=e}}exports.AbstractSolanaNullifierSnapshotService=n;
@@ -1,7 +1,6 @@
1
1
  import { NullifierEvent } from '../../../types/commitments.types';
2
2
  import { AbstractSolanaSnapshotService, SolanaSnapshot } from './AbstractSolanaSnapshotService';
3
3
  import { SolanaBlockchainEventEmitter } from './SolanaBlockchainEventEmitter';
4
- import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
5
4
  export type SolanaNullifierSnapshotPayload = {
6
5
  readonly nullifiers: Set<string>;
7
6
  };
@@ -9,14 +8,14 @@ export type SolanaNullifierSerializedSnapshot = {
9
8
  latestBlockNumber?: number;
10
9
  nullifiers?: string[];
11
10
  };
12
- export declare abstract class AbstractSolanaNullifierSnapshotService extends AbstractSolanaSnapshotService<NullifierEvent<string>, SolanaNullifierSnapshotPayload, SolanaNullifierSerializedSnapshot> {
11
+ export declare abstract class AbstractSolanaNullifierSnapshotService extends AbstractSolanaSnapshotService<NullifierEvent<string>, NullifierEvent<number[]>, SolanaNullifierSnapshotPayload, SolanaNullifierSerializedSnapshot> {
13
12
  constructor(solanaEventEmitter: SolanaBlockchainEventEmitter);
14
13
  private _nullifiers;
15
14
  get nullifiers(): Set<string>;
16
15
  protected serializeSnapshot(snapshot: SolanaSnapshot<SolanaNullifierSnapshotPayload>): SolanaNullifierSerializedSnapshot;
17
16
  protected deserializeSnapshot(serializedSnapshot: SolanaNullifierSerializedSnapshot): SolanaSnapshot<SolanaNullifierSnapshotPayload>;
18
17
  protected acceptEvent(event: NullifierEvent<string>, _slot: number): boolean;
19
- protected mapEvent(event: BlockchainEvent): NullifierEvent<string>;
18
+ protected mapEvent(event: NullifierEvent<number[]>): NullifierEvent<string>;
20
19
  protected getSnapshotPayload(): SolanaNullifierSnapshotPayload;
21
20
  protected populateSnapshot({ payload: { nullifiers } }: SolanaSnapshot<SolanaNullifierSnapshotPayload>): void;
22
21
  }
@@ -1,4 +1,4 @@
1
- import { BigNumber as i } from "ethers";
1
+ import { ethers as i } from "ethers";
2
2
  import { advancedToBigInt as t } from "../../../functions/utils/amounts.utils.mjs";
3
3
  import { AbstractSolanaSnapshotService as n } from "./AbstractSolanaSnapshotService.mjs";
4
4
  class f extends n {
@@ -32,7 +32,7 @@ class f extends n {
32
32
  }
33
33
  mapEvent(r) {
34
34
  return {
35
- nullifier: i.from(t(r.getArg("nullifier"))).toHexString()
35
+ nullifier: i.toBeHex(t(r.nullifier))
36
36
  };
37
37
  }
38
38
  getSnapshotPayload() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./AbstractSolanaEventService.cjs"),a=require("../../../constants/save-depths.cjs");class o extends e.AbstractSolanaEventService{savedLatestSlot=0;constructor(t,s){super(t,s)}async init(){await this.loadSnapshot()}async retrieveEventsFromLatestBlock(){await this.solanaBlockchainEventEmitter.retrieveEvents(this.latestBlockNumber)}async loadSnapshot(){const t=await this.fetchSnapshot(),s=this.deserializeSnapshot(t);this.populateSnapshot(s),this.solanaBlockchainEventEmitter.syncFromAtMost(s.latestBlockNumber),this.savedLatestSlot=s.latestBlockNumber}saveSnapshot(){return this.savedLatestSlot=this.latestBlockNumber,this.persistSnapshot(this.serializeSnapshot({latestBlockNumber:this.latestBlockNumber,payload:this.getSnapshotPayload()}))}async afterEventsAccepted(t){(t>0||this.savedLatestSlot+a.saveDepths[this.chainId]<this.latestBlockNumber)&&await this.saveSnapshot()}}exports.AbstractSolanaSnapshotService=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./AbstractSolanaEventService.cjs"),e=require("../../../constants/save-depths.cjs");class o extends a.AbstractSolanaEventService{savedLatestSlot=0;chainId=0;constructor(t,s){super(t,s)}async init(){await this.loadSnapshot(),this.chainId=this.solanaBlockchainEventEmitter.chainId}async retrieveEventsFromLatestBlock(){await this.solanaBlockchainEventEmitter.retrieveEvents(this.latestBlockNumber)}async loadSnapshot(){const t=await this.fetchSnapshot(),s=this.deserializeSnapshot(t);this.populateSnapshot(s),this.solanaBlockchainEventEmitter.syncFromAtMost(s.latestBlockNumber),this.savedLatestSlot=s.latestBlockNumber}saveSnapshot(){return this.savedLatestSlot=this.latestBlockNumber,this.persistSnapshot(this.serializeSnapshot({latestBlockNumber:this.latestBlockNumber,payload:this.getSnapshotPayload()}))}async afterEventsAccepted(t){(t>0||this.savedLatestSlot+e.saveDepths[this.chainId]<this.latestBlockNumber)&&await this.saveSnapshot()}}exports.AbstractSolanaSnapshotService=o;
@@ -4,8 +4,9 @@ export interface SolanaSnapshot<SnapshotPayloadType> {
4
4
  readonly latestBlockNumber: number;
5
5
  readonly payload: SnapshotPayloadType;
6
6
  }
7
- export declare abstract class AbstractSolanaSnapshotService<EventType, SnapshotPayloadType, SerializedSnapshotType> extends AbstractSolanaEventService<EventType> {
7
+ export declare abstract class AbstractSolanaSnapshotService<EventType, SerializedEventType, SnapshotPayloadType, SerializedSnapshotType> extends AbstractSolanaEventService<EventType, SerializedEventType> {
8
8
  private savedLatestSlot;
9
+ private chainId;
9
10
  protected constructor(solanaBlockchainEventEmitter: SolanaBlockchainEventEmitter, eventName: string);
10
11
  init(): Promise<void>;
11
12
  retrieveEventsFromLatestBlock(): Promise<void>;
@@ -2,11 +2,12 @@ import { AbstractSolanaEventService as a } from "./AbstractSolanaEventService.mj
2
2
  import { saveDepths as e } from "../../../constants/save-depths.mjs";
3
3
  class n extends a {
4
4
  savedLatestSlot = 0;
5
+ chainId = 0;
5
6
  constructor(t, s) {
6
7
  super(t, s);
7
8
  }
8
9
  async init() {
9
- await this.loadSnapshot();
10
+ await this.loadSnapshot(), this.chainId = this.solanaBlockchainEventEmitter.chainId;
10
11
  }
11
12
  async retrieveEventsFromLatestBlock() {
12
13
  await this.solanaBlockchainEventEmitter.retrieveEvents(this.latestBlockNumber);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@coral-xyz/anchor"),d=require("../../../functions/utils/resolve-sync.utils.cjs"),l=require("../../../error-handling/logger.cjs"),m=require("../../BlockchainEvent/BlockchainEvent.cjs"),g=1e3;class S{_chainId;connection;programId;_latestSlot;_initialSlot;onEventsProcessed;eventProcessors=new Set;maxPageSize;isReady=!1;isServer;inProgress;anchorParser;eventsFetchingMutex;constructor(e,s,a,t,r,c,o){this._chainId=e,this.connection=s,this.programId=a,this._initialSlot=t,this.maxPageSize=o,this.isServer=r,this.inProgress=!1,this.eventsFetchingMutex=c}get chainId(){return this._chainId}get latestBlockNumber(){return this._latestSlot??this._initialSlot}setIdl(e){try{const s=new u.BorshCoder(e);this.anchorParser=new u.EventParser(this.programId,s)}catch(s){l.Logger.error("Failed to initialize Anchor EventParser:",s),this.anchorParser=void 0}}syncFromAtMost(e){(this._latestSlot===void 0||e<this._latestSlot)&&(this._latestSlot=e)}intervalClear(){this.isReady=!1,this.eventProcessors=new Set,this.clear()}async init(){if(this.isReady)throw new Error("Already initialized");this.isReady=!0,await this.retrieveEvents(this.latestBlockNumber+1),await this.startUpdateListener()}requireReady(){if(!this.isReady)throw new Error("Not ready")}addEventProcessorFunction(e){if(this.isReady)throw new Error("Can't add event processor after event emitter initialized");this.eventProcessors.add(e)}async getLastSlotForEventRequest(){const e=await this.connection.getSlot();return this.isServer?Math.max(this.latestBlockNumber,e-32+1):e}async retrieveEvents(e,s=!1){const a=e;return this.requireReady(),await this.eventsFetchingMutex.runExclusive(async()=>{try{if(this.inProgress&&!s)return!1;this.inProgress=!0;const r=await this.getLastSlotForEventRequest();if(r<a)return this.inProgress=!1,!1;const c=d.getSequence(a,r,this.maxPageSize),o=[];await d.resolveSync(c.map(({from:n,to:i})=>async()=>{const v=await this.getProgramEvents(n,i);o.push(...v)}));const h=o.map(n=>m.BlockchainEvent.fromSolanaEvent(n));return await this.processEvents(h),this._latestSlot=r,this.inProgress=!1,!0}catch(r){return l.Logger.error("retrieveEvents error:",r),this.inProgress=!1,!1}})}async getProgramEvents(e,s){const a=[];try{const t=await this.connection.getSignaturesForAddress(this.programId,{limit:g,before:void 0});let r=t.length;for(;r>=g;){const n=t[t.length-1],i=await this.connection.getSignaturesForAddress(this.programId,{limit:g,before:n.signature});if(i.length===0)break;t.push(...i),r=i.length}const o=t.filter(n=>n.slot>=e&&n.slot<=s).map(async n=>{try{const i=await this.connection.getTransaction(n.signature,{commitment:"confirmed",maxSupportedTransactionVersion:0});return i&&i.meta&&i.meta.logMessages?this.parseLogsForEvents(i.meta.logMessages,n.signature,n.slot,i.blockTime||null):[]}catch(i){return l.Logger.error(`Failed to get transaction ${n.signature}:`,i),[]}}),h=await Promise.all(o);a.push(...h.flat())}catch(t){l.Logger.error("Error getting program events:",t)}return a}parseLogsForEvents(e,s,a,t){if(!this.anchorParser)return[];try{return Array.from(this.anchorParser.parseLogs(e)).map(({name:c,data:o})=>({signature:s,slot:a,blockTime:t||0,programId:this.programId,data:o,eventName:c}))}catch(r){return l.Logger.error("Anchor EventParser failed; falling back to generic parsing:",r),[]}}async processEvents(e){const a=(await Promise.all([...this.eventProcessors].map(t=>t(e)))).reduce((t,r)=>t+r,0);this.onEventsProcessed?.(a)}}exports.SolanaBlockchainEventEmitter=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("@coral-xyz/anchor"),m=require("../../../functions/utils/resolve-sync.utils.cjs"),p=require("../../../functions/utils/mutexes.utils.cjs"),l=require("../../../error-handling/logger.cjs"),g=require("../../../constants/chains.constants.cjs"),f=require("../../../functions/utils/caseInsensitive.utils.cjs"),d=1e3;class y{connection;programId;_latestSlot;_initialSlot;onEventsProcessed;eventProcessors=new Set;maxPageSize;isReady=!1;isServer;intervalId;inProgress;anchorParser;eventsFetchingMutex;constructor(e,r,a,s,n,o=p.balanceFetchingMutex){this.connection=e,this.programId=r,this._initialSlot=a,this.maxPageSize=n,this.isServer=s,this.inProgress=!1,this.eventsFetchingMutex=o}get latestBlockNumber(){return this._latestSlot??this._initialSlot}setIdl(e){try{const r=new v.BorshCoder(e);this.anchorParser=new v.EventParser(this.programId,r)}catch(r){l.Logger.error("Failed to initialize Anchor EventParser:",r),this.anchorParser=void 0}}syncFromAtMost(e){(this._latestSlot===void 0||e<this._latestSlot)&&(this._latestSlot=e)}intervalClear(){this.isReady=!1,this.eventProcessors=new Set,clearInterval(this.intervalId)}async init(){if(this.isReady)throw new Error("Already initialized");this.isReady=!0,await this.retrieveEvents(this.latestBlockNumber+1),this.intervalId=setInterval(async()=>{await this.retrieveEvents(this.latestBlockNumber)},3500)}requireReady(){if(!this.isReady)throw new Error("Not ready")}get chainId(){const e=this.connection.rpcEndpoint;return f.caseInsensitiveEqual(e,g.networkRegistry[g.chainIds.solanaMainnet].fetchRpcUrl)?g.chainIds.solanaMainnet:g.chainIds.solanaLocalnet}addEventProcessorFunction(e){if(this.isReady)throw new Error("Can't add event processor after event emitter initialized");this.eventProcessors.add(e)}async getLastSlotForEventRequest(){const e=await this.connection.getSlot();return this.isServer?Math.max(this.latestBlockNumber,e-32+1):e}async retrieveEvents(e,r=!1){const a=e;return this.requireReady(),await this.eventsFetchingMutex.runExclusive(async()=>{try{if(this.inProgress&&!r)return!1;this.inProgress=!0;let n=0;const o=await this.getLastSlotForEventRequest();if(o<a)return this.inProgress=!1,!1;const c=m.getSequence(a,o,this.maxPageSize),h=[];await m.resolveSync(c.map(({from:t,to:u})=>async()=>{const S=await this.getProgramEvents(t,u);h.push(...S)}));const i=await Promise.all([...this.eventProcessors].map(t=>t(h)));return this._latestSlot=o,n+=i.reduce((t,u)=>t+u,0),this.onEventsProcessed?.(n),this.inProgress=!1,!0}catch(n){return l.Logger.error("retrieveEvents error:",n),this.inProgress=!1,!1}})}async getProgramEvents(e,r){const a=[];try{const s=await this.connection.getSignaturesForAddress(this.programId,{limit:d,before:void 0});let n=s.length;for(;n>=d;){const i=s[s.length-1],t=await this.connection.getSignaturesForAddress(this.programId,{limit:d,before:i.signature});if(t.length===0)break;s.push(...t),n=t.length}const c=s.filter(i=>i.slot>=e&&i.slot<=r).map(async i=>{try{const t=await this.connection.getTransaction(i.signature,{commitment:"confirmed",maxSupportedTransactionVersion:0});return t&&t.meta&&t.meta.logMessages?this.parseLogsForEvents(t.meta.logMessages,i.signature,i.slot,t.blockTime||null):[]}catch(t){return l.Logger.error(`Failed to get transaction ${i.signature}:`,t),[]}}),h=await Promise.all(c);a.push(...h.flat())}catch(s){l.Logger.error("Error getting program events:",s)}return a}parseLogsForEvents(e,r,a,s){if(!this.anchorParser)return[];try{return Array.from(this.anchorParser.parseLogs(e)).map(({name:o,data:c})=>({signature:r,slot:a,blockTime:s||0,programId:this.programId,data:c,eventName:o}))}catch(n){return l.Logger.error("Anchor EventParser failed; falling back to generic parsing:",n),[]}}}exports.SolanaBlockchainEventEmitter=y;
@@ -1,10 +1,16 @@
1
1
  import { Connection, PublicKey } from '@solana/web3.js';
2
2
  import type { Idl } from '@coral-xyz/anchor';
3
3
  import { Mutex } from 'async-mutex';
4
- import { EventProcessorFunction } from '../../../types/events.types';
5
- import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
6
- export declare abstract class SolanaBlockchainEventEmitter {
7
- private readonly _chainId;
4
+ interface SolanaEvent {
5
+ signature: string;
6
+ slot: number;
7
+ blockTime: number;
8
+ programId: PublicKey;
9
+ data: any;
10
+ eventName: string;
11
+ }
12
+ export type SolanaEventProcessorFunction = (events: SolanaEvent[]) => Promise<number> | number;
13
+ export declare class SolanaBlockchainEventEmitter {
8
14
  readonly connection: Connection;
9
15
  readonly programId: PublicKey;
10
16
  private _latestSlot;
@@ -14,23 +20,22 @@ export declare abstract class SolanaBlockchainEventEmitter {
14
20
  private readonly maxPageSize?;
15
21
  private isReady;
16
22
  private isServer;
23
+ private intervalId?;
17
24
  private inProgress;
18
25
  private anchorParser?;
19
- protected eventsFetchingMutex: Mutex;
20
- constructor(chainId: number, connection: Connection, programId: PublicKey, initialSlot: number, isServer: boolean, eventsFetchingMutex: Mutex, maxPageSize?: number);
21
- get chainId(): number;
26
+ private eventsFetchingMutex;
27
+ constructor(connection: Connection, programId: PublicKey, initialSlot: number, isServer: boolean, maxPageSize?: number, eventsFetchingMutex?: Mutex);
22
28
  get latestBlockNumber(): number;
23
29
  setIdl(idl: Idl): void;
24
30
  syncFromAtMost(slot: number): void;
25
31
  intervalClear(): void;
26
32
  init(): Promise<void>;
27
33
  private requireReady;
28
- addEventProcessorFunction(eventProcessorFunction: EventProcessorFunction): void;
34
+ get chainId(): number;
35
+ addEventProcessorFunction(eventProcessorFunction: SolanaEventProcessorFunction): void;
29
36
  private getLastSlotForEventRequest;
30
37
  retrieveEvents(fromBlock: number, useForce?: boolean): Promise<boolean>;
31
38
  private getProgramEvents;
32
39
  private parseLogsForEvents;
33
- protected processEvents(events: BlockchainEvent[]): Promise<void>;
34
- protected abstract clear(): void;
35
- protected abstract startUpdateListener(): Promise<void> | void;
36
40
  }
41
+ export {};
@@ -1,10 +1,11 @@
1
- import { BorshCoder as d, EventParser as m } from "@coral-xyz/anchor";
2
- import { getSequence as v, resolveSync as p } from "../../../functions/utils/resolve-sync.utils.mjs";
1
+ import { BorshCoder as v, EventParser as p } from "@coral-xyz/anchor";
2
+ import { getSequence as f, resolveSync as S } from "../../../functions/utils/resolve-sync.utils.mjs";
3
+ import { balanceFetchingMutex as P } from "../../../functions/utils/mutexes.utils.mjs";
3
4
  import { Logger as l } from "../../../error-handling/logger.mjs";
4
- import { BlockchainEvent as S } from "../../BlockchainEvent/BlockchainEvent.mjs";
5
- const g = 1e3;
6
- class _ {
7
- _chainId;
5
+ import { networkRegistry as y, chainIds as u } from "../../../constants/chains.constants.mjs";
6
+ import { caseInsensitiveEqual as E } from "../../../functions/utils/caseInsensitive.utils.mjs";
7
+ const d = 1e3;
8
+ class A {
8
9
  connection;
9
10
  programId;
10
11
  _latestSlot;
@@ -14,42 +15,46 @@ class _ {
14
15
  maxPageSize;
15
16
  isReady = !1;
16
17
  isServer;
18
+ intervalId;
17
19
  inProgress;
18
20
  // to remove race conditions
19
21
  anchorParser;
20
22
  eventsFetchingMutex;
21
- constructor(t, s, a, e, r, c, o) {
22
- this._chainId = t, this.connection = s, this.programId = a, this._initialSlot = e, this.maxPageSize = o, this.isServer = r, this.inProgress = !1, this.eventsFetchingMutex = c;
23
- }
24
- get chainId() {
25
- return this._chainId;
23
+ constructor(t, r, a, s, n, o = P) {
24
+ this.connection = t, this.programId = r, this._initialSlot = a, this.maxPageSize = n, this.isServer = s, this.inProgress = !1, this.eventsFetchingMutex = o;
26
25
  }
27
26
  get latestBlockNumber() {
28
27
  return this._latestSlot ?? this._initialSlot;
29
28
  }
30
29
  setIdl(t) {
31
30
  try {
32
- const s = new d(t);
33
- this.anchorParser = new m(this.programId, s);
34
- } catch (s) {
35
- l.error("Failed to initialize Anchor EventParser:", s), this.anchorParser = void 0;
31
+ const r = new v(t);
32
+ this.anchorParser = new p(this.programId, r);
33
+ } catch (r) {
34
+ l.error("Failed to initialize Anchor EventParser:", r), this.anchorParser = void 0;
36
35
  }
37
36
  }
38
37
  syncFromAtMost(t) {
39
38
  (this._latestSlot === void 0 || t < this._latestSlot) && (this._latestSlot = t);
40
39
  }
41
40
  intervalClear() {
42
- this.isReady = !1, this.eventProcessors = /* @__PURE__ */ new Set(), this.clear();
41
+ this.isReady = !1, this.eventProcessors = /* @__PURE__ */ new Set(), clearInterval(this.intervalId);
43
42
  }
44
43
  async init() {
45
44
  if (this.isReady)
46
45
  throw new Error("Already initialized");
47
- this.isReady = !0, await this.retrieveEvents(this.latestBlockNumber + 1), await this.startUpdateListener();
46
+ this.isReady = !0, await this.retrieveEvents(this.latestBlockNumber + 1), this.intervalId = setInterval(async () => {
47
+ await this.retrieveEvents(this.latestBlockNumber);
48
+ }, 3500);
48
49
  }
49
50
  requireReady() {
50
51
  if (!this.isReady)
51
52
  throw new Error("Not ready");
52
53
  }
54
+ get chainId() {
55
+ const t = this.connection.rpcEndpoint;
56
+ return E(t, y[u.solanaMainnet].fetchRpcUrl) ? u.solanaMainnet : u.solanaLocalnet;
57
+ }
53
58
  addEventProcessorFunction(t) {
54
59
  if (this.isReady)
55
60
  throw new Error("Can't add event processor after event emitter initialized");
@@ -60,93 +65,90 @@ class _ {
60
65
  return this.isServer ? Math.max(this.latestBlockNumber, t - 32 + 1) : t;
61
66
  }
62
67
  // Implementation for IBlockchainEventEmitter interface (blockNumber terminology)
63
- async retrieveEvents(t, s = !1) {
68
+ async retrieveEvents(t, r = !1) {
64
69
  const a = t;
65
70
  return this.requireReady(), await this.eventsFetchingMutex.runExclusive(async () => {
66
71
  try {
67
- if (this.inProgress && !s)
72
+ if (this.inProgress && !r)
68
73
  return !1;
69
74
  this.inProgress = !0;
70
- const r = await this.getLastSlotForEventRequest();
71
- if (r < a)
75
+ let n = 0;
76
+ const o = await this.getLastSlotForEventRequest();
77
+ if (o < a)
72
78
  return this.inProgress = !1, !1;
73
- const c = v(a, r, this.maxPageSize), o = [];
74
- await p(
75
- c.map(({ from: i, to: n }) => async () => {
76
- const u = await this.getProgramEvents(i, n);
77
- o.push(...u);
79
+ const c = f(a, o, this.maxPageSize), h = [];
80
+ await S(
81
+ c.map(({ from: e, to: g }) => async () => {
82
+ const m = await this.getProgramEvents(e, g);
83
+ h.push(...m);
78
84
  })
79
85
  );
80
- const h = o.map((i) => S.fromSolanaEvent(i));
81
- return await this.processEvents(h), this._latestSlot = r, this.inProgress = !1, !0;
82
- } catch (r) {
83
- return l.error("retrieveEvents error:", r), this.inProgress = !1, !1;
86
+ const i = await Promise.all(
87
+ [...this.eventProcessors].map((e) => e(h))
88
+ );
89
+ return this._latestSlot = o, n += i.reduce((e, g) => e + g, 0), this.onEventsProcessed?.(n), this.inProgress = !1, !0;
90
+ } catch (n) {
91
+ return l.error("retrieveEvents error:", n), this.inProgress = !1, !1;
84
92
  }
85
93
  });
86
94
  }
87
- async getProgramEvents(t, s) {
95
+ async getProgramEvents(t, r) {
88
96
  const a = [];
89
97
  try {
90
- const e = await this.connection.getSignaturesForAddress(this.programId, {
91
- limit: g,
98
+ const s = await this.connection.getSignaturesForAddress(this.programId, {
99
+ limit: d,
92
100
  before: void 0
93
101
  // Start from the latest
94
102
  });
95
- let r = e.length;
96
- for (; r >= g; ) {
97
- const i = e[e.length - 1], n = await this.connection.getSignaturesForAddress(this.programId, {
98
- limit: g,
103
+ let n = s.length;
104
+ for (; n >= d; ) {
105
+ const i = s[s.length - 1], e = await this.connection.getSignaturesForAddress(this.programId, {
106
+ limit: d,
99
107
  before: i.signature
100
108
  });
101
- if (n.length === 0)
109
+ if (e.length === 0)
102
110
  break;
103
- e.push(...n), r = n.length;
111
+ s.push(...e), n = e.length;
104
112
  }
105
- const o = e.filter((i) => i.slot >= t && i.slot <= s).map(async (i) => {
113
+ const c = s.filter((i) => i.slot >= t && i.slot <= r).map(async (i) => {
106
114
  try {
107
- const n = await this.connection.getTransaction(i.signature, {
115
+ const e = await this.connection.getTransaction(i.signature, {
108
116
  commitment: "confirmed",
109
117
  maxSupportedTransactionVersion: 0
110
118
  });
111
- return n && n.meta && n.meta.logMessages ? this.parseLogsForEvents(
112
- n.meta.logMessages,
119
+ return e && e.meta && e.meta.logMessages ? this.parseLogsForEvents(
120
+ e.meta.logMessages,
113
121
  i.signature,
114
122
  i.slot,
115
- n.blockTime || null
123
+ e.blockTime || null
116
124
  ) : [];
117
- } catch (n) {
118
- return l.error(`Failed to get transaction ${i.signature}:`, n), [];
125
+ } catch (e) {
126
+ return l.error(`Failed to get transaction ${i.signature}:`, e), [];
119
127
  }
120
- }), h = await Promise.all(o);
128
+ }), h = await Promise.all(c);
121
129
  a.push(...h.flat());
122
- } catch (e) {
123
- l.error("Error getting program events:", e);
130
+ } catch (s) {
131
+ l.error("Error getting program events:", s);
124
132
  }
125
133
  return a;
126
134
  }
127
- parseLogsForEvents(t, s, a, e) {
135
+ parseLogsForEvents(t, r, a, s) {
128
136
  if (!this.anchorParser)
129
137
  return [];
130
138
  try {
131
- return Array.from(this.anchorParser.parseLogs(t)).map(({ name: c, data: o }) => ({
132
- signature: s,
139
+ return Array.from(this.anchorParser.parseLogs(t)).map(({ name: o, data: c }) => ({
140
+ signature: r,
133
141
  slot: a,
134
- blockTime: e || 0,
142
+ blockTime: s || 0,
135
143
  programId: this.programId,
136
- data: o,
137
- eventName: c
144
+ data: c,
145
+ eventName: o
138
146
  }));
139
- } catch (r) {
140
- return l.error("Anchor EventParser failed; falling back to generic parsing:", r), [];
147
+ } catch (n) {
148
+ return l.error("Anchor EventParser failed; falling back to generic parsing:", n), [];
141
149
  }
142
150
  }
143
- async processEvents(t) {
144
- const a = (await Promise.all(
145
- [...this.eventProcessors].map((e) => e(t))
146
- )).reduce((e, r) => e + r, 0);
147
- this.onEventsProcessed?.(a);
148
- }
149
151
  }
150
152
  export {
151
- _ as SolanaBlockchainEventEmitter
153
+ A as SolanaBlockchainEventEmitter
152
154
  };
@@ -16,6 +16,3 @@ export * from './presale';
16
16
  export * from './snapshot';
17
17
  export * from './http';
18
18
  export * from './ApprovalDBs';
19
- export * from './PublicBalance';
20
- export * from './BlockchainEvent/BlockchainEvent';
21
- export * from './AccountActions';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../constants/presale.constants.cjs"),s=require("ethers");class o{contract;eventsFrom;constructor(t,e){const{address:r,eventsFrom:a}=n.presaleContractInfoByChain[e];this.contract=new s.ethers.Contract(r,n.presaleABI,t),this.eventsFrom=a}deposit(t,e,r){return this.contract.deposit(t.erc20TokenAddress,e,r)}withdraw(t,e){return this.contract.withdraw(t,e)}moveToNextStage(t){return this.contract.moveToNextStage(t||{})}async estimateMoveToNextStageGas(){return(await this.contract.estimateGas.moveToNextStage()).toBigInt()}async getTotalDeposit(){return(await this.contract.totalDeposit()).toBigInt()}async getDeposits(t,e){return(await this.contract.deposits(t,e.erc20TokenAddress)).toBigInt()}async getTotalHINK(t){return(await this.contract.totalHINK(t)).toBigInt()}async getCurrentPresaleStageIndex(){const t=await this.contract.currentPresaleStageIndex();return Number(t)}async getCurrentMaxDepositAmount(){return(await this.contract.currentMaxDepositAmount()).toBigInt()}async currentPresaleStage(){const[t,e]=await this.contract.currentPresaleStage(),[r,a]=[t,e].map(BigInt);return{amountToRaise:r,priceMultiplier:a}}async calculateHINK(t){return(await this.contract.calculateHINK(t)).toBigInt()}async queryDeposits(){return this.contract.queryFilter(this.contract.filters.Deposit(),this.eventsFrom)}onEvent(t,e){this.contract.on(t,e)}}exports.PresaleContractWrapper=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../constants/presale.constants.cjs"),n=require("ethers");class o{contract;eventsFrom;constructor(t,e){const{address:r,eventsFrom:a}=s.presaleContractInfoByChain[e];this.contract=new n.ethers.Contract(r,s.presaleABI,t),this.eventsFrom=a}deposit(t,e,r){return this.contract.deposit(t.erc20TokenAddress,e,r)}withdraw(t,e){return this.contract.withdraw(t,e)}moveToNextStage(t){return this.contract.moveToNextStage(t||{})}async estimateMoveToNextStageGas(){return this.contract.moveToNextStage.estimateGas()}async getTotalDeposit(){return await this.contract.totalDeposit()}async getDeposits(t,e){return await this.contract.deposits(t,e.erc20TokenAddress)}async getTotalHINK(t){return await this.contract.totalHINK(t)}async getCurrentPresaleStageIndex(){const t=await this.contract.currentPresaleStageIndex();return Number(t)}async getCurrentMaxDepositAmount(){return await this.contract.currentMaxDepositAmount()}async currentPresaleStage(){const[t,e]=await this.contract.currentPresaleStage(),[r,a]=[t,e].map(BigInt);return{amountToRaise:r,priceMultiplier:a}}async calculateHINK(t){return await this.contract.calculateHINK(t)}async queryDeposits(){return this.contract.queryFilter(this.contract.filters.Deposit(),this.eventsFrom)}onEvent(t,e){this.contract.on(t,e)}}exports.PresaleContractWrapper=o;
@@ -3,7 +3,7 @@ import { ethers } from 'ethers';
3
3
  export declare class PresaleContractWrapper {
4
4
  contract: ethers.Contract;
5
5
  eventsFrom: number;
6
- constructor(signerOrProvider: ethers.Signer | ethers.providers.Provider, chainId: number);
6
+ constructor(signerOrProvider: ethers.Signer | ethers.Provider, chainId: number);
7
7
  deposit(token: ERC20Token, amount: bigint, minHINK: bigint): Promise<ethers.ContractTransaction>;
8
8
  withdraw(token: string, amount: bigint): Promise<ethers.ContractTransaction>;
9
9
  moveToNextStage(overrides?: ethers.Overrides): Promise<ethers.ContractTransaction>;
@@ -18,6 +18,6 @@ export declare class PresaleContractWrapper {
18
18
  priceMultiplier: bigint;
19
19
  }>;
20
20
  calculateHINK(amount: bigint): Promise<bigint>;
21
- queryDeposits(): Promise<ethers.Event[]>;
22
- onEvent(eventName: string, handleEvent: ethers.providers.Listener): void;
21
+ queryDeposits(): Promise<(ethers.Log | ethers.EventLog)[]>;
22
+ onEvent(eventName: string, handleEvent: ethers.Listener): void;
23
23
  }
@@ -1,11 +1,11 @@
1
- import { presaleContractInfoByChain as n, presaleABI as o } from "../../constants/presale.constants.mjs";
2
- import { ethers as s } from "ethers";
1
+ import { presaleContractInfoByChain as s, presaleABI as n } from "../../constants/presale.constants.mjs";
2
+ import { ethers as o } from "ethers";
3
3
  class l {
4
4
  contract;
5
5
  eventsFrom;
6
6
  constructor(t, e) {
7
- const { address: r, eventsFrom: a } = n[e];
8
- this.contract = new s.Contract(r, o, t), this.eventsFrom = a;
7
+ const { address: r, eventsFrom: a } = s[e];
8
+ this.contract = new o.Contract(r, n, t), this.eventsFrom = a;
9
9
  }
10
10
  deposit(t, e, r) {
11
11
  return this.contract.deposit(t.erc20TokenAddress, e, r);
@@ -17,30 +17,30 @@ class l {
17
17
  return this.contract.moveToNextStage(t || {});
18
18
  }
19
19
  async estimateMoveToNextStageGas() {
20
- return (await this.contract.estimateGas.moveToNextStage()).toBigInt();
20
+ return this.contract.moveToNextStage.estimateGas();
21
21
  }
22
22
  async getTotalDeposit() {
23
- return (await this.contract.totalDeposit()).toBigInt();
23
+ return await this.contract.totalDeposit();
24
24
  }
25
25
  async getDeposits(t, e) {
26
- return (await this.contract.deposits(t, e.erc20TokenAddress)).toBigInt();
26
+ return await this.contract.deposits(t, e.erc20TokenAddress);
27
27
  }
28
28
  async getTotalHINK(t) {
29
- return (await this.contract.totalHINK(t)).toBigInt();
29
+ return await this.contract.totalHINK(t);
30
30
  }
31
31
  async getCurrentPresaleStageIndex() {
32
32
  const t = await this.contract.currentPresaleStageIndex();
33
33
  return Number(t);
34
34
  }
35
35
  async getCurrentMaxDepositAmount() {
36
- return (await this.contract.currentMaxDepositAmount()).toBigInt();
36
+ return await this.contract.currentMaxDepositAmount();
37
37
  }
38
38
  async currentPresaleStage() {
39
39
  const [t, e] = await this.contract.currentPresaleStage(), [r, a] = [t, e].map(BigInt);
40
40
  return { amountToRaise: r, priceMultiplier: a };
41
41
  }
42
42
  async calculateHINK(t) {
43
- return (await this.contract.calculateHINK(t)).toBigInt();
43
+ return await this.contract.calculateHINK(t);
44
44
  }
45
45
  async queryDeposits() {
46
46
  return this.contract.queryFilter(this.contract.filters.Deposit(), this.eventsFrom);