@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
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("ethers"),a=require("libsodium-wrappers"),p=require("../utxo/Utxo.cjs"),l=require("@solana/web3.js"),h=require("./keys.cjs"),g=(e,s)=>{const i=[Buffer.from(r.ethers.utils.hexlify(s?0n:e.amount)),Buffer.from(r.ethers.utils.hexlify(e.erc20TokenAddress)),Buffer.from(r.ethers.utils.hexlify(e.randomization)),Buffer.from(e.getStealthAddress()),Buffer.from(r.ethers.utils.hexlify(BigInt(e.timeStamp))),Buffer.from(r.ethers.utils.hexlify(e.tokenId??0))];if(e.mintAddress){const t=new l.PublicKey(e.mintAddress),n=r.ethers.utils.hexlify(t.toBytes());i.push(Buffer.from(n))}const f=Buffer.concat(i);return a.crypto_box_seal(f,r.ethers.utils.arrayify(e.getEncryptionKey()))},u=(e,s)=>{const{publicKey:i,privateKey:f}=h.UserKeys.getEncryptionKeyPair(s.getShieldedPrivateKey()),y=a.crypto_box_seal_open(e,r.ethers.utils.arrayify(i),r.ethers.utils.arrayify(f)),t=Buffer.from(y).toString("utf-8").split("0x").filter(o=>o.length!==0).map((o,d)=>{let c;return[0,2,4,5].includes(d)?c=BigInt(`0x${o}`):[1,3,6].includes(d)&&(c=`0x${o}`),c}),n=typeof t[6]=="string"?t[6]:void 0,m=n?new l.PublicKey(Buffer.from(n.slice(2),"hex")).toString():void 0;return{amount:t[0],erc20TokenAddress:t[1],randomization:t[2],stealthAddress:t[3],shieldedPrivateKey:s.getShieldedPrivateKey(),timeStamp:t[4].toString(),tokenId:t[5]?Number(t[5]):0,mintAddress:m}},x=(e,s)=>new p.Utxo(u(e,s));exports.decryptUtxo=x;exports.decryptUtxoConstructorArgs=u;exports.encryptUtxo=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("ethers"),a=require("libsodium-wrappers"),p=require("../utxo/Utxo.cjs"),l=require("@solana/web3.js"),h=require("./keys.cjs"),g=e=>{const s=[Buffer.from(r.ethers.utils.hexlify(e.amount)),Buffer.from(r.ethers.utils.hexlify(e.erc20TokenAddress)),Buffer.from(r.ethers.utils.hexlify(e.randomization)),Buffer.from(e.getStealthAddress()),Buffer.from(r.ethers.utils.hexlify(BigInt(e.timeStamp))),Buffer.from(r.ethers.utils.hexlify(e.tokenId??0))];if(e.mintAddress){const o=new l.PublicKey(e.mintAddress),t=r.ethers.utils.hexlify(o.toBytes());s.push(Buffer.from(t))}const n=Buffer.concat(s);return a.crypto_box_seal(n,r.ethers.utils.arrayify(e.getEncryptionKey()))},u=(e,s)=>{const{publicKey:n,privateKey:c}=h.UserKeys.getEncryptionKeyPair(s.getShieldedPrivateKey()),o=a.crypto_box_seal_open(e,r.ethers.utils.arrayify(n),r.ethers.utils.arrayify(c)),t=Buffer.from(o).toString("utf-8").split("0x").filter(i=>i.length!==0).map((i,d)=>{let f;return[0,2,4,5].includes(d)?f=BigInt(`0x${i}`):[1,3,6].includes(d)&&(f=`0x${i}`),f}),y=typeof t[6]=="string"?t[6]:void 0,m=y?new l.PublicKey(Buffer.from(y.slice(2),"hex")).toString():void 0;return{amount:t[0],erc20TokenAddress:t[1],randomization:t[2],stealthAddress:t[3],shieldedPrivateKey:s.getShieldedPrivateKey(),timeStamp:t[4].toString(),tokenId:t[5]?Number(t[5]):0,mintAddress:m}},x=(e,s)=>new p.Utxo(u(e,s));exports.decryptUtxo=x;exports.decryptUtxoConstructorArgs=u;exports.encryptUtxo=g;
@@ -7,7 +7,7 @@ import { UserKeys } from './keys';
7
7
  * @param publicKey sender's encryption public key
8
8
  * @returns returns encrypted data {Uint8Array}
9
9
  */
10
- export declare const encryptUtxo: (utxo: Utxo, forceZeroAmount: boolean) => Uint8Array;
10
+ export declare const encryptUtxo: (utxo: Utxo) => Uint8Array;
11
11
  export declare const decryptUtxoConstructorArgs: (encryptedData: Uint8Array, userKeys: UserKeys) => IUtxoConstructor;
12
12
  /**
13
13
  * decrypt UTXO data from events
@@ -3,9 +3,9 @@ import m from "libsodium-wrappers";
3
3
  import { Utxo as p } from "../utxo/Utxo.mjs";
4
4
  import { PublicKey as c } from "@solana/web3.js";
5
5
  import { UserKeys as u } from "./keys.mjs";
6
- const K = (e, i) => {
7
- const o = [
8
- Buffer.from(r.utils.hexlify(i ? 0n : e.amount)),
6
+ const K = (e) => {
7
+ const i = [
8
+ Buffer.from(r.utils.hexlify(e.amount)),
9
9
  Buffer.from(r.utils.hexlify(e.erc20TokenAddress)),
10
10
  Buffer.from(r.utils.hexlify(e.randomization)),
11
11
  Buffer.from(e.getStealthAddress()),
@@ -13,20 +13,20 @@ const K = (e, i) => {
13
13
  Buffer.from(r.utils.hexlify(e.tokenId ?? 0))
14
14
  ];
15
15
  if (e.mintAddress) {
16
- const t = new c(e.mintAddress), n = r.utils.hexlify(t.toBytes());
17
- o.push(Buffer.from(n));
16
+ const s = new c(e.mintAddress), t = r.utils.hexlify(s.toBytes());
17
+ i.push(Buffer.from(t));
18
18
  }
19
- const f = Buffer.concat(o);
20
- return m.crypto_box_seal(f, r.utils.arrayify(e.getEncryptionKey()));
19
+ const n = Buffer.concat(i);
20
+ return m.crypto_box_seal(n, r.utils.arrayify(e.getEncryptionKey()));
21
21
  }, h = (e, i) => {
22
- const { publicKey: o, privateKey: f } = u.getEncryptionKeyPair(i.getShieldedPrivateKey()), y = m.crypto_box_seal_open(
22
+ const { publicKey: n, privateKey: a } = u.getEncryptionKeyPair(i.getShieldedPrivateKey()), s = m.crypto_box_seal_open(
23
23
  e,
24
- r.utils.arrayify(o),
25
- r.utils.arrayify(f)
26
- ), t = Buffer.from(y).toString("utf-8").split("0x").filter((s) => s.length !== 0).map((s, d) => {
27
- let a;
28
- return [0, 2, 4, 5].includes(d) ? a = BigInt(`0x${s}`) : [1, 3, 6].includes(d) && (a = `0x${s}`), a;
29
- }), n = typeof t[6] == "string" ? t[6] : void 0, l = n ? new c(Buffer.from(n.slice(2), "hex")).toString() : void 0;
24
+ r.utils.arrayify(n),
25
+ r.utils.arrayify(a)
26
+ ), t = Buffer.from(s).toString("utf-8").split("0x").filter((o) => o.length !== 0).map((o, d) => {
27
+ let f;
28
+ return [0, 2, 4, 5].includes(d) ? f = BigInt(`0x${o}`) : [1, 3, 6].includes(d) && (f = `0x${o}`), f;
29
+ }), y = typeof t[6] == "string" ? t[6] : void 0, l = y ? new c(Buffer.from(y.slice(2), "hex")).toString() : void 0;
30
30
  return {
31
31
  amount: t[0],
32
32
  erc20TokenAddress: t[1],
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("ethers"),w=require("libsodium-wrappers"),p=require("../../constants/protocol.constants.cjs"),m=require("../../crypto/babyJub.cjs"),u=require("../../crypto/poseidon.cjs"),h=require("./keyUtils.cjs"),v=require("../cacheDevices/AttachableMemoryCacheDevice.cjs"),d=require("ethers-v6h"),g=require("../../constants/chains.constants.cjs"),c=require("@solana/web3.js"),b=require("tweetnacl"),K=require("bs58"),q=require("../../functions/utils/create-provider.cjs"),P=new v.AttachableMemoryCacheDevice,f=new v.AttachableMemoryCacheDevice,k={privateKey:"",publicKey:""};class l{signature;constructor(e){this.signature=e}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error("No signature provided")}verifyMessage(e){return this.requireSignature(),a.utils.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireSignature(),a.ethers.utils.keccak256(this.signature));getShieldedPublicKey=()=>(this.requireSignature(),u.poseidonHash(this.getShieldedPrivateKey()));getDerivedEthereumAddress=()=>(this.requireSignature(),new d.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireSignature(),c.Keypair.fromSeed(a.utils.arrayify(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireSignature(),u.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireSignature();const r=u.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return a.utils.keccak256(a.utils.toUtf8Bytes(r))};getSignerSolanaPrivateKeyFromNonce=e=>{const r=this.getSignerPrivateKeyFromNonce(e),t=a.utils.arrayify(r),i=c.Keypair.fromSeed(t);return K.encode(i.secretKey)};getEvmPrivateKeyFromSolanaPrivateKey=e=>{const t=K.decode(e).slice(0,32);return d.hexlify(t)};static getSignerFromPrivateKey=(e,r)=>{if(g.isSolanaLike(e)){const i=a.utils.arrayify(r);return c.Keypair.fromSeed(i)}return new d.ethers.Wallet(r)};static getSignerAddressFromPrivateKey(e,r){const t=l.getSignerFromPrivateKey(e,r);return t instanceof c.Keypair?t.publicKey.toString():t.address}static signMessageFromPrivateKey=async(e,r,t)=>{const i=l.getSignerFromPrivateKey(e,r);if(i instanceof c.Keypair){const s=a.utils.isHexString(t)?a.utils.arrayify(t):new TextEncoder().encode(t),o=b.sign.detached(s,i.secretKey);return`0x${Buffer.from(o).toString("hex")}`}const n=a.utils.isHexString(t)?a.utils.arrayify(t):t;return i.signMessage(n)};static signSolanaTransactionFromPrivateKey=(e,r,t)=>{if(!g.isSolanaLike(e))throw new Error("Solana transaction signing is only available for Solana chains");const i=l.getSignerFromPrivateKey(e,r);if(!(i instanceof c.Keypair))throw new Error("Unable to derive Solana keypair for signing");t.sign([i])};static sendAndSignTransactionFromPrivateKey=async(e,r,t)=>{const i=l.getSignerFromPrivateKey(e,r),{fetchRpcUrl:n}=g.networkRegistry[e];if(!n)throw new Error("No RPC URL found for chainId");if(i instanceof c.Keypair){if(!(t instanceof c.VersionedTransaction))throw new Error("Invalid transaction type for Solana");return t.sign([i]),await q.createCustomSolanaConnection(n).sendRawTransaction(t.serialize())}if(t instanceof c.VersionedTransaction)throw new Error("Invalid transaction type for EVM");const s=new d.ethers.JsonRpcProvider(n);return(await i.connect(s).sendTransaction(t)).hash};static signTypedDataFromPrivateKey=async(e,r,t,i,n)=>{if(g.isSolanaLike(e))throw new Error("Solana does not support typed data");return await l.getSignerFromPrivateKey(e,r).signTypedData(t,i,n)};static authorizeDelegation=async(e,r,t,i)=>{if(g.isSolanaLike(e))throw new Error("Solana does not support delegation");const n=new d.ethers.JsonRpcProvider(g.networkRegistry[e].fetchRpcUrl);return await l.getSignerFromPrivateKey(e,r).connect(n).authorize({address:t,...i!==void 0&&{nonce:i}})};getWalletSalt=e=>(this.requireSignature(),u.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireSignature();const r=u.poseidonHash(this.getShieldedPrivateKey(),e);return BigInt(r)};getBackendToken=()=>(this.requireSignature(),u.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=P.attach((e,r)=>{const t=m.babyJubInstance(),i=BigInt(r)%p.CIRCOM_P,n=e*i%p.CIRCOM_P,s=t.mulPointEscalar(t.Base8,e),o=t.mulPointEscalar(t.Base8,n),y=[BigInt(t.F.toString(s[0])),BigInt(t.F.toString(s[1]))],S=[BigInt(t.F.toString(o[0])),BigInt(t.F.toString(o[1]))];return{H0:y,H1:S}});static getStealthAddressCompressedPoints=(e,r)=>{const{H0:t,H1:i}=this.getRandomizedStealthPair(e,r),[n,s]=[t,i].map(o=>BigInt(o[1])+2n**255n*h.getCircomSign(o[0]));return{h0:n,h1:s}};static getStealthAddress=f.attach((e,r)=>{const{H0:t,H1:i}=this.getRandomizedStealthPair(e,r),s=[2n*h.getCircomSign(t[0])+h.getCircomSign(i[0]),t[1],i[1]];return u.poseidonHash(...s)});static getStealthAddressWithEKey=(e,r)=>({stealthAddress:this.getStealthAddress(e,r),encryptionKey:this.getEncryptionKeyPair(r).publicKey});static checkSignature=(e,r,t,i)=>{const{h0:n,h1:s}=this.getStealthAddressCompressedPoints(e,i);return r===n&&t===s};static getEncryptionKeyPair=e=>{const r=w.crypto_box_seed_keypair(a.ethers.utils.arrayify(e));return{privateKey:a.ethers.utils.hexlify(r.privateKey),publicKey:a.ethers.utils.hexlify(r.publicKey)}}}exports.EncryptionKeyPairDefaultValue=k;exports.UserKeys=l;exports.stealthAddressCacheDevice=f;exports.stealthPairCacheDevice=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@solana/web3.js"),p=require("bs58"),s=require("ethers"),P=require("ethers-v6h"),b=require("libsodium-wrappers"),d=require("../../constants/protocol.constants.cjs"),v=require("../../crypto/babyJub.cjs"),n=require("../../crypto/poseidon.cjs"),g=require("../cacheDevices/AttachableMemoryCacheDevice.cjs"),h=require("./keyUtils.cjs"),l=new g.AttachableMemoryCacheDevice,y=new g.AttachableMemoryCacheDevice,m={privateKey:"",publicKey:""};class q{signature;constructor(e){this.signature=e}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error("No signature provided")}verifyMessage(e){return this.requireSignature(),s.utils.verifyMessage(e,this.signature)}getShieldedPrivateKey=()=>(this.requireSignature(),s.ethers.utils.keccak256(this.signature));getShieldedPublicKey=()=>(this.requireSignature(),n.poseidonHash(this.getShieldedPrivateKey()));getDerivedEthereumAddress=()=>(this.requireSignature(),new P.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireSignature(),u.Keypair.fromSeed(s.utils.arrayify(this.getShieldedPrivateKey())).publicKey.toBase58());getAccessKey=()=>(this.requireSignature(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getSignerPrivateKeyFromNonce=e=>{this.requireSignature();const t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.utils.keccak256(s.utils.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{const t=this.getSignerPrivateKeyFromNonce(e),i=s.utils.arrayify(t),r=u.Keypair.fromSeed(i);return p.encode(r.secretKey)};getWalletSalt=e=>(this.requireSignature(),n.poseidonHash(this.getShieldedPublicKey(),this.getShieldedPrivateKey(),e));getInHinkalAddress=e=>{this.requireSignature();const t=n.poseidonHash(this.getShieldedPrivateKey(),e);return BigInt(t)};getBackendToken=()=>(this.requireSignature(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()));static getRandomizedStealthPair=l.attach((e,t)=>{const i=v.babyJubInstance(),r=BigInt(t)%d.CIRCOM_P,c=e*r%d.CIRCOM_P,a=i.mulPointEscalar(i.Base8,e),o=i.mulPointEscalar(i.Base8,c),S=[BigInt(i.F.toString(a[0])),BigInt(i.F.toString(a[1]))],K=[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))];return{H0:S,H1:K}});static getStealthAddressCompressedPoints=(e,t)=>{const{H0:i,H1:r}=this.getRandomizedStealthPair(e,t),[c,a]=[i,r].map(o=>BigInt(o[1])+2n**255n*h.getCircomSign(o[0]));return{h0:c,h1:a}};static getStealthAddress=y.attach((e,t)=>{const{H0:i,H1:r}=this.getRandomizedStealthPair(e,t),a=[2n*h.getCircomSign(i[0])+h.getCircomSign(r[0]),i[1],r[1]];return n.poseidonHash(...a)});static getStealthAddressWithEKey=(e,t)=>({stealthAddress:this.getStealthAddress(e,t),encryptionKey:this.getEncryptionKeyPair(t).publicKey});static checkSignature=(e,t,i,r)=>{const{h0:c,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===c&&i===a};static getEncryptionKeyPair=e=>{const t=b.crypto_box_seed_keypair(s.ethers.utils.arrayify(e));return{privateKey:s.ethers.utils.hexlify(t.privateKey),publicKey:s.ethers.utils.hexlify(t.publicKey)}}}exports.EncryptionKeyPairDefaultValue=m;exports.UserKeys=q;exports.stealthAddressCacheDevice=y;exports.stealthPairCacheDevice=l;
@@ -1,7 +1,4 @@
1
- import { ethers } from 'ethers';
2
1
  import { AttachableMemoryCacheDevice } from '../cacheDevices/AttachableMemoryCacheDevice';
3
- import { ethers as ethersV6 } from 'ethers-v6h';
4
- import { VersionedTransaction } from '@solana/web3.js';
5
2
  export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
6
3
  H0: [bigint, bigint];
7
4
  H1: [bigint, bigint];
@@ -47,14 +44,6 @@ export declare class UserKeys {
47
44
  getAccessKey: () => string;
48
45
  getSignerPrivateKeyFromNonce: (walletNonce: bigint) => string;
49
46
  getSignerSolanaPrivateKeyFromNonce: (walletNonce: bigint) => string;
50
- getEvmPrivateKeyFromSolanaPrivateKey: (solanaPrivateKey: string) => string;
51
- private static getSignerFromPrivateKey;
52
- static getSignerAddressFromPrivateKey(chainId: number, privateKey: string): string;
53
- static signMessageFromPrivateKey: (chainId: number, privateKey: string, message: string) => Promise<string>;
54
- static signSolanaTransactionFromPrivateKey: (chainId: number, privateKey: string, transaction: VersionedTransaction) => void;
55
- static sendAndSignTransactionFromPrivateKey: (chainId: number, privateKey: string, transaction: ethersV6.TransactionRequest | VersionedTransaction) => Promise<string>;
56
- static signTypedDataFromPrivateKey: (chainId: number, privateKey: string, domain: ethers.TypedDataDomain, types: Record<string, Array<ethers.TypedDataField>>, value: Record<string, any>) => Promise<string>;
57
- static authorizeDelegation: (chainId: number, privateKey: string, implementation: string, nonce?: number) => Promise<ethersV6.Authorization>;
58
47
  getWalletSalt: (walletNonce: bigint) => string;
59
48
  /**
60
49
  * generate inHinkalAddress - a user unique address linking him with a specific app
@@ -1,21 +1,18 @@
1
- import { utils as o, ethers as d } from "ethers";
2
- import w from "libsodium-wrappers";
3
- import { CIRCOM_P as m } from "../../constants/protocol.constants.mjs";
4
- import { babyJubInstance as b } from "../../crypto/babyJub.mjs";
5
- import { poseidonHash as c } from "../../crypto/poseidon.mjs";
6
- import { getCircomSign as y } from "./keyUtils.mjs";
7
- import { AttachableMemoryCacheDevice as v } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
8
- import { ethers as u, hexlify as F } from "ethers-v6h";
9
- import { isSolanaLike as h, networkRegistry as p } from "../../constants/chains.constants.mjs";
10
- import { Keypair as g, VersionedTransaction as K } from "@solana/web3.js";
11
- import k from "tweetnacl";
12
- import P from "bs58";
13
- import { createCustomSolanaConnection as A } from "../../functions/utils/create-provider.mjs";
14
- const E = new v(), R = new v(), L = {
1
+ import { Keypair as u } from "@solana/web3.js";
2
+ import m from "bs58";
3
+ import { utils as h, ethers as c } from "ethers";
4
+ import { ethers as K } from "ethers-v6h";
5
+ import p from "libsodium-wrappers";
6
+ import { CIRCOM_P as d } from "../../constants/protocol.constants.mjs";
7
+ import { babyJubInstance as P } from "../../crypto/babyJub.mjs";
8
+ import { poseidonHash as a } from "../../crypto/poseidon.mjs";
9
+ import { AttachableMemoryCacheDevice as l } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
10
+ import { getCircomSign as g } from "./keyUtils.mjs";
11
+ const v = new l(), f = new l(), D = {
15
12
  privateKey: "",
16
13
  publicKey: ""
17
14
  };
18
- class l {
15
+ class x {
19
16
  signature;
20
17
  constructor(e) {
21
18
  this.signature = e;
@@ -31,133 +28,76 @@ class l {
31
28
  throw Error("No signature provided");
32
29
  }
33
30
  verifyMessage(e) {
34
- return this.requireSignature(), o.verifyMessage(e, this.signature);
31
+ return this.requireSignature(), h.verifyMessage(e, this.signature);
35
32
  }
36
33
  /**
37
34
  * get shielded private key from message signature used to login to the application,
38
35
  * this private key is used to generate encryption keypairs as well as public key
39
36
  * @retuns 0x-prefixed shielded private key
40
37
  */
41
- getShieldedPrivateKey = () => (this.requireSignature(), d.utils.keccak256(this.signature));
38
+ getShieldedPrivateKey = () => (this.requireSignature(), c.utils.keccak256(this.signature));
42
39
  /**
43
40
  * generate shielded public key from private key
44
41
  * @param privateKey the key used to generate the shielded public key, this should be the signature
45
42
  * that the user provided
46
43
  * @retuns shielded public key in hexstring with 0x prefixed
47
44
  */
48
- getShieldedPublicKey = () => (this.requireSignature(), c(this.getShieldedPrivateKey()));
45
+ getShieldedPublicKey = () => (this.requireSignature(), a(this.getShieldedPrivateKey()));
49
46
  /**
50
47
  * deterministically derive an EVM address from the shielded private key
51
48
  */
52
- getDerivedEthereumAddress = () => (this.requireSignature(), new u.Wallet(this.getShieldedPrivateKey()).address);
49
+ getDerivedEthereumAddress = () => (this.requireSignature(), new K.Wallet(this.getShieldedPrivateKey()).address);
53
50
  /**
54
51
  * deterministically derive a Solana public key from the shielded private key
55
52
  */
56
- getDerivedSolanaPublicKey = () => (this.requireSignature(), g.fromSeed(o.arrayify(this.getShieldedPrivateKey())).publicKey.toBase58());
53
+ getDerivedSolanaPublicKey = () => (this.requireSignature(), u.fromSeed(h.arrayify(this.getShieldedPrivateKey())).publicKey.toBase58());
57
54
  /**
58
55
  * generate access token, this accessKey is what should be sent to the server for signing
59
56
  * @returns accessKey in hexstring with 0x prefixed
60
57
  */
61
- getAccessKey = () => (this.requireSignature(), c(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
58
+ getAccessKey = () => (this.requireSignature(), a(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
62
59
  getSignerPrivateKeyFromNonce = (e) => {
63
60
  this.requireSignature();
64
- const r = c(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
65
- return o.keccak256(o.toUtf8Bytes(r));
61
+ const t = a(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
62
+ return h.keccak256(h.toUtf8Bytes(t));
66
63
  };
67
64
  getSignerSolanaPrivateKeyFromNonce = (e) => {
68
- const r = this.getSignerPrivateKeyFromNonce(e), t = o.arrayify(r), i = g.fromSeed(t);
69
- return P.encode(i.secretKey);
65
+ const t = this.getSignerPrivateKeyFromNonce(e), r = h.arrayify(t), i = u.fromSeed(r);
66
+ return m.encode(i.secretKey);
70
67
  };
71
- getEvmPrivateKeyFromSolanaPrivateKey = (e) => {
72
- const t = P.decode(e).slice(0, 32);
73
- return F(t);
74
- };
75
- static getSignerFromPrivateKey = (e, r) => {
76
- if (h(e)) {
77
- const i = o.arrayify(r);
78
- return g.fromSeed(i);
79
- }
80
- return new u.Wallet(r);
81
- };
82
- static getSignerAddressFromPrivateKey(e, r) {
83
- const t = l.getSignerFromPrivateKey(e, r);
84
- return t instanceof g ? t.publicKey.toString() : t.address;
85
- }
86
- static signMessageFromPrivateKey = async (e, r, t) => {
87
- const i = l.getSignerFromPrivateKey(e, r);
88
- if (i instanceof g) {
89
- const a = o.isHexString(t) ? o.arrayify(t) : new TextEncoder().encode(t), s = k.sign.detached(a, i.secretKey);
90
- return `0x${Buffer.from(s).toString("hex")}`;
91
- }
92
- const n = o.isHexString(t) ? o.arrayify(t) : t;
93
- return i.signMessage(n);
94
- };
95
- static signSolanaTransactionFromPrivateKey = (e, r, t) => {
96
- if (!h(e))
97
- throw new Error("Solana transaction signing is only available for Solana chains");
98
- const i = l.getSignerFromPrivateKey(e, r);
99
- if (!(i instanceof g))
100
- throw new Error("Unable to derive Solana keypair for signing");
101
- t.sign([i]);
102
- };
103
- static sendAndSignTransactionFromPrivateKey = async (e, r, t) => {
104
- const i = l.getSignerFromPrivateKey(e, r), { fetchRpcUrl: n } = p[e];
105
- if (!n)
106
- throw new Error("No RPC URL found for chainId");
107
- if (i instanceof g) {
108
- if (!(t instanceof K))
109
- throw new Error("Invalid transaction type for Solana");
110
- return t.sign([i]), await A(n).sendRawTransaction(t.serialize());
111
- }
112
- if (t instanceof K)
113
- throw new Error("Invalid transaction type for EVM");
114
- const a = new u.JsonRpcProvider(n);
115
- return (await i.connect(a).sendTransaction(t)).hash;
116
- };
117
- static signTypedDataFromPrivateKey = async (e, r, t, i, n) => {
118
- if (h(e))
119
- throw new Error("Solana does not support typed data");
120
- return await l.getSignerFromPrivateKey(e, r).signTypedData(t, i, n);
121
- };
122
- static authorizeDelegation = async (e, r, t, i) => {
123
- if (h(e))
124
- throw new Error("Solana does not support delegation");
125
- const n = new u.JsonRpcProvider(p[e].fetchRpcUrl);
126
- return await l.getSignerFromPrivateKey(e, r).connect(n).authorize({ address: t, ...i !== void 0 && { nonce: i } });
127
- };
128
- getWalletSalt = (e) => (this.requireSignature(), c(this.getShieldedPublicKey(), this.getShieldedPrivateKey(), e));
68
+ getWalletSalt = (e) => (this.requireSignature(), a(this.getShieldedPublicKey(), this.getShieldedPrivateKey(), e));
129
69
  /**
130
70
  * generate inHinkalAddress - a user unique address linking him with a specific app
131
71
  * @returns inHinkalAddress in bigint
132
72
  */
133
73
  getInHinkalAddress = (e) => {
134
74
  this.requireSignature();
135
- const r = c(this.getShieldedPrivateKey(), e);
136
- return BigInt(r);
75
+ const t = a(this.getShieldedPrivateKey(), e);
76
+ return BigInt(t);
137
77
  };
138
78
  /**
139
79
  * generate backend token, which is used for access control on backend
140
80
  * @returns accessKey in hexstring with 0x prefixed
141
81
  */
142
- getBackendToken = () => (this.requireSignature(), c(this.getAccessKey(), this.getShieldedPublicKey()));
143
- static getRandomizedStealthPair = E.attach(
144
- (e, r) => {
145
- const t = b(), i = BigInt(r) % m, n = e * i % m, a = t.mulPointEscalar(t.Base8, e), s = t.mulPointEscalar(t.Base8, n), S = [BigInt(t.F.toString(a[0])), BigInt(t.F.toString(a[1]))], f = [BigInt(t.F.toString(s[0])), BigInt(t.F.toString(s[1]))];
146
- return { H0: S, H1: f };
82
+ getBackendToken = () => (this.requireSignature(), a(this.getAccessKey(), this.getShieldedPublicKey()));
83
+ static getRandomizedStealthPair = v.attach(
84
+ (e, t) => {
85
+ const r = P(), i = BigInt(t) % d, n = e * i % d, s = r.mulPointEscalar(r.Base8, e), o = r.mulPointEscalar(r.Base8, n), y = [BigInt(r.F.toString(s[0])), BigInt(r.F.toString(s[1]))], S = [BigInt(r.F.toString(o[0])), BigInt(r.F.toString(o[1]))];
86
+ return { H0: y, H1: S };
147
87
  }
148
88
  );
149
- static getStealthAddressCompressedPoints = (e, r) => {
150
- const { H0: t, H1: i } = this.getRandomizedStealthPair(e, r), [n, a] = [t, i].map((s) => BigInt(s[1]) + 2n ** 255n * y(s[0]));
151
- return { h0: n, h1: a };
89
+ static getStealthAddressCompressedPoints = (e, t) => {
90
+ const { H0: r, H1: i } = this.getRandomizedStealthPair(e, t), [n, s] = [r, i].map((o) => BigInt(o[1]) + 2n ** 255n * g(o[0]));
91
+ return { h0: n, h1: s };
152
92
  };
153
- static getStealthAddress = R.attach((e, r) => {
154
- const { H0: t, H1: i } = this.getRandomizedStealthPair(e, r), a = [2n * y(t[0]) + y(i[0]), t[1], i[1]];
155
- return c(...a);
93
+ static getStealthAddress = f.attach((e, t) => {
94
+ const { H0: r, H1: i } = this.getRandomizedStealthPair(e, t), s = [2n * g(r[0]) + g(i[0]), r[1], i[1]];
95
+ return a(...s);
156
96
  });
157
- static getStealthAddressWithEKey = (e, r) => ({ stealthAddress: this.getStealthAddress(e, r), encryptionKey: this.getEncryptionKeyPair(r).publicKey });
158
- static checkSignature = (e, r, t, i) => {
159
- const { h0: n, h1: a } = this.getStealthAddressCompressedPoints(e, i);
160
- return r === n && t === a;
97
+ static getStealthAddressWithEKey = (e, t) => ({ stealthAddress: this.getStealthAddress(e, t), encryptionKey: this.getEncryptionKeyPair(t).publicKey });
98
+ static checkSignature = (e, t, r, i) => {
99
+ const { h0: n, h1: s } = this.getStealthAddressCompressedPoints(e, i);
100
+ return t === n && r === s;
161
101
  };
162
102
  /**
163
103
  * generate private and public keypair
@@ -165,16 +105,16 @@ class l {
165
105
  * and must correspond to 32 bytes
166
106
  */
167
107
  static getEncryptionKeyPair = (e) => {
168
- const r = w.crypto_box_seed_keypair(d.utils.arrayify(e));
108
+ const t = p.crypto_box_seed_keypair(c.utils.arrayify(e));
169
109
  return {
170
- privateKey: d.utils.hexlify(r.privateKey),
171
- publicKey: d.utils.hexlify(r.publicKey)
110
+ privateKey: c.utils.hexlify(t.privateKey),
111
+ publicKey: c.utils.hexlify(t.publicKey)
172
112
  };
173
113
  };
174
114
  }
175
115
  export {
176
- L as EncryptionKeyPairDefaultValue,
177
- l as UserKeys,
178
- R as stealthAddressCacheDevice,
179
- E as stealthPairCacheDevice
116
+ D as EncryptionKeyPairDefaultValue,
117
+ x as UserKeys,
118
+ f as stealthAddressCacheDevice,
119
+ v as stealthPairCacheDevice
180
120
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../constants/protocol.constants.cjs"),a=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const t=require("../../../functions/utils/amounts.utils.cjs"),o=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const l=require("./AbstractSnapshotService.cjs"),i=require("../../../functions/utils/merkleTree.utils.cjs");class u extends l.AbstractSnapshotService{constructor(e){super(e,"NewAccessKeyAdded")}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([s,r])=>({address:s,index:r}))}}deserializeSnapshot(e){let s,r;return e.latestBlockNumber&&e.merkleTree?s=i.contructMerkleTreeFromSerialized(e.merkleTree):s=o.MerkleTree.create(a.poseidonFunction,0n),e.latestBlockNumber&&e.senderAddressIndexMap?r=new Map(e.senderAddressIndexMap.map(({address:d,index:n})=>[d,n])):r=new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:s,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:r}}}acceptEvent(e,s){try{return this._merkleTree.insert(e.accessKey,e.index),this._senderAddressIndexMap.set(e.senderAddress,Math.max(Number(e.index),this._senderAddressIndexMap.get(e.senderAddress)??0)),this._senderAddresses.includes(e.senderAddress)||this._senderAddresses.push(e.senderAddress),e.accessKey===0n&&e.senderAddress===c.zeroAddress&&this._merkleTree.remove(e.index),!0}catch(r){return console.error(r),!1}}mapEvent(e){const{accessKey:s,index:r,senderAddress:d}=e;return{accessKey:t.toBigInt(s),index:t.toBigInt(r),senderAddress:d}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:s,senderAddressIndexMap:r}}){this._merkleTree=e,this._senderAddresses=s,this._senderAddressIndexMap=r}}exports.AbstractAccessTokenSnapshotService=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../constants/protocol.constants.cjs"),a=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const t=require("../../../functions/utils/amounts.utils.cjs"),o=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const l=require("./AbstractSnapshotService.cjs"),A=require("../../../functions/utils/merkleTree.utils.cjs");class i extends l.AbstractSnapshotService{constructor(e){super(e,"NewAccessKeyAdded")}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([s,r])=>({address:s,index:r}))}}deserializeSnapshot(e){let s,r;return e.latestBlockNumber&&e.merkleTree?s=A.contructMerkleTreeFromSerialized(e.merkleTree):s=o.MerkleTree.create(a.poseidonFunction,0n),e.latestBlockNumber&&e.senderAddressIndexMap?r=new Map(e.senderAddressIndexMap.map(({address:d,index:n})=>[d,n])):r=new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:s,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:r}}}acceptEvent(e,s){try{return this._merkleTree.insert(e.accessKey,e.index),this._senderAddressIndexMap.set(e.senderAddress,Math.max(Number(e.index),this._senderAddressIndexMap.get(e.senderAddress)??0)),this._senderAddresses.includes(e.senderAddress)||this._senderAddresses.push(e.senderAddress),e.accessKey===0n&&e.senderAddress===c.zeroAddress&&this._merkleTree.remove(e.index),!0}catch(r){return console.error(r),!1}}mapEvent(e){const s=e.getArg("accessKey"),r=e.getArg("index"),d=e.getArg("senderAddress");return{accessKey:t.toBigInt(s),index:t.toBigInt(r),senderAddress:d}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:s,senderAddressIndexMap:r}}){this._merkleTree=e,this._senderAddresses=s,this._senderAddressIndexMap=r}}exports.AbstractAccessTokenSnapshotService=i;
@@ -2,6 +2,7 @@ import { MerkleTree, MerkleTreeJson } from '../../merkle-tree';
2
2
  import { AccessTokenEvent } from '../../../types';
3
3
  import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
4
4
  import { BlockchainEventEmitter } from './BlockchainEventEmitter';
5
+ import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
5
6
  export type SenderAddressIndexMapJson = {
6
7
  address: string;
7
8
  index: number;
@@ -17,7 +18,7 @@ export type AccessTokenSerializedSnapshot = {
17
18
  senderAddresses?: string[];
18
19
  senderAddressIndexMap?: SenderAddressIndexMapJson;
19
20
  };
20
- export declare abstract class AbstractAccessTokenSnapshotService extends AbstractSnapshotService<AccessTokenEvent<bigint>, AccessTokenEvent, AccessTokenSnapshotPayload, AccessTokenSerializedSnapshot> {
21
+ export declare abstract class AbstractAccessTokenSnapshotService extends AbstractSnapshotService<AccessTokenEvent<bigint>, AccessTokenSnapshotPayload, AccessTokenSerializedSnapshot> {
21
22
  constructor(accessTokenEventFetcher: BlockchainEventEmitter);
22
23
  private _merkleTree;
23
24
  private _senderAddresses;
@@ -28,7 +29,7 @@ export declare abstract class AbstractAccessTokenSnapshotService extends Abstrac
28
29
  protected serializeSnapshot(snapshot: Snapshot<AccessTokenSnapshotPayload>): AccessTokenSerializedSnapshot;
29
30
  protected deserializeSnapshot(serializedSnapshot: AccessTokenSerializedSnapshot): Snapshot<AccessTokenSnapshotPayload>;
30
31
  protected acceptEvent(event: AccessTokenEvent<bigint>, _blockNumber: number): boolean;
31
- protected mapEvent(event: AccessTokenEvent): AccessTokenEvent<bigint>;
32
+ protected mapEvent(event: BlockchainEvent): AccessTokenEvent<bigint>;
32
33
  protected getSnapshotPayload(): AccessTokenSnapshotPayload;
33
34
  protected populateSnapshot({ payload: { merkleTree, senderAddresses, senderAddressIndexMap }, }: Snapshot<AccessTokenSnapshotPayload>): void;
34
35
  }
@@ -1,5 +1,5 @@
1
- import { zeroAddress as m } from "../../../constants/protocol.constants.mjs";
2
- import { poseidonFunction as o } from "../../../crypto/poseidon.mjs";
1
+ import { zeroAddress as o } from "../../../constants/protocol.constants.mjs";
2
+ import { poseidonFunction as m } from "../../../crypto/poseidon.mjs";
3
3
  import "circomlibjs-hinkal-fork";
4
4
  import "libsodium-wrappers";
5
5
  import "process";
@@ -8,9 +8,9 @@ import { toBigInt as t } from "../../../functions/utils/amounts.utils.mjs";
8
8
  import { MerkleTree as a } from "../../merkle-tree/MerkleTree.mjs";
9
9
  import "ethers";
10
10
  import "../../../error-handling/error-codes.constants.mjs";
11
- import { AbstractSnapshotService as l } from "./AbstractSnapshotService.mjs";
12
- import { contructMerkleTreeFromSerialized as A } from "../../../functions/utils/merkleTree.utils.mjs";
13
- class b extends l {
11
+ import { AbstractSnapshotService as A } from "./AbstractSnapshotService.mjs";
12
+ import { contructMerkleTreeFromSerialized as c } from "../../../functions/utils/merkleTree.utils.mjs";
13
+ class g extends A {
14
14
  constructor(e) {
15
15
  super(e, "NewAccessKeyAdded");
16
16
  }
@@ -39,7 +39,7 @@ class b extends l {
39
39
  }
40
40
  deserializeSnapshot(e) {
41
41
  let s, r;
42
- return e.latestBlockNumber && e.merkleTree ? s = A(e.merkleTree) : s = a.create(o, 0n), e.latestBlockNumber && e.senderAddressIndexMap ? r = new Map(
42
+ return e.latestBlockNumber && e.merkleTree ? s = c(e.merkleTree) : s = a.create(m, 0n), e.latestBlockNumber && e.senderAddressIndexMap ? r = new Map(
43
43
  e.senderAddressIndexMap.map(({ address: d, index: n }) => [d, n])
44
44
  ) : r = /* @__PURE__ */ new Map(), {
45
45
  latestBlockNumber: e.latestBlockNumber ?? 0,
@@ -55,13 +55,13 @@ class b extends l {
55
55
  return this._merkleTree.insert(e.accessKey, e.index), this._senderAddressIndexMap.set(
56
56
  e.senderAddress,
57
57
  Math.max(Number(e.index), this._senderAddressIndexMap.get(e.senderAddress) ?? 0)
58
- ), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress === m && this._merkleTree.remove(e.index), !0;
58
+ ), this._senderAddresses.includes(e.senderAddress) || this._senderAddresses.push(e.senderAddress), e.accessKey === 0n && e.senderAddress === o && this._merkleTree.remove(e.index), !0;
59
59
  } catch (r) {
60
60
  return console.error(r), !1;
61
61
  }
62
62
  }
63
63
  mapEvent(e) {
64
- const { accessKey: s, index: r, senderAddress: d } = e;
64
+ const s = e.getArg("accessKey"), r = e.getArg("index"), d = e.getArg("senderAddress");
65
65
  return {
66
66
  accessKey: t(s),
67
67
  index: t(r),
@@ -82,5 +82,5 @@ class b extends l {
82
82
  }
83
83
  }
84
84
  export {
85
- b as AbstractAccessTokenSnapshotService
85
+ g as AbstractAccessTokenSnapshotService
86
86
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./AbstractSnapshotService.cjs"),v=require("../../../functions/utils/amounts.utils.cjs"),u=require("../../../functions/utils/caseInsensitive.utils.cjs");class A extends c.AbstractSnapshotService{constructor(e){super(e,"NewApprovedUtxo")}_approvals=new Map;events=new Set;get approvals(){return this._approvals}getEventKey(e,t,s){return typeof e!="bigint"||typeof s!="string"||typeof t!="string"?null:`${s}-${t}-${e}`}serializeSnapshot(e){const t=Object.fromEntries(e.payload.approvals),s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:n.amount.toString(),tokenAddress:n.tokenAddress,inHinkalAddress:n.inHinkalAddress.toString()}));return[p,l]}),r=Object.fromEntries(s);return{latestBlockNumber:e.latestBlockNumber,approvals:r,events:[...this.events]}}deserializeSnapshot(e){const t=e.approvals,s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:BigInt(n.amount),tokenAddress:n.tokenAddress,inHinkalAddress:BigInt(n.inHinkalAddress)}));return[p,l]}),r=new Map(s);return{latestBlockNumber:e.latestBlockNumber??0,payload:{approvals:r,events:new Set(e.events)}}}getSnapshotPayload(){return{approvals:this._approvals,events:this.events}}populateSnapshot({payload:{approvals:e,events:t}}){this._approvals=e,this.events=t}mapEvent(e){const{approveTo:t,tokenAddress:s,amount:r,inHinkalAddress:p}=e;return{approveTo:t,tokenAddress:s,amount:v.toBigInt(r),inHinkalAddress:v.toBigInt(p)}}acceptEvent(e,t,s){const r=this.getEventKey(e.inHinkalAddress,e.tokenAddress,s);if(r&&!this.events.has(r)){const{amount:p,tokenAddress:i,inHinkalAddress:l}=e,n={amount:p,tokenAddress:i,inHinkalAddress:l};let a=this.approvals.get(e.approveTo)||[],d=!1;for(let o=0;o<a.length;o+=1)u.caseInsensitiveEqual(i,a[o].tokenAddress)&&l===a[o].inHinkalAddress&&(a[o].amount+=p,d=!0);if(a=a.filter(o=>o.amount!==0n),d&&a.length===0)this.approvals.delete(e.approveTo);else{const o=d?a:[...a,n];this.approvals.set(e.approveTo,o)}return s&&this.events.add(r),!0}return!1}}exports.AbstractApprovalsSnapshotService=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./AbstractSnapshotService.cjs"),c=require("../../../functions/utils/amounts.utils.cjs"),u=require("../../../functions/utils/caseInsensitive.utils.cjs");class A extends v.AbstractSnapshotService{constructor(e){super(e,"NewApprovedUtxo")}_approvals=new Map;events=new Set;get approvals(){return this._approvals}getEventKey(e,t,s){return typeof e!="bigint"||typeof s!="string"||typeof t!="string"?null:`${s}-${t}-${e}`}serializeSnapshot(e){const t=Object.fromEntries(e.payload.approvals),s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:n.amount.toString(),tokenAddress:n.tokenAddress,inHinkalAddress:n.inHinkalAddress.toString()}));return[p,l]}),r=Object.fromEntries(s);return{latestBlockNumber:e.latestBlockNumber,approvals:r,events:[...this.events]}}deserializeSnapshot(e){const t=e.approvals,s=Object.entries(t).map(([p,i])=>{const l=i.map(n=>({amount:BigInt(n.amount),tokenAddress:n.tokenAddress,inHinkalAddress:BigInt(n.inHinkalAddress)}));return[p,l]}),r=new Map(s);return{latestBlockNumber:e.latestBlockNumber??0,payload:{approvals:r,events:new Set(e.events)}}}getSnapshotPayload(){return{approvals:this._approvals,events:this.events}}populateSnapshot({payload:{approvals:e,events:t}}){this._approvals=e,this.events=t}mapEvent(e){const t=e.getArg("approveTo"),s=e.getArg("tokenAddress"),r=e.getArg("amount"),p=e.getArg("inHinkalAddress");return{approveTo:t,tokenAddress:s,amount:c.toBigInt(r),inHinkalAddress:c.toBigInt(p)}}acceptEvent(e,t,s){const r=this.getEventKey(e.inHinkalAddress,e.tokenAddress,s);if(r&&!this.events.has(r)){const{amount:p,tokenAddress:i,inHinkalAddress:l}=e,n={amount:p,tokenAddress:i,inHinkalAddress:l};let a=this.approvals.get(e.approveTo)||[],d=!1;for(let o=0;o<a.length;o+=1)u.caseInsensitiveEqual(i,a[o].tokenAddress)&&l===a[o].inHinkalAddress&&(a[o].amount+=p,d=!0);if(a=a.filter(o=>o.amount!==0n),d&&a.length===0)this.approvals.delete(e.approveTo);else{const o=d?a:[...a,n];this.approvals.set(e.approveTo,o)}return s&&this.events.add(r),!0}return!1}}exports.AbstractApprovalsSnapshotService=A;
@@ -2,6 +2,7 @@ import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
2
2
  import { NewApprovedUtxoEvent } from '../../../types/commitments.types';
3
3
  import { BlockchainEventEmitter } from './BlockchainEventEmitter';
4
4
  import { ApprovedUtxo } from '../../../types/hinkal.types';
5
+ import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
5
6
  export type ApprovalsSnapshotPayload = {
6
7
  readonly approvals: Map<string, ApprovedUtxo[]>;
7
8
  readonly events: Set<string>;
@@ -11,7 +12,7 @@ export type ApprovalsSerializedSnapshot = {
11
12
  approvals: Record<string, ApprovedUtxo<string>[]>;
12
13
  events: string[];
13
14
  };
14
- export declare abstract class AbstractApprovalsSnapshotService extends AbstractSnapshotService<NewApprovedUtxoEvent, NewApprovedUtxoEvent<string>, ApprovalsSnapshotPayload, ApprovalsSerializedSnapshot> {
15
+ export declare abstract class AbstractApprovalsSnapshotService extends AbstractSnapshotService<NewApprovedUtxoEvent, ApprovalsSnapshotPayload, ApprovalsSerializedSnapshot> {
15
16
  constructor(hinkalEventEmitter: BlockchainEventEmitter);
16
17
  private _approvals;
17
18
  events: Set<string>;
@@ -24,6 +25,6 @@ export declare abstract class AbstractApprovalsSnapshotService extends AbstractS
24
25
  events: Set<string>;
25
26
  };
26
27
  protected populateSnapshot({ payload: { approvals, events } }: Snapshot<ApprovalsSnapshotPayload>): void;
27
- protected mapEvent(event: NewApprovedUtxoEvent<string>): NewApprovedUtxoEvent;
28
+ protected mapEvent(event: BlockchainEvent): NewApprovedUtxoEvent;
28
29
  protected acceptEvent(event: NewApprovedUtxoEvent, _blockNumber: number, txHash: string): boolean;
29
30
  }
@@ -1,7 +1,7 @@
1
1
  import { AbstractSnapshotService as c } from "./AbstractSnapshotService.mjs";
2
2
  import { toBigInt as v } from "../../../functions/utils/amounts.utils.mjs";
3
- import { caseInsensitiveEqual as u } from "../../../functions/utils/caseInsensitive.utils.mjs";
4
- class g extends c {
3
+ import { caseInsensitiveEqual as A } from "../../../functions/utils/caseInsensitive.utils.mjs";
4
+ class f extends c {
5
5
  constructor(e) {
6
6
  super(e, "NewApprovedUtxo");
7
7
  }
@@ -57,7 +57,7 @@ class g extends c {
57
57
  this._approvals = e, this.events = t;
58
58
  }
59
59
  mapEvent(e) {
60
- const { approveTo: t, tokenAddress: s, amount: r, inHinkalAddress: p } = e;
60
+ const t = e.getArg("approveTo"), s = e.getArg("tokenAddress"), r = e.getArg("amount"), p = e.getArg("inHinkalAddress");
61
61
  return {
62
62
  approveTo: t,
63
63
  tokenAddress: s,
@@ -75,7 +75,7 @@ class g extends c {
75
75
  };
76
76
  let a = this.approvals.get(e.approveTo) || [], d = !1;
77
77
  for (let o = 0; o < a.length; o += 1)
78
- u(i, a[o].tokenAddress) && l === a[o].inHinkalAddress && (a[o].amount += p, d = !0);
78
+ A(i, a[o].tokenAddress) && l === a[o].inHinkalAddress && (a[o].amount += p, d = !0);
79
79
  if (a = a.filter((o) => o.amount !== 0n), d && a.length === 0)
80
80
  this.approvals.delete(e.approveTo);
81
81
  else {
@@ -88,5 +88,5 @@ class g extends c {
88
88
  }
89
89
  }
90
90
  export {
91
- g as AbstractApprovalsSnapshotService
91
+ f as AbstractApprovalsSnapshotService
92
92
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const l=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const u=require("../../../functions/utils/amounts.utils.cjs"),o=require("./AbstractSnapshotService.cjs"),p=require("../../../functions/utils/merkleTree.utils.cjs");class a extends o.AbstractSnapshotService{constructor(e){super(e,"NewCommitment")}_merkleTree;_encryptedOutputs;get merkleTree(){return this._merkleTree}get encryptedOutputs(){return this._encryptedOutputs}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),latestBlockNumber:e.latestBlockNumber,encryptedOutputs:e.payload.encryptedOutputs.map(t=>({value:t.value,isPositive:String(t.isPositive),isBlocked:t.isBlocked??!1}))}}deserializeSnapshot(e){let t;e.latestBlockNumber&&e.merkleTree?t=p.contructMerkleTreeFromSerialized(e.merkleTree):t=l.MerkleTree.create(c.poseidonFunction,0n);const s=e.encryptedOutputs?.map(r=>({value:r.value,isPositive:JSON.parse(r.isPositive),isBlocked:r.isBlocked??!1}));return{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,encryptedOutputs:s||[]}}}getSnapshotPayload(){return{merkleTree:this._merkleTree,encryptedOutputs:this._encryptedOutputs}}populateSnapshot({payload:{merkleTree:e,encryptedOutputs:t}}){this._merkleTree=e,this._encryptedOutputs=t}mapEvent(e){const{commitment:t,index:s,encryptedOutput:r}=e;return{commitment:u.toBigInt(t),index:u.toBigInt(s),encryptedOutput:r}}acceptEvent(e,t,s,r){if(!this.encryptedOutputs.map(i=>i.value).includes(e.encryptedOutput)){if(!this._merkleTree.insert(e.commitment,e.index>=0?e.index:-1n*e.index))return!1;const n={value:e.encryptedOutput,isPositive:e.index>=0n,isBlocked:r??!1};return this._encryptedOutputs.push(n),!0}return!1}}exports.AbstractCommitmentsSnapshotService=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const l=require("../../merkle-tree/MerkleTree.cjs");require("ethers");require("../../../error-handling/error-codes.constants.cjs");const u=require("../../../functions/utils/amounts.utils.cjs"),o=require("./AbstractSnapshotService.cjs"),p=require("../../../functions/utils/merkleTree.utils.cjs");class m extends o.AbstractSnapshotService{constructor(e){super(e,"NewCommitment")}_merkleTree;_encryptedOutputs;get merkleTree(){return this._merkleTree}get encryptedOutputs(){return this._encryptedOutputs}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),latestBlockNumber:e.latestBlockNumber,encryptedOutputs:e.payload.encryptedOutputs.map(t=>({value:t.value,isPositive:String(t.isPositive),isBlocked:t.isBlocked??!1}))}}deserializeSnapshot(e){let t;e.latestBlockNumber&&e.merkleTree?t=p.contructMerkleTreeFromSerialized(e.merkleTree):t=l.MerkleTree.create(n.poseidonFunction,0n);const s=e.encryptedOutputs?.map(r=>({value:r.value,isPositive:JSON.parse(r.isPositive),isBlocked:r.isBlocked??!1}));return{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,encryptedOutputs:s||[]}}}getSnapshotPayload(){return{merkleTree:this._merkleTree,encryptedOutputs:this._encryptedOutputs}}populateSnapshot({payload:{merkleTree:e,encryptedOutputs:t}}){this._merkleTree=e,this._encryptedOutputs=t}mapEvent(e){const t=e.getArg("commitment"),s=e.getArg("index"),r=e.getArg("encryptedOutput");return{commitment:u.toBigInt(t),index:u.toBigInt(s),encryptedOutput:r}}acceptEvent(e,t,s,r){if(!this.encryptedOutputs.map(i=>i.value).includes(e.encryptedOutput)){if(!this._merkleTree.insert(e.commitment,e.index>=0?e.index:-1n*e.index))return!1;const c={value:e.encryptedOutput,isPositive:e.index>=0n,isBlocked:r??!1};return this._encryptedOutputs.push(c),!0}return!1}}exports.AbstractCommitmentsSnapshotService=m;
@@ -2,6 +2,7 @@ import { MerkleTree, MerkleTreeJson } from '../../merkle-tree';
2
2
  import { CommitmentEvent, EncryptedOutputWithSign } from '../../../types';
3
3
  import { AbstractSnapshotService, Snapshot } from './AbstractSnapshotService';
4
4
  import { BlockchainEventEmitter } from './BlockchainEventEmitter';
5
+ import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
5
6
  export type CommitmentsSnapshotPayload = {
6
7
  readonly merkleTree: MerkleTree<bigint>;
7
8
  readonly encryptedOutputs: EncryptedOutputWithSign[];
@@ -11,7 +12,7 @@ export type CommitmentsSerializedSnapshot = {
11
12
  merkleTree?: MerkleTreeJson;
12
13
  encryptedOutputs?: EncryptedOutputWithSign<string>[];
13
14
  };
14
- export declare abstract class AbstractCommitmentsSnapshotService extends AbstractSnapshotService<CommitmentEvent<bigint>, CommitmentEvent, CommitmentsSnapshotPayload, CommitmentsSerializedSnapshot> {
15
+ export declare abstract class AbstractCommitmentsSnapshotService extends AbstractSnapshotService<CommitmentEvent<bigint>, CommitmentsSnapshotPayload, CommitmentsSerializedSnapshot> {
15
16
  constructor(hinkalEventEmitter: BlockchainEventEmitter);
16
17
  private _merkleTree;
17
18
  private _encryptedOutputs;
@@ -24,6 +25,6 @@ export declare abstract class AbstractCommitmentsSnapshotService extends Abstrac
24
25
  encryptedOutputs: EncryptedOutputWithSign<boolean>[];
25
26
  };
26
27
  protected populateSnapshot({ payload: { merkleTree, encryptedOutputs }, }: Snapshot<CommitmentsSnapshotPayload>): void;
27
- protected mapEvent(event: CommitmentEvent): CommitmentEvent<bigint>;
28
+ protected mapEvent(event: BlockchainEvent): CommitmentEvent<bigint>;
28
29
  protected acceptEvent(event: CommitmentEvent<bigint>, _blockNumber: number, _txHash?: string, isBlocked?: boolean): boolean;
29
30
  }
@@ -1,15 +1,15 @@
1
- import { poseidonFunction as m } from "../../../crypto/poseidon.mjs";
1
+ import { poseidonFunction as c } from "../../../crypto/poseidon.mjs";
2
2
  import "circomlibjs-hinkal-fork";
3
3
  import "libsodium-wrappers";
4
4
  import "process";
5
5
  import "buffer";
6
- import { MerkleTree as c } from "../../merkle-tree/MerkleTree.mjs";
6
+ import { MerkleTree as m } from "../../merkle-tree/MerkleTree.mjs";
7
7
  import "ethers";
8
8
  import "../../../error-handling/error-codes.constants.mjs";
9
9
  import { toBigInt as p } from "../../../functions/utils/amounts.utils.mjs";
10
10
  import { AbstractSnapshotService as o } from "./AbstractSnapshotService.mjs";
11
11
  import { contructMerkleTreeFromSerialized as n } from "../../../functions/utils/merkleTree.utils.mjs";
12
- class b extends o {
12
+ class x extends o {
13
13
  constructor(e) {
14
14
  super(e, "NewCommitment");
15
15
  }
@@ -34,7 +34,7 @@ class b extends o {
34
34
  }
35
35
  deserializeSnapshot(e) {
36
36
  let t;
37
- e.latestBlockNumber && e.merkleTree ? t = n(e.merkleTree) : t = c.create(m, 0n);
37
+ e.latestBlockNumber && e.merkleTree ? t = n(e.merkleTree) : t = m.create(c, 0n);
38
38
  const s = e.encryptedOutputs?.map((r) => ({
39
39
  value: r.value,
40
40
  isPositive: JSON.parse(r.isPositive),
@@ -60,7 +60,7 @@ class b extends o {
60
60
  this._merkleTree = e, this._encryptedOutputs = t;
61
61
  }
62
62
  mapEvent(e) {
63
- const { commitment: t, index: s, encryptedOutput: r } = e;
63
+ const t = e.getArg("commitment"), s = e.getArg("index"), r = e.getArg("encryptedOutput");
64
64
  return {
65
65
  commitment: p(t),
66
66
  index: p(s),
@@ -82,5 +82,5 @@ class b extends o {
82
82
  }
83
83
  }
84
84
  export {
85
- b as AbstractCommitmentsSnapshotService
85
+ x as AbstractCommitmentsSnapshotService
86
86
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../../functions/utils/resolve-sync.utils.cjs");class h{blockchainEventEmitter;eventName;constructor(e,t){this.blockchainEventEmitter=e,this.eventName=t,e.addEventProcessorFunction(this.processEventsPage.bind(this))}get latestBlockNumber(){return this.blockchainEventEmitter.latestBlockNumber}intervalClear(){this.blockchainEventEmitter.intervalClear()}async processEventsPage(e){const t=new Set;e.forEach(({event:s,transactionHash:n})=>{s==="BlockedUtxosCreated"&&t.add(n)});const c=[];await v.resolveSync(e.map(s=>async()=>{if(s.event!==this.eventName)return;const{args:n,blockNumber:i,transactionHash:r}=s;if(!n)throw new Error("Wrong event structure");const a=this.mapEvent(n),l=t.has(r);await this.acceptEvent(a,i,r,l)&&c.push(a)}));const o=c.length;return await this.afterEventsAccepted(o),c.length}}exports.AbstractEventService=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../../functions/utils/resolve-sync.utils.cjs");class h{blockchainEventEmitter;eventName;constructor(t,s){this.blockchainEventEmitter=t,this.eventName=s,t.addEventProcessorFunction(this.processEventsPage.bind(this))}get latestBlockNumber(){return this.blockchainEventEmitter.latestBlockNumber}get chainId(){return this.blockchainEventEmitter.chainId}intervalClear(){this.blockchainEventEmitter.intervalClear()}async processEventsPage(t){const s=new Set;t.forEach(({eventName:e,transactionHash:c})=>{e==="BlockedUtxosCreated"&&s.add(c)});const n=[];await l.resolveSync(t.map(e=>async()=>{if(e.eventName!==this.eventName)return;const{blockNumber:c,transactionHash:a}=e,r=this.mapEvent(e),o=s.has(a);await this.acceptEvent(r,c,a,o)&&n.push(r)}));const i=n.length;return await this.afterEventsAccepted(i),n.length}}exports.AbstractEventService=h;
@@ -1,12 +1,14 @@
1
+ import { BlockchainEvent } from '../../BlockchainEvent/BlockchainEvent';
1
2
  import { BlockchainEventEmitter } from './BlockchainEventEmitter';
2
- export declare abstract class AbstractEventService<EventType, SerializedEventType = unknown> {
3
+ export declare abstract class AbstractEventService<EventType> {
3
4
  protected blockchainEventEmitter: BlockchainEventEmitter;
4
5
  protected readonly eventName: string;
5
6
  protected constructor(blockchainEventEmitter: BlockchainEventEmitter, eventName: string);
6
7
  get latestBlockNumber(): number;
8
+ get chainId(): number;
7
9
  intervalClear(): void;
8
10
  private processEventsPage;
9
11
  protected abstract acceptEvent(event: EventType, blockNumber: number, txHash?: string, isBlocked?: boolean): boolean | Promise<boolean>;
10
- protected abstract mapEvent(event: SerializedEventType): EventType;
12
+ protected abstract mapEvent(event: BlockchainEvent): EventType;
11
13
  protected abstract afterEventsAccepted(eventsCount: number): Promise<void>;
12
14
  }