@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 m=require("../../constants/protocol.constants.cjs"),d=require("./amounts.utils.cjs"),f=require("./caseInsensitive.utils.cjs"),v=require("./publicBalance.utils.cjs"),p=require("../web3/etherFunctions.cjs"),y=require("../../data-structures/crypto-keys/keys.cjs"),A=(s,t)=>s?.length?s.reduce((e,{amount:u,token:r})=>{if(u>=0n)return e;const o=-u,c=t.find(i=>f.caseInsensitiveEqual(i.token.erc20TokenAddress,r.erc20TokenAddress))?.balance??0n;return c<o&&(e.tokensToFund.push(r),e.fundAmounts.push(o-c)),e},{fundAmounts:[],tokensToFund:[]}):{fundAmounts:[],tokensToFund:[]},F=async(s,t,n)=>{if(!n?.length)return{fundAmounts:[],tokensToFund:[],approveTokenAddresses:[],approvedTokenAmounts:[]};const e=s.getCurrentChainId(),u=y.UserKeys.getSignerAddressFromPrivateKey(e,t.privateKey),r=await v.getPublicBalancesOfTokens(e,u,n.map(({token:a})=>a)),{fundAmounts:o,tokensToFund:c}=A(n,r),i=n.length?n.filter(({amount:a,token:g})=>a<0n&&g.erc20TokenAddress!==m.zeroAddress).map(({token:a})=>a.erc20TokenAddress):[],l=i.map(()=>2n**256n-1n);return{fundAmounts:o,tokensToFund:c,approveTokenAddresses:i,approvedTokenAmounts:l}},T=(s,t,n)=>{const e=t.map(r=>r.amount<0n?s.getMyApprovalAmountForInteraction(n,r.token.erc20TokenAddress):0n);return{approvalChanges:t.map((r,o)=>r.amount<0n&&e[o]>0n?d.absBigInt(r.amount)<d.absBigInt(e[o])?r.amount:-e[o]:0n)}};function h(s,t,n,e,u){try{return!n||!s?!0:e?u?+s*u<=+t:!0:p.getAmountInWei(n,s)<=p.getAmountInWei(n,t)}catch{return!0}}exports.getNecessaryApprovalChangesData=T;exports.getNecessaryAssetsForFunding=F;exports.getNecessaryAssetsForFundingFromBalance=A;exports.hasEnoughBalance=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../web3/etherFunctions.cjs");function c(r,t,e,i,u){try{return!e||!r?!0:i?u?+r*u<=+t:!0:n.getAmountInWei(e,r)<=n.getAmountInWei(e,t)}catch{return!0}}exports.hasEnoughBalance=c;
@@ -1,17 +1,2 @@
1
- import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
- import { ERC20Token, TokenBalance, TokenChanges } from '../../types/token.types';
3
- import { SubAccount } from '../../types/proxy.types';
4
- export declare const getNecessaryAssetsForFundingFromBalance: (tokenChanges: TokenChanges<bigint>[], subAccountBalances: TokenBalance[]) => {
5
- fundAmounts: bigint[];
6
- tokensToFund: ERC20Token[];
7
- };
8
- export declare const getNecessaryAssetsForFunding: (hinkal: IHinkal, subAccount: SubAccount, tokenChanges: TokenChanges<bigint>[]) => Promise<{
9
- fundAmounts: bigint[];
10
- tokensToFund: ERC20Token[];
11
- approveTokenAddresses: string[];
12
- approvedTokenAmounts: bigint[];
13
- }>;
14
- export declare const getNecessaryApprovalChangesData: (hinkal: IHinkal, tokenChanges: TokenChanges<bigint>[], to: string) => {
15
- approvalChanges: bigint[];
16
- };
1
+ import { ERC20Token } from '../../types/token.types';
17
2
  export declare function hasEnoughBalance(tokenAmount: string, maxPossibleAmount: string, token?: ERC20Token, isDollarMode?: boolean, tokenPriceDollar?: number): boolean;
@@ -1,42 +1,11 @@
1
- import { zeroAddress as f } from "../../constants/protocol.constants.mjs";
2
- import { absBigInt as c } from "./amounts.utils.mjs";
3
- import { caseInsensitiveEqual as l } from "./caseInsensitive.utils.mjs";
4
- import { getPublicBalancesOfTokens as g } from "./publicBalance.utils.mjs";
5
- import { getAmountInWei as m } from "../web3/etherFunctions.mjs";
6
- import { UserKeys as v } from "../../data-structures/crypto-keys/keys.mjs";
7
- const T = (t, s) => t?.length ? t.reduce(
8
- (r, { amount: u, token: e }) => {
9
- if (u >= 0n)
10
- return r;
11
- const o = -u, d = s.find(
12
- (p) => l(p.token.erc20TokenAddress, e.erc20TokenAddress)
13
- )?.balance ?? 0n;
14
- return d < o && (r.tokensToFund.push(e), r.fundAmounts.push(o - d)), r;
15
- },
16
- { fundAmounts: [], tokensToFund: [] }
17
- ) : { fundAmounts: [], tokensToFund: [] }, K = async (t, s, n) => {
18
- if (!n?.length)
19
- return { fundAmounts: [], tokensToFund: [], approveTokenAddresses: [], approvedTokenAmounts: [] };
20
- const r = t.getCurrentChainId(), u = v.getSignerAddressFromPrivateKey(r, s.privateKey), e = await g(
21
- r,
22
- u,
23
- n.map(({ token: a }) => a)
24
- ), { fundAmounts: o, tokensToFund: d } = T(n, e), p = n.length ? n.filter(({ amount: a, token: A }) => a < 0n && A.erc20TokenAddress !== f).map(({ token: a }) => a.erc20TokenAddress) : [], i = p.map(() => 2n ** 256n - 1n);
25
- return { fundAmounts: o, tokensToFund: d, approveTokenAddresses: p, approvedTokenAmounts: i };
26
- }, N = (t, s, n) => {
27
- const r = s.map((e) => e.amount < 0n ? t.getMyApprovalAmountForInteraction(n, e.token.erc20TokenAddress) : 0n);
28
- return { approvalChanges: s.map((e, o) => e.amount < 0n && r[o] > 0n ? c(e.amount) < c(r[o]) ? e.amount : -r[o] : 0n) };
29
- };
30
- function k(t, s, n, r, u) {
1
+ import { getAmountInWei as f } from "../web3/etherFunctions.mjs";
2
+ function n(r, t, u, i, e) {
31
3
  try {
32
- return !n || !t ? !0 : r ? u ? +t * u <= +s : !0 : m(n, t) <= m(n, s);
4
+ return !u || !r ? !0 : i ? e ? +r * e <= +t : !0 : f(u, r) <= f(u, t);
33
5
  } catch {
34
6
  return !0;
35
7
  }
36
8
  }
37
9
  export {
38
- N as getNecessaryApprovalChangesData,
39
- K as getNecessaryAssetsForFunding,
40
- T as getNecessaryAssetsForFundingFromBalance,
41
- k as hasEnoughBalance
10
+ n as hasEnoughBalance
42
11
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../../utils/caseInsensitive.utils.cjs"),l=require("../../utils/cacheFunctions.cjs"),k=require("async-mutex"),y=require("ethers"),I=require("../../utils/erc20tokenFunctions.cjs"),g=require("../../../data-structures/TokenDBs/PrivateTokensDB.cjs"),m=require("../../../constants/vite.constants.cjs"),h=new k.Mutex,f=(e,c,n)=>(e.forEach(t=>{t.inHinkalAddress===n&&c.push(t)}),c),v=(e,c=!1)=>{const{userKeys:n}=e,t=e.getCurrentChainId();c&&l.resetInHinkalAddressesCache(e,t,n.getShieldedPublicKey());const{approvals:o}=e,r=l.getInHinkalAddressesCache(e,t,n.getShieldedPublicKey());let i=[];return o.forEach((d,u)=>{const s=r[u];let a;s?a=BigInt(s):(a=n.getInHinkalAddress(u),r[u]=a.toString()),i=f(d.map(p=>({...p,interactionAddress:u})),i,a)}),l.setInHinkalAddressesCache(r,e,t,n.getShieldedPublicKey()),i},x=(e,c,n)=>v(e,n).filter(o=>A.caseInsensitiveEqual(o.tokenAddress,c)).sort((o,r)=>o.amount===r.amount?0:o.amount>r.amount?-1:1),E=async(e,c,n)=>{const t=e.getCurrentChainId(),o=await e.getEthereumAddress();let r=[];const i=new Map;return await h.runExclusive(async()=>{const d=v(e,c);n&&m.isExtension&&await g.privateTokensDB.fetchAndUpdatePrivateTokens(d.map(s=>s.tokenAddress),t,o),r=(m.isExtension?await g.privateTokensDB.getPrivateTokens(t,o):I.getErc20TokensForChain(t)).map(s=>({token:s,balance:d.reduce((a,p)=>A.caseInsensitiveEqual(s.erc20TokenAddress,p.tokenAddress)?a+p.amount:a,0n),timestamp:"0",nfts:[]})),r.forEach(s=>{i.set(s.token.erc20TokenAddress.toLowerCase(),s)})}),i},T=(e,c,n)=>{const{userKeys:t,approvals:o}=e,r=y.ethers.utils.getAddress(c),i=o.get(r)??[],d=t.getInHinkalAddress(r);return i.reduce((s,a)=>A.caseInsensitiveEqual(a.tokenAddress,n)&&a.inHinkalAddress===d?s+a.amount:s,0n)};exports.getApprovedBalance=E;exports.getApprovedUtxos=v;exports.getApprovedUtxosForToken=x;exports.getMyApprovalAmountForInteraction=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("../../utils/caseInsensitive.utils.cjs"),l=require("../../utils/cacheFunctions.cjs"),f=require("async-mutex"),m=require("../../utils/erc20tokenFunctions.cjs"),A=require("../../../data-structures/TokenDBs/PrivateTokensDB.cjs"),g=require("../../../constants/vite.constants.cjs"),y=new f.Mutex,x=(t,e,a)=>(t.forEach(s=>{s.inHinkalAddress===a&&e.push(s)}),e),v=(t,e,a=!1)=>{const{userKeys:s}=t;a&&l.resetInHinkalAddressesCache(t,e,s.getShieldedPublicKey());const{approvalsByChain:i}=t,n=l.getInHinkalAddressesCache(t,e,s.getShieldedPublicKey());let o=[];return i[e].forEach((p,u)=>{const r=n[u];let c;r?c=BigInt(r):(c=s.getInHinkalAddress(u),n[u]=c.toString()),o=x(p.map(d=>({...d,interactionAddress:u,chainId:e})),o,c)}),l.setInHinkalAddressesCache(n,t,e,s.getShieldedPublicKey()),o},T=(t,e,a,s)=>v(t,a,s).filter(n=>k.caseInsensitiveEqual(n.tokenAddress,e)).sort((n,o)=>n.amount===o.amount?0:n.amount>o.amount?-1:1),E=async(t,e,a,s)=>{const i=await t.getEthereumAddress();let n=[];const o=new Map;return await y.runExclusive(async()=>{const p=v(t,e,a);s&&g.isExtension&&await A.privateTokensDB.fetchAndUpdatePrivateTokens(p.map(r=>r.tokenAddress),e,i),n=(g.isExtension?await A.privateTokensDB.getPrivateTokens(e,i):m.getErc20TokensForChain(e)).map(r=>({token:r,balance:p.reduce((c,d)=>k.caseInsensitiveEqual(r.erc20TokenAddress,d.tokenAddress)?c+d.amount:c,0n),timestamp:"0",nfts:[]})),n.forEach(r=>{o.set(r.token.erc20TokenAddress.toLowerCase(),r)})}),o};exports.getApprovedBalance=E;exports.getApprovedUtxos=v;exports.getApprovedUtxosForToken=T;
@@ -1,7 +1,6 @@
1
1
  import type { ApprovedUtxoWithInteractionAddress } from '../../../types/hinkal.types';
2
2
  import { type IHinkal } from '../../../data-structures/Hinkal/IHinkal';
3
3
  import type { TokenBalance } from '../../../types/token.types';
4
- export declare const getApprovedUtxos: (hinkal: IHinkal, resetCacheBefore?: boolean) => ApprovedUtxoWithInteractionAddress[];
5
- export declare const getApprovedUtxosForToken: (hinkal: IHinkal, erc20Address: string, resetCacheBefore: boolean) => ApprovedUtxoWithInteractionAddress[];
6
- export declare const getApprovedBalance: (hinkal: IHinkal, resetCacheBefore: boolean, updateTokensListBefore: boolean) => Promise<Map<string, TokenBalance>>;
7
- export declare const getMyApprovalAmountForInteraction: (hinkal: IHinkal, interactionAddress: string, tokenAddress: string) => bigint;
4
+ export declare const getApprovedUtxos: (hinkal: IHinkal, chainId: number, resetCacheBefore?: boolean) => ApprovedUtxoWithInteractionAddress[];
5
+ export declare const getApprovedUtxosForToken: (hinkal: IHinkal, erc20Address: string, chainId: number, resetCacheBefore: boolean) => ApprovedUtxoWithInteractionAddress[];
6
+ export declare const getApprovedBalance: (hinkal: IHinkal, chainId: number, resetCacheBefore: boolean, updateTokensListBefore: boolean) => Promise<Map<string, TokenBalance>>;
@@ -1,54 +1,49 @@
1
- import { caseInsensitiveEqual as u } from "../../utils/caseInsensitive.utils.mjs";
1
+ import { caseInsensitiveEqual as f } from "../../utils/caseInsensitive.utils.mjs";
2
2
  import { resetInHinkalAddressesCache as g, getInHinkalAddressesCache as v, setInHinkalAddressesCache as k } from "../../utils/cacheFunctions.mjs";
3
- import { Mutex as h } from "async-mutex";
4
- import { ethers as y } from "ethers";
5
- import { getErc20TokensForChain as I } from "../../utils/erc20tokenFunctions.mjs";
6
- import { privateTokensDB as l } from "../../../data-structures/TokenDBs/PrivateTokensDB.mjs";
7
- import { isExtension as A } from "../../../constants/vite.constants.mjs";
8
- const C = new h(), H = (e, d, r) => (e.forEach((t) => {
9
- t.inHinkalAddress === r && d.push(t);
10
- }), d), f = (e, d = !1) => {
11
- const { userKeys: r } = e, t = e.getCurrentChainId();
12
- d && g(e, t, r.getShieldedPublicKey());
13
- const { approvals: o } = e, n = v(e, t, r.getShieldedPublicKey());
14
- let i = [];
15
- return o.forEach((c, p) => {
16
- const s = n[p];
17
- let a;
18
- s ? a = BigInt(s) : (a = r.getInHinkalAddress(p), n[p] = a.toString()), i = H(
3
+ import { Mutex as y } from "async-mutex";
4
+ import { getErc20TokensForChain as x } from "../../utils/erc20tokenFunctions.mjs";
5
+ import { privateTokensDB as m } from "../../../data-structures/TokenDBs/PrivateTokensDB.mjs";
6
+ import { isExtension as u } from "../../../constants/vite.constants.mjs";
7
+ const E = new y(), w = (t, e, a) => (t.forEach((s) => {
8
+ s.inHinkalAddress === a && e.push(s);
9
+ }), e), A = (t, e, a = !1) => {
10
+ const { userKeys: s } = t;
11
+ a && g(t, e, s.getShieldedPublicKey());
12
+ const { approvalsByChain: d } = t, r = v(t, e, s.getShieldedPublicKey());
13
+ let n = [];
14
+ return d[e].forEach((c, i) => {
15
+ const o = r[i];
16
+ let p;
17
+ o ? p = BigInt(o) : (p = s.getInHinkalAddress(i), r[i] = p.toString()), n = w(
19
18
  c.map(
20
- (m) => ({ ...m, interactionAddress: p })
19
+ (l) => ({ ...l, interactionAddress: i, chainId: e })
21
20
  ),
22
- i,
23
- a
21
+ n,
22
+ p
24
23
  );
25
- }), k(n, e, t, r.getShieldedPublicKey()), i;
26
- }, P = (e, d, r) => f(e, r).filter((o) => u(o.tokenAddress, d)).sort((o, n) => o.amount === n.amount ? 0 : o.amount > n.amount ? -1 : 1), S = async (e, d, r) => {
27
- const t = e.getCurrentChainId(), o = await e.getEthereumAddress();
28
- let n = [];
29
- const i = /* @__PURE__ */ new Map();
30
- return await C.runExclusive(async () => {
31
- const c = f(e, d);
32
- r && A && await l.fetchAndUpdatePrivateTokens(
33
- c.map((s) => s.tokenAddress),
34
- t,
35
- o
36
- ), n = (A ? await l.getPrivateTokens(t, o) : I(t)).map((s) => ({
37
- token: s,
38
- balance: c.reduce((a, m) => u(s.erc20TokenAddress, m.tokenAddress) ? a + m.amount : a, 0n),
24
+ }), k(r, t, e, s.getShieldedPublicKey()), n;
25
+ }, K = (t, e, a, s) => A(t, a, s).filter((r) => f(r.tokenAddress, e)).sort((r, n) => r.amount === n.amount ? 0 : r.amount > n.amount ? -1 : 1), M = async (t, e, a, s) => {
26
+ const d = await t.getEthereumAddress();
27
+ let r = [];
28
+ const n = /* @__PURE__ */ new Map();
29
+ return await E.runExclusive(async () => {
30
+ const c = A(t, e, a);
31
+ s && u && await m.fetchAndUpdatePrivateTokens(
32
+ c.map((o) => o.tokenAddress),
33
+ e,
34
+ d
35
+ ), r = (u ? await m.getPrivateTokens(e, d) : x(e)).map((o) => ({
36
+ token: o,
37
+ balance: c.reduce((p, l) => f(o.erc20TokenAddress, l.tokenAddress) ? p + l.amount : p, 0n),
39
38
  timestamp: "0",
40
39
  nfts: []
41
- })), n.forEach((s) => {
42
- i.set(s.token.erc20TokenAddress.toLowerCase(), s);
40
+ })), r.forEach((o) => {
41
+ n.set(o.token.erc20TokenAddress.toLowerCase(), o);
43
42
  });
44
- }), i;
45
- }, U = (e, d, r) => {
46
- const { userKeys: t, approvals: o } = e, n = y.utils.getAddress(d), i = o.get(n) ?? [], c = t.getInHinkalAddress(n);
47
- return i.reduce((s, a) => u(a.tokenAddress, r) && a.inHinkalAddress === c ? s + a.amount : s, 0n);
43
+ }), n;
48
44
  };
49
45
  export {
50
- S as getApprovedBalance,
51
- f as getApprovedUtxos,
52
- P as getApprovedUtxosForToken,
53
- U as getMyApprovalAmountForInteraction
46
+ M as getApprovedBalance,
47
+ A as getApprovedUtxos,
48
+ K as getApprovedUtxosForToken
54
49
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../../data-structures/utxo/Utxo.cjs"),C=require("../../utils/upToDateState.cjs"),O=require("../../utils/cacheFunctions.cjs"),N=require("../../utils/caseInsensitive.utils.cjs"),E=require("../../utils/encodeTokenWithId.cjs"),L=require("./getInputUtxosEnclave.cjs"),K=require("../../../error-handling/logger.cjs"),R=require("../../utils/solanaMint.utils.cjs"),M=require("../../../constants/chains.constants.cjs"),z=require("../../utils/addresses.cjs"),F=require("../../../API/unspent-utxos-calls.cjs"),B=async(t,s,e,c,r,a,d,n,o)=>{o+=1;const w=a.slice(o),{lastOutput:m,additionalEncryptedOutputs:g}=await t.utxoUtils.batchProcess(w,n,s,e),i=[...d,...g];return await C.checkChainOrAddressNotUpdated(t,e,c),O.setHinkalCache({lastOutput:m,encryptedOutputs:i},t,e,r),await t.utxoUtils.buildBatchProcess(i,s,e)},S=async(t,s,e,c)=>{const{utxos:r,encryptedOutputs:a,lastOutput:d}=await L.getInputUtxosEnclave(t,e,s);return O.setHinkalCache({encryptedOutputs:a,lastOutput:d},t,e,c),r},b=async(t,s,e,c,r,a,d,n,o)=>{try{return await S(t,s,e,r)}catch{return B(t,s,e,c,r,a,d,n,o)}},H=t=>{if(Array.isArray(t))return t;if(t!==void 0)return[t]},_=async(t,s,e)=>await t.utxoUtils.batchFilterUtxosWithNullifier(s,e),G=(t,s,e,c,r,a,d)=>{for(t.sort((n,o)=>n.amount<=o.amount?1:-1);t.length<s||t.length>s&&t.length<6;)if(t.push(new q.Utxo({amount:0n,erc20TokenAddress:r,mintAddress:d,shieldedPrivateKey:c,tokenId:a})),e)for(;t.length>6;)t.splice(t.length-1)},P=async({hinkal:t,chainId:s=void 0,passedShieldedPublicKey:e=void 0,ethAddress:c=void 0,resetCacheBefore:r=!1,allowRemoteDecryption:a=!1})=>{if(!t.getCurrentChainId||!t.getSelectedNetwork())return K.Logger.log("returning empty balance"),{inputUtxos:[]};const d=c??await t.getEthereumAddress(),n=s??t.getCurrentChainId(),o=e??t.userKeys.getShieldedPublicKey(),{encryptedOutputs:w,nullifiers:m,userKeys:g}=t,i=Array.from(w);r&&O.resetCache(t,n,o);let{encryptedOutputs:f,lastOutput:y}=O.getHinkalCache(t,n,o);await C.checkChainOrAddressNotUpdated(t,n,d);const U=y!=="",u=i.findIndex(T=>T.value===y),l=u>-1,p=!U&&u===-1,A=t.areMerkleTreeUpdatesDisabled(),x=!A&&(l||!a&&p),v=!A&&a&&p,h=!x&&!v;let I=[];return x?I=await B(t,g,n,d,o,i,f,y,u):v?I=await b(t,g,n,d,o,i,f,y,u):h&&(I=await t.utxoUtils.buildBatchProcess(f,g,n)),await C.checkChainOrAddressNotUpdated(t,n,d),{inputUtxos:(await _(t,I,m)).filter(T=>!T.isBlocked)}},k=async({hinkal:t,chainId:s=void 0,ethAddress:e=void 0})=>{const c=s??t.getCurrentChainId(),r=e??await t.getEthereumAddress(),a=z.hashEthereumAddress(r);return{inputUtxos:(await F.getUnspentUtxos(c,a)).utxos.map(({utxo:o})=>new q.Utxo({...o,amount:BigInt(o.amount),randomization:o.randomization?BigInt(o.randomization):void 0}))}},j=async({hinkal:t,tokenWithId:s,minInput:e=2,sliceIfMore6:c=!0,chainId:r=void 0,passedShieldedPrivateKey:a=void 0,passedShieldedPublicKey:d=void 0,ethAddress:n=void 0,resetCacheBefore:o=!1,ensuredTokensWithId:w,useBlockedUtxos:m=!1})=>{const g=a??t.userKeys.getShieldedPrivateKey(),i=r??t.getCurrentChainId(),{inputUtxos:f}=m?await k({hinkal:t,chainId:r,ethAddress:n}):await P({hinkal:t,tokenWithId:s,minInput:e,sliceIfMore6:c,chainId:r,passedShieldedPrivateKey:a,passedShieldedPublicKey:d,ethAddress:n,resetCacheBefore:o}),y=H(s),U=new Map;f.forEach(u=>{const l=u.getTokenAddress(i);if(y&&!y.some(x=>N.caseInsensitiveEqual(x.erc20TokenAddress,l)&&x.tokenId===u.tokenId))return;const p=E.encodeTokenWithId(i,{erc20TokenAddress:l,tokenId:u.tokenId}),A=U.get(p)??[];U.set(p,[...A,u])}),w?.forEach(u=>{const l=E.encodeTokenWithId(i,{erc20TokenAddress:u.erc20TokenAddress,tokenId:u.tokenId});U.set(l,U.get(l)??[])});for(const[u,l]of U){const p=u.split("-")[0],A=Number(u.split("-")[1]),x=M.isSolanaLike(i),v=x?p:void 0,h=x?R.formatMintAddress(p).compressedAddress.toLowerCase():p.toLowerCase();G(l,e,c,g,h,A,v)}return U};exports.attemptGetInputUtxosRemotely=b;exports.getInputUtxoAndBalance=P;exports.getInputUtxoAndBalanceOfStuckUtxos=k;exports.getInputUtxoAndBalancePerToken=j;exports.getInputUtxosRemotely=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../../data-structures/utxo/Utxo.cjs"),B=require("../../utils/upToDateState.cjs"),O=require("../../utils/cacheFunctions.cjs"),C=require("../../utils/caseInsensitive.utils.cjs"),k=require("../../utils/encodeTokenWithId.cjs"),N=require("./getInputUtxosEnclave.cjs"),K=require("../../utils/solanaMint.utils.cjs"),L=require("../../../constants/chains.constants.cjs"),R=require("../../utils/addresses.cjs"),M=require("../../../API/unspent-utxos-calls.cjs"),P=async(t,e,s,r,o,u,c,n,d)=>{d+=1;const g=u.slice(d),{lastOutput:w,additionalEncryptedOutputs:f}=await t.utxoUtils.batchProcess(g,n,e,s),p=[...c,...f];return await B.checkAddressNotUpdated(t,r),O.setHinkalCache({lastOutput:w,encryptedOutputs:p},t,s,o),await t.utxoUtils.buildBatchProcess(p,e,s)},S=async(t,e,s,r)=>{const{utxos:o,encryptedOutputs:u,lastOutput:c}=await N.getInputUtxosEnclave(t,s,e);return O.setHinkalCache({encryptedOutputs:u,lastOutput:c},t,s,r),o},b=async(t,e,s,r,o,u,c,n,d)=>{try{return await S(t,e,s,o)}catch{return P(t,e,s,r,o,u,c,n,d)}},z=t=>{if(Array.isArray(t))return t;if(t!==void 0)return[t]},F=async(t,e,s)=>await t.utxoUtils.batchFilterUtxosWithNullifier(e,s),H=(t,e,s,r,o,u,c)=>{for(t.sort((n,d)=>n.amount<=d.amount?1:-1);t.length<e||t.length>e&&t.length<6;)if(t.push(new q.Utxo({amount:0n,erc20TokenAddress:o,mintAddress:c,shieldedPrivateKey:r,tokenId:u})),s)for(;t.length>6;)t.splice(t.length-1)},I=async({hinkal:t,chainId:e,passedShieldedPublicKey:s=void 0,ethAddress:r=void 0,resetCacheBefore:o=!1,allowRemoteDecryption:u=!1})=>{const c=r??await t.getEthereumAddress(),n=s??t.userKeys.getShieldedPublicKey(),{userKeys:d}=t,g=t.encryptedOutputsByChain[e],w=t.nullifiersByChain[e],f=Array.from(g);o&&O.resetCache(t,e,n);let{encryptedOutputs:p,lastOutput:y}=O.getHinkalCache(t,e,n);await B.checkAddressNotUpdated(t,c);const x=y!=="",a=f.findIndex(E=>E.value===y),i=a>-1,l=!x&&a===-1,A=t.areMerkleTreeUpdatesDisabled(),U=!A&&(i||!u&&l),m=!A&&u&&l,T=!U&&!m;let v=[];return U?v=await P(t,d,e,c,n,f,p,y,a):m?v=await b(t,d,e,c,n,f,p,y,a):T&&(v=await t.utxoUtils.buildBatchProcess(p,d,e)),await B.checkAddressNotUpdated(t,c),{inputUtxos:(await F(t,v,w)).filter(E=>!E.isBlocked)}},h=async({hinkal:t,chainId:e,ethAddress:s=void 0})=>{const r=s??await t.getEthereumAddress(),o=R.hashEthereumAddress(r);return{inputUtxos:(await M.getUnspentUtxos(e,o)).utxos.map(({utxo:n})=>new q.Utxo({...n,amount:BigInt(n.amount),randomization:n.randomization?BigInt(n.randomization):void 0}))}},_=async({hinkal:t,tokenWithId:e,minInput:s=2,sliceIfMore6:r=!0,chainId:o,passedShieldedPrivateKey:u=void 0,passedShieldedPublicKey:c=void 0,ethAddress:n=void 0,resetCacheBefore:d=!1,ensuredTokensWithId:g,useBlockedUtxos:w=!1})=>{const f=u??t.userKeys.getShieldedPrivateKey(),{inputUtxos:p}=w?await h({hinkal:t,chainId:o,ethAddress:n}):await I({hinkal:t,tokenWithId:e,minInput:s,sliceIfMore6:r,chainId:o,passedShieldedPrivateKey:u,passedShieldedPublicKey:c,ethAddress:n,resetCacheBefore:d}),y=z(e),x=new Map;p.forEach(a=>{const i=a.getTokenAddress(o);if(y&&!y.some(U=>C.caseInsensitiveEqual(U.erc20TokenAddress,i)&&U.tokenId===a.tokenId))return;const l=k.encodeTokenWithId(o,{erc20TokenAddress:i,tokenId:a.tokenId}),A=x.get(l)??[];x.set(l,[...A,a])}),g?.forEach(a=>{const i=k.encodeTokenWithId(o,{erc20TokenAddress:a.erc20TokenAddress,tokenId:a.tokenId});x.set(i,x.get(i)??[])});for(const[a,i]of x){const l=a.split("-")[0],A=Number(a.split("-")[1]),U=L.isSolanaLike(o),m=U?l:void 0,T=U?K.formatMintAddress(l).compressedAddress.toLowerCase():l.toLowerCase();H(i,s,r,f,T,A,m)}return x};exports.attemptGetInputUtxosRemotely=b;exports.getInputUtxoAndBalance=I;exports.getInputUtxoAndBalanceOfStuckUtxos=h;exports.getInputUtxoAndBalancePerToken=_;exports.getInputUtxosRemotely=S;
@@ -5,11 +5,11 @@ import { EncryptedOutputWithSign } from '../../../types/commitments.types';
5
5
  import { type TokenWithId } from '../../../types/token-with-id.types';
6
6
  interface IGetInputUtxos {
7
7
  hinkal: IHinkal;
8
+ chainId: number;
8
9
  tokenWithId?: TokenWithId | TokenWithId[];
9
10
  minInput?: number;
10
11
  sliceIfMore6?: boolean;
11
12
  tokenId?: number;
12
- chainId?: number;
13
13
  passedShieldedPrivateKey?: string;
14
14
  passedShieldedPublicKey?: string;
15
15
  ethAddress?: string;
@@ -1,179 +1,172 @@
1
- import { Utxo as h } from "../../../data-structures/utxo/Utxo.mjs";
2
- import { checkChainOrAddressNotUpdated as C } from "../../utils/upToDateState.mjs";
3
- import { setHinkalCache as b, resetCache as P, getHinkalCache as S } from "../../utils/cacheFunctions.mjs";
1
+ import { Utxo as P } from "../../../data-structures/utxo/Utxo.mjs";
2
+ import { checkAddressNotUpdated as T } from "../../utils/upToDateState.mjs";
3
+ import { setHinkalCache as b, resetCache as S, getHinkalCache as K } from "../../utils/cacheFunctions.mjs";
4
4
  import { caseInsensitiveEqual as L } from "../../utils/caseInsensitive.utils.mjs";
5
- import { encodeTokenWithId as T } from "../../utils/encodeTokenWithId.mjs";
6
- import { getInputUtxosEnclave as K } from "./getInputUtxosEnclave.mjs";
7
- import { Logger as N } from "../../../error-handling/logger.mjs";
8
- import { formatMintAddress as z } from "../../utils/solanaMint.utils.mjs";
9
- import { isSolanaLike as R } from "../../../constants/chains.constants.mjs";
10
- import { hashEthereumAddress as k } from "../../utils/addresses.mjs";
5
+ import { encodeTokenWithId as B } from "../../utils/encodeTokenWithId.mjs";
6
+ import { getInputUtxosEnclave as k } from "./getInputUtxosEnclave.mjs";
7
+ import { formatMintAddress as N } from "../../utils/solanaMint.utils.mjs";
8
+ import { isSolanaLike as z } from "../../../constants/chains.constants.mjs";
9
+ import { hashEthereumAddress as R } from "../../utils/addresses.mjs";
11
10
  import { getUnspentUtxos as F } from "../../../API/unspent-utxos-calls.mjs";
12
- const B = async (t, s, e, c, n, a, d, r, o) => {
13
- o += 1;
14
- const w = a.slice(o), { lastOutput: A, additionalEncryptedOutputs: y } = await t.utxoUtils.batchProcess(
11
+ const C = async (t, e, s, n, o, u, c, r, d) => {
12
+ d += 1;
13
+ const w = u.slice(d), { lastOutput: A, additionalEncryptedOutputs: x } = await t.utxoUtils.batchProcess(
15
14
  w,
16
15
  r,
17
- s,
18
- e
19
- ), i = [...d, ...y];
20
- return await C(t, e, c), b(
16
+ e,
17
+ s
18
+ ), l = [...c, ...x];
19
+ return await T(t, n), b(
21
20
  {
22
21
  lastOutput: A,
23
- encryptedOutputs: i
22
+ encryptedOutputs: l
24
23
  },
25
24
  t,
26
- e,
27
- n
28
- ), await t.utxoUtils.buildBatchProcess(i, s, e);
29
- }, H = async (t, s, e, c) => {
25
+ s,
26
+ o
27
+ ), await t.utxoUtils.buildBatchProcess(l, e, s);
28
+ }, H = async (t, e, s, n) => {
30
29
  const {
31
- utxos: n,
32
- encryptedOutputs: a,
33
- lastOutput: d
34
- } = await K(t, e, s);
30
+ utxos: o,
31
+ encryptedOutputs: u,
32
+ lastOutput: c
33
+ } = await k(t, s, e);
35
34
  return b(
36
35
  {
37
- encryptedOutputs: a,
38
- lastOutput: d
36
+ encryptedOutputs: u,
37
+ lastOutput: c
39
38
  },
40
39
  t,
41
- e,
42
- c
43
- ), n;
44
- }, M = async (t, s, e, c, n, a, d, r, o) => {
40
+ s,
41
+ n
42
+ ), o;
43
+ }, M = async (t, e, s, n, o, u, c, r, d) => {
45
44
  try {
46
- return await H(t, s, e, n);
45
+ return await H(t, e, s, o);
47
46
  } catch {
48
- return B(
47
+ return C(
49
48
  t,
50
- s,
51
49
  e,
52
- c,
50
+ s,
53
51
  n,
54
- a,
55
- d,
52
+ o,
53
+ u,
54
+ c,
56
55
  r,
57
- o
56
+ d
58
57
  );
59
58
  }
60
- }, q = (t) => {
59
+ }, h = (t) => {
61
60
  if (Array.isArray(t))
62
61
  return t;
63
62
  if (t !== void 0)
64
63
  return [t];
65
- }, G = async (t, s, e) => await t.utxoUtils.batchFilterUtxosWithNullifier(s, e), j = (t, s, e, c, n, a, d) => {
66
- for (t.sort((r, o) => r.amount <= o.amount ? 1 : -1); t.length < s || t.length > s && t.length < 6; )
67
- if (t.push(new h({ amount: 0n, erc20TokenAddress: n, mintAddress: d, shieldedPrivateKey: c, tokenId: a })), e)
64
+ }, q = async (t, e, s) => await t.utxoUtils.batchFilterUtxosWithNullifier(e, s), G = (t, e, s, n, o, u, c) => {
65
+ for (t.sort((r, d) => r.amount <= d.amount ? 1 : -1); t.length < e || t.length > e && t.length < 6; )
66
+ if (t.push(new P({ amount: 0n, erc20TokenAddress: o, mintAddress: c, shieldedPrivateKey: n, tokenId: u })), s)
68
67
  for (; t.length > 6; )
69
68
  t.splice(t.length - 1);
70
- }, D = async ({
69
+ }, j = async ({
71
70
  hinkal: t,
72
- chainId: s = void 0,
73
- passedShieldedPublicKey: e = void 0,
74
- ethAddress: c = void 0,
75
- resetCacheBefore: n = !1,
76
- allowRemoteDecryption: a = !1
71
+ chainId: e,
72
+ passedShieldedPublicKey: s = void 0,
73
+ ethAddress: n = void 0,
74
+ resetCacheBefore: o = !1,
75
+ allowRemoteDecryption: u = !1
77
76
  }) => {
78
- if (!t.getCurrentChainId || !t.getSelectedNetwork())
79
- return N.log("returning empty balance"), { inputUtxos: [] };
80
- const d = c ?? await t.getEthereumAddress(), r = s ?? t.getCurrentChainId(), o = e ?? t.userKeys.getShieldedPublicKey(), { encryptedOutputs: w, nullifiers: A, userKeys: y } = t, i = Array.from(w);
81
- n && P(t, r, o);
82
- let { encryptedOutputs: g, lastOutput: x } = S(
77
+ const c = n ?? await t.getEthereumAddress(), r = s ?? t.userKeys.getShieldedPublicKey(), { userKeys: d } = t, w = t.encryptedOutputsByChain[e], A = t.nullifiersByChain[e], x = Array.from(w);
78
+ o && S(t, e, r);
79
+ let { encryptedOutputs: l, lastOutput: m } = K(t, e, r);
80
+ await T(t, c);
81
+ const f = m !== "", a = x.findIndex((E) => E.value === m), i = a > -1, p = !f && a === -1, U = t.areMerkleTreeUpdatesDisabled(), y = !U && (i || !u && p), g = !U && u && p, O = !y && !g;
82
+ let v = [];
83
+ return y ? v = await C(
83
84
  t,
84
- r,
85
- o
86
- );
87
- await C(t, r, d);
88
- const m = x !== "", u = i.findIndex((E) => E.value === x), p = u > -1, l = !m && u === -1, U = t.areMerkleTreeUpdatesDisabled(), f = !U && (p || !a && l), v = !U && a && l, I = !f && !v;
89
- let O = [];
90
- return f ? O = await B(
91
- t,
92
- y,
93
- r,
94
85
  d,
95
- o,
96
- i,
97
- g,
86
+ e,
87
+ c,
88
+ r,
98
89
  x,
99
- u
100
- ) : v ? O = await M(
90
+ l,
91
+ m,
92
+ a
93
+ ) : g ? v = await M(
101
94
  t,
102
- y,
103
- r,
104
95
  d,
105
- o,
106
- i,
107
- g,
96
+ e,
97
+ c,
98
+ r,
108
99
  x,
109
- u
110
- ) : I && (O = await t.utxoUtils.buildBatchProcess(g, y, r)), await C(t, r, d), { inputUtxos: (await G(t, O, A)).filter((E) => !E.isBlocked) };
111
- }, J = async ({
100
+ l,
101
+ m,
102
+ a
103
+ ) : O && (v = await t.utxoUtils.buildBatchProcess(l, d, e)), await T(t, c), { inputUtxos: (await q(t, v, A)).filter((E) => !E.isBlocked) };
104
+ }, D = async ({
112
105
  hinkal: t,
113
- chainId: s = void 0,
114
- ethAddress: e = void 0
106
+ chainId: e,
107
+ ethAddress: s = void 0
115
108
  }) => {
116
- const c = s ?? t.getCurrentChainId(), n = e ?? await t.getEthereumAddress(), a = k(n);
117
- return { inputUtxos: (await F(c, a)).utxos.map(
118
- ({ utxo: o }) => new h({
119
- ...o,
120
- amount: BigInt(o.amount),
121
- randomization: o.randomization ? BigInt(o.randomization) : void 0
109
+ const n = s ?? await t.getEthereumAddress(), o = R(n);
110
+ return { inputUtxos: (await F(e, o)).utxos.map(
111
+ ({ utxo: r }) => new P({
112
+ ...r,
113
+ amount: BigInt(r.amount),
114
+ randomization: r.randomization ? BigInt(r.randomization) : void 0
122
115
  })
123
116
  ) };
124
- }, nt = async ({
117
+ }, st = async ({
125
118
  hinkal: t,
126
- tokenWithId: s,
127
- minInput: e = 2,
128
- sliceIfMore6: c = !0,
129
- chainId: n = void 0,
130
- passedShieldedPrivateKey: a = void 0,
131
- passedShieldedPublicKey: d = void 0,
119
+ tokenWithId: e,
120
+ minInput: s = 2,
121
+ sliceIfMore6: n = !0,
122
+ chainId: o,
123
+ passedShieldedPrivateKey: u = void 0,
124
+ passedShieldedPublicKey: c = void 0,
132
125
  ethAddress: r = void 0,
133
- resetCacheBefore: o = !1,
126
+ resetCacheBefore: d = !1,
134
127
  ensuredTokensWithId: w,
135
128
  useBlockedUtxos: A = !1
136
129
  }) => {
137
- const y = a ?? t.userKeys.getShieldedPrivateKey(), i = n ?? t.getCurrentChainId(), { inputUtxos: g } = A ? await J({
130
+ const x = u ?? t.userKeys.getShieldedPrivateKey(), { inputUtxos: l } = A ? await D({
138
131
  hinkal: t,
139
- chainId: n,
132
+ chainId: o,
140
133
  ethAddress: r
141
- }) : await D({
134
+ }) : await j({
142
135
  hinkal: t,
143
- tokenWithId: s,
144
- minInput: e,
145
- sliceIfMore6: c,
146
- chainId: n,
147
- passedShieldedPrivateKey: a,
148
- passedShieldedPublicKey: d,
136
+ tokenWithId: e,
137
+ minInput: s,
138
+ sliceIfMore6: n,
139
+ chainId: o,
140
+ passedShieldedPrivateKey: u,
141
+ passedShieldedPublicKey: c,
149
142
  ethAddress: r,
150
- resetCacheBefore: o
151
- }), x = q(s), m = /* @__PURE__ */ new Map();
152
- g.forEach((u) => {
153
- const p = u.getTokenAddress(i);
154
- if (x && !x.some(
155
- (f) => L(f.erc20TokenAddress, p) && f.tokenId === u.tokenId
143
+ resetCacheBefore: d
144
+ }), m = h(e), f = /* @__PURE__ */ new Map();
145
+ l.forEach((a) => {
146
+ const i = a.getTokenAddress(o);
147
+ if (m && !m.some(
148
+ (y) => L(y.erc20TokenAddress, i) && y.tokenId === a.tokenId
156
149
  ))
157
150
  return;
158
- const l = T(i, { erc20TokenAddress: p, tokenId: u.tokenId }), U = m.get(l) ?? [];
159
- m.set(l, [...U, u]);
160
- }), w?.forEach((u) => {
161
- const p = T(i, {
162
- erc20TokenAddress: u.erc20TokenAddress,
163
- tokenId: u.tokenId
151
+ const p = B(o, { erc20TokenAddress: i, tokenId: a.tokenId }), U = f.get(p) ?? [];
152
+ f.set(p, [...U, a]);
153
+ }), w?.forEach((a) => {
154
+ const i = B(o, {
155
+ erc20TokenAddress: a.erc20TokenAddress,
156
+ tokenId: a.tokenId
164
157
  });
165
- m.set(p, m.get(p) ?? []);
158
+ f.set(i, f.get(i) ?? []);
166
159
  });
167
- for (const [u, p] of m) {
168
- const l = u.split("-")[0], U = Number(u.split("-")[1]), f = R(i), v = f ? l : void 0, I = f ? z(l).compressedAddress.toLowerCase() : l.toLowerCase();
169
- j(p, e, c, y, I, U, v);
160
+ for (const [a, i] of f) {
161
+ const p = a.split("-")[0], U = Number(a.split("-")[1]), y = z(o), g = y ? p : void 0, O = y ? N(p).compressedAddress.toLowerCase() : p.toLowerCase();
162
+ G(i, s, n, x, O, U, g);
170
163
  }
171
- return m;
164
+ return f;
172
165
  };
173
166
  export {
174
167
  M as attemptGetInputUtxosRemotely,
175
- D as getInputUtxoAndBalance,
176
- J as getInputUtxoAndBalanceOfStuckUtxos,
177
- nt as getInputUtxoAndBalancePerToken,
168
+ j as getInputUtxoAndBalance,
169
+ D as getInputUtxoAndBalanceOfStuckUtxos,
170
+ st as getInputUtxoAndBalancePerToken,
178
171
  H as getInputUtxosRemotely
179
172
  };
@@ -3,6 +3,6 @@ import { Utxo } from '../../../data-structures/utxo/Utxo';
3
3
  import { UserKeys } from '../../../data-structures/crypto-keys/keys';
4
4
  export declare const getInputUtxosEnclave: (hinkal: IHinkal, chainId: number, userKeys: UserKeys) => Promise<{
5
5
  utxos: Utxo[];
6
- encryptedOutputs: import("../../..").EncryptedOutputWithSign<boolean>[];
6
+ encryptedOutputs: import('../../../index.ts').EncryptedOutputWithSign<boolean>[];
7
7
  lastOutput: string;
8
8
  }>;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../utils/erc20tokenFunctions.cjs"),h=require("../../utils/caseInsensitive.utils.cjs"),v=require("../../../data-structures/utxo/Utxo.cjs"),w=require("../etherFunctions.cjs"),E=require("../../../error-handling/customErrors/ErrorWithAmount.cjs");require("../../../error-handling/error-codes.constants.cjs");const x=require("./getInputUtxoAndBalance.cjs"),A=require("../../../data-structures/TokenDBs/PrivateTokensDB.cjs"),U=require("../../../constants/vite.constants.cjs"),P=require("../../utils/encodeTokenWithId.cjs"),S=require("../../utils/mutexes.utils.cjs"),B=require("../../utils/solanaMint.utils.cjs"),I=require("../../../constants/chains.constants.cjs"),M=async(i,t,g,d,a,m=!1,k,T=!1,l=!1)=>S.balanceFetchingMutex.runExclusive(async()=>{const{inputUtxos:s}=l?await x.getInputUtxoAndBalanceOfStuckUtxos({hinkal:i,chainId:t,ethAddress:a}):await x.getInputUtxoAndBalance({hinkal:i,sliceIfMore6:!1,chainId:t,passedShieldedPrivateKey:g,passedShieldedPublicKey:d,ethAddress:a,resetCacheBefore:m,allowRemoteDecryption:k});T&&U.isExtension&&await A.privateTokensDB.fetchAndUpdatePrivateTokens(s.map(e=>e.getTokenAddress(t)).filter(e=>e!==void 0),t,a);const f=(U.isExtension?await A.privateTokensDB.getPrivateTokens(t,a):q.getErc20TokensForChain(t)).map(e=>({token:e,balance:s.reduce((n,c)=>{const r=e.erc20TokenAddress,u=c.getTokenAddress(t);return h.caseInsensitiveEqual(r,u)?n+c.amount:n},0n),timestamp:s.filter(n=>h.caseInsensitiveEqual(n.getTokenAddress(t),e.erc20TokenAddress))[0]?.timeStamp,nfts:s.filter(n=>h.caseInsensitiveEqual(n.getTokenAddress(t),e.erc20TokenAddress)&&n.tokenId!==0).map(n=>({tokenId:n.tokenId,timestamp:n.timeStamp}))})),o=new Map;return f.forEach(e=>{o.set(e.token.erc20TokenAddress.toLowerCase(),e)}),o}),C=async(i,t,g,d=6,a=t.map(()=>0),m=!1,k=!1)=>{const{userKeys:T}=i,l=[],s=[],y=await x.getInputUtxoAndBalancePerToken({hinkal:i,sliceIfMore6:!1,ensuredTokensWithId:t.map((o,e)=>({erc20TokenAddress:t[e],tokenId:a[e]})),allowRemoteDecryption:!1,useBlockedUtxos:k});let f=0;for(let o=0;o<t.length;o+=1)if(m===!1){const e=y.get(P.encodeTokenWithId(i.getCurrentChainId(),{erc20TokenAddress:t[o],tokenId:a[o]}))??[];if(!e)throw new Error("Missing utxos for token");f=Math.max(e.length,f),s.push(e)}else s.push([]);return f===2?s:(s.forEach((o,e)=>{if(o.length>d){const n=o.slice(0,d),c=n.reduce((r,u)=>r+u.amount,0n);if(g[e]<0n&&c<-g[e]){const r=q.getERC20Token(t[e],i.getCurrentChainId()),u=Number(w.getAmountWithPrecision(c,r,2)),p=`Unfortunately your transaction did not go through due to UTXOs limitations.
2
- Please try again with ${r.symbol}`;throw new E.ErrorWithAmount(u,p)}l.push(n)}else if(o.length<=d){const n=[...o];let c=d-o.length;for(;c>0;){c-=1;const r=I.isSolanaLike(i.getCurrentChainId()),u=r?t[e]:void 0,p=r?B.formatMintAddress(t[e]).compressedAddress:t[e];n.push(new v.Utxo({amount:0n,erc20TokenAddress:p,mintAddress:u,shieldedPrivateKey:T.getShieldedPrivateKey(),tokenId:a[e]}))}l.push(n)}}),l)};exports.addPaddingToUtxos=C;exports.getShieldedBalance=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../utils/erc20tokenFunctions.cjs"),x=require("../../utils/caseInsensitive.utils.cjs"),w=require("../../../data-structures/utxo/Utxo.cjs"),E=require("../etherFunctions.cjs"),P=require("../../../error-handling/customErrors/ErrorWithAmount.cjs");require("../../../error-handling/error-codes.constants.cjs");const y=require("./getInputUtxoAndBalance.cjs"),U=require("../../../data-structures/TokenDBs/PrivateTokensDB.cjs"),q=require("../../../constants/vite.constants.cjs"),B=require("../../utils/encodeTokenWithId.cjs"),S=require("../../utils/mutexes.utils.cjs"),M=require("../../utils/solanaMint.utils.cjs"),b=require("../../../constants/chains.constants.cjs"),W=async(l,n,s,g,i,d=!1,m,T=!1,p=!1)=>S.getChainBalanceFetchingMutex(n).runExclusive(async()=>{const{inputUtxos:r}=p?await y.getInputUtxoAndBalanceOfStuckUtxos({hinkal:l,chainId:n,ethAddress:i}):await y.getInputUtxoAndBalance({hinkal:l,sliceIfMore6:!1,chainId:n,passedShieldedPrivateKey:s,passedShieldedPublicKey:g,ethAddress:i,resetCacheBefore:d,allowRemoteDecryption:m});T&&q.isExtension&&await U.privateTokensDB.fetchAndUpdatePrivateTokens(r.map(e=>e.getTokenAddress(n)).filter(e=>e!==void 0),n,i);const f=(q.isExtension?await U.privateTokensDB.getPrivateTokens(n,i):v.getErc20TokensForChain(n)).map(e=>({token:e,balance:r.reduce((t,c)=>{const a=e.erc20TokenAddress,u=c.getTokenAddress(n);return x.caseInsensitiveEqual(a,u)?t+c.amount:t},0n),timestamp:r.filter(t=>x.caseInsensitiveEqual(t.getTokenAddress(n),e.erc20TokenAddress))[0]?.timeStamp,nfts:r.filter(t=>x.caseInsensitiveEqual(t.getTokenAddress(n),e.erc20TokenAddress)&&t.tokenId!==0).map(t=>({tokenId:t.tokenId,timestamp:t.timeStamp}))})),o=new Map;return f.forEach(e=>{o.set(e.token.erc20TokenAddress.toLowerCase(),e)}),o}),_=async(l,n,s,g,i=6,d=s.map(()=>0),m=!1,T=!1)=>{const{userKeys:p}=l,k=[],r=[],A=await y.getInputUtxoAndBalancePerToken({hinkal:l,sliceIfMore6:!1,ensuredTokensWithId:s.map((o,e)=>({erc20TokenAddress:s[e],tokenId:d[e]})),allowRemoteDecryption:!1,useBlockedUtxos:T,chainId:n});let f=0;for(let o=0;o<s.length;o+=1)if(m===!1){const e=A.get(B.encodeTokenWithId(n,{erc20TokenAddress:s[o],tokenId:d[o]}))??[];if(!e)throw new Error("Missing utxos for token");f=Math.max(e.length,f),r.push(e)}else r.push([]);return f===2?r:(r.forEach((o,e)=>{if(o.length>i){const t=o.slice(0,i),c=t.reduce((a,u)=>a+u.amount,0n);if(g[e]<0n&&c<-g[e]){const a=v.getERC20Token(s[e],n),u=Number(E.getAmountWithPrecision(c,a,2)),h=`Unfortunately your transaction did not go through due to UTXOs limitations.
2
+ Please try again with ${a.symbol}`;throw new P.ErrorWithAmount(u,h)}k.push(t)}else if(o.length<=i){const t=[...o];let c=i-o.length;for(;c>0;){c-=1;const a=b.isSolanaLike(n),u=a?s[e]:void 0,h=a?M.formatMintAddress(s[e]).compressedAddress:s[e];t.push(new w.Utxo({amount:0n,erc20TokenAddress:h,mintAddress:u,shieldedPrivateKey:p.getShieldedPrivateKey(),tokenId:d[e]}))}k.push(t)}}),k)};exports.addPaddingToUtxos=_;exports.getShieldedBalance=W;
@@ -15,4 +15,4 @@ export declare const getShieldedBalance: (hinkal: IHinkal, chainId: number, pass
15
15
  * @param maxInput to pad until maxInput number
16
16
  * @returns return padded UTXOs for every erc20 token
17
17
  */
18
- export declare const addPaddingToUtxos: (hinkal: IHinkal, erc20Addresses: string[], amountChanges: bigint[], maxInput?: number, tokenIds?: number[], forceEmptyUtxos?: boolean, useBlockedUtxos?: boolean) => Promise<Utxo[][]>;
18
+ export declare const addPaddingToUtxos: (hinkal: IHinkal, chainId: number, erc20Addresses: string[], amountChanges: bigint[], maxInput?: number, tokenIds?: number[], forceEmptyUtxos?: boolean, useBlockedUtxos?: boolean) => Promise<Utxo[][]>;