@hinkal/common 0.3.2 → 0.3.4

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 (452) hide show
  1. package/README.md +16 -19
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +5 -5
  4. package/common/src/API/API.mjs +78 -78
  5. package/common/src/API/callRelayer.d.ts +3 -0
  6. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  7. package/common/src/API/enclaveUtxoCalls.d.ts +8 -7
  8. package/common/src/API/enclaveUtxoCalls.mjs +5 -3
  9. package/common/src/API/getOdosPriceForToken.cjs +1 -0
  10. package/common/src/API/getOdosPriceForToken.d.ts +1 -0
  11. package/common/src/API/getOdosPriceForToken.mjs +14 -0
  12. package/common/src/API/getWebsiteURL.d.ts +0 -1
  13. package/common/src/API/index.cjs +1 -1
  14. package/common/src/API/index.d.ts +0 -1
  15. package/common/src/API/index.mjs +1 -2
  16. package/common/src/API/rewardsUserCalls.cjs +1 -1
  17. package/common/src/API/rewardsUserCalls.d.ts +0 -2
  18. package/common/src/API/rewardsUserCalls.mjs +2 -3
  19. package/common/src/API/tenderly.api.cjs +1 -1
  20. package/common/src/API/tenderly.api.d.ts +5 -10
  21. package/common/src/API/tenderly.api.mjs +1 -1
  22. package/common/src/constants/addresses.constants.cjs +1 -1
  23. package/common/src/constants/addresses.constants.d.ts +4 -46
  24. package/common/src/constants/addresses.constants.mjs +19 -60
  25. package/common/src/constants/balance.constants.cjs +1 -0
  26. package/common/src/constants/balance.constants.d.ts +1 -0
  27. package/common/src/constants/balance.constants.mjs +4 -0
  28. package/common/src/constants/chains.constants.cjs +1 -1
  29. package/common/src/constants/chains.constants.d.ts +3 -1
  30. package/common/src/constants/chains.constants.mjs +117 -131
  31. package/common/src/constants/coingecko.constants.cjs +1 -1
  32. package/common/src/constants/coingecko.constants.d.ts +2 -0
  33. package/common/src/constants/coingecko.constants.mjs +1 -1
  34. package/common/src/constants/contracts.constants.cjs +1 -1
  35. package/common/src/constants/contracts.constants.d.ts +0 -109
  36. package/common/src/constants/contracts.constants.mjs +13 -22
  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 +1 -3
  39. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +6 -6
  41. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +1 -3
  43. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -0
  44. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +10 -0
  45. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +1 -3
  47. package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  48. package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +0 -3
  49. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  50. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +6 -8
  51. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +1 -4
  53. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +1 -3
  55. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -1
  56. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +0 -1
  57. package/common/src/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  58. package/common/src/constants/deploy-data/deploy-data-solana.json.mjs +2 -2
  59. package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
  60. package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +6 -7
  61. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  62. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +2 -4
  63. package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  64. package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +2 -4
  65. package/common/src/constants/deploy-data/index.cjs +1 -1
  66. package/common/src/constants/deploy-data/index.d.ts +2 -1
  67. package/common/src/constants/deploy-data/index.mjs +16 -15
  68. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  69. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  70. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  71. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +2 -35
  72. package/common/src/constants/events.constants.cjs +1 -1
  73. package/common/src/constants/events.constants.mjs +3 -2
  74. package/common/src/constants/fees.constants.cjs +1 -1
  75. package/common/src/constants/fees.constants.mjs +2 -2
  76. package/common/src/constants/index.cjs +1 -1
  77. package/common/src/constants/index.d.ts +0 -1
  78. package/common/src/constants/index.mjs +1 -0
  79. package/common/src/constants/protocol.constants.cjs +2 -2
  80. package/common/src/constants/protocol.constants.d.ts +3 -1
  81. package/common/src/constants/protocol.constants.mjs +2 -2
  82. package/common/src/constants/server.constants.cjs +1 -1
  83. package/common/src/constants/server.constants.d.ts +1 -2
  84. package/common/src/constants/server.constants.mjs +1 -2
  85. package/common/src/constants/tokens.constants.cjs +1 -1
  86. package/common/src/constants/tokens.constants.mjs +1 -1
  87. package/common/src/crypto/index.cjs +1 -1
  88. package/common/src/crypto/index.d.ts +0 -1
  89. package/common/src/crypto/index.mjs +0 -1
  90. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  91. package/common/src/data-structures/Hinkal/Hinkal.mjs +26 -22
  92. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  93. package/common/src/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  94. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +36 -35
  95. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +3 -3
  97. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  98. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +60 -58
  99. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +42 -47
  101. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalDeposit.d.ts +1 -0
  103. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +50 -116
  104. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +102 -92
  106. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
  108. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +104 -59
  109. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  110. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +4 -4
  111. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  112. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +7 -3
  113. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  114. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +51 -39
  115. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -2
  117. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +53 -131
  118. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  119. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +1 -1
  120. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +29 -47
  121. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  122. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +3 -3
  123. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  124. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +70 -45
  125. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  126. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
  127. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +47 -45
  128. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  129. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +8 -4
  130. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +133 -81
  131. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
  132. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
  133. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +16 -12
  134. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +2 -2
  136. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +61 -54
  137. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  138. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
  139. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  140. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +87 -51
  141. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  142. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -0
  143. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +95 -50
  144. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  145. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +60 -34
  146. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  147. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +29 -32
  148. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -0
  149. package/common/src/data-structures/Hinkal/hinkalTransact.d.ts +3 -0
  150. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +90 -0
  151. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  152. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +40 -45
  153. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +1 -0
  154. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +8 -0
  155. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +30 -0
  156. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  157. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -45
  158. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  159. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +167 -95
  160. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +1 -0
  161. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.d.ts +27 -0
  162. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +31 -0
  163. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  164. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -0
  165. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  166. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  167. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  168. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  169. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  170. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +11 -10
  171. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  172. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +14 -14
  173. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  174. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +26 -26
  175. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  176. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +15 -15
  177. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
  178. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +12 -16
  179. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  180. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +1 -0
  181. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +8 -4
  182. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  183. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +1 -0
  184. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +12 -12
  185. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  186. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +12 -12
  187. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  188. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  189. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  190. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +27 -23
  191. package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
  192. package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +10 -0
  193. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +9 -1
  194. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  195. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +3 -0
  196. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +64 -54
  197. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  198. package/common/src/error-handling/error-codes.constants.d.ts +6 -11
  199. package/common/src/error-handling/error-codes.constants.mjs +8 -13
  200. package/common/src/error-handling/get-error.message.cjs +1 -1
  201. package/common/src/error-handling/get-error.message.mjs +27 -14
  202. package/common/src/externalABIs/index.cjs +1 -1
  203. package/common/src/externalABIs/index.d.ts +1 -113
  204. package/common/src/externalABIs/index.mjs +2 -6
  205. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  206. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  207. package/common/src/functions/index.cjs +1 -1
  208. package/common/src/functions/index.d.ts +0 -1
  209. package/common/src/functions/index.mjs +12 -15
  210. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
  211. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +39 -5
  212. package/common/src/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  213. package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +2 -18
  214. package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  215. package/common/src/functions/pre-transaction/getSolanaCalldataHash.d.ts +1 -1
  216. package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +11 -10
  217. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  218. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
  219. package/common/src/functions/pre-transaction/index.cjs +1 -1
  220. package/common/src/functions/pre-transaction/index.d.ts +1 -2
  221. package/common/src/functions/pre-transaction/index.mjs +1 -2
  222. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  223. package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  224. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +7 -8
  225. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  226. package/common/src/functions/pre-transaction/solana.d.ts +13 -0
  227. package/common/src/functions/pre-transaction/solana.mjs +46 -22
  228. package/common/src/functions/pre-transaction/store-proof.cjs +1 -1
  229. package/common/src/functions/pre-transaction/store-proof.d.ts +1 -1
  230. package/common/src/functions/pre-transaction/store-proof.mjs +1 -0
  231. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -1
  232. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
  233. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  234. package/common/src/functions/private-wallet/emporium.helpers.mjs +12 -13
  235. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  236. package/common/src/functions/private-wallet/emporium.swap.helpers.d.ts +0 -1
  237. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +38 -80
  238. package/common/src/functions/private-wallet/index.cjs +1 -1
  239. package/common/src/functions/private-wallet/index.d.ts +0 -1
  240. package/common/src/functions/private-wallet/index.mjs +0 -1
  241. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  242. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -2
  243. package/common/src/functions/snarkjs/common.snarkjs.mjs +89 -52
  244. package/common/src/functions/snarkjs/constant.cjs +1 -1
  245. package/common/src/functions/snarkjs/constant.d.ts +32 -0
  246. package/common/src/functions/snarkjs/constant.mjs +32 -0
  247. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  248. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  249. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +78 -65
  250. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  251. package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +4 -1
  252. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +44 -39
  253. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -0
  254. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +32 -0
  255. package/common/src/functions/snarkjs/constructTxEnclave.mjs +162 -0
  256. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.cjs +1 -0
  257. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.d.ts +7 -0
  258. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.mjs +13 -0
  259. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  260. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  261. package/common/src/functions/snarkjs/generateCircomData.mjs +33 -27
  262. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -1
  263. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +1 -1
  264. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +7 -7
  265. package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
  266. package/common/src/functions/snarkjs/generateZkProof.d.ts +1 -1
  267. package/common/src/functions/snarkjs/generateZkProof.mjs +9 -16
  268. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  269. package/common/src/functions/snarkjs/signedMessageHash.d.ts +11 -0
  270. package/common/src/functions/snarkjs/signedMessageHash.mjs +21 -3
  271. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.cjs +1 -0
  272. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.d.ts +1 -0
  273. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.mjs +11 -0
  274. package/common/src/functions/utils/addresses.cjs +1 -1
  275. package/common/src/functions/utils/addresses.d.ts +1 -0
  276. package/common/src/functions/utils/addresses.mjs +6 -2
  277. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +2 -2
  278. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
  279. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +1 -1
  280. package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
  281. package/common/src/functions/utils/deposit-claimable.utils.d.ts +1 -1
  282. package/common/src/functions/utils/deposit-claimable.utils.mjs +3 -1
  283. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  284. package/common/src/functions/utils/enclave-utxo-storage.mjs +1 -1
  285. package/common/src/functions/utils/fees.utils.cjs +1 -1
  286. package/common/src/functions/utils/fees.utils.mjs +31 -31
  287. package/common/src/functions/utils/formatter.d.ts +1 -0
  288. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  289. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +6 -6
  290. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  291. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +11 -10
  292. package/common/src/functions/utils/index.cjs +1 -1
  293. package/common/src/functions/utils/index.d.ts +2 -2
  294. package/common/src/functions/utils/index.mjs +11 -10
  295. package/common/src/functions/utils/process.utils.cjs +1 -1
  296. package/common/src/functions/utils/process.utils.d.ts +0 -1
  297. package/common/src/functions/utils/process.utils.mjs +2 -11
  298. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  299. package/common/src/functions/utils/publicBalance.utils.mjs +2 -1
  300. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
  301. package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -2
  302. package/common/src/functions/utils/tron.utils.cjs +1 -1
  303. package/common/src/functions/utils/tron.utils.d.ts +5 -14
  304. package/common/src/functions/utils/tron.utils.mjs +91 -127
  305. package/common/src/functions/utils/waasStamp.cjs +1 -0
  306. package/common/src/functions/utils/waasStamp.d.ts +5 -0
  307. package/common/src/functions/utils/waasStamp.mjs +2 -0
  308. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  309. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -8
  310. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +44 -48
  311. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  312. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +4 -3
  313. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +34 -25
  314. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  315. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  316. package/common/src/functions/web3/events/getShieldedBalance.mjs +88 -76
  317. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  318. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -6
  319. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  320. package/common/src/functions/web3/functionCalls/approveToken.mjs +12 -12
  321. package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -0
  322. package/common/src/functions/web3/functionCalls/submitProof.d.ts +5 -0
  323. package/common/src/functions/web3/functionCalls/submitProof.mjs +26 -0
  324. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  325. package/common/src/functions/web3/functionCalls/transactCallDirectTron.d.ts +7 -3
  326. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +81 -87
  327. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  328. package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +6 -11
  329. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +4 -2
  330. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  331. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  332. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  333. package/common/src/functions/web3/getContractMetadata.mjs +1 -1
  334. package/common/src/functions/web3/getTokenHolder.cjs +1 -1
  335. package/common/src/functions/web3/getTokenHolder.mjs +3 -2
  336. package/common/src/functions/web3/index.cjs +1 -1
  337. package/common/src/functions/web3/index.d.ts +0 -3
  338. package/common/src/functions/web3/index.mjs +0 -3
  339. package/common/src/functions/web3/lifiAPI.cjs +1 -1
  340. package/common/src/functions/web3/lifiAPI.mjs +1 -1
  341. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  342. package/common/src/providers/TronProviderAdapter.mjs +7 -1
  343. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  344. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  345. package/common/src/types/activities.types.cjs +1 -1
  346. package/common/src/types/activities.types.d.ts +0 -9
  347. package/common/src/types/activities.types.mjs +1 -1
  348. package/common/src/types/admin.types.cjs +1 -1
  349. package/common/src/types/admin.types.d.ts +3 -1
  350. package/common/src/types/admin.types.mjs +1 -1
  351. package/common/src/types/bridging-tx.types.d.ts +8 -0
  352. package/common/src/types/cache.types.cjs +1 -1
  353. package/common/src/types/cache.types.d.ts +2 -1
  354. package/common/src/types/cache.types.mjs +1 -1
  355. package/common/src/types/circom-data.types.d.ts +6 -0
  356. package/common/src/types/commitments.types.d.ts +2 -0
  357. package/common/src/types/dashboard-transaction.types.d.ts +3 -0
  358. package/common/src/types/ethereum-network.types.cjs +1 -1
  359. package/common/src/types/ethereum-network.types.d.ts +6 -15
  360. package/common/src/types/ethereum-network.types.mjs +1 -1
  361. package/common/src/types/external-action.types.cjs +1 -1
  362. package/common/src/types/external-action.types.d.ts +2 -5
  363. package/common/src/types/external-action.types.mjs +1 -1
  364. package/common/src/types/hinkal.types.cjs +1 -1
  365. package/common/src/types/hinkal.types.d.ts +4 -7
  366. package/common/src/types/hinkal.types.mjs +1 -1
  367. package/common/src/types/index.cjs +1 -1
  368. package/common/src/types/index.d.ts +2 -0
  369. package/common/src/types/index.mjs +1 -0
  370. package/common/src/types/near-intents.types.d.ts +1 -0
  371. package/common/src/types/offscreen.types.cjs +1 -1
  372. package/common/src/types/offscreen.types.d.ts +0 -1
  373. package/common/src/types/offscreen.types.mjs +1 -1
  374. package/common/src/types/pay-activities.types.d.ts +3 -0
  375. package/common/src/types/remote-proof.types.d.ts +0 -6
  376. package/common/src/types/remote-tx-build.types.d.ts +242 -0
  377. package/common/src/types/scheduled-transactions.types.d.ts +3 -0
  378. package/common/src/types/solana.types.d.ts +7 -0
  379. package/common/src/types/tenderly.api.types.d.ts +70 -0
  380. package/common/src/types/transact.types.cjs +1 -0
  381. package/common/src/types/transact.types.d.ts +53 -0
  382. package/common/src/types/transact.types.mjs +6 -0
  383. package/common/src/webworker/{logError-uy41lNp1.js → logError-CxZzSALU.js} +1 -1
  384. package/common/src/webworker/package.json +12 -12
  385. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  386. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  387. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  388. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  389. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  390. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  391. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  392. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  393. package/common/src/webworker/workerProxy-swwPYw6e.js +1 -0
  394. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  395. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  396. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  397. package/index.cjs +1 -1
  398. package/index.mjs +1 -1
  399. package/internal/swapApi.cjs +1 -1
  400. package/internal/swapApi.d.ts +3 -3
  401. package/internal/swapApi.mjs +22 -25
  402. package/package.json +12 -12
  403. package/services/Hinkal.cjs +1 -1
  404. package/services/Hinkal.d.ts +3 -3
  405. package/services/Hinkal.mjs +7 -7
  406. package/types/IHinkal.d.ts +3 -3
  407. package/types/swap.types.d.ts +3 -20
  408. package/common/src/API/callOdosAPI.cjs +0 -1
  409. package/common/src/API/callOdosAPI.d.ts +0 -63
  410. package/common/src/API/callOdosAPI.mjs +0 -18
  411. package/common/src/API/callOneInchAPI.cjs +0 -1
  412. package/common/src/API/callOneInchAPI.d.ts +0 -24
  413. package/common/src/API/callOneInchAPI.mjs +0 -16
  414. package/common/src/constants/rewards.constants.d.ts +0 -2
  415. package/common/src/crypto/ecdh-dual-path.cjs +0 -1
  416. package/common/src/crypto/ecdh-dual-path.d.ts +0 -13
  417. package/common/src/crypto/ecdh-dual-path.mjs +0 -6
  418. package/common/src/externalABIs/IQuoterV2.json.cjs +0 -1
  419. package/common/src/externalABIs/IQuoterV2.json.mjs +0 -203
  420. package/common/src/externalABIs/ISwapRouter.json.cjs +0 -1
  421. package/common/src/externalABIs/ISwapRouter.json.mjs +0 -537
  422. package/common/src/externalABIs/IUniswapV3Factory.json.cjs +0 -1
  423. package/common/src/externalABIs/IUniswapV3Factory.json.mjs +0 -188
  424. package/common/src/externalABIs/IUniswapV3Pool.json.cjs +0 -1
  425. package/common/src/externalABIs/IUniswapV3Pool.json.mjs +0 -938
  426. package/common/src/externalABIs/UniswapV2PoolAbi.json.cjs +0 -1
  427. package/common/src/externalABIs/UniswapV2PoolAbi.json.mjs +0 -78
  428. package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
  429. package/common/src/functions/pre-transaction/interaction-to-action.d.ts +0 -2
  430. package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
  431. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +0 -1
  432. package/common/src/functions/pre-transaction/recipientUtxoProcessing.d.ts +0 -3
  433. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +0 -30
  434. package/common/src/functions/private-wallet/opProducer.cjs +0 -1
  435. package/common/src/functions/private-wallet/opProducer.d.ts +0 -5
  436. package/common/src/functions/private-wallet/opProducer.mjs +0 -3
  437. package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +0 -1
  438. package/common/src/functions/snarkjs/generateZkProofEnclave.d.ts +0 -5
  439. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -27
  440. package/common/src/functions/utils/get-signature-header.cjs +0 -1
  441. package/common/src/functions/utils/get-signature-header.d.ts +0 -5
  442. package/common/src/functions/utils/get-signature-header.mjs +0 -4
  443. package/common/src/functions/web3/odosAPI.cjs +0 -1
  444. package/common/src/functions/web3/odosAPI.d.ts +0 -5
  445. package/common/src/functions/web3/odosAPI.mjs +0 -35
  446. package/common/src/functions/web3/oneInchAPI.cjs +0 -1
  447. package/common/src/functions/web3/oneInchAPI.d.ts +0 -5
  448. package/common/src/functions/web3/oneInchAPI.mjs +0 -44
  449. package/common/src/functions/web3/uniswapAPI.cjs +0 -1
  450. package/common/src/functions/web3/uniswapAPI.d.ts +0 -16
  451. package/common/src/functions/web3/uniswapAPI.mjs +0 -60
  452. package/common/src/webworker/workerProxy-MheXtWa4.js +0 -1
@@ -1,118 +1,128 @@
1
- import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
- import { PAY_SEND_VARIABLE_RATE as t, zeroAddress as n } from "../../constants/protocol.constants.mjs";
3
- import { caseInsensitiveEqual as r } from "../../functions/utils/caseInsensitive.utils.mjs";
4
- import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
5
- import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
6
- import { Utxo as o } from "../utxo/Utxo.mjs";
7
- import { hashEthereumAddress as s, hashString as c } from "../../functions/utils/addresses.mjs";
8
- import { ExternalActionId as l } from "../../types/external-action.types.mjs";
9
- import { DepositAndWithdrawPhase as u } from "../../types/scheduled-transactions.types.mjs";
1
+ import { getOnchainChainId as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
2
+ import { PAY_SEND_VARIABLE_RATE as n, zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
+ import { caseInsensitiveEqual as i } from "../../functions/utils/caseInsensitive.utils.mjs";
4
+ import { poseidonFunction as a } from "../../crypto/poseidon.mjs";
5
+ import { transactionErrorCodes as o } from "../../error-handling/error-codes.constants.mjs";
6
+ import { randomBigInt as s } from "../../functions/web3/etherFunctions.mjs";
7
+ import { hashEthereumAddress as c, hashString as l } from "../../functions/utils/addresses.mjs";
8
+ import { ExternalActionId as u } from "../../types/external-action.types.mjs";
9
+ import { DepositAndWithdrawPhase as d } from "../../types/scheduled-transactions.types.mjs";
10
+ import { SubmitMode as f } from "../../types/transact.types.mjs";
10
11
  import "../../types/index.mjs";
11
- import { API as d } from "../../API/API.mjs";
12
- import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
13
- import { getErc20TokenFromAPI as p } from "../../functions/utils/erc20tokenFunctions.mjs";
14
- import { constructAdminData as m } from "../../functions/pre-transaction/constructAdminData.mjs";
15
- import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStructure.mjs";
16
- import { waitForDepositedUtxosInMerkleTree as g } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
17
- import { SWAP_ROUTER_ADDRESSES as _ } from "../../constants/addresses.constants.mjs";
18
- import { convertEmporiumOpToCallInfo as v } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
19
- import { calculateGrossAmountWithFee as y } from "../../functions/utils/fees.utils.mjs";
20
- import "../../functions/utils/index.mjs";
21
- import { createLifiBridgeOps as b, getAuthorizationDataIfNeeded as x } from "../../functions/private-wallet/emporium.helpers.mjs";
22
- import { constructZkProof as S } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
12
+ import { API as p } from "../../API/API.mjs";
13
+ import { validateAndGetChainId as m } from "../../functions/utils/token-check.utils.mjs";
14
+ import { getErc20TokenFromAPI as h } from "../../functions/utils/erc20tokenFunctions.mjs";
15
+ import { constructAdminData as g } from "../../functions/pre-transaction/constructAdminData.mjs";
16
+ import { AccountActions as _ } from "../AccountActions/AccountActions.mjs";
17
+ import { getFeeStructure as v } from "../../functions/pre-transaction/getFeeStructure.mjs";
18
+ import { waitForDepositedUtxosInMerkleTree as y } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
19
+ import { createLifiBridgeOps as b, encodeEmporiumMetadata as x, getAuthorizationDataIfNeeded as S } from "../../functions/private-wallet/emporium.helpers.mjs";
23
20
  import { transactCallRelayerBatch as C } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
24
- import { safeUpdateDepositAndWithdrawStatus as w } from "../../API/deposit-and-withdraw-status-calls.mjs";
25
- import { hinkalDepositOnChainUtxos as T } from "./hinkalDepositOnChainUtxos.mjs";
21
+ import { hinkalTransact as w } from "./hinkalTransact.mjs";
22
+ import { SWAP_ROUTER_ADDRESSES as T } from "../../constants/addresses.constants.mjs";
23
+ import { safeUpdateDepositAndWithdrawStatus as E } from "../../API/deposit-and-withdraw-status-calls.mjs";
24
+ import { hinkalDepositOnChainUtxos as D } from "./hinkalDepositOnChainUtxos.mjs";
25
+ import { convertEmporiumOpToCallInfo as O } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
26
+ import { calculateGrossAmountWithFee as k } from "../../functions/utils/fees.utils.mjs";
27
+ import "../../functions/utils/index.mjs";
26
28
  import "../../functions/index.mjs";
27
29
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
28
- var E = async (t, s, c, f, p, h, g, v, y, T, E) => {
29
- if (f.length === 0) throw Error("No recipients to bridge");
30
- let D = c.erc20TokenAddress, { contractData: O } = e[s], { emporiumAddress: k } = O;
31
- if (!k) throw Error("No Emporium Address");
32
- let A = _[l.Lifi][s];
33
- if (!A) throw Error(`LIFI not configured for chain ${s}`);
34
- let j = await t.getRandomRelay(s);
35
- if (!j) throw Error(i.RELAYER_NOT_AVAILABLE);
36
- let M = await t.getEthereumAddressByChain(s), N = a().toString(), P = t.generateProofRemotely ? 5 : 1, F = [];
37
- for (let e = 0; e < f.length; e += P) {
38
- let i = f.slice(e, e + P), a = await Promise.all(i.map(async ({ utxo: e, nativeUtxo: i, bridgeAmount: a, quote: c, temporarySubAccount: u, recipientAddress: f }) => {
39
- await d.addTemporaryWalletNonce(s, h, u.index);
40
- let g = r(D, n), _ = c.nativeFee > 0n && !g, v = [D], y = [-e.amount], C = [!1], w = new o({
41
- amount: 0n,
42
- erc20TokenAddress: D,
43
- nullifyingKey: t.userKeys.getShieldedPrivateKey(),
44
- timeStamp: N,
45
- spendingPublicKey: t.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
46
- }), E = [[e, w]], O = [[w]];
47
- if (_ && i) {
48
- let e = new o({
49
- amount: 0n,
50
- erc20TokenAddress: n,
51
- nullifyingKey: t.userKeys.getShieldedPrivateKey(),
52
- timeStamp: N,
53
- spendingPublicKey: t.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
30
+ var A = async (n, c, l, m, h, v, y, D, O, k, A) => {
31
+ if (m.length === 0) throw Error("No recipients to bridge");
32
+ let j = l.erc20TokenAddress, { contractData: M } = t[c], { emporiumAddress: N } = M;
33
+ if (!N) throw Error("No Emporium Address");
34
+ let P = T[u.Lifi][c];
35
+ if (!P) throw Error(`LIFI not configured for chain ${c}`);
36
+ let F = await n.getRandomRelay(c);
37
+ if (!F) throw Error(o.RELAYER_NOT_AVAILABLE);
38
+ let I = await n.getEthereumAddressByChain(c), L = n.generateProofRemotely, R = L ? 5 : 1, z = [];
39
+ for (let t = 0; t < m.length; t += R) {
40
+ let o = m.slice(t, t + R), l = await Promise.all(o.map(async ({ utxo: t, nativeUtxo: o, bridgeAmount: l, quote: d, temporarySubAccount: m, recipientAddress: y, destinationChainId: C, destinationTokenAddress: T }) => {
41
+ await p.addTemporaryWalletNonce(c, v, m.index);
42
+ let E = i(j, r), D = d.nativeFee > 0n && !E, O = [j], A = [-t.amount], M = [!1], R = [[t]];
43
+ D && o && (O.push(r), A.push(-o.amount), M.push(!1), R.push([o]));
44
+ let z = b(n, c, m.ethAddress, P, j, t.amount, l, d), B = g(k, c, O, [-t.amount], I), [V, H] = await Promise.all([(async () => {
45
+ let t = s(31), i = L ? await x(c, N, m.privateKey, z, a(t), _.getSignerAddressFromPrivateKey(e(c), m.privateKey)) : void 0;
46
+ return w(n, {
47
+ chainId: c,
48
+ erc20Addresses: O,
49
+ amountChanges: A,
50
+ externalAddress: N,
51
+ externalActionId: u.Emporium,
52
+ externalActionMetadata: i,
53
+ onChainCreation: M,
54
+ feeStructure: h,
55
+ relay: F ?? r,
56
+ messageSeed: t,
57
+ inputUtxos: R,
58
+ useBlockedUtxos: !0,
59
+ subAccountPrivateKey: m.privateKey,
60
+ emporiumOps: z,
61
+ submit: { mode: f.ProofOnly }
54
62
  });
55
- v.push(n), y.push(-i.amount), C.push(!1), E.push([i, e]), O.push([e]);
56
- }
57
- let P = b(t, s, u.ethAddress, A, D, e.amount, a, c), F = m(T, s, v, [-e.amount], M), [{ zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z }, B] = await Promise.all([S(t.merkleTreeHinkalByChain[s], E, O, t.userKeys, l.Emporium, k, P, t.generateProofRemotely, p, j ?? n, s, C, void 0, void 0, u.privateKey), x(s, u.privateKey)]);
63
+ })(), S(c, m.privateKey)]), { zkCallData: U, circomData: W, dimData: G, commitmentValidationData: K, tronProofSignature: q } = V;
58
64
  return {
59
- zkCallData: I,
60
- dimData: R,
61
- circomData: L,
62
- commitmentValidationData: z,
63
- authorizationData: B,
64
- recipientAddress: f,
65
- adminData: F
65
+ zkCallData: U,
66
+ dimData: G,
67
+ circomData: W,
68
+ commitmentValidationData: K,
69
+ authorizationData: H,
70
+ recipientAddress: y,
71
+ adminData: B,
72
+ tronProofSignature: q,
73
+ destinationChainId: C,
74
+ destinationTokenAddress: T,
75
+ destinationTokenAmount: d.expectedAmount.toString()
66
76
  };
67
77
  }));
68
- F.push(...a);
78
+ z.push(...l);
69
79
  }
70
- await w({
71
- id: g,
72
- chainId: s,
73
- hashedEthereumAddress: h,
74
- phase: u.BEFORE_SCHEDULE_WITHDRAW
80
+ await E({
81
+ id: y,
82
+ chainId: c,
83
+ hashedEthereumAddress: v,
84
+ phase: d.BEFORE_SCHEDULE_WITHDRAW
75
85
  });
76
- let I = await C(s, F, h, v, y, E);
77
- return await w({
78
- id: g,
79
- chainId: s,
80
- hashedEthereumAddress: h,
81
- phase: u.AFTER_SCHEDULE_WITHDRAW,
82
- scheduleId: I
83
- }), I;
84
- }, D = async (e, i, a, o, u, d, m, x, S = !0) => {
85
- let C = i.erc20TokenAddress, w = f([i]), D = x ? c(x) : void 0, O = s(await e.getEthereumAddressByChain(w)), k = _[l.Lifi][w];
86
- if (!k) throw Error("LIFI router not configured");
87
- let A, j = r(C, n);
88
- if (u) A = u;
86
+ let B = await C(c, z, v, D, O, A);
87
+ return await E({
88
+ id: y,
89
+ chainId: c,
90
+ hashedEthereumAddress: v,
91
+ phase: d.AFTER_SCHEDULE_WITHDRAW,
92
+ scheduleId: B
93
+ }), B;
94
+ }, j = async (e, t, a, o, s, d, f, p, g = !0) => {
95
+ let _ = t.erc20TokenAddress, x = m([t]), S = p ? l(p) : void 0, C = c(await e.getEthereumAddressByChain(x)), w = T[u.Lifi][x];
96
+ if (!w) throw Error("LIFI router not configured");
97
+ let E, j = i(_, r);
98
+ if (s) E = s;
89
99
  else {
90
- let n = a[0], r = j ? n.bridgeAmount + n.quote.nativeFee : n.bridgeAmount, i = b(e, w, n.temporarySubAccount.ethAddress, k, C, r, n.bridgeAmount, n.quote).map((e) => v(e, n.temporarySubAccount.ethAddress, w));
91
- A = await h(w, C, [C], l.Emporium, i, t);
100
+ let t = a[0], r = j ? t.bridgeAmount + t.quote.nativeFee : t.bridgeAmount, i = b(e, x, t.temporarySubAccount.ethAddress, w, _, r, t.bridgeAmount, t.quote).map((e) => O(e, t.temporarySubAccount.ethAddress, x));
101
+ E = await v(x, _, [_], u.Emporium, i, n);
92
102
  }
93
103
  let M = {
94
- feeToken: A.feeToken,
104
+ feeToken: E.feeToken,
95
105
  flatFee: 0n,
96
106
  variableRate: 0n
97
- }, N = a.reduce((e, t) => e + t.quote.nativeFee, 0n) > 0n && !r(C, n), P = a.map((e) => y(j ? e.bridgeAmount + e.quote.nativeFee : e.bridgeAmount, A)), F = a.map((e) => e.recipientAddress), { userDepositedUtxos: I, statusId: L, depositTxHash: R } = await T(e, w, i, P, F, M, O, S), z = [];
107
+ }, N = a.reduce((e, t) => e + t.quote.nativeFee, 0n) > 0n && !i(_, r), P = a.map((e) => k(j ? e.bridgeAmount + e.quote.nativeFee : e.bridgeAmount, E)), F = a.map((e) => e.recipientAddress), { userDepositedUtxos: I, statusId: L, depositTxHash: R } = await D(e, x, t, P, F, M, C, g), z = [];
98
108
  if (N) {
99
- let t = await p(w, n);
109
+ let t = await h(x, r);
100
110
  if (!t) throw Error("No native token");
101
- let { userDepositedUtxos: r } = await T(e, w, t, a.map((e) => y(e.quote.nativeFee, {
102
- feeToken: A.feeToken,
111
+ let { userDepositedUtxos: n } = await D(e, x, t, a.map((e) => k(e.quote.nativeFee, {
112
+ feeToken: E.feeToken,
103
113
  flatFee: 0n,
104
- variableRate: A.variableRate
105
- })), F, M, O, S);
106
- z = r;
114
+ variableRate: E.variableRate
115
+ })), F, M, C, g);
116
+ z = n;
107
117
  }
108
- return await g(e, w, [...I, ...z]), {
118
+ return await y(e, x, [...I, ...z]), {
109
119
  depositTxHash: R,
110
- scheduleId: await E(e, w, i, a.map((e, t) => ({
120
+ scheduleId: await A(e, x, t, a.map((e, t) => ({
111
121
  ...e,
112
122
  utxo: I[t].utxo,
113
123
  nativeUtxo: N ? z[t]?.utxo : void 0
114
- })), A, O, L, o, d, m, D)
124
+ })), E, C, L, o, d, f, S)
115
125
  };
116
126
  };
117
127
  //#endregion
118
- export { D as hinkalDepositAndBridge };
128
+ export { j as hinkalDepositAndBridge };
@@ -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(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../types/external-action.types.cjs`),l=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),g=require(`../../API/deposit-and-withdraw-status-calls.cjs`),_=require(`./hinkalDepositOnChainUtxos.cjs`);require(`../../functions/index.cjs`);var v=async(o,c,u,f,p,_,v,y,b,x,S)=>{let C=e.isTronLike(c);if(f.length===0)throw Error(`userDepositedUtxos must not be empty`);let w=u.erc20TokenAddress,[T,E]=await Promise.all([o.getRandomRelay(c),o.getEthereumAddressByChain(c)]);if(!T)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let D=i.getCurrentTimeInSeconds().toString(),O=o.generateProofRemotely&&!C?5:1,k=[],A=s.addressToHexFormat(E);for(let e=0;e<f.length;e+=O){let r=f.slice(e,e+O),i=await Promise.all(r.map(async({recipientAddress:e,utxo:r})=>{let i=s.addressToHexFormat(e),l=new a.Utxo({amount:0n,erc20TokenAddress:w,nullifyingKey:o.userKeys.getShieldedPrivateKey(),timeStamp:D,spendingPublicKey:o.userKeys.getSpendingKeyPair().pubSpendingBJJPoint}),u=[[n.caseInsensitiveEqual(r.erc20TokenAddress,w)?r:a.Utxo.createFrom(r,{erc20TokenAddress:w}),l]],f=[[l]],h={externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},g=d.constructAdminData(x,c,[w],[-r.amount],A),{zkCallData:_,circomData:v,dimData:y,commitmentValidationData:b}=await m.constructZkProof(o.merkleTreeHinkalByChain[c],u,f,o.userKeys,h.externalActionId,h.externalAddress,h.externalActionMetadata,o.generateProofRemotely,p,T??t.zeroAddress,c);return{zkCallData:_,dimData:y,circomData:v,commitmentValidationData:b,adminData:g,recipientAddress:e,tronProofSignature:await s.reorderZkCallData(C,_,y,v)}}));k.push(...i)}await g.safeUpdateDepositAndWithdrawStatus({id:v,chainId:c,hashedEthereumAddress:_,phase:l.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let j=await h.transactCallRelayerBatch(c,k,_,y,b,S);return await g.safeUpdateDepositAndWithdrawStatus({id:v,chainId:c,hashedEthereumAddress:_,phase:l.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:j}),j},y=async(e,t,n,r,i,a,l,d,m,h=!0)=>{let g=u.validateAndGetChainId([t]),y=m?o.hashString(m):void 0,b=t.erc20TokenAddress,x=o.hashEthereumAddress(s.addressToHexFormat(await e.getEthereumAddressByChain(g))),S=a??await f.getFeeStructure(g,b,[b],c.ExternalActionId.Transact,[],10n),{userDepositedUtxos:C,statusId:w,depositTxHash:T}=await _.hinkalDepositOnChainUtxos(e,g,t,n,r,S,x,h);return await p.waitForDepositedUtxosInMerkleTree(e,g,C),{depositTxHash:T,scheduleId:await v(e,g,t,C,S,x,w,i,l,d,y)}};exports.hinkalDepositAndWithdraw=y;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../utxo/Utxo.cjs`),a=require(`../../functions/utils/addresses.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/scheduled-transactions.types.cjs`),l=require(`../../types/transact.types.cjs`);require(`../../types/index.cjs`);const u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../crypto-keys/encryptDecryptUtxo.cjs`),f=require(`../../functions/snarkjs/common.snarkjs.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/snarkjs/constructTxEnclave.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`./hinkalTransact.cjs`),b=require(`../../functions/utils/tx-confirmation.utils.cjs`),x=require(`../../API/deposit-and-withdraw-status-calls.cjs`),S=require(`./hinkalDepositOnChainUtxos.cjs`),C=require(`./hinkalTronDepositToSelf.cjs`);require(`../../functions/index.cjs`);let w=require(`ethers`);var T=async(e,t,n,r,i,a,s,l=!0)=>{let u=n.erc20TokenAddress,p=r.map(e=>e+a.flatFee),h=p.reduce((e,t)=>e+t,0n),g=(await x.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:s,phase:c.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,{jobId:v,signedMessageHash:y}=await m.prepareTxEnclaveCall(e,{chainId:t,erc20Addresses:[u],amountChanges:[h],externalAddress:o.addressToHexFormat(await e.getEthereumAddressByChain(t)),selfOutputAmounts:p,createBlockedUtxos:!0}),{R8:S,S:C}=e.userKeys.signEddsa(BigInt(y)),{zkCallData:T,circomData:E,dimData:D,tronProofSignature:O}=await m.finalizeTxEnclaveCall(v,{R8:S,S:C}),k=f.deserializeCircomData(E),A=await _.transactCallDirectTron(e,t,h,n,T,k,D,void 0,void 0,l,O);await b.waitForEthereumTransactionConfirmation(t,A),await x.safeUpdateDepositAndWithdrawStatus({id:g,chainId:t,hashedEthereumAddress:s,phase:c.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:A});let j=k.encryptedOutputs?.[0];if(!j||j.length!==p.length)throw Error(`Enclave response missing encryptedOutputs for deposited UTXOs`);return{userDepositedUtxos:j.map((t,n)=>({recipientAddress:i[n],utxo:d.decryptUtxo(w.ethers.getBytes(t),e.userKeys)})),statusId:g,depositTxHash:A}},E=async(e,a,s,u,d,f,m,h,g,_,b,S)=>{if(u.length===0)throw Error(`userDepositedUtxos must not be empty`);let C=s.erc20TokenAddress,[w,T]=await Promise.all([e.getRandomRelay(a),e.getEthereumAddressByChain(a)]);if(!w)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let E=e.generateProofRemotely?5:1,D=[],O=o.addressToHexFormat(T);for(let r=0;r<u.length;r+=E){let s=u.slice(r,r+E),c=await Promise.all(s.map(async({recipientAddress:s,utxo:c},u)=>{let f=r+u,m=o.addressToHexFormat(s),h=n.caseInsensitiveEqual(c.erc20TokenAddress,C)?c:i.Utxo.createFrom(c,{erc20TokenAddress:C}),g=p.constructAdminData(_,a,[C],[-c.amount],O),{zkCallData:v,circomData:b,dimData:x,commitmentValidationData:T,tronProofSignature:E}=await y.hinkalTransact(e,{chainId:a,erc20Addresses:[C],amountChanges:[-c.amount],externalAddress:m,feeStructure:d,relay:w??t.zeroAddress,inputUtxos:[[h]],useBlockedUtxos:!0,submit:{mode:l.SubmitMode.ProofOnly},skipLock:!0});return{zkCallData:v,dimData:x,circomData:b,commitmentValidationData:T,adminData:g,recipientAddress:s,tronProofSignature:E,destinationChainId:S?.chainId,destinationTokenAddress:S?.tokenAddress,destinationTokenAmount:S?.tokenAmounts?.[f]}}));D.push(...c)}await x.safeUpdateDepositAndWithdrawStatus({id:m,chainId:a,hashedEthereumAddress:f,phase:c.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let k=await v.transactCallRelayerBatch(a,D,f,h,g,b);return await x.safeUpdateDepositAndWithdrawStatus({id:m,chainId:a,hashedEthereumAddress:f,phase:c.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:k}),k},D=async(t,n,r,i,c,l,d,f,p,m=!0,_)=>{let v=u.validateAndGetChainId([n]),y=p?a.hashString(p):void 0,b=n.erc20TokenAddress,x=a.hashEthereumAddress(o.addressToHexFormat(await t.getEthereumAddressByChain(v))),w=l??await h.getFeeStructure(v,b,[b],s.ExternalActionId.Transact,[],10n),D=e.isTronLike(v),O=S.hinkalDepositOnChainUtxos;D&&(O=t.generateProofRemotely?T:C.hinkalTronDepositToSelf);let{userDepositedUtxos:k,statusId:A,depositTxHash:j}=await O(t,v,n,r,i,w,x,m);return await g.waitForDepositedUtxosInMerkleTree(t,v,k),{depositTxHash:j,scheduleId:await E(t,v,n,k,w,x,A,c,d,f,y,_)}};exports.hinkalDepositAndWithdraw=D;
@@ -1,6 +1,7 @@
1
1
  import { IHinkal } from './IHinkal';
2
2
  import { AdminTransactionType, DepositAndSendExtendedResult, ERC20Token, RecipientUtxo } from '../../types';
3
+ import { DestinationMetadata } from '../../types/bridging-tx.types';
3
4
  import { FeeStructure } from '../../types/hinkal.types';
4
- export declare const hinkalWithdrawBatch: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, userDepositedUtxos: RecipientUtxo[], feeStructure: FeeStructure, hashedEthereumAddress: string, statusId: string | undefined, txCompletionTime?: number, ref?: string, action?: AdminTransactionType, hashedDashboardAccountId?: string) => Promise<string>;
5
+ export declare const hinkalWithdrawBatch: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, userDepositedUtxos: RecipientUtxo[], feeStructure: FeeStructure, hashedEthereumAddress: string, statusId: string | undefined, txCompletionTime?: number, ref?: string, action?: AdminTransactionType, hashedDashboardAccountId?: string, destination?: DestinationMetadata) => Promise<string>;
5
6
  export declare const hinkalDepositAndWithdraw: (hinkal: IHinkal, erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, // Should be passed fee for only one withdraw transaction, multiplication happening in this function
6
- ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean) => Promise<DepositAndSendExtendedResult>;
7
+ ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean, destination?: DestinationMetadata) => Promise<DepositAndSendExtendedResult>;
@@ -2,74 +2,119 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as n } from "../../functions/utils/caseInsensitive.utils.mjs";
4
4
  import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
5
- import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
6
- import { Utxo as a } from "../utxo/Utxo.mjs";
7
- import { hashEthereumAddress as o, hashString as s } from "../../functions/utils/addresses.mjs";
8
- import { addressToHexFormat as c, reorderZkCallData as l } from "../../functions/utils/tron.utils.mjs";
9
- import { ExternalActionId as u } from "../../types/external-action.types.mjs";
10
- import { DepositAndWithdrawPhase as d } from "../../types/scheduled-transactions.types.mjs";
5
+ import { Utxo as i } from "../utxo/Utxo.mjs";
6
+ import { hashEthereumAddress as a, hashString as o } from "../../functions/utils/addresses.mjs";
7
+ import { addressToHexFormat as s } from "../../functions/utils/tron.utils.mjs";
8
+ import { ExternalActionId as c } from "../../types/external-action.types.mjs";
9
+ import { DepositAndWithdrawPhase as l } from "../../types/scheduled-transactions.types.mjs";
10
+ import { SubmitMode as u } from "../../types/transact.types.mjs";
11
11
  import "../../types/index.mjs";
12
- import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
13
- import { constructAdminData as p } from "../../functions/pre-transaction/constructAdminData.mjs";
14
- import { getFeeStructure as m } from "../../functions/pre-transaction/getFeeStructure.mjs";
15
- import { waitForDepositedUtxosInMerkleTree as h } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
16
- import { constructZkProof as g } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
17
- import { transactCallRelayerBatch as _ } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
18
- import { safeUpdateDepositAndWithdrawStatus as v } from "../../API/deposit-and-withdraw-status-calls.mjs";
19
- import { hinkalDepositOnChainUtxos as y } from "./hinkalDepositOnChainUtxos.mjs";
12
+ import { validateAndGetChainId as d } from "../../functions/utils/token-check.utils.mjs";
13
+ import { decryptUtxo as f } from "../crypto-keys/encryptDecryptUtxo.mjs";
14
+ import { deserializeCircomData as p } from "../../functions/snarkjs/common.snarkjs.mjs";
15
+ import { constructAdminData as m } from "../../functions/pre-transaction/constructAdminData.mjs";
16
+ import { finalizeTxEnclaveCall as h, prepareTxEnclaveCall as g } from "../../functions/snarkjs/constructTxEnclave.mjs";
17
+ import { getFeeStructure as _ } from "../../functions/pre-transaction/getFeeStructure.mjs";
18
+ import { waitForDepositedUtxosInMerkleTree as v } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
19
+ import { transactCallDirectTron as y } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
20
+ import { transactCallRelayerBatch as b } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
21
+ import { hinkalTransact as x } from "./hinkalTransact.mjs";
22
+ import { waitForEthereumTransactionConfirmation as S } from "../../functions/utils/tx-confirmation.utils.mjs";
23
+ import { safeUpdateDepositAndWithdrawStatus as C, updateDepositAndWithdrawStatus as w } from "../../API/deposit-and-withdraw-status-calls.mjs";
24
+ import { hinkalDepositOnChainUtxos as T } from "./hinkalDepositOnChainUtxos.mjs";
25
+ import { hinkalTronDepositToSelf as E } from "./hinkalTronDepositToSelf.mjs";
20
26
  import "../../functions/index.mjs";
27
+ import { ethers as D } from "ethers";
21
28
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
22
- var b = async (o, s, u, f, m, h, y, b, x, S, C) => {
23
- let w = e(s);
24
- if (f.length === 0) throw Error("userDepositedUtxos must not be empty");
25
- let T = u.erc20TokenAddress, [E, D] = await Promise.all([o.getRandomRelay(s), o.getEthereumAddressByChain(s)]);
26
- if (!E) throw Error(r.RELAYER_NOT_AVAILABLE);
27
- let O = i().toString(), k = o.generateProofRemotely && !w ? 5 : 1, A = [], j = c(D);
28
- for (let e = 0; e < f.length; e += k) {
29
- let r = f.slice(e, e + k), i = await Promise.all(r.map(async ({ recipientAddress: e, utxo: r }) => {
30
- let i = c(e), u = new a({
31
- amount: 0n,
32
- erc20TokenAddress: T,
33
- nullifyingKey: o.userKeys.getShieldedPrivateKey(),
34
- timeStamp: O,
35
- spendingPublicKey: o.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
36
- }), d = [[n(r.erc20TokenAddress, T) ? r : a.createFrom(r, { erc20TokenAddress: T }), u]], f = [[u]], h = {
37
- externalActionId: 0n,
38
- externalAddress: i,
39
- externalActionMetadata: "0x00"
40
- }, _ = p(S, s, [T], [-r.amount], j), { zkCallData: v, circomData: y, dimData: b, commitmentValidationData: x } = await g(o.merkleTreeHinkalByChain[s], d, f, o.userKeys, h.externalActionId, h.externalAddress, h.externalActionMetadata, o.generateProofRemotely, m, E ?? t, s);
29
+ var O = async (e, t, n, r, i, a, o, c = !0) => {
30
+ let u = n.erc20TokenAddress, d = r.map((e) => e + a.flatFee), m = d.reduce((e, t) => e + t, 0n), _ = (await w({
31
+ chainId: t,
32
+ hashedEthereumAddress: o,
33
+ phase: l.BEFORE_DEPOSIT
34
+ })).id ?? void 0, { jobId: v, signedMessageHash: b } = await g(e, {
35
+ chainId: t,
36
+ erc20Addresses: [u],
37
+ amountChanges: [m],
38
+ externalAddress: s(await e.getEthereumAddressByChain(t)),
39
+ selfOutputAmounts: d,
40
+ createBlockedUtxos: !0
41
+ }), { R8: x, S: T } = e.userKeys.signEddsa(BigInt(b)), { zkCallData: E, circomData: O, dimData: k, tronProofSignature: A } = await h(v, {
42
+ R8: x,
43
+ S: T
44
+ }), j = p(O), M = await y(e, t, m, n, E, j, k, void 0, void 0, c, A);
45
+ await S(t, M), await C({
46
+ id: _,
47
+ chainId: t,
48
+ hashedEthereumAddress: o,
49
+ phase: l.AFTER_DEPOSIT,
50
+ depositTxHash: M
51
+ });
52
+ let N = j.encryptedOutputs?.[0];
53
+ if (!N || N.length !== d.length) throw Error("Enclave response missing encryptedOutputs for deposited UTXOs");
54
+ return {
55
+ userDepositedUtxos: N.map((t, n) => ({
56
+ recipientAddress: i[n],
57
+ utxo: f(D.getBytes(t), e.userKeys)
58
+ })),
59
+ statusId: _,
60
+ depositTxHash: M
61
+ };
62
+ }, k = async (e, a, o, c, d, f, p, h, g, _, v, y) => {
63
+ if (c.length === 0) throw Error("userDepositedUtxos must not be empty");
64
+ let S = o.erc20TokenAddress, [w, T] = await Promise.all([e.getRandomRelay(a), e.getEthereumAddressByChain(a)]);
65
+ if (!w) throw Error(r.RELAYER_NOT_AVAILABLE);
66
+ let E = e.generateProofRemotely ? 5 : 1, D = [], O = s(T);
67
+ for (let r = 0; r < c.length; r += E) {
68
+ let o = c.slice(r, r + E), l = await Promise.all(o.map(async ({ recipientAddress: o, utxo: c }, l) => {
69
+ let f = r + l, p = s(o), h = n(c.erc20TokenAddress, S) ? c : i.createFrom(c, { erc20TokenAddress: S }), g = m(_, a, [S], [-c.amount], O), { zkCallData: v, circomData: b, dimData: C, commitmentValidationData: T, tronProofSignature: E } = await x(e, {
70
+ chainId: a,
71
+ erc20Addresses: [S],
72
+ amountChanges: [-c.amount],
73
+ externalAddress: p,
74
+ feeStructure: d,
75
+ relay: w ?? t,
76
+ inputUtxos: [[h]],
77
+ useBlockedUtxos: !0,
78
+ submit: { mode: u.ProofOnly },
79
+ skipLock: !0
80
+ });
41
81
  return {
42
82
  zkCallData: v,
43
- dimData: b,
44
- circomData: y,
45
- commitmentValidationData: x,
46
- adminData: _,
47
- recipientAddress: e,
48
- tronProofSignature: await l(w, v, b, y)
83
+ dimData: C,
84
+ circomData: b,
85
+ commitmentValidationData: T,
86
+ adminData: g,
87
+ recipientAddress: o,
88
+ tronProofSignature: E,
89
+ destinationChainId: y?.chainId,
90
+ destinationTokenAddress: y?.tokenAddress,
91
+ destinationTokenAmount: y?.tokenAmounts?.[f]
49
92
  };
50
93
  }));
51
- A.push(...i);
94
+ D.push(...l);
52
95
  }
53
- await v({
54
- id: y,
55
- chainId: s,
56
- hashedEthereumAddress: h,
57
- phase: d.BEFORE_SCHEDULE_WITHDRAW
96
+ await C({
97
+ id: p,
98
+ chainId: a,
99
+ hashedEthereumAddress: f,
100
+ phase: l.BEFORE_SCHEDULE_WITHDRAW
58
101
  });
59
- let M = await _(s, A, h, b, x, C);
60
- return await v({
61
- id: y,
62
- chainId: s,
63
- hashedEthereumAddress: h,
64
- phase: d.AFTER_SCHEDULE_WITHDRAW,
65
- scheduleId: M
66
- }), M;
67
- }, x = async (e, t, n, r, i, a, l, d, p, g = !0) => {
68
- let _ = f([t]), v = p ? s(p) : void 0, x = t.erc20TokenAddress, S = o(c(await e.getEthereumAddressByChain(_))), C = a ?? await m(_, x, [x], u.Transact, [], 10n), { userDepositedUtxos: w, statusId: T, depositTxHash: E } = await y(e, _, t, n, r, C, S, g);
69
- return await h(e, _, w), {
70
- depositTxHash: E,
71
- scheduleId: await b(e, _, t, w, C, S, T, i, l, d, v)
102
+ let k = await b(a, D, f, h, g, v);
103
+ return await C({
104
+ id: p,
105
+ chainId: a,
106
+ hashedEthereumAddress: f,
107
+ phase: l.AFTER_SCHEDULE_WITHDRAW,
108
+ scheduleId: k
109
+ }), k;
110
+ }, A = async (t, n, r, i, l, u, f, p, m, h = !0, g) => {
111
+ let y = d([n]), b = m ? o(m) : void 0, x = n.erc20TokenAddress, S = a(s(await t.getEthereumAddressByChain(y))), C = u ?? await _(y, x, [x], c.Transact, [], 10n), w = e(y), D = T;
112
+ w && (D = t.generateProofRemotely ? O : E);
113
+ let { userDepositedUtxos: A, statusId: j, depositTxHash: M } = await D(t, y, n, r, i, C, S, h);
114
+ return await v(t, y, A), {
115
+ depositTxHash: M,
116
+ scheduleId: await k(t, y, n, A, C, S, j, l, f, p, b, g)
72
117
  };
73
118
  };
74
119
  //#endregion
75
- export { x as hinkalDepositAndWithdraw };
120
+ export { A as hinkalDepositAndWithdraw };
@@ -1 +1 @@
1
- const e=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const t=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),n=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),r=require(`../../functions/utils/tx-confirmation.utils.cjs`),i=require(`./hinkalProoflessDeposit.utils.cjs`),a=require(`./hinkalProoflessDeposit.cjs`),o=require(`../../API/deposit-and-withdraw-status-calls.cjs`);var s=async(s,c,l,u,d,f,p,m=!0)=>{let h=l.erc20TokenAddress,g=u.map(e=>e+f.flatFee),_=g.map(()=>l),v=g.map(()=>t.getStealthAddressStructureFromUserKeys(s.userKeys)),y=(await o.updateDepositAndWithdrawStatus({chainId:c,hashedEthereumAddress:p,phase:e.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,b=await a.hinkalProoflessDeposit(s,_,g,v,i.getOwnRecipientEncryptionKeys(s.userKeys,g.length),!0);if(!b)throw Error(`Deposit transaction hash not found`);let x=await r.waitForEthereumTransactionConfirmation(c,b);await o.safeUpdateDepositAndWithdrawStatus({id:y,chainId:c,hashedEthereumAddress:p,phase:e.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:b});let S=n.getOnChainUtxosFromReceipt(x,s,c,h);if(S.length===0)throw Error(`No UTXOs found in deposit transaction. Check contract address and ABI.`);let C=[],w=[...S];return d.forEach((e,t)=>{let n=g[t],r=w.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);C.push({recipientAddress:e,utxo:r});let i=w.indexOf(r);w.splice(i,1)}),{userDepositedUtxos:C,statusId:y,depositTxHash:b}};exports.hinkalDepositOnChainUtxos=s;
1
+ const e=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const t=require(`../../functions/utils/tx-confirmation.utils.cjs`),n=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),r=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),i=require(`./hinkalProoflessDeposit.utils.cjs`),a=require(`./hinkalProoflessDeposit.cjs`),o=require(`../../API/deposit-and-withdraw-status-calls.cjs`);var s=async(s,c,l,u,d,f,p,m=!0)=>{let h=l.erc20TokenAddress,g=u.map(e=>e+f.flatFee),_=g.map(()=>l),v=g.map(()=>r.getStealthAddressStructureFromUserKeys(s.userKeys)),y=(await o.updateDepositAndWithdrawStatus({chainId:c,hashedEthereumAddress:p,phase:e.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,b=await a.hinkalProoflessDeposit(s,_,g,v,i.getOwnRecipientEncryptionKeys(s.userKeys,g.length),!0);if(!b)throw Error(`Deposit transaction hash not found`);let x=await t.waitForEthereumTransactionConfirmation(c,b);await o.safeUpdateDepositAndWithdrawStatus({id:y,chainId:c,hashedEthereumAddress:p,phase:e.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:b});let S=n.getOnChainUtxosFromReceipt(x,s,c,h);if(S.length===0)throw Error(`No UTXOs found in deposit transaction. Check contract address and ABI.`);let C=[],w=[...S];return d.forEach((e,t)=>{let n=g[t],r=w.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);C.push({recipientAddress:e,utxo:r});let i=w.indexOf(r);w.splice(i,1)}),{userDepositedUtxos:C,statusId:y,depositTxHash:b}};exports.hinkalDepositOnChainUtxos=s;
@@ -1,20 +1,20 @@
1
1
  import { DepositAndWithdrawPhase as e } from "../../types/scheduled-transactions.types.mjs";
2
2
  import "../../types/index.mjs";
3
- import { getStealthAddressStructureFromUserKeys as t } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
3
+ import { waitForEthereumTransactionConfirmation as t } from "../../functions/utils/tx-confirmation.utils.mjs";
4
4
  import { getOnChainUtxosFromReceipt as n } from "../../functions/utils/getUtxosFromReceipt.utils.mjs";
5
- import { waitForEthereumTransactionConfirmation as r } from "../../functions/utils/tx-confirmation.utils.mjs";
5
+ import { getStealthAddressStructureFromUserKeys as r } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
6
6
  import { getOwnRecipientEncryptionKeys as i } from "./hinkalProoflessDeposit.utils.mjs";
7
7
  import { hinkalProoflessDeposit as a } from "./hinkalProoflessDeposit.mjs";
8
8
  import { safeUpdateDepositAndWithdrawStatus as o, updateDepositAndWithdrawStatus as s } from "../../API/deposit-and-withdraw-status-calls.mjs";
9
9
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.ts
10
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({
11
+ let g = u.erc20TokenAddress, _ = d.map((e) => e + p.flatFee), v = _.map(() => u), y = _.map(() => r(c.userKeys)), b = (await s({
12
12
  chainId: l,
13
13
  hashedEthereumAddress: m,
14
14
  phase: e.BEFORE_DEPOSIT
15
15
  })).id ?? void 0, x = await a(c, v, _, y, i(c.userKeys, _.length), !0);
16
16
  if (!x) throw Error("Deposit transaction hash not found");
17
- let S = await r(l, x);
17
+ let S = await t(l, x);
18
18
  await o({
19
19
  id: b,
20
20
  chainId: l,
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/time.utils.cjs`),n=require(`../../functions/utils/token-check.utils.cjs`),r=require(`../../constants/bridging.constants.cjs`),i=require(`../../API/callNearIntentsAPI.cjs`),a=require(`../../functions/utils/nearIntents.utils.cjs`),o=require(`./hinkalDepositAndWithdraw.cjs`),s=require(`./hinkalSolanaDepositAndWithdraw.cjs`);var c=async(c,l,u,d,f,p,m,h,g,_)=>{if(u.length!==d.length)throw Error(`recipientAmounts and recipientAddresses length mismatch`);if(u.length===0)throw Error(`No recipients to bridge`);let v=n.validateAndGetChainId([l]),y=t.secondsToMs(p),b=new Date(y+r.NEAR_BRIDGE_QUOTE_DEADLINE_BUFFER_MS).toISOString(),x=await Promise.all(d.map(async(e,t)=>{let n=u[t],{quote:r}=await i.getNearIntentsQuote({dry:!1,swapType:`EXACT_INPUT`,slippageTolerance:f.slippageBps??100,originAsset:f.originAsset,depositType:`ORIGIN_CHAIN`,destinationAsset:f.destinationAsset,amount:n.toString(),recipient:e,recipientType:`DESTINATION_CHAIN`,refundTo:c.userKeys.getNearIntentsAccountId(),refundType:`INTENTS`,deadline:b});if(!r.depositAddress)throw Error(`NEAR Intents quote returned no deposit address for recipient ${e}`);if(r.deadline&&new Date(r.deadline).getTime()<y)throw Error(`Bridge quote expires before the scheduled execution time. Choose a sooner time.`);return{destinationRecipient:e,amount:n,depositAddress:r.depositAddress,quote:r}})),S=m??await a.buildNearBridgeFeeStructure(v,l,x[0].depositAddress),C=x.map(e=>e.amount),w=x.map(e=>e.depositAddress),T;return e.isSolanaLike(v)?{depositTxHash:T}=await s.hinkalSolanaDepositAndWithdraw(c,l,C,w,p,S,h,g,_,x.map(e=>e.destinationRecipient)):{depositTxHash:T}=await o.hinkalDepositAndWithdraw(c,l,C,w,p,S,h,g,_),{depositTxHash:T,legs:x}};exports.hinkalNearDepositAndBridge=c;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/time.utils.cjs`),n=require(`../../functions/utils/token-check.utils.cjs`),r=require(`../../constants/bridging.constants.cjs`),i=require(`../../API/callNearIntentsAPI.cjs`),a=require(`../../functions/utils/nearIntents.utils.cjs`),o=require(`./hinkalDepositAndWithdraw.cjs`),s=require(`./hinkalSolanaDepositAndWithdraw.cjs`);var c=async(c,l,u,d,f,p,m,h,g,_)=>{if(u.length!==d.length)throw Error(`recipientAmounts and recipientAddresses length mismatch`);if(u.length===0)throw Error(`No recipients to bridge`);let v=n.validateAndGetChainId([l]),y=t.secondsToMs(p),b=new Date(y+r.NEAR_BRIDGE_QUOTE_DEADLINE_BUFFER_MS).toISOString(),x=await Promise.all(d.map(async(e,t)=>{let n=u[t],{quote:r}=await i.getNearIntentsQuote({dry:!1,swapType:`EXACT_INPUT`,slippageTolerance:f.slippageBps??100,originAsset:f.originAsset,depositType:`ORIGIN_CHAIN`,destinationAsset:f.destinationAsset,amount:n.toString(),recipient:e,recipientType:`DESTINATION_CHAIN`,refundTo:c.userKeys.getNearIntentsAccountId(),refundType:`INTENTS`,deadline:b});if(!r.depositAddress)throw Error(`NEAR Intents quote returned no deposit address for recipient ${e}`);if(r.deadline&&new Date(r.deadline).getTime()<y)throw Error(`Bridge quote expires before the scheduled execution time. Choose a sooner time.`);return{destinationRecipient:e,amount:n,depositAddress:r.depositAddress,quote:r}})),S=m??await a.buildNearBridgeFeeStructure(v,l,x[0].depositAddress),C=x.map(e=>e.amount),w=x.map(e=>e.depositAddress),T={chainId:f.destinationChainId===v?void 0:f.destinationChainId,tokenAddress:f.destinationTokenAddress,tokenAmounts:x.map(e=>e.quote.amountOut)},E;return e.isSolanaLike(v)?{depositTxHash:E}=await s.hinkalSolanaDepositAndWithdraw(c,l,C,w,p,S,h,g,_,x.map(e=>e.destinationRecipient),T):{depositTxHash:E}=await o.hinkalDepositAndWithdraw(c,l,C,w,p,S,h,g,_,void 0,T),{depositTxHash:E,legs:x}};exports.hinkalNearDepositAndBridge=c;
@@ -33,9 +33,13 @@ var c = async (c, l, u, d, f, p, m, h, g, _) => {
33
33
  depositAddress: r.depositAddress,
34
34
  quote: r
35
35
  };
36
- })), S = m ?? await a(v, l, x[0].depositAddress), C = x.map((e) => e.amount), w = x.map((e) => e.depositAddress), T;
37
- return e(v) ? {depositTxHash: T} = await s(c, l, C, w, p, S, h, g, _, x.map((e) => e.destinationRecipient)) : {depositTxHash: T} = await o(c, l, C, w, p, S, h, g, _), {
38
- depositTxHash: T,
36
+ })), S = m ?? await a(v, l, x[0].depositAddress), C = x.map((e) => e.amount), w = x.map((e) => e.depositAddress), T = {
37
+ chainId: f.destinationChainId === v ? void 0 : f.destinationChainId,
38
+ tokenAddress: f.destinationTokenAddress,
39
+ tokenAmounts: x.map((e) => e.quote.amountOut)
40
+ }, E;
41
+ return e(v) ? {depositTxHash: E} = await s(c, l, C, w, p, S, h, g, _, x.map((e) => e.destinationRecipient), T) : {depositTxHash: E} = await o(c, l, C, w, p, S, h, g, _, void 0, T), {
42
+ depositTxHash: E,
39
43
  legs: x
40
44
  };
41
45
  };
@@ -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(`../../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;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/addresses.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/admin.types.cjs`),c=require(`../../types/transact.types.cjs`);require(`../../error-handling/index.cjs`);const l=require(`../../functions/pre-transaction/constructAdminData.cjs`),u=require(`../AccountActions/AccountActions.cjs`),d=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const f=require(`../../functions/private-wallet/emporium.helpers.cjs`),p=require(`./hinkalTransact.cjs`),m=require(`../../functions/utils/involves-permit2-op.cjs`),h=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),g=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),_=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),v=require(`./handleAutoDepositBack.cjs`);var y=async(y,b,x,S,C,w,T,E,D,O,k,A=!1,j,M,N)=>{if(N&&!a.isValidPrivateAddress(N.recipientInfo))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(T.length>0&&!E)throw Error(`Subaccount is required for private wallet transactions`);let P=x.map(e=>e.erc20TokenAddress),F=await y.getEthereumAddressByChain(b),I=E?u.AccountActions.getAddressFromSubAccount(b,E):void 0,{contractData:L}=e.networkRegistry[b],{emporiumAddress:R}=L;if(!R)throw Error(`No Emporium Address Provided`);let z=O??await d.getFeeStructure(b,D,P,o.ExternalActionId.Emporium,w.map(e=>h.convertEmporiumOpToCallInfo(e,I??``,b)));for(I?await _.mergeWithFeeStructureEmporium(y,b,I,w,P,S,z,T.find(e=>t.caseInsensitiveEqual(e.token.erc20TokenAddress,z.feeToken))?.amount??0n):await g.mergeWithFeeStructure(b,P,S,z);C.length<P.length;)C.push(!1);let B=k??await y.getRandomRelay(b,!0);if(!B)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let V=E?u.AccountActions.getPrivateKeyFromSubAccount(b,E):void 0,H=e.getOnchainChainId(b),U=V?u.AccountActions.getSignerAddressFromPrivateKey(H,V):void 0,W=i.randomBigInt(31),G=y.generateProofRemotely?await f.encodeEmporiumMetadata(b,R,V,w,n.poseidonFunction(W),U):void 0,K=await f.getAuthorizationDataIfNeeded(b,V),q=m.uniswapWorkaround(w),J=l.constructAdminData(M,b,T.map(e=>e.token.erc20TokenAddress),T.map(e=>e.amount),F,M===s.AdminTransactionType.PublicSwap?T.map(({token:e})=>e):void 0),Y,X=await p.hinkalTransact(y,{chainId:b,erc20Addresses:P,amountChanges:S,externalAddress:R,externalActionId:o.ExternalActionId.Emporium,externalActionMetadata:G,onChainCreation:C,feeStructure:z,relay:B,messageSeed:W,recipientAddress:N?[N.recipientInfo]:void 0,recipientAmounts:N?[P.map(e=>t.caseInsensitiveEqual(e,N.token.erc20TokenAddress)?N.amount:0n)]:void 0,subAccountPrivateKey:V,emporiumOps:w,onTxSubmitLocally:e=>{Y=e},submit:{mode:c.SubmitMode.Relayer,adminData:J,authorizationData:K,withUniswapWorkAround:q}});return A&&E&&v.handleAutoDepositBack(y,b,I,E,z.feeToken,j,T,Y),X};exports.hinkalPrivateWallet=y;