@hinkal/common 0.3.2 → 0.3.3

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 (446) hide show
  1. package/README.md +15 -18
  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/data-structures/Hinkal/Hinkal.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/Hinkal.mjs +26 -22
  89. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  91. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +36 -35
  92. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +3 -3
  94. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +60 -58
  96. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +42 -47
  98. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalDeposit.d.ts +1 -0
  100. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +50 -116
  101. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +102 -92
  103. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
  105. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +104 -59
  106. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +4 -4
  108. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +7 -3
  110. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +51 -39
  112. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -2
  114. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +53 -131
  115. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +29 -47
  118. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  119. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +3 -3
  120. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  121. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +70 -45
  122. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  123. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
  124. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +47 -45
  125. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  126. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +8 -4
  127. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +133 -81
  128. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
  129. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +16 -12
  131. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  132. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +2 -2
  133. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +61 -54
  134. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
  136. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  137. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +87 -51
  138. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  139. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -0
  140. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +95 -50
  141. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  142. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +60 -34
  143. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  144. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +29 -32
  145. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -0
  146. package/common/src/data-structures/Hinkal/hinkalTransact.d.ts +3 -0
  147. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +90 -0
  148. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  149. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +40 -45
  150. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +1 -0
  151. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +8 -0
  152. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +30 -0
  153. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  154. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -45
  155. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  156. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +167 -95
  157. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +1 -0
  158. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.d.ts +27 -0
  159. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +31 -0
  160. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  161. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -0
  162. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  163. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  164. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  165. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  166. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  167. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +11 -10
  168. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  169. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +14 -14
  170. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  171. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +26 -26
  172. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  173. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +15 -15
  174. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
  175. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +12 -16
  176. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  177. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +1 -0
  178. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +8 -4
  179. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  180. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +1 -0
  181. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +12 -12
  182. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  183. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +12 -12
  184. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  185. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  186. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  187. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +27 -23
  188. package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
  189. package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +10 -0
  190. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +9 -1
  191. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  192. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +3 -0
  193. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +64 -54
  194. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  195. package/common/src/error-handling/error-codes.constants.d.ts +6 -11
  196. package/common/src/error-handling/error-codes.constants.mjs +8 -13
  197. package/common/src/error-handling/get-error.message.cjs +1 -1
  198. package/common/src/error-handling/get-error.message.mjs +27 -14
  199. package/common/src/externalABIs/index.cjs +1 -1
  200. package/common/src/externalABIs/index.d.ts +1 -113
  201. package/common/src/externalABIs/index.mjs +2 -6
  202. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  203. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  204. package/common/src/functions/index.cjs +1 -1
  205. package/common/src/functions/index.d.ts +0 -1
  206. package/common/src/functions/index.mjs +12 -15
  207. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
  208. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +39 -5
  209. package/common/src/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  210. package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +2 -18
  211. package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  212. package/common/src/functions/pre-transaction/getSolanaCalldataHash.d.ts +1 -1
  213. package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +11 -10
  214. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  215. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
  216. package/common/src/functions/pre-transaction/index.cjs +1 -1
  217. package/common/src/functions/pre-transaction/index.d.ts +1 -2
  218. package/common/src/functions/pre-transaction/index.mjs +1 -2
  219. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  220. package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  221. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +7 -8
  222. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  223. package/common/src/functions/pre-transaction/solana.d.ts +13 -0
  224. package/common/src/functions/pre-transaction/solana.mjs +46 -22
  225. package/common/src/functions/pre-transaction/store-proof.cjs +1 -1
  226. package/common/src/functions/pre-transaction/store-proof.d.ts +1 -1
  227. package/common/src/functions/pre-transaction/store-proof.mjs +1 -0
  228. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -1
  229. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
  230. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  231. package/common/src/functions/private-wallet/emporium.helpers.mjs +12 -13
  232. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  233. package/common/src/functions/private-wallet/emporium.swap.helpers.d.ts +0 -1
  234. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +38 -80
  235. package/common/src/functions/private-wallet/index.cjs +1 -1
  236. package/common/src/functions/private-wallet/index.d.ts +0 -1
  237. package/common/src/functions/private-wallet/index.mjs +0 -1
  238. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  239. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -2
  240. package/common/src/functions/snarkjs/common.snarkjs.mjs +89 -52
  241. package/common/src/functions/snarkjs/constant.cjs +1 -1
  242. package/common/src/functions/snarkjs/constant.d.ts +32 -0
  243. package/common/src/functions/snarkjs/constant.mjs +32 -0
  244. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  245. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  246. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +78 -65
  247. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  248. package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +4 -1
  249. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +44 -39
  250. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -0
  251. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +32 -0
  252. package/common/src/functions/snarkjs/constructTxEnclave.mjs +162 -0
  253. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.cjs +1 -0
  254. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.d.ts +7 -0
  255. package/common/src/functions/snarkjs/fetchTronInsertionSiblings.mjs +13 -0
  256. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  257. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  258. package/common/src/functions/snarkjs/generateCircomData.mjs +33 -27
  259. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -1
  260. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +1 -1
  261. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +7 -7
  262. package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
  263. package/common/src/functions/snarkjs/generateZkProof.d.ts +1 -1
  264. package/common/src/functions/snarkjs/generateZkProof.mjs +9 -16
  265. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  266. package/common/src/functions/snarkjs/signedMessageHash.d.ts +11 -0
  267. package/common/src/functions/snarkjs/signedMessageHash.mjs +21 -3
  268. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.cjs +1 -0
  269. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.d.ts +1 -0
  270. package/common/src/functions/snarkjs/verifySignedEnclaveResponse.mjs +11 -0
  271. package/common/src/functions/utils/addresses.cjs +1 -1
  272. package/common/src/functions/utils/addresses.d.ts +1 -0
  273. package/common/src/functions/utils/addresses.mjs +6 -2
  274. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +2 -2
  275. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
  276. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +1 -1
  277. package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
  278. package/common/src/functions/utils/deposit-claimable.utils.d.ts +1 -1
  279. package/common/src/functions/utils/deposit-claimable.utils.mjs +3 -1
  280. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  281. package/common/src/functions/utils/enclave-utxo-storage.mjs +1 -1
  282. package/common/src/functions/utils/fees.utils.cjs +1 -1
  283. package/common/src/functions/utils/fees.utils.mjs +31 -31
  284. package/common/src/functions/utils/formatter.d.ts +1 -0
  285. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  286. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +6 -6
  287. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  288. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +11 -10
  289. package/common/src/functions/utils/index.cjs +1 -1
  290. package/common/src/functions/utils/index.d.ts +2 -2
  291. package/common/src/functions/utils/index.mjs +11 -10
  292. package/common/src/functions/utils/process.utils.cjs +1 -1
  293. package/common/src/functions/utils/process.utils.d.ts +0 -1
  294. package/common/src/functions/utils/process.utils.mjs +2 -11
  295. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  296. package/common/src/functions/utils/publicBalance.utils.mjs +2 -1
  297. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
  298. package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -2
  299. package/common/src/functions/utils/tron.utils.cjs +1 -1
  300. package/common/src/functions/utils/tron.utils.d.ts +5 -14
  301. package/common/src/functions/utils/tron.utils.mjs +91 -127
  302. package/common/src/functions/utils/waasStamp.cjs +1 -0
  303. package/common/src/functions/utils/waasStamp.d.ts +5 -0
  304. package/common/src/functions/utils/waasStamp.mjs +2 -0
  305. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  306. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -8
  307. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +44 -48
  308. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  309. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +4 -3
  310. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +34 -25
  311. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  312. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  313. package/common/src/functions/web3/events/getShieldedBalance.mjs +88 -76
  314. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  315. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -6
  316. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  317. package/common/src/functions/web3/functionCalls/approveToken.mjs +12 -12
  318. package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -0
  319. package/common/src/functions/web3/functionCalls/submitProof.d.ts +5 -0
  320. package/common/src/functions/web3/functionCalls/submitProof.mjs +26 -0
  321. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  322. package/common/src/functions/web3/functionCalls/transactCallDirectTron.d.ts +7 -3
  323. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +81 -87
  324. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  325. package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +6 -11
  326. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +4 -2
  327. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  328. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  329. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  330. package/common/src/functions/web3/getContractMetadata.mjs +1 -1
  331. package/common/src/functions/web3/getTokenHolder.cjs +1 -1
  332. package/common/src/functions/web3/getTokenHolder.mjs +3 -2
  333. package/common/src/functions/web3/index.cjs +1 -1
  334. package/common/src/functions/web3/index.d.ts +0 -3
  335. package/common/src/functions/web3/index.mjs +0 -3
  336. package/common/src/functions/web3/lifiAPI.cjs +1 -1
  337. package/common/src/functions/web3/lifiAPI.mjs +1 -1
  338. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  339. package/common/src/providers/TronProviderAdapter.mjs +7 -1
  340. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  341. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  342. package/common/src/types/activities.types.cjs +1 -1
  343. package/common/src/types/activities.types.d.ts +0 -9
  344. package/common/src/types/activities.types.mjs +1 -1
  345. package/common/src/types/admin.types.cjs +1 -1
  346. package/common/src/types/admin.types.d.ts +3 -1
  347. package/common/src/types/admin.types.mjs +1 -1
  348. package/common/src/types/bridging-tx.types.d.ts +8 -0
  349. package/common/src/types/cache.types.cjs +1 -1
  350. package/common/src/types/cache.types.d.ts +2 -1
  351. package/common/src/types/cache.types.mjs +1 -1
  352. package/common/src/types/circom-data.types.d.ts +6 -0
  353. package/common/src/types/commitments.types.d.ts +2 -0
  354. package/common/src/types/dashboard-transaction.types.d.ts +3 -0
  355. package/common/src/types/ethereum-network.types.cjs +1 -1
  356. package/common/src/types/ethereum-network.types.d.ts +6 -15
  357. package/common/src/types/ethereum-network.types.mjs +1 -1
  358. package/common/src/types/external-action.types.cjs +1 -1
  359. package/common/src/types/external-action.types.d.ts +2 -5
  360. package/common/src/types/external-action.types.mjs +1 -1
  361. package/common/src/types/hinkal.types.cjs +1 -1
  362. package/common/src/types/hinkal.types.d.ts +4 -7
  363. package/common/src/types/hinkal.types.mjs +1 -1
  364. package/common/src/types/index.cjs +1 -1
  365. package/common/src/types/index.d.ts +2 -0
  366. package/common/src/types/index.mjs +1 -0
  367. package/common/src/types/near-intents.types.d.ts +1 -0
  368. package/common/src/types/offscreen.types.cjs +1 -1
  369. package/common/src/types/offscreen.types.d.ts +0 -1
  370. package/common/src/types/offscreen.types.mjs +1 -1
  371. package/common/src/types/pay-activities.types.d.ts +3 -0
  372. package/common/src/types/remote-proof.types.d.ts +0 -6
  373. package/common/src/types/remote-tx-build.types.d.ts +242 -0
  374. package/common/src/types/scheduled-transactions.types.d.ts +3 -0
  375. package/common/src/types/solana.types.d.ts +7 -0
  376. package/common/src/types/tenderly.api.types.d.ts +70 -0
  377. package/common/src/types/transact.types.cjs +1 -0
  378. package/common/src/types/transact.types.d.ts +53 -0
  379. package/common/src/types/transact.types.mjs +6 -0
  380. package/common/src/webworker/{logError-uy41lNp1.js → logError-CxZzSALU.js} +1 -1
  381. package/common/src/webworker/package.json +12 -12
  382. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  383. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  384. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  385. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  386. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  387. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  388. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  389. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  390. package/common/src/webworker/workerProxy-swwPYw6e.js +1 -0
  391. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  392. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  393. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  394. package/index.cjs +1 -1
  395. package/index.mjs +1 -1
  396. package/internal/swapApi.cjs +1 -1
  397. package/internal/swapApi.d.ts +3 -3
  398. package/internal/swapApi.mjs +22 -25
  399. package/package.json +12 -12
  400. package/services/Hinkal.cjs +1 -1
  401. package/services/Hinkal.d.ts +3 -3
  402. package/services/Hinkal.mjs +7 -7
  403. package/types/IHinkal.d.ts +3 -3
  404. package/types/swap.types.d.ts +3 -20
  405. package/common/src/API/callOdosAPI.cjs +0 -1
  406. package/common/src/API/callOdosAPI.d.ts +0 -63
  407. package/common/src/API/callOdosAPI.mjs +0 -18
  408. package/common/src/API/callOneInchAPI.cjs +0 -1
  409. package/common/src/API/callOneInchAPI.d.ts +0 -24
  410. package/common/src/API/callOneInchAPI.mjs +0 -16
  411. package/common/src/constants/rewards.constants.d.ts +0 -2
  412. package/common/src/externalABIs/IQuoterV2.json.cjs +0 -1
  413. package/common/src/externalABIs/IQuoterV2.json.mjs +0 -203
  414. package/common/src/externalABIs/ISwapRouter.json.cjs +0 -1
  415. package/common/src/externalABIs/ISwapRouter.json.mjs +0 -537
  416. package/common/src/externalABIs/IUniswapV3Factory.json.cjs +0 -1
  417. package/common/src/externalABIs/IUniswapV3Factory.json.mjs +0 -188
  418. package/common/src/externalABIs/IUniswapV3Pool.json.cjs +0 -1
  419. package/common/src/externalABIs/IUniswapV3Pool.json.mjs +0 -938
  420. package/common/src/externalABIs/UniswapV2PoolAbi.json.cjs +0 -1
  421. package/common/src/externalABIs/UniswapV2PoolAbi.json.mjs +0 -78
  422. package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
  423. package/common/src/functions/pre-transaction/interaction-to-action.d.ts +0 -2
  424. package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
  425. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +0 -1
  426. package/common/src/functions/pre-transaction/recipientUtxoProcessing.d.ts +0 -3
  427. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +0 -30
  428. package/common/src/functions/private-wallet/opProducer.cjs +0 -1
  429. package/common/src/functions/private-wallet/opProducer.d.ts +0 -5
  430. package/common/src/functions/private-wallet/opProducer.mjs +0 -3
  431. package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +0 -1
  432. package/common/src/functions/snarkjs/generateZkProofEnclave.d.ts +0 -5
  433. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -27
  434. package/common/src/functions/utils/get-signature-header.cjs +0 -1
  435. package/common/src/functions/utils/get-signature-header.d.ts +0 -5
  436. package/common/src/functions/utils/get-signature-header.mjs +0 -4
  437. package/common/src/functions/web3/odosAPI.cjs +0 -1
  438. package/common/src/functions/web3/odosAPI.d.ts +0 -5
  439. package/common/src/functions/web3/odosAPI.mjs +0 -35
  440. package/common/src/functions/web3/oneInchAPI.cjs +0 -1
  441. package/common/src/functions/web3/oneInchAPI.d.ts +0 -5
  442. package/common/src/functions/web3/oneInchAPI.mjs +0 -44
  443. package/common/src/functions/web3/uniswapAPI.cjs +0 -1
  444. package/common/src/functions/web3/uniswapAPI.d.ts +0 -16
  445. package/common/src/functions/web3/uniswapAPI.mjs +0 -60
  446. package/common/src/webworker/workerProxy-MheXtWa4.js +0 -1
@@ -0,0 +1,3 @@
1
+ import { HinkalTransactParams, TransactResult } from '../../types/transact.types';
2
+ import { IHinkal } from './IHinkal';
3
+ export declare const hinkalTransact: (hinkal: IHinkal, params: HinkalTransactParams) => Promise<TransactResult>;
@@ -0,0 +1,90 @@
1
+ import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
2
+ import { zeroFeeStructure as t } from "../../types/hinkal.types.mjs";
3
+ import { getCurrentTimeInSeconds as n } from "../../functions/utils/time.utils.mjs";
4
+ import { Utxo as r } from "../utxo/Utxo.mjs";
5
+ import { SubmitMode as i } from "../../types/transact.types.mjs";
6
+ import { addPaddingToUtxos as a } from "../../functions/web3/events/getShieldedBalance.mjs";
7
+ import { outputUtxoProcessing as o } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
8
+ import { deserializeCircomData as s } from "../../functions/snarkjs/common.snarkjs.mjs";
9
+ import { finalizeTxEnclaveCall as c, finalizeTxEnclaveCallRelay as l, prepareTxEnclaveCall as u } from "../../functions/snarkjs/constructTxEnclave.mjs";
10
+ import { constructZkProof as d } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
11
+ import { submitProof as f } from "../../functions/web3/functionCalls/submitProof.mjs";
12
+ //#region libs/shared/common/src/data-structures/Hinkal/hinkalTransact.ts
13
+ var p = 2, m = 6, h = (e, t) => {
14
+ let n = Math.max(...t.map((e) => e.length)) <= p ? p : m;
15
+ return t.map((t) => {
16
+ let i = t[0];
17
+ if (!i) throw Error("hinkalTransact: inputUtxos must contain at least one note per token");
18
+ let a = [...t];
19
+ for (; a.length < n;) a.push(new r({
20
+ amount: 0n,
21
+ erc20TokenAddress: i.erc20TokenAddress,
22
+ mintAddress: i.mintAddress,
23
+ nullifyingKey: e.getShieldedPrivateKey(),
24
+ spendingPublicKey: e.getSpendingKeyPair().pubSpendingBJJPoint
25
+ }));
26
+ return a;
27
+ });
28
+ }, g = async (r, i, s) => {
29
+ let { chainId: c, erc20Addresses: l, amountChanges: u, externalAddress: f, externalActionId: p, externalActionMetadata: m, feeStructure: g, relay: _, onChainCreation: v, recipientAddress: y, recipientAmounts: b, useBlockedUtxos: x, inputUtxos: S, forceEmptyUtxos: C, originalSender: w, subAccountPrivateKey: T, emporiumOps: E } = i, D = S ? h(s, S) : [...await a(r, c, l, u, void 0, C, x)], O = n().toString(), k = l.map((e, t) => o(s, D[t], u[t], O, !0, y, y === void 0 ? void 0 : b?.map((e) => e[t] ?? 0n)).outputUtxos), { zkCallData: A, circomData: j, dimData: M, commitmentValidationData: N } = await d(r.merkleTreeHinkalByChain[c], D, k, s, p ?? 0n, f, E ?? m ?? "0x00", g ?? t, _ ?? e, c, v, void 0, w, T);
30
+ return {
31
+ zkCallData: A,
32
+ circomData: j,
33
+ dimData: M,
34
+ commitmentValidationData: N
35
+ };
36
+ }, _ = async (e, t, n) => {
37
+ let { chainId: r, erc20Addresses: i, externalAddress: a, amountChanges: o, relay: s, feeStructure: c, externalActionId: l, externalActionMetadata: d, onChainCreation: f, recipientAddress: p, recipientAmounts: m, useBlockedUtxos: h, createBlockedUtxos: g, skipLock: _, selfOutputAmounts: v, forceEmptyUtxos: y, messageSeed: b, inputUtxos: x, originalSender: S } = t, { jobId: C, signedMessageHash: w } = await u(e, {
38
+ chainId: r,
39
+ erc20Addresses: i,
40
+ externalAddress: a,
41
+ originalSender: S,
42
+ amountChanges: o,
43
+ relay: s,
44
+ feeStructure: c,
45
+ externalActionId: l,
46
+ externalActionMetadata: d,
47
+ onChainCreation: f,
48
+ recipientAddress: p,
49
+ recipientAmounts: m,
50
+ useBlockedUtxos: h,
51
+ createBlockedUtxos: g,
52
+ skipLock: _,
53
+ selfOutputAmounts: v,
54
+ forceEmptyUtxos: y,
55
+ messageSeed: b,
56
+ inputCommitments: x?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment())
57
+ }, n), { R8: T, S: E } = n.signEddsa(BigInt(w));
58
+ return {
59
+ jobId: C,
60
+ eddsaSignature: {
61
+ R8: T,
62
+ S: E
63
+ }
64
+ };
65
+ }, v = async (e, t, n) => {
66
+ let r = await f(e, t, n);
67
+ return t.submit.mode !== i.ProofOnly && t.onTxSubmitLocally?.(n.circomData), r;
68
+ }, y = async (e, t) => {
69
+ if (t.userKeys && !t.inputUtxos) throw Error("hinkalTransact: userKeys requires explicit inputUtxos");
70
+ let n = t.userKeys ?? e.userKeys, { chainId: r, submit: a } = t;
71
+ if (e.generateProofRemotely) {
72
+ let { jobId: o, eddsaSignature: u } = await _(e, t, n);
73
+ if (a.mode === i.Relayer) return l(o, u, r, {
74
+ adminData: a.adminData,
75
+ authorizationData: a.authorizationData,
76
+ withUniswapWorkAround: a.withUniswapWorkAround
77
+ });
78
+ let { zkCallData: d, circomData: f, dimData: p, commitmentValidationData: m, tronProofSignature: h } = await c(o, u);
79
+ return v(e, t, {
80
+ zkCallData: d,
81
+ circomData: s(f),
82
+ dimData: p,
83
+ commitmentValidationData: m,
84
+ tronProofSignature: h
85
+ });
86
+ }
87
+ return v(e, t, await g(e, t, n));
88
+ };
89
+ //#endregion
90
+ export { y as hinkalTransact };
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/utils/time.utils.cjs`),i=require(`../../functions/utils/addresses.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),g=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var _=async(e,t,n,i,a,o)=>{let s=[...await c.addPaddingToUtxos(e,t,n,i)],u=[],d=r.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,s[t],i[t],d,!0,a,t===0?o:0n);u.push(n)}return{inputUtxosArray:s,outputUtxosArray:u}},v=async(r,c,l,v,y,b,x)=>{let S=s.validateAndGetChainId(c),C=e.isTronLike(S);if(!i.isValidPrivateAddress(v))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=a.addressToHexFormat(await r.getEthereumAddressByChain(S)),T=c.map(e=>e.erc20TokenAddress),E=await u.modifyVolatileTokenAmountChanges(S,c,l),D=b??await f.getFeeStructure(S,y,T,o.ExternalActionId.Transact,[],5n);D.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let O=c[0];if(!O)throw Error(`Transfer Action: No Token Found`);let k=-E[0],A=await p.calculateModifiedFeeStructure(S,O,k,D);await g.mergeWithFeeStructure(S,T,E,A);let[j,{inputUtxosArray:M,outputUtxosArray:N}]=await Promise.all([r.getRandomRelay(S,!0),_(r,S,T,E,v,k)]);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let P={externalActionId:0n,externalAddress:j,externalActionMetadata:`0x00`},{zkCallData:F,circomData:I,dimData:L,commitmentValidationData:R}=await m.constructZkProof(r.merkleTreeHinkalByChain[S],M,N,r.userKeys,P.externalActionId,P.externalAddress,P.externalActionMetadata,r.generateProofRemotely,A,j,S),z=await a.reorderZkCallData(C,F,L,I);return await h.transactCallRelayer(S,F,L,I,R,void 0,void 0,d.constructAdminData(x,S,T,E,w),z)};exports.hinkalTransfer=v;
1
+ const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/addresses.cjs`),r=require(`../../functions/utils/tron.utils.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../../types/transact.types.cjs`),o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),c=require(`../../functions/pre-transaction/constructAdminData.cjs`),l=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const u=require(`./hinkalTransact.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var p=async(p,m,h,g,_,v,y)=>{let b=o.validateAndGetChainId(m);if(!n.isValidPrivateAddress(g))throw Error(t.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let x=r.addressToHexFormat(await p.getEthereumAddressByChain(b)),S=m.map(e=>e.erc20TokenAddress),C=await s.modifyVolatileTokenAmountChanges(b,m,h),w=v??await l.getFeeStructure(b,_,S,i.ExternalActionId.Transact,[],5n);w.variableRate||=e.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let T=m[0];if(!T)throw Error(`Transfer Action: No Token Found`);let E=-C[0],D=await d.calculateModifiedFeeStructure(b,T,E,w);await f.mergeWithFeeStructure(b,S,C,D);let O=await p.getRandomRelay(b,!0);if(!O)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let k=c.constructAdminData(y,b,S,C,x);return u.hinkalTransact(p,{chainId:b,erc20Addresses:S,amountChanges:C,externalAddress:O,feeStructure:D,relay:O,recipientAddress:[g],recipientAmounts:[S.map((e,t)=>t===0?E:0n)],submit:{mode:a.SubmitMode.Relayer,adminData:k}})};exports.hinkalTransfer=p;
@@ -1,49 +1,44 @@
1
- import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
- import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t } from "../../constants/protocol.constants.mjs";
3
- import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
4
- import { getCurrentTimeInSeconds as r } from "../../functions/utils/time.utils.mjs";
5
- import { isValidPrivateAddress as i } from "../../functions/utils/addresses.mjs";
6
- import { addressToHexFormat as a, reorderZkCallData as o } from "../../functions/utils/tron.utils.mjs";
7
- import { ExternalActionId as s } from "../../types/external-action.types.mjs";
8
- import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
9
- import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
10
- import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
11
- import { modifyVolatileTokenAmountChanges as d } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
12
- import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
13
- import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
1
+ import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as e } from "../../constants/protocol.constants.mjs";
2
+ import { transactionErrorCodes as t } from "../../error-handling/error-codes.constants.mjs";
3
+ import { isValidPrivateAddress as n } from "../../functions/utils/addresses.mjs";
4
+ import { addressToHexFormat as r } from "../../functions/utils/tron.utils.mjs";
5
+ import { ExternalActionId as i } from "../../types/external-action.types.mjs";
6
+ import { SubmitMode as a } from "../../types/transact.types.mjs";
7
+ import { validateAndGetChainId as o } from "../../functions/utils/token-check.utils.mjs";
8
+ import { modifyVolatileTokenAmountChanges as s } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
9
+ import { constructAdminData as c } from "../../functions/pre-transaction/constructAdminData.mjs";
10
+ import { getFeeStructure as l } from "../../functions/pre-transaction/getFeeStructure.mjs";
14
11
  import "../../functions/pre-transaction/index.mjs";
15
- import { calculateModifiedFeeStructure as m } from "../../functions/utils/fees.utils.mjs";
16
- import { constructZkProof as h } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
17
- import { transactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
18
- import { mergeWithFeeStructure as _ } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
12
+ import { hinkalTransact as u } from "./hinkalTransact.mjs";
13
+ import { calculateModifiedFeeStructure as d } from "../../functions/utils/fees.utils.mjs";
14
+ import { mergeWithFeeStructure as f } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
19
15
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalTransfer.ts
20
- var v = async (e, t, n, i, a, o) => {
21
- let s = [...await l(e, t, n, i)], c = [], d = r().toString();
22
- for (let t = 0; t < n.length; t += 1) {
23
- let { outputUtxos: n } = u(e.userKeys, s[t], i[t], d, !0, a, t === 0 ? o : 0n);
24
- c.push(n);
25
- }
26
- return {
27
- inputUtxosArray: s,
28
- outputUtxosArray: c
29
- };
30
- }, y = async (r, l, u, y, b, x, S) => {
31
- let C = c(l), w = e(C);
32
- if (!i(y)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
33
- let T = a(await r.getEthereumAddressByChain(C)), E = l.map((e) => e.erc20TokenAddress), D = await d(C, l, u), O = x ?? await p(C, b, E, s.Transact, [], 5n);
34
- O.variableRate ||= t;
35
- let k = l[0];
36
- if (!k) throw Error("Transfer Action: No Token Found");
37
- let A = -D[0], j = await m(C, k, A, O);
38
- await _(C, E, D, j);
39
- let [M, { inputUtxosArray: N, outputUtxosArray: P }] = await Promise.all([r.getRandomRelay(C, !0), v(r, C, E, D, y, A)]);
40
- if (!M) throw Error(n.RELAYER_NOT_AVAILABLE);
41
- let F = {
42
- externalActionId: 0n,
43
- externalAddress: M,
44
- externalActionMetadata: "0x00"
45
- }, { zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z } = await h(r.merkleTreeHinkalByChain[C], N, P, r.userKeys, F.externalActionId, F.externalAddress, F.externalActionMetadata, r.generateProofRemotely, j, M, C), B = await o(w, I, R, L);
46
- return await g(C, I, R, L, z, void 0, void 0, f(S, C, E, D, T), B);
16
+ var p = async (p, m, h, g, _, v, y) => {
17
+ let b = o(m);
18
+ if (!n(g)) throw Error(t.RECIPIENT_FORMAT_INCORRECT);
19
+ let x = r(await p.getEthereumAddressByChain(b)), S = m.map((e) => e.erc20TokenAddress), C = await s(b, m, h), w = v ?? await l(b, _, S, i.Transact, [], 5n);
20
+ w.variableRate ||= e;
21
+ let T = m[0];
22
+ if (!T) throw Error("Transfer Action: No Token Found");
23
+ let E = -C[0], D = await d(b, T, E, w);
24
+ await f(b, S, C, D);
25
+ let O = await p.getRandomRelay(b, !0);
26
+ if (!O) throw Error(t.RELAYER_NOT_AVAILABLE);
27
+ let k = c(y, b, S, C, x);
28
+ return u(p, {
29
+ chainId: b,
30
+ erc20Addresses: S,
31
+ amountChanges: C,
32
+ externalAddress: O,
33
+ feeStructure: D,
34
+ relay: O,
35
+ recipientAddress: [g],
36
+ recipientAmounts: [S.map((e, t) => t === 0 ? E : 0n)],
37
+ submit: {
38
+ mode: a.Relayer,
39
+ adminData: k
40
+ }
41
+ });
47
42
  };
48
43
  //#endregion
49
- export { y as hinkalTransfer };
44
+ export { p as hinkalTransfer };
@@ -0,0 +1 @@
1
+ const e=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const t=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),n=require(`../../functions/utils/tx-confirmation.utils.cjs`),r=require(`../../API/deposit-and-withdraw-status-calls.cjs`),i=require(`./prepareTronDepositToSelf.cjs`);var a=async(a,o,s,c,l,u,d,f=!0)=>{let p=(await r.updateDepositAndWithdrawStatus({chainId:o,hashedEthereumAddress:d,phase:e.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,{zkCallData:m,circomData:h,dimData:g,totalDepositAmount:_,depositOutputUtxos:v}=await i.prepareTronDepositToSelf(a,o,s,c,u),y=await t.transactCallDirectTron(a,o,_,s,m,h,g,void 0,void 0,f);return await n.waitForEthereumTransactionConfirmation(o,y),await r.safeUpdateDepositAndWithdrawStatus({id:p,chainId:o,hashedEthereumAddress:d,phase:e.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:y}),{userDepositedUtxos:v.map((e,t)=>({utxo:e,recipientAddress:l[t]})),statusId:p,depositTxHash:y}};exports.hinkalTronDepositToSelf=a;
@@ -0,0 +1,8 @@
1
+ import { IHinkal } from './IHinkal';
2
+ import { ERC20Token, RecipientUtxo } from '../../types';
3
+ import { FeeStructure } from '../../types/hinkal.types';
4
+ export declare const hinkalTronDepositToSelf: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], feeStructure: FeeStructure, hashedEthereumAddress: string, preEstimateGas?: boolean) => Promise<{
5
+ userDepositedUtxos: RecipientUtxo[];
6
+ statusId?: string;
7
+ depositTxHash: string;
8
+ }>;
@@ -0,0 +1,30 @@
1
+ import { DepositAndWithdrawPhase as e } from "../../types/scheduled-transactions.types.mjs";
2
+ import "../../types/index.mjs";
3
+ import { transactCallDirectTron as t } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
4
+ import { waitForEthereumTransactionConfirmation as n } from "../../functions/utils/tx-confirmation.utils.mjs";
5
+ import { safeUpdateDepositAndWithdrawStatus as r, updateDepositAndWithdrawStatus as i } from "../../API/deposit-and-withdraw-status-calls.mjs";
6
+ import { prepareTronDepositToSelf as a } from "./prepareTronDepositToSelf.mjs";
7
+ //#region libs/shared/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.ts
8
+ var o = async (o, s, c, l, u, d, f, p = !0) => {
9
+ let m = (await i({
10
+ chainId: s,
11
+ hashedEthereumAddress: f,
12
+ phase: e.BEFORE_DEPOSIT
13
+ })).id ?? void 0, { zkCallData: h, circomData: g, dimData: _, totalDepositAmount: v, depositOutputUtxos: y } = await a(o, s, c, l, d), b = await t(o, s, v, c, h, g, _, void 0, void 0, p);
14
+ return await n(s, b), await r({
15
+ id: m,
16
+ chainId: s,
17
+ hashedEthereumAddress: f,
18
+ phase: e.AFTER_DEPOSIT,
19
+ depositTxHash: b
20
+ }), {
21
+ userDepositedUtxos: y.map((e, t) => ({
22
+ utxo: e,
23
+ recipientAddress: u[t]
24
+ })),
25
+ statusId: m,
26
+ depositTxHash: b
27
+ };
28
+ };
29
+ //#endregion
30
+ export { o as hinkalTronDepositToSelf };
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),m=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),g=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`);var v=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},y=async(i,c,l,y,b,x,S,C)=>{let w=s.validateAndGetChainId(c),T=e.isTronLike(w),E=a.addressToHexFormat(await i.getEthereumAddressByChain(w)),D=c.map(e=>e.erc20TokenAddress),O=await u.modifyVolatileTokenAmountChanges(w,c,l),k=c[0];if(!k)throw Error(`Deposit Action: No Token Found`);let A;b||(A=S??await f.getFeeStructure(w,x,D,o.ExternalActionId.Transact),await g.mergeWithFeeStructure(w,D,O,A));let j={externalActionId:0n,externalAddress:a.addressToHexFormat(y),externalActionMetadata:`0x00`},[M,{inputUtxosArray:N,outputUtxosArray:P}]=await Promise.all([i.getRandomRelay(w,!0),v(i,w,D,O)]);if(!b&&!M)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let{zkCallData:F,circomData:I,dimData:L,commitmentValidationData:R}=await p.constructZkProof(i.merkleTreeHinkalByChain[w],N,P,i.userKeys,j.externalActionId,j.externalAddress,j.externalActionMetadata,i.generateProofRemotely,A??n.zeroFeeStructure,b?t.zeroAddress:M,w,void 0,void 0,b?E:void 0),z=T&&b?void 0:await a.reorderZkCallData(T,F,L,I);if(b){if(!k)throw Error(`Withdraw Action: No Token Found`);return T?await _.transactCallDirectTron(i,w,O[0],k,F,I,L):await m.transactCallDirect(i,w,O[0],k,F,I,L)}return await h.transactCallRelayer(w,F,L,I,R,void 0,void 0,d.constructAdminData(C,w,D,O,E),z)};exports.hinkalWithdraw=y;
1
+ const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../functions/utils/tron.utils.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/transact.types.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const c=require(`./hinkalTransact.cjs`),l=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var u=async(u,d,f,p,m,h,g,_)=>{let v=i.validateAndGetChainId(d),y=t.addressToHexFormat(await u.getEthereumAddressByChain(v)),b=d.map(e=>e.erc20TokenAddress),x=await a.modifyVolatileTokenAmountChanges(v,d,f),S=d[0];if(!S)throw Error(`Withdraw Action: No Token Found`);let C;m||(C=g??await s.getFeeStructure(v,h,b,n.ExternalActionId.Transact),await l.mergeWithFeeStructure(v,b,x,C));let w=m?void 0:await u.getRandomRelay(v,!0);if(!m&&!w)throw Error(e.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let T=m?{mode:r.SubmitMode.Self,erc20Tokens:[S],approvalAmounts:[x[0]]}:{mode:r.SubmitMode.Relayer,adminData:o.constructAdminData(_,v,b,x,y)};return c.hinkalTransact(u,{chainId:v,erc20Addresses:b,amountChanges:x,externalAddress:t.addressToHexFormat(p),feeStructure:C,relay:w,originalSender:m?y:void 0,submit:T})};exports.hinkalWithdraw=u;
@@ -1,50 +1,40 @@
1
- import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
- import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
3
- import { zeroFeeStructure as n } from "../../types/hinkal.types.mjs";
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 { addressToHexFormat as a, reorderZkCallData as o } from "../../functions/utils/tron.utils.mjs";
7
- import { ExternalActionId as s } from "../../types/external-action.types.mjs";
8
- import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
9
- import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
10
- import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
11
- import { modifyVolatileTokenAmountChanges as d } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
12
- import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
13
- import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
1
+ import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
2
+ import { addressToHexFormat as t } from "../../functions/utils/tron.utils.mjs";
3
+ import { ExternalActionId as n } from "../../types/external-action.types.mjs";
4
+ import { SubmitMode as r } from "../../types/transact.types.mjs";
5
+ import { validateAndGetChainId as i } from "../../functions/utils/token-check.utils.mjs";
6
+ import { modifyVolatileTokenAmountChanges as a } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
7
+ import { constructAdminData as o } from "../../functions/pre-transaction/constructAdminData.mjs";
8
+ import { getFeeStructure as s } from "../../functions/pre-transaction/getFeeStructure.mjs";
14
9
  import "../../functions/pre-transaction/index.mjs";
15
- import { constructZkProof as m } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
16
- import { transactCallDirect as h } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
17
- import { transactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
18
- import { mergeWithFeeStructure as _ } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
19
- import { transactCallDirectTron as v } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
10
+ import { hinkalTransact as c } from "./hinkalTransact.mjs";
11
+ import { mergeWithFeeStructure as l } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
20
12
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdraw.ts
21
- var y = async (e, t, n, r) => {
22
- let a = [...await l(e, t, n, r)], o = [], s = i().toString();
23
- for (let t = 0; t < n.length; t += 1) {
24
- let { outputUtxos: n } = u(e.userKeys, a[t], r[t], s);
25
- o.push(n);
26
- }
27
- return {
28
- inputUtxosArray: a,
29
- outputUtxosArray: o
13
+ var u = async (u, d, f, p, m, h, g, _) => {
14
+ let v = i(d), y = t(await u.getEthereumAddressByChain(v)), b = d.map((e) => e.erc20TokenAddress), x = await a(v, d, f), S = d[0];
15
+ if (!S) throw Error("Withdraw Action: No Token Found");
16
+ let C;
17
+ m || (C = g ?? await s(v, h, b, n.Transact), await l(v, b, x, C));
18
+ let w = m ? void 0 : await u.getRandomRelay(v, !0);
19
+ if (!m && !w) throw Error(e.RELAYER_NOT_AVAILABLE);
20
+ let T = m ? {
21
+ mode: r.Self,
22
+ erc20Tokens: [S],
23
+ approvalAmounts: [x[0]]
24
+ } : {
25
+ mode: r.Relayer,
26
+ adminData: o(_, v, b, x, y)
30
27
  };
31
- }, b = async (i, l, u, b, x, S, C, w) => {
32
- let T = c(l), E = e(T), D = a(await i.getEthereumAddressByChain(T)), O = l.map((e) => e.erc20TokenAddress), k = await d(T, l, u), A = l[0];
33
- if (!A) throw Error("Deposit Action: No Token Found");
34
- let j;
35
- x || (j = C ?? await p(T, S, O, s.Transact), await _(T, O, k, j));
36
- let M = {
37
- externalActionId: 0n,
38
- externalAddress: a(b),
39
- externalActionMetadata: "0x00"
40
- }, [N, { inputUtxosArray: P, outputUtxosArray: F }] = await Promise.all([i.getRandomRelay(T, !0), y(i, T, O, k)]);
41
- if (!x && !N) throw Error(r.RELAYER_NOT_AVAILABLE);
42
- let { zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z } = await m(i.merkleTreeHinkalByChain[T], P, F, i.userKeys, M.externalActionId, M.externalAddress, M.externalActionMetadata, i.generateProofRemotely, j ?? n, x ? t : N, T, void 0, void 0, x ? D : void 0), B = E && x ? void 0 : await o(E, I, R, L);
43
- if (x) {
44
- if (!A) throw Error("Withdraw Action: No Token Found");
45
- return E ? await v(i, T, k[0], A, I, L, R) : await h(i, T, k[0], A, I, L, R);
46
- }
47
- return await g(T, I, R, L, z, void 0, void 0, f(w, T, O, k, D), B);
28
+ return c(u, {
29
+ chainId: v,
30
+ erc20Addresses: b,
31
+ amountChanges: x,
32
+ externalAddress: t(p),
33
+ feeStructure: C,
34
+ relay: w,
35
+ originalSender: m ? y : void 0,
36
+ submit: T
37
+ });
48
38
  };
49
39
  //#endregion
50
- export { b as hinkalWithdraw };
40
+ export { u as hinkalWithdraw };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/utils/amounts.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/encodeTokenWithId.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),l=require(`../../types/external-action.types.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/snarkjs/common.snarkjs.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let b=require(`ethers`);var x=6,S=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,void 0,!1,!0)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=f.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},C=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,6,!1,!0)][0],o=a.getCurrentTimeInSeconds().toString(),{outputUtxos:s}=f.outputUtxoProcessing(e.userKeys,i,r[0],o);return{inputUtxos:i,outputUtxos:s}},w=async(t,r,i,a,o)=>{let c=e.isTronLike(r),u=[i.erc20TokenAddress],d=i.erc20TokenAddress,[f,p]=await Promise.all([m.getFeeStructure(r,d,u,l.ExternalActionId.Transact),t.getRandomRelay(r,!0)]);if(!p)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let g=s.addressToHexFormat(o),b=a-f.flatFee;if(b<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${a}, Fee: ${f.flatFee}`);let x=[-b];await y.mergeWithFeeStructure(r,u,x,f);let C={externalActionId:0n,externalAddress:g,externalActionMetadata:`0x00`},{inputUtxosArray:w,outputUtxosArray:T}=await S(t,r,u,x),{zkCallData:E,circomData:D,dimData:O,commitmentValidationData:k}=await h.constructZkProof(t.merkleTreeHinkalByChain[r],w,T,t.userKeys,C.externalActionId,C.externalAddress,C.externalActionMetadata,t.generateProofRemotely,f,p,r),A=await s.reorderZkCallData(c,E,O,D);return v.updateHinkal(r,t,D.inputNullifiers?.flat(),D.outCommitments?.flat(),D.encryptedOutputs?.flat()),{tx:await _.transactCallRelayer(r,E,O,D,k,void 0,void 0,void 0,A),amountToRecipient:b}},T=async(t,a,o,s,c,u)=>{let d=[o.erc20TokenAddress],{originalDeployer:f}=e.networkRegistry[a].contractData;if(!f)throw Error(`missing data`);let{userKeys:h,merkleTreeHinkalByChain:y}=t,x=o.erc20TokenAddress,[S,w]=await Promise.all([m.getFeeStructure(a,x,d,l.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:c,nullifierCount:u}),t.getRandomRelay(a,!0)]);if(!w)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let T=s-S.flatFee;if(T<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${S.flatFee}`);let E=[-T];E[0]-=S.flatFee;let{inputUtxos:D,outputUtxos:O}=await C(t,a,d,E),k=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),A={tokenNumber:d.length,nullifierAmount:D.length,outputAmount:O.length},j=p.calcEncryptedOutputs([O])[0][0],M=Array.from(b.ethers.getBytes(j)),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await g.constructSolanaZkProof(t.generateProofRemotely,y[a],h,[d[0]],[D],[O],k,S.flatFee,S.variableRate,c,w,A,[M],a),R={recipient:c,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]},z={proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[M],relayerFee:S.flatFee.toString(),dimensions:A};return v.updateHinkal(a,t,D.map(e=>e.getNullifier()),p.buildOutCommitments([O]).flat(),[j]),{tx:await _.solanaTransactCallRelayer({chainId:a,relayAddress:w,functionName:`transact`,args:z,accounts:R,commitmentValidationData:L}),amountToRecipient:T}},E=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?T(t,n,r,i,a,o):w(t,n,r,i,a),D=async(e,n,r)=>{let i=[],a=u.validateAndGetChainId([n]),s=o.normalizeTokenAddress(a,n.erc20TokenAddress);await e.resetMerkleTreesIfNecessary([a]);let l=((await c.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(s)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount));for(let o=0;o<l.length;o+=x){let s=l.slice(o,o+x),{tx:c}=await E(e,a,n,t.countTotalAmountInUtxos(s),r,s.length);i.push(c)}return i};exports.hinkalWithdrawStuckUtxos=D;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/utils/amounts.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/encodeTokenWithId.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/utils/tron.utils.cjs`),l=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),u=require(`../../types/external-action.types.cjs`),d=require(`../../types/transact.types.cjs`),f=require(`../../error-handling/logger.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),g=require(`../../functions/snarkjs/common.snarkjs.cjs`),_=require(`../../functions/snarkjs/constructTxEnclave.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`./hinkalTransact.cjs`),x=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),S=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),C=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let w=require(`ethers`);var T=6,E=async(e,t,n,r)=>{let i=[...await m.addPaddingToUtxos(e,t,n,r,6,!1,!0)][0],o=a.getCurrentTimeInSeconds().toString(),{outputUtxos:s}=h.outputUtxoProcessing(e.userKeys,i,r[0],o);return{inputUtxos:i,outputUtxos:s}},D=async(e,t,r,i)=>{let a=r.erc20TokenAddress,o=await e.getEthereumAddressByChain(t),[l,d]=await Promise.all([v.getFeeStructure(t,a,[a],u.ExternalActionId.Transact),e.getRandomRelay(t,!0)]);if(!d)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let p=await _.prepareStuckWithdrawEnclaveCall(e,{chainId:t,erc20Address:a,externalAddress:c.addressToHexFormat(i),relay:d,feeStructure:l,hashedEthereumAddress:s.hashEthereumAddress(o)}),m=[];for(let n=0;n<p.length;n+=1)try{let{jobId:r,signedMessageHash:i}=p[n],{R8:a,S:o}=e.userKeys.signEddsa(BigInt(i));m.push(await _.finalizeTxEnclaveCallRelay(r,{R8:a,S:o},t))}catch(e){if(!m.length)throw e;return f.Logger.error(`Stuck withdrawal partially submitted (${m.length}/${p.length})`,e),m}return m},O=async(e,t,n)=>{let r=await Promise.all(Array.from({length:T},async(r,i)=>{let a=i+1,o=await v.getFeeStructure(e,t,[t],u.ExternalActionId.Transact,void 0,void 0,{mintTo:t,recipient:n,nullifierCount:a});return[String(a),o]}));return Object.fromEntries(r)},k=async(e,t,r,i)=>{let a=r.erc20TokenAddress,[o,c,l]=await Promise.all([e.getEthereumAddressByChain(t),e.getRandomRelay(t,!0),O(t,a,i)]);if(!c)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let u=await _.prepareSolanaStuckWithdrawEnclaveCall(e,{chainId:t,mintAddress:a,recipient:i,relayAddress:c,accounts:{recipient:i,mint:a===`11111111111111111111111111111111`?void 0:a},feeStructures:l,hashedEthereumAddress:s.hashEthereumAddress(o)}),d=[];for(let n=0;n<u.length;n+=1){let{jobId:r,signedMessageHash:i}=u[n],{R8:a,S:o}=e.userKeys.signEddsa(BigInt(i));d.push(await _.finalizeSolanaTxEnclaveCallRelay(r,{R8:a,S:o},t))}return d},A=async(e,t,r,i,a)=>{let o=[r.erc20TokenAddress],s=r.erc20TokenAddress,[l,f]=await Promise.all([v.getFeeStructure(t,s,o,u.ExternalActionId.Transact),e.getRandomRelay(t,!0)]);if(!f)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let p=c.addressToHexFormat(a),m=i-l.flatFee;if(m<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${i}, Fee: ${l.flatFee}`);let h=[-m];return await C.mergeWithFeeStructure(t,o,h,l),{tx:await b.hinkalTransact(e,{chainId:t,erc20Addresses:o,amountChanges:h,externalAddress:p,feeStructure:l,relay:f,useBlockedUtxos:!0,onTxSubmitLocally:n=>{S.updateHinkal(t,e,n.inputNullifiers?.flat(),n.outCommitments?.flat(),n.encryptedOutputs?.flat())},submit:{mode:d.SubmitMode.Relayer}}),amountToRecipient:m}},j=async(t,a,o,s,c,l)=>{let d=[o.erc20TokenAddress],{originalDeployer:f}=e.networkRegistry[a].contractData;if(!f)throw Error(`missing data`);let{userKeys:p,merkleTreeHinkalByChain:m}=t,h=o.erc20TokenAddress,[_,b]=await Promise.all([v.getFeeStructure(a,h,d,u.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:c,nullifierCount:l}),t.getRandomRelay(a,!0)]);if(!b)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let C=s-_.flatFee;if(C<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${_.flatFee}`);let T=[-C];T[0]-=_.flatFee;let{inputUtxos:D,outputUtxos:O}=await E(t,a,d,T),k=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),A={tokenNumber:d.length,nullifierAmount:D.length,outputAmount:O.length},{proofAArr:j,proofBArr:M,proofCArr:N,publicInputsArr:P,commitmentValidationData:F,rootHashHinkalIndex:I,encryptedOutputs:L}=await x.constructSolanaZkProof(m[a],p,[d[0]],[D],[O],k,_.flatFee,_.variableRate,c,b,A,void 0,a),R={recipient:c,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]},z=await y.solanaTransactCallRelayer({chainId:a,relayAddress:b,functionName:`transact`,args:{proofAArr:j,proofBArr:M,proofCArr:N,publicInputsArr:P,encryptedOutputs:L,relayerFee:_.flatFee.toString(),dimensions:A,rootHashIndex:I.toString()},accounts:R,commitmentValidationData:F});return S.updateHinkal(a,t,D.map(e=>e.getNullifier()),g.buildOutCommitments([O]).flat(),L.map(e=>w.ethers.hexlify(new Uint8Array(e)))),{tx:z,amountToRecipient:C}},M=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?j(t,n,r,i,a,o):A(t,n,r,i,a),N=async(r,i,a)=>{let s=p.validateAndGetChainId([i]);if(r.generateProofRemotely){let t=e.isSolanaLike(s)?await k(r,s,i,a):await D(r,s,i,a);if(!t.length)throw Error(n.transactionErrorCodes.NO_STUCK_BALANCE_TO_WITHDRAW);return t}let c=[],u=o.normalizeTokenAddress(s,i.erc20TokenAddress);await r.resetMerkleTreesIfNecessary([s]);let d=((await l.getInputUtxoAndBalancePerToken({hinkal:r,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:s}))?.get(u)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount));if(!d.length)throw Error(n.transactionErrorCodes.NO_STUCK_BALANCE_TO_WITHDRAW);for(let e=0;e<d.length;e+=T){let n=d.slice(e,e+T),o=t.countTotalAmountInUtxos(n);try{let{tx:e}=await M(r,s,i,o,a,n.length);c.push(e)}catch(e){if(!c.length)throw e;return f.Logger.error(`Stuck withdrawal partially submitted (${c.length}/${Math.ceil(d.length/T)})`,e),c}}return c};exports.hinkalWithdrawStuckUtxos=N;