@hinkal/common 0.2.30 → 0.2.32

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 (776) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +26 -11
  3. package/API/API.mjs +103 -88
  4. package/API/callMonitor.cjs +1 -1
  5. package/API/callMonitor.d.ts +8 -0
  6. package/API/callMonitor.mjs +2 -2
  7. package/API/callRelayer.d.ts +4 -1
  8. package/API/dashboardAccountCalls.cjs +1 -0
  9. package/API/dashboardAccountCalls.d.ts +24 -0
  10. package/API/dashboardAccountCalls.mjs +10 -0
  11. package/API/dashboardAccountMemberCalls.cjs +1 -0
  12. package/API/dashboardAccountMemberCalls.d.ts +34 -0
  13. package/API/dashboardAccountMemberCalls.mjs +16 -0
  14. package/API/dashboardBalanceCalls.cjs +1 -0
  15. package/API/dashboardBalanceCalls.d.ts +12 -0
  16. package/API/dashboardBalanceCalls.mjs +13 -0
  17. package/API/dashboardContactCalls.cjs +1 -0
  18. package/API/dashboardContactCalls.d.ts +9 -0
  19. package/API/dashboardContactCalls.mjs +13 -0
  20. package/API/dashboardPayoutCalls.cjs +1 -0
  21. package/API/dashboardPayoutCalls.d.ts +14 -0
  22. package/API/dashboardPayoutCalls.mjs +13 -0
  23. package/API/dashboardTransactionCalls.cjs +1 -0
  24. package/API/dashboardTransactionCalls.d.ts +3 -0
  25. package/API/dashboardTransactionCalls.mjs +10 -0
  26. package/API/enclaveRecipientInfoCalls.cjs +1 -0
  27. package/API/enclaveRecipientInfoCalls.d.ts +14 -0
  28. package/API/enclaveRecipientInfoCalls.mjs +7 -0
  29. package/API/enclaveSignatureCalls.cjs +1 -1
  30. package/API/enclaveSignatureCalls.d.ts +3 -8
  31. package/API/enclaveSignatureCalls.mjs +6 -8
  32. package/API/enclaveUtxoCalls.cjs +1 -1
  33. package/API/enclaveUtxoCalls.d.ts +8 -2
  34. package/API/enclaveUtxoCalls.mjs +5 -3
  35. package/API/fetchCommitmentsCache.cjs +1 -1
  36. package/API/fetchCommitmentsCache.d.ts +1 -19
  37. package/API/fetchCommitmentsCache.mjs +9 -22
  38. package/API/getAnyRecipientInfo.d.ts +1 -0
  39. package/API/getServerURL.cjs +1 -1
  40. package/API/getServerURL.d.ts +3 -0
  41. package/API/getServerURL.mjs +15 -32
  42. package/API/getWebsiteURL.cjs +1 -1
  43. package/API/getWebsiteURL.d.ts +3 -2
  44. package/API/getWebsiteURL.mjs +12 -5
  45. package/API/index.cjs +1 -1
  46. package/API/index.d.ts +2 -0
  47. package/API/index.mjs +2 -0
  48. package/API/kycCalls.cjs +1 -1
  49. package/API/kycCalls.d.ts +0 -5
  50. package/API/kycCalls.mjs +3 -10
  51. package/API/privateSendRecipientInfoCalls.cjs +1 -1
  52. package/API/privateSendRecipientInfoCalls.d.ts +0 -10
  53. package/API/privateSendRecipientInfoCalls.mjs +2 -2
  54. package/API/scheduled-transactions-calls.cjs +1 -1
  55. package/API/scheduled-transactions-calls.d.ts +8 -2
  56. package/API/scheduled-transactions-calls.mjs +5 -4
  57. package/API/tenderly.api.cjs +1 -1
  58. package/API/tenderly.api.d.ts +1 -1
  59. package/API/tenderly.api.mjs +1 -1
  60. package/constants/addresses.constants.cjs +1 -1
  61. package/constants/addresses.constants.d.ts +10 -7
  62. package/constants/addresses.constants.mjs +11 -8
  63. package/constants/assets.constants.cjs +1 -1
  64. package/constants/assets.constants.mjs +1 -1
  65. package/constants/auth.constants.cjs +1 -0
  66. package/constants/auth.constants.d.ts +2 -0
  67. package/constants/auth.constants.mjs +4 -0
  68. package/constants/backend.constants.cjs +1 -1
  69. package/constants/backend.constants.d.ts +0 -1
  70. package/constants/backend.constants.mjs +0 -1
  71. package/constants/bridging.constants.cjs +1 -1
  72. package/constants/bridging.constants.d.ts +2 -0
  73. package/constants/bridging.constants.mjs +7 -3
  74. package/constants/chains.constants.cjs +1 -1
  75. package/constants/chains.constants.d.ts +25 -8
  76. package/constants/chains.constants.mjs +168 -127
  77. package/constants/coingecko.constants.cjs +1 -1
  78. package/constants/coingecko.constants.d.ts +5 -3
  79. package/constants/coingecko.constants.mjs +8 -5
  80. package/constants/contracts.constants.cjs +1 -1
  81. package/constants/contracts.constants.mjs +0 -4
  82. package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  83. package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +125 -850
  84. package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  85. package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +97 -1013
  86. package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  87. package/constants/deploy-data/deploy-data-base.json.mjs +132 -869
  88. package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  89. package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +132 -871
  90. package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  91. package/constants/deploy-data/deploy-data-localhost.json.mjs +6 -808
  92. package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  93. package/constants/deploy-data/deploy-data-optimism.json.mjs +132 -869
  94. package/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -0
  95. package/constants/deploy-data/deploy-data-optimismTest.json.mjs +3565 -0
  96. package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  97. package/constants/deploy-data/deploy-data-polygon.json.mjs +132 -869
  98. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -0
  99. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +3561 -0
  100. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  101. package/constants/deploy-data/deploy-data-solana.json.mjs +1 -1
  102. package/constants/deploy-data/deploy-data-tempo.json.cjs +1 -0
  103. package/constants/deploy-data/deploy-data-tempo.json.mjs +3563 -0
  104. package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +133 -870
  106. package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  107. package/constants/deploy-data/deploy-data-tronNile.json.mjs +133 -870
  108. package/constants/deploy-data/index.d.ts +4 -1
  109. package/constants/events.constants.cjs +1 -1
  110. package/constants/events.constants.mjs +4 -1
  111. package/constants/fees.constants.cjs +1 -1
  112. package/constants/fees.constants.d.ts +5 -1
  113. package/constants/fees.constants.mjs +9 -5
  114. package/constants/index.cjs +1 -1
  115. package/constants/index.d.ts +2 -1
  116. package/constants/index.mjs +6 -2
  117. package/constants/kyc.constants.cjs +1 -1
  118. package/constants/kyc.constants.d.ts +1 -1
  119. package/constants/kyc.constants.mjs +38 -37
  120. package/constants/lifi.constants.cjs +1 -1
  121. package/constants/lifi.constants.d.ts +2 -0
  122. package/constants/lifi.constants.mjs +7 -2
  123. package/constants/mediaUrls.constants.cjs +1 -1
  124. package/constants/mediaUrls.constants.d.ts +7 -1
  125. package/constants/mediaUrls.constants.mjs +9 -3
  126. package/constants/price-impact.constants.cjs +1 -0
  127. package/constants/price-impact.constants.d.ts +2 -0
  128. package/constants/price-impact.constants.mjs +4 -0
  129. package/constants/protocol.constants.cjs +1 -1
  130. package/constants/protocol.constants.d.ts +4 -1
  131. package/constants/protocol.constants.mjs +2 -2
  132. package/constants/reorg-depths.constants.cjs +1 -1
  133. package/constants/reorg-depths.constants.d.ts +3 -1
  134. package/constants/reorg-depths.constants.mjs +3 -1
  135. package/constants/save-depths.cjs +1 -1
  136. package/constants/save-depths.d.ts +3 -1
  137. package/constants/save-depths.mjs +3 -1
  138. package/constants/server.constants.cjs +1 -1
  139. package/constants/server.constants.d.ts +33 -8
  140. package/constants/server.constants.mjs +44 -24
  141. package/constants/token-data/ERC20Registry.cjs +1 -1
  142. package/constants/token-data/ERC20Registry.mjs +20 -9
  143. package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
  144. package/constants/token-data/arbMainnetRegistry.json.mjs +24 -24
  145. package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
  146. package/constants/token-data/arbMainnetRegistryFixed.json.mjs +24 -24
  147. package/constants/token-data/arcTestnetRegistry.json.cjs +1 -1
  148. package/constants/token-data/arcTestnetRegistry.json.mjs +3 -3
  149. package/constants/token-data/baseRegistry.json.cjs +1 -1
  150. package/constants/token-data/baseRegistry.json.mjs +20 -12
  151. package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
  152. package/constants/token-data/baseRegistryFixed.json.mjs +18 -10
  153. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  154. package/constants/token-data/ethMainnetRegistry.json.mjs +38 -38
  155. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  156. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +38 -38
  157. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  158. package/constants/token-data/localhostRegistry.json.mjs +211 -211
  159. package/constants/token-data/optimismRegistry.json.cjs +1 -1
  160. package/constants/token-data/optimismRegistry.json.mjs +36 -28
  161. package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
  162. package/constants/token-data/optimismRegistryFixed.json.mjs +36 -28
  163. package/constants/token-data/polygonRegistry.json.cjs +1 -1
  164. package/constants/token-data/polygonRegistry.json.mjs +34 -26
  165. package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
  166. package/constants/token-data/polygonRegistryFixed.json.mjs +34 -26
  167. package/constants/token-data/sepoliaTestnetRegistry.json.cjs +1 -0
  168. package/constants/token-data/sepoliaTestnetRegistry.json.mjs +21 -0
  169. package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -1
  170. package/constants/token-data/solanaMainnetRegistry.json.mjs +1 -1
  171. package/constants/token-data/tempoRegistry.json.cjs +1 -0
  172. package/constants/token-data/tempoRegistry.json.mjs +37 -0
  173. package/constants/token-data/tronMainnetRegistry.json.cjs +1 -1
  174. package/constants/token-data/tronMainnetRegistry.json.mjs +26 -15
  175. package/constants/token-data/tronNileRegistry.json.cjs +1 -1
  176. package/constants/token-data/tronNileRegistry.json.mjs +2 -2
  177. package/constants/tokens.constants.cjs +1 -1
  178. package/constants/tokens.constants.d.ts +1 -0
  179. package/constants/tokens.constants.mjs +10 -3
  180. package/constants/vite.constants.cjs +1 -1
  181. package/constants/vite.constants.mjs +23 -5
  182. package/constants/wallet.constants.cjs +1 -1
  183. package/constants/wallet.constants.d.ts +1 -1
  184. package/constants/wallet.constants.mjs +2 -18
  185. package/crypto/babyJub.d.ts +1 -1
  186. package/crypto/ecdh-dual-path.cjs +1 -0
  187. package/crypto/ecdh-dual-path.d.ts +13 -0
  188. package/crypto/ecdh-dual-path.mjs +39 -0
  189. package/crypto/ecdh-sealed-keys.cjs +1 -0
  190. package/crypto/ecdh-sealed-keys.d.ts +22 -0
  191. package/crypto/ecdh-sealed-keys.mjs +33 -0
  192. package/crypto/ecdh.cjs +1 -0
  193. package/crypto/ecdh.d.ts +2 -0
  194. package/crypto/ecdh.mjs +9 -0
  195. package/crypto/eddsa.cjs +1 -0
  196. package/crypto/eddsa.d.ts +8 -0
  197. package/crypto/eddsa.mjs +12 -0
  198. package/crypto/index.cjs +1 -1
  199. package/crypto/index.d.ts +4 -0
  200. package/crypto/index.mjs +4 -0
  201. package/crypto/preProcessing.cjs +1 -1
  202. package/crypto/preProcessing.d.ts +1 -1
  203. package/crypto/preProcessing.mjs +10 -8
  204. package/data-structures/AccountActions/AccountActions.cjs +1 -1
  205. package/data-structures/AccountActions/AccountActions.mjs +3 -2
  206. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  207. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +2 -3
  208. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  209. package/data-structures/Hinkal/Hinkal.d.ts +16 -21
  210. package/data-structures/Hinkal/Hinkal.mjs +144 -160
  211. package/data-structures/Hinkal/IHinkal.d.ts +13 -19
  212. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  213. package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
  214. package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  215. package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -2
  216. package/data-structures/Hinkal/hinkalClaimUtxo.mjs +49 -47
  217. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  218. package/data-structures/Hinkal/hinkalDeposit.d.ts +5 -3
  219. package/data-structures/Hinkal/hinkalDeposit.mjs +106 -50
  220. package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  221. package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +1 -1
  222. package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +94 -87
  223. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  224. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
  225. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +48 -48
  226. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  227. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +41 -63
  228. package/data-structures/Hinkal/hinkalPalEvmDeposit.cjs +1 -0
  229. package/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +9 -0
  230. package/data-structures/Hinkal/hinkalPalEvmDeposit.mjs +19 -0
  231. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.cjs +1 -0
  232. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.d.ts +9 -0
  233. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.mjs +18 -0
  234. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.cjs +1 -0
  235. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +9 -0
  236. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.mjs +17 -0
  237. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  238. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +46 -50
  239. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  240. package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -1
  241. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +84 -128
  242. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -0
  243. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +7 -0
  244. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +51 -0
  245. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -0
  246. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +6 -0
  247. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +128 -0
  248. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  249. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +2 -2
  250. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +68 -69
  251. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  252. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  253. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +96 -57
  254. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  255. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +20 -2
  256. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +114 -122
  257. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
  258. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
  259. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +12 -17
  260. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  261. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +38 -40
  262. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  263. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +4 -3
  264. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +68 -52
  265. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  266. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +2 -2
  267. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +67 -72
  268. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  269. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +2 -1
  270. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +56 -61
  271. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  272. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -48
  273. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  274. package/data-structures/Hinkal/hinkalSwap.mjs +32 -42
  275. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  276. package/data-structures/Hinkal/hinkalTransfer.mjs +41 -54
  277. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  278. package/data-structures/Hinkal/hinkalWithdraw.mjs +43 -56
  279. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  280. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -108
  281. package/data-structures/Hinkal/index.cjs +1 -1
  282. package/data-structures/Hinkal/index.d.ts +5 -0
  283. package/data-structures/Hinkal/index.mjs +5 -0
  284. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -0
  285. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +22 -0
  286. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +34 -0
  287. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  288. package/data-structures/Hinkal/resetMerkleTrees.mjs +33 -40
  289. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  290. package/data-structures/IndexedDB/activity-db.mjs +25 -24
  291. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  292. package/data-structures/IndexedDB/contact-db.d.ts +1 -0
  293. package/data-structures/IndexedDB/contact-db.mjs +30 -16
  294. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  295. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -1
  296. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +4 -4
  297. package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  298. package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +37 -34
  299. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  300. package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +2 -0
  301. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +65 -50
  302. package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  303. package/data-structures/TokenDBs/PrivateTokensDB.mjs +2 -1
  304. package/data-structures/WalletManager/WalletManager.cjs +1 -0
  305. package/data-structures/WalletManager/WalletManager.d.ts +51 -0
  306. package/data-structures/WalletManager/WalletManager.mjs +99 -0
  307. package/data-structures/WalletManager/index.cjs +1 -0
  308. package/data-structures/WalletManager/index.d.ts +1 -0
  309. package/data-structures/WalletManager/index.mjs +1 -0
  310. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  311. package/data-structures/crypto-keys/decodeUTXO.d.ts +5 -3
  312. package/data-structures/crypto-keys/decodeUTXO.mjs +49 -46
  313. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  314. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +32 -40
  315. package/data-structures/crypto-keys/keys.cjs +1 -1
  316. package/data-structures/crypto-keys/keys.d.ts +51 -24
  317. package/data-structures/crypto-keys/keys.mjs +104 -43
  318. package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
  319. package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +2 -2
  320. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  321. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -2
  322. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -4
  323. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -1
  324. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +1 -1
  325. package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  326. package/data-structures/event-service/helpers/ClientEventHelper.mjs +3 -3
  327. package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -1
  328. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +2 -0
  329. package/data-structures/event-service/helpers/PollingEventHelper.mjs +7 -3
  330. package/data-structures/event-service/index.cjs +1 -1
  331. package/data-structures/event-service/index.d.ts +0 -3
  332. package/data-structures/event-service/index.mjs +0 -3
  333. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -1
  334. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +1 -1
  335. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  336. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +2 -2
  337. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +5 -5
  338. package/data-structures/index.cjs +1 -1
  339. package/data-structures/index.d.ts +1 -0
  340. package/data-structures/index.mjs +10 -10
  341. package/data-structures/merkle-tree/index.cjs +1 -1
  342. package/data-structures/merkle-tree/index.d.ts +0 -1
  343. package/data-structures/merkle-tree/index.mjs +0 -1
  344. package/data-structures/provider-adapter/IProviderAdapter.d.ts +6 -0
  345. package/data-structures/snapshot/SnapshotFetcherService.cjs +1 -1
  346. package/data-structures/snapshot/SnapshotFetcherService.d.ts +0 -2
  347. package/data-structures/snapshot/SnapshotFetcherService.mjs +0 -6
  348. package/data-structures/snapshot/index.cjs +1 -1
  349. package/data-structures/snapshot/index.d.ts +0 -3
  350. package/data-structures/snapshot/index.mjs +0 -3
  351. package/data-structures/utxo/Utxo.cjs +1 -1
  352. package/data-structures/utxo/Utxo.d.ts +16 -10
  353. package/data-structures/utxo/Utxo.mjs +40 -38
  354. package/error-handling/customErrors/HttpError.cjs +1 -0
  355. package/error-handling/customErrors/HttpError.d.ts +4 -0
  356. package/error-handling/customErrors/HttpError.mjs +8 -0
  357. package/error-handling/customErrors/index.cjs +1 -1
  358. package/error-handling/customErrors/index.d.ts +1 -0
  359. package/error-handling/customErrors/index.mjs +1 -0
  360. package/error-handling/error-codes.constants.cjs +1 -1
  361. package/error-handling/error-codes.constants.d.ts +11 -0
  362. package/error-handling/error-codes.constants.mjs +13 -2
  363. package/error-handling/index.cjs +1 -1
  364. package/error-handling/index.mjs +1 -0
  365. package/error-handling/retrySolanaError.cjs +1 -0
  366. package/error-handling/retrySolanaError.d.ts +1 -0
  367. package/error-handling/retrySolanaError.mjs +4 -0
  368. package/externalABIs/index.cjs +1 -1
  369. package/externalABIs/index.d.ts +1 -16
  370. package/externalABIs/index.mjs +4 -5
  371. package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +1 -1
  372. package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +1 -1
  373. package/functions/index.cjs +1 -1
  374. package/functions/index.mjs +28 -19
  375. package/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
  376. package/functions/kyc/checkTokenLimitsUSD.mjs +15 -15
  377. package/functions/kyc/index.cjs +1 -1
  378. package/functions/kyc/index.d.ts +0 -1
  379. package/functions/kyc/index.mjs +0 -1
  380. package/functions/pre-transaction/addressTableLookup.cjs +1 -1
  381. package/functions/pre-transaction/addressTableLookup.mjs +21 -18
  382. package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
  383. package/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
  384. package/functions/pre-transaction/buildCommitmentValidationData.mjs +58 -0
  385. package/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
  386. package/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
  387. package/functions/pre-transaction/calculateSolanaNullifierCount.mjs +23 -0
  388. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  389. package/functions/pre-transaction/constructAdminData.mjs +4 -4
  390. package/functions/pre-transaction/index.cjs +1 -1
  391. package/functions/pre-transaction/index.d.ts +2 -3
  392. package/functions/pre-transaction/index.mjs +3 -4
  393. package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  394. package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  395. package/functions/pre-transaction/outputUtxoProcessing.mjs +22 -19
  396. package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  397. package/functions/pre-transaction/recipientUtxoProcessing.mjs +11 -9
  398. package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -1
  399. package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +9 -9
  400. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  401. package/functions/pre-transaction/sendV0Transaction.mjs +45 -43
  402. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  403. package/functions/pre-transaction/solana-public-signals.d.ts +7 -6
  404. package/functions/pre-transaction/solana-public-signals.mjs +22 -19
  405. package/functions/pre-transaction/solana.cjs +1 -1
  406. package/functions/pre-transaction/solana.d.ts +0 -4
  407. package/functions/pre-transaction/solana.mjs +7 -27
  408. package/functions/pre-transaction/store-proof.cjs +1 -1
  409. package/functions/pre-transaction/store-proof.mjs +3 -3
  410. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  411. package/functions/private-wallet/emporium.helpers.d.ts +14 -4
  412. package/functions/private-wallet/emporium.helpers.mjs +84 -74
  413. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  414. package/functions/private-wallet/emporium.swap.helpers.mjs +6 -6
  415. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  416. package/functions/snarkjs/common.snarkjs.d.ts +8 -13
  417. package/functions/snarkjs/common.snarkjs.mjs +65 -74
  418. package/functions/snarkjs/constant.cjs +1 -1
  419. package/functions/snarkjs/constant.d.ts +146 -426
  420. package/functions/snarkjs/constant.mjs +149 -430
  421. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  422. package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
  423. package/functions/snarkjs/constructGeneralZkProof.mjs +74 -57
  424. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  425. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -2
  426. package/functions/snarkjs/constructSolanaZkProof.mjs +65 -37
  427. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  428. package/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -1
  429. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +6 -10
  430. package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  431. package/functions/snarkjs/fetchOnChainRootHashes.d.ts +0 -1
  432. package/functions/snarkjs/fetchOnChainRootHashes.mjs +22 -7
  433. package/functions/snarkjs/generateCircomData.cjs +1 -1
  434. package/functions/snarkjs/generateCircomData.d.ts +2 -2
  435. package/functions/snarkjs/generateCircomData.mjs +29 -31
  436. package/functions/snarkjs/generateZkProof.cjs +1 -1
  437. package/functions/snarkjs/generateZkProof.mjs +20 -10
  438. package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
  439. package/functions/snarkjs/generateZkProofEnclave.mjs +15 -18
  440. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  441. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -9
  442. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +40 -94
  443. package/functions/snarkjs/getZKFiles.cjs +1 -1
  444. package/functions/snarkjs/getZKFiles.d.ts +1 -0
  445. package/functions/snarkjs/getZKFiles.mjs +2 -2
  446. package/functions/snarkjs/index.cjs +1 -1
  447. package/functions/snarkjs/index.d.ts +2 -1
  448. package/functions/snarkjs/index.mjs +2 -1
  449. package/functions/snarkjs/signedMessageHash.cjs +1 -0
  450. package/functions/snarkjs/signedMessageHash.d.ts +31 -0
  451. package/functions/snarkjs/signedMessageHash.mjs +49 -0
  452. package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
  453. package/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
  454. package/functions/snarkjs/verifyCommitmentValidationData.mjs +43 -0
  455. package/functions/utils/addresses.cjs +1 -1
  456. package/functions/utils/addresses.d.ts +2 -0
  457. package/functions/utils/addresses.mjs +12 -8
  458. package/functions/utils/aggregateTokenAmounts.cjs +1 -0
  459. package/functions/utils/aggregateTokenAmounts.d.ts +2 -0
  460. package/functions/utils/aggregateTokenAmounts.mjs +26 -0
  461. package/functions/utils/amounts.utils.cjs +1 -1
  462. package/functions/utils/amounts.utils.d.ts +0 -1
  463. package/functions/utils/amounts.utils.mjs +18 -18
  464. package/functions/utils/auth.utils.cjs +1 -0
  465. package/functions/utils/auth.utils.d.ts +5 -0
  466. package/functions/utils/auth.utils.mjs +7 -0
  467. package/functions/utils/bit.operations.cjs +1 -0
  468. package/functions/utils/bit.operations.d.ts +3 -0
  469. package/functions/utils/bit.operations.mjs +4 -0
  470. package/functions/utils/buildClaimableDepositPlan.cjs +1 -1
  471. package/functions/utils/buildClaimableDepositPlan.d.ts +3 -2
  472. package/functions/utils/buildClaimableDepositPlan.mjs +32 -24
  473. package/functions/utils/cacheFunctions.cjs +1 -1
  474. package/functions/utils/cacheFunctions.d.ts +0 -4
  475. package/functions/utils/cacheFunctions.mjs +33 -47
  476. package/functions/utils/create-provider.cjs +1 -1
  477. package/functions/utils/create-provider.d.ts +2 -3
  478. package/functions/utils/create-provider.mjs +9 -9
  479. package/functions/utils/customEnclaveFunctionsRegister.cjs +1 -0
  480. package/functions/utils/customEnclaveFunctionsRegister.d.ts +18 -0
  481. package/functions/utils/customEnclaveFunctionsRegister.mjs +8 -0
  482. package/functions/utils/deposit-claimable.utils.cjs +1 -0
  483. package/functions/utils/deposit-claimable.utils.d.ts +6 -0
  484. package/functions/utils/deposit-claimable.utils.mjs +106 -0
  485. package/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
  486. package/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
  487. package/functions/utils/dispatchBalanceRefreshes.mjs +44 -0
  488. package/functions/utils/enclave-recipient-info-storage.cjs +1 -0
  489. package/functions/utils/enclave-recipient-info-storage.d.ts +2 -0
  490. package/functions/utils/enclave-recipient-info-storage.mjs +17 -0
  491. package/functions/utils/enclave-signature-storage.cjs +1 -1
  492. package/functions/utils/enclave-signature-storage.d.ts +1 -2
  493. package/functions/utils/enclave-signature-storage.mjs +6 -9
  494. package/functions/utils/enclave-utxo-storage.cjs +1 -1
  495. package/functions/utils/enclave-utxo-storage.d.ts +3 -2
  496. package/functions/utils/enclave-utxo-storage.mjs +18 -21
  497. package/functions/utils/encodeTokenWithId.cjs +1 -1
  498. package/functions/utils/encodeTokenWithId.mjs +1 -1
  499. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  500. package/functions/utils/encryptInputForEnclave.mjs +17 -23
  501. package/functions/utils/enum.utils.cjs +1 -0
  502. package/functions/utils/enum.utils.mjs +12 -0
  503. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  504. package/functions/utils/erc20tokenFunctions.d.ts +2 -0
  505. package/functions/utils/erc20tokenFunctions.mjs +26 -16
  506. package/functions/utils/evmNetworkFunctions.d.ts +1 -2
  507. package/functions/utils/fees.utils.cjs +1 -1
  508. package/functions/utils/fees.utils.d.ts +2 -1
  509. package/functions/utils/fees.utils.mjs +30 -16
  510. package/functions/utils/formatter.cjs +1 -0
  511. package/functions/utils/formatter.d.ts +1 -0
  512. package/functions/utils/formatter.mjs +15 -0
  513. package/functions/utils/getBlockExplorerUrl.cjs +1 -1
  514. package/functions/utils/getBlockExplorerUrl.mjs +1 -1
  515. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  516. package/functions/utils/getRecipientInfoFromUserKeys.d.ts +2 -0
  517. package/functions/utils/getRecipientInfoFromUserKeys.mjs +14 -9
  518. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  519. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -0
  520. package/functions/utils/getUtxosFromReceipt.utils.mjs +43 -27
  521. package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  522. package/functions/utils/getUtxosFromReceiptSolana.d.ts +1 -0
  523. package/functions/utils/getUtxosFromReceiptSolana.mjs +36 -21
  524. package/functions/utils/getWalletGroupKey.utils.cjs +1 -1
  525. package/functions/utils/getWalletGroupKey.utils.mjs +4 -1
  526. package/functions/utils/index.cjs +1 -1
  527. package/functions/utils/index.d.ts +14 -1
  528. package/functions/utils/index.mjs +21 -9
  529. package/functions/utils/lifi.utils.cjs +1 -0
  530. package/functions/utils/lifi.utils.d.ts +3 -0
  531. package/functions/utils/lifi.utils.mjs +30 -0
  532. package/functions/utils/mnemonics.cjs +1 -0
  533. package/functions/utils/mnemonics.d.ts +1 -0
  534. package/functions/utils/mnemonics.mjs +8 -0
  535. package/functions/utils/pay-routing.utils.cjs +1 -0
  536. package/functions/utils/pay-routing.utils.d.ts +4 -0
  537. package/functions/utils/pay-routing.utils.mjs +17 -0
  538. package/functions/utils/prepareHinkal.cjs +1 -1
  539. package/functions/utils/prepareHinkal.mjs +29 -29
  540. package/functions/utils/publicBalance.utils.cjs +1 -1
  541. package/functions/utils/publicBalance.utils.mjs +5 -5
  542. package/functions/utils/serialize-utxos.utils.cjs +1 -1
  543. package/functions/utils/serialize-utxos.utils.mjs +6 -2
  544. package/functions/utils/solana-memo.cjs +1 -0
  545. package/functions/utils/solana-memo.d.ts +3 -0
  546. package/functions/utils/solana-memo.mjs +15 -0
  547. package/functions/utils/solanaSendPreflight.utils.cjs +1 -0
  548. package/functions/utils/solanaSendPreflight.utils.d.ts +6 -0
  549. package/functions/utils/solanaSendPreflight.utils.mjs +21 -0
  550. package/functions/utils/string.utils.cjs +1 -1
  551. package/functions/utils/string.utils.mjs +1 -1
  552. package/functions/utils/time.utils.cjs +1 -1
  553. package/functions/utils/time.utils.d.ts +6 -0
  554. package/functions/utils/time.utils.mjs +23 -16
  555. package/functions/utils/token-check.utils.cjs +1 -1
  556. package/functions/utils/token-check.utils.d.ts +1 -0
  557. package/functions/utils/token-check.utils.mjs +9 -8
  558. package/functions/utils/transfer-claimable.utils.cjs +1 -0
  559. package/functions/utils/transfer-claimable.utils.d.ts +9 -0
  560. package/functions/utils/transfer-claimable.utils.mjs +93 -0
  561. package/functions/utils/tron.utils.cjs +1 -1
  562. package/functions/utils/tron.utils.d.ts +11 -1
  563. package/functions/utils/tron.utils.mjs +85 -40
  564. package/functions/utils/tx-confirmation.utils.cjs +1 -1
  565. package/functions/utils/tx-confirmation.utils.d.ts +1 -1
  566. package/functions/utils/tx-confirmation.utils.mjs +5 -5
  567. package/functions/utils/userAgent.cjs +1 -1
  568. package/functions/utils/userAgent.d.ts +1 -0
  569. package/functions/utils/userAgent.mjs +4 -1
  570. package/functions/web3/connectors.utils.cjs +1 -1
  571. package/functions/web3/connectors.utils.d.ts +1 -0
  572. package/functions/web3/connectors.utils.mjs +5 -2
  573. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  574. package/functions/web3/events/balanceChangedHandler.d.ts +2 -1
  575. package/functions/web3/events/balanceChangedHandler.mjs +3 -3
  576. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  577. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  578. package/functions/web3/events/getInputUtxoAndBalance.mjs +21 -20
  579. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  580. package/functions/web3/events/getInputUtxosEnclave.d.ts +2 -1
  581. package/functions/web3/events/getInputUtxosEnclave.mjs +25 -18
  582. package/functions/web3/events/getShieldedBalance.cjs +1 -1
  583. package/functions/web3/events/getShieldedBalance.mjs +15 -17
  584. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  585. package/functions/web3/events/getTransactionLogEvents.d.ts +8 -5
  586. package/functions/web3/events/getTransactionLogEvents.mjs +1 -1
  587. package/functions/web3/events/index.cjs +1 -1
  588. package/functions/web3/events/index.d.ts +0 -2
  589. package/functions/web3/events/index.mjs +0 -2
  590. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  591. package/functions/web3/functionCalls/constructBatchCall.d.ts +1 -0
  592. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -2
  593. package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  594. package/functions/web3/functionCalls/transactCallDirectTron.d.ts +4 -1
  595. package/functions/web3/functionCalls/transactCallDirectTron.mjs +89 -55
  596. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  597. package/functions/web3/functionCalls/transactCallRelayer.d.ts +5 -4
  598. package/functions/web3/functionCalls/transactCallRelayer.mjs +17 -13
  599. package/functions/web3/getContractMetadata.cjs +1 -1
  600. package/functions/web3/getContractMetadata.mjs +1 -1
  601. package/functions/web3/getTokenHolder.cjs +1 -1
  602. package/functions/web3/getTokenHolder.mjs +1 -1
  603. package/functions/web3/index.cjs +1 -1
  604. package/functions/web3/index.d.ts +0 -1
  605. package/functions/web3/index.mjs +0 -3
  606. package/functions/web3/lifiAPI.cjs +1 -1
  607. package/functions/web3/lifiAPI.mjs +28 -19
  608. package/functions/web3/oneInchAPI.cjs +1 -1
  609. package/functions/web3/oneInchAPI.mjs +1 -1
  610. package/index.cjs +1 -1
  611. package/index.mjs +331 -309
  612. package/package.json +5 -2
  613. package/providers/EthersProviderAdapter.cjs +1 -1
  614. package/providers/EthersProviderAdapter.mjs +1 -1
  615. package/providers/SolanaProviderAdapter.cjs +1 -1
  616. package/providers/SolanaProviderAdapter.d.ts +10 -1
  617. package/providers/SolanaProviderAdapter.mjs +38 -2
  618. package/providers/TronProviderAdapter.cjs +1 -1
  619. package/providers/TronProviderAdapter.mjs +2 -2
  620. package/providers/WagmiProviderAdapter.cjs +1 -1
  621. package/providers/WagmiProviderAdapter.d.ts +3 -1
  622. package/providers/WagmiProviderAdapter.mjs +62 -52
  623. package/providers/prepareSolanaHinkal.cjs +1 -1
  624. package/providers/prepareSolanaHinkal.mjs +3 -3
  625. package/types/admin.types.cjs +1 -1
  626. package/types/admin.types.d.ts +1 -8
  627. package/types/admin.types.mjs +1 -1
  628. package/types/cache.types.cjs +1 -1
  629. package/types/cache.types.d.ts +2 -1
  630. package/types/cache.types.mjs +1 -1
  631. package/types/chains.types.cjs +1 -0
  632. package/types/chains.types.d.ts +11 -0
  633. package/types/chains.types.mjs +8 -0
  634. package/types/circom-data.types.d.ts +13 -0
  635. package/types/commitments.types.d.ts +0 -6
  636. package/types/contacts.types.d.ts +1 -0
  637. package/types/dashboard-account.cjs +1 -0
  638. package/types/dashboard-account.d.ts +101 -0
  639. package/types/dashboard-account.mjs +8 -0
  640. package/types/dashboard-payout.types.cjs +1 -0
  641. package/types/dashboard-payout.types.d.ts +29 -0
  642. package/types/dashboard-payout.types.mjs +8 -0
  643. package/types/dashboard-transaction.types.d.ts +22 -0
  644. package/types/ethereum-network.types.cjs +1 -1
  645. package/types/ethereum-network.types.d.ts +15 -18
  646. package/types/ethereum-network.types.mjs +1 -1
  647. package/types/events.types.cjs +1 -1
  648. package/types/events.types.d.ts +2 -3
  649. package/types/events.types.mjs +1 -1
  650. package/types/external-action.types.cjs +1 -1
  651. package/types/external-action.types.d.ts +2 -1
  652. package/types/external-action.types.mjs +1 -1
  653. package/types/hinkal.types.cjs +1 -1
  654. package/types/hinkal.types.d.ts +6 -17
  655. package/types/hinkal.types.mjs +16 -18
  656. package/types/index.cjs +1 -1
  657. package/types/index.d.ts +6 -0
  658. package/types/index.mjs +3 -0
  659. package/types/pay-activities.types.d.ts +3 -0
  660. package/types/pay-routing.types.d.ts +9 -0
  661. package/types/scheduled-transactions.types.d.ts +7 -0
  662. package/types/solana.types.d.ts +5 -6
  663. package/types/token-prices.types.d.ts +4 -0
  664. package/types/transaction.types.d.ts +1 -3
  665. package/webworker/WorkerWrapper.cjs +1 -0
  666. package/webworker/WorkerWrapper.d.ts +9 -0
  667. package/webworker/WorkerWrapper.mjs +22 -0
  668. package/webworker/logError-fCJ4HXQz.js +22 -0
  669. package/webworker/package.json +112 -0
  670. package/webworker/performTaskWithWorker.cjs +1 -1
  671. package/webworker/performTaskWithWorker.mjs +4 -4
  672. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  673. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  674. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -3
  675. package/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
  676. package/webworker/snarkjsWorkerNode.cjs +3 -0
  677. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  678. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  679. package/webworker/utxoWorker/utxoWorkerLogic.d.ts +0 -3
  680. package/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
  681. package/webworker/utxoWorkerNode.cjs +1 -0
  682. package/webworker/viteWorkerURL.constant.cjs +4 -4
  683. package/webworker/viteWorkerURL.constant.mjs +4 -4
  684. package/webworker/worker.registry.cjs +1 -1
  685. package/webworker/worker.registry.mjs +6 -3
  686. package/webworker/workerFactory.cjs +1 -1
  687. package/webworker/workerFactory.d.ts +4 -1
  688. package/webworker/workerFactory.mjs +31 -17
  689. package/webworker/workerProxy-BNBqYien.js +130 -0
  690. package/webworker/workerProxy.d.ts +1 -1
  691. package/webworker/workerThreadsPatch.d.ts +1 -0
  692. package/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -1
  693. package/webworker/zkProofWorker/zkProofWorker.types.d.ts +3 -13
  694. package/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
  695. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  696. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  697. package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +1 -5
  698. package/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
  699. package/webworker/zkProofWorkerNode.cjs +1 -0
  700. package/API/solana-calls.cjs +0 -1
  701. package/API/solana-calls.d.ts +0 -38
  702. package/API/solana-calls.mjs +0 -8
  703. package/constants/non-circular-tokens.constants.cjs +0 -1
  704. package/constants/non-circular-tokens.constants.d.ts +0 -1
  705. package/constants/non-circular-tokens.constants.mjs +0 -4
  706. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +0 -1
  707. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +0 -3
  708. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +0 -15
  709. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +0 -1
  710. package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +0 -4
  711. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -18
  712. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +0 -1
  713. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +0 -35
  714. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -75
  715. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +0 -1
  716. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +0 -30
  717. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +0 -81
  718. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +0 -1
  719. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +0 -35
  720. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -76
  721. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +0 -1
  722. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +0 -2
  723. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +0 -13
  724. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +0 -1
  725. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.d.ts +0 -8
  726. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -29
  727. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +0 -1
  728. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.d.ts +0 -8
  729. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +0 -30
  730. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +0 -1
  731. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +0 -8
  732. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -26
  733. package/externalABIs/transactionsProver.json.cjs +0 -1
  734. package/externalABIs/transactionsProver.json.mjs +0 -43
  735. package/functions/pre-transaction/getKycAndSignatureData.cjs +0 -1
  736. package/functions/pre-transaction/getKycAndSignatureData.d.ts +0 -5
  737. package/functions/pre-transaction/getKycAndSignatureData.mjs +0 -12
  738. package/functions/pre-transaction/getSignatureDataForTransact.cjs +0 -1
  739. package/functions/pre-transaction/getSignatureDataForTransact.d.ts +0 -3
  740. package/functions/pre-transaction/getSignatureDataForTransact.mjs +0 -6
  741. package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
  742. package/functions/pre-transaction/initTokenLimitIfNeeded.d.ts +0 -3
  743. package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -17
  744. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +0 -1
  745. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +0 -10
  746. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +0 -22
  747. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +0 -1
  748. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +0 -6
  749. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +0 -11
  750. package/functions/snarkjs/constructEmporiumProof.cjs +0 -1
  751. package/functions/snarkjs/constructEmporiumProof.d.ts +0 -13
  752. package/functions/snarkjs/constructEmporiumProof.mjs +0 -74
  753. package/functions/utils/processUseApprovalUtxoData.cjs +0 -1
  754. package/functions/utils/processUseApprovalUtxoData.d.ts +0 -3
  755. package/functions/utils/processUseApprovalUtxoData.mjs +0 -13
  756. package/functions/web3/events/balanceChangedCustomHandler.cjs +0 -1
  757. package/functions/web3/events/balanceChangedCustomHandler.d.ts +0 -2
  758. package/functions/web3/events/balanceChangedCustomHandler.mjs +0 -9
  759. package/functions/web3/events/getApprovedBalance.cjs +0 -1
  760. package/functions/web3/events/getApprovedBalance.d.ts +0 -6
  761. package/functions/web3/events/getApprovedBalance.mjs +0 -37
  762. package/functions/web3/functionCalls/accessTokenCalls.cjs +0 -1
  763. package/functions/web3/functionCalls/accessTokenCalls.d.ts +0 -2
  764. package/functions/web3/functionCalls/accessTokenCalls.mjs +0 -19
  765. package/functions/web3/tron-wagmi-adapter.cjs +0 -1
  766. package/functions/web3/tron-wagmi-adapter.d.ts +0 -8
  767. package/functions/web3/tron-wagmi-adapter.mjs +0 -27
  768. package/providers/CustomEthersProvider.d.ts +0 -10
  769. package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +0 -1
  770. package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +0 -30
  771. package/webworker/utxoWorker/utxoWorkerLogic.cjs +0 -1
  772. package/webworker/utxoWorker/utxoWorkerLogic.mjs +0 -69
  773. package/webworker/workerProxy.cjs +0 -1
  774. package/webworker/workerProxy.mjs +0 -33
  775. package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +0 -1
  776. package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +0 -45
@@ -0,0 +1 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/circom-data.types.cjs`),t=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),n=require(`./prepareDepositOnChainUtxosZkProof.cjs`);let r=require(`ethers`);var i=async(i,a,o,s,c,l)=>{let{zkCallData:u,circomData:d,dimData:f,totalAmount:p,utxoAmounts:m,hinkalWrapperAddress:h,hinkalWrapperABI:g}=await n.prepareDepositOnChainUtxosZkProof(i,a,o,s,c,{hookData:{...e.defaultHookData,preHookMetadata:r.ethers.hexlify(r.ethers.toUtf8Bytes(JSON.stringify({orderId:l})))}});return{unsignedTx:await t.buildTronUnsignedTransactTransaction(i,a,p,o,u,d,f,h,g),utxoAmounts:m}};exports.hinkalPalTronDepositPrepare=i;
@@ -0,0 +1,9 @@
1
+ import { IHinkal } from './IHinkal';
2
+ import { ERC20Token } from '../../types';
3
+ import { FeeStructure } from '../../types/hinkal.types';
4
+ import { Types as TronWebTypes } from 'tronweb';
5
+ export type PalTronDepositPrepareResult = {
6
+ unsignedTx: TronWebTypes.Transaction;
7
+ utxoAmounts: bigint[];
8
+ };
9
+ export declare const hinkalPalTronDepositPrepare: (hinkal: IHinkal, chainId: number, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalTronDepositPrepareResult>;
@@ -0,0 +1,17 @@
1
+ import { defaultHookData as e } from "../../types/circom-data.types.mjs";
2
+ import { buildTronUnsignedTransactTransaction as t } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
3
+ import { prepareDepositOnChainUtxosZkProof as n } from "./prepareDepositOnChainUtxosZkProof.mjs";
4
+ import { ethers as r } from "ethers";
5
+ //#region libs/shared/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.ts
6
+ var i = async (i, a, o, s, c, l) => {
7
+ let { zkCallData: u, circomData: d, dimData: f, totalAmount: p, utxoAmounts: m, hinkalWrapperAddress: h, hinkalWrapperABI: g } = await n(i, a, o, s, c, { hookData: {
8
+ ...e,
9
+ preHookMetadata: r.hexlify(r.toUtf8Bytes(JSON.stringify({ orderId: l })))
10
+ } });
11
+ return {
12
+ unsignedTx: await t(i, a, p, o, u, d, f, h, g),
13
+ utxoAmounts: m
14
+ };
15
+ };
16
+ //#endregion
17
+ export { i as hinkalPalTronDepositPrepare };
@@ -1 +1 @@
1
- const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/pre-transaction/outputApprovalDataProcessing.cjs`);require(`../../error-handling/index.cjs`);const f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../AccountActions/AccountActions.cjs`),m=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/utils/involves-permit2-op.cjs`),v=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),y=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),b=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),x=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),S=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),C=require(`./handleAutoDepositBack.cjs`);var w=async(e,t,n,r,i,a,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],f=[],p=c.getCurrentTimeInSeconds().toString();for(let o=0;o<n.length;o+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[o],r[o],p,void 0,!1);f.push(n);let{useApprovalUtxoData:c}=d.outputApprovalDataProcessing(e,t,s[o],r[o]);c&&(i.doPreTxApproval=!0,i.useApprovalUtxoData[o]=c,i.interactionAddress=a,i.inHinkalAddress=e.userKeys.getInHinkalAddress(a))}return o&&m.recipientUtxoProcessing(o,f,r,p),{inputUtxosArray:s,outputUtxosArray:f}},T=async(c,l,u,d,m,T,E,D,O,k,A,j=!1,M,N,P)=>{if(P&&!o.isValidPrivateAddress(P.recipientInfo))throw Error(s.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(E.length>0&&!D)throw Error(`Subaccount is required for private wallet transactions`);let F=u.map(e=>e.erc20TokenAddress),I=await c.getEthereumAddressByChain(l),L=D?p.AccountActions.getAddressFromSubAccount(l,D):void 0,{contractData:R}=n.networkRegistry[l],{emporiumAddress:z}=R;if(!z)throw Error(`No Emporium Address Provided`);let B=k??await h.getFeeStructure(l,O,F,t.ExternalActionId.Emporium,T.map(e=>v.convertEmporiumOpToCallInfo(e,L??``,l)));for(L?await S.mergeWithFeeStructureEmporium(c,l,L,T,F,d,B,E.find(e=>a.caseInsensitiveEqual(e.token.erc20TokenAddress,B.feeToken))?.amount??0n):x.mergeWithFeeStructure(l,F,d,B);m.length<F.length;)m.push(!1);let V=r.defaultHinkalLogicArgs(d.length,c.userKeys),[{inputUtxosArray:H,outputUtxosArray:U},W,{patchAccessTokenMerkleTree:G,signatureData:K}]=await Promise.all([w(c,l,F,d,V,z,P),A??await c.getRandomRelay(l,!0),g.getKycAndSignatureData(c,l,F,d,I)]);if(!W)throw Error(s.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let q=D?p.AccountActions.getPrivateKeyFromSubAccount(l,D):void 0,{zkCallData:J,circomData:Y,dimData:X,authorizationData:Z}=await y.constructEmporiumProof(c.merkleTreeHinkalByChain[l],c.merkleTreeAccessTokenByChain[l],F,F.map(()=>0),H,U,c.userKeys,d.length,H.length>0?H[0].length:0,z,T,c.generateProofRemotely,W,l,m,void 0,q,V,G,void 0,B,c.getContractWithFetcher(l,e.ContractType.HinkalHelperContract),K),Q=await b.transactCallRelayer(l,J,X,Y,_.uniswapWorkaround(T),Z,f.constructAdminData(N,l,E.map(e=>e.token.erc20TokenAddress),E.map(e=>e.amount),I,N===i.AdminTransactionType.PublicSwap?E.map(({token:e})=>e):void 0));return j&&D&&C.handleAutoDepositBack(c,l,L,D,B.feeToken,M,E,Y),Q};exports.hinkalPrivateWallet=T;
1
+ const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../functions/utils/addresses.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`);require(`../../error-handling/index.cjs`);const l=require(`../../functions/pre-transaction/constructAdminData.cjs`),u=require(`../AccountActions/AccountActions.cjs`),d=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const m=require(`../../functions/utils/involves-permit2-op.cjs`),h=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),g=require(`../../functions/private-wallet/emporium.helpers.cjs`),_=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),x=require(`./handleAutoDepositBack.cjs`);var S=async(e,t,n,r,i)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r)],l=[],u=o.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,a[t],r[t],u);l.push(n)}return i&&d.recipientUtxoProcessing(i,l,r,u),{inputUtxosArray:a,outputUtxosArray:l}},C=async(o,s,c,d,C,w,T,E,D,O,k,A=!1,j,M,N)=>{if(N&&!i.isValidPrivateAddress(N.recipientInfo))throw Error(a.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(T.length>0&&!E)throw Error(`Subaccount is required for private wallet transactions`);let P=c.map(e=>e.erc20TokenAddress),F=await o.getEthereumAddressByChain(s),I=E?u.AccountActions.getAddressFromSubAccount(s,E):void 0,{contractData:L}=t.networkRegistry[s],{emporiumAddress:R}=L;if(!R)throw Error(`No Emporium Address Provided`);let z=O??await f.getFeeStructure(s,D,P,e.ExternalActionId.Emporium,w.map(e=>h.convertEmporiumOpToCallInfo(e,I??``,s)));for(I?await b.mergeWithFeeStructureEmporium(o,s,I,w,P,d,z,T.find(e=>r.caseInsensitiveEqual(e.token.erc20TokenAddress,z.feeToken))?.amount??0n):y.mergeWithFeeStructure(s,P,d,z);C.length<P.length;)C.push(!1);let[{inputUtxosArray:B,outputUtxosArray:V},H]=await Promise.all([S(o,s,P,d,N),k??await o.getRandomRelay(s,!0)]);if(!H)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let U=E?u.AccountActions.getPrivateKeyFromSubAccount(s,E):void 0,[{zkCallData:W,circomData:G,dimData:K},q,J]=await Promise.all([_.constructZkProof(o.merkleTreeHinkalByChain[s],B,V,o.userKeys,e.ExternalActionId.Emporium,R,w,o.generateProofRemotely,z,H,s,C,void 0,void 0,U),g.getAuthorizationDataIfNeeded(s,U),p.buildCommitmentValidationData(s,o.userKeys,P,B)]),Y=await v.transactCallRelayer(s,W,K,G,J,m.uniswapWorkaround(w),q,l.constructAdminData(M,s,T.map(e=>e.token.erc20TokenAddress),T.map(e=>e.amount),F,M===n.AdminTransactionType.PublicSwap?T.map(({token:e})=>e):void 0));return A&&E&&x.handleAutoDepositBack(o,s,I,E,z.feeToken,j,T,G),Y};exports.hinkalPrivateWallet=C;
@@ -1,57 +1,53 @@
1
- import { ContractType as e } from "../../types/ethereum-network.types.mjs";
2
- import { ExternalActionId as t } from "../../types/external-action.types.mjs";
3
- import { networkRegistry as n } from "../../constants/chains.constants.mjs";
4
- import { defaultHinkalLogicArgs as r } from "../../types/hinkal.types.mjs";
5
- import { AdminTransactionType as i } from "../../types/admin.types.mjs";
6
- import { caseInsensitiveEqual as a } from "../../functions/utils/caseInsensitive.utils.mjs";
7
- import { isValidPrivateAddress as o } from "../../functions/utils/addresses.mjs";
8
- import { transactionErrorCodes as s } from "../../error-handling/error-codes.constants.mjs";
9
- import { getCurrentTimeInSeconds as c } from "../../functions/utils/time.utils.mjs";
10
- import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
11
- import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
12
- import { outputApprovalDataProcessing as d } from "../../functions/pre-transaction/outputApprovalDataProcessing.mjs";
1
+ import { ExternalActionId as e } from "../../types/external-action.types.mjs";
2
+ import { networkRegistry as t } from "../../constants/chains.constants.mjs";
3
+ import { AdminTransactionType as n } from "../../types/admin.types.mjs";
4
+ import { caseInsensitiveEqual as r } from "../../functions/utils/caseInsensitive.utils.mjs";
5
+ import { isValidPrivateAddress as i } from "../../functions/utils/addresses.mjs";
6
+ import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
7
+ import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
8
+ import { addPaddingToUtxos as s } from "../../functions/web3/events/getShieldedBalance.mjs";
9
+ import { outputUtxoProcessing as c } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
13
10
  import "../../error-handling/index.mjs";
14
- import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
15
- import { AccountActions as p } from "../AccountActions/AccountActions.mjs";
16
- import { recipientUtxoProcessing as m } from "../../functions/pre-transaction/recipientUtxoProcessing.mjs";
17
- import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStructure.mjs";
18
- import { getKycAndSignatureData as g } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
11
+ import { constructAdminData as l } from "../../functions/pre-transaction/constructAdminData.mjs";
12
+ import { AccountActions as u } from "../AccountActions/AccountActions.mjs";
13
+ import { recipientUtxoProcessing as d } from "../../functions/pre-transaction/recipientUtxoProcessing.mjs";
14
+ import { getFeeStructure as f } from "../../functions/pre-transaction/getFeeStructure.mjs";
15
+ import { buildCommitmentValidationData as p } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
19
16
  import "../../functions/pre-transaction/index.mjs";
20
- import { uniswapWorkaround as _ } from "../../functions/utils/involves-permit2-op.mjs";
21
- import { convertEmporiumOpToCallInfo as v } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
22
- import { constructEmporiumProof as y } from "../../functions/snarkjs/constructEmporiumProof.mjs";
23
- import { transactCallRelayer as b } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
24
- import { mergeWithFeeStructure as x } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
25
- import { mergeWithFeeStructureEmporium as S } from "../../functions/pre-transaction/merge-with-fee-structure-emporium.mjs";
26
- import { handleAutoDepositBack as C } from "./handleAutoDepositBack.mjs";
17
+ import { uniswapWorkaround as m } from "../../functions/utils/involves-permit2-op.mjs";
18
+ import { convertEmporiumOpToCallInfo as h } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
19
+ import { getAuthorizationDataIfNeeded as g } from "../../functions/private-wallet/emporium.helpers.mjs";
20
+ import { constructZkProof as _ } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
21
+ import { transactCallRelayer as v } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
22
+ import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
23
+ import { mergeWithFeeStructureEmporium as b } from "../../functions/pre-transaction/merge-with-fee-structure-emporium.mjs";
24
+ import { handleAutoDepositBack as x } from "./handleAutoDepositBack.mjs";
27
25
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalPrivateWallet.ts
28
- var w = async (e, t, n, r, i, a, o) => {
29
- let s = [...await l(e, t, n, r)], f = [], p = c().toString();
30
- for (let o = 0; o < n.length; o += 1) {
31
- let { outputUtxos: n } = u(e.userKeys, s[o], r[o], p, void 0, !1);
32
- f.push(n);
33
- let { useApprovalUtxoData: c } = d(e, t, s[o], r[o]);
34
- c && (i.doPreTxApproval = !0, i.useApprovalUtxoData[o] = c, i.interactionAddress = a, i.inHinkalAddress = e.userKeys.getInHinkalAddress(a));
26
+ var S = async (e, t, n, r, i) => {
27
+ let a = [...await s(e, t, n, r)], l = [], u = o().toString();
28
+ for (let t = 0; t < n.length; t += 1) {
29
+ let { outputUtxos: n } = c(e.userKeys, a[t], r[t], u);
30
+ l.push(n);
35
31
  }
36
- return o && m(o, f, r, p), {
37
- inputUtxosArray: s,
38
- outputUtxosArray: f
32
+ return i && d(i, l, r, u), {
33
+ inputUtxosArray: a,
34
+ outputUtxosArray: l
39
35
  };
40
- }, T = async (c, l, u, d, m, T, E, D, O, k, A, j = !1, M, N, P) => {
41
- if (P && !o(P.recipientInfo)) throw Error(s.RECIPIENT_FORMAT_INCORRECT);
42
- if (E.length > 0 && !D) throw Error("Subaccount is required for private wallet transactions");
43
- let F = u.map((e) => e.erc20TokenAddress), I = await c.getEthereumAddressByChain(l), L = D ? p.getAddressFromSubAccount(l, D) : void 0, { contractData: R } = n[l], { emporiumAddress: z } = R;
44
- if (!z) throw Error("No Emporium Address Provided");
45
- let B = k ?? await h(l, O, F, t.Emporium, T.map((e) => v(e, L ?? "", l)));
46
- for (L ? await S(c, l, L, T, F, d, B, E.find((e) => a(e.token.erc20TokenAddress, B.feeToken))?.amount ?? 0n) : x(l, F, d, B); m.length < F.length;) m.push(!1);
47
- let V = r(d.length, c.userKeys), [{ inputUtxosArray: H, outputUtxosArray: U }, W, { patchAccessTokenMerkleTree: G, signatureData: K }] = await Promise.all([
48
- w(c, l, F, d, V, z, P),
49
- A ?? await c.getRandomRelay(l, !0),
50
- g(c, l, F, d, I)
51
- ]);
52
- if (!W) throw Error(s.RELAYER_NOT_AVAILABLE);
53
- let q = D ? p.getPrivateKeyFromSubAccount(l, D) : void 0, { zkCallData: J, circomData: Y, dimData: X, authorizationData: Z } = await y(c.merkleTreeHinkalByChain[l], c.merkleTreeAccessTokenByChain[l], F, F.map(() => 0), H, U, c.userKeys, d.length, H.length > 0 ? H[0].length : 0, z, T, c.generateProofRemotely, W, l, m, void 0, q, V, G, void 0, B, c.getContractWithFetcher(l, e.HinkalHelperContract), K), Q = await b(l, J, X, Y, _(T), Z, f(N, l, E.map((e) => e.token.erc20TokenAddress), E.map((e) => e.amount), I, N === i.PublicSwap ? E.map(({ token: e }) => e) : void 0));
54
- return j && D && C(c, l, L, D, B.feeToken, M, E, Y), Q;
36
+ }, C = async (o, s, c, d, C, w, T, E, D, O, k, A = !1, j, M, N) => {
37
+ if (N && !i(N.recipientInfo)) throw Error(a.RECIPIENT_FORMAT_INCORRECT);
38
+ if (T.length > 0 && !E) throw Error("Subaccount is required for private wallet transactions");
39
+ let P = c.map((e) => e.erc20TokenAddress), F = await o.getEthereumAddressByChain(s), I = E ? u.getAddressFromSubAccount(s, E) : void 0, { contractData: L } = t[s], { emporiumAddress: R } = L;
40
+ if (!R) throw Error("No Emporium Address Provided");
41
+ let z = O ?? await f(s, D, P, e.Emporium, w.map((e) => h(e, I ?? "", s)));
42
+ for (I ? await b(o, s, I, w, P, d, z, T.find((e) => r(e.token.erc20TokenAddress, z.feeToken))?.amount ?? 0n) : y(s, P, d, z); C.length < P.length;) C.push(!1);
43
+ let [{ inputUtxosArray: B, outputUtxosArray: V }, H] = await Promise.all([S(o, s, P, d, N), k ?? await o.getRandomRelay(s, !0)]);
44
+ if (!H) throw Error(a.RELAYER_NOT_AVAILABLE);
45
+ let U = E ? u.getPrivateKeyFromSubAccount(s, E) : void 0, [{ zkCallData: W, circomData: G, dimData: K }, q, J] = await Promise.all([
46
+ _(o.merkleTreeHinkalByChain[s], B, V, o.userKeys, e.Emporium, R, w, o.generateProofRemotely, z, H, s, C, void 0, void 0, U),
47
+ g(s, U),
48
+ p(s, o.userKeys, P, B)
49
+ ]), Y = await v(s, W, K, G, J, m(w), q, l(M, s, T.map((e) => e.token.erc20TokenAddress), T.map((e) => e.amount), F, M === n.PublicSwap ? T.map(({ token: e }) => e) : void 0));
50
+ return A && E && x(o, s, I, E, z.feeToken, j, T, G), Y;
55
51
  };
56
52
  //#endregion
57
- export { T as hinkalPrivateWallet };
53
+ export { C as hinkalPrivateWallet };
@@ -1 +1 @@
1
- const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../externalABIs/index.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/web3/etherFunctions.cjs`),s=require(`../../API/admin-calls.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/getContractAddress.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../error-handling/logger.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/snarkjs/common.snarkjs.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/utils/tx-confirmation.utils.cjs`),g=require(`../../functions/utils/tronSimulation.utils.cjs`),_=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),v=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`);var y=(e,t)=>{let n=[],r=0;for(let i=0;i<e.length;i+=1){let a=!1;for(let o=0;o<r;o+=1)if(f.isSameERC20Token(n[o].token,e[i])){n[o].balance+=t[i],a=!0;break}a||(n[r]={token:e[i],balance:t[i]},r+=1)}return n},b=async(t,i,a,o)=>{for(let s=0;s<o.length;s+=1)r.caseInsensitiveEqual(o[s].token.erc20TokenAddress,n.zeroAddress)||await h.waitForEthereumTransactionConfirmation(i,(await t.getContractWithSigner(i,e.ContractType.ERC20Contract,o[s].token.erc20TokenAddress).approve(a,o[s].balance)).hash)},x=async(e,t,r,a)=>{let o=Array.from(a.entries());for(let a=0;a<o.length;a+=1){let[s,c]=o[a],l=await e.contract(i.ERC20ABI,s).allowance(t,r).call({from:t});if(BigInt(String(l))<c){let{transaction:i}=await e.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:r},{type:`uint256`,value:c.toString()}],t),a=await e.trx.sign(i),o=await e.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}}}},S=e=>{let t=new Set;e.forEach(({extraRandomization:e,stealthAddress:n})=>{let r=`${e.toString()}:${n.toString()}`;if(t.has(r))throw Error(`Duplicate randomization and stealth address pair detected in stealthAddressStructures`);t.add(r)})},C=async(e,i,o,s,c)=>{let l=e.getTronWeb(),{hinkalAddress:f}=t.networkRegistry[i].contractData,p=u.evmHexToTronBase58Address(f),m=await e.getEthereumAddressByChain(i),h=o.map(e=>e.erc20TokenAddress),_=o.map(()=>0n),y=0n,b=new Map;for(let e=0;e<o.length;e+=1){let t=u.evmHexToTronBase58Address(o[e].erc20TokenAddress);if(r.caseInsensitiveEqual(o[e].erc20TokenAddress,n.zeroAddress))y+=s[e];else{let n=b.get(t)??0n;b.set(t,n+s[e])}}await x(l,m,p,b),await v.waitForTronErc20Approvals(l,m,p,Array.from(b.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t})));let S=c.map(e=>({extraRandomization:e.extraRandomization.toString(),stealthAddress:e.stealthAddress.toString(),H0:e.H0.toString(),H1:e.H1.toString()}));if(await g.simulateTronTransaction(i,p,`prooflessDeposit`,t.networkRegistry[i].contractData.hinkalABI,[h,s.map(String),_.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])],m,y>0n?y:void 0),y>0n){let e=BigInt(await l.trx.getBalance(m)),r=BigInt(n.TRON_DEFAULT_FEE_LIMIT_SUN);try{let{hinkalABI:e}=t.networkRegistry[i].contractData;if(!e)throw Error(`Hinkal ABI not found`);r=await u.estimateTronFeeSunWithPadding(l,i,p,m,u.createTronCallData(e,`prooflessDeposit`,[h,s.map(String),_.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])]),y)}catch(e){d.Logger.error(`Error estimating Tron prooflessDeposit fee`,e)}if(e<y+r)throw Error(a.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let{transaction:C}=await l.transactionBuilder.triggerSmartContract(p,`prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:y>0n?Number(y):0},[{type:`address[]`,value:h},{type:`uint256[]`,value:s.map(String)},{type:`uint256[]`,value:_.map(String)},{type:`tuple(uint256,uint256,uint256,uint256)[]`,value:S.map(e=>[e.extraRandomization,e.stealthAddress,e.H0,e.H1])}],m),w=await l.trx.sign(C),T=await l.trx.sendRawTransaction(w);if(!T.result)throw Error(`Tron prooflessDeposit broadcast failed`);let E=typeof T==`string`?T:T?.txid??T?.transaction?.txID??T?.transaction?.txID;if(!E)throw Error(`Tron prooflessDeposit failed (missing txid)`);return E},w=async(i,a,u,d,h)=>{let g=f.validateAndGetChainId(a),x=t.isTronLike(g),w=await i.getEthereumAddressByChain(g),T=i.userKeys.getShieldedPrivateKey(),E=d??a.map(()=>p.calcStealthAddressStructure(c.Utxo.findCorrectRandomization(o.randomBigInt(31),T),T));if(E.length!==a.length)throw Error(`Stealth address structures length must be equal to erc20 tokens length`);S(E);let D;if(x)D=await C(i,g,a,u,E);else{let t=i.getContractWithSigner(g,e.ContractType.HinkalContract),o=i.getProviderAdapter(g),s=y(a,u),c=a.reduce((e,t,i)=>r.caseInsensitiveEqual(t.erc20TokenAddress,n.zeroAddress)?e+u[i]:e,0n),d=s.filter(({token:e,balance:t})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,n.zeroAddress)&&t>0n),f;if(d.length>0&&await o.supportsBatchCall?.(g)&&o.sendBatchCallsTransaction){let e=_.buildApproveAndProoflessDepositCalls(d.map(({token:e})=>e.erc20TokenAddress),d.map(({balance:e})=>e),l.getContractAddress(t),t,a.map(({erc20TokenAddress:e})=>e),u,a.map(()=>0n),E,c);f=await o.sendBatchCallsTransaction(g,e)}else{await b(i,g,l.getContractAddress(t),s);let e=await i.getEthereumAddressByChain(g),n=s.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}));await v.waitForErc20Approvals(i,g,e,l.getContractAddress(t),n),f=await t.prooflessDeposit(a.map(({erc20TokenAddress:e})=>e),u,a.map(()=>0n),E,{value:c>0n?c:void 0})}D=f.hash}return s.emitTxPublicData(m.constructAdminData(h,g,a.map(({erc20TokenAddress:e})=>e),u,w)),D};exports.hinkalProoflessDeposit=w;
1
+ const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../API/admin-calls.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/pre-transaction/constructAdminData.cjs`),l=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),u=require(`../../functions/utils/getContractAddress.cjs`),d=require(`../../functions/utils/tronSimulation.utils.cjs`),f=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),p=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`),h=require(`./hinkalProoflessDepositViaWrapper.cjs`);var g=async(e,r,i,s,c,l=!1)=>{let u=e.getTronWeb(),{hinkalAddress:f}=t.networkRegistry[r].contractData,h=o.evmHexToTronBase58Address(f),g=await e.getEthereumAddressByChain(r),_=i.map(e=>e.erc20TokenAddress),v=i.map(()=>0n),{totalTrxValue:y,tokensNeedingApproval:b}=o.splitTronTokensByNative(i,s),x=c.map(e=>({extraRandomization:e.extraRandomization.toString(),stealthAddress:e.stealthAddress.toString(),H0:e.H0.toString(),H1:e.H1.toString()}));if(y>0n){let{hinkalABI:e}=t.networkRegistry[r].contractData;if(!e)throw Error(`Hinkal ABI not found`);await o.assertTronSufficientBalance(u,r,h,g,o.createTronCallData(e,`prooflessDeposit`,[_,s.map(String),v.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])]),y)}let{transaction:S}=await u.transactionBuilder.triggerSmartContract(h,`prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:y>0n?Number(y):0},[{type:`address[]`,value:_},{type:`uint256[]`,value:s.map(String)},{type:`uint256[]`,value:v.map(String)},{type:`tuple(uint256,uint256,uint256,uint256)[]`,value:x.map(e=>[e.extraRandomization,e.stealthAddress,e.H0,e.H1])}],g);if(l)return S;await m.approveTronTokens(u,g,h,b),await p.waitForTronErc20Approvals(u,g,h,Array.from(b.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await d.simulateTronTransaction(r,h,`prooflessDeposit`,t.networkRegistry[r].contractData.hinkalABI,[_,s.map(String),v.map(String),c.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()])],g,y>0n?y:void 0);let C=await u.trx.sign(S),w=await u.trx.sendRawTransaction(C);if(!w.result)throw a.Logger.error(`Tron prooflessDeposit broadcast failed`,w),Error(`Tron prooflessDeposit broadcast failed`);let T=typeof w==`string`?w:w?.txid??w?.transaction?.txID;if(!T)throw Error(`Tron prooflessDeposit failed (missing txid)`);return T},_=async(a,o,d,h,_,v=!1)=>{let y=s.validateAndGetChainId(o),b=t.isTronLike(y),x=await a.getEthereumAddressByChain(y),S=h??o.map(()=>l.getStealthAddressStructureFromUserKeys(a.userKeys));if(S.length!==o.length)throw Error(`Stealth address structures length must be equal to erc20 tokens length`);m.assertNoDuplicateStealthAddressStructures(S);let C;if(b){let e=await g(a,y,o,d,S,v);if(v)return e;C=e}else{let t=a.getContractWithSigner(y,e.ContractType.HinkalContract),i=[o.map(({erc20TokenAddress:e})=>e),d,o.map(()=>0n),S];if(v)return t.prooflessDeposit.populateTransaction(...i);let s=a.getProviderAdapter(y),c=m.aggregateAmountsForApproval(o,d),l=o.reduce((e,t,i)=>r.caseInsensitiveEqual(t.erc20TokenAddress,n.zeroAddress)?e+d[i]:e,0n),h=c.filter(({token:e,balance:t})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,n.zeroAddress)&&t>0n),g;if(h.length>0&&await s.supportsBatchCall?.(y)&&s.sendBatchCallsTransaction){let e=f.buildApproveAndProoflessDepositCalls(h.map(({token:e})=>e.erc20TokenAddress),h.map(({balance:e})=>e),u.getContractAddress(t),t,...i,l);g=await s.sendBatchCallsTransaction(y,e)}else{await m.approveTokens(a,y,u.getContractAddress(t),c);let e=await a.getEthereumAddressByChain(y),n=c.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}));await p.waitForErc20Approvals(a,y,e,u.getContractAddress(t),n),g=await t.prooflessDeposit(...i,{value:l>0n?l:void 0})}C=g.hash}return i.emitTxPublicData(c.constructAdminData(_,y,o.map(({erc20TokenAddress:e})=>e),d,x)),C},v=async(e,n,r,i,a,o,s)=>{let c=i.map(()=>r),l=r.erc20TokenAddress;return t.isTronLike(n)?h.hinkalTronProoflessDepositViaWrapper(e,n,l,o,c,i,a,s):t.networkRegistry[n]?.contractData?.hinkalWrapperAddress?h.hinkalEvmProoflessDepositViaWrapper(e,n,l,o,c,i,a,s):await _(e,c,i,a,s,!0)};exports.hinkalProoflessDeposit=_,exports.hinkalProoflessDepositWithPublicFee=v;
@@ -1,5 +1,8 @@
1
+ import { ethers } from 'ethers';
2
+ import { Types as TronWebTypes } from 'tronweb';
1
3
  import { ERC20Token } from '../../types/token.types';
2
4
  import { IHinkal } from './IHinkal';
3
5
  import { StealthAddressStructure } from '../../types/circom-data.types';
4
6
  import { AdminTransactionType } from '../../types/admin.types';
5
- export declare const hinkalProoflessDeposit: (hinkal: IHinkal, erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructuresOverride?: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;
7
+ export declare const hinkalProoflessDeposit: (hinkal: IHinkal, erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructuresOverride?: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean) => Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
8
+ export declare const hinkalProoflessDepositWithPublicFee: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType) => Promise<string>;
@@ -2,117 +2,44 @@ import { ContractType as e } from "../../types/ethereum-network.types.mjs";
2
2
  import { isTronLike as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
3
3
  import { TRON_DEFAULT_FEE_LIMIT_SUN as r, zeroAddress as i } from "../../constants/protocol.constants.mjs";
4
4
  import { caseInsensitiveEqual as a } from "../../functions/utils/caseInsensitive.utils.mjs";
5
- import { ERC20ABI as o } from "../../externalABIs/index.mjs";
6
- import { insufficientResourcesErrorCodes as s } from "../../error-handling/error-codes.constants.mjs";
7
- import { randomBigInt as c } from "../../functions/web3/etherFunctions.mjs";
8
- import { emitTxPublicData as l } from "../../API/admin-calls.mjs";
9
- import { Utxo as u } from "../utxo/Utxo.mjs";
10
- import { getContractAddress as d } from "../../functions/utils/getContractAddress.mjs";
11
- import { createTronCallData as f, estimateTronFeeSunWithPadding as p, evmHexToTronBase58Address as m } from "../../functions/utils/tron.utils.mjs";
12
- import { Logger as h } from "../../error-handling/logger.mjs";
13
- import { isSameERC20Token as g, validateAndGetChainId as _ } from "../../functions/utils/token-check.utils.mjs";
14
- import { calcStealthAddressStructure as v } from "../../functions/snarkjs/common.snarkjs.mjs";
15
- import { constructAdminData as y } from "../../functions/pre-transaction/constructAdminData.mjs";
16
- import { waitForEthereumTransactionConfirmation as b } from "../../functions/utils/tx-confirmation.utils.mjs";
17
- import { simulateTronTransaction as x } from "../../functions/utils/tronSimulation.utils.mjs";
18
- import { buildApproveAndProoflessDepositCalls as S } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
19
- import { waitForErc20Approvals as C, waitForTronErc20Approvals as w } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
5
+ import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
6
+ import { Logger as s } from "../../error-handling/logger.mjs";
7
+ import { assertTronSufficientBalance as c, createTronCallData as l, evmHexToTronBase58Address as u, splitTronTokensByNative as d } from "../../functions/utils/tron.utils.mjs";
8
+ import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
9
+ import { constructAdminData as p } from "../../functions/pre-transaction/constructAdminData.mjs";
10
+ import { getStealthAddressStructureFromUserKeys as m } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
11
+ import { getContractAddress as h } from "../../functions/utils/getContractAddress.mjs";
12
+ import { simulateTronTransaction as g } from "../../functions/utils/tronSimulation.utils.mjs";
13
+ import { buildApproveAndProoflessDepositCalls as _ } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
14
+ import { waitForErc20Approvals as v, waitForTronErc20Approvals as y } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
15
+ import { aggregateAmountsForApproval as b, approveTokens as x, approveTronTokens as S, assertNoDuplicateStealthAddressStructures as C } from "./hinkalProoflessDeposit.utils.mjs";
16
+ import { hinkalEvmProoflessDepositViaWrapper as w, hinkalTronProoflessDepositViaWrapper as T } from "./hinkalProoflessDepositViaWrapper.mjs";
20
17
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
21
- var T = (e, t) => {
22
- let n = [], r = 0;
23
- for (let i = 0; i < e.length; i += 1) {
24
- let a = !1;
25
- for (let o = 0; o < r; o += 1) if (g(n[o].token, e[i])) {
26
- n[o].balance += t[i], a = !0;
27
- break;
28
- }
29
- a || (n[r] = {
30
- token: e[i],
31
- balance: t[i]
32
- }, r += 1);
33
- }
34
- return n;
35
- }, E = async (t, n, r, o) => {
36
- for (let s = 0; s < o.length; s += 1) a(o[s].token.erc20TokenAddress, i) || await b(n, (await t.getContractWithSigner(n, e.ERC20Contract, o[s].token.erc20TokenAddress).approve(r, o[s].balance)).hash);
37
- }, D = async (e, t, n, i) => {
38
- let a = Array.from(i.entries());
39
- for (let i = 0; i < a.length; i += 1) {
40
- let [s, c] = a[i], l = await e.contract(o, s).allowance(t, n).call({ from: t });
41
- if (BigInt(String(l)) < c) {
42
- let { transaction: i } = await e.transactionBuilder.triggerSmartContract(s, "approve(address,uint256)", { feeLimit: r }, [{
43
- type: "address",
44
- value: n
45
- }, {
46
- type: "uint256",
47
- value: c.toString()
48
- }], t), a = await e.trx.sign(i), o = await e.trx.sendRawTransaction(a);
49
- if (!o.result) {
50
- let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
51
- throw Error(`Tron token approval failed: ${e} - ${t}`);
52
- }
53
- }
54
- }
55
- }, O = (e) => {
56
- let t = /* @__PURE__ */ new Set();
57
- e.forEach(({ extraRandomization: e, stealthAddress: n }) => {
58
- let r = `${e.toString()}:${n.toString()}`;
59
- if (t.has(r)) throw Error("Duplicate randomization and stealth address pair detected in stealthAddressStructures");
60
- t.add(r);
61
- });
62
- }, k = async (e, t, o, c, l) => {
63
- let u = e.getTronWeb(), { hinkalAddress: d } = n[t].contractData, g = m(d), _ = await e.getEthereumAddressByChain(t), v = o.map((e) => e.erc20TokenAddress), y = o.map(() => 0n), b = 0n, S = /* @__PURE__ */ new Map();
64
- for (let e = 0; e < o.length; e += 1) {
65
- let t = m(o[e].erc20TokenAddress);
66
- if (a(o[e].erc20TokenAddress, i)) b += c[e];
67
- else {
68
- let n = S.get(t) ?? 0n;
69
- S.set(t, n + c[e]);
70
- }
71
- }
72
- await D(u, _, g, S), await w(u, _, g, Array.from(S.entries()).map(([e, t]) => ({
73
- tokenAddress: e,
74
- requiredAmount: t
75
- })));
76
- let C = l.map((e) => ({
18
+ var E = async (e, t, i, a, o, f = !1) => {
19
+ let p = e.getTronWeb(), { hinkalAddress: m } = n[t].contractData, h = u(m), _ = await e.getEthereumAddressByChain(t), v = i.map((e) => e.erc20TokenAddress), b = i.map(() => 0n), { totalTrxValue: x, tokensNeedingApproval: C } = d(i, a), w = o.map((e) => ({
77
20
  extraRandomization: e.extraRandomization.toString(),
78
21
  stealthAddress: e.stealthAddress.toString(),
79
22
  H0: e.H0.toString(),
80
23
  H1: e.H1.toString()
81
24
  }));
82
- if (await x(t, g, "prooflessDeposit", n[t].contractData.hinkalABI, [
83
- v,
84
- c.map(String),
85
- y.map(String),
86
- l.map((e) => [
87
- e.extraRandomization.toString(),
88
- e.stealthAddress.toString(),
89
- e.H0.toString(),
90
- e.H1.toString()
91
- ])
92
- ], _, b > 0n ? b : void 0), b > 0n) {
93
- let e = BigInt(await u.trx.getBalance(_)), i = BigInt(r);
94
- try {
95
- let { hinkalABI: e } = n[t].contractData;
96
- if (!e) throw Error("Hinkal ABI not found");
97
- i = await p(u, t, g, _, f(e, "prooflessDeposit", [
98
- v,
99
- c.map(String),
100
- y.map(String),
101
- l.map((e) => [
102
- e.extraRandomization.toString(),
103
- e.stealthAddress.toString(),
104
- e.H0.toString(),
105
- e.H1.toString()
106
- ])
107
- ]), b);
108
- } catch (e) {
109
- h.error("Error estimating Tron prooflessDeposit fee", e);
110
- }
111
- if (e < b + i) throw Error(s.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
25
+ if (x > 0n) {
26
+ let { hinkalABI: e } = n[t].contractData;
27
+ if (!e) throw Error("Hinkal ABI not found");
28
+ await c(p, t, h, _, l(e, "prooflessDeposit", [
29
+ v,
30
+ a.map(String),
31
+ b.map(String),
32
+ o.map((e) => [
33
+ e.extraRandomization.toString(),
34
+ e.stealthAddress.toString(),
35
+ e.H0.toString(),
36
+ e.H1.toString()
37
+ ])
38
+ ]), x);
112
39
  }
113
- let { transaction: T } = await u.transactionBuilder.triggerSmartContract(g, "prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])", {
40
+ let { transaction: T } = await p.transactionBuilder.triggerSmartContract(h, "prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])", {
114
41
  feeLimit: r,
115
- callValue: b > 0n ? Number(b) : 0
42
+ callValue: x > 0n ? Number(x) : 0
116
43
  }, [
117
44
  {
118
45
  type: "address[]",
@@ -120,48 +47,77 @@ var T = (e, t) => {
120
47
  },
121
48
  {
122
49
  type: "uint256[]",
123
- value: c.map(String)
50
+ value: a.map(String)
124
51
  },
125
52
  {
126
53
  type: "uint256[]",
127
- value: y.map(String)
54
+ value: b.map(String)
128
55
  },
129
56
  {
130
57
  type: "tuple(uint256,uint256,uint256,uint256)[]",
131
- value: C.map((e) => [
58
+ value: w.map((e) => [
132
59
  e.extraRandomization,
133
60
  e.stealthAddress,
134
61
  e.H0,
135
62
  e.H1
136
63
  ])
137
64
  }
138
- ], _), E = await u.trx.sign(T), O = await u.trx.sendRawTransaction(E);
139
- if (!O.result) throw Error("Tron prooflessDeposit broadcast failed");
140
- let k = typeof O == "string" ? O : O?.txid ?? O?.transaction?.txID ?? O?.transaction?.txID;
141
- if (!k) throw Error("Tron prooflessDeposit failed (missing txid)");
142
- return k;
143
- }, A = async (n, r, o, s, f) => {
144
- let p = _(r), m = t(p), h = await n.getEthereumAddressByChain(p), g = n.userKeys.getShieldedPrivateKey(), b = s ?? r.map(() => v(u.findCorrectRandomization(c(31), g), g));
145
- if (b.length !== r.length) throw Error("Stealth address structures length must be equal to erc20 tokens length");
146
- O(b);
147
- let x;
148
- if (m) x = await k(n, p, r, o, b);
149
- else {
150
- let t = n.getContractWithSigner(p, e.HinkalContract), s = n.getProviderAdapter(p), c = T(r, o), l = r.reduce((e, t, n) => a(t.erc20TokenAddress, i) ? e + o[n] : e, 0n), u = c.filter(({ token: e, balance: t }) => !a(e.erc20TokenAddress, i) && t > 0n), f;
151
- if (u.length > 0 && await s.supportsBatchCall?.(p) && s.sendBatchCallsTransaction) {
152
- let e = S(u.map(({ token: e }) => e.erc20TokenAddress), u.map(({ balance: e }) => e), d(t), t, r.map(({ erc20TokenAddress: e }) => e), o, r.map(() => 0n), b, l);
153
- f = await s.sendBatchCallsTransaction(p, e);
65
+ ], _);
66
+ if (f) return T;
67
+ await S(p, _, h, C), await y(p, _, h, Array.from(C.entries()).map(([e, t]) => ({
68
+ tokenAddress: e,
69
+ requiredAmount: t
70
+ }))), await g(t, h, "prooflessDeposit", n[t].contractData.hinkalABI, [
71
+ v,
72
+ a.map(String),
73
+ b.map(String),
74
+ o.map((e) => [
75
+ e.extraRandomization.toString(),
76
+ e.stealthAddress.toString(),
77
+ e.H0.toString(),
78
+ e.H1.toString()
79
+ ])
80
+ ], _, x > 0n ? x : void 0);
81
+ let E = await p.trx.sign(T), D = await p.trx.sendRawTransaction(E);
82
+ if (!D.result) throw s.error("Tron prooflessDeposit broadcast failed", D), Error("Tron prooflessDeposit broadcast failed");
83
+ let O = typeof D == "string" ? D : D?.txid ?? D?.transaction?.txID;
84
+ if (!O) throw Error("Tron prooflessDeposit failed (missing txid)");
85
+ return O;
86
+ }, D = async (n, r, s, c, l, u = !1) => {
87
+ let d = f(r), g = t(d), y = await n.getEthereumAddressByChain(d), S = c ?? r.map(() => m(n.userKeys));
88
+ if (S.length !== r.length) throw Error("Stealth address structures length must be equal to erc20 tokens length");
89
+ C(S);
90
+ let w;
91
+ if (g) {
92
+ let e = await E(n, d, r, s, S, u);
93
+ if (u) return e;
94
+ w = e;
95
+ } else {
96
+ let t = n.getContractWithSigner(d, e.HinkalContract), o = [
97
+ r.map(({ erc20TokenAddress: e }) => e),
98
+ s,
99
+ r.map(() => 0n),
100
+ S
101
+ ];
102
+ if (u) return t.prooflessDeposit.populateTransaction(...o);
103
+ let c = n.getProviderAdapter(d), l = b(r, s), f = r.reduce((e, t, n) => a(t.erc20TokenAddress, i) ? e + s[n] : e, 0n), p = l.filter(({ token: e, balance: t }) => !a(e.erc20TokenAddress, i) && t > 0n), m;
104
+ if (p.length > 0 && await c.supportsBatchCall?.(d) && c.sendBatchCallsTransaction) {
105
+ let e = _(p.map(({ token: e }) => e.erc20TokenAddress), p.map(({ balance: e }) => e), h(t), t, ...o, f);
106
+ m = await c.sendBatchCallsTransaction(d, e);
154
107
  } else {
155
- await E(n, p, d(t), c);
156
- let e = await n.getEthereumAddressByChain(p), i = c.map(({ token: e, balance: t }) => ({
108
+ await x(n, d, h(t), l);
109
+ let e = await n.getEthereumAddressByChain(d), r = l.map(({ token: e, balance: t }) => ({
157
110
  tokenAddress: e.erc20TokenAddress,
158
111
  requiredAmount: t
159
112
  }));
160
- await C(n, p, e, d(t), i), f = await t.prooflessDeposit(r.map(({ erc20TokenAddress: e }) => e), o, r.map(() => 0n), b, { value: l > 0n ? l : void 0 });
113
+ await v(n, d, e, h(t), r), m = await t.prooflessDeposit(...o, { value: f > 0n ? f : void 0 });
161
114
  }
162
- x = f.hash;
115
+ w = m.hash;
163
116
  }
164
- return l(y(f, p, r.map(({ erc20TokenAddress: e }) => e), o, h)), x;
117
+ return o(p(l, d, r.map(({ erc20TokenAddress: e }) => e), s, y)), w;
118
+ }, O = async (e, r, i, a, o, s, c) => {
119
+ let l = a.map(() => i), u = i.erc20TokenAddress;
120
+ return t(r) ? T(e, r, u, s, l, a, o, c) : n[r]?.contractData?.hinkalWrapperAddress ? w(e, r, u, s, l, a, o, c) : await D(e, l, a, o, c, !0);
165
121
  };
166
122
  //#endregion
167
- export { A as hinkalProoflessDeposit };
123
+ export { D as hinkalProoflessDeposit, O as hinkalProoflessDepositWithPublicFee };
@@ -0,0 +1 @@
1
+ const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../externalABIs/index.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);var o=(e,t)=>{let n=[],r=0;for(let a=0;a<e.length;a+=1){let o=!1;for(let s=0;s<r;s+=1)if(i.isSameERC20Token(n[s].token,e[a])){n[s].balance+=t[a],o=!0;break}o||(n[r]={token:e[a],balance:t[a]},r+=1)}return n},s=async(r,i,o,s)=>{for(let c=0;c<s.length;c+=1)n.caseInsensitiveEqual(s[c].token.erc20TokenAddress,t.zeroAddress)||await a.waitForEthereumTransactionConfirmation(i,(await r.getContractWithSigner(i,e.ContractType.ERC20Contract,s[c].token.erc20TokenAddress).approve(o,s[c].balance)).hash)},c=async(e,n,i,a)=>{let o=Array.from(a.entries());for(let a=0;a<o.length;a+=1){let[s,c]=o[a],l=await e.contract(r.ERC20ABI,s).allowance(n,i).call({from:n});if(BigInt(String(l))<c){let{transaction:r}=await e.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:i},{type:`uint256`,value:c.toString()}],n),a=await e.trx.sign(r),o=await e.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}}}},l=e=>{let t=new Set;e.forEach(({extraRandomization:e,stealthAddress:n})=>{let r=`${e.toString()}:${n.toString()}`;if(t.has(r))throw Error(`Duplicate randomization and stealth address pair detected in stealthAddressStructures`);t.add(r)})};exports.aggregateAmountsForApproval=o,exports.approveTokens=s,exports.approveTronTokens=c,exports.assertNoDuplicateStealthAddressStructures=l;
@@ -0,0 +1,7 @@
1
+ import { ERC20Token, TokenBalance } from '../../types/token.types';
2
+ import { StealthAddressStructure } from '../../types/circom-data.types';
3
+ import { IHinkal } from './IHinkal';
4
+ export declare const aggregateAmountsForApproval: (erc20Tokens: ERC20Token[], amounts: bigint[]) => TokenBalance[];
5
+ export declare const approveTokens: (hinkal: IHinkal, chainId: number, spenderAddress: string, tokensWithBalances: TokenBalance[]) => Promise<void>;
6
+ export declare const approveTronTokens: (tronWeb: any, ethereumAddress: string, spenderAddress: string, tokensNeedingApproval: Map<string, bigint>) => Promise<void>;
7
+ export declare const assertNoDuplicateStealthAddressStructures: (stealthAddressStructures: StealthAddressStructure[]) => void;
@@ -0,0 +1,51 @@
1
+ import { ContractType as e } from "../../types/ethereum-network.types.mjs";
2
+ import { TRON_DEFAULT_FEE_LIMIT_SUN as t, zeroAddress as n } from "../../constants/protocol.constants.mjs";
3
+ import { caseInsensitiveEqual as r } from "../../functions/utils/caseInsensitive.utils.mjs";
4
+ import { ERC20ABI as i } from "../../externalABIs/index.mjs";
5
+ import { isSameERC20Token as a } from "../../functions/utils/token-check.utils.mjs";
6
+ import { waitForEthereumTransactionConfirmation as o } from "../../functions/utils/tx-confirmation.utils.mjs";
7
+ //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
8
+ var s = (e, t) => {
9
+ let n = [], r = 0;
10
+ for (let i = 0; i < e.length; i += 1) {
11
+ let o = !1;
12
+ for (let s = 0; s < r; s += 1) if (a(n[s].token, e[i])) {
13
+ n[s].balance += t[i], o = !0;
14
+ break;
15
+ }
16
+ o || (n[r] = {
17
+ token: e[i],
18
+ balance: t[i]
19
+ }, r += 1);
20
+ }
21
+ return n;
22
+ }, c = async (t, i, a, s) => {
23
+ for (let c = 0; c < s.length; c += 1) r(s[c].token.erc20TokenAddress, n) || await o(i, (await t.getContractWithSigner(i, e.ERC20Contract, s[c].token.erc20TokenAddress).approve(a, s[c].balance)).hash);
24
+ }, l = async (e, n, r, a) => {
25
+ let o = Array.from(a.entries());
26
+ for (let a = 0; a < o.length; a += 1) {
27
+ let [s, c] = o[a], l = await e.contract(i, s).allowance(n, r).call({ from: n });
28
+ if (BigInt(String(l)) < c) {
29
+ let { transaction: i } = await e.transactionBuilder.triggerSmartContract(s, "approve(address,uint256)", { feeLimit: t }, [{
30
+ type: "address",
31
+ value: r
32
+ }, {
33
+ type: "uint256",
34
+ value: c.toString()
35
+ }], n), a = await e.trx.sign(i), o = await e.trx.sendRawTransaction(a);
36
+ if (!o.result) {
37
+ let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
38
+ throw Error(`Tron token approval failed: ${e} - ${t}`);
39
+ }
40
+ }
41
+ }
42
+ }, u = (e) => {
43
+ let t = /* @__PURE__ */ new Set();
44
+ e.forEach(({ extraRandomization: e, stealthAddress: n }) => {
45
+ let r = `${e.toString()}:${n.toString()}`;
46
+ if (t.has(r)) throw Error("Duplicate randomization and stealth address pair detected in stealthAddressStructures");
47
+ t.add(r);
48
+ });
49
+ };
50
+ //#endregion
51
+ export { s as aggregateAmountsForApproval, c as approveTokens, l as approveTronTokens, u as assertNoDuplicateStealthAddressStructures };
@@ -0,0 +1 @@
1
+ const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../API/admin-calls.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/pre-transaction/constructAdminData.cjs`),l=require(`../../functions/utils/tronSimulation.utils.cjs`),u=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),d=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`),f=require(`./hinkalProoflessDeposit.utils.cjs`);var p=(e,t,i,a)=>{let o=r.caseInsensitiveEqual(e,n.zeroAddress),s=i.reduce((e,t,i)=>r.caseInsensitiveEqual(t.erc20TokenAddress,n.zeroAddress)?e+a[i]:e,0n)+(o?t:0n),c=f.aggregateAmountsForApproval(i,a),l=c.filter(({token:e})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,n.zeroAddress)).map(n=>!o&&r.caseInsensitiveEqual(n.token.erc20TokenAddress,e)?{token:n.token,balance:n.balance+t}:n).filter(({balance:e})=>e>0n);return!o&&t>0n&&(c.some(({token:t})=>r.caseInsensitiveEqual(t.erc20TokenAddress,e))||l.push({token:{erc20TokenAddress:e,chainId:i[0]?.chainId},balance:t})),{tokensForApproval:l,ethValue:s}},m=(e,t,n,r)=>{if(t.length!==n.length||n.length!==r.length)throw Error(`${e}: array length mismatch`)},h=async(e,u,h,g,_,v,y,b)=>{m(`hinkalTronProoflessDepositViaWrapper`,_,v,y),f.assertNoDuplicateStealthAddressStructures(y);let{hinkalWrapperAddress:x,hinkalWrapperABI:S}=t.networkRegistry[u]?.contractData??{};if(!x||!S)throw Error(`No HinkalWrapper configured for chainId ${u}`);let C=await e.getRandomRelay(u,!1);if(!C)throw Error(`No relay available for chainId ${u}`);let w=e.getTronWeb(),T=await e.getEthereumAddressByChain(u),E=s.evmHexToTronBase58Address(x),D=r.caseInsensitiveEqual(h,n.zeroAddress)?h:s.evmHexToTronBase58Address(h),{tokensForApproval:O,ethValue:k}=p(h,g,_,v),A=_.map(e=>e.erc20TokenAddress),j=v.map(()=>`0`),M=y.map(e=>[e.extraRandomization.toString(),e.stealthAddress.toString(),e.H0.toString(),e.H1.toString()]);if(k>0n){let e=BigInt(await w.trx.getBalance(T)),t=BigInt(n.TRON_DEFAULT_FEE_LIMIT_SUN);try{t=await s.estimateTronFeeSunWithPadding(w,u,E,T,s.createTronCallData(S,`prooflessDeposit`,[s.evmHexToTronBase58Address(C),D,g.toString(),A,v.map(String),j,M]),k)}catch(e){o.Logger.error(`Error estimating Tron wrapper deposit fee`,e)}if(e<k+t)throw Error(i.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let{transaction:N}=await w.transactionBuilder.triggerSmartContract(E,`prooflessDeposit(address,address,uint256,address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:n.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:k>0n?Number(k):0},[{type:`address`,value:s.evmHexToTronBase58Address(C)},{type:`address`,value:D},{type:`uint256`,value:g.toString()},{type:`address[]`,value:A},{type:`uint256[]`,value:v.map(String)},{type:`uint256[]`,value:j},{type:`tuple(uint256,uint256,uint256,uint256)[]`,value:M}],T),P=new Map(O.map(({token:e,balance:t})=>[s.evmHexToTronBase58Address(e.erc20TokenAddress),t]));await f.approveTronTokens(w,T,E,P),P.size>0&&await d.waitForTronErc20Approvals(w,T,E,Array.from(P.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await l.simulateTronTransaction(u,E,`prooflessDeposit`,S,[s.evmHexToTronBase58Address(C),D,g.toString(),A,v.map(String),j,M],T,k>0n?k:void 0);let F=await w.trx.sign(N),I=await w.trx.sendRawTransaction(F);if(!I.result)throw Error(`Tron wrapper deposit failed`);let L=typeof I==`string`?I:I?.txid??I?.transaction?.txID;if(!L)throw Error(`Tron wrapper deposit failed (missing txid)`);return a.emitTxPublicData(c.constructAdminData(b,u,A,v,T)),L},g=async(n,r,i,o,s,l,h,g)=>{m(`hinkalEvmProoflessDepositViaWrapper`,s,l,h),f.assertNoDuplicateStealthAddressStructures(h);let _=t.networkRegistry[r]?.contractData?.hinkalWrapperAddress;if(!_)throw Error(`No HinkalWrapper configured for chainId ${r}`);let v=await n.getRandomRelay(r,!1);if(!v)throw Error(`No relay available for chainId ${r}`);let y=s.map(e=>e.erc20TokenAddress),b=l.map(()=>0n),{tokensForApproval:x,ethValue:S}=p(i,o,s,l),C=await n.getEthereumAddressByChain(r),w=n.getProviderAdapter(r),T=n.getContractWithSigner(r,e.ContractType.HinkalWrapper),E;if(x.length>0&&await w.supportsBatchCall?.(r)&&w.sendBatchCallsTransaction){let e=u.buildApproveAndDepositWrapperCalls(x.map(({token:e})=>e.erc20TokenAddress),x.map(({balance:e})=>e),_,T.interface,v,i,o,y,l,b,h,S);E=await w.sendBatchCallsTransaction(r,e)}else await f.approveTokens(n,r,_,x),await d.waitForErc20Approvals(n,r,C,_,x.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}))),E=await T.prooflessDeposit(v,i,o,y,l,b,h,{value:S>0n?S:void 0});return a.emitTxPublicData(c.constructAdminData(g,r,y,l,C)),E.hash};exports.hinkalEvmProoflessDepositViaWrapper=g,exports.hinkalTronProoflessDepositViaWrapper=h;
@@ -0,0 +1,6 @@
1
+ import { ERC20Token } from '../../types/token.types';
2
+ import { IHinkal } from './IHinkal';
3
+ import { StealthAddressStructure } from '../../types/circom-data.types';
4
+ import { AdminTransactionType } from '../../types/admin.types';
5
+ export declare const hinkalTronProoflessDepositViaWrapper: (hinkal: IHinkal, chainId: number, feeToken: string, feeAmount: bigint, erc20Tokens: ERC20Token[], amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;
6
+ export declare const hinkalEvmProoflessDepositViaWrapper: (hinkal: IHinkal, chainId: number, feeToken: string, feeAmount: bigint, erc20Tokens: ERC20Token[], amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], action?: AdminTransactionType) => Promise<string>;