@hinkal/common 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/common/src/API/API.cjs +1 -1
  2. package/common/src/API/API.d.ts +9 -34
  3. package/common/src/API/API.mjs +75 -100
  4. package/common/src/API/callOneInchAPI.cjs +1 -1
  5. package/common/src/API/callOneInchAPI.d.ts +6 -0
  6. package/common/src/API/callOneInchAPI.mjs +5 -2
  7. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
  8. package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
  9. package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
  10. package/common/src/API/dashboardPayoutCalls.cjs +1 -1
  11. package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
  12. package/common/src/API/dashboardPayoutCalls.mjs +4 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
  14. package/common/src/API/getWebsiteURL.d.ts +1 -2
  15. package/common/src/API/index.cjs +1 -1
  16. package/common/src/API/index.d.ts +1 -2
  17. package/common/src/API/index.mjs +2 -3
  18. package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
  19. package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
  20. package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
  21. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  22. package/common/src/API/proxyAccountsCalls.d.ts +2 -3
  23. package/common/src/API/proxyAccountsCalls.mjs +11 -10
  24. package/common/src/API/rewardsUserCalls.cjs +1 -1
  25. package/common/src/API/rewardsUserCalls.d.ts +1 -38
  26. package/common/src/API/rewardsUserCalls.mjs +2 -9
  27. package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
  28. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  29. package/common/src/API/temporaryWalletCalls.mjs +8 -8
  30. package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
  31. package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
  32. package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
  33. package/common/src/constants/chains.constants.cjs +1 -1
  34. package/common/src/constants/chains.constants.mjs +3 -10
  35. package/common/src/constants/contracts.constants.cjs +1 -1
  36. package/common/src/constants/contracts.constants.mjs +19 -32
  37. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
  39. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
  41. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
  43. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  44. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
  45. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
  47. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  48. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
  49. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  50. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
  51. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  53. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +7 -18
  55. package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
  56. package/common/src/constants/index.cjs +1 -1
  57. package/common/src/constants/index.d.ts +1 -2
  58. package/common/src/constants/index.mjs +0 -1
  59. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  60. package/common/src/constants/pay.constants.d.ts +1 -0
  61. package/common/src/constants/protocol.constants.cjs +2 -1
  62. package/common/src/constants/protocol.constants.d.ts +7 -5
  63. package/common/src/constants/protocol.constants.mjs +4 -11
  64. package/common/src/constants/rewards.constants.d.ts +0 -13
  65. package/common/src/constants/server.constants.cjs +1 -1
  66. package/common/src/constants/server.constants.d.ts +5 -28
  67. package/common/src/constants/server.constants.mjs +10 -41
  68. package/common/src/crypto/ecdh.cjs +1 -1
  69. package/common/src/crypto/ecdh.mjs +2 -9
  70. package/common/src/crypto/index.cjs +1 -1
  71. package/common/src/crypto/index.mjs +1 -1
  72. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
  74. package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
  75. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  76. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  77. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
  78. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
  80. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
  82. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  83. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
  84. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  85. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
  86. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  87. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
  89. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
  92. package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
  94. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
  96. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
  98. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
  99. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
  101. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
  102. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  104. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
  106. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
  108. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
  110. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
  112. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
  114. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
  116. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
  118. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  119. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
  121. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  122. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  123. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  124. package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
  125. package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
  126. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  127. package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
  128. package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
  129. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
  130. package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
  131. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
  132. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  133. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  134. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  135. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
  136. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  137. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
  138. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  139. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
  140. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  141. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
  142. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  143. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
  144. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  145. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
  146. package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
  147. package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
  148. package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
  149. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
  150. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  151. package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
  152. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
  153. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  154. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
  155. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
  156. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  157. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
  158. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
  159. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  160. package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
  161. package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
  162. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  163. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
  164. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
  165. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
  166. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
  167. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
  168. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  169. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
  170. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
  171. package/common/src/data-structures/utxo/Utxo.cjs +1 -1
  172. package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
  173. package/common/src/data-structures/utxo/Utxo.mjs +7 -17
  174. package/common/src/error-handling/error-codes.constants.cjs +2 -2
  175. package/common/src/error-handling/error-codes.constants.d.ts +0 -3
  176. package/common/src/error-handling/error-codes.constants.mjs +13 -18
  177. package/common/src/error-handling/index.cjs +1 -1
  178. package/common/src/error-handling/index.d.ts +1 -0
  179. package/common/src/error-handling/index.mjs +1 -0
  180. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  181. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  182. package/common/src/functions/index.cjs +1 -1
  183. package/common/src/functions/index.mjs +1 -1
  184. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  185. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
  186. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  187. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
  188. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  189. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
  190. package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  191. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  192. package/common/src/functions/pre-transaction/solana.mjs +5 -4
  193. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  194. package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
  195. package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
  196. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  197. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
  198. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  199. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
  200. package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
  201. package/common/src/functions/snarkjs/constant.cjs +1 -1
  202. package/common/src/functions/snarkjs/constant.d.ts +151 -144
  203. package/common/src/functions/snarkjs/constant.mjs +151 -145
  204. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  205. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  206. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
  207. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
  208. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
  209. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
  210. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  211. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
  212. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
  213. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  214. package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
  215. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
  216. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  217. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  218. package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
  219. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
  220. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
  221. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
  222. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  223. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
  224. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
  225. package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
  226. package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
  227. package/common/src/functions/snarkjs/index.cjs +1 -1
  228. package/common/src/functions/snarkjs/index.d.ts +2 -0
  229. package/common/src/functions/snarkjs/index.mjs +2 -0
  230. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  231. package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
  232. package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
  233. package/common/src/functions/utils/addresses.cjs +1 -1
  234. package/common/src/functions/utils/addresses.d.ts +0 -1
  235. package/common/src/functions/utils/addresses.mjs +10 -13
  236. package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
  237. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
  238. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  239. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
  240. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
  241. package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
  242. package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
  243. package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
  244. package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
  245. package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
  246. package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
  247. package/common/src/functions/utils/fees.utils.cjs +1 -1
  248. package/common/src/functions/utils/fees.utils.d.ts +1 -0
  249. package/common/src/functions/utils/fees.utils.mjs +5 -1
  250. package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
  251. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  252. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
  253. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  254. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
  255. package/common/src/functions/utils/index.cjs +1 -1
  256. package/common/src/functions/utils/index.d.ts +5 -1
  257. package/common/src/functions/utils/index.mjs +5 -1
  258. package/common/src/functions/utils/legacyKeys.cjs +1 -0
  259. package/common/src/functions/utils/legacyKeys.d.ts +10 -0
  260. package/common/src/functions/utils/legacyKeys.mjs +8 -0
  261. package/common/src/functions/utils/mnemonics.cjs +1 -1
  262. package/common/src/functions/utils/mnemonics.mjs +4 -6
  263. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  264. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  265. package/common/src/functions/utils/networks.utils.d.ts +1 -0
  266. package/common/src/functions/utils/prepareHinkal.cjs +1 -1
  267. package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
  268. package/common/src/functions/utils/prepareHinkal.mjs +2 -1
  269. package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
  270. package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
  271. package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
  272. package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
  273. package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
  274. package/common/src/functions/utils/tron.utils.cjs +1 -1
  275. package/common/src/functions/utils/tron.utils.d.ts +1 -1
  276. package/common/src/functions/utils/tron.utils.mjs +14 -29
  277. package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
  278. package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
  279. package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
  280. package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
  281. package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
  282. package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
  283. package/common/src/functions/web3/etherFunctions.d.ts +1 -0
  284. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  285. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
  286. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
  287. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  288. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  289. package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
  290. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  291. package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
  292. package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
  293. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  294. package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  295. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
  296. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  297. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
  298. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  299. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  300. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  301. package/common/src/functions/web3/oneInchAPI.mjs +31 -21
  302. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  303. package/common/src/functions/web3/uniswapAPI.mjs +6 -6
  304. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  305. package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
  306. package/common/src/providers/EthersProviderAdapter.mjs +0 -3
  307. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  308. package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
  309. package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
  310. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  311. package/common/src/providers/TronProviderAdapter.d.ts +0 -1
  312. package/common/src/providers/TronProviderAdapter.mjs +0 -3
  313. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  314. package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
  315. package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
  316. package/common/src/types/API.types.d.ts +0 -4
  317. package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
  318. package/common/src/types/cache.types.cjs +1 -1
  319. package/common/src/types/cache.types.d.ts +2 -2
  320. package/common/src/types/cache.types.mjs +1 -1
  321. package/common/src/types/circom-data.types.cjs +1 -1
  322. package/common/src/types/circom-data.types.d.ts +26 -27
  323. package/common/src/types/circom-data.types.mjs +1 -1
  324. package/common/src/types/dashboard-account.d.ts +15 -0
  325. package/common/src/types/dashboard-payout.types.d.ts +1 -0
  326. package/common/src/types/enclaveApi.types.d.ts +78 -0
  327. package/common/src/types/ethereum-network.types.cjs +1 -1
  328. package/common/src/types/ethereum-network.types.d.ts +13 -23
  329. package/common/src/types/ethereum-network.types.mjs +1 -1
  330. package/common/src/types/external-action.types.cjs +1 -1
  331. package/common/src/types/external-action.types.d.ts +2 -3
  332. package/common/src/types/external-action.types.mjs +1 -1
  333. package/common/src/types/hinkal.types.cjs +1 -1
  334. package/common/src/types/hinkal.types.d.ts +8 -22
  335. package/common/src/types/hinkal.types.mjs +11 -19
  336. package/common/src/types/index.cjs +1 -1
  337. package/common/src/types/index.d.ts +3 -5
  338. package/common/src/types/index.mjs +0 -1
  339. package/common/src/types/new-rewards.type.d.ts +0 -70
  340. package/common/src/types/payout-notification.types.d.ts +11 -0
  341. package/common/src/types/proxy-progress.types.d.ts +5 -0
  342. package/common/src/types/snark.types.d.ts +1 -3
  343. package/common/src/types/token.types.cjs +1 -1
  344. package/common/src/types/token.types.mjs +1 -3
  345. package/common/src/types/transaction.types.d.ts +0 -1
  346. package/common/src/types/transactions.types.d.ts +0 -1
  347. package/common/src/webworker/logError-uy41lNp1.js +2 -0
  348. package/common/src/webworker/package.json +1 -1
  349. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  350. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  351. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  352. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  353. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  354. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  355. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  356. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  357. package/common/src/webworker/workerProxy-MheXtWa4.js +1 -0
  358. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  359. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  360. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  361. package/package.json +1 -1
  362. package/services/Hinkal.cjs +1 -1
  363. package/services/Hinkal.d.ts +1 -2
  364. package/services/Hinkal.mjs +4 -7
  365. package/types/IHinkal.d.ts +1 -2
  366. package/common/src/API/accessCodeCalls.cjs +0 -1
  367. package/common/src/API/accessCodeCalls.d.ts +0 -23
  368. package/common/src/API/accessCodeCalls.mjs +0 -13
  369. package/common/src/API/brotherhoodCalls.cjs +0 -1
  370. package/common/src/API/brotherhoodCalls.d.ts +0 -82
  371. package/common/src/API/brotherhoodCalls.mjs +0 -17
  372. package/common/src/API/generate-trading-points.cjs +0 -1
  373. package/common/src/API/generate-trading-points.d.ts +0 -27
  374. package/common/src/API/generate-trading-points.mjs +0 -23
  375. package/common/src/API/leaderboardCalls.cjs +0 -1
  376. package/common/src/API/leaderboardCalls.d.ts +0 -14
  377. package/common/src/API/leaderboardCalls.mjs +0 -8
  378. package/common/src/API/referralsCalls.cjs +0 -1
  379. package/common/src/API/referralsCalls.d.ts +0 -22
  380. package/common/src/API/referralsCalls.mjs +0 -11
  381. package/common/src/API/send-telegram-callback.cjs +0 -1
  382. package/common/src/API/send-telegram-callback.d.ts +0 -7
  383. package/common/src/API/send-telegram-callback.mjs +0 -11
  384. package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
  385. package/common/src/constants/price-impact.constants.d.ts +0 -2
  386. package/common/src/constants/tasks.constants.cjs +0 -1
  387. package/common/src/constants/tasks.constants.d.ts +0 -9
  388. package/common/src/constants/tasks.constants.mjs +0 -124
  389. package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
  390. package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
  391. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
  392. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
  393. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
  394. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
  395. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
  396. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
  397. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
  398. package/common/src/functions/utils/bit.operations.cjs +0 -1
  399. package/common/src/functions/utils/bit.operations.d.ts +0 -3
  400. package/common/src/functions/utils/bit.operations.mjs +0 -4
  401. package/common/src/types/brotherhood-user.types.d.ts +0 -11
  402. package/common/src/types/crypto.types.d.ts +0 -8
  403. package/common/src/types/generatePoints.d.ts +0 -14
  404. package/common/src/types/new-rewards.type.cjs +0 -1
  405. package/common/src/types/new-rewards.type.mjs +0 -10
  406. package/common/src/types/referral.types.d.ts +0 -12
  407. package/common/src/types/rewards.types.d.ts +0 -34
  408. package/common/src/types/token-with-id.types.d.ts +0 -4
  409. package/common/src/webworker/logError-BR5TJP6T.js +0 -2
  410. package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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(`../utxo/Utxo.cjs`),s=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/getFeeStructure.cjs`),d=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),f=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let p=require(`ethers`);var m=async(m,h,g,_,v)=>{let y=c.validateAndGetChainId([h]),b=h.erc20TokenAddress;if(g.getTokenAddress(y)!==b)throw Error(`Off-chain UTXO token mismatch`);let x=v?new i.UserKeys(v):new i.UserKeys(g.nullifyingKey,g.nullifyingKey);if(!g.nullifyingKey&&!v)throw Error(`Claimable UTXO nullifyingKey is missing`);let S=x.getShieldedPrivateKey();if(g.nullifyingKey&&g.nullifyingKey!==S)throw Error(`Claimable UTXO key mismatch`);let{originalDeployer:C}=e.networkRegistry[y].contractData;if(!C)throw Error(`missing data`);let w=o.Utxo.createFrom(g,{nullifyingKey:S}),T=_??await u.getFeeStructure(y,b,[b],s.ExternalActionId.Transact,void 0,void 0,{mintTo:b,nullifierCount:1});if(T.feeToken!==b)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let E=T.variableRate>0n?T.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(w.amount<=T.flatFee)throw Error(n.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let D=w.amount-T.flatFee,O=D*E/10000n,k=D-O;if(k<=0n)throw Error(n.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let A=T.flatFee+O,[j,M,N,,P]=m.getRecipientInfo().split(`,`);if(!M||!N||!j||!P)throw Error(`Invalid recipient info`);let F=a.getCurrentTimeInSeconds().toString(),I=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),...w.isNewStyle?{spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),L=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),timeStamp:F,spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}),R=new o.Utxo({amount:k,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,timeStamp:F,H0:[BigInt(M),BigInt(N)],stealthAddress:j,encryptionKey:P,isNewStyle:!0}),z=[w,I],B=[L,R],V=await m.getRandomRelay(y,!0);if(!V)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let H=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),x.getShieldedPrivateKey()),U={tokenNumber:1,nullifierAmount:z.length,outputAmount:B.length},W=l.calcEncryptedOutputs([B])[0].map(e=>Array.from(p.ethers.getBytes(e))),{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,commitmentValidationData:Y}=await d.constructSolanaZkProof(m.generateProofRemotely,m.merkleTreeHinkalByChain[y],x,[b],[z],[B],H,A,0n,t.solanaNativeAddress,V,U,W,y),X={recipient:V,mint:b===`11111111111111111111111111111111`?void 0:b};return f.solanaTransactCallRelayer({chainId:y,relayAddress:V,functionName:`transfer`,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:A.toString(),dimensions:U},accounts:X,commitmentValidationData:Y})};exports.hinkalSolanaClaimUtxo=m;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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(`../utxo/Utxo.cjs`),s=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/getFeeStructure.cjs`),d=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),f=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let p=require(`ethers`);var m=async(m,h,g,_,v)=>{let y=c.validateAndGetChainId([h]),b=h.erc20TokenAddress;if(g.getTokenAddress(y)!==b)throw Error(`Off-chain UTXO token mismatch`);let x=v?new i.UserKeys(v):new i.UserKeys(g.nullifyingKey,g.nullifyingKey);if(!g.nullifyingKey&&!v)throw Error(`Claimable UTXO nullifyingKey is missing`);let S=x.getShieldedPrivateKey();if(g.nullifyingKey&&g.nullifyingKey!==S)throw Error(`Claimable UTXO key mismatch`);let{originalDeployer:C}=e.networkRegistry[y].contractData;if(!C)throw Error(`missing data`);let w=o.Utxo.createFrom(g,{nullifyingKey:S}),T=_??await u.getFeeStructure(y,b,[b],s.ExternalActionId.Transact,void 0,void 0,{mintTo:b,nullifierCount:1});if(T.feeToken!==b)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let E=T.variableRate>0n?T.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(w.amount<=T.flatFee)throw Error(n.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let D=w.amount-T.flatFee,O=D*E/10000n,k=D-O;if(k<=0n)throw Error(n.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let A=T.flatFee+O,[j,M,N,,,P]=m.getRecipientInfo().split(`,`);if(!M||!N||!j||!P)throw Error(`Invalid recipient info`);let F=a.getCurrentTimeInSeconds().toString(),I=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint}),L=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),timeStamp:F,spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint}),R=new o.Utxo({amount:k,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,timeStamp:F,H0:[BigInt(M),BigInt(N)],stealthAddress:j,encryptionKey:P}),z=[w,I],B=[L,R],V=await m.getRandomRelay(y,!0);if(!V)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let H=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),x.getShieldedPrivateKey()),U={tokenNumber:1,nullifierAmount:z.length,outputAmount:B.length},W=l.calcEncryptedOutputs([B])[0].map(e=>Array.from(p.ethers.getBytes(e))),{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,commitmentValidationData:Y}=await d.constructSolanaZkProof(m.generateProofRemotely,m.merkleTreeHinkalByChain[y],x,[b],[z],[B],H,A,0n,t.solanaNativeAddress,V,U,W,y),X={recipient:V,mint:b===`11111111111111111111111111111111`?void 0:b};return f.solanaTransactCallRelayer({chainId:y,relayAddress:V,functionName:`transfer`,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:A.toString(),dimensions:U},accounts:X,commitmentValidationData:Y})};exports.hinkalSolanaClaimUtxo=m;
@@ -32,25 +32,21 @@ var h = async (h, g, _, v, y) => {
32
32
  if (T.amount <= E.flatFee) throw Error(r.INSUFFICIENT_FUNDS_TO_TRANSACT);
33
33
  let O = T.amount - E.flatFee, k = O * D / 10000n, A = O - k;
34
34
  if (A <= 0n) throw Error(r.RECIPIENT_AMOUNT_INVALID);
35
- let j = E.flatFee + k, [M, N, P, , F] = h.getRecipientInfo().split(",");
35
+ let j = E.flatFee + k, [M, N, P, , , F] = h.getRecipientInfo().split(",");
36
36
  if (!N || !P || !M || !F) throw Error("Invalid recipient info");
37
37
  let I = o().toString(), L = new s({
38
38
  amount: 0n,
39
39
  erc20TokenAddress: T.erc20TokenAddress,
40
40
  mintAddress: T.mintAddress,
41
41
  nullifyingKey: S.getShieldedPrivateKey(),
42
- ...T.isNewStyle ? {
43
- spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint,
44
- isNewStyle: !0
45
- } : { isNewStyle: !1 }
42
+ spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint
46
43
  }), R = new s({
47
44
  amount: 0n,
48
45
  erc20TokenAddress: T.erc20TokenAddress,
49
46
  mintAddress: T.mintAddress,
50
47
  nullifyingKey: S.getShieldedPrivateKey(),
51
48
  timeStamp: I,
52
- spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint,
53
- isNewStyle: !0
49
+ spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint
54
50
  }), z = new s({
55
51
  amount: A,
56
52
  erc20TokenAddress: T.erc20TokenAddress,
@@ -58,8 +54,7 @@ var h = async (h, g, _, v, y) => {
58
54
  timeStamp: I,
59
55
  H0: [BigInt(N), BigInt(P)],
60
56
  stealthAddress: M,
61
- encryptionKey: F,
62
- isNewStyle: !0
57
+ encryptionKey: F
63
58
  }), B = [T, L], V = [R, z], H = await h.getRandomRelay(b, !0);
64
59
  if (!H) throw Error(r.RELAYER_NOT_AVAILABLE);
65
60
  let U = a.findCorrectRandomization(i(31), S.getShieldedPrivateKey()), W = {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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/solanaMint.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/snarkjs/common.snarkjs.cjs`),l=require(`../../functions/pre-transaction/solana.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../error-handling/retrySolanaError.cjs`),f=require(`../../API/admin-calls.cjs`),p=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`);let h=require(`@solana/web3.js`),g=require(`@coral-xyz/anchor`);var _=(n,r)=>{let i=s.validateAndGetChainId([r]),o=r.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[i].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let f=n.getSolanaProgram(c),p=n.getSolanaPublicKey(),{connection:m,wallet:g}=f.provider;if(!g)throw Error(`missing solana wallet`);let _=new h.PublicKey(d),v=new h.PublicKey(u),{mintPublicKey:y}=a.formatMintAddress(o),b=y.toString()===t.solanaNativeAddress;return{chainId:i,mintAddress:o,program:f,publicKey:p,connection:m,wallet:g,originalDeployer:_,mintPublicKey:y,mint:b?null:y,atasValue:b?null:void 0,storageAccount:l.getStorageAccountPublicKey(v,_),storageVault:l.getStorageVaultPublicKey(v,_),merkleAccount:l.getMerkleAccountPublicKey(v,_)}},v=(e,t,n)=>{let r=n.map(e=>l.buildAnchorStealthAddressStructure(e));return e.program.methods.multiPaymentDeposit(t.map(e=>new g.BN(e.toString())),r,!1).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}).instruction()},y=async(e,t,n,r)=>{for(let i=0;i<10;i+=1){let a=i===9;try{let{blockhash:i,lastValidBlockHeight:a}=await e.getLatestBlockhash(),o=new h.VersionedTransaction(new h.TransactionMessage({payerKey:n,recentBlockhash:i,instructions:r}).compileToV0Message()),s=await t.signTransaction(o),c=await e.sendTransaction(s);return await e.confirmTransaction({signature:c,blockhash:i,lastValidBlockHeight:a},`confirmed`),c}catch(e){if(d.shouldRetryForSolanaError(e)&&!a)continue;throw e}}return``},b=(e,t)=>{if(e.length===0)throw Error(`amounts must not be empty`);if(e.length!==t.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(e.some(e=>e<=0n))throw Error(`all amounts must be positive`);m.assertNoDuplicateStealthAddressStructures(t)},x=async(e,t,n,r,i,a=!1)=>{b(n,r);let o=_(e,t),s=u.constructAdminData(i,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),c=await v(o,n,r);if(a){let{blockhash:e}=await o.connection.getLatestBlockhash(),t=new h.Transaction().add(c);return t.recentBlockhash=e,t.feePayer=o.publicKey,Buffer.from(t.serialize({requireAllSignatures:!1})).toString(`base64`)}let l=await y(o.connection,o.wallet,o.publicKey,[c]);return await f.emitTxPublicData(s),l},S=async(e,t,n,r,i,a)=>{b(n,r);let o=_(e,t),s=await e.getRandomRelay(o.chainId,!1);if(!s)throw Error(`No relay available for chainId ${o.chainId}`);let{instructions:c}=await p.buildSolanaTransferInstructions(o.connection,o.publicKey,new h.PublicKey(s),t,i),l=await v(o,n,r),d=u.constructAdminData(a,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),m=await y(o.connection,o.wallet,o.publicKey,[...c,l]);return await f.emitTxPublicData(d),m},C=async(e,t,n,a=!1)=>{let o=e.userKeys.getShieldedPrivateKey(),s=c.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),o),o,e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);return x(e,n,[t],[s],void 0,a)},w=async(e,t,r,i,a=!1,s)=>{if(!o.isValidPrivateAddress(i))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let c=o.constructStealthAddressStructure(i);return x(e,r,[t],[c],s,a)};exports.hinkalSolanaDeposit=C,exports.hinkalSolanaDepositForOther=w,exports.hinkalSolanaProoflessDepositWithPublicFee=S,exports.submitSolanaProoflessDeposit=x;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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/solanaMint.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/snarkjs/common.snarkjs.cjs`),l=require(`../../functions/pre-transaction/solana.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../error-handling/retrySolanaError.cjs`),f=require(`../../API/admin-calls.cjs`),p=require(`./hinkalProoflessDeposit.utils.cjs`);require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let m=require(`@solana/web3.js`),h=require(`@coral-xyz/anchor`);var g=(n,r)=>{let i=s.validateAndGetChainId([r]),o=r.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[i].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let f=n.getSolanaProgram(c),p=n.getSolanaPublicKey(),{connection:h,wallet:g}=f.provider;if(!g)throw Error(`missing solana wallet`);let _=new m.PublicKey(d),v=new m.PublicKey(u),{mintPublicKey:y}=a.formatMintAddress(o),b=y.toString()===t.solanaNativeAddress;return{chainId:i,mintAddress:o,program:f,publicKey:p,connection:h,wallet:g,originalDeployer:_,mintPublicKey:y,mint:b?null:y,atasValue:b?null:void 0,storageAccount:l.getStorageAccountPublicKey(v,_),storageVault:l.getStorageVaultPublicKey(v,_),merkleAccount:l.getMerkleAccountPublicKey(v,_)}},_=(e,t,n)=>{let r=n.map(e=>l.buildAnchorStealthAddressStructure(e));return e.program.methods.multiPaymentDeposit(t.map(e=>new h.BN(e.toString())),r,!1).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}).instruction()},v=async(e,t,n,r)=>{for(let i=0;i<10;i+=1){let a=i===9;try{let{blockhash:i,lastValidBlockHeight:a}=await e.getLatestBlockhash(),o=new m.VersionedTransaction(new m.TransactionMessage({payerKey:n,recentBlockhash:i,instructions:r}).compileToV0Message()),s=await t.signTransaction(o),c=await e.sendTransaction(s);return await e.confirmTransaction({signature:c,blockhash:i,lastValidBlockHeight:a},`confirmed`),c}catch(e){if(d.shouldRetryForSolanaError(e)&&!a)continue;throw e}}return``},y=(e,t)=>{if(e.length===0)throw Error(`amounts must not be empty`);if(e.length!==t.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(e.some(e=>e<=0n))throw Error(`all amounts must be positive`);p.assertNoDuplicateStealthAddressStructures(t)},b=async(e,t,n,r,i,a=!1)=>{y(n,r);let o=g(e,t),s=u.constructAdminData(i,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),c=await _(o,n,r);if(a){let{blockhash:e}=await o.connection.getLatestBlockhash(),t=new m.Transaction().add(c);return t.recentBlockhash=e,t.feePayer=o.publicKey,Buffer.from(t.serialize({requireAllSignatures:!1})).toString(`base64`)}let l=await v(o.connection,o.wallet,o.publicKey,[c]);return await f.emitTxPublicData(s),l},x=async(e,t,n,a=!1)=>{let o=e.userKeys.getShieldedPrivateKey(),s=c.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),o),o,e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);return b(e,n,[t],[s],void 0,a)},S=async(e,t,r,i,a=!1,s)=>{if(!o.isValidPrivateAddress(i))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let c=o.constructStealthAddressStructure(i);return b(e,r,[t],[c],s,a)};exports.hinkalSolanaDeposit=x,exports.hinkalSolanaDepositForOther=S,exports.submitSolanaProoflessDeposit=b;
@@ -11,18 +11,18 @@ import { buildAnchorStealthAddressStructure as u, getMerkleAccountPublicKey as d
11
11
  import { constructAdminData as m } from "../../functions/pre-transaction/constructAdminData.mjs";
12
12
  import { shouldRetryForSolanaError as h } from "../../error-handling/retrySolanaError.mjs";
13
13
  import { emitTxPublicData as g } from "../../API/admin-calls.mjs";
14
- import { buildSolanaTransferInstructions as _ } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
15
- import { assertNoDuplicateStealthAddressStructures as v } from "./hinkalProoflessDeposit.utils.mjs";
16
- import { PublicKey as y, Transaction as b, TransactionMessage as x, VersionedTransaction as S } from "@solana/web3.js";
17
- import { BN as C } from "@coral-xyz/anchor";
14
+ import { assertNoDuplicateStealthAddressStructures as _ } from "./hinkalProoflessDeposit.utils.mjs";
15
+ import "../../functions/pre-transaction/solanaTransfer.utils.mjs";
16
+ import { PublicKey as v, Transaction as y, TransactionMessage as b, VersionedTransaction as x } from "@solana/web3.js";
17
+ import { BN as S } from "@coral-xyz/anchor";
18
18
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
19
- var w = (n, r) => {
19
+ var C = (n, r) => {
20
20
  let i = c([r]), o = r.erc20TokenAddress, { hinkalIdl: s, hinkalAddress: l, originalDeployer: u } = e[i].contractData;
21
21
  if (!s) throw Error("No IDL configured for Solana program on this network");
22
22
  if (!u) throw Error("missing original deployer");
23
23
  let m = n.getSolanaProgram(s), h = n.getSolanaPublicKey(), { connection: g, wallet: _ } = m.provider;
24
24
  if (!_) throw Error("missing solana wallet");
25
- let v = new y(u), b = new y(l), { mintPublicKey: x } = a(o), S = x.toString() === t;
25
+ let y = new v(u), b = new v(l), { mintPublicKey: x } = a(o), S = x.toString() === t;
26
26
  return {
27
27
  chainId: i,
28
28
  mintAddress: o,
@@ -30,17 +30,17 @@ var w = (n, r) => {
30
30
  publicKey: h,
31
31
  connection: g,
32
32
  wallet: _,
33
- originalDeployer: v,
33
+ originalDeployer: y,
34
34
  mintPublicKey: x,
35
35
  mint: S ? null : x,
36
36
  atasValue: S ? null : void 0,
37
- storageAccount: f(b, v),
38
- storageVault: p(b, v),
39
- merkleAccount: d(b, v)
37
+ storageAccount: f(b, y),
38
+ storageVault: p(b, y),
39
+ merkleAccount: d(b, y)
40
40
  };
41
- }, T = (e, t, n) => {
41
+ }, w = (e, t, n) => {
42
42
  let r = n.map((e) => u(e));
43
- return e.program.methods.multiPaymentDeposit(t.map((e) => new C(e.toString())), r, !1).accounts({
43
+ return e.program.methods.multiPaymentDeposit(t.map((e) => new S(e.toString())), r, !1).accounts({
44
44
  mint: e.mint,
45
45
  signer: e.publicKey,
46
46
  signerAta: e.atasValue,
@@ -50,11 +50,11 @@ var w = (n, r) => {
50
50
  merkleAccount: e.merkleAccount,
51
51
  storageVaultAta: e.atasValue
52
52
  }).instruction();
53
- }, E = async (e, t, n, r) => {
53
+ }, T = async (e, t, n, r) => {
54
54
  for (let i = 0; i < 10; i += 1) {
55
55
  let a = i === 9;
56
56
  try {
57
- let { blockhash: i, lastValidBlockHeight: a } = await e.getLatestBlockhash(), o = new S(new x({
57
+ let { blockhash: i, lastValidBlockHeight: a } = await e.getLatestBlockhash(), o = new x(new b({
58
58
  payerKey: n,
59
59
  recentBlockhash: i,
60
60
  instructions: r
@@ -70,33 +70,27 @@ var w = (n, r) => {
70
70
  }
71
71
  }
72
72
  return "";
73
- }, D = (e, t) => {
73
+ }, E = (e, t) => {
74
74
  if (e.length === 0) throw Error("amounts must not be empty");
75
75
  if (e.length !== t.length) throw Error("amounts and stealthAddressStructures length mismatch");
76
76
  if (e.some((e) => e <= 0n)) throw Error("all amounts must be positive");
77
- v(t);
78
- }, O = async (e, t, n, r, i, a = !1) => {
79
- D(n, r);
80
- let o = w(e, t), s = m(i, o.chainId, Array(n.length).fill(o.mintAddress), n, await e.getEthereumAddress()), c = await T(o, n, r);
77
+ _(t);
78
+ }, D = async (e, t, n, r, i, a = !1) => {
79
+ E(n, r);
80
+ let o = C(e, t), s = m(i, o.chainId, Array(n.length).fill(o.mintAddress), n, await e.getEthereumAddress()), c = await w(o, n, r);
81
81
  if (a) {
82
- let { blockhash: e } = await o.connection.getLatestBlockhash(), t = new b().add(c);
82
+ let { blockhash: e } = await o.connection.getLatestBlockhash(), t = new y().add(c);
83
83
  return t.recentBlockhash = e, t.feePayer = o.publicKey, Buffer.from(t.serialize({ requireAllSignatures: !1 })).toString("base64");
84
84
  }
85
- let l = await E(o.connection, o.wallet, o.publicKey, [c]);
85
+ let l = await T(o.connection, o.wallet, o.publicKey, [c]);
86
86
  return await g(s), l;
87
- }, k = async (e, t, n, r, i, a) => {
88
- D(n, r);
89
- let o = w(e, t), s = await e.getRandomRelay(o.chainId, !1);
90
- if (!s) throw Error(`No relay available for chainId ${o.chainId}`);
91
- let { instructions: c } = await _(o.connection, o.publicKey, new y(s), t, i), l = await T(o, n, r), u = m(a, o.chainId, Array(n.length).fill(o.mintAddress), n, await e.getEthereumAddress()), d = await E(o.connection, o.wallet, o.publicKey, [...c, l]);
92
- return await g(u), d;
93
- }, A = async (e, t, n, a = !1) => {
87
+ }, O = async (e, t, n, a = !1) => {
94
88
  let o = e.userKeys.getShieldedPrivateKey(), s = l(i.findCorrectRandomization(r(31), o), o, e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);
95
- return O(e, n, [t], [s], void 0, a);
96
- }, j = async (e, t, r, i, a = !1, c) => {
89
+ return D(e, n, [t], [s], void 0, a);
90
+ }, k = async (e, t, r, i, a = !1, c) => {
97
91
  if (!s(i)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
98
92
  let l = o(i);
99
- return O(e, r, [t], [l], c, a);
93
+ return D(e, r, [t], [l], c, a);
100
94
  };
101
95
  //#endregion
102
- export { A as hinkalSolanaDeposit, j as hinkalSolanaDepositForOther, k as hinkalSolanaProoflessDepositWithPublicFee, O as submitSolanaProoflessDeposit };
96
+ export { O as hinkalSolanaDeposit, k as hinkalSolanaDepositForOther, D as submitSolanaProoflessDeposit };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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(`../utxo/Utxo.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const l=require(`../../functions/utils/solanaMint.utils.cjs`),u=require(`../../functions/utils/addresses.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/snarkjs/common.snarkjs.cjs`),p=require(`../../functions/pre-transaction/solana.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),g=require(`../../functions/pre-transaction/getFeeStructure.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`);require(`../../functions/pre-transaction/index.cjs`);const v=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),y=require(`../../functions/utils/fees.utils.cjs`);require(`../../functions/web3/index.cjs`);const b=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),x=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),S=require(`../../API/deposit-and-withdraw-status-calls.cjs`);require(`../../functions/index.cjs`);let C=require(`ethers`),w=require(`@solana/web3.js`),T=require(`@coral-xyz/anchor`);var E=(n,a,o,s)=>{let{hinkalIdl:c,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[a].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let m=n.userKeys.getShieldedPrivateKey(),h=n.getSolanaProgram(c),g=n.getSolanaPublicKey(),_=new w.PublicKey(d),v=new w.PublicKey(u),{mintPublicKey:y}=l.formatMintAddress(o.erc20TokenAddress),b=y.toString(),x=p.getStorageAccountPublicKey(v,_),S=p.getStorageVaultPublicKey(v,_),C=p.getMerkleAccountPublicKey(v,_),T=s.map(()=>p.buildAnchorStealthAddressStructure(f.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),m),m,n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))),E=b===t.solanaNativeAddress;return{program:h,publicKey:g,originalDeployer:_,mint:E?null:y,atasValue:E?null:void 0,storageAccount:x,storageVault:S,merkleAccount:C,amounts:s,anchorStealthStructures:T}},D=e=>e.program.methods.multiPaymentDeposit(e.amounts.map(e=>new T.BN(e.toString())),e.anchorStealthStructures,!0).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}),O=async(e,t,n,r,i,a,o)=>{let s=r.map(e=>e+y.calculateTotalFee(e,a)),u=E(e,t,n,s),d=(await S.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:o,phase:c.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,f=await D(u).rpc(),p=await u.program.provider.connection.getLatestBlockhash();await u.program.provider.connection.confirmTransaction({blockhash:p.blockhash,lastValidBlockHeight:p.lastValidBlockHeight,signature:f},`finalized`);let m=await h.fetchSolanaTransaction(u.program.provider.connection,f,`finalized`);if(!m)throw Error(`Transaction missing`);await S.safeUpdateDepositAndWithdrawStatus({id:d,chainId:t,hashedEthereumAddress:o,phase:c.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:f});let{compressedAddress:g}=l.formatMintAddress(n.erc20TokenAddress),_=v.getOnChainUtxosFromReceiptSolana(m,u.program,e.userKeys,g),b=[],x=[..._];return i.forEach((e,t)=>{let n=s[t],r=x.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);b.push({recipientAddress:e,utxo:r}),x.splice(x.indexOf(r),1)}),{userDepositedUtxos:b,depositTxHash:f,statusId:d}},k=async(s,u,d,p,h,g,_,v,w,T,E,D,O)=>{let k=d.erc20TokenAddress;if(p.length===0)throw Error(`userDepositedUtxos must not be empty`);let{originalDeployer:A}=e.networkRegistry[u].contractData;if(!A)throw Error(`missing data`);let j=await s.getRandomRelay(u,!0);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=a.getCurrentTimeInSeconds().toString(),N=s.generateProofRemotely?5:1,P=[];for(let e=0;e<p.length;e+=N){let n=p.slice(e,e+N),a=await Promise.all(n.map(async({recipientAddress:e,utxo:n},a)=>{let{compressedAddress:c}=l.formatMintAddress(t.solanaNativeAddress),p=new o.Utxo({amount:0n,mintAddress:k,erc20TokenAddress:c,nullifyingKey:s.userKeys.getShieldedPrivateKey(),timeStamp:M,...n.isNewStyle?{spendingPublicKey:s.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),g=[n,p],v=[p],x=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),s.userKeys.getShieldedPrivateKey()),S={tokenNumber:1,nullifierAmount:g.length,outputAmount:v.length},w=f.calcEncryptedOutputs([v])[0][0],T=Array.from(C.ethers.getBytes(w)),D=await y.calculateModifiedFeeStructure(u,d,_[a],h),A=m.constructAdminData(E,u,[k],[_[a]],await s.getEthereumAddress()),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await b.constructSolanaZkProof(s.generateProofRemotely,s.merkleTreeHinkalByChain[u],s.userKeys,[k],[g],[v],x,D.flatFee,D.variableRate,e,j,S,[T],u),R={recipient:e,mint:k===`11111111111111111111111111111111`?void 0:k};return{relayAddress:j,functionName:`transact`,chainId:u,recipientAmount:_[a].toString(),args:{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[T],relayerFee:D.flatFee.toString(),dimensions:S},accounts:R,adminData:A,commitmentValidationData:L,displayRecipient:O?.[a]}}));P.push(...a)}await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:u,hashedEthereumAddress:g,phase:c.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let F=await x.solanaTransactCallRelayerBatch(u,P,g,w,T,D);return await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:u,hashedEthereumAddress:g,phase:c.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:F}),F},A=async(e,t,n,r,i,a,o,c,l,f)=>{let p=d.validateAndGetChainId([t]),m=t.erc20TokenAddress,h=u.hashEthereumAddress(await e.getEthereumAddressByChain(p)),v=l?u.hashString(l):void 0,y=a??await g.getFeeStructure(p,m,[m],s.ExternalActionId.Transact,[],5n),{userDepositedUtxos:b,depositTxHash:x,statusId:S}=await O(e,p,t,n,r,y,h);return await _.waitForDepositedUtxosInMerkleTree(e,p,b),{depositTxHash:x,scheduleId:await k(e,p,t,b,y,h,n,S,i,o,c,v,f)}};exports.hinkalSolanaDepositAndWithdraw=A;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../types/external-action.types.cjs`),u=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/snarkjs/common.snarkjs.cjs`),p=require(`../../functions/pre-transaction/solana.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),g=require(`../../functions/pre-transaction/getFeeStructure.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`);require(`../../functions/pre-transaction/index.cjs`);const v=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),y=require(`../../functions/utils/fees.utils.cjs`);require(`../../functions/web3/index.cjs`);const b=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),x=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),S=require(`../../API/deposit-and-withdraw-status-calls.cjs`);require(`../../functions/index.cjs`);let C=require(`ethers`),w=require(`@solana/web3.js`),T=require(`@coral-xyz/anchor`);var E=(n,a,o,c)=>{let{hinkalIdl:l,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[a].contractData;if(!l)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let m=n.userKeys.getShieldedPrivateKey(),h=n.getSolanaProgram(l),g=n.getSolanaPublicKey(),_=new w.PublicKey(d),v=new w.PublicKey(u),{mintPublicKey:y}=s.formatMintAddress(o.erc20TokenAddress),b=y.toString(),x=p.getStorageAccountPublicKey(v,_),S=p.getStorageVaultPublicKey(v,_),C=p.getMerkleAccountPublicKey(v,_),T=c.map(()=>p.buildAnchorStealthAddressStructure(f.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),m),m,n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))),E=b===t.solanaNativeAddress;return{program:h,publicKey:g,originalDeployer:_,mint:E?null:y,atasValue:E?null:void 0,storageAccount:x,storageVault:S,merkleAccount:C,amounts:c,anchorStealthStructures:T}},D=e=>e.program.methods.multiPaymentDeposit(e.amounts.map(e=>new T.BN(e.toString())),e.anchorStealthStructures,!0).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}),O=async(e,t,n,r,i,a,o)=>{let c=r.map(e=>e+y.calculateTotalFee(e,a)),l=E(e,t,n,c),d=(await S.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:o,phase:u.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,f=await D(l).rpc(),p=await l.program.provider.connection.getLatestBlockhash();await l.program.provider.connection.confirmTransaction({blockhash:p.blockhash,lastValidBlockHeight:p.lastValidBlockHeight,signature:f},`finalized`);let m=await h.fetchSolanaTransaction(l.program.provider.connection,f,`finalized`);if(!m)throw Error(`Transaction missing`);await S.safeUpdateDepositAndWithdrawStatus({id:d,chainId:t,hashedEthereumAddress:o,phase:u.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:f});let{compressedAddress:g}=s.formatMintAddress(n.erc20TokenAddress),_=v.getOnChainUtxosFromReceiptSolana(m,l.program,e.userKeys,g),b=[],x=[..._];return i.forEach((e,t)=>{let n=c[t],r=x.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);b.push({recipientAddress:e,utxo:r}),x.splice(x.indexOf(r),1)}),{userDepositedUtxos:b,depositTxHash:f,statusId:d}},k=async(c,l,d,p,h,g,_,v,w,T,E,D,O)=>{let k=d.erc20TokenAddress;if(p.length===0)throw Error(`userDepositedUtxos must not be empty`);let{originalDeployer:A}=e.networkRegistry[l].contractData;if(!A)throw Error(`missing data`);let j=await c.getRandomRelay(l,!0);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=a.getCurrentTimeInSeconds().toString(),N=c.generateProofRemotely?5:1,P=[];for(let e=0;e<p.length;e+=N){let n=p.slice(e,e+N),a=await Promise.all(n.map(async({recipientAddress:e,utxo:n},a)=>{let{compressedAddress:u}=s.formatMintAddress(t.solanaNativeAddress),p=new o.Utxo({amount:0n,mintAddress:k,erc20TokenAddress:u,nullifyingKey:c.userKeys.getShieldedPrivateKey(),timeStamp:M,spendingPublicKey:c.userKeys.getSpendingKeyPair().pubSpendingBJJPoint}),g=[n,p],v=[p],x=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),c.userKeys.getShieldedPrivateKey()),S={tokenNumber:1,nullifierAmount:g.length,outputAmount:v.length},w=f.calcEncryptedOutputs([v])[0][0],T=Array.from(C.ethers.getBytes(w)),D=await y.calculateModifiedFeeStructure(l,d,_[a],h),A=m.constructAdminData(E,l,[k],[_[a]],await c.getEthereumAddress()),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await b.constructSolanaZkProof(c.generateProofRemotely,c.merkleTreeHinkalByChain[l],c.userKeys,[k],[g],[v],x,D.flatFee,D.variableRate,e,j,S,[T],l),R={recipient:e,mint:k===`11111111111111111111111111111111`?void 0:k};return{relayAddress:j,functionName:`transact`,chainId:l,recipientAmount:_[a].toString(),args:{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[T],relayerFee:D.flatFee.toString(),dimensions:S},accounts:R,adminData:A,commitmentValidationData:L,displayRecipient:O?.[a]}}));P.push(...a)}await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:l,hashedEthereumAddress:g,phase:u.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let F=await x.solanaTransactCallRelayerBatch(l,P,g,w,T,D);return await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:l,hashedEthereumAddress:g,phase:u.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:F}),F},A=async(e,t,n,r,i,a,o,s,u,f)=>{let p=d.validateAndGetChainId([t]),m=t.erc20TokenAddress,h=c.hashEthereumAddress(await e.getEthereumAddressByChain(p)),v=u?c.hashString(u):void 0,y=a??await g.getFeeStructure(p,m,[m],l.ExternalActionId.Transact,[],5n,{mintTo:m,recipient:r[0],nullifierCount:1}),{userDepositedUtxos:b,depositTxHash:x,statusId:S}=await O(e,p,t,n,r,y,h);return await _.waitForDepositedUtxosInMerkleTree(e,p,b),{depositTxHash:x,scheduleId:await k(e,p,t,b,y,h,n,S,i,o,s,v,f)}};exports.hinkalSolanaDepositAndWithdraw=A;
@@ -5,11 +5,11 @@ import { randomBigInt as r } from "../../functions/web3/etherFunctions.mjs";
5
5
  import { UserKeys as i } from "../crypto-keys/keys.mjs";
6
6
  import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
7
7
  import { Utxo as o } from "../utxo/Utxo.mjs";
8
- import { ExternalActionId as s } from "../../types/external-action.types.mjs";
9
- import { DepositAndWithdrawPhase as c } from "../../types/scheduled-transactions.types.mjs";
8
+ import { formatMintAddress as s } from "../../functions/utils/solanaMint.utils.mjs";
9
+ import { hashEthereumAddress as c, hashString as l } from "../../functions/utils/addresses.mjs";
10
+ import { ExternalActionId as u } from "../../types/external-action.types.mjs";
11
+ import { DepositAndWithdrawPhase as d } from "../../types/scheduled-transactions.types.mjs";
10
12
  import "../../types/index.mjs";
11
- import { formatMintAddress as l } from "../../functions/utils/solanaMint.utils.mjs";
12
- import { hashEthereumAddress as u, hashString as d } from "../../functions/utils/addresses.mjs";
13
13
  import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
14
14
  import { calcEncryptedOutputs as p, calcStealthAddressStructure as m } from "../../functions/snarkjs/common.snarkjs.mjs";
15
15
  import { buildAnchorStealthAddressStructure as h, getMerkleAccountPublicKey as g, getStorageAccountPublicKey as _, getStorageVaultPublicKey as v } from "../../functions/pre-transaction/solana.mjs";
@@ -29,11 +29,11 @@ import { ethers as A } from "ethers";
29
29
  import { PublicKey as j } from "@solana/web3.js";
30
30
  import { BN as M } from "@coral-xyz/anchor";
31
31
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.ts
32
- var N = (n, a, o, s) => {
33
- let { hinkalIdl: c, hinkalAddress: u, originalDeployer: d } = e[a].contractData;
34
- if (!c) throw Error("No IDL configured for Solana program on this network");
32
+ var N = (n, a, o, c) => {
33
+ let { hinkalIdl: l, hinkalAddress: u, originalDeployer: d } = e[a].contractData;
34
+ if (!l) throw Error("No IDL configured for Solana program on this network");
35
35
  if (!d) throw Error("missing original deployer");
36
- let f = n.userKeys.getShieldedPrivateKey(), p = n.getSolanaProgram(c), y = n.getSolanaPublicKey(), b = new j(d), x = new j(u), { mintPublicKey: S } = l(o.erc20TokenAddress), C = S.toString(), w = _(x, b), T = v(x, b), E = g(x, b), D = s.map(() => h(m(i.findCorrectRandomization(r(31), f), f, n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))), O = C === t;
36
+ let f = n.userKeys.getShieldedPrivateKey(), p = n.getSolanaProgram(l), y = n.getSolanaPublicKey(), b = new j(d), x = new j(u), { mintPublicKey: S } = s(o.erc20TokenAddress), C = S.toString(), w = _(x, b), T = v(x, b), E = g(x, b), D = c.map(() => h(m(i.findCorrectRandomization(r(31), f), f, n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))), O = C === t;
37
37
  return {
38
38
  program: p,
39
39
  publicKey: y,
@@ -43,7 +43,7 @@ var N = (n, a, o, s) => {
43
43
  storageAccount: w,
44
44
  storageVault: T,
45
45
  merkleAccount: E,
46
- amounts: s,
46
+ amounts: c,
47
47
  anchorStealthStructures: D
48
48
  };
49
49
  }, P = (e) => e.program.methods.multiPaymentDeposit(e.amounts.map((e) => new M(e.toString())), e.anchorStealthStructures, !0).accounts({
@@ -56,28 +56,28 @@ var N = (n, a, o, s) => {
56
56
  merkleAccount: e.merkleAccount,
57
57
  storageVaultAta: e.atasValue
58
58
  }), F = async (e, t, n, r, i, a, o) => {
59
- let s = r.map((e) => e + T(e, a)), u = N(e, t, n, s), d = (await k({
59
+ let c = r.map((e) => e + T(e, a)), l = N(e, t, n, c), u = (await k({
60
60
  chainId: t,
61
61
  hashedEthereumAddress: o,
62
- phase: c.BEFORE_DEPOSIT
63
- })).id ?? void 0, f = await P(u).rpc(), p = await u.program.provider.connection.getLatestBlockhash();
64
- await u.program.provider.connection.confirmTransaction({
62
+ phase: d.BEFORE_DEPOSIT
63
+ })).id ?? void 0, f = await P(l).rpc(), p = await l.program.provider.connection.getLatestBlockhash();
64
+ await l.program.provider.connection.confirmTransaction({
65
65
  blockhash: p.blockhash,
66
66
  lastValidBlockHeight: p.lastValidBlockHeight,
67
67
  signature: f
68
68
  }, "finalized");
69
- let m = await b(u.program.provider.connection, f, "finalized");
69
+ let m = await b(l.program.provider.connection, f, "finalized");
70
70
  if (!m) throw Error("Transaction missing");
71
71
  await O({
72
- id: d,
72
+ id: u,
73
73
  chainId: t,
74
74
  hashedEthereumAddress: o,
75
- phase: c.AFTER_DEPOSIT,
75
+ phase: d.AFTER_DEPOSIT,
76
76
  depositTxHash: f
77
77
  });
78
- let { compressedAddress: h } = l(n.erc20TokenAddress), g = C(m, u.program, e.userKeys, h), _ = [], v = [...g];
78
+ let { compressedAddress: h } = s(n.erc20TokenAddress), g = C(m, l.program, e.userKeys, h), _ = [], v = [...g];
79
79
  return i.forEach((e, t) => {
80
- let n = s[t], r = v.find((e) => e.amount === n);
80
+ let n = c[t], r = v.find((e) => e.amount === n);
81
81
  if (!r) throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);
82
82
  _.push({
83
83
  recipientAddress: e,
@@ -86,40 +86,37 @@ var N = (n, a, o, s) => {
86
86
  }), {
87
87
  userDepositedUtxos: _,
88
88
  depositTxHash: f,
89
- statusId: d
89
+ statusId: u
90
90
  };
91
- }, I = async (s, u, d, f, m, h, g, _, v, b, x, S, C) => {
92
- let T = d.erc20TokenAddress;
91
+ }, I = async (c, l, u, f, m, h, g, _, v, b, x, S, C) => {
92
+ let T = u.erc20TokenAddress;
93
93
  if (f.length === 0) throw Error("userDepositedUtxos must not be empty");
94
- let { originalDeployer: k } = e[u].contractData;
94
+ let { originalDeployer: k } = e[l].contractData;
95
95
  if (!k) throw Error("missing data");
96
- let j = await s.getRandomRelay(u, !0);
96
+ let j = await c.getRandomRelay(l, !0);
97
97
  if (!j) throw Error(n.RELAYER_NOT_AVAILABLE);
98
- let M = a().toString(), N = s.generateProofRemotely ? 5 : 1, P = [];
98
+ let M = a().toString(), N = c.generateProofRemotely ? 5 : 1, P = [];
99
99
  for (let e = 0; e < f.length; e += N) {
100
100
  let n = f.slice(e, e + N), a = await Promise.all(n.map(async ({ recipientAddress: e, utxo: n }, a) => {
101
- let { compressedAddress: c } = l(t), f = new o({
101
+ let { compressedAddress: d } = s(t), f = new o({
102
102
  amount: 0n,
103
103
  mintAddress: T,
104
- erc20TokenAddress: c,
105
- nullifyingKey: s.userKeys.getShieldedPrivateKey(),
104
+ erc20TokenAddress: d,
105
+ nullifyingKey: c.userKeys.getShieldedPrivateKey(),
106
106
  timeStamp: M,
107
- ...n.isNewStyle ? {
108
- spendingPublicKey: s.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,
109
- isNewStyle: !0
110
- } : { isNewStyle: !1 }
111
- }), h = [n, f], _ = [f], v = i.findCorrectRandomization(r(31), s.userKeys.getShieldedPrivateKey()), b = {
107
+ spendingPublicKey: c.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
108
+ }), h = [n, f], _ = [f], v = i.findCorrectRandomization(r(31), c.userKeys.getShieldedPrivateKey()), b = {
112
109
  tokenNumber: 1,
113
110
  nullifierAmount: h.length,
114
111
  outputAmount: _.length
115
- }, S = p([_])[0][0], D = Array.from(A.getBytes(S)), O = await w(u, d, g[a], m), k = y(x, u, [T], [g[a]], await s.getEthereumAddress()), { proofAArr: N, proofBArr: P, proofCArr: F, publicInputsArr: I, commitmentValidationData: L } = await E(s.generateProofRemotely, s.merkleTreeHinkalByChain[u], s.userKeys, [T], [h], [_], v, O.flatFee, O.variableRate, e, j, b, [D], u), R = {
112
+ }, S = p([_])[0][0], D = Array.from(A.getBytes(S)), O = await w(l, u, g[a], m), k = y(x, l, [T], [g[a]], await c.getEthereumAddress()), { proofAArr: N, proofBArr: P, proofCArr: F, publicInputsArr: I, commitmentValidationData: L } = await E(c.generateProofRemotely, c.merkleTreeHinkalByChain[l], c.userKeys, [T], [h], [_], v, O.flatFee, O.variableRate, e, j, b, [D], l), R = {
116
113
  recipient: e,
117
114
  mint: T === "11111111111111111111111111111111" ? void 0 : T
118
115
  };
119
116
  return {
120
117
  relayAddress: j,
121
118
  functionName: "transact",
122
- chainId: u,
119
+ chainId: l,
123
120
  recipientAmount: g[a].toString(),
124
121
  args: {
125
122
  proofAArr: N,
@@ -140,23 +137,27 @@ var N = (n, a, o, s) => {
140
137
  }
141
138
  await O({
142
139
  id: _,
143
- chainId: u,
140
+ chainId: l,
144
141
  hashedEthereumAddress: h,
145
- phase: c.BEFORE_SCHEDULE_WITHDRAW
142
+ phase: d.BEFORE_SCHEDULE_WITHDRAW
146
143
  });
147
- let F = await D(u, P, h, v, b, S);
144
+ let F = await D(l, P, h, v, b, S);
148
145
  return await O({
149
146
  id: _,
150
- chainId: u,
147
+ chainId: l,
151
148
  hashedEthereumAddress: h,
152
- phase: c.AFTER_SCHEDULE_WITHDRAW,
149
+ phase: d.AFTER_SCHEDULE_WITHDRAW,
153
150
  scheduleId: F
154
151
  }), F;
155
- }, L = async (e, t, n, r, i, a, o, c, l, p) => {
156
- let m = f([t]), h = t.erc20TokenAddress, g = u(await e.getEthereumAddressByChain(m)), _ = l ? d(l) : void 0, v = a ?? await x(m, h, [h], s.Transact, [], 5n), { userDepositedUtxos: y, depositTxHash: b, statusId: C } = await F(e, m, t, n, r, v, g);
152
+ }, L = async (e, t, n, r, i, a, o, s, d, p) => {
153
+ let m = f([t]), h = t.erc20TokenAddress, g = c(await e.getEthereumAddressByChain(m)), _ = d ? l(d) : void 0, v = a ?? await x(m, h, [h], u.Transact, [], 5n, {
154
+ mintTo: h,
155
+ recipient: r[0],
156
+ nullifierCount: 1
157
+ }), { userDepositedUtxos: y, depositTxHash: b, statusId: C } = await F(e, m, t, n, r, v, g);
157
158
  return await S(e, m, y), {
158
159
  depositTxHash: b,
159
- scheduleId: await I(e, m, t, y, v, g, n, C, i, o, c, _, p)
160
+ scheduleId: await I(e, m, t, y, v, g, n, C, i, o, s, _, p)
160
161
  };
161
162
  };
162
163
  //#endregion
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r,i,o)=>{let s=(await l.addPaddingToUtxos(e,t,n,r,6))[0],c=a.getCurrentTimeInSeconds().toString(),{outputUtxos:d}=u.outputUtxoProcessing(e.userKeys,s,r[0],c,!0,i,o);return{inputUtxos:s,senderUtxo:d[0],recipientUtxo:d[1]}},b=async(a,l,u,_,b,x,S)=>{if(!s.isValidPrivateAddress(_))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=c.validateAndGetChainId(l),w=[...u],{originalDeployer:T}=e.networkRegistry[C].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=a,O=l.map(e=>e.erc20TokenAddress);if(O.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let k=x??await m.getFeeStructure(C,b,O,o.ExternalActionId.Transact,[],5n);k.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let A=h.calculateTotalFee(-w[0],k),j=-w[0];w[0]-=A;let[M,N,{inputUtxos:P,senderUtxo:F,recipientUtxo:I}]=await Promise.all([a.getRandomRelay(C,!0),a.getEthereumAddressByChain(C),y(a,C,O,w,_,j)]);if(!M)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let L=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),R={tokenNumber:O.length,nullifierAmount:P.length,outputAmount:2},z=d.calcEncryptedOutputs([[F,I]])[0].map(e=>Array.from(v.ethers.getBytes(e)));p.ensureAmountChanges([P],[[F]],w);let{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,commitmentValidationData:W}=await g.constructSolanaZkProof(a.generateProofRemotely,D[C],E,[O[0]],[P],[[F,I]],L,A,0n,t.solanaNativeAddress,M,R,z,C),G={recipient:M,mint:O[0]===`11111111111111111111111111111111`?void 0:O[0]};return{chainId:C,relay:M,args:{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,encryptedOutputs:z,relayerFee:A.toString(),dimensions:R},accounts:G,adminData:f.constructAdminData(S,C,O,w,N),commitmentValidationData:W,recipientUtxo:I}},x=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await b(e,t,n,r,i,a,o);return _.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=x;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.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/addresses.cjs`),s=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r,i,o)=>{let s=(await l.addPaddingToUtxos(e,t,n,r,6))[0],c=a.getCurrentTimeInSeconds().toString(),{outputUtxos:d}=u.outputUtxoProcessing(e.userKeys,s,r[0],c,!0,i,o);return{inputUtxos:s,senderUtxo:d[0],recipientUtxo:d[1]}},b=async(a,l,u,_,b,x,S)=>{if(!o.isValidPrivateAddress(_))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=c.validateAndGetChainId(l),w=[...u],{originalDeployer:T}=e.networkRegistry[C].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=a,O=l.map(e=>e.erc20TokenAddress);if(O.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let k=x??await m.getFeeStructure(C,b,O,s.ExternalActionId.Transact,[],5n);k.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let A=h.calculateTotalFee(-w[0],k),j=-w[0];w[0]-=A;let[M,N,{inputUtxos:P,senderUtxo:F,recipientUtxo:I}]=await Promise.all([a.getRandomRelay(C,!0),a.getEthereumAddressByChain(C),y(a,C,O,w,_,j)]);if(!M)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let L=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),R={tokenNumber:O.length,nullifierAmount:P.length,outputAmount:2},z=d.calcEncryptedOutputs([[F,I]])[0].map(e=>Array.from(v.ethers.getBytes(e)));p.ensureAmountChanges([P],[[F]],w);let{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,commitmentValidationData:W}=await g.constructSolanaZkProof(a.generateProofRemotely,D[C],E,[O[0]],[P],[[F,I]],L,A,0n,t.solanaNativeAddress,M,R,z,C),G={recipient:M,mint:O[0]===`11111111111111111111111111111111`?void 0:O[0]};return{chainId:C,relay:M,args:{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,encryptedOutputs:z,relayerFee:A.toString(),dimensions:R},accounts:G,adminData:f.constructAdminData(S,C,O,w,N),commitmentValidationData:W,recipientUtxo:I}},x=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await b(e,t,n,r,i,a,o);return _.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=x;
@@ -4,9 +4,9 @@ import { transactionErrorCodes as r } from "../../error-handling/error-codes.con
4
4
  import { randomBigInt as i } from "../../functions/web3/etherFunctions.mjs";
5
5
  import { UserKeys as a } from "../crypto-keys/keys.mjs";
6
6
  import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
7
- import { ExternalActionId as s } from "../../types/external-action.types.mjs";
7
+ import { isValidPrivateAddress as s } from "../../functions/utils/addresses.mjs";
8
+ import { ExternalActionId as c } from "../../types/external-action.types.mjs";
8
9
  import "../../types/index.mjs";
9
- import { isValidPrivateAddress as c } from "../../functions/utils/addresses.mjs";
10
10
  import { validateAndGetChainId as l } from "../../functions/utils/token-check.utils.mjs";
11
11
  import { addPaddingToUtxos as u } from "../../functions/web3/events/getShieldedBalance.mjs";
12
12
  import { outputUtxoProcessing as d } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
@@ -28,12 +28,12 @@ var b = async (e, t, n, r, i, a) => {
28
28
  recipientUtxo: l[1]
29
29
  };
30
30
  }, x = async (o, u, d, v, x, S, C) => {
31
- if (!c(v)) throw Error(r.RECIPIENT_FORMAT_INCORRECT);
31
+ if (!s(v)) throw Error(r.RECIPIENT_FORMAT_INCORRECT);
32
32
  let w = l(u), T = [...d], { originalDeployer: E } = e[w].contractData;
33
33
  if (!E) throw Error("missing data");
34
34
  let { userKeys: D, merkleTreeHinkalByChain: O } = o, k = u.map((e) => e.erc20TokenAddress);
35
35
  if (k.length > 1) throw Error("Solana Transfer: Only one mint address is supported");
36
- let A = S ?? await h(w, x, k, s.Transact, [], 5n);
36
+ let A = S ?? await h(w, x, k, c.Transact, [], 5n);
37
37
  A.variableRate ||= t;
38
38
  let j = g(-T[0], A), M = -T[0];
39
39
  T[0] -= j;
@@ -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(`../../types/external-action.types.cjs`),a=require(`../../functions/utils/addresses.cjs`),o=require(`../../functions/utils/tron.utils.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(!a.isValidPrivateAddress(v))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=o.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,i.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 o.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/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;
@@ -2,9 +2,9 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t } from "../../constants/protocol.constants.mjs";
3
3
  import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
4
4
  import { getCurrentTimeInSeconds as r } from "../../functions/utils/time.utils.mjs";
5
- import { ExternalActionId as i } from "../../types/external-action.types.mjs";
6
- import { isValidPrivateAddress as a } from "../../functions/utils/addresses.mjs";
7
- import { addressToHexFormat as o, reorderZkCallData as s } from "../../functions/utils/tron.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
8
  import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
9
9
  import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
10
10
  import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
@@ -29,8 +29,8 @@ var v = async (e, t, n, i, a, o) => {
29
29
  };
30
30
  }, y = async (r, l, u, y, b, x, S) => {
31
31
  let C = c(l), w = e(C);
32
- if (!a(y)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
33
- let T = o(await r.getEthereumAddressByChain(C)), E = l.map((e) => e.erc20TokenAddress), D = await d(C, l, u), O = x ?? await p(C, b, E, i.Transact, [], 5n);
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
34
  O.variableRate ||= t;
35
35
  let k = l[0];
36
36
  if (!k) throw Error("Transfer Action: No Token Found");
@@ -42,7 +42,7 @@ var v = async (e, t, n, i, a, o) => {
42
42
  externalActionId: 0n,
43
43
  externalAddress: M,
44
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 s(w, I, R, L);
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
46
  return await g(C, I, R, L, z, void 0, void 0, f(S, C, E, D, T), B);
47
47
  };
48
48
  //#endregion
@@ -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(`../../types/external-action.types.cjs`),o=require(`../../functions/utils/tron.utils.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/transactCallDirect.cjs`),g=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),v=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var y=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}},b=async(i,c,l,b,x,S,C,w)=>{let T=s.validateAndGetChainId(c),E=e.isTronLike(T),D=o.addressToHexFormat(await i.getEthereumAddressByChain(T)),O=c.map(e=>e.erc20TokenAddress),k=await u.modifyVolatileTokenAmountChanges(T,c,l),A=c[0];if(!A)throw Error(`Deposit Action: No Token Found`);let j;if(!x){let e=C??await f.getFeeStructure(T,S,O,a.ExternalActionId.Transact);j=await p.calculateModifiedFeeStructure(T,A,-k[0],e),await v.mergeWithFeeStructure(T,O,k,j)}let M={externalActionId:0n,externalAddress:o.addressToHexFormat(b),externalActionMetadata:`0x00`},[N,{inputUtxosArray:P,outputUtxosArray:F}]=await Promise.all([i.getRandomRelay(T,!0),y(i,T,O,k)]);if(!x&&!N)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let{zkCallData:I,circomData:L,dimData:R,commitmentValidationData:z}=await m.constructZkProof(i.merkleTreeHinkalByChain[T],P,F,i.userKeys,M.externalActionId,M.externalAddress,M.externalActionMetadata,i.generateProofRemotely,j??n.zeroFeeStructure,x?t.zeroAddress:N,T,void 0,void 0,x?D:void 0),B=E&&x?void 0:await o.reorderZkCallData(E,I,R,L);if(x){if(!A)throw Error(`Withdraw Action: No Token Found`);return E?await _.transactCallDirectTron(i,T,k[0],A,I,L,R):await h.transactCallDirect(i,T,k[0],A,I,L,R)}return await g.transactCallRelayer(T,I,R,L,z,void 0,void 0,d.constructAdminData(w,T,O,k,D),B)};exports.hinkalWithdraw=b;
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;
@@ -3,8 +3,8 @@ import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
3
3
  import { zeroFeeStructure as n } from "../../types/hinkal.types.mjs";
4
4
  import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
5
5
  import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
6
- import { ExternalActionId as a } from "../../types/external-action.types.mjs";
7
- import { addressToHexFormat as o, reorderZkCallData as s } from "../../functions/utils/tron.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
8
  import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
9
9
  import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
10
10
  import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
@@ -12,14 +12,13 @@ import { modifyVolatileTokenAmountChanges as d } from "../../functions/pre-trans
12
12
  import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
13
13
  import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
14
14
  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 { transactCallDirect as g } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
18
- import { transactCallRelayer as _ } from "../../functions/web3/functionCalls/transactCallRelayer.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
19
  import { transactCallDirectTron as v } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
20
- import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
21
20
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdraw.ts
22
- var b = async (e, t, n, r) => {
21
+ var y = async (e, t, n, r) => {
23
22
  let a = [...await l(e, t, n, r)], o = [], s = i().toString();
24
23
  for (let t = 0; t < n.length; t += 1) {
25
24
  let { outputUtxos: n } = u(e.userKeys, a[t], r[t], s);
@@ -29,26 +28,23 @@ var b = async (e, t, n, r) => {
29
28
  inputUtxosArray: a,
30
29
  outputUtxosArray: o
31
30
  };
32
- }, x = async (i, l, u, x, S, C, w, T) => {
33
- let E = c(l), D = e(E), O = o(await i.getEthereumAddressByChain(E)), k = l.map((e) => e.erc20TokenAddress), A = await d(E, l, u), j = l[0];
34
- if (!j) throw Error("Deposit Action: No Token Found");
35
- let M;
36
- if (!S) {
37
- let e = w ?? await p(E, C, k, a.Transact);
38
- M = await m(E, j, -A[0], e), await y(E, k, A, M);
39
- }
40
- let N = {
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 = {
41
37
  externalActionId: 0n,
42
- externalAddress: o(x),
38
+ externalAddress: a(b),
43
39
  externalActionMetadata: "0x00"
44
- }, [P, { inputUtxosArray: F, outputUtxosArray: I }] = await Promise.all([i.getRandomRelay(E, !0), b(i, E, k, A)]);
45
- if (!S && !P) throw Error(r.RELAYER_NOT_AVAILABLE);
46
- let { zkCallData: L, circomData: R, dimData: z, commitmentValidationData: B } = await h(i.merkleTreeHinkalByChain[E], F, I, i.userKeys, N.externalActionId, N.externalAddress, N.externalActionMetadata, i.generateProofRemotely, M ?? n, S ? t : P, E, void 0, void 0, S ? O : void 0), V = D && S ? void 0 : await s(D, L, z, R);
47
- if (S) {
48
- if (!j) throw Error("Withdraw Action: No Token Found");
49
- return D ? await v(i, E, A[0], j, L, R, z) : await g(i, E, A[0], j, L, R, z);
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);
50
46
  }
51
- return await _(E, L, z, R, B, void 0, void 0, f(T, E, k, A, O), V);
47
+ return await g(T, I, R, L, z, void 0, void 0, f(w, T, O, k, D), B);
52
48
  };
53
49
  //#endregion
54
- export { x as hinkalWithdraw };
50
+ export { b as hinkalWithdraw };