@hinkal/common 0.2.17 → 0.2.19

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 (474) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +8 -13
  3. package/API/API.mjs +86 -94
  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/fetchCommitmentsCache.cjs +1 -1
  27. package/API/fetchCommitmentsCache.mjs +9 -9
  28. package/API/get-token-data.cjs +1 -1
  29. package/API/get-token-data.d.ts +1 -1
  30. package/API/get-token-data.mjs +5 -5
  31. package/API/get-token-price-chart-data.cjs +1 -0
  32. package/API/get-token-price-chart-data.d.ts +16 -0
  33. package/API/get-token-price-chart-data.mjs +13 -0
  34. package/API/getGasEstimates.cjs +1 -1
  35. package/API/getGasEstimates.mjs +9 -9
  36. package/API/getServerURL.cjs +1 -1
  37. package/API/getServerURL.d.ts +3 -3
  38. package/API/getServerURL.mjs +51 -67
  39. package/API/getTokenPrice.cjs +1 -1
  40. package/API/getTokenPrice.d.ts +5 -0
  41. package/API/getTokenPrice.mjs +14 -7
  42. package/API/getWebsiteURL.d.ts +1 -1
  43. package/API/index.d.ts +0 -3
  44. package/API/is-tx-stateless.cjs +1 -1
  45. package/API/is-tx-stateless.d.ts +1 -1
  46. package/API/is-tx-stateless.mjs +10 -12
  47. package/API/kycCalls.cjs +1 -1
  48. package/API/kycCalls.d.ts +4 -8
  49. package/API/kycCalls.mjs +23 -26
  50. package/API/onrampCalls.cjs +1 -0
  51. package/API/onrampCalls.d.ts +20 -0
  52. package/API/onrampCalls.mjs +15 -0
  53. package/API/proxyAccountsCalls.cjs +1 -1
  54. package/API/proxyAccountsCalls.d.ts +2 -2
  55. package/API/proxyAccountsCalls.mjs +19 -19
  56. package/API/relayCalls.cjs +1 -1
  57. package/API/relayCalls.mjs +4 -4
  58. package/API/scheduled-transactions-calls.cjs +1 -1
  59. package/API/scheduled-transactions-calls.d.ts +1 -1
  60. package/API/scheduled-transactions-calls.mjs +4 -4
  61. package/API/simulate-batch-tx.cjs +1 -1
  62. package/API/simulate-batch-tx.d.ts +2 -2
  63. package/API/simulate-batch-tx.mjs +7 -6
  64. package/API/solana-calls.cjs +1 -1
  65. package/API/solana-calls.d.ts +6 -3
  66. package/API/solana-calls.mjs +15 -15
  67. package/API/token-calls.cjs +1 -1
  68. package/API/token-calls.mjs +6 -5
  69. package/API/unspent-utxos-calls.cjs +1 -1
  70. package/API/unspent-utxos-calls.d.ts +1 -1
  71. package/API/unspent-utxos-calls.mjs +15 -18
  72. package/README.md +237 -61
  73. package/constants/addresses.constants.cjs +1 -1
  74. package/constants/addresses.constants.d.ts +0 -1
  75. package/constants/addresses.constants.mjs +7 -8
  76. package/constants/chains.constants.cjs +1 -1
  77. package/constants/chains.constants.d.ts +0 -5
  78. package/constants/chains.constants.mjs +21 -26
  79. package/constants/coingecko.constants.cjs +1 -1
  80. package/constants/coingecko.constants.d.ts +1 -0
  81. package/constants/coingecko.constants.mjs +11 -10
  82. package/constants/contracts.constants.cjs +1 -1
  83. package/constants/contracts.constants.mjs +34 -41
  84. package/constants/function-signatures.constants.cjs +1 -1
  85. package/constants/function-signatures.constants.d.ts +0 -1
  86. package/constants/function-signatures.constants.mjs +3 -4
  87. package/constants/mediaUrls.constants.cjs +1 -1
  88. package/constants/mediaUrls.constants.d.ts +2 -0
  89. package/constants/mediaUrls.constants.mjs +3 -1
  90. package/constants/mystery-boxes.constants.d.ts +0 -0
  91. package/constants/permit2.constants.cjs +1 -1
  92. package/constants/permit2.constants.d.ts +0 -1
  93. package/constants/permit2.constants.mjs +10 -11
  94. package/constants/server.constants.cjs +1 -1
  95. package/constants/server.constants.d.ts +14 -122
  96. package/constants/server.constants.mjs +44 -152
  97. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  98. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
  99. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  100. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
  101. package/constants/token-data/index.d.ts +32 -88
  102. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  103. package/constants/token-data/localhostRegistry.json.mjs +0 -26
  104. package/constants/token-data/popularTokens.constants.cjs +1 -1
  105. package/constants/token-data/popularTokens.constants.mjs +0 -1
  106. package/constants/vite.constants.cjs +1 -1
  107. package/constants/vite.constants.mjs +36 -13
  108. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  109. package/data-structures/Hinkal/Hinkal.d.ts +34 -49
  110. package/data-structures/Hinkal/Hinkal.mjs +238 -301
  111. package/data-structures/Hinkal/IHinkal.d.ts +33 -48
  112. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  113. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  114. package/data-structures/Hinkal/handleAutoDepositBack.mjs +42 -42
  115. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  116. package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -23
  117. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  118. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +9 -9
  119. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  120. package/data-structures/Hinkal/hinkalDeposit.mjs +95 -93
  121. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  122. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +147 -133
  123. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  124. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +1 -2
  125. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  126. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  127. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +107 -115
  128. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  129. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
  130. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  131. package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -33
  132. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  133. package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +1 -1
  134. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +26 -24
  135. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  136. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
  137. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +8 -9
  138. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  140. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +86 -97
  141. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  142. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
  143. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +146 -146
  144. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  145. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
  146. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +38 -38
  147. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  148. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +57 -56
  149. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  150. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  151. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -58
  152. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  153. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
  154. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +83 -79
  155. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -1
  157. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
  158. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  159. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
  160. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +67 -64
  161. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  162. package/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
  163. package/data-structures/Hinkal/hinkalSwap.mjs +75 -87
  164. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  165. package/data-structures/Hinkal/hinkalTransfer.d.ts +1 -1
  166. package/data-structures/Hinkal/hinkalTransfer.mjs +55 -58
  167. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  168. package/data-structures/Hinkal/hinkalWithdraw.mjs +80 -82
  169. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  170. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +2 -2
  171. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -90
  172. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  173. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  174. package/data-structures/Hinkal/resetMerkleTrees.mjs +105 -53
  175. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  176. package/data-structures/IndexedDB/activity-db.mjs +7 -7
  177. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  178. package/data-structures/IndexedDB/balances-db.mjs +8 -8
  179. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  180. package/data-structures/IndexedDB/contact-db.mjs +10 -10
  181. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  182. package/data-structures/IndexedDB/signatures-db.mjs +25 -40
  183. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  184. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +10 -11
  185. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  186. package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
  187. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  188. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
  189. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
  190. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  191. package/data-structures/event-service/evm/AbstractEventService.d.ts +1 -0
  192. package/data-structures/event-service/evm/AbstractEventService.mjs +7 -4
  193. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  194. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -1
  195. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
  196. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  197. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -1
  198. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +17 -14
  199. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  200. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +1 -0
  201. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +9 -6
  202. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  203. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -1
  204. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
  205. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  206. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -2
  207. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +42 -45
  208. package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
  209. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  210. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +3 -4
  211. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  212. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +3 -4
  213. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  214. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +3 -4
  215. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  216. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +3 -4
  217. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  218. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +3 -4
  219. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  220. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +2 -4
  221. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  222. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +3 -4
  223. package/data-structures/utxo/Utxo.cjs +1 -1
  224. package/data-structures/utxo/Utxo.d.ts +1 -7
  225. package/data-structures/utxo/Utxo.mjs +26 -36
  226. package/error-handling/error-codes.constants.cjs +1 -1
  227. package/error-handling/error-codes.constants.d.ts +3 -0
  228. package/error-handling/error-codes.constants.mjs +5 -2
  229. package/error-handling/get-error.message.cjs +1 -1
  230. package/error-handling/get-error.message.mjs +21 -27
  231. package/error-handling/index.d.ts +0 -1
  232. package/functions/index.d.ts +0 -1
  233. package/functions/kyc/zkMeHelper.cjs +1 -1
  234. package/functions/kyc/zkMeHelper.mjs +18 -17
  235. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  236. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  237. package/functions/pre-transaction/constructAdminData.mjs +12 -18
  238. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  239. package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
  240. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  241. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  242. package/functions/pre-transaction/getFlatFees.mjs +22 -30
  243. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  244. package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
  245. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  246. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  247. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  248. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  249. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
  250. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
  251. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  252. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  253. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  254. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  255. package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  256. package/functions/pre-transaction/solana-public-signals.mjs +29 -26
  257. package/functions/pre-transaction/solana.cjs +1 -1
  258. package/functions/pre-transaction/solana.d.ts +2 -1
  259. package/functions/pre-transaction/solana.mjs +60 -51
  260. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  261. package/functions/private-wallet/emporium.helpers.d.ts +3 -5
  262. package/functions/private-wallet/emporium.helpers.mjs +95 -135
  263. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  264. package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
  265. package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
  266. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  267. package/functions/snarkjs/common.snarkjs.d.ts +1 -1
  268. package/functions/snarkjs/common.snarkjs.mjs +64 -64
  269. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  270. package/functions/snarkjs/constructEmporiumProof.d.ts +2 -2
  271. package/functions/snarkjs/constructEmporiumProof.mjs +1 -1
  272. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  273. package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
  274. package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
  275. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  276. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  277. package/functions/snarkjs/constructSolanaZkProof.mjs +54 -59
  278. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  279. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
  280. package/functions/snarkjs/generateCircomData.d.ts +1 -1
  281. package/functions/utils/addresses.cjs +1 -1
  282. package/functions/utils/addresses.d.ts +1 -0
  283. package/functions/utils/addresses.mjs +13 -12
  284. package/functions/utils/cacheFunctions.cjs +1 -1
  285. package/functions/utils/cacheFunctions.mjs +2 -2
  286. package/functions/utils/enum.utils.cjs +1 -0
  287. package/functions/utils/enum.utils.mjs +14 -0
  288. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  289. package/functions/utils/erc20tokenFunctions.d.ts +0 -1
  290. package/functions/utils/erc20tokenFunctions.mjs +22 -29
  291. package/functions/utils/get-hinkal-approvals.cjs +1 -1
  292. package/functions/utils/get-hinkal-approvals.d.ts +1 -1
  293. package/functions/utils/get-hinkal-approvals.mjs +16 -16
  294. package/functions/utils/getDataFromTransaction.d.ts +3 -3
  295. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  296. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  297. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  298. package/functions/utils/involves-permit2-op.cjs +1 -1
  299. package/functions/utils/involves-permit2-op.d.ts +0 -1
  300. package/functions/utils/involves-permit2-op.mjs +4 -6
  301. package/functions/utils/mutexes.utils.cjs +1 -1
  302. package/functions/utils/mutexes.utils.d.ts +1 -1
  303. package/functions/utils/mutexes.utils.mjs +3 -3
  304. package/functions/utils/nftTokenFunctions.cjs +1 -1
  305. package/functions/utils/nftTokenFunctions.mjs +8 -23
  306. package/functions/utils/prepareHinkal.cjs +1 -1
  307. package/functions/utils/prepareHinkal.d.ts +0 -6
  308. package/functions/utils/prepareHinkal.mjs +41 -60
  309. package/functions/utils/token-check.utils.cjs +1 -1
  310. package/functions/utils/token-check.utils.d.ts +3 -0
  311. package/functions/utils/token-check.utils.mjs +18 -7
  312. package/functions/utils/upToDateState.cjs +1 -1
  313. package/functions/utils/upToDateState.d.ts +1 -1
  314. package/functions/utils/upToDateState.mjs +4 -4
  315. package/functions/utils/walletBalances.utils.cjs +1 -1
  316. package/functions/utils/walletBalances.utils.d.ts +1 -16
  317. package/functions/utils/walletBalances.utils.mjs +4 -35
  318. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  319. package/functions/web3/events/getApprovedBalance.d.ts +3 -4
  320. package/functions/web3/events/getApprovedBalance.mjs +39 -44
  321. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  322. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  323. package/functions/web3/events/getInputUtxoAndBalance.mjs +114 -121
  324. package/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  325. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  326. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  327. package/functions/web3/events/getShieldedBalance.mjs +71 -70
  328. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  329. package/functions/web3/events/getTransactionLogEvents.mjs +7 -7
  330. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  331. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +7 -7
  332. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  333. package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
  334. package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
  335. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  336. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  337. package/functions/web3/functionCalls/approveToken.mjs +71 -63
  338. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  339. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  340. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  341. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  342. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
  343. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  344. package/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -0
  345. package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +2 -0
  346. package/functions/web3/functionCalls/recoverTransactionFromError.mjs +23 -0
  347. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  348. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  349. package/functions/web3/functionCalls/transactCallDirect.mjs +45 -36
  350. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  351. package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
  352. package/functions/web3/functionCalls/transactCallRelayer.mjs +44 -43
  353. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  354. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  355. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  356. package/functions/web3/getTokenHolder.cjs +1 -1
  357. package/functions/web3/getTokenHolder.mjs +8 -8
  358. package/functions/web3/lifiAPI.cjs +1 -1
  359. package/functions/web3/lifiAPI.d.ts +1 -1
  360. package/functions/web3/lifiAPI.mjs +12 -12
  361. package/functions/web3/odosAPI.cjs +1 -1
  362. package/functions/web3/odosAPI.mjs +6 -19
  363. package/functions/web3/okxAPI.cjs +1 -1
  364. package/functions/web3/okxAPI.mjs +22 -22
  365. package/functions/web3/oneInchAPI.cjs +1 -1
  366. package/functions/web3/oneInchAPI.mjs +7 -20
  367. package/functions/web3/runContractFunction.cjs +1 -1
  368. package/functions/web3/runContractFunction.mjs +38 -56
  369. package/functions/web3/uniswapAPI.cjs +1 -1
  370. package/functions/web3/uniswapAPI.mjs +22 -34
  371. package/index.cjs +1 -1
  372. package/index.mjs +937 -967
  373. package/package.json +2 -2
  374. package/providers/EthersProviderAdapter.cjs +1 -1
  375. package/providers/EthersProviderAdapter.d.ts +10 -17
  376. package/providers/EthersProviderAdapter.mjs +48 -76
  377. package/providers/SolanaProviderAdapter.cjs +1 -1
  378. package/providers/SolanaProviderAdapter.d.ts +7 -11
  379. package/providers/SolanaProviderAdapter.mjs +16 -31
  380. package/providers/WagmiProviderAdapter.cjs +1 -1
  381. package/providers/WagmiProviderAdapter.d.ts +11 -17
  382. package/providers/WagmiProviderAdapter.mjs +86 -117
  383. package/providers/prepareEthersHinkal.cjs +1 -1
  384. package/providers/prepareEthersHinkal.mjs +6 -7
  385. package/providers/prepareWagmiHinkal.cjs +1 -1
  386. package/providers/prepareWagmiHinkal.mjs +5 -5
  387. package/types/TransactionSimulator.types.d.ts +2 -9
  388. package/types/admin.types.cjs +1 -1
  389. package/types/admin.types.d.ts +3 -7
  390. package/types/admin.types.mjs +2 -2
  391. package/types/balances.types.d.ts +0 -1
  392. package/types/cache.types.cjs +1 -1
  393. package/types/cache.types.d.ts +2 -3
  394. package/types/cache.types.mjs +1 -1
  395. package/types/coingecko.types.d.ts +5 -0
  396. package/types/ethereum-network.types.cjs +1 -1
  397. package/types/ethereum-network.types.d.ts +1 -8
  398. package/types/ethereum-network.types.mjs +1 -1
  399. package/types/external-action.types.cjs +1 -1
  400. package/types/external-action.types.d.ts +0 -1
  401. package/types/external-action.types.mjs +1 -1
  402. package/types/hinkal.types.cjs +1 -1
  403. package/types/hinkal.types.d.ts +1 -7
  404. package/types/hinkal.types.mjs +22 -23
  405. package/types/index.d.ts +1 -3
  406. package/types/onramp.types.cjs +1 -0
  407. package/types/onramp.types.d.ts +58 -0
  408. package/types/onramp.types.mjs +4 -0
  409. package/types/proxy.types.d.ts +1 -0
  410. package/types/sandbox.types.cjs +1 -1
  411. package/types/sandbox.types.d.ts +8 -39
  412. package/types/sandbox.types.mjs +2 -2
  413. package/types/session.types.d.ts +2 -0
  414. package/types/solana.types.d.ts +3 -0
  415. package/types/token-prices.types.cjs +1 -1
  416. package/types/token-prices.types.d.ts +7 -0
  417. package/types/token-prices.types.mjs +4 -2
  418. package/types/transactions.types.cjs +1 -1
  419. package/types/transactions.types.d.ts +6 -4
  420. package/types/transactions.types.mjs +4 -3
  421. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  422. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  423. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  424. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  425. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  426. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  427. package/API/ai-calls.cjs +0 -1
  428. package/API/ai-calls.d.ts +0 -17
  429. package/API/ai-calls.mjs +0 -21
  430. package/API/duneAPI.cjs +0 -1
  431. package/API/duneAPI.d.ts +0 -11
  432. package/API/duneAPI.mjs +0 -25
  433. package/API/getBridgeProtocols.cjs +0 -1
  434. package/API/getBridgeProtocols.d.ts +0 -7
  435. package/API/getBridgeProtocols.mjs +0 -8
  436. package/API/getLifiStatus.cjs +0 -1
  437. package/API/getLifiStatus.d.ts +0 -24
  438. package/API/getLifiStatus.mjs +0 -15
  439. package/API/getRelayerURL.cjs +0 -1
  440. package/API/getRelayerURL.d.ts +0 -1
  441. package/API/getRelayerURL.mjs +0 -10
  442. package/API/passwordCalls.cjs +0 -1
  443. package/API/passwordCalls.d.ts +0 -9
  444. package/API/passwordCalls.mjs +0 -13
  445. package/API/restoreSnapshots.cjs +0 -1
  446. package/API/restoreSnapshots.d.ts +0 -1
  447. package/API/restoreSnapshots.mjs +0 -10
  448. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  449. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  450. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  451. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  452. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  453. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  454. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  455. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  456. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  457. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  458. package/error-handling/handleErrorRestore.cjs +0 -1
  459. package/error-handling/handleErrorRestore.d.ts +0 -2
  460. package/error-handling/handleErrorRestore.mjs +0 -11
  461. package/functions/staking/index.cjs +0 -1
  462. package/functions/staking/index.d.ts +0 -11
  463. package/functions/staking/index.mjs +0 -42
  464. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  465. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  466. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  467. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  468. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  469. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  470. package/types/bridging.types.d.ts +0 -29
  471. package/types/duneAPI.types.d.ts +0 -9
  472. package/types/hinkal.stake.types.cjs +0 -1
  473. package/types/hinkal.stake.types.d.ts +0 -11
  474. package/types/hinkal.stake.types.mjs +0 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../types/hinkal.types.cjs"),S=require("../../types/ethereum-network.types.cjs"),x=require("./hinkalCheckSolanaTokenRegistry.cjs"),m=require("../../functions/web3/functionCalls/accessTokenCalls.cjs"),W=require("../../functions/web3/events/getShieldedBalance.cjs"),w=require("../crypto-keys/keys.cjs"),I=require("./hinkalDeposit.cjs"),K=require("./hinkalDepositAndWithdraw.cjs"),A=require("./hinkalSolanaDeposit.cjs"),U=require("./hinkalSwap.cjs"),L=require("./hinkalWithdraw.cjs"),B=require("./hinkalWithdrawStuckUtxos.cjs"),N=require("./resetMerkleTrees.cjs"),M=require("../merkle-tree/MerkleTree.cjs");require("ethers");const R=require("../../error-handling/error-codes.constants.cjs"),F=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const h=require("../../constants/chains.constants.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");const _=require("../../constants/vite.constants.cjs"),P=require("../../API/API.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");const O=require("../../constants/kyc.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../API/tenderly.api.cjs");const j=require("../../functions/utils/reloadPage.cjs"),z=require("../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs"),$=require("./hinkalPrivateWallet.cjs"),J=require("../../functions/utils/cacheFunctions.cjs"),Q=require("../../functions/utils/cacheDevice.utils.cjs"),V=require("../../functions/web3/getContractMetadata.cjs"),X=require("./hinkalGetRecipientInfo.cjs"),Y=require("./hinkalApprove.cjs"),Z=require("./hinkalInsideTransact.cjs"),v=require("../../functions/web3/events/getApprovedBalance.cjs"),C=require("../../functions/web3/functionCalls/inHinkalApprovalCalls.cjs"),G=require("./hinkalSignSubAccount.cjs"),ee=require("./hinkalCheckTokenRegistry.cjs"),te=require("./hinkalActionReceive.cjs"),re=require("./hinkalActionFundApproveAndTransact.cjs"),ie=require("../TokenDBs/PrivateTokensDB.cjs");require("idb-keyval");const ae=require("../../functions/utils/erc20tokenFunctions.cjs");require("multiformats");const g=require("@solana/web3.js");require("@solana/spl-token");require("async-mutex");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");const E=require("../../functions/pre-transaction/solana.cjs");require("@coral-xyz/anchor");require("../../functions/utils/userAgent.cjs");require("../../functions/utils/mutexes.utils.cjs");require("node-forge");require("../../functions/web3/getTokenHolder.cjs");const ne=require("../../functions/private-wallet/emporium.helpers.cjs"),se=require("./hinkalProoflessDeposit.cjs"),oe=require("./hinkalProxySwap.cjs"),ce=require("./hinkalMultiSend.cjs"),he=require("./hinkalTransfer.cjs"),le=require("./hinkalProxyToPrivate.cjs"),de=require("./hinkalSolanaDepositAndWithdraw.cjs"),pe=require("./hinkalSolanaWithdraw.cjs"),ue=require("./hinkalSolanaTransfer.cjs"),ge=require("./hinkalSolanaSwap.cjs"),ke=require("./hinkalSolanaProxySend.cjs"),ve=require("./hinkalSolanaProxySwap.cjs"),D=require("./hinkalSolanaProxyShield.cjs"),H=require("../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs");class ye{providerAdapter;userKeys;signingMessage="Login to Hinkal Protocol";privateTransferSigningMessage="Login to Hinkal's Private Transfer App";merkleTreeHinkal;merkleTreeAccessToken;nullifiers;encryptedOutputs;approvals;commitmentsSnapshotService;nullifierSnapshotService;accessTokenSnapshotService;approvalsSnapshotService;utxoUtils;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new w.UserKeys(void 0),this.merkleTreeHinkal=M.MerkleTree.create(F.poseidonFunction,0n),this.merkleTreeAccessToken=M.MerkleTree.create(F.poseidonFunction,0n),this.nullifiers=new Set,this.encryptedOutputs=[],this.approvals=new Map,this.generateProofRemotely=e?.generateProofRemotely??!1,this.utxoUtils=new z.MultiThreadedUtxoUtils,this.cacheDevice=Q.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}async initProviderAdapter(e,t){await this.updateProviderAdapter(t),this.providerAdapter?.initConnector(e);const r=await this.connectAndPatchProvider(e);await t.init(r),await this.setListeners()}async initUserKeys(e=!1){const t=e?this.privateTransferSigningMessage:this.signingMessage;this.userKeys=new w.UserKeys(await this.getProviderAdapter().signMessage(t))}async initUserKeysWithPassword(e){this.userKeys=new w.UserKeys(e)}async resetMerkle(){this.disableMerkleTreeUpdates||this.isSelectedNetworkSupported()&&await N.resetMerkleTrees(this)}getProviderAdapter(){if(!this.providerAdapter)throw new Error("ProviderAdapter is not initialized");return this.providerAdapter}async waitForTransaction(e,t=1){return!!await this.providerAdapter?.waitForTransaction(e,t)}getContractMetadata(e,t){return this.getProviderAdapter().getContractMetadata(e,t)}getContract(e,t=void 0,r){return this.getProviderAdapter().getContract(e,t,r)}getContractWithFetcherByChainId(e,t,r=void 0){return V.getContractWithFetcherByChainId(e,t,r)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,r){return await this.getProviderAdapter().signTypedData(e,t,r)}async signWithSubAccount(e,t,r){return G.hinkalSignSubAccount(this,e,t,r)}getContractWithSigner(e,t=""){return this.getProviderAdapter().getContractWithSigner(e,t)}getContractWithFetcher(e,t=""){return this.getProviderAdapter().getContractWithFetcher(e,t)}getContractWithFetcherForEthereum(e,t){return this.getProviderAdapter().getContractWithFetcherForEthereum(e,t)}isSelectedNetworkSupported(){return!!h.networkRegistry[this.getCurrentChainId()]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw new Error(R.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async switchAccount(e){await this.getProviderAdapter().switchAccount(e)}getCurrentChainId(){const{chainId:e}=this.getProviderAdapter();if(!e)throw new Error("Illegal State: no chainId");return e}getSelectedNetwork(){return this.providerAdapter?.getSelectedNetwork()}isPermitterAvailable(){return this.getProviderAdapter().isPermitterAvailable()}async connectAndPatchProvider(e){return await this.getProviderAdapter().connectAndPatchProvider(e)}async disconnectFromConnector(){await this.getProviderAdapter().disconnectFromConnector()}async updateProviderAdapter(e){try{this.providerAdapter&&this.providerAdapter.release(),this.providerAdapter=e}catch(t){throw console.error(t),Error("updateProviderAdapter failed, please try again.")}}async setListeners(){this.providerAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.getProviderAdapter().onAccountChanged();const e=T.EventType.AccountChanged;typeof document<"u"?document?.dispatchEvent(new Event(e)):process?.emit("message",e,void 0)}async onChainChanged(e){if(e){await this.getProviderAdapter().onChainChanged(e);const t=T.EventType.NetworkChange;typeof document<"u"?document.dispatchEvent(new Event(t)):process?.emit("message",t,void 0)}else await this.disconnectFromConnector(),j.reloadPage()}async monitorConnectedAddress(){const e=this.getCurrentChainId();h.isSolanaLike(e)||await P.API.monitor(await this.getEthereumAddress(),e)}async getBalances(e,t,r,i,a=!1,s,n=!1){return W.getShieldedBalance(this,e,t,r,i,a,this.generateProofRemotely,s,n)}async getApprovedBalances(e=!1,t=!1){return v.getApprovedBalance(this,e,t)}async getTotalBalance(e,t,r,i=!1,a,s=!1){const n=e??this.getCurrentChainId(),o=r??await this.getEthereumAddress(),c=t??this.userKeys,d=await this.getBalances(n,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),o,i,a,s),p=!h.isSolanaLike(n)&&!s?await this.getApprovedBalances(i,a):new Map,l=_.isExtension?await ie.privateTokensDB.getPrivateTokens(n,o):ae.getErc20TokensForChain(n),u=[];return l.forEach(k=>{const f=k.erc20TokenAddress.toLowerCase(),y=d.get(f),q=p.get(f),b={token:k,balance:(y?.balance??0n)+(q?.balance??0n),timestamp:y?.timestamp||q?.timestamp||"0",nfts:y?.nfts||[]};u.push(b)}),u}async getStuckShieldedBalances(e,t){return(await this.getTotalBalance(e,void 0,t,!1,!1,!0)).filter(i=>i.balance>0n)}getSupportedPassportLinks(){return O.supportedPassportLinks}checkAccessToken(){return m.checkHinkalAccessToken(this)}async mintHinkalAccessToken(e,t){return m.mintAccessToken(this,e,t)}async getHinkalTreeRootHash(){const e=this.getCurrentChainId();if(h.isSolanaLike(e)){const{hinkalIdl:r,hinkalAddress:i,originalDeployer:a}=h.networkRegistry[e].contractData;if(!r||!i||!a)throw new Error(`Missing Solana configuration for chain ${e}`);const s=new g.PublicKey(a),n=new g.PublicKey(i),o=E.getMerkleAccountPublicKey(n,s),c=this.getSolanaProgram(r);return H.fetchSolanaMerkleTreeRootHash(c,o)}return this.getContractWithFetcher(S.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(){const e=this.getCurrentChainId();if(h.isSolanaLike(e)){const{hinkalIdl:r,hinkalAddress:i,originalDeployer:a}=h.networkRegistry[e].contractData;if(!r||!i||!a)throw new Error(`Missing Solana configuration for chain ${e}`);const s=new g.PublicKey(a),n=new g.PublicKey(i),o=E.getAccessTokenMerkleAccountPublicKey(n,s),c=this.getSolanaProgram(r);return H.fetchSolanaMerkleTreeRootHash(c,o)}return this.getContractWithFetcher(S.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(){if(!this.isSelectedNetworkSupported())throw new Error(R.transactionErrorCodes.UNSUPPORTED_NETWORK);const[e,t]=await Promise.all([this.getHinkalTreeRootHash(),this.getAccessTokenTreeRootHash()]);(e.toBigInt()!==this.merkleTreeHinkal.getRootHash()||t.toBigInt()!==this.merkleTreeAccessToken.getRootHash())&&(console.log("resetting merkle tree in resetMerkleTreesIfNecessary"),await this.resetMerkle())}async getEventsFromHinkal(){await Promise.all([this.accessTokenSnapshotService?.retrieveEventsFromLatestBlock(),this.commitmentsSnapshotService?.retrieveEventsFromLatestBlock(),this.nullifierSnapshotService?.retrieveEventsFromLatestBlock(),this.approvalsSnapshotService?.retrieveEventsFromLatestBlock()])}getEthereumAddress(){return this.getProviderAdapter().getAddress()}async getRandomRelay(e=!1){const t=this.getCurrentChainId();return(await P.API.getIdleRelay(t,e)).relay}getGasPrice(){if(!this.providerAdapter?.chainId)throw new Error("Illegal State of providerAdapter in Hinkal: no chainId");return this.providerAdapter.getGasPrice()}getAPI(){return P.API}resetCache(){J.resetCache(this,this.getCurrentChainId(),this.userKeys.getShieldedPublicKey())}snapshotsClearInterval(){this.commitmentsSnapshotService?.intervalClear(),this.accessTokenSnapshotService?.intervalClear(),this.nullifierSnapshotService?.intervalClear(),this.approvalsSnapshotService?.intervalClear()}checkTokenRegistry(e,t){const r=this.getCurrentChainId();if(h.isSolanaLike(r)){const{hinkalIdl:a,hinkalAddress:s,originalDeployer:n}=h.networkRegistry[r].contractData;if(!a||!s||!n)throw new Error("missing solana data");const o=this.getSolanaProgram(a),c=new g.PublicKey(n);return x.hinkalCheckSolanaTokenRegistry(o,c,e,t)}const i=this.getContractWithFetcher(S.ContractType.HinkalHelperContract);return ee.hinkalCheckTokenRegistry(i,e,t)}getRecipientInfo(){return X.getRecipientInfo(this)}async getInteractionApprovals(e){return await C.getInteractionApprovals(this,e)}getApprovedUtxos(e=!1){return v.getApprovedUtxos(this,e)}getApprovedUtxosForToken(e,t=!1){return v.getApprovedUtxosForToken(this,e,t)}getMyApprovalAmountForInteraction(e,t){return v.getMyApprovalAmountForInteraction(this,e,t)}async checkExistingApprovalFromHinkal(e,t){return await C.checkExistingApprovalFromHinkal(this,e,t)}async getBufferEntry(e,t,r){return C.getBufferEntry(this,e,t,r)}async deposit(e,t){return I.hinkalDeposit(this,e,t)}async depositForOther(e,t,r){return I.hinkalDepositForOther(this,e,t,r)}async depositAndWithdraw(e,t,r,i,a){return h.isSolanaLike(this.getCurrentChainId())?de.hinkalSolanaDepositAndWithdraw(this,e.erc20TokenAddress,t,r,i,a):K.hinkalDepositAndWithdraw(this,e,t,r,i,a)}async prooflessDeposit(e,t,r){return se.hinkalProoflessDeposit(this,e,t,r)}getSolanaProgram(e){if(!this.providerAdapter)throw new Error("No provider adapter initialized");if(!("getSolanaProgram"in this.providerAdapter))throw new Error("Current provider adapter is not a Solana provider adapter");return this.providerAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.providerAdapter)throw new Error("No provider adapter initialized");if(!("getSolanaPublicKey"in this.providerAdapter))throw new Error("Current provider adapter is not a Solana provider adapter");return this.providerAdapter.getSolanaPublicKey()}async depositSolana(e,t){return A.hinkalSolanaDeposit(this,e,t)}async depositSolanaForOther(e,t,r){return A.hinkalSolanaDepositForOther(this,e,t,r)}async solanaMultiPaymentDeposit(e,t){return A.hinkalSolanaMultiPaymentDeposit(this,e,t)}async transfer(e,t,r,i,a,s,n=!1){return h.isSolanaLike(this.getCurrentChainId())?ue.hinkalSolanaTransfer(this,e,t,r,i,a,n):he.hinkalTransfer(this,e,t,r,i,a,s,n)}async withdraw(e,t,r,i,a,s,n,o=!1){return h.isSolanaLike(this.getCurrentChainId())?pe.hinkalSolanaWithdraw(this,e.map(c=>c.erc20TokenAddress),t,r,a,s,o):L.hinkalWithdraw(this,e,t,r,i,a,s,n,o)}async withdrawStuckUtxos(e,t,r){return B.hinkalWithdrawStuckUtxos(this,e,t,r)}async swap(e,t,r,i,a,s,n,o=!1,c=!1){return h.isSolanaLike(this.getCurrentChainId())?this.swapSolana(e,t,i,a,s,o):U.hinkalSwap(this,e,t,r,i,a,s,n,o,c)}async swapSolana(e,t,r,i,a,s=!1){const n=JSON.parse(r),{instructionLists:o,addressLookupTableAccount:c}=n.data;return ge.hinkalSolanaSwap(this,e,t,o,c,i,a,s)}async actionReceive(e,t,r,i,a,s,n=!1){if(!a)throw new Error("subAccount is required");return h.isSolanaLike(this.getCurrentChainId())?D.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,n):te.hinkalActionReceive(this,e,t,r,i,a,s,n)}async actionFundApproveAndTransact(e,t,r,i,a,s,n,o,c=!1,d,p,l){return re.hinkalActionFundApproveAndTransact(this,e,t,r,i,a,s,n,o,c,d,p,l)}async actionPrivateWallet(e,t,r,i,a,s,n,o,c,d=!1,p,l,u,k=!1){return $.hinkalPrivateWallet(this,e,t,r,i,a,s,n,o,c,d,p,l,u,k)}async approve(e,t,r,i,a,s=!1){return Y.hinkalApprove(this,e,t,r,i,a,s)}async hinkalInsideTransact(e,t,r,i,a,s,n,o,c,d=!1){return Z.hinkalInsideTransact(this,e,t,r,i,a,s,n,o,c,d)}async proxySwap(e,t,r,i,a,s,n,o,c=!1,d,p,l=!1){return h.isSolanaLike(this.getCurrentChainId())?ve.hinkalSolanaProxySwap(this,e,t,i,s,n,o,l):oe.hinkalProxySwap(this,e,t,r,i,a,s,n,o,c,d,p,l)}async proxyToPrivate(e,t,r,i,a,s,n,o=!1){return h.isSolanaLike(this.getCurrentChainId())?D.hinkalSolanaProxyShield(this,e[0],t[0],r,i,o):le.hinkalProxyToPrivate(this,e,t,i,a,s,r,n,o)}async proxySend(e,t,r,i,a,s,n,o=!1){if(h.isSolanaLike(this.getCurrentChainId()))return ke.hinkalSolanaProxySend(this,e[0],t[0],r,i,o);const c=ne.createTransaferEmporiumOpsBatch(this,e.map(l=>l.erc20TokenAddress),t,i),d=e.map((l,u)=>({token:l,amount:-1n*t[u]}));return await this.actionPrivateWallet([],[],[],c,d,r,a,s,void 0,void 0,void 0,n,void 0,o)}async multiSendPrivateRecipients(e,t,r){return ce.hinkalMultiSendPrivateRecipients(this,e,t,r)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}}exports.Hinkal=ye;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../../types/hinkal.types.cjs"),S=require("../../types/ethereum-network.types.cjs"),H=require("./hinkalCheckSolanaTokenRegistry.cjs"),L=require("../../functions/web3/functionCalls/accessTokenCalls.cjs"),b=require("../../functions/web3/events/getShieldedBalance.cjs"),w=require("../crypto-keys/keys.cjs"),q=require("./hinkalDeposit.cjs"),W=require("./hinkalDepositAndWithdraw.cjs"),P=require("./hinkalSolanaDeposit.cjs"),U=require("./hinkalSwap.cjs"),F=require("./hinkalWithdraw.cjs"),x=require("./hinkalWithdrawStuckUtxos.cjs"),K=require("./resetMerkleTrees.cjs"),T=require("../merkle-tree/MerkleTree.cjs");require("ethers");const I=require("../../error-handling/error-codes.constants.cjs"),m=require("../../crypto/poseidon.cjs"),c=require("../../constants/chains.constants.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");const A=require("../../API/API.cjs");require("../../API/tenderly.api.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");const _=require("../../constants/kyc.constants.cjs"),N=require("../../constants/vite.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");const O=require("../../functions/utils/reloadPage.cjs"),j=require("../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs"),z=require("./hinkalPrivateWallet.cjs"),G=require("../../functions/utils/cacheDevice.utils.cjs"),$=require("../../functions/web3/getContractMetadata.cjs"),J=require("./hinkalGetRecipientInfo.cjs"),C=require("../../functions/web3/events/getApprovedBalance.cjs"),Q=require("./hinkalSignSubAccount.cjs"),V=require("./hinkalCheckTokenRegistry.cjs"),X=require("./hinkalActionReceive.cjs"),Y=require("../TokenDBs/PrivateTokensDB.cjs");require("idb-keyval");const Z=require("../../functions/utils/erc20tokenFunctions.cjs");require("multiformats");const v=require("@solana/web3.js");require("@solana/spl-token");const u=require("../../functions/utils/token-check.utils.cjs");require("async-mutex");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");const B=require("../../functions/pre-transaction/solana.cjs");require("@coral-xyz/anchor");require("../../functions/utils/userAgent.cjs");require("libsodium-wrappers");require("circomlibjs-hinkal-fork");require("process");require("buffer");require("../../providers/EthersProviderAdapter.cjs");require("node-forge");require("../../functions/web3/getTokenHolder.cjs");const ee=require("../../functions/private-wallet/emporium.helpers.cjs"),re=require("./hinkalProoflessDeposit.cjs"),te=require("./hinkalProxySwap.cjs"),ae=require("./hinkalMultiSend.cjs"),ie=require("./hinkalTransfer.cjs"),ne=require("./hinkalProxyToPrivate.cjs"),se=require("./hinkalSolanaDepositAndWithdraw.cjs"),oe=require("./hinkalSolanaWithdraw.cjs"),le=require("./hinkalSolanaTransfer.cjs"),ce=require("./hinkalSolanaSwap.cjs"),he=require("./hinkalSolanaProxySend.cjs"),de=require("./hinkalSolanaProxySwap.cjs"),R=require("./hinkalSolanaProxyShield.cjs"),M=require("../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs");class pe{providerAdapter;userKeys;signingMessage="Login to Hinkal Protocol";privateTransferSigningMessage="Login to Hinkal's Private Transfer App";merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};approvalsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};approvalsSnapshotServiceByChain={};utxoUtils;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new w.UserKeys(void 0),c.WALLET_SUPPORTED_CHAINS.forEach(r=>{this.merkleTreeHinkalByChain[r]=T.MerkleTree.create(m.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[r]=T.MerkleTree.create(m.poseidonFunction,0n),this.nullifiersByChain[r]=new Set,this.encryptedOutputsByChain[r]=[],this.approvalsByChain[r]=new Map}),this.generateProofRemotely=e?.generateProofRemotely??!1,this.utxoUtils=new j.MultiThreadedUtxoUtils,this.cacheDevice=G.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}async initProviderAdapter(e,r){await this.updateProviderAdapter(r),this.providerAdapter?.initConnector(e);const t=await this.connectAndPatchProvider(e);await r.init(t),await this.setListeners()}async initUserKeys(e=!1){const r=e?this.privateTransferSigningMessage:this.signingMessage;this.userKeys=new w.UserKeys(await this.getProviderAdapter().signMessage(r))}async initUserKeysWithPassword(e){this.userKeys=new w.UserKeys(e)}async resetMerkle(e){if(this.disableMerkleTreeUpdates)return;(e?.every(t=>this.isSelectedNetworkSupported(t))??!0)&&await K.resetMerkleTrees(this,e)}getProviderAdapter(){if(!this.providerAdapter)throw new Error("ProviderAdapter is not initialized");return this.providerAdapter}async waitForTransaction(e,r,t=1){return!!await this.providerAdapter?.waitForTransaction(e,r,t)}getContract(e,r,t=void 0){return this.getProviderAdapter().getContract(e,r,t)}getContractWithFetcherByChainId(e,r,t=void 0){return $.getContractWithFetcherByChainId(e,r,t)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,r,t){return await this.getProviderAdapter().signTypedData(e,r,t)}async signWithSubAccount(e,r,t,a){return Q.hinkalSignSubAccount(e,r,t,a)}getContractWithSigner(e,r,t=""){return this.getProviderAdapter().getContractWithSigner(e,r,t)}getContractWithFetcher(e,r,t=""){return this.getProviderAdapter().getContractWithFetcher(e,r,t)}isSelectedNetworkSupported(e){return!!c.networkRegistry[e]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw new Error(I.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(){return this.getProviderAdapter().isPermitterAvailable()}async connectAndPatchProvider(e){return await this.getProviderAdapter().connectAndPatchProvider(e)}async disconnectFromConnector(){await this.getProviderAdapter().disconnectFromConnector()}async updateProviderAdapter(e){try{this.providerAdapter&&this.providerAdapter.release(),this.providerAdapter=e}catch(r){throw console.error(r),Error("updateProviderAdapter failed, please try again.")}}async setListeners(){this.providerAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.getProviderAdapter().onAccountChanged();const e=E.EventType.AccountChanged;typeof document<"u"?document?.dispatchEvent(new Event(e)):process?.emit("message",e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter().onChainChanged(e):(await this.disconnectFromConnector(),O.reloadPage())}async monitorConnectedAddress(){await A.API.monitor(await this.getEthereumAddress())}async getBalances(e,r,t,a,i=!1,n,s=!1){return b.getShieldedBalance(this,e,r,t,a,i,this.generateProofRemotely,n,s)}async getApprovedBalances(e,r=!1,t=!1){return C.getApprovedBalance(this,e,r,t)}async getTotalBalance(e,r,t,a=!1,i,n=!1){const s=t??await this.getEthereumAddress(),o=r??this.userKeys,l=await this.getBalances(e,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),s,a,i,n),h=!c.isSolanaLike(e)&&!n?await this.getApprovedBalances(e,a,i):new Map,g=N.isExtension?await Y.privateTokensDB.getPrivateTokens(e,s):Z.getErc20TokensForChain(e),p=[];return g.forEach(d=>{const k=d.erc20TokenAddress.toLowerCase(),y=l.get(k),f=h.get(k),D={token:d,balance:(y?.balance??0n)+(f?.balance??0n),timestamp:y?.timestamp||f?.timestamp||"0",nfts:y?.nfts||[]};p.push(D)}),p}async getStuckShieldedBalances(e,r){return(await this.getTotalBalance(e,void 0,r,!1,!1,!0)).filter(a=>a.balance>0n)}getSupportedPassportLinks(){return _.supportedPassportLinks}checkAccessToken(e){return L.checkHinkalAccessToken(this,e)}async getHinkalTreeRootHash(e){if(c.isSolanaLike(e)){const{hinkalIdl:t,hinkalAddress:a,originalDeployer:i}=c.networkRegistry[e].contractData;if(!t||!a||!i)throw new Error(`Missing Solana configuration for chain ${e}`);const n=new v.PublicKey(i),s=new v.PublicKey(a),o=B.getMerkleAccountPublicKey(s,n),l=this.getSolanaProgram(t);return M.fetchSolanaMerkleTreeRootHash(l,o)}return this.getContractWithFetcherByChainId(e,S.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(e){if(c.isSolanaLike(e)){const{hinkalIdl:t,hinkalAddress:a,originalDeployer:i}=c.networkRegistry[e].contractData;if(!t||!a||!i)throw new Error(`Missing Solana configuration for chain ${e}`);const n=new v.PublicKey(i),s=new v.PublicKey(a),o=B.getAccessTokenMerkleAccountPublicKey(s,n),l=this.getSolanaProgram(t);return M.fetchSolanaMerkleTreeRootHash(l,o)}return this.getContractWithFetcherByChainId(e,S.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(){const r=(await Promise.all(c.WALLET_SUPPORTED_CHAINS.map(async t=>{const[a,i]=await Promise.all([this.getHinkalTreeRootHash(t),this.getAccessTokenTreeRootHash(t)]),n=a.toBigInt()!==this.merkleTreeHinkalByChain[t].getRootHash()||i.toBigInt()!==this.merkleTreeAccessTokenByChain[t].getRootHash();return{chainId:t,needsReset:n}}))).filter(t=>t.needsReset).map(t=>t.chainId);r.length>0&&(console.log("resetting merkle tree in resetMerkleTreesIfNecessary for chains:",r),await this.resetMerkle(r))}async getEventsFromHinkal(){const e=c.WALLET_SUPPORTED_CHAINS.flatMap(r=>[this.accessTokenSnapshotServiceByChain[r]?.retrieveEventsFromLatestBlock(),this.commitmentsSnapshotServiceByChain[r]?.retrieveEventsFromLatestBlock(),this.nullifierSnapshotServiceByChain[r]?.retrieveEventsFromLatestBlock(),this.approvalsSnapshotServiceByChain[r]?.retrieveEventsFromLatestBlock()]);await Promise.all(e)}getEthereumAddress(){return this.getProviderAdapter().getAddress()}async getRandomRelay(e,r=!1){return(await A.API.getIdleRelay(e,r)).relay}getGasPrice(e){if(!this.providerAdapter)throw new Error("Illegal State of providerAdapter in Hinkal: no providerAdapter initialized");return this.providerAdapter.getGasPrice(e)}getAPI(){return A.API}snapshotsClearInterval(){c.WALLET_SUPPORTED_CHAINS.forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear(),this.approvalsSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(e,r,t){if(c.isSolanaLike(e)){const{hinkalIdl:i,hinkalAddress:n,originalDeployer:s}=c.networkRegistry[e].contractData;if(!i||!n||!s)throw new Error("missing solana data");const o=this.getSolanaProgram(i),l=new v.PublicKey(s);return H.hinkalCheckSolanaTokenRegistry(o,l,r,t)}const a=this.getContractWithFetcher(e,S.ContractType.HinkalHelperContract);return V.hinkalCheckTokenRegistry(a,r,t)}getRecipientInfo(){return J.getRecipientInfo(this)}getApprovedUtxos(e,r=!1){return C.getApprovedUtxos(this,e,r)}getApprovedUtxosForToken(e,r,t=!1){return C.getApprovedUtxosForToken(this,e,r,t)}async deposit(e,r){return q.hinkalDeposit(this,e,r)}async depositForOther(e,r,t){return q.hinkalDepositForOther(this,e,r,t)}async depositAndWithdraw(e,r,t,a,i){const n=u.validateAndGetChainId([e]);return c.isSolanaLike(n)?se.hinkalSolanaDepositAndWithdraw(this,e,r,t,a,i):W.hinkalDepositAndWithdraw(this,e,r,t,a,i)}async prooflessDeposit(e,r,t){return re.hinkalProoflessDeposit(this,e,r,t)}getSolanaProgram(e){if(!this.providerAdapter)throw new Error("No provider adapter initialized");if(!("getSolanaProgram"in this.providerAdapter))throw new Error("Current provider adapter is not a Solana provider adapter");return this.providerAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.providerAdapter)throw new Error("No provider adapter initialized");if(!("getSolanaPublicKey"in this.providerAdapter))throw new Error("Current provider adapter is not a Solana provider adapter");return this.providerAdapter.getSolanaPublicKey()}async depositSolana(e,r){return P.hinkalSolanaDeposit(this,e,r)}async depositSolanaForOther(e,r,t){return P.hinkalSolanaDepositForOther(this,e,r,t)}async solanaMultiPaymentDeposit(e,r){return P.hinkalSolanaMultiPaymentDeposit(this,e,r)}async transfer(e,r,t,a,i,n,s=!1){const o=u.validateAndGetChainId(e);return c.isSolanaLike(o)?le.hinkalSolanaTransfer(this,e,r,t,a,i,s):ie.hinkalTransfer(this,e,r,t,a,i,n,s)}async withdraw(e,r,t,a,i,n,s,o=!1){const l=u.validateAndGetChainId(e);return c.isSolanaLike(l)?oe.hinkalSolanaWithdraw(this,e,r,t,i,n,o):F.hinkalWithdraw(this,e,r,t,a,i,n,s,o)}async withdrawStuckUtxos(e,r){return x.hinkalWithdrawStuckUtxos(this,e,r)}async swap(e,r,t,a,i,n,s,o=!1,l=!1){const h=u.validateAndGetChainId(e);return c.isSolanaLike(h)?this.swapSolana(e,r,a,i,n,o):U.hinkalSwap(this,e,r,t,a,i,n,s,o,l)}async swapSolana(e,r,t,a,i,n=!1){const s=JSON.parse(t),o=BigInt(s.swapperAccountSalt),{instructionLists:l,addressLookupTableAccount:h}=s.data;return ce.hinkalSolanaSwap(this,e,r,o,l,h,a,i,n)}async actionReceive(e,r,t,a,i,n,s=!1){if(!i)throw new Error("subAccount is required");const o=u.validateAndGetChainId(e);return c.isSolanaLike(o)?R.hinkalSolanaProxyShield(this,e[0],r[0],i,void 0,s):X.hinkalActionReceive(this,e,r,t,a,i,n,s)}async actionPrivateWallet(e,r,t,a,i,n,s,o,l,h,g=!1,p,d,k,y=!1){return z.hinkalPrivateWallet(this,e,r,t,a,i,n,s,o,l,h,g,p,d,k,y)}async proxySwap(e,r,t,a,i,n,s,o,l=!1,h,g,p=!1){const d=u.validateAndGetChainId(e);return c.isSolanaLike(d)?de.hinkalSolanaProxySwap(this,e,r,a,n,s,o,p):te.hinkalProxySwap(this,e,r,t,a,i,n,s,o,l,h,g,p)}async proxyToPrivate(e,r,t,a,i,n,s,o=!1){const l=u.validateAndGetChainId(e);return c.isSolanaLike(l)?R.hinkalSolanaProxyShield(this,e[0],r[0],t,a,o):ne.hinkalProxyToPrivate(this,e,r,a,i,n,t,s,o)}async proxySend(e,r,t,a,i,n,s,o=!1){const l=u.validateAndGetChainId(e);if(c.isSolanaLike(l))return he.hinkalSolanaProxySend(e[0],r[0],t,a,o);const h=ee.createTransaferEmporiumOpsBatch(this,l,e.map(d=>d.erc20TokenAddress),r,a),g=e.map((d,k)=>({token:d,amount:-1n*r[k]}));return await this.actionPrivateWallet(l,[],[],[],h,g,t,i,n,void 0,void 0,void 0,s,void 0,o)}async multiSendPrivateRecipients(e,r,t){return ae.hinkalMultiSendPrivateRecipients(this,e,r,t)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}}exports.Hinkal=pe;
@@ -1,11 +1,10 @@
1
1
  import { ethers } from 'ethers';
2
- import { type ApprovedUtxo, ApprovedUtxoWithInteractionAddress, FeeStructure, HinkalConfig, type ParsedInLogicMetadata } from '../../types/hinkal.types';
3
- import { type ContractMetadata, ContractType, EthereumNetwork } from '../../types/ethereum-network.types';
2
+ import { type ApprovedUtxo, ApprovedUtxoWithInteractionAddress, FeeStructure, HinkalConfig } from '../../types/hinkal.types';
3
+ import { ContractType, EthereumNetwork } from '../../types/ethereum-network.types';
4
4
  import type { EncryptedOutputWithSign } from '../../types/commitments.types';
5
5
  import { ExternalActionId } from '../../types/external-action.types';
6
6
  import { type IMultiThreadedUtxoUtils } from '../../types/IMultiThreadedUtxoUtils';
7
7
  import { type RelayerTransaction } from '../../types/relayer.types';
8
- import { type SignatureData } from '../../types/crypto.types';
9
8
  import type { ERC20Token, PrivateRecipientInfo, TokenBalance, TokenChanges } from '../../types/token.types';
10
9
  import { UserKeys } from '../crypto-keys/keys';
11
10
  import { type IProviderAdapter } from '../provider-adapter/IProviderAdapter';
@@ -24,15 +23,15 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
24
23
  userKeys: UserKeys;
25
24
  readonly signingMessage: string;
26
25
  readonly privateTransferSigningMessage: string;
27
- merkleTreeHinkal: MerkleTree<bigint>;
28
- merkleTreeAccessToken: MerkleTree<bigint>;
29
- nullifiers: Set<string>;
30
- encryptedOutputs: EncryptedOutputWithSign[];
31
- approvals: Map<string, ApprovedUtxo[]>;
32
- commitmentsSnapshotService?: ClientCommitmentsSnapshotService | ClientSolanaCommitmentsSnapshotService;
33
- nullifierSnapshotService?: ClientNullifierSnapshotService | ClientSolanaNullifierSnapshotService;
34
- accessTokenSnapshotService?: ClientAccessTokenSnapshotService | ClientSolanaAccessTokenSnapshotService;
35
- approvalsSnapshotService?: ClientApprovalsSnapshotService;
26
+ merkleTreeHinkalByChain: Record<number, MerkleTree<bigint>>;
27
+ merkleTreeAccessTokenByChain: Record<number, MerkleTree<bigint>>;
28
+ nullifiersByChain: Record<number, Set<string>>;
29
+ encryptedOutputsByChain: Record<number, EncryptedOutputWithSign[]>;
30
+ approvalsByChain: Record<number, Map<string, ApprovedUtxo[]>>;
31
+ commitmentsSnapshotServiceByChain: Record<number, ClientCommitmentsSnapshotService | ClientSolanaCommitmentsSnapshotService | undefined>;
32
+ nullifierSnapshotServiceByChain: Record<number, ClientNullifierSnapshotService | ClientSolanaNullifierSnapshotService | undefined>;
33
+ accessTokenSnapshotServiceByChain: Record<number, ClientAccessTokenSnapshotService | ClientSolanaAccessTokenSnapshotService | undefined>;
34
+ approvalsSnapshotServiceByChain: Record<number, ClientApprovalsSnapshotService | undefined>;
36
35
  utxoUtils: IMultiThreadedUtxoUtils;
37
36
  cacheDevice: ICacheDevice;
38
37
  generateProofRemotely: boolean;
@@ -41,23 +40,18 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
41
40
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
42
41
  initUserKeys(isPrivateTransfer?: boolean): Promise<void>;
43
42
  initUserKeysWithPassword(password: string): Promise<void>;
44
- resetMerkle(): Promise<void>;
43
+ resetMerkle(chainIds?: number[]): Promise<void>;
45
44
  getProviderAdapter(): IProviderAdapter<ConnectorType>;
46
- waitForTransaction(transactionHash: string, confirmations?: number): Promise<boolean>;
47
- getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
48
- getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number): ethers.Contract;
45
+ waitForTransaction(chainId: number, transactionHash: string, confirmations?: number): Promise<boolean>;
46
+ getContract(chainId: number, contractType: ContractType, contractAddress?: undefined): ethers.Contract;
49
47
  getContractWithFetcherByChainId(chainId: number, contractType: ContractType, contractAddress?: undefined): ethers.Contract;
50
48
  signMessage(message: string): Promise<string>;
51
49
  signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
52
- signWithSubAccount(messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount): Promise<string>;
53
- getContractWithSigner(contract: ContractType, contractAddress?: string): ethers.Contract;
54
- getContractWithFetcher(contract: ContractType, contractAddress?: string): ethers.Contract;
55
- getContractWithFetcherForEthereum(contract: ContractType, address: string): ethers.Contract;
56
- isSelectedNetworkSupported(): boolean;
50
+ signWithSubAccount(chainId: number, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount): Promise<string>;
51
+ getContractWithSigner(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
52
+ getContractWithFetcher(chainId: number, contractType: ContractType, contractAddress?: string): ethers.Contract;
53
+ isSelectedNetworkSupported(chainId: number): boolean;
57
54
  switchNetwork(network: EthereumNetwork): Promise<void>;
58
- switchAccount(signer: ethers.Signer): Promise<void>;
59
- getCurrentChainId(): number;
60
- getSelectedNetwork(): EthereumNetwork | undefined;
61
55
  isPermitterAvailable(): boolean;
62
56
  connectAndPatchProvider(connector: ConnectorType): Promise<number>;
63
57
  disconnectFromConnector(): Promise<void>;
@@ -67,49 +61,40 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
67
61
  private onChainChanged;
68
62
  monitorConnectedAddress(): Promise<void>;
69
63
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
70
- getApprovedBalances(resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
71
- getTotalBalance(_chainId?: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
72
- getStuckShieldedBalances(_chainId?: number, _ethAddress?: string): Promise<TokenBalance[]>;
64
+ getApprovedBalances(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
65
+ getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
66
+ getStuckShieldedBalances(chainId: number, _ethAddress?: string): Promise<TokenBalance[]>;
73
67
  getSupportedPassportLinks(): string[];
74
- checkAccessToken(): Promise<boolean>;
75
- mintHinkalAccessToken(signatureData: SignatureData, fromWallet?: boolean): Promise<ethers.ContractTransaction>;
76
- getHinkalTreeRootHash(): Promise<any>;
77
- getAccessTokenTreeRootHash(): Promise<any>;
68
+ checkAccessToken(chainId: number): Promise<boolean>;
69
+ getHinkalTreeRootHash(chainId: number): Promise<any>;
70
+ getAccessTokenTreeRootHash(chainId: number): Promise<any>;
78
71
  resetMerkleTreesIfNecessary(): Promise<void>;
79
72
  getEventsFromHinkal(): Promise<void>;
80
73
  getEthereumAddress(): Promise<string>;
81
- getRandomRelay(markAsPending?: boolean): Promise<string | undefined>;
82
- getGasPrice(): Promise<bigint>;
74
+ getRandomRelay(chainId: number, markAsPending?: boolean): Promise<string | undefined>;
75
+ getGasPrice(chainId: number): Promise<bigint>;
83
76
  getAPI(): IAPI;
84
- resetCache(): void;
85
77
  snapshotsClearInterval(): void;
86
- checkTokenRegistry(erc20Addresses: string[], amountChanges: bigint[]): Promise<boolean>;
78
+ checkTokenRegistry(chainId: number, erc20Addresses: string[], amountChanges: bigint[]): Promise<boolean>;
87
79
  getRecipientInfo(): string;
88
- getInteractionApprovals(interactionAddress: string): Promise<ApprovedUtxo[]>;
89
- getApprovedUtxos(resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
90
- getApprovedUtxosForToken(erc20Address: string, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
91
- getMyApprovalAmountForInteraction(interactionAddress: string, tokenAddress: string): bigint;
92
- checkExistingApprovalFromHinkal(erc20Address: string, interactionAddress: string): Promise<bigint>;
93
- getBufferEntry(approveTo: string, tokenAddress: string, inHinkalAddress: bigint): Promise<bigint>;
80
+ getApprovedUtxos(chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
81
+ getApprovedUtxosForToken(erc20Address: string, chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
94
82
  deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[]): Promise<ethers.ContractTransaction>;
95
83
  depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientInfo: string): Promise<ethers.ContractTransaction>;
96
84
  depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure): Promise<string>;
97
85
  prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[]): Promise<ethers.ContractTransaction>;
98
86
  getSolanaProgram(idl: Idl): Program;
99
87
  getSolanaPublicKey(): PublicKey;
100
- depositSolana(amount: bigint, mintAddress: string): Promise<string>;
101
- depositSolanaForOther(amount: bigint, mintAddress: string, recipientInfo: string): Promise<string>;
102
- solanaMultiPaymentDeposit(amounts: bigint[], mintAddress: string): Promise<string>;
88
+ depositSolana(amount: bigint, token: ERC20Token): Promise<string>;
89
+ depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string): Promise<string>;
90
+ solanaMultiPaymentDeposit(amounts: bigint[], token: ERC20Token): Promise<string>;
103
91
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
104
92
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<ethers.ContractTransaction | RelayerTransaction | bigint>;
105
- withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string, action?: AdminTransactionType): Promise<RelayerTransaction[]>;
93
+ withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<RelayerTransaction[]>;
106
94
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean, withPrivateMempool?: boolean): Promise<RelayerTransaction | bigint>;
107
95
  swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, onlyGasEstimate?: boolean): Promise<RelayerTransaction>;
108
96
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeToken?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
109
- actionFundApproveAndTransact(tokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, spenderAddress?: string, to?: string, callDataString?: string, value?: bigint, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
110
- actionPrivateWallet(erc20Addresses: string[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
111
- approve(erc20Addresses: string[], amount: bigint, approveTo: string, feeToken?: string, feeStructureOverride?: FeeStructure, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
112
- hinkalInsideTransact(erc20Addresses: string[], deltaChanges: bigint[], approvalChanges: bigint[], externalAddress: string, externalActionMetadata: string, parsedInLogicMetadata: ParsedInLogicMetadata, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
97
+ actionPrivateWallet(chainId: number, erc20Addresses: string[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
113
98
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
114
99
  proxyToPrivate(erc20Tokens: ERC20Token[], deltaAmountsBase: bigint[], subAccount: SubAccount, recipientInfo: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;
115
100
  proxySend(erc20Tokens: ERC20Token[], amounts: bigint[], subAccount: SubAccount, recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType, onlyGasEstimate?: boolean): Promise<RelayerTransaction | bigint>;