@hinkal/common 0.3.1 → 0.3.2

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 (410) hide show
  1. package/common/src/API/API.cjs +1 -1
  2. package/common/src/API/API.d.ts +9 -34
  3. package/common/src/API/API.mjs +75 -100
  4. package/common/src/API/callOneInchAPI.cjs +1 -1
  5. package/common/src/API/callOneInchAPI.d.ts +6 -0
  6. package/common/src/API/callOneInchAPI.mjs +5 -2
  7. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
  8. package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
  9. package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
  10. package/common/src/API/dashboardPayoutCalls.cjs +1 -1
  11. package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
  12. package/common/src/API/dashboardPayoutCalls.mjs +4 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
  14. package/common/src/API/getWebsiteURL.d.ts +1 -2
  15. package/common/src/API/index.cjs +1 -1
  16. package/common/src/API/index.d.ts +1 -2
  17. package/common/src/API/index.mjs +2 -3
  18. package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
  19. package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
  20. package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
  21. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  22. package/common/src/API/proxyAccountsCalls.d.ts +2 -3
  23. package/common/src/API/proxyAccountsCalls.mjs +11 -10
  24. package/common/src/API/rewardsUserCalls.cjs +1 -1
  25. package/common/src/API/rewardsUserCalls.d.ts +1 -38
  26. package/common/src/API/rewardsUserCalls.mjs +2 -9
  27. package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
  28. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  29. package/common/src/API/temporaryWalletCalls.mjs +8 -8
  30. package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
  31. package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
  32. package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
  33. package/common/src/constants/chains.constants.cjs +1 -1
  34. package/common/src/constants/chains.constants.mjs +3 -10
  35. package/common/src/constants/contracts.constants.cjs +1 -1
  36. package/common/src/constants/contracts.constants.mjs +19 -32
  37. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
  39. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
  41. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
  43. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  44. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
  45. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
  47. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  48. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
  49. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  50. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
  51. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  53. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +7 -18
  55. package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
  56. package/common/src/constants/index.cjs +1 -1
  57. package/common/src/constants/index.d.ts +1 -2
  58. package/common/src/constants/index.mjs +0 -1
  59. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  60. package/common/src/constants/pay.constants.d.ts +1 -0
  61. package/common/src/constants/protocol.constants.cjs +2 -1
  62. package/common/src/constants/protocol.constants.d.ts +7 -5
  63. package/common/src/constants/protocol.constants.mjs +4 -11
  64. package/common/src/constants/rewards.constants.d.ts +0 -13
  65. package/common/src/constants/server.constants.cjs +1 -1
  66. package/common/src/constants/server.constants.d.ts +5 -28
  67. package/common/src/constants/server.constants.mjs +10 -41
  68. package/common/src/crypto/ecdh.cjs +1 -1
  69. package/common/src/crypto/ecdh.mjs +2 -9
  70. package/common/src/crypto/index.cjs +1 -1
  71. package/common/src/crypto/index.mjs +1 -1
  72. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
  74. package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
  75. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  76. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  77. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
  78. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
  80. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
  82. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  83. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
  84. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  85. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
  86. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  87. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
  89. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
  92. package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
  94. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
  96. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
  98. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
  99. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
  101. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
  102. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  104. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
  106. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
  108. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
  110. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
  112. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
  114. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
  116. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
  118. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  119. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
  121. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  122. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  123. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  124. package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
  125. package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
  126. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  127. package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
  128. package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
  129. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
  130. package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
  131. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
  132. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  133. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  134. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  135. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
  136. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  137. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
  138. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  139. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
  140. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  141. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
  142. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  143. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
  144. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  145. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
  146. package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
  147. package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
  148. package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
  149. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
  150. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  151. package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
  152. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
  153. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  154. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
  155. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
  156. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  157. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
  158. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
  159. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  160. package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
  161. package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
  162. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  163. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
  164. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
  165. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
  166. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
  167. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
  168. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  169. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
  170. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
  171. package/common/src/data-structures/utxo/Utxo.cjs +1 -1
  172. package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
  173. package/common/src/data-structures/utxo/Utxo.mjs +7 -17
  174. package/common/src/error-handling/error-codes.constants.cjs +2 -2
  175. package/common/src/error-handling/error-codes.constants.d.ts +0 -3
  176. package/common/src/error-handling/error-codes.constants.mjs +13 -18
  177. package/common/src/error-handling/index.cjs +1 -1
  178. package/common/src/error-handling/index.d.ts +1 -0
  179. package/common/src/error-handling/index.mjs +1 -0
  180. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  181. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  182. package/common/src/functions/index.cjs +1 -1
  183. package/common/src/functions/index.mjs +1 -1
  184. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  185. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
  186. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  187. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
  188. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  189. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
  190. package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  191. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  192. package/common/src/functions/pre-transaction/solana.mjs +5 -4
  193. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  194. package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
  195. package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
  196. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  197. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
  198. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  199. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
  200. package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
  201. package/common/src/functions/snarkjs/constant.cjs +1 -1
  202. package/common/src/functions/snarkjs/constant.d.ts +151 -144
  203. package/common/src/functions/snarkjs/constant.mjs +151 -145
  204. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  205. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  206. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
  207. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
  208. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
  209. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
  210. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  211. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
  212. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
  213. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  214. package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
  215. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
  216. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  217. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  218. package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
  219. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
  220. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
  221. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
  222. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  223. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
  224. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
  225. package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
  226. package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
  227. package/common/src/functions/snarkjs/index.cjs +1 -1
  228. package/common/src/functions/snarkjs/index.d.ts +2 -0
  229. package/common/src/functions/snarkjs/index.mjs +2 -0
  230. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  231. package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
  232. package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
  233. package/common/src/functions/utils/addresses.cjs +1 -1
  234. package/common/src/functions/utils/addresses.d.ts +0 -1
  235. package/common/src/functions/utils/addresses.mjs +10 -13
  236. package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
  237. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
  238. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  239. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
  240. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
  241. package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
  242. package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
  243. package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
  244. package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
  245. package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
  246. package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
  247. package/common/src/functions/utils/fees.utils.cjs +1 -1
  248. package/common/src/functions/utils/fees.utils.d.ts +1 -0
  249. package/common/src/functions/utils/fees.utils.mjs +5 -1
  250. package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
  251. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  252. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
  253. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  254. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
  255. package/common/src/functions/utils/index.cjs +1 -1
  256. package/common/src/functions/utils/index.d.ts +5 -1
  257. package/common/src/functions/utils/index.mjs +5 -1
  258. package/common/src/functions/utils/legacyKeys.cjs +1 -0
  259. package/common/src/functions/utils/legacyKeys.d.ts +10 -0
  260. package/common/src/functions/utils/legacyKeys.mjs +8 -0
  261. package/common/src/functions/utils/mnemonics.cjs +1 -1
  262. package/common/src/functions/utils/mnemonics.mjs +4 -6
  263. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  264. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  265. package/common/src/functions/utils/networks.utils.d.ts +1 -0
  266. package/common/src/functions/utils/prepareHinkal.cjs +1 -1
  267. package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
  268. package/common/src/functions/utils/prepareHinkal.mjs +2 -1
  269. package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
  270. package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
  271. package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
  272. package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
  273. package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
  274. package/common/src/functions/utils/tron.utils.cjs +1 -1
  275. package/common/src/functions/utils/tron.utils.d.ts +1 -1
  276. package/common/src/functions/utils/tron.utils.mjs +14 -29
  277. package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
  278. package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
  279. package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
  280. package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
  281. package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
  282. package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
  283. package/common/src/functions/web3/etherFunctions.d.ts +1 -0
  284. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  285. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
  286. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
  287. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  288. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  289. package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
  290. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  291. package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
  292. package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
  293. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  294. package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  295. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
  296. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  297. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
  298. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  299. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  300. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  301. package/common/src/functions/web3/oneInchAPI.mjs +31 -21
  302. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  303. package/common/src/functions/web3/uniswapAPI.mjs +6 -6
  304. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  305. package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
  306. package/common/src/providers/EthersProviderAdapter.mjs +0 -3
  307. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  308. package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
  309. package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
  310. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  311. package/common/src/providers/TronProviderAdapter.d.ts +0 -1
  312. package/common/src/providers/TronProviderAdapter.mjs +0 -3
  313. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  314. package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
  315. package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
  316. package/common/src/types/API.types.d.ts +0 -4
  317. package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
  318. package/common/src/types/cache.types.cjs +1 -1
  319. package/common/src/types/cache.types.d.ts +2 -2
  320. package/common/src/types/cache.types.mjs +1 -1
  321. package/common/src/types/circom-data.types.cjs +1 -1
  322. package/common/src/types/circom-data.types.d.ts +26 -27
  323. package/common/src/types/circom-data.types.mjs +1 -1
  324. package/common/src/types/dashboard-account.d.ts +15 -0
  325. package/common/src/types/dashboard-payout.types.d.ts +1 -0
  326. package/common/src/types/enclaveApi.types.d.ts +78 -0
  327. package/common/src/types/ethereum-network.types.cjs +1 -1
  328. package/common/src/types/ethereum-network.types.d.ts +13 -23
  329. package/common/src/types/ethereum-network.types.mjs +1 -1
  330. package/common/src/types/external-action.types.cjs +1 -1
  331. package/common/src/types/external-action.types.d.ts +2 -3
  332. package/common/src/types/external-action.types.mjs +1 -1
  333. package/common/src/types/hinkal.types.cjs +1 -1
  334. package/common/src/types/hinkal.types.d.ts +8 -22
  335. package/common/src/types/hinkal.types.mjs +11 -19
  336. package/common/src/types/index.cjs +1 -1
  337. package/common/src/types/index.d.ts +3 -5
  338. package/common/src/types/index.mjs +0 -1
  339. package/common/src/types/new-rewards.type.d.ts +0 -70
  340. package/common/src/types/payout-notification.types.d.ts +11 -0
  341. package/common/src/types/proxy-progress.types.d.ts +5 -0
  342. package/common/src/types/snark.types.d.ts +1 -3
  343. package/common/src/types/token.types.cjs +1 -1
  344. package/common/src/types/token.types.mjs +1 -3
  345. package/common/src/types/transaction.types.d.ts +0 -1
  346. package/common/src/types/transactions.types.d.ts +0 -1
  347. package/common/src/webworker/logError-uy41lNp1.js +2 -0
  348. package/common/src/webworker/package.json +1 -1
  349. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  350. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  351. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  352. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  353. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  354. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  355. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  356. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  357. package/common/src/webworker/workerProxy-MheXtWa4.js +1 -0
  358. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  359. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  360. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  361. package/package.json +1 -1
  362. package/services/Hinkal.cjs +1 -1
  363. package/services/Hinkal.d.ts +1 -2
  364. package/services/Hinkal.mjs +4 -7
  365. package/types/IHinkal.d.ts +1 -2
  366. package/common/src/API/accessCodeCalls.cjs +0 -1
  367. package/common/src/API/accessCodeCalls.d.ts +0 -23
  368. package/common/src/API/accessCodeCalls.mjs +0 -13
  369. package/common/src/API/brotherhoodCalls.cjs +0 -1
  370. package/common/src/API/brotherhoodCalls.d.ts +0 -82
  371. package/common/src/API/brotherhoodCalls.mjs +0 -17
  372. package/common/src/API/generate-trading-points.cjs +0 -1
  373. package/common/src/API/generate-trading-points.d.ts +0 -27
  374. package/common/src/API/generate-trading-points.mjs +0 -23
  375. package/common/src/API/leaderboardCalls.cjs +0 -1
  376. package/common/src/API/leaderboardCalls.d.ts +0 -14
  377. package/common/src/API/leaderboardCalls.mjs +0 -8
  378. package/common/src/API/referralsCalls.cjs +0 -1
  379. package/common/src/API/referralsCalls.d.ts +0 -22
  380. package/common/src/API/referralsCalls.mjs +0 -11
  381. package/common/src/API/send-telegram-callback.cjs +0 -1
  382. package/common/src/API/send-telegram-callback.d.ts +0 -7
  383. package/common/src/API/send-telegram-callback.mjs +0 -11
  384. package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
  385. package/common/src/constants/price-impact.constants.d.ts +0 -2
  386. package/common/src/constants/tasks.constants.cjs +0 -1
  387. package/common/src/constants/tasks.constants.d.ts +0 -9
  388. package/common/src/constants/tasks.constants.mjs +0 -124
  389. package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
  390. package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
  391. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
  392. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
  393. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
  394. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
  395. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
  396. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
  397. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
  398. package/common/src/functions/utils/bit.operations.cjs +0 -1
  399. package/common/src/functions/utils/bit.operations.d.ts +0 -3
  400. package/common/src/functions/utils/bit.operations.mjs +0 -4
  401. package/common/src/types/brotherhood-user.types.d.ts +0 -11
  402. package/common/src/types/crypto.types.d.ts +0 -8
  403. package/common/src/types/generatePoints.d.ts +0 -14
  404. package/common/src/types/new-rewards.type.cjs +0 -1
  405. package/common/src/types/new-rewards.type.mjs +0 -10
  406. package/common/src/types/referral.types.d.ts +0 -12
  407. package/common/src/types/rewards.types.d.ts +0 -34
  408. package/common/src/types/token-with-id.types.d.ts +0 -4
  409. package/common/src/webworker/logError-BR5TJP6T.js +0 -2
  410. package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { IHinkal } from './IHinkal';
2
2
  import { ERC20Token, RecipientUtxo } from '../../types';
3
3
  import { FeeStructure } from '../../types/hinkal.types';
4
- export declare const hinkalDepositOnChainUtxos: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], feeStructure: FeeStructure, hashedEthereumAddress: string, preEstimateGas?: boolean) => Promise<{
4
+ export declare const hinkalDepositOnChainUtxos: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], feeStructure: FeeStructure, hashedEthereumAddress: string, _preEstimateGas?: boolean) => Promise<{
5
5
  userDepositedUtxos: RecipientUtxo[];
6
6
  statusId?: string;
7
7
  depositTxHash: string;
@@ -1,54 +1,44 @@
1
- import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
- import { ContractType as t } from "../../types/ethereum-network.types.mjs";
3
- import { DepositAndWithdrawPhase as n } from "../../types/scheduled-transactions.types.mjs";
1
+ import { DepositAndWithdrawPhase as e } from "../../types/scheduled-transactions.types.mjs";
4
2
  import "../../types/index.mjs";
5
- import { evmHexToTronBase58Address as r } from "../../functions/utils/tron.utils.mjs";
6
- import { getOnChainUtxosFromReceipt as i } from "../../functions/utils/getUtxosFromReceipt.utils.mjs";
7
- import { waitForEthereumTransactionConfirmation as a } from "../../functions/utils/tx-confirmation.utils.mjs";
8
- import { transactCallDirect as o } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
9
- import { transactCallDirectTron as s } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
10
- import { safeUpdateDepositAndWithdrawStatus as c, updateDepositAndWithdrawStatus as l } from "../../API/deposit-and-withdraw-status-calls.mjs";
11
- import { prepareDepositOnChainUtxosZkProof as u } from "./prepareDepositOnChainUtxosZkProof.mjs";
3
+ import { getStealthAddressStructureFromUserKeys as t } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
4
+ import { getOnChainUtxosFromReceipt as n } from "../../functions/utils/getUtxosFromReceipt.utils.mjs";
5
+ import { waitForEthereumTransactionConfirmation as r } from "../../functions/utils/tx-confirmation.utils.mjs";
6
+ import { getOwnRecipientEncryptionKeys as i } from "./hinkalProoflessDeposit.utils.mjs";
7
+ import { hinkalProoflessDeposit as a } from "./hinkalProoflessDeposit.mjs";
8
+ import { safeUpdateDepositAndWithdrawStatus as o, updateDepositAndWithdrawStatus as s } from "../../API/deposit-and-withdraw-status-calls.mjs";
12
9
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.ts
13
- var d = async (d, f, p, m, h, g, _, v = !0) => {
14
- let y = e(f), b = p.erc20TokenAddress, { zkCallData: x, circomData: S, dimData: C, totalAmount: w, utxoAmounts: T, hinkalWrapperAddress: E, hinkalWrapperABI: D, depositOnChainUtxosExternalActionAddress: O, depositOnChainUtxosExternalActionABI: k } = await u(d, f, p, m, g), A = (await l({
15
- chainId: f,
16
- hashedEthereumAddress: _,
17
- phase: n.BEFORE_DEPOSIT
18
- })).id ?? void 0, j;
19
- if (y) {
20
- let e = d.getTronWeb();
21
- j = await s(d, f, w, p, x, S, C, e.contract(k, r(O)), e.contract(D, r(E)), v);
22
- } else {
23
- let e = d.getContractWithSigner(f, t.HinkalWrapper);
24
- j = (await o(d, f, w, p, x, S, C, d.getContractWithSigner(f, t.DepositOnChainUtxos), e, v)).hash;
25
- }
26
- if (!j) throw Error("Deposit transaction hash not found");
27
- let M = await a(f, j);
28
- await c({
29
- id: A,
30
- chainId: f,
31
- hashedEthereumAddress: _,
32
- phase: n.AFTER_DEPOSIT,
33
- depositTxHash: j
10
+ var c = async (c, l, u, d, f, p, m, h = !0) => {
11
+ let g = u.erc20TokenAddress, _ = d.map((e) => e + p.flatFee), v = _.map(() => u), y = _.map(() => t(c.userKeys)), b = (await s({
12
+ chainId: l,
13
+ hashedEthereumAddress: m,
14
+ phase: e.BEFORE_DEPOSIT
15
+ })).id ?? void 0, x = await a(c, v, _, y, i(c.userKeys, _.length), !0);
16
+ if (!x) throw Error("Deposit transaction hash not found");
17
+ let S = await r(l, x);
18
+ await o({
19
+ id: b,
20
+ chainId: l,
21
+ hashedEthereumAddress: m,
22
+ phase: e.AFTER_DEPOSIT,
23
+ depositTxHash: x
34
24
  });
35
- let N = i(M, d, f, b);
36
- if (N.length === 0) throw Error("No UTXOs found in deposit transaction. Check contract address and ABI.");
37
- let P = [], F = [...N];
38
- return h.forEach((e, t) => {
39
- let n = T[t], r = F.find((e) => e.amount === n);
25
+ let C = n(S, c, l, g);
26
+ if (C.length === 0) throw Error("No UTXOs found in deposit transaction. Check contract address and ABI.");
27
+ let w = [], T = [...C];
28
+ return f.forEach((e, t) => {
29
+ let n = _[t], r = T.find((e) => e.amount === n);
40
30
  if (!r) throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);
41
- P.push({
31
+ w.push({
42
32
  recipientAddress: e,
43
33
  utxo: r
44
34
  });
45
- let i = F.indexOf(r);
46
- F.splice(i, 1);
35
+ let i = T.indexOf(r);
36
+ T.splice(i, 1);
47
37
  }), {
48
- userDepositedUtxos: P,
49
- statusId: A,
50
- depositTxHash: j
38
+ userDepositedUtxos: w,
39
+ statusId: b,
40
+ depositTxHash: x
51
41
  };
52
42
  };
53
43
  //#endregion
54
- export { d as hinkalDepositOnChainUtxos };
44
+ export { c as hinkalDepositOnChainUtxos };
@@ -6,4 +6,4 @@ export type PalEvmDepositPrepareResult = {
6
6
  unsignedTx: ethers.TransactionRequest;
7
7
  utxoAmounts: bigint[];
8
8
  };
9
- export declare const hinkalPalEvmDepositPrepare: (hinkal: IHinkal, chainId: number, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalEvmDepositPrepareResult>;
9
+ export declare const hinkalPalEvmDepositPrepare: (hinkal: IHinkal, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalEvmDepositPrepareResult>;
@@ -1,9 +1,9 @@
1
+ import { Types as TronWebTypes } from 'tronweb';
1
2
  import { IHinkal } from './IHinkal';
2
3
  import { ERC20Token } from '../../types';
3
4
  import { FeeStructure } from '../../types/hinkal.types';
4
- import { Types as TronWebTypes } from 'tronweb';
5
5
  export type PalTronDepositPrepareResult = {
6
6
  unsignedTx: TronWebTypes.Transaction;
7
7
  utxoAmounts: bigint[];
8
8
  };
9
- export declare const hinkalPalTronDepositPrepare: (hinkal: IHinkal, chainId: number, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalTronDepositPrepareResult>;
9
+ export declare const hinkalPalTronDepositPrepare: (hinkal: IHinkal, token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, orderId: string) => Promise<PalTronDepositPrepareResult>;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/utils/time.utils.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../../types/admin.types.cjs`),o=require(`../../functions/utils/addresses.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`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/utils/involves-permit2-op.cjs`),m=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),h=require(`../../functions/private-wallet/emporium.helpers.cjs`),g=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),b=require(`./handleAutoDepositBack.cjs`);var x=async(e,t,n,i,a)=>{let o=[...await s.addPaddingToUtxos(e,t,n,i)],l=[],u=r.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,o[t],i[t],u);l.push(n)}return a&&d.recipientUtxoProcessing(a,l,i,u),{inputUtxosArray:o,outputUtxosArray:l}},S=async(r,s,c,d,S,C,w,T,E,D,O,k=!1,A,j,M)=>{if(M&&!o.isValidPrivateAddress(M.recipientInfo))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(w.length>0&&!T)throw Error(`Subaccount is required for private wallet transactions`);let N=c.map(e=>e.erc20TokenAddress),P=await r.getEthereumAddressByChain(s),F=T?u.AccountActions.getAddressFromSubAccount(s,T):void 0,{contractData:I}=e.networkRegistry[s],{emporiumAddress:L}=I;if(!L)throw Error(`No Emporium Address Provided`);let R=D??await f.getFeeStructure(s,E,N,i.ExternalActionId.Emporium,C.map(e=>m.convertEmporiumOpToCallInfo(e,F??``,s)));for(F?await y.mergeWithFeeStructureEmporium(r,s,F,C,N,d,R,w.find(e=>t.caseInsensitiveEqual(e.token.erc20TokenAddress,R.feeToken))?.amount??0n):await v.mergeWithFeeStructure(s,N,d,R);S.length<N.length;)S.push(!1);let[{inputUtxosArray:z,outputUtxosArray:B},V]=await Promise.all([x(r,s,N,d,M),O??await r.getRandomRelay(s,!0)]);if(!V)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let H=T?u.AccountActions.getPrivateKeyFromSubAccount(s,T):void 0,[{zkCallData:U,circomData:W,dimData:G,commitmentValidationData:K},q]=await Promise.all([g.constructZkProof(r.merkleTreeHinkalByChain[s],z,B,r.userKeys,i.ExternalActionId.Emporium,L,C,r.generateProofRemotely,R,V,s,S,void 0,void 0,H),h.getAuthorizationDataIfNeeded(s,H)]),J=await _.transactCallRelayer(s,U,G,W,K,p.uniswapWorkaround(C),q,l.constructAdminData(j,s,w.map(e=>e.token.erc20TokenAddress),w.map(e=>e.amount),P,j===a.AdminTransactionType.PublicSwap?w.map(({token:e})=>e):void 0));return k&&T&&b.handleAutoDepositBack(r,s,F,T,R.feeToken,A,w,W),J};exports.hinkalPrivateWallet=S;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/utils/time.utils.cjs`),i=require(`../../functions/utils/addresses.cjs`),a=require(`../../types/external-action.types.cjs`),o=require(`../../types/admin.types.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`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/utils/involves-permit2-op.cjs`),m=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),h=require(`../../functions/private-wallet/emporium.helpers.cjs`),g=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),b=require(`./handleAutoDepositBack.cjs`);var x=async(e,t,n,i,a)=>{let o=[...await s.addPaddingToUtxos(e,t,n,i)],l=[],u=r.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,o[t],i[t],u);l.push(n)}return a&&d.recipientUtxoProcessing(a,l,i,u),{inputUtxosArray:o,outputUtxosArray:l}},S=async(r,s,c,d,S,C,w,T,E,D,O,k=!1,A,j,M)=>{if(M&&!i.isValidPrivateAddress(M.recipientInfo))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(w.length>0&&!T)throw Error(`Subaccount is required for private wallet transactions`);let N=c.map(e=>e.erc20TokenAddress),P=await r.getEthereumAddressByChain(s),F=T?u.AccountActions.getAddressFromSubAccount(s,T):void 0,{contractData:I}=e.networkRegistry[s],{emporiumAddress:L}=I;if(!L)throw Error(`No Emporium Address Provided`);let R=D??await f.getFeeStructure(s,E,N,a.ExternalActionId.Emporium,C.map(e=>m.convertEmporiumOpToCallInfo(e,F??``,s)));for(F?await y.mergeWithFeeStructureEmporium(r,s,F,C,N,d,R,w.find(e=>t.caseInsensitiveEqual(e.token.erc20TokenAddress,R.feeToken))?.amount??0n):await v.mergeWithFeeStructure(s,N,d,R);S.length<N.length;)S.push(!1);let[{inputUtxosArray:z,outputUtxosArray:B},V]=await Promise.all([x(r,s,N,d,M),O??await r.getRandomRelay(s,!0)]);if(!V)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let H=T?u.AccountActions.getPrivateKeyFromSubAccount(s,T):void 0,[{zkCallData:U,circomData:W,dimData:G,commitmentValidationData:K},q]=await Promise.all([g.constructZkProof(r.merkleTreeHinkalByChain[s],z,B,r.userKeys,a.ExternalActionId.Emporium,L,C,r.generateProofRemotely,R,V,s,S,void 0,void 0,H),h.getAuthorizationDataIfNeeded(s,H)]),J=await _.transactCallRelayer(s,U,G,W,K,p.uniswapWorkaround(C),q,l.constructAdminData(j,s,w.map(e=>e.token.erc20TokenAddress),w.map(e=>e.amount),P,j===o.AdminTransactionType.PublicSwap?w.map(({token:e})=>e):void 0));return k&&T&&b.handleAutoDepositBack(r,s,F,T,R.feeToken,A,w,W),J};exports.hinkalPrivateWallet=S;
@@ -2,9 +2,9 @@ import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
2
  import { caseInsensitiveEqual as t } from "../../functions/utils/caseInsensitive.utils.mjs";
3
3
  import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
4
4
  import { getCurrentTimeInSeconds as r } from "../../functions/utils/time.utils.mjs";
5
- import { ExternalActionId as i } from "../../types/external-action.types.mjs";
6
- import { AdminTransactionType as a } from "../../types/admin.types.mjs";
7
- import { isValidPrivateAddress as o } from "../../functions/utils/addresses.mjs";
5
+ import { isValidPrivateAddress as i } from "../../functions/utils/addresses.mjs";
6
+ import { ExternalActionId as a } from "../../types/external-action.types.mjs";
7
+ import { AdminTransactionType as o } from "../../types/admin.types.mjs";
8
8
  import { addPaddingToUtxos as s } from "../../functions/web3/events/getShieldedBalance.mjs";
9
9
  import { outputUtxoProcessing as c } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
10
10
  import "../../error-handling/index.mjs";
@@ -33,15 +33,15 @@ var x = async (e, t, n, i, a) => {
33
33
  outputUtxosArray: l
34
34
  };
35
35
  }, S = async (r, s, c, d, S, C, w, T, E, D, O, k = !1, A, j, M) => {
36
- if (M && !o(M.recipientInfo)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
36
+ if (M && !i(M.recipientInfo)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
37
37
  if (w.length > 0 && !T) throw Error("Subaccount is required for private wallet transactions");
38
38
  let N = c.map((e) => e.erc20TokenAddress), P = await r.getEthereumAddressByChain(s), F = T ? u.getAddressFromSubAccount(s, T) : void 0, { contractData: I } = e[s], { emporiumAddress: L } = I;
39
39
  if (!L) throw Error("No Emporium Address Provided");
40
- let R = D ?? await f(s, E, N, i.Emporium, C.map((e) => m(e, F ?? "", s)));
40
+ let R = D ?? await f(s, E, N, a.Emporium, C.map((e) => m(e, F ?? "", s)));
41
41
  for (F ? await y(r, s, F, C, N, d, R, w.find((e) => t(e.token.erc20TokenAddress, R.feeToken))?.amount ?? 0n) : await v(s, N, d, R); S.length < N.length;) S.push(!1);
42
42
  let [{ inputUtxosArray: z, outputUtxosArray: B }, V] = await Promise.all([x(r, s, N, d, M), O ?? await r.getRandomRelay(s, !0)]);
43
43
  if (!V) throw Error(n.RELAYER_NOT_AVAILABLE);
44
- let H = T ? u.getPrivateKeyFromSubAccount(s, T) : void 0, [{ zkCallData: U, circomData: W, dimData: G, commitmentValidationData: K }, q] = await Promise.all([g(r.merkleTreeHinkalByChain[s], z, B, r.userKeys, i.Emporium, L, C, r.generateProofRemotely, R, V, s, S, void 0, void 0, H), h(s, H)]), J = await _(s, U, G, W, K, p(C), q, l(j, s, w.map((e) => e.token.erc20TokenAddress), w.map((e) => e.amount), P, j === a.PublicSwap ? w.map(({ token: e }) => e) : void 0));
44
+ let H = T ? u.getPrivateKeyFromSubAccount(s, T) : void 0, [{ zkCallData: U, circomData: W, dimData: G, commitmentValidationData: K }, q] = await Promise.all([g(r.merkleTreeHinkalByChain[s], z, B, r.userKeys, a.Emporium, L, C, r.generateProofRemotely, R, V, s, S, void 0, void 0, H), h(s, H)]), J = await _(s, U, G, W, K, p(C), q, l(j, s, w.map((e) => e.token.erc20TokenAddress), w.map((e) => e.amount), P, j === o.PublicSwap ? w.map(({ token: e }) => e) : void 0));
45
45
  return k && T && b(r, s, F, T, R.feeToken, A, w, W), J;
46
46
  };
47
47
  //#endregion
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../types/ethereum-network.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/pre-transaction/constructAdminData.cjs`),c=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),l=require(`../../functions/utils/getContractAddress.cjs`),u=require(`../../functions/utils/tronSimulation.utils.cjs`),d=require(`../../functions/web3/functionCalls/constructBatchCall.cjs`),f=require(`../../functions/web3/functionCalls/waitForErc20Approvals.cjs`),p=require(`../../API/admin-calls.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`),h=require(`./hinkalProoflessDepositViaWrapper.cjs`);var g=async(n,r,o,s,c,l=!1)=>{let d=n.getTronWeb(),{hinkalAddress:p}=e.networkRegistry[r].contractData,h=a.evmHexToTronBase58Address(p),g=await n.getEthereumAddressByChain(r),_=o.map(e=>e.erc20TokenAddress),v=o.map(()=>0n),{totalTrxValue:y,tokensNeedingApproval:b}=a.splitTronTokensByNative(o,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:t}=e.networkRegistry[r].contractData;if(!t)throw Error(`Hinkal ABI not found`);await a.assertTronSufficientBalance(d,r,h,g,a.createTronCallData(t,`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 d.transactionBuilder.triggerSmartContract(h,`prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])`,{feeLimit:t.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(d,g,h,b),await f.waitForTronErc20Approvals(d,g,h,Array.from(b.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await u.simulateTronTransaction(r,h,`prooflessDeposit`,e.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 d.trx.sign(S),w=await d.trx.sendRawTransaction(C);if(!w.result)throw i.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(i,a,u,h,_,v=!1)=>{let y=o.validateAndGetChainId(a),b=e.isTronLike(y),x=await i.getEthereumAddressByChain(y),S=h??a.map(()=>c.getStealthAddressStructureFromUserKeys(i.userKeys));if(S.length!==a.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(i,y,a,u,S,v);if(v)return e;C=e}else{let e=i.getContractWithSigner(y,r.ContractType.HinkalContract),o=[a.map(({erc20TokenAddress:e})=>e),u,a.map(()=>0n),S];if(v)return e.prooflessDeposit.populateTransaction(...o);let s=i.getProviderAdapter(y),c=m.aggregateAmountsForApproval(a,u),p=a.reduce((e,r,i)=>n.caseInsensitiveEqual(r.erc20TokenAddress,t.zeroAddress)?e+u[i]:e,0n),h=c.filter(({token:e,balance:r})=>!n.caseInsensitiveEqual(e.erc20TokenAddress,t.zeroAddress)&&r>0n),g;if(h.length>0&&await s.supportsBatchCall?.(y)&&s.sendBatchCallsTransaction){let t=d.buildApproveAndProoflessDepositCalls(h.map(({token:e})=>e.erc20TokenAddress),h.map(({balance:e})=>e),l.getContractAddress(e),e,...o,p);g=await s.sendBatchCallsTransaction(y,t)}else{await m.approveTokens(i,y,l.getContractAddress(e),c);let t=await i.getEthereumAddressByChain(y),n=c.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}));await f.waitForErc20Approvals(i,y,t,l.getContractAddress(e),n),g=await e.prooflessDeposit(...o,{value:p>0n?p:void 0})}C=g.hash}return p.emitTxPublicData(s.constructAdminData(_,y,a.map(({erc20TokenAddress:e})=>e),u,x)),C},v=async(t,n,r,i,a,o,s)=>{let c=i.map(()=>r),l=r.erc20TokenAddress;return e.isTronLike(n)?h.hinkalTronProoflessDepositViaWrapper(t,n,l,o,c,i,a,s):e.networkRegistry[n]?.contractData?.hinkalWrapperAddress?h.hinkalEvmProoflessDepositViaWrapper(t,n,l,o,c,i,a,s):await _(t,c,i,a,s,!0)};exports.hinkalProoflessDeposit=_,exports.hinkalProoflessDepositWithPublicFee=v;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../types/ethereum-network.types.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(`../../API/admin-calls.cjs`),h=require(`./hinkalProoflessDeposit.utils.cjs`);var g=async(n,o,s,c,l,u,f,m,g,_=!1)=>{let v=n.getTronWeb(),{hinkalAddress:y,hinkalABI:b,hinkalWrapperAddress:x,hinkalWrapperABI:S}=e.networkRegistry[o].contractData,C=m.feeAmount>0n;if(C&&!x)throw Error(`Hinkal wrapper address not found`);let w=a.evmHexToTronBase58Address(C?x:y),T=C?S:b;if(!T)throw Error(C?`Hinkal wrapper ABI not found`:`Hinkal ABI not found`);let E=await n.getEthereumAddressByChain(o),D=s.map(e=>e.erc20TokenAddress),O=r.caseInsensitiveEqual(m.feeToken,t.zeroAddress),{totalTrxValue:k,tokensNeedingApproval:A}=a.splitTronTokensByNative(s,c),j=k+(O?m.feeAmount:0n);if(!O&&m.feeAmount>0n){let e=a.evmHexToTronBase58Address(m.feeToken);A.set(e,(A.get(e)??0n)+m.feeAmount)}let M=l.map(e=>[e.H0x.toString(),e.H0y.toString(),e.H1x.toString(),e.H1y.toString(),e.stealthAddress.toString()]),N=[{type:`address[]`,value:D},{type:`uint256[]`,value:c.map(String)},{type:`tuple(uint256,uint256,uint256,uint256,uint256)[]`,value:M},{type:`bytes[]`,value:u},{type:`bool`,value:f}],P=C?`prooflessDeposit(address[],uint256[],(uint256,uint256,uint256,uint256,uint256)[],bytes[],bool,(address,address,uint256),string)`:`prooflessDeposit(address[],uint256[],(uint256,uint256,uint256,uint256,uint256)[],bytes[],bool,string)`,F=C?[...N,{type:`tuple(address,address,uint256)`,value:[a.evmHexToTronBase58Address(m.feeRecipient),O?m.feeToken:a.evmHexToTronBase58Address(m.feeToken),m.feeAmount.toString()]},{type:`string`,value:g}]:[...N,{type:`string`,value:g}],I=F.map(({value:e})=>e);j>0n&&await a.assertTronSufficientBalance(v,o,w,E,a.createTronCallData(T,`prooflessDeposit`,I),j);let{transaction:L}=await v.transactionBuilder.triggerSmartContract(w,P,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:j>0n?Number(j):0},F,E);if(_)return L;await h.approveTronTokens(v,E,w,A),await p.waitForTronErc20Approvals(v,E,w,Array.from(A.entries()).map(([e,t])=>({tokenAddress:e,requiredAmount:t}))),await d.simulateTronTransaction(o,w,`prooflessDeposit`,T,I,E,j>0n?j:void 0);let R=await v.trx.sign(L),z=await v.trx.sendRawTransaction(R);if(!z.result)throw i.Logger.error(`Tron prooflessDeposit broadcast failed`,z),Error(`Tron prooflessDeposit broadcast failed`);let B=typeof z==`string`?z:z?.txid??z?.transaction?.txID;if(!B)throw Error(`Tron prooflessDeposit failed (missing txid)`);return B},_=async(i,a,d,_,v,y=!1,b=n.zeroProoflessFeeStructure,x=``,S,C=!1)=>{let w=s.validateAndGetChainId(a),T=e.isTronLike(w),E=await i.getEthereumAddressByChain(w),D=_??a.map(()=>l.getStealthAddressStructureFromUserKeys(i.userKeys));if(D.length!==a.length)throw Error(`Stealth address structures length must be equal to erc20 tokens length`);if(h.assertNoDuplicateStealthAddressStructures(D),_&&!v)throw Error(`recipientEncryptionKeysOverride is required whenever stealthAddressStructuresOverride is provided`);if(v&&v.length!==a.length)throw Error(`recipientEncryptionKeysOverride length must be equal to erc20 tokens length`);let O=h.buildProoflessEncryptedOutputs(a,D,v??h.getOwnRecipientEncryptionKeys(i.userKeys,a.length)),k;if(T){let e=await g(i,w,a,d,D,O,y,b,x,C);if(C)return e;k=e}else{let e=b.feeAmount>0n,n=e?i.getContractWithSigner(w,o.ContractType.HinkalWrapperContract):i.getContractWithSigner(w,o.ContractType.HinkalContract),s=e?[a.map(({erc20TokenAddress:e})=>e),d,D,O,y,b,x]:[a.map(({erc20TokenAddress:e})=>e),d,D,O,y,x],c=r.caseInsensitiveEqual(b.feeToken,t.zeroAddress),l=a.reduce((e,n,i)=>r.caseInsensitiveEqual(n.erc20TokenAddress,t.zeroAddress)?e+d[i]:e,0n)+(c?b.feeAmount:0n);if(C)return n.prooflessDeposit.populateTransaction(...s,{value:l>0n?l:void 0});let m=i.getProviderAdapter(w),g=h.aggregateAmountsForApproval(!c&&b.feeAmount>0n?[...a,{erc20TokenAddress:b.feeToken,chainId:w}]:a,!c&&b.feeAmount>0n?[...d,b.feeAmount]:d),_=g.filter(({token:e,balance:n})=>!r.caseInsensitiveEqual(e.erc20TokenAddress,t.zeroAddress)&&n>0n),v;if(_.length>0&&await m.supportsBatchCall?.(w)&&m.sendBatchCallsTransaction){let t=f.buildApproveAndProoflessDepositCalls(_.map(({token:e})=>e.erc20TokenAddress),_.map(({balance:e})=>e),u.getContractAddress(n),n,a.map(({erc20TokenAddress:e})=>e),d,D,O,y,e?b:void 0,x,l);v=await m.sendBatchCallsTransaction(w,t)}else{await h.approveTokens(i,w,u.getContractAddress(n),g);let e=await i.getEthereumAddressByChain(w),t=g.map(({token:e,balance:t})=>({tokenAddress:e.erc20TokenAddress,requiredAmount:t}));await p.waitForErc20Approvals(i,w,e,u.getContractAddress(n),t),v=await n.prooflessDeposit(...s,{value:l>0n?l:void 0})}k=v.hash}return m.emitTxPublicData(c.constructAdminData(S,w,a.map(({erc20TokenAddress:e})=>e),d,E)),k};exports.hinkalProoflessDeposit=_;
@@ -3,6 +3,6 @@ import { Types as TronWebTypes } from 'tronweb';
3
3
  import { ERC20Token } from '../../types/token.types';
4
4
  import { IHinkal } from './IHinkal';
5
5
  import { StealthAddressStructure } from '../../types/circom-data.types';
6
+ import { ProoflessFeeStructure } from '../../types/hinkal.types';
6
7
  import { AdminTransactionType } from '../../types/admin.types';
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>;
8
+ export declare const hinkalProoflessDeposit: (hinkal: IHinkal, erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructuresOverride?: StealthAddressStructure[], recipientEncryptionKeysOverride?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, returnTxData?: boolean) => Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
@@ -1,123 +1,136 @@
1
1
  import { isTronLike as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
2
2
  import { TRON_DEFAULT_FEE_LIMIT_SUN as n, zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
- import { caseInsensitiveEqual as i } from "../../functions/utils/caseInsensitive.utils.mjs";
4
- import { ContractType as a } from "../../types/ethereum-network.types.mjs";
3
+ import { zeroProoflessFeeStructure as i } from "../../types/hinkal.types.mjs";
4
+ import { caseInsensitiveEqual as a } from "../../functions/utils/caseInsensitive.utils.mjs";
5
5
  import { Logger as o } from "../../error-handling/logger.mjs";
6
6
  import { assertTronSufficientBalance as s, createTronCallData as c, evmHexToTronBase58Address as l, splitTronTokensByNative as u } from "../../functions/utils/tron.utils.mjs";
7
- import { validateAndGetChainId as d } from "../../functions/utils/token-check.utils.mjs";
8
- import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
9
- import { getStealthAddressStructureFromUserKeys as p } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
10
- import { getContractAddress as m } from "../../functions/utils/getContractAddress.mjs";
11
- import { simulateTronTransaction as h } from "../../functions/utils/tronSimulation.utils.mjs";
12
- import { buildApproveAndProoflessDepositCalls as g } from "../../functions/web3/functionCalls/constructBatchCall.mjs";
13
- import { waitForErc20Approvals as _, waitForTronErc20Approvals as v } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
14
- import { emitTxPublicData as y } from "../../API/admin-calls.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";
7
+ import { ContractType as d } from "../../types/ethereum-network.types.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 { emitTxPublicData as b } from "../../API/admin-calls.mjs";
16
+ import { aggregateAmountsForApproval as x, approveTokens as S, approveTronTokens as C, assertNoDuplicateStealthAddressStructures as w, buildProoflessEncryptedOutputs as T, getOwnRecipientEncryptionKeys as E } from "./hinkalProoflessDeposit.utils.mjs";
17
17
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
18
- var E = async (e, r, i, a, d, f = !1) => {
19
- let p = e.getTronWeb(), { hinkalAddress: m } = t[r].contractData, g = l(m), _ = await e.getEthereumAddressByChain(r), y = i.map((e) => e.erc20TokenAddress), b = i.map(() => 0n), { totalTrxValue: x, tokensNeedingApproval: C } = u(i, a), w = d.map((e) => ({
20
- extraRandomization: e.extraRandomization.toString(),
21
- stealthAddress: e.stealthAddress.toString(),
22
- H0: e.H0.toString(),
23
- H1: e.H1.toString()
24
- }));
25
- if (x > 0n) {
26
- let { hinkalABI: e } = t[r].contractData;
27
- if (!e) throw Error("Hinkal ABI not found");
28
- await s(p, r, g, _, c(e, "prooflessDeposit", [
29
- y,
30
- a.map(String),
31
- b.map(String),
32
- d.map((e) => [
33
- e.extraRandomization.toString(),
34
- e.stealthAddress.toString(),
35
- e.H0.toString(),
36
- e.H1.toString()
37
- ])
38
- ]), x);
18
+ var D = async (e, i, d, f, p, m, h, _, v, b = !1) => {
19
+ let x = e.getTronWeb(), { hinkalAddress: S, hinkalABI: w, hinkalWrapperAddress: T, hinkalWrapperABI: E } = t[i].contractData, D = _.feeAmount > 0n;
20
+ if (D && !T) throw Error("Hinkal wrapper address not found");
21
+ let O = l(D ? T : S), k = D ? E : w;
22
+ if (!k) throw Error(D ? "Hinkal wrapper ABI not found" : "Hinkal ABI not found");
23
+ let A = await e.getEthereumAddressByChain(i), j = d.map((e) => e.erc20TokenAddress), M = a(_.feeToken, r), { totalTrxValue: N, tokensNeedingApproval: P } = u(d, f), F = N + (M ? _.feeAmount : 0n);
24
+ if (!M && _.feeAmount > 0n) {
25
+ let e = l(_.feeToken);
26
+ P.set(e, (P.get(e) ?? 0n) + _.feeAmount);
39
27
  }
40
- let { transaction: T } = await p.transactionBuilder.triggerSmartContract(g, "prooflessDeposit(address[],uint256[],uint256[],(uint256,uint256,uint256,uint256)[])", {
41
- feeLimit: n,
42
- callValue: x > 0n ? Number(x) : 0
43
- }, [
28
+ let I = p.map((e) => [
29
+ e.H0x.toString(),
30
+ e.H0y.toString(),
31
+ e.H1x.toString(),
32
+ e.H1y.toString(),
33
+ e.stealthAddress.toString()
34
+ ]), L = [
44
35
  {
45
36
  type: "address[]",
46
- value: y
37
+ value: j
47
38
  },
48
39
  {
49
40
  type: "uint256[]",
50
- value: a.map(String)
41
+ value: f.map(String)
51
42
  },
52
43
  {
53
- type: "uint256[]",
54
- value: b.map(String)
44
+ type: "tuple(uint256,uint256,uint256,uint256,uint256)[]",
45
+ value: I
46
+ },
47
+ {
48
+ type: "bytes[]",
49
+ value: m
55
50
  },
56
51
  {
57
- type: "tuple(uint256,uint256,uint256,uint256)[]",
58
- value: w.map((e) => [
59
- e.extraRandomization,
60
- e.stealthAddress,
61
- e.H0,
62
- e.H1
63
- ])
52
+ type: "bool",
53
+ value: h
64
54
  }
65
- ], _);
66
- if (f) return T;
67
- await S(p, _, g, C), await v(p, _, g, Array.from(C.entries()).map(([e, t]) => ({
55
+ ], R = D ? "prooflessDeposit(address[],uint256[],(uint256,uint256,uint256,uint256,uint256)[],bytes[],bool,(address,address,uint256),string)" : "prooflessDeposit(address[],uint256[],(uint256,uint256,uint256,uint256,uint256)[],bytes[],bool,string)", z = D ? [
56
+ ...L,
57
+ {
58
+ type: "tuple(address,address,uint256)",
59
+ value: [
60
+ l(_.feeRecipient),
61
+ M ? _.feeToken : l(_.feeToken),
62
+ _.feeAmount.toString()
63
+ ]
64
+ },
65
+ {
66
+ type: "string",
67
+ value: v
68
+ }
69
+ ] : [...L, {
70
+ type: "string",
71
+ value: v
72
+ }], B = z.map(({ value: e }) => e);
73
+ F > 0n && await s(x, i, O, A, c(k, "prooflessDeposit", B), F);
74
+ let { transaction: V } = await x.transactionBuilder.triggerSmartContract(O, R, {
75
+ feeLimit: n,
76
+ callValue: F > 0n ? Number(F) : 0
77
+ }, z, A);
78
+ if (b) return V;
79
+ await C(x, A, O, P), await y(x, A, O, Array.from(P.entries()).map(([e, t]) => ({
68
80
  tokenAddress: e,
69
81
  requiredAmount: t
70
- }))), await h(r, g, "prooflessDeposit", t[r].contractData.hinkalABI, [
71
- y,
72
- a.map(String),
73
- b.map(String),
74
- d.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 o.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 (t, n, o, s, c, l = !1) => {
87
- let u = d(n), h = e(u), v = await t.getEthereumAddressByChain(u), S = s ?? n.map(() => p(t.userKeys));
88
- if (S.length !== n.length) throw Error("Stealth address structures length must be equal to erc20 tokens length");
89
- C(S);
90
- let w;
91
- if (h) {
92
- let e = await E(t, u, n, o, S, l);
93
- if (l) return e;
94
- w = e;
82
+ }))), await g(i, O, "prooflessDeposit", k, B, A, F > 0n ? F : void 0);
83
+ let H = await x.trx.sign(V), U = await x.trx.sendRawTransaction(H);
84
+ if (!U.result) throw o.error("Tron prooflessDeposit broadcast failed", U), Error("Tron prooflessDeposit broadcast failed");
85
+ let W = typeof U == "string" ? U : U?.txid ?? U?.transaction?.txID;
86
+ if (!W) throw Error("Tron prooflessDeposit failed (missing txid)");
87
+ return W;
88
+ }, O = async (t, n, o, s, c, l = !1, u = i, g = "", y, C = !1) => {
89
+ let O = f(n), k = e(O), A = await t.getEthereumAddressByChain(O), j = s ?? n.map(() => m(t.userKeys));
90
+ if (j.length !== n.length) throw Error("Stealth address structures length must be equal to erc20 tokens length");
91
+ if (w(j), s && !c) throw Error("recipientEncryptionKeysOverride is required whenever stealthAddressStructuresOverride is provided");
92
+ if (c && c.length !== n.length) throw Error("recipientEncryptionKeysOverride length must be equal to erc20 tokens length");
93
+ let M = T(n, j, c ?? E(t.userKeys, n.length)), N;
94
+ if (k) {
95
+ let e = await D(t, O, n, o, j, M, l, u, g, C);
96
+ if (C) return e;
97
+ N = e;
95
98
  } else {
96
- let e = t.getContractWithSigner(u, a.HinkalContract), s = [
99
+ let e = u.feeAmount > 0n, i = e ? t.getContractWithSigner(O, d.HinkalWrapperContract) : t.getContractWithSigner(O, d.HinkalContract), s = e ? [
100
+ n.map(({ erc20TokenAddress: e }) => e),
101
+ o,
102
+ j,
103
+ M,
104
+ l,
105
+ u,
106
+ g
107
+ ] : [
97
108
  n.map(({ erc20TokenAddress: e }) => e),
98
109
  o,
99
- n.map(() => 0n),
100
- S
101
- ];
102
- if (l) return e.prooflessDeposit.populateTransaction(...s);
103
- let c = t.getProviderAdapter(u), d = b(n, o), f = n.reduce((e, t, n) => i(t.erc20TokenAddress, r) ? e + o[n] : e, 0n), p = d.filter(({ token: e, balance: t }) => !i(e.erc20TokenAddress, r) && t > 0n), h;
104
- if (p.length > 0 && await c.supportsBatchCall?.(u) && c.sendBatchCallsTransaction) {
105
- let t = g(p.map(({ token: e }) => e.erc20TokenAddress), p.map(({ balance: e }) => e), m(e), e, ...s, f);
106
- h = await c.sendBatchCallsTransaction(u, t);
110
+ j,
111
+ M,
112
+ l,
113
+ g
114
+ ], c = a(u.feeToken, r), f = n.reduce((e, t, n) => a(t.erc20TokenAddress, r) ? e + o[n] : e, 0n) + (c ? u.feeAmount : 0n);
115
+ if (C) return i.prooflessDeposit.populateTransaction(...s, { value: f > 0n ? f : void 0 });
116
+ let p = t.getProviderAdapter(O), m = x(!c && u.feeAmount > 0n ? [...n, {
117
+ erc20TokenAddress: u.feeToken,
118
+ chainId: O
119
+ }] : n, !c && u.feeAmount > 0n ? [...o, u.feeAmount] : o), y = m.filter(({ token: e, balance: t }) => !a(e.erc20TokenAddress, r) && t > 0n), b;
120
+ if (y.length > 0 && await p.supportsBatchCall?.(O) && p.sendBatchCallsTransaction) {
121
+ let t = _(y.map(({ token: e }) => e.erc20TokenAddress), y.map(({ balance: e }) => e), h(i), i, n.map(({ erc20TokenAddress: e }) => e), o, j, M, l, e ? u : void 0, g, f);
122
+ b = await p.sendBatchCallsTransaction(O, t);
107
123
  } else {
108
- await x(t, u, m(e), d);
109
- let n = await t.getEthereumAddressByChain(u), r = d.map(({ token: e, balance: t }) => ({
124
+ await S(t, O, h(i), m);
125
+ let e = await t.getEthereumAddressByChain(O), n = m.map(({ token: e, balance: t }) => ({
110
126
  tokenAddress: e.erc20TokenAddress,
111
127
  requiredAmount: t
112
128
  }));
113
- await _(t, u, n, m(e), r), h = await e.prooflessDeposit(...s, { value: f > 0n ? f : void 0 });
129
+ await v(t, O, e, h(i), n), b = await i.prooflessDeposit(...s, { value: f > 0n ? f : void 0 });
114
130
  }
115
- w = h.hash;
131
+ N = b.hash;
116
132
  }
117
- return y(f(c, u, n.map(({ erc20TokenAddress: e }) => e), o, v)), w;
118
- }, O = async (n, r, i, a, o, s, c) => {
119
- let l = a.map(() => i), u = i.erc20TokenAddress;
120
- return e(r) ? T(n, r, u, s, l, a, o, c) : t[r]?.contractData?.hinkalWrapperAddress ? w(n, r, u, s, l, a, o, c) : await D(n, l, a, o, c, !0);
133
+ return b(p(y, O, n.map(({ erc20TokenAddress: e }) => e), o, A)), N;
121
134
  };
122
135
  //#endregion
123
- export { D as hinkalProoflessDeposit, O as hinkalProoflessDepositWithPublicFee };
136
+ export { O as hinkalProoflessDeposit };
@@ -1 +1 @@
1
- const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../types/ethereum-network.types.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)t.caseInsensitiveEqual(s[c].token.erc20TokenAddress,e.zeroAddress)||await a.waitForEthereumTransactionConfirmation(i,(await r.getContractWithSigner(i,n.ContractType.ERC20Contract,s[c].token.erc20TokenAddress).approve(o,s[c].balance)).hash)},c=async(t,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 t.contract(r.ERC20ABI,s).allowance(n,i).call({from:n});if(BigInt(String(l))<c){let{transaction:r}=await t.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:e.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:i},{type:`uint256`,value:c.toString()}],n),a=await t.trx.sign(r),o=await t.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;
1
+ const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../crypto-keys/keys.cjs`),r=require(`../../externalABIs/index.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../functions/utils/token-check.utils.cjs`),o=require(`../crypto-keys/encryptDecryptUtxo.cjs`),s=require(`../../functions/utils/tx-confirmation.utils.cjs`);var c=(e,t,n)=>{if(t.length!==e.length||n.length!==e.length)throw Error(`erc20Tokens, stealthAddressStructures and recipientEncryptionKeys must have equal length`);return t.map((e,t)=>{let r=n[t];if(!r)throw Error(`Missing encryptionKey for proofless deposit output ${t}: required so the enclave can attribute this UTXO to its owner`);return`0x${Buffer.from(o.encryptEncryptionKeyAndStealthAddress(r,e.stealthAddress)).toString(`hex`)}`})},l=(e,t)=>{let r=n.UserKeys.getEncryptionKeyPair(e.getShieldedPrivateKey()).publicKey;return Array.from({length:t},()=>r)},u=(e,t)=>{let n=[],r=0;for(let i=0;i<e.length;i+=1){let o=!1;for(let s=0;s<r;s+=1)if(a.isSameERC20Token(n[s].token,e[i])){n[s].balance+=t[i],o=!0;break}o||(n[r]={token:e[i],balance:t[i]},r+=1)}return n},d=async(n,r,a,o)=>{for(let c=0;c<o.length;c+=1)t.caseInsensitiveEqual(o[c].token.erc20TokenAddress,e.zeroAddress)||await s.waitForEthereumTransactionConfirmation(r,(await n.getContractWithSigner(r,i.ContractType.ERC20Contract,o[c].token.erc20TokenAddress).approve(a,o[c].balance)).hash)},f=async(t,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 t.contract(r.ERC20ABI,s).allowance(n,i).call({from:n});if(BigInt(String(l))<c){let{transaction:r}=await t.transactionBuilder.triggerSmartContract(s,`approve(address,uint256)`,{feeLimit:e.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:i},{type:`uint256`,value:c.toString()}],n),a=await t.trx.sign(r),o=await t.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}`)}}}},p=e=>{let t=new Set;e.forEach(({H0x: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=u,exports.approveTokens=d,exports.approveTronTokens=f,exports.assertNoDuplicateStealthAddressStructures=p,exports.buildProoflessEncryptedOutputs=c,exports.getOwnRecipientEncryptionKeys=l;
@@ -1,6 +1,9 @@
1
1
  import { ERC20Token, TokenBalance } from '../../types/token.types';
2
2
  import { StealthAddressStructure } from '../../types/circom-data.types';
3
+ import { UserKeys } from '../crypto-keys/keys';
3
4
  import { IHinkal } from './IHinkal';
5
+ export declare const buildProoflessEncryptedOutputs: (erc20Tokens: ERC20Token[], stealthAddressStructures: StealthAddressStructure[], recipientEncryptionKeys: string[]) => string[];
6
+ export declare const getOwnRecipientEncryptionKeys: (userKeys: UserKeys, count: number) => string[];
4
7
  export declare const aggregateAmountsForApproval: (erc20Tokens: ERC20Token[], amounts: bigint[]) => TokenBalance[];
5
8
  export declare const approveTokens: (hinkal: IHinkal, chainId: number, spenderAddress: string, tokensWithBalances: TokenBalance[]) => Promise<void>;
6
9
  export declare const approveTronTokens: (tronWeb: any, ethereumAddress: string, spenderAddress: string, tokensNeedingApproval: Map<string, bigint>) => Promise<void>;
@@ -1,27 +1,39 @@
1
1
  import { TRON_DEFAULT_FEE_LIMIT_SUN as e, zeroAddress as t } from "../../constants/protocol.constants.mjs";
2
2
  import { caseInsensitiveEqual as n } from "../../functions/utils/caseInsensitive.utils.mjs";
3
- import { ContractType as r } from "../../types/ethereum-network.types.mjs";
3
+ import { UserKeys as r } from "../crypto-keys/keys.mjs";
4
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";
5
+ import { ContractType as a } from "../../types/ethereum-network.types.mjs";
6
+ import { isSameERC20Token as o } from "../../functions/utils/token-check.utils.mjs";
7
+ import { encryptEncryptionKeyAndStealthAddress as s } from "../crypto-keys/encryptDecryptUtxo.mjs";
8
+ import { waitForEthereumTransactionConfirmation as c } from "../../functions/utils/tx-confirmation.utils.mjs";
7
9
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
8
- var s = (e, t) => {
10
+ var l = (e, t, n) => {
11
+ if (t.length !== e.length || n.length !== e.length) throw Error("erc20Tokens, stealthAddressStructures and recipientEncryptionKeys must have equal length");
12
+ return t.map((e, t) => {
13
+ let r = n[t];
14
+ if (!r) throw Error(`Missing encryptionKey for proofless deposit output ${t}: required so the enclave can attribute this UTXO to its owner`);
15
+ return `0x${Buffer.from(s(r, e.stealthAddress)).toString("hex")}`;
16
+ });
17
+ }, u = (e, t) => {
18
+ let n = r.getEncryptionKeyPair(e.getShieldedPrivateKey()).publicKey;
19
+ return Array.from({ length: t }, () => n);
20
+ }, d = (e, t) => {
9
21
  let n = [], r = 0;
10
22
  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;
23
+ let a = !1;
24
+ for (let s = 0; s < r; s += 1) if (o(n[s].token, e[i])) {
25
+ n[s].balance += t[i], a = !0;
14
26
  break;
15
27
  }
16
- o || (n[r] = {
28
+ a || (n[r] = {
17
29
  token: e[i],
18
30
  balance: t[i]
19
31
  }, r += 1);
20
32
  }
21
33
  return n;
22
- }, c = async (e, i, a, s) => {
23
- for (let c = 0; c < s.length; c += 1) n(s[c].token.erc20TokenAddress, t) || await o(i, (await e.getContractWithSigner(i, r.ERC20Contract, s[c].token.erc20TokenAddress).approve(a, s[c].balance)).hash);
24
- }, l = async (t, n, r, a) => {
34
+ }, f = async (e, r, i, o) => {
35
+ for (let s = 0; s < o.length; s += 1) n(o[s].token.erc20TokenAddress, t) || await c(r, (await e.getContractWithSigner(r, a.ERC20Contract, o[s].token.erc20TokenAddress).approve(i, o[s].balance)).hash);
36
+ }, p = async (t, n, r, a) => {
25
37
  let o = Array.from(a.entries());
26
38
  for (let a = 0; a < o.length; a += 1) {
27
39
  let [s, c] = o[a], l = await t.contract(i, s).allowance(n, r).call({ from: n });
@@ -39,13 +51,13 @@ var s = (e, t) => {
39
51
  }
40
52
  }
41
53
  }
42
- }, u = (e) => {
54
+ }, m = (e) => {
43
55
  let t = /* @__PURE__ */ new Set();
44
- e.forEach(({ extraRandomization: e, stealthAddress: n }) => {
56
+ e.forEach(({ H0x: e, stealthAddress: n }) => {
45
57
  let r = `${e.toString()}:${n.toString()}`;
46
58
  if (t.has(r)) throw Error("Duplicate randomization and stealth address pair detected in stealthAddressStructures");
47
59
  t.add(r);
48
60
  });
49
61
  };
50
62
  //#endregion
51
- export { s as aggregateAmountsForApproval, c as approveTokens, l as approveTronTokens, u as assertNoDuplicateStealthAddressStructures };
63
+ export { d as aggregateAmountsForApproval, f as approveTokens, p as approveTronTokens, m as assertNoDuplicateStealthAddressStructures, l as buildProoflessEncryptedOutputs, u as getOwnRecipientEncryptionKeys };
@@ -1 +1 @@
1
- const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../functions/utils/addresses.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),a=require(`../AccountActions/AccountActions.cjs`),o=require(`../../functions/pre-transaction/getFeeStructure.cjs`),s=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),c=require(`../../functions/private-wallet/emporium.helpers.cjs`);var l=async(l,u,d,f,p,m,h,g)=>{if(!h)throw Error(`hinkalProxyToPrivate: subAccount should be provided`);if(!p)throw Error(`Fee token is required in hinkalProxyToPrivate`);if(!n.isValidPrivateAddress(f))throw Error(e.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let _=r.validateAndGetChainId(u),v=a.AccountActions.getAddressFromSubAccount(_,h);if(!v)throw Error(`Public account address is not available`);let y=u.map(e=>e.erc20TokenAddress),b=await i.modifyVolatileTokenAmountChanges(_,u,d,v),x=c.createTransaferEmporiumOpsBatch(l,_,y,b),S=m??await o.getFeeStructure(_,p,y,t.ExternalActionId.Emporium,x.map(e=>s.convertEmporiumOpToCallInfo(e,v,_))),C=u.map((e,t)=>({token:e,amount:-1n*b[t]}));return l.actionPrivateWallet(_,[u[0]],[0n],[!1],x,C,h,p,S,void 0,void 0,void 0,g,{recipientInfo:f,amount:b[0],token:u[0]})};exports.hinkalProxyToPrivate=l;
1
+ const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../functions/utils/addresses.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),a=require(`../AccountActions/AccountActions.cjs`),o=require(`../../functions/pre-transaction/getFeeStructure.cjs`),s=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),c=require(`../../functions/private-wallet/emporium.helpers.cjs`);var l=async(l,u,d,f,p,m,h,g)=>{if(!h)throw Error(`hinkalProxyToPrivate: subAccount should be provided`);if(!p)throw Error(`Fee token is required in hinkalProxyToPrivate`);if(!t.isValidPrivateAddress(f))throw Error(e.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let _=r.validateAndGetChainId(u),v=a.AccountActions.getAddressFromSubAccount(_,h);if(!v)throw Error(`Public account address is not available`);let y=u.map(e=>e.erc20TokenAddress),b=await i.modifyVolatileTokenAmountChanges(_,u,d,v),x=c.createTransaferEmporiumOpsBatch(l,_,y,b),S=m??await o.getFeeStructure(_,p,y,n.ExternalActionId.Emporium,x.map(e=>s.convertEmporiumOpToCallInfo(e,v,_))),C=u.map((e,t)=>({token:e,amount:-1n*b[t]}));return l.actionPrivateWallet(_,[u[0]],[0n],[!1],x,C,h,p,S,void 0,void 0,void 0,g,{recipientInfo:f,amount:b[0],token:u[0]})};exports.hinkalProxyToPrivate=l;
@@ -1,6 +1,6 @@
1
1
  import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
2
- import { ExternalActionId as t } from "../../types/external-action.types.mjs";
3
- import { isValidPrivateAddress as n } from "../../functions/utils/addresses.mjs";
2
+ import { isValidPrivateAddress as t } from "../../functions/utils/addresses.mjs";
3
+ import { ExternalActionId as n } from "../../types/external-action.types.mjs";
4
4
  import { validateAndGetChainId as r } from "../../functions/utils/token-check.utils.mjs";
5
5
  import { modifyVolatileTokenAmountChanges as i } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
6
6
  import { AccountActions as a } from "../AccountActions/AccountActions.mjs";
@@ -11,10 +11,10 @@ import { createTransaferEmporiumOpsBatch as c } from "../../functions/private-wa
11
11
  var l = async (l, u, d, f, p, m, h, g) => {
12
12
  if (!h) throw Error("hinkalProxyToPrivate: subAccount should be provided");
13
13
  if (!p) throw Error("Fee token is required in hinkalProxyToPrivate");
14
- if (!n(f)) throw Error(e.RECIPIENT_FORMAT_INCORRECT);
14
+ if (!t(f)) throw Error(e.RECIPIENT_FORMAT_INCORRECT);
15
15
  let _ = r(u), v = a.getAddressFromSubAccount(_, h);
16
16
  if (!v) throw Error("Public account address is not available");
17
- let y = u.map((e) => e.erc20TokenAddress), b = await i(_, u, d, v), x = c(l, _, y, b), S = m ?? await o(_, p, y, t.Emporium, x.map((e) => s(e, v, _))), C = u.map((e, t) => ({
17
+ let y = u.map((e) => e.erc20TokenAddress), b = await i(_, u, d, v), x = c(l, _, y, b), S = m ?? await o(_, p, y, n.Emporium, x.map((e) => s(e, v, _))), C = u.map((e, t) => ({
18
18
  token: e,
19
19
  amount: -1n * b[t]
20
20
  }));