@hinkal/common 0.2.18 → 0.2.20

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