@gurge/sdk-react-native 0.3.57 → 0.3.64

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 (434) hide show
  1. package/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/_virtual/_rolldown/runtime.mjs +7 -0
  3. package/bootstrap.cjs +1 -0
  4. package/bootstrap.mjs +8 -0
  5. package/common/src/API/API.mjs +1 -1
  6. package/common/src/API/accessCodeCalls.mjs +1 -1
  7. package/common/src/API/admin-calls.mjs +1 -1
  8. package/common/src/API/brotherhoodCalls.mjs +1 -1
  9. package/common/src/API/callMonitor.mjs +1 -1
  10. package/common/src/API/callNearIntentsAPI.mjs +1 -1
  11. package/common/src/API/callOdosAPI.mjs +1 -1
  12. package/common/src/API/callOkxAPI.mjs +1 -1
  13. package/common/src/API/callOneInchAPI.mjs +1 -1
  14. package/common/src/API/callRelayer.mjs +1 -1
  15. package/common/src/API/dashboardAccountCalls.mjs +1 -1
  16. package/common/src/API/dashboardAccountMemberCalls.mjs +1 -1
  17. package/common/src/API/dashboardBalanceCalls.mjs +1 -1
  18. package/common/src/API/dashboardContactCalls.mjs +1 -1
  19. package/common/src/API/dashboardPayoutCalls.mjs +1 -1
  20. package/common/src/API/dashboardTransactionCalls.mjs +1 -1
  21. package/common/src/API/deposit-and-withdraw-status-calls.mjs +1 -1
  22. package/common/src/API/enclaveSignatureCalls.mjs +1 -1
  23. package/common/src/API/enclaveUtxoCalls.mjs +1 -1
  24. package/common/src/API/fetchCommitmentsCache.mjs +1 -1
  25. package/common/src/API/generate-trading-points.mjs +1 -1
  26. package/common/src/API/get-token-data.mjs +1 -1
  27. package/common/src/API/get-token-price-chart-data.mjs +1 -1
  28. package/common/src/API/getCoingeckoPrice.cjs +1 -1
  29. package/common/src/API/getGasEstimates.mjs +1 -1
  30. package/common/src/API/getTokenPrice.mjs +1 -1
  31. package/common/src/API/leaderboardCalls.mjs +1 -1
  32. package/common/src/API/onrampCalls.mjs +1 -1
  33. package/common/src/API/privacy-score-calls.mjs +1 -1
  34. package/common/src/API/privateSendEmailNotificationsCalls.mjs +1 -1
  35. package/common/src/API/privateSendNonceCalls.mjs +1 -1
  36. package/common/src/API/privateSendRecipientInfoCalls.mjs +1 -1
  37. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  38. package/common/src/API/proxyAccountsCalls.mjs +1 -1
  39. package/common/src/API/referralsCalls.mjs +1 -1
  40. package/common/src/API/relayCalls.mjs +1 -1
  41. package/common/src/API/rewardsUserCalls.mjs +1 -1
  42. package/common/src/API/scheduled-transactions-calls.mjs +1 -1
  43. package/common/src/API/seedless-calls.mjs +1 -1
  44. package/common/src/API/send-telegram-callback.mjs +1 -1
  45. package/common/src/API/simulate-batch-tx.mjs +1 -1
  46. package/common/src/API/simulate-transaction.mjs +1 -1
  47. package/common/src/API/snapshot-event-calls.mjs +1 -1
  48. package/common/src/API/temporaryWalletCalls.mjs +1 -1
  49. package/common/src/API/token-calls.mjs +1 -1
  50. package/common/src/API/tronSubsidyCalls.mjs +1 -1
  51. package/common/src/API/weeklyAnalyticCalls.mjs +1 -1
  52. package/common/src/constants/addresses.constants.mjs +1 -1
  53. package/common/src/constants/auth.constants.mjs +1 -1
  54. package/common/src/constants/chains.constants.cjs +1 -1
  55. package/common/src/constants/chains.constants.mjs +22 -22
  56. package/common/src/constants/coingecko.constants.mjs +1 -1
  57. package/common/src/constants/contracts.constants.mjs +1 -1
  58. package/common/src/constants/deploy-data/index.mjs +1 -1
  59. package/common/src/constants/deploy-data/mergeDeployData.mjs +1 -1
  60. package/common/src/constants/events.constants.mjs +1 -1
  61. package/common/src/constants/fees.constants.mjs +1 -1
  62. package/common/src/constants/index.cjs +1 -1
  63. package/common/src/constants/index.mjs +1 -1
  64. package/common/src/constants/lifi.constants.mjs +1 -1
  65. package/common/src/constants/permit2.constants.mjs +1 -1
  66. package/common/src/constants/protocol.constants.mjs +1 -1
  67. package/common/src/constants/reorg-depths.constants.mjs +1 -1
  68. package/common/src/constants/save-depths.mjs +1 -1
  69. package/common/src/constants/server.constants.mjs +1 -1
  70. package/common/src/constants/tasks.constants.mjs +1 -1
  71. package/common/src/constants/tx-confirmation.constants.mjs +1 -1
  72. package/common/src/constants/vite.constants.cjs +1 -1
  73. package/common/src/constants/vite.constants.mjs +7 -7
  74. package/common/src/crypto/BabyJubRN.mjs +1 -1
  75. package/common/src/crypto/EddsaRN.cjs +1 -1
  76. package/common/src/crypto/EddsaRN.mjs +1 -1
  77. package/common/src/crypto/babyJub.cjs +1 -1
  78. package/common/src/crypto/ecdh-sealed-keys.cjs +1 -1
  79. package/common/src/crypto/ecdh-sealed-keys.mjs +1 -1
  80. package/common/src/crypto/ecdh.cjs +1 -1
  81. package/common/src/crypto/eddsa.cjs +1 -1
  82. package/common/src/crypto/poseidon.cjs +1 -1
  83. package/common/src/crypto/poseidon.mjs +1 -1
  84. package/common/src/crypto/preProcessing.cjs +1 -1
  85. package/common/src/crypto/preProcessing.mjs +5 -5
  86. package/common/src/data-structures/AccountActions/AccountActions.cjs +1 -1
  87. package/common/src/data-structures/AccountActions/AccountActions.mjs +1 -1
  88. package/common/src/data-structures/BlockchainEvent/BlockchainEvent.mjs +1 -1
  89. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/Hinkal.mjs +1 -1
  91. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +1 -1
  98. package/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
  101. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +1 -1
  106. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +1 -1
  108. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +1 -1
  110. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +1 -1
  112. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
  114. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  118. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +1 -1
  119. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
  121. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  122. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +1 -1
  123. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  124. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  125. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  126. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
  127. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +1 -1
  128. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +1 -1
  129. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  131. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +1 -1
  132. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  133. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  134. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -1
  136. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  137. package/common/src/data-structures/IndexedDB/activity-db.mjs +1 -1
  138. package/common/src/data-structures/IndexedDB/balances-db.cjs +1 -1
  139. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  140. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  141. package/common/src/data-structures/IndexedDB/key-val-store.mjs +10 -9
  142. package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +1 -1
  143. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  144. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  145. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +11 -11
  146. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  147. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  148. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +1 -1
  149. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  150. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  151. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +1 -1
  152. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +1 -1
  153. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
  154. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +1 -1
  155. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  156. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +1 -1
  157. package/common/src/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  158. package/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +1 -1
  159. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +1 -1
  160. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  161. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +11 -11
  162. package/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +1 -1
  163. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  164. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +1 -1
  165. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  166. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +1 -1
  167. package/common/src/data-structures/crypto-keys/keyUtils.mjs +1 -1
  168. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  169. package/common/src/data-structures/crypto-keys/keys.mjs +1 -1
  170. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +1 -1
  171. package/common/src/data-structures/event-service/evm/AbstractEventService.mjs +1 -1
  172. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  173. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +1 -1
  174. package/common/src/data-structures/event-service/evm/AbstractSnapshotService.mjs +1 -1
  175. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  176. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +1 -1
  177. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +1 -1
  178. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +1 -1
  179. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +1 -1
  180. package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.mjs +1 -1
  181. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  182. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
  183. package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -1
  184. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +1 -1
  185. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  186. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +1 -1
  187. package/common/src/data-structures/http/BasicHttpClient.cjs +1 -1
  188. package/common/src/data-structures/http/BasicHttpClient.mjs +1 -1
  189. package/common/src/data-structures/http/HttpClient.mjs +1 -1
  190. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +1 -1
  191. package/common/src/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +1 -1
  192. package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +1 -1
  193. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +1 -1
  194. package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +1 -1
  195. package/common/src/data-structures/snapshot/SnapshotFetcherService.mjs +1 -1
  196. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +1 -1
  197. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +1 -1
  198. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +1 -1
  199. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +1 -1
  200. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -1
  201. package/common/src/data-structures/utxo/Utxo.mjs +1 -1
  202. package/common/src/error-handling/customErrors/ErrorWithAmount.mjs +1 -1
  203. package/common/src/error-handling/customErrors/ErrorWithTx.mjs +1 -1
  204. package/common/src/error-handling/customErrors/FeeOverTransactionValueError.mjs +1 -1
  205. package/common/src/error-handling/customErrors/customErrors.helpers.mjs +1 -1
  206. package/common/src/error-handling/error-codes.constants.mjs +1 -1
  207. package/common/src/error-handling/get-error.message.mjs +1 -1
  208. package/common/src/error-handling/isInsufficientFundsError.mjs +1 -1
  209. package/common/src/error-handling/logError.mjs +1 -1
  210. package/common/src/error-handling/logger.mjs +1 -1
  211. package/common/src/error-handling/retrySolanaError.mjs +1 -1
  212. package/common/src/error-handling/types.mjs +1 -1
  213. package/common/src/externalABIs/index.mjs +1 -1
  214. package/common/src/externalABIs/swapAbi.mjs +1 -1
  215. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +1 -1
  216. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +1 -1
  217. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +1 -1
  218. package/common/src/functions/auto-deposit-back-helpers/update-hinkal.mjs +1 -1
  219. package/common/src/functions/index.cjs +1 -1
  220. package/common/src/functions/index.mjs +1 -1
  221. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  222. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +15 -15
  223. package/common/src/functions/pre-transaction/constructAdminData.mjs +1 -1
  224. package/common/src/functions/pre-transaction/convert-okx-instructions.cjs +1 -1
  225. package/common/src/functions/pre-transaction/convert-okx-instructions.mjs +1 -1
  226. package/common/src/functions/pre-transaction/ensureAmountChanges.cjs +1 -1
  227. package/common/src/functions/pre-transaction/ensureAmountChanges.mjs +1 -1
  228. package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +1 -1
  229. package/common/src/functions/pre-transaction/getFeeStructure.mjs +1 -1
  230. package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  231. package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +1 -1
  232. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +1 -1
  233. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +1 -1
  234. package/common/src/functions/pre-transaction/merge-with-fee-structure.mjs +1 -1
  235. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +1 -1
  236. package/common/src/functions/pre-transaction/process-gas-estimates.mjs +1 -1
  237. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +1 -1
  238. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  239. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +1 -1
  240. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  241. package/common/src/functions/pre-transaction/solana.mjs +1 -1
  242. package/common/src/functions/pre-transaction/solanaTransfer.utils.cjs +1 -1
  243. package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +1 -1
  244. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
  245. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  246. package/common/src/functions/private-wallet/emporium.helpers.mjs +1 -1
  247. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  248. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +1 -1
  249. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  250. package/common/src/functions/snarkjs/common.snarkjs.mjs +1 -1
  251. package/common/src/functions/snarkjs/constant.mjs +1 -1
  252. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +1 -1
  253. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  254. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +1 -1
  255. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.mjs +1 -1
  256. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  257. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +1 -1
  258. package/common/src/functions/snarkjs/generateCircomData.mjs +1 -1
  259. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +1 -1
  260. package/common/src/functions/snarkjs/generateZkProof.mjs +1 -1
  261. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +1 -1
  262. package/common/src/functions/snarkjs/generateZkProofSelf.mjs +1 -1
  263. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  264. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +34 -34
  265. package/common/src/functions/snarkjs/getOriginalSender.mjs +1 -1
  266. package/common/src/functions/snarkjs/getZKFiles.mjs +1 -1
  267. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  268. package/common/src/functions/snarkjs/signedMessageHash.mjs +1 -1
  269. package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -1
  270. package/common/src/functions/utils/abi.utils.cjs +1 -1
  271. package/common/src/functions/utils/abi.utils.mjs +1 -1
  272. package/common/src/functions/utils/addresses.cjs +1 -1
  273. package/common/src/functions/utils/addresses.mjs +1 -1
  274. package/common/src/functions/utils/aggregateTokenAmounts.mjs +1 -1
  275. package/common/src/functions/utils/amounts.utils.mjs +1 -1
  276. package/common/src/functions/utils/auth.utils.mjs +1 -1
  277. package/common/src/functions/utils/bigint-math.utils.mjs +1 -1
  278. package/common/src/functions/utils/bit.operations.mjs +1 -1
  279. package/common/src/functions/utils/bytes32.utils.cjs +1 -1
  280. package/common/src/functions/utils/bytes32.utils.mjs +2 -2
  281. package/common/src/functions/utils/cacheDevice.utils.cjs +1 -1
  282. package/common/src/functions/utils/cacheDevice.utils.mjs +8 -8
  283. package/common/src/functions/utils/cacheFunctions.mjs +1 -1
  284. package/common/src/functions/utils/caseInsensitive.utils.mjs +1 -1
  285. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  286. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +1 -1
  287. package/common/src/functions/utils/create-provider.cjs +1 -1
  288. package/common/src/functions/utils/create-provider.mjs +1 -1
  289. package/common/src/functions/utils/customEnclaveFunctionsRegister.mjs +1 -1
  290. package/common/src/functions/utils/enclave-signature-storage.mjs +1 -1
  291. package/common/src/functions/utils/enclaveHandshakeService.mjs +1 -1
  292. package/common/src/functions/utils/encodeTokenWithId.mjs +1 -1
  293. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  294. package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
  295. package/common/src/functions/utils/enum.utils.mjs +1 -1
  296. package/common/src/functions/utils/erc20tokenFunctions.mjs +1 -1
  297. package/common/src/functions/utils/external-action.utils.cjs +1 -1
  298. package/common/src/functions/utils/external-action.utils.mjs +1 -1
  299. package/common/src/functions/utils/fees.utils.mjs +1 -1
  300. package/common/src/functions/utils/get-signature-header.mjs +1 -1
  301. package/common/src/functions/utils/getContractAddress.mjs +1 -1
  302. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
  303. package/common/src/functions/utils/getSignerFromContract.cjs +1 -1
  304. package/common/src/functions/utils/getSignerFromContract.mjs +1 -1
  305. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +1 -1
  306. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  307. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +1 -1
  308. package/common/src/functions/utils/index.cjs +1 -1
  309. package/common/src/functions/utils/index.mjs +1 -1
  310. package/common/src/functions/utils/involves-permit2-op.mjs +1 -1
  311. package/common/src/functions/utils/map.utils.mjs +1 -1
  312. package/common/src/functions/utils/merkleTree.utils.mjs +1 -1
  313. package/common/src/functions/utils/mnemonics.cjs +1 -1
  314. package/common/src/functions/utils/mnemonics.mjs +1 -1
  315. package/common/src/functions/utils/mutexes.utils.mjs +1 -1
  316. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  317. package/common/src/functions/utils/postToOffscreen.mjs +1 -1
  318. package/common/src/functions/utils/process.utils.mjs +1 -1
  319. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  320. package/common/src/functions/utils/publicBalance.utils.mjs +1 -1
  321. package/common/src/functions/utils/reloadPage.mjs +1 -1
  322. package/common/src/functions/utils/resolve-sync.utils.mjs +1 -1
  323. package/common/src/functions/utils/serialize-utxos.utils.mjs +1 -1
  324. package/common/src/functions/utils/serialize.utils.mjs +1 -1
  325. package/common/src/functions/utils/solana-memo.cjs +1 -1
  326. package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
  327. package/common/src/functions/utils/solanaMint.utils.mjs +1 -1
  328. package/common/src/functions/utils/string.utils.mjs +1 -1
  329. package/common/src/functions/utils/time.utils.mjs +1 -1
  330. package/common/src/functions/utils/token-check.utils.mjs +1 -1
  331. package/common/src/functions/utils/tron.utils.cjs +1 -1
  332. package/common/src/functions/utils/tron.utils.mjs +1 -1
  333. package/common/src/functions/utils/tronSimulation.utils.mjs +1 -1
  334. package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -1
  335. package/common/src/functions/utils/upToDateState.mjs +1 -1
  336. package/common/src/functions/utils/userAgent.cjs +1 -1
  337. package/common/src/functions/web3/etherFunctions.cjs +1 -1
  338. package/common/src/functions/web3/etherFunctions.mjs +1 -1
  339. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  340. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +1 -1
  341. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  342. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +1 -1
  343. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  344. package/common/src/functions/web3/events/getShieldedBalance.mjs +1 -1
  345. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +1 -1
  346. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  347. package/common/src/functions/web3/functionCalls/approveToken.mjs +1 -1
  348. package/common/src/functions/web3/functionCalls/approveTokensToHinkal.mjs +1 -1
  349. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  350. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +1 -1
  351. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +1 -1
  352. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  353. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +1 -1
  354. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +1 -1
  355. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +1 -1
  356. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +1 -1
  357. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  358. package/common/src/functions/web3/getContractMetadata.mjs +1 -1
  359. package/common/src/functions/web3/getPublicAddressBalance.mjs +1 -1
  360. package/common/src/functions/web3/getSolanaPriorityFee.mjs +1 -1
  361. package/common/src/functions/web3/odosAPI.mjs +1 -1
  362. package/common/src/functions/web3/okxAPI.cjs +1 -1
  363. package/common/src/functions/web3/okxAPI.mjs +1 -1
  364. package/common/src/functions/web3/oneInchAPI.mjs +1 -1
  365. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  366. package/common/src/functions/web3/uniswapAPI.mjs +1 -1
  367. package/common/src/mutexes/chainBalanceRwLock.cjs +1 -1
  368. package/common/src/mutexes/chainBalanceRwLock.mjs +1 -1
  369. package/common/src/mutexes/mutex.cjs +1 -1
  370. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  371. package/common/src/providers/EthersProviderAdapter.mjs +5 -3
  372. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  373. package/common/src/providers/SolanaProviderAdapter.mjs +1 -1
  374. package/common/src/providers/TronProviderAdapter.mjs +1 -1
  375. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  376. package/common/src/providers/WagmiProviderAdapter.mjs +5 -3
  377. package/common/src/types/activities.types.mjs +1 -1
  378. package/common/src/types/admin.types.mjs +1 -1
  379. package/common/src/types/balances.types.mjs +1 -1
  380. package/common/src/types/cache.types.mjs +1 -1
  381. package/common/src/types/chains.types.mjs +1 -1
  382. package/common/src/types/circom-data.types.mjs +1 -1
  383. package/common/src/types/eip5792.types.mjs +1 -1
  384. package/common/src/types/ethereum-network.types.mjs +1 -1
  385. package/common/src/types/events.types.mjs +1 -1
  386. package/common/src/types/external-action.types.mjs +1 -1
  387. package/common/src/types/fee.types.mjs +1 -1
  388. package/common/src/types/hinkal.types.cjs +1 -1
  389. package/common/src/types/hinkal.types.mjs +1 -1
  390. package/common/src/types/new-rewards.type.mjs +1 -1
  391. package/common/src/types/offscreen.types.mjs +1 -1
  392. package/common/src/types/schedule.types.mjs +1 -1
  393. package/common/src/types/scheduled-transactions.types.mjs +1 -1
  394. package/common/src/types/token.types.mjs +1 -1
  395. package/common/src/types/transaction.types.mjs +1 -1
  396. package/common/src/types/transactions.types.mjs +1 -1
  397. package/common/src/webworker/WorkerWrapper.mjs +1 -1
  398. package/common/src/webworker/performTaskWithWorker.cjs +1 -1
  399. package/common/src/webworker/performTaskWithWorker.mjs +7 -7
  400. package/common/src/webworker/snarkjsWorker/snarkjsWorker.types.mjs +1 -1
  401. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  402. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +2 -2
  403. package/common/src/webworker/utxoWorker/utxoWorker.types.mjs +1 -1
  404. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  405. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +2 -2
  406. package/common/src/webworker/viteWorkerURL.constant.cjs +1 -28
  407. package/common/src/webworker/viteWorkerURL.constant.mjs +13 -27
  408. package/common/src/webworker/worker.registry.mjs +1 -1
  409. package/common/src/webworker/workerFactory.cjs +1 -1
  410. package/common/src/webworker/workerFactory.mjs +23 -21
  411. package/common/src/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
  412. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  413. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +2 -2
  414. package/index.cjs +1 -98
  415. package/index.mjs +12 -363
  416. package/internal/monitorConnectedAddress.cjs +1 -0
  417. package/internal/monitorConnectedAddress.mjs +8 -0
  418. package/internal/swapApi.cjs +1 -0
  419. package/internal/swapApi.mjs +32 -0
  420. package/internal/token.utils.cjs +1 -0
  421. package/internal/token.utils.mjs +17 -0
  422. package/package.json +14 -15
  423. package/providers/prepareWagmiHinkal.cjs +1 -1
  424. package/providers/prepareWagmiHinkal.mjs +4 -4
  425. package/react-native/HinkalProvider.cjs +1 -0
  426. package/react-native/HinkalProvider.mjs +6 -0
  427. package/providers/EthersProviderAdapter.cjs +0 -1
  428. package/providers/EthersProviderAdapter.mjs +0 -5
  429. package/providers/SolanaProviderAdapter.cjs +0 -1
  430. package/providers/SolanaProviderAdapter.mjs +0 -5
  431. package/providers/TronProviderAdapter.cjs +0 -1
  432. package/providers/TronProviderAdapter.mjs +0 -5
  433. package/providers/WagmiProviderAdapter.cjs +0 -1
  434. package/providers/WagmiProviderAdapter.mjs +0 -5
@@ -12,7 +12,7 @@ import { outputUtxoProcessing as d } from "../../functions/pre-transaction/outpu
12
12
  import { getFeeStructure as f } from "../../functions/pre-transaction/getFeeStructure.mjs";
13
13
  import { constructZkProof as p } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
14
14
  import { transactCallRelayer as m } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
15
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalClaimUtxo.ts
15
+ //#region common/src/data-structures/Hinkal/hinkalClaimUtxo.ts
16
16
  var h = async (h, g, _, v, y) => {
17
17
  let b = u([g]), x = e(b), S = g.erc20TokenAddress, C = c(await h.getEthereumAddressByChain(b));
18
18
  if (!n(S, _.erc20TokenAddress)) throw Error("Off-chain UTXO token mismatch");
@@ -15,7 +15,7 @@ import { constructZkProof as C } from "../../functions/snarkjs/constructGeneralZ
15
15
  import { waitForTronErc20Approvals as w } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
16
16
  import { transactCallDirect as T } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
17
17
  import { emitTxPublicData as E } from "../../API/admin-calls.mjs";
18
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalDeposit.ts
18
+ //#region common/src/data-structures/Hinkal/hinkalDeposit.ts
19
19
  var D = async (e, t) => ({
20
20
  externalActionData: {
21
21
  externalActionId: 0n,
@@ -24,7 +24,7 @@ import { transactCallRelayerBatch as C } from "../../functions/web3/functionCall
24
24
  import { safeUpdateDepositAndWithdrawStatus as w } from "../../API/deposit-and-withdraw-status-calls.mjs";
25
25
  import { hinkalDepositOnChainUtxos as T } from "./hinkalDepositOnChainUtxos.mjs";
26
26
  import "../../functions/index.mjs";
27
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
27
+ //#region common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
28
28
  var E = async (t, l, u, f, p, h, g, v, T, E, D) => {
29
29
  if (f.length === 0) throw Error("No recipients to bridge");
30
30
  let O = u.erc20TokenAddress, { contractData: k } = e[l], { emporiumAddress: A } = k;
@@ -19,7 +19,7 @@ import { transactCallRelayerBatch as v } from "../../functions/web3/functionCall
19
19
  import { safeUpdateDepositAndWithdrawStatus as y } from "../../API/deposit-and-withdraw-status-calls.mjs";
20
20
  import { hinkalDepositOnChainUtxos as b } from "./hinkalDepositOnChainUtxos.mjs";
21
21
  import "../../functions/index.mjs";
22
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
22
+ //#region common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
23
23
  var x = async (o, c, l, f, m, h, b, x, S, C, w, T) => {
24
24
  let E = e(c);
25
25
  if (f.length === 0) throw Error("userDepositedUtxos must not be empty");
@@ -9,7 +9,7 @@ import { transactCallDirect as o } from "../../functions/web3/functionCalls/tran
9
9
  import { transactCallDirectTron as s } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
10
10
  import { safeUpdateDepositAndWithdrawStatus as c, updateDepositAndWithdrawStatus as l } from "../../API/deposit-and-withdraw-status-calls.mjs";
11
11
  import { prepareDepositOnChainUtxosZkProof as u } from "./prepareDepositOnChainUtxosZkProof.mjs";
12
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.ts
12
+ //#region common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.ts
13
13
  var d = async (d, f, p, m, h, g, _, v = !0) => {
14
14
  let y = e(f), b = p.erc20TokenAddress, { zkCallData: x, circomData: S, dimData: C, totalAmount: w, utxoAmounts: T, hinkalWrapperAddress: E, hinkalWrapperABI: D, depositOnChainUtxosExternalActionAddress: O, depositOnChainUtxosExternalActionABI: k } = await u(d, f, p, m, g), A = (await l({
15
15
  chainId: f,
@@ -1,5 +1,5 @@
1
1
  import { getRecipientInfoFromUserKeys as e } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
2
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.ts
2
+ //#region common/src/data-structures/Hinkal/hinkalGetRecipientInfo.ts
3
3
  var t = (t) => {
4
4
  if (!t) throw Error("No hinkal provided");
5
5
  let { userKeys: n } = t;
@@ -1,6 +1,6 @@
1
1
  import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
2
2
  import { constructStealthAddressStructure as t, isValidPrivateAddress as n } from "../../functions/utils/addresses.mjs";
3
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalMultiSend.ts
3
+ //#region common/src/data-structures/Hinkal/hinkalMultiSend.ts
4
4
  var r = async (r, i, a, o) => {
5
5
  let s;
6
6
  return o && (s = o.map((r) => {
@@ -6,7 +6,7 @@ import { getNearIntentsQuote as i } from "../../API/callNearIntentsAPI.mjs";
6
6
  import { buildNearBridgeFeeStructure as a } from "../../functions/utils/nearIntents.utils.mjs";
7
7
  import { hinkalDepositAndWithdraw as o } from "./hinkalDepositAndWithdraw.mjs";
8
8
  import { hinkalSolanaDepositAndWithdraw as s } from "./hinkalSolanaDepositAndWithdraw.mjs";
9
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.ts
9
+ //#region common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.ts
10
10
  var c = async (c, l, u, d, f, p, m, h, g, _) => {
11
11
  if (u.length !== d.length) throw Error("recipientAmounts and recipientAddresses length mismatch");
12
12
  if (u.length === 0) throw Error("No recipients to bridge");
@@ -21,7 +21,7 @@ import { transactCallRelayer as _ } from "../../functions/web3/functionCalls/tra
21
21
  import { mergeWithFeeStructure as v } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
22
22
  import { mergeWithFeeStructureEmporium as y } from "../../functions/pre-transaction/merge-with-fee-structure-emporium.mjs";
23
23
  import { handleAutoDepositBack as b } from "./handleAutoDepositBack.mjs";
24
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalPrivateWallet.ts
24
+ //#region common/src/data-structures/Hinkal/hinkalPrivateWallet.ts
25
25
  var x = async (e, t, n, i, a) => {
26
26
  let o = [...await s(e, t, n, i)], l = [], u = r().toString();
27
27
  for (let t = 0; t < n.length; t += 1) {
@@ -14,7 +14,7 @@ import { waitForErc20Approvals as _, waitForTronErc20Approvals as v } from "../.
14
14
  import { emitTxPublicData as y } from "../../API/admin-calls.mjs";
15
15
  import { aggregateAmountsForApproval as b, approveTokens as x, approveTronTokens as S, assertNoDuplicateStealthAddressStructures as C } from "./hinkalProoflessDeposit.utils.mjs";
16
16
  import { hinkalEvmProoflessDepositViaWrapper as w, hinkalTronProoflessDepositViaWrapper as T } from "./hinkalProoflessDepositViaWrapper.mjs";
17
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
17
+ //#region common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
18
18
  var E = async (e, r, i, a, d, f = !1) => {
19
19
  let p = e.getTronWeb(), { hinkalAddress: m } = t[r].contractData, g = l(m), _ = await e.getEthereumAddressByChain(r), y = i.map((e) => e.erc20TokenAddress), b = i.map(() => 0n), { totalTrxValue: x, tokensNeedingApproval: C } = u(i, a), w = d.map((e) => ({
20
20
  extraRandomization: e.extraRandomization.toString(),
@@ -4,7 +4,7 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
4
  import { ERC20ABI as i } from "../../externalABIs/index.mjs";
5
5
  import { isSameERC20Token as a } from "../../functions/utils/token-check.utils.mjs";
6
6
  import { waitForEthereumTransactionConfirmation as o } from "../../functions/utils/tx-confirmation.utils.mjs";
7
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
7
+ //#region common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
8
8
  var s = (e, t) => {
9
9
  let n = [], r = 0;
10
10
  for (let i = 0; i < e.length; i += 1) {
@@ -11,7 +11,7 @@ import { buildApproveAndDepositWrapperCalls as f } from "../../functions/web3/fu
11
11
  import { waitForErc20Approvals as p, waitForTronErc20Approvals as m } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
12
12
  import { emitTxPublicData as h } from "../../API/admin-calls.mjs";
13
13
  import { aggregateAmountsForApproval as g, approveTokens as _, approveTronTokens as v, assertNoDuplicateStealthAddressStructures as y } from "./hinkalProoflessDeposit.utils.mjs";
14
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.ts
14
+ //#region common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.ts
15
15
  var b = (e, t, i, a) => {
16
16
  let o = r(e, n), s = i.reduce((e, t, i) => r(t.erc20TokenAddress, n) ? e + a[i] : e, 0n) + (o ? t : 0n), c = g(i, a), l = c.filter(({ token: e }) => !r(e.erc20TokenAddress, n)).map((n) => !o && r(n.token.erc20TokenAddress, e) ? {
17
17
  token: n.token,
@@ -7,7 +7,7 @@ import { getFeeStructure as i } from "../../functions/pre-transaction/getFeeStru
7
7
  import { SWAP_ROUTER_ADDRESSES as a } from "../../constants/addresses.constants.mjs";
8
8
  import { convertEmporiumOpToCallInfo as o } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
9
9
  import { createSwapToEmporiumOps as s } from "../../functions/private-wallet/emporium.swap.helpers.mjs";
10
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalProxySwap.ts
10
+ //#region common/src/data-structures/Hinkal/hinkalProxySwap.ts
11
11
  var c = async (c, l, u, d, f, p, m, h, g, _ = !1, v, y) => {
12
12
  if (!h) throw Error("Fee token is required in hinkalProxySwap");
13
13
  let b = n(l), x = r.getAddressFromSubAccount(b, m);
@@ -7,7 +7,7 @@ import { AccountActions as a } from "../AccountActions/AccountActions.mjs";
7
7
  import { getFeeStructure as o } from "../../functions/pre-transaction/getFeeStructure.mjs";
8
8
  import { convertEmporiumOpToCallInfo as s } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
9
9
  import { createTransaferEmporiumOpsBatch as c } from "../../functions/private-wallet/emporium.helpers.mjs";
10
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalProxyToPrivate.ts
10
+ //#region common/src/data-structures/Hinkal/hinkalProxyToPrivate.ts
11
11
  var l = async (l, u, d, f, p, m, h, g) => {
12
12
  if (!h) throw Error("hinkalProxyToPrivate: subAccount should be provided");
13
13
  if (!p) throw Error("Fee token is required in hinkalProxyToPrivate");
@@ -1,6 +1,6 @@
1
1
  import { AccountActions as e } from "../AccountActions/AccountActions.mjs";
2
2
  import "../AccountActions/index.mjs";
3
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSignSubAccount.ts
3
+ //#region common/src/data-structures/Hinkal/hinkalSignSubAccount.ts
4
4
  var t = async (t, n, r, i) => {
5
5
  let a, o = e.getPrivateKeyFromSubAccount(t, i);
6
6
  if (!o) throw Error("Private key is not available");
@@ -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(),...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;
@@ -13,7 +13,7 @@ import { getFeeStructure as d } from "../../functions/pre-transaction/getFeeStru
13
13
  import { constructSolanaZkProof as f } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
14
14
  import { solanaTransactCallRelayer as p } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
15
15
  import { ethers as m } from "ethers";
16
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.ts
16
+ //#region common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.ts
17
17
  var h = async (h, g, _, v, y) => {
18
18
  let b = l([g]), x = g.erc20TokenAddress;
19
19
  if (_.getTokenAddress(b) !== x) throw Error("Off-chain UTXO token mismatch");
@@ -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(`../../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;
@@ -15,7 +15,7 @@ import { buildSolanaTransferInstructions as _ } from "../../functions/pre-transa
15
15
  import { assertNoDuplicateStealthAddressStructures as v } from "./hinkalProoflessDeposit.utils.mjs";
16
16
  import { PublicKey as y, Transaction as b, TransactionMessage as x, VersionedTransaction as S } from "@solana/web3.js";
17
17
  import { BN as C } from "@coral-xyz/anchor";
18
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
18
+ //#region common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
19
19
  var w = (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");
@@ -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(`../../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;
@@ -28,7 +28,7 @@ import "../../functions/index.mjs";
28
28
  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
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.ts
31
+ //#region common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.ts
32
32
  var N = (n, a, o, s) => {
33
33
  let { hinkalIdl: c, hinkalAddress: u, originalDeployer: d } = e[a].contractData;
34
34
  if (!c) throw Error("No IDL configured for Solana program on this network");
@@ -2,7 +2,7 @@ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { validateAndGetChainId as t } from "../../functions/utils/token-check.utils.mjs";
3
3
  import { getStealthAddressStructureFromUserKeys as n } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
4
4
  import { submitSolanaProoflessDeposit as r } from "./hinkalSolanaDeposit.mjs";
5
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.ts
5
+ //#region common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.ts
6
6
  var i = async (i, a, o, s, c, l = !1) => {
7
7
  if (a.length === 0) throw Error("erc20Tokens must not be empty");
8
8
  if (a.length !== o.length) throw Error("erc20Tokens and amountChanges length mismatch");
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/constructAdminData.cjs`),r=require(`../../functions/utils/create-provider.cjs`),i=require(`../AccountActions/AccountActions.cjs`),a=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),o=require(`../../API/admin-calls.cjs`),s=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let c=require(`@solana/web3.js`);var l=async(n,a,o,l)=>{let u=t.validateAndGetChainId([n]),d=i.AccountActions.getAddressFromSubAccount(u,o);if(!d)throw Error(`Public account address is not available`);let{fetchRpcUrl:f}=e.networkRegistry[u];if(!f)throw Error(`RPC URL not found for the specified chain ID`);let p=r.createCustomSolanaConnection(f),m=new c.PublicKey(d),{instructions:h,programId:g}=await s.buildSolanaTransferInstructions(p,m,new c.PublicKey(l),n,a);return{connection:p,chainId:u,senderAddress:d,senderPublickey:m,programId:g,instructions:h}},u=async(e,t,r,i,s,c)=>{let[{connection:u,chainId:d,senderPublickey:f,instructions:p},m]=await Promise.all([l(t,r,i,s),e.getEthereumAddress()]),h=await a.sendProxyV0Transaction({connection:u,chainId:d,subAccount:i,payerPublicKey:f,instructions:p});return o.emitTxPublicData(n.constructAdminData(c,d,[t.erc20TokenAddress],[r],m)),h};exports.hinkalSolanaProxySend=u;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/constructAdminData.cjs`),r=require(`../../functions/utils/create-provider.cjs`),i=require(`../AccountActions/AccountActions.cjs`),a=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),o=require(`../../API/admin-calls.cjs`),s=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let c=require(`@solana/web3.js`);var l=async(n,a,o,l)=>{let u=t.validateAndGetChainId([n]),d=i.AccountActions.getAddressFromSubAccount(u,o);if(!d)throw Error(`Public account address is not available`);let{fetchRpcUrl:f}=e.networkRegistry[u];if(!f)throw Error(`RPC URL not found for the specified chain ID`);let p=r.createCustomSolanaConnection(f),m=new c.PublicKey(d),{instructions:h,programId:g}=await s.buildSolanaTransferInstructions(p,m,new c.PublicKey(l),n,a);return{connection:p,chainId:u,senderAddress:d,senderPublickey:m,programId:g,instructions:h}},u=async(e,t,r,i,s,c)=>{let[{connection:u,chainId:d,senderPublickey:f,instructions:p},m]=await Promise.all([l(t,r,i,s),e.getEthereumAddress()]),h=await a.sendProxyV0Transaction({connection:u,chainId:d,subAccount:i,payerPublicKey:f,instructions:p});return o.emitTxPublicData(n.constructAdminData(c,d,[t.erc20TokenAddress],[r],m)),h};exports.hinkalSolanaProxySend=u;
@@ -7,7 +7,7 @@ import { sendProxyV0Transaction as a } from "../../functions/pre-transaction/sen
7
7
  import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
8
8
  import { buildSolanaTransferInstructions as s } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
9
9
  import { PublicKey as c } from "@solana/web3.js";
10
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProxySend.ts
10
+ //#region common/src/data-structures/Hinkal/hinkalSolanaProxySend.ts
11
11
  var l = async (n, a, o, l) => {
12
12
  let u = t([n]), d = i.getAddressFromSubAccount(u, o);
13
13
  if (!d) throw Error("Public account address is not available");
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/solanaMint.utils.cjs`),r=require(`../../functions/utils/addresses.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/pre-transaction/solana.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/utils/create-provider.cjs`),c=require(`../AccountActions/AccountActions.cjs`),l=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),u=require(`../../API/admin-calls.cjs`);let d=require(`@solana/web3.js`),f=require(`@coral-xyz/anchor`),p=require(`@solana/spl-token`);var m=async({program:e,mintPublicKey:t,mintAddressString:n,tokenAmount:r,anchorStealthStructure:i,senderPublickey:a,originalDeployer:o,storageAccount:s,storageVault:c})=>{let l=new f.BN(r.toString()),u=n===`11111111111111111111111111111111`?null:t,d=n===`11111111111111111111111111111111`?null:void 0;return e.methods.prooflessDeposit(l,i).accounts({mint:u,signer:a,signerAta:d,originalDeployer:o,storageAccount:s,storageVault:c,storageVaultAta:d}).instruction()},h=async(i,o,l,u,f,h)=>{let g=h??i.getRecipientInfo();if(!r.isValidPrivateAddress(g))throw Error(t.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let _=c.AccountActions.getAddressFromSubAccount(o,f);if(!_)throw Error(`Public account address is not available`);let{hinkalIdl:v,hinkalAddress:y,originalDeployer:b}=e.networkRegistry[o].contractData;if(!v)throw Error(`No IDL configured for Solana program on this network`);if(!b)throw Error(`missing original deployer`);let x=i.getSolanaProgram(v),S=new d.PublicKey(b),C=new d.PublicKey(y),w=new d.PublicKey(_),{erc20TokenAddress:T}=l,{fetchRpcUrl:E}=e.networkRegistry[o];if(!E)throw Error(`RPC URL not found for the specified chain ID`);let D=s.createCustomSolanaConnection(E),{mintPublicKey:O}=n.formatMintAddress(T),k=O.toString(),A=a.getStorageAccountPublicKey(C,S),j=a.getStorageVaultPublicKey(C,S),M=await m({program:x,mintPublicKey:O,mintAddressString:k,tokenAmount:u,anchorStealthStructure:a.buildAnchorStealthAddressStructure(r.constructStealthAddressStructure(g)),senderPublickey:w,originalDeployer:S,storageAccount:A,storageVault:j}),N=l.is2022Program?p.TOKEN_2022_PROGRAM_ID:p.TOKEN_PROGRAM_ID;return{connection:D,senderAddress:_,senderPublickey:w,instructions:[M],storageAccount:A,programId:N}},g=async(e,t,n,r,a,s)=>{if(!r)throw Error(`subAccount is required`);let c=i.validateAndGetChainId([t]),[{connection:d,senderPublickey:f,instructions:p},m]=await Promise.all([h(e,c,t,n,r,a),e.getEthereumAddress()]),g=await l.sendProxyV0Transaction({connection:d,chainId:c,subAccount:r,payerPublicKey:f,instructions:p});return u.emitTxPublicData(o.constructAdminData(s,c,[t.erc20TokenAddress],[n],m)),g};exports.hinkalSolanaProxyShield=g;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/solanaMint.utils.cjs`),r=require(`../../functions/utils/addresses.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/pre-transaction/solana.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/utils/create-provider.cjs`),c=require(`../AccountActions/AccountActions.cjs`),l=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),u=require(`../../API/admin-calls.cjs`);let d=require(`@solana/web3.js`),f=require(`@coral-xyz/anchor`),p=require(`@solana/spl-token`);var m=async({program:e,mintPublicKey:t,mintAddressString:n,tokenAmount:r,anchorStealthStructure:i,senderPublickey:a,originalDeployer:o,storageAccount:s,storageVault:c})=>{let l=new f.BN(r.toString()),u=n===`11111111111111111111111111111111`?null:t,d=n===`11111111111111111111111111111111`?null:void 0;return e.methods.prooflessDeposit(l,i).accounts({mint:u,signer:a,signerAta:d,originalDeployer:o,storageAccount:s,storageVault:c,storageVaultAta:d}).instruction()},h=async(i,o,l,u,f,h)=>{let g=h??i.getRecipientInfo();if(!r.isValidPrivateAddress(g))throw Error(t.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let _=c.AccountActions.getAddressFromSubAccount(o,f);if(!_)throw Error(`Public account address is not available`);let{hinkalIdl:v,hinkalAddress:y,originalDeployer:b}=e.networkRegistry[o].contractData;if(!v)throw Error(`No IDL configured for Solana program on this network`);if(!b)throw Error(`missing original deployer`);let x=i.getSolanaProgram(v),S=new d.PublicKey(b),C=new d.PublicKey(y),w=new d.PublicKey(_),{erc20TokenAddress:T}=l,{fetchRpcUrl:E}=e.networkRegistry[o];if(!E)throw Error(`RPC URL not found for the specified chain ID`);let D=s.createCustomSolanaConnection(E),{mintPublicKey:O}=n.formatMintAddress(T),k=O.toString(),A=a.getStorageAccountPublicKey(C,S),j=a.getStorageVaultPublicKey(C,S),M=await m({program:x,mintPublicKey:O,mintAddressString:k,tokenAmount:u,anchorStealthStructure:a.buildAnchorStealthAddressStructure(r.constructStealthAddressStructure(g)),senderPublickey:w,originalDeployer:S,storageAccount:A,storageVault:j}),N=l.is2022Program?p.TOKEN_2022_PROGRAM_ID:p.TOKEN_PROGRAM_ID;return{connection:D,senderAddress:_,senderPublickey:w,instructions:[M],storageAccount:A,programId:N}},g=async(e,t,n,r,a,s)=>{if(!r)throw Error(`subAccount is required`);let c=i.validateAndGetChainId([t]),[{connection:d,senderPublickey:f,instructions:p},m]=await Promise.all([h(e,c,t,n,r,a),e.getEthereumAddress()]),g=await l.sendProxyV0Transaction({connection:d,chainId:c,subAccount:r,payerPublicKey:f,instructions:p});return u.emitTxPublicData(o.constructAdminData(s,c,[t.erc20TokenAddress],[n],m)),g};exports.hinkalSolanaProxyShield=g;
@@ -13,7 +13,7 @@ import { emitTxPublicData as p } from "../../API/admin-calls.mjs";
13
13
  import { PublicKey as m } from "@solana/web3.js";
14
14
  import { BN as h } from "@coral-xyz/anchor";
15
15
  import { TOKEN_2022_PROGRAM_ID as g, TOKEN_PROGRAM_ID as _ } from "@solana/spl-token";
16
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.ts
16
+ //#region common/src/data-structures/Hinkal/hinkalSolanaProxyShield.ts
17
17
  var v = async ({ program: e, mintPublicKey: t, mintAddressString: n, tokenAmount: r, anchorStealthStructure: i, senderPublickey: a, originalDeployer: o, storageAccount: s, storageVault: c }) => {
18
18
  let l = new h(r.toString()), u = n === "11111111111111111111111111111111" ? null : t, d = n === "11111111111111111111111111111111" ? null : void 0;
19
19
  return e.methods.prooflessDeposit(l, i).accounts({
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/pre-transaction/constructAdminData.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../AccountActions/AccountActions.cjs`),s=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),c=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../constants/index.cjs`);const l=require(`../../API/admin-calls.cjs`),u=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);require(`../AccountActions/index.cjs`);let d=require(`@solana/web3.js`);var f=async(e,t)=>{let{addressLookupTableAccount:n,instructionLists:r}=JSON.parse(t).data,i=await Promise.all(n.map(async t=>{let n=await e.getAddressLookupTable(new d.PublicKey(t));if(!n.value)throw Error(`Failed to fetch lookup table: ${t}`);return n.value}));if(r.length===0)throw Error(`No instructions found`);return{instructions:r.map(e=>new d.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new d.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new d.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},p=async(e,t)=>{let n=d.VersionedTransaction.deserialize(Buffer.from(t,`base64`)),r=await Promise.all(n.message.addressTableLookups.map(async({accountKey:t})=>{let n=await e.getAddressLookupTable(t);if(!n.value)throw Error(`Failed to fetch lookup table: ${t.toBase58()}`);return n.value})),{instructions:i}=d.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},m=async(t,r,i,s)=>{let c=o.AccountActions.getAddressFromSubAccount(t,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[t];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),m=new d.PublicKey(c),{instructions:h,lookupTableAccounts:g}=s===n.ExternalActionId.Lifi?await p(u,r):await f(u,r);return{connection:u,walletPublicKey:m,instructions:h,lookupTableAccounts:g}},h=async(e,a,o,f,p,h,g,_,v)=>{let y=r.validateAndGetChainId(a),b=h===n.ExternalActionId.Lifi,[{connection:x,walletPublicKey:S,instructions:C,lookupTableAccounts:w},T,E]=await Promise.all([m(y,f,p,h),b?Promise.resolve(null):e.getRandomRelay(y),e.getEthereumAddressByChain(y)]),D=C;if(!b){if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],r=o[1]*(_??await c.getFeeStructure(y,g,a.map(e=>e.erc20TokenAddress),n.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await u.buildSolanaTransferInstructions(x,S,new d.PublicKey(T),e,r);D=[...C,...i]}let O=await s.sendProxyV0Transaction({connection:x,chainId:y,subAccount:p,payerPublicKey:S,instructions:D,lookupTableAccounts:w});return l.emitTxPublicData(i.constructAdminData(v,y,a.map(e=>e.erc20TokenAddress),o,E,a)),O};exports.hinkalSolanaProxySwap=h;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/pre-transaction/constructAdminData.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../AccountActions/AccountActions.cjs`),s=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),c=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../constants/index.cjs`);const l=require(`../../API/admin-calls.cjs`),u=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);require(`../AccountActions/index.cjs`);let d=require(`@solana/web3.js`);var f=async(e,t)=>{let{addressLookupTableAccount:n,instructionLists:r}=JSON.parse(t).data,i=await Promise.all(n.map(async t=>{let n=await e.getAddressLookupTable(new d.PublicKey(t));if(!n.value)throw Error(`Failed to fetch lookup table: ${t}`);return n.value}));if(r.length===0)throw Error(`No instructions found`);return{instructions:r.map(e=>new d.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new d.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new d.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},p=async(e,t)=>{let n=d.VersionedTransaction.deserialize(Buffer.from(t,`base64`)),r=await Promise.all(n.message.addressTableLookups.map(async({accountKey:t})=>{let n=await e.getAddressLookupTable(t);if(!n.value)throw Error(`Failed to fetch lookup table: ${t.toBase58()}`);return n.value})),{instructions:i}=d.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},m=async(t,r,i,s)=>{let c=o.AccountActions.getAddressFromSubAccount(t,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[t];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),m=new d.PublicKey(c),{instructions:h,lookupTableAccounts:g}=s===n.ExternalActionId.Lifi?await p(u,r):await f(u,r);return{connection:u,walletPublicKey:m,instructions:h,lookupTableAccounts:g}},h=async(e,a,o,f,p,h,g,_,v)=>{let y=r.validateAndGetChainId(a),b=h===n.ExternalActionId.Lifi,[{connection:x,walletPublicKey:S,instructions:C,lookupTableAccounts:w},T,E]=await Promise.all([m(y,f,p,h),b?Promise.resolve(null):e.getRandomRelay(y),e.getEthereumAddressByChain(y)]),D=C;if(!b){if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],r=o[1]*(_??await c.getFeeStructure(y,g,a.map(e=>e.erc20TokenAddress),n.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await u.buildSolanaTransferInstructions(x,S,new d.PublicKey(T),e,r);D=[...C,...i]}let O=await s.sendProxyV0Transaction({connection:x,chainId:y,subAccount:p,payerPublicKey:S,instructions:D,lookupTableAccounts:w});return l.emitTxPublicData(i.constructAdminData(v,y,a.map(e=>e.erc20TokenAddress),o,E,a)),O};exports.hinkalSolanaProxySwap=h;
@@ -12,7 +12,7 @@ import { emitTxPublicData as l } from "../../API/admin-calls.mjs";
12
12
  import { buildSolanaTransferInstructions as u } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
13
13
  import "../AccountActions/index.mjs";
14
14
  import { PublicKey as d, TransactionInstruction as f, TransactionMessage as p, VersionedTransaction as m } from "@solana/web3.js";
15
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.ts
15
+ //#region common/src/data-structures/Hinkal/hinkalSolanaProxySwap.ts
16
16
  var h = async (e, t) => {
17
17
  let { addressLookupTableAccount: n, instructionLists: r } = JSON.parse(t).data, i = await Promise.all(n.map(async (t) => {
18
18
  let n = await e.getAddressLookupTable(new d(t));
@@ -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`),s=require(`../../types/cache.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/solana.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),ee=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],o=a.getCurrentTimeInSeconds().toString(),s=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],o);s.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:s}},x=async(a,l,u,x,te,S,C,w,T)=>{let E=c.validateAndGetChainId(l),D=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:ne,originalDeployer:O}=e.networkRegistry[E].contractData;if(!O)throw Error(`No IDL configured for Solana program on this network`);let k=new y.PublicKey(O),A=new y.PublicKey(ne),j=l.map(e=>e.erc20TokenAddress),{userKeys:M,merkleTreeHinkalByChain:N}=a,P=w??await h.getFeeStructure(E,C,j,o.ExternalActionId.Transact),F=u[1],I=Number(a.cacheDevice.get(s.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=r.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=r.getAmountInWei(L,z.toFixed(L.decimals));let B=F*BigInt(P.variableRate??0)/10000n+P.flatFee;if(u[1]-=B,u[1]<0)throw Error(n.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[H,U,{inputUtxosArray:W,outputUtxosArray:G}]=await Promise.all([a.getRandomRelay(E,!0),a.getEthereumAddressByChain(E),b(a,E,j,u)]);if(!H)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=a.userKeys.getShieldedPrivateKey(),q=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),K),J={tokenNumber:2,nullifierAmount:W[0].length,outputAmount:1},Y=d.calcEncryptedOutputs(G).map(e=>[...v.ethers.getBytes(e[0])]),X=f.getSwapperAccountPublicKeyFromSalt(A,k,x),{remainingAccounts:Z,hinkalInstructions:Q}=ee.convertOKXToHinkalInstructions(te,X);m.ensureAmountChanges(W,G,u);let{proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,commitmentValidationData:$}=await g.constructSolanaZkProof(a.generateProofRemotely,N[E],M,j,W,G,q,P.flatFee,P.variableRate,D.toString(),H,J,Y,E,Q,Z,x),se=f.getStorageAccountPublicKey(A,k),ce=f.getStorageVaultPublicKey(A,k),le=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ue=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),de={recipient:D.toString(),storageAccount:se.toString(),storageVault:ce.toString(),swapperAccount:X.toString(),mintFrom:le?.toString()??null,mintTo:ue?.toString()??null,remainingAccounts:Z.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S};return _.solanaTransactCallRelayer({chainId:E,relayAddress:H,functionName:`swap`,args:{encryptedOutputs:Y,proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:J,hinkalInstructions:Q.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},accounts:de,commitmentValidationData:$,adminData:p.constructAdminData(T,E,j,u,U,l)})};exports.hinkalSolanaSwap=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(`../../types/external-action.types.cjs`),s=require(`../../types/cache.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/solana.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),ee=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],o=a.getCurrentTimeInSeconds().toString(),s=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],o);s.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:s}},x=async(a,l,u,x,te,S,C,w,T)=>{let E=c.validateAndGetChainId(l),D=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:ne,originalDeployer:O}=e.networkRegistry[E].contractData;if(!O)throw Error(`No IDL configured for Solana program on this network`);let k=new y.PublicKey(O),A=new y.PublicKey(ne),j=l.map(e=>e.erc20TokenAddress),{userKeys:M,merkleTreeHinkalByChain:N}=a,P=w??await h.getFeeStructure(E,C,j,o.ExternalActionId.Transact),F=u[1],I=Number(a.cacheDevice.get(s.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=r.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=r.getAmountInWei(L,z.toFixed(L.decimals));let B=F*BigInt(P.variableRate??0)/10000n+P.flatFee;if(u[1]-=B,u[1]<0)throw Error(n.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[H,U,{inputUtxosArray:W,outputUtxosArray:G}]=await Promise.all([a.getRandomRelay(E,!0),a.getEthereumAddressByChain(E),b(a,E,j,u)]);if(!H)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=a.userKeys.getShieldedPrivateKey(),q=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),K),J={tokenNumber:2,nullifierAmount:W[0].length,outputAmount:1},Y=d.calcEncryptedOutputs(G).map(e=>[...v.ethers.getBytes(e[0])]),X=f.getSwapperAccountPublicKeyFromSalt(A,k,x),{remainingAccounts:Z,hinkalInstructions:Q}=ee.convertOKXToHinkalInstructions(te,X);m.ensureAmountChanges(W,G,u);let{proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,commitmentValidationData:$}=await g.constructSolanaZkProof(a.generateProofRemotely,N[E],M,j,W,G,q,P.flatFee,P.variableRate,D.toString(),H,J,Y,E,Q,Z,x),se=f.getStorageAccountPublicKey(A,k),ce=f.getStorageVaultPublicKey(A,k),le=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ue=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),de={recipient:D.toString(),storageAccount:se.toString(),storageVault:ce.toString(),swapperAccount:X.toString(),mintFrom:le?.toString()??null,mintTo:ue?.toString()??null,remainingAccounts:Z.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S};return _.solanaTransactCallRelayer({chainId:E,relayAddress:H,functionName:`swap`,args:{encryptedOutputs:Y,proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:J,hinkalInstructions:Q.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},accounts:de,commitmentValidationData:$,adminData:p.constructAdminData(T,E,j,u,U,l)})};exports.hinkalSolanaSwap=x;
@@ -20,7 +20,7 @@ import { constructSolanaZkProof as y } from "../../functions/snarkjs/constructSo
20
20
  import { solanaTransactCallRelayer as b } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
21
21
  import { ethers as x } from "ethers";
22
22
  import { PublicKey as S } from "@solana/web3.js";
23
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaSwap.ts
23
+ //#region common/src/data-structures/Hinkal/hinkalSolanaSwap.ts
24
24
  var ne = async (e, t, n, r) => {
25
25
  let i = [...await d(e, t, n, r, 6)], a = s().toString(), o = [];
26
26
  for (let t = 0; t < n.length; t += 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(`../../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(`../../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;
@@ -19,7 +19,7 @@ import { calculateTotalFee as g } from "../../functions/utils/fees.utils.mjs";
19
19
  import { constructSolanaZkProof as _ } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
20
20
  import { solanaTransactCallRelayer as v } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
21
21
  import { ethers as y } from "ethers";
22
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaTransfer.ts
22
+ //#region common/src/data-structures/Hinkal/hinkalSolanaTransfer.ts
23
23
  var b = async (e, t, n, r, i, a) => {
24
24
  let s = (await u(e, t, n, r, 6))[0], c = o().toString(), { outputUtxos: l } = d(e.userKeys, s, r[0], c, !0, i, a);
25
25
  return {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/web3/etherFunctions.cjs`),r=require(`../crypto-keys/keys.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`),require(`../../constants/index.cjs`);const p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=async(e,t,n,r)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r,6)][0],o=i.getCurrentTimeInSeconds().toString(),{outputUtxos:l}=c.outputUtxoProcessing(e.userKeys,a,r[0],o);return{inputUtxos:a,outputUtxos:l}},v=async(i,s,c,v,y,b,x)=>{let S=o.validateAndGetChainId(s),C=s.map(e=>e.erc20TokenAddress),w=s[0];if(!w)throw Error(`Solana Withdraw: No Token Found`);let{originalDeployer:T}=e.networkRegistry[S].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=i,O=b??await f.getFeeStructure(S,y,C,a.ExternalActionId.Transact),k=await p.calculateModifiedFeeStructure(S,w,-c[0],O);c[0]-=k.flatFee;let[A,{inputUtxos:j,outputUtxos:M}]=await Promise.all([i.getRandomRelay(S,!0),_(i,S,C,c)]);if(!A)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(C.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let N=r.UserKeys.findCorrectRandomization(n.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),P={tokenNumber:C.length,nullifierAmount:j.length,outputAmount:M.length},F=l.calcEncryptedOutputs([M])[0][0],I=Array.from(g.ethers.getBytes(F));d.ensureAmountChanges([j],[M],c);let{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,commitmentValidationData:V}=await m.constructSolanaZkProof(i.generateProofRemotely,D[S],E,[C[0]],[j],[M],N,k.flatFee,k.variableRate,v,A,P,[I],S),H={recipient:v,mint:C[0]===`11111111111111111111111111111111`?void 0:C[0]};return h.solanaTransactCallRelayer({chainId:S,relayAddress:A,functionName:`transact`,args:{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,encryptedOutputs:[I],relayerFee:k.flatFee.toString(),dimensions:P},accounts:H,commitmentValidationData:V,adminData:u.constructAdminData(x,S,C,c,await i.getEthereumAddress())})};exports.hinkalSolanaWithdraw=v;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/web3/etherFunctions.cjs`),r=require(`../crypto-keys/keys.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`),require(`../../constants/index.cjs`);const p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=async(e,t,n,r)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r,6)][0],o=i.getCurrentTimeInSeconds().toString(),{outputUtxos:l}=c.outputUtxoProcessing(e.userKeys,a,r[0],o);return{inputUtxos:a,outputUtxos:l}},v=async(i,s,c,v,y,b,x)=>{let S=o.validateAndGetChainId(s),C=s.map(e=>e.erc20TokenAddress),w=s[0];if(!w)throw Error(`Solana Withdraw: No Token Found`);let{originalDeployer:T}=e.networkRegistry[S].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=i,O=b??await f.getFeeStructure(S,y,C,a.ExternalActionId.Transact),k=await p.calculateModifiedFeeStructure(S,w,-c[0],O);c[0]-=k.flatFee;let[A,{inputUtxos:j,outputUtxos:M}]=await Promise.all([i.getRandomRelay(S,!0),_(i,S,C,c)]);if(!A)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(C.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let N=r.UserKeys.findCorrectRandomization(n.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),P={tokenNumber:C.length,nullifierAmount:j.length,outputAmount:M.length},F=l.calcEncryptedOutputs([M])[0][0],I=Array.from(g.ethers.getBytes(F));d.ensureAmountChanges([j],[M],c);let{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,commitmentValidationData:V}=await m.constructSolanaZkProof(i.generateProofRemotely,D[S],E,[C[0]],[j],[M],N,k.flatFee,k.variableRate,v,A,P,[I],S),H={recipient:v,mint:C[0]===`11111111111111111111111111111111`?void 0:C[0]};return h.solanaTransactCallRelayer({chainId:S,relayAddress:A,functionName:`transact`,args:{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,encryptedOutputs:[I],relayerFee:k.flatFee.toString(),dimensions:P},accounts:H,commitmentValidationData:V,adminData:u.constructAdminData(x,S,C,c,await i.getEthereumAddress())})};exports.hinkalSolanaWithdraw=v;
@@ -19,7 +19,7 @@ import { calculateModifiedFeeStructure as p } from "../../functions/utils/fees.u
19
19
  import { constructSolanaZkProof as m } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
20
20
  import { solanaTransactCallRelayer as h } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
21
21
  import { ethers as g } from "ethers";
22
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.ts
22
+ //#region common/src/data-structures/Hinkal/hinkalSolanaWithdraw.ts
23
23
  var _ = async (e, t, n, r) => {
24
24
  let a = [...await s(e, t, n, r, 6)][0], o = i().toString(), { outputUtxos: l } = c(e.userKeys, a, r[0], o);
25
25
  return {
@@ -11,7 +11,7 @@ import { constructZkProof as s } from "../../functions/snarkjs/constructGeneralZ
11
11
  import { transactCallRelayer as c } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
12
12
  import { getExternalSwapAddress as l } from "../../functions/pre-transaction/getExternalSwapAddress.mjs";
13
13
  import { mergeWithFeeStructure as u } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
14
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalSwap.ts
14
+ //#region common/src/data-structures/Hinkal/hinkalSwap.ts
15
15
  var d = async (e, n, a, o) => {
16
16
  let s = [...await r(e, n, a, o)], c = [], l = t().toString();
17
17
  for (let t = 0; t < a.length; t += 1) {
@@ -16,7 +16,7 @@ import { calculateModifiedFeeStructure as m } from "../../functions/utils/fees.u
16
16
  import { constructZkProof as h } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
17
17
  import { transactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
18
18
  import { mergeWithFeeStructure as _ } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
19
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalTransfer.ts
19
+ //#region common/src/data-structures/Hinkal/hinkalTransfer.ts
20
20
  var v = async (e, t, n, i, a, o) => {
21
21
  let s = [...await l(e, t, n, i)], c = [], d = r().toString();
22
22
  for (let t = 0; t < n.length; t += 1) {
@@ -18,7 +18,7 @@ import { transactCallDirect as g } from "../../functions/web3/functionCalls/tran
18
18
  import { transactCallRelayer as _ } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
19
19
  import { transactCallDirectTron as v } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
20
20
  import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
21
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdraw.ts
21
+ //#region common/src/data-structures/Hinkal/hinkalWithdraw.ts
22
22
  var b = async (e, t, n, r) => {
23
23
  let a = [...await l(e, t, n, r)], o = [], s = i().toString();
24
24
  for (let t = 0; t < n.length; t += 1) {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/utils/amounts.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/encodeTokenWithId.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../functions/utils/tron.utils.cjs`),l=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/snarkjs/common.snarkjs.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let b=require(`ethers`);var x=6,S=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=f.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},C=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],o=a.getCurrentTimeInSeconds().toString(),{outputUtxos:s}=f.outputUtxoProcessing(e.userKeys,i,r[0],o);return{inputUtxos:i,outputUtxos:s}},w=async(t,r,i,a,o)=>{let l=e.isTronLike(r),u=[i.erc20TokenAddress],d=i.erc20TokenAddress,[f,p]=await Promise.all([m.getFeeStructure(r,d,u,s.ExternalActionId.Transact),t.getRandomRelay(r,!0)]);if(!p)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let g=c.addressToHexFormat(o),b=a-f.flatFee;if(b<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${a}, Fee: ${f.flatFee}`);let x=[-b];await y.mergeWithFeeStructure(r,u,x,f);let C={externalActionId:0n,externalAddress:g,externalActionMetadata:`0x00`},{inputUtxosArray:w,outputUtxosArray:T}=await S(t,r,u,x),{zkCallData:E,circomData:D,dimData:O,commitmentValidationData:k}=await h.constructZkProof(t.merkleTreeHinkalByChain[r],w,T,t.userKeys,C.externalActionId,C.externalAddress,C.externalActionMetadata,t.generateProofRemotely,f,p,r),A=await c.reorderZkCallData(l,E,O,D);return v.updateHinkal(r,t,D.inputNullifiers?.flat(),D.outCommitments?.flat(),D.encryptedOutputs?.flat()),{tx:await _.transactCallRelayer(r,E,O,D,k,void 0,void 0,void 0,A),amountToRecipient:b}},T=async(t,a,o,c,l,u)=>{let d=[o.erc20TokenAddress],{originalDeployer:f}=e.networkRegistry[a].contractData;if(!f)throw Error(`missing data`);let{userKeys:h,merkleTreeHinkalByChain:y}=t,x=o.erc20TokenAddress,[S,w]=await Promise.all([m.getFeeStructure(a,x,d,s.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(a,!0)]);if(!w)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let T=c-S.flatFee;if(T<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${S.flatFee}`);let E=[-T];E[0]-=S.flatFee;let{inputUtxos:D,outputUtxos:O}=await C(t,a,d,E),k=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),A={tokenNumber:d.length,nullifierAmount:D.length,outputAmount:O.length},j=p.calcEncryptedOutputs([O])[0][0],M=Array.from(b.ethers.getBytes(j)),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await g.constructSolanaZkProof(t.generateProofRemotely,y[a],h,[d[0]],[D],[O],k,S.flatFee,S.variableRate,l,w,A,[M],a),R={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]},z={proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[M],relayerFee:S.flatFee.toString(),dimensions:A};return v.updateHinkal(a,t,D.map(e=>e.getNullifier()),p.buildOutCommitments([O]).flat(),[j]),{tx:await _.solanaTransactCallRelayer({chainId:a,relayAddress:w,functionName:`transact`,args:z,accounts:R,commitmentValidationData:L}),amountToRecipient:T}},E=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?T(t,n,r,i,a,o):w(t,n,r,i,a),D=async(e,n,r)=>{let i=[],a=u.validateAndGetChainId([n]),s=o.encodeTokenWithId(a,{erc20TokenAddress:n.erc20TokenAddress,tokenId:0});await e.resetMerkleTreesIfNecessary([a]);let c=((await l.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(s)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount));for(let o=0;o<c.length;o+=x){let s=c.slice(o,o+x),{tx:l}=await E(e,a,n,t.countTotalAmountInUtxos(s),r,s.length);i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=D;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/utils/amounts.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/encodeTokenWithId.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../functions/utils/tron.utils.cjs`),l=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/snarkjs/common.snarkjs.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let b=require(`ethers`);var x=6,S=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=f.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},C=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],o=a.getCurrentTimeInSeconds().toString(),{outputUtxos:s}=f.outputUtxoProcessing(e.userKeys,i,r[0],o);return{inputUtxos:i,outputUtxos:s}},w=async(t,r,i,a,o)=>{let l=e.isTronLike(r),u=[i.erc20TokenAddress],d=i.erc20TokenAddress,[f,p]=await Promise.all([m.getFeeStructure(r,d,u,s.ExternalActionId.Transact),t.getRandomRelay(r,!0)]);if(!p)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let g=c.addressToHexFormat(o),b=a-f.flatFee;if(b<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${a}, Fee: ${f.flatFee}`);let x=[-b];await y.mergeWithFeeStructure(r,u,x,f);let C={externalActionId:0n,externalAddress:g,externalActionMetadata:`0x00`},{inputUtxosArray:w,outputUtxosArray:T}=await S(t,r,u,x),{zkCallData:E,circomData:D,dimData:O,commitmentValidationData:k}=await h.constructZkProof(t.merkleTreeHinkalByChain[r],w,T,t.userKeys,C.externalActionId,C.externalAddress,C.externalActionMetadata,t.generateProofRemotely,f,p,r),A=await c.reorderZkCallData(l,E,O,D);return v.updateHinkal(r,t,D.inputNullifiers?.flat(),D.outCommitments?.flat(),D.encryptedOutputs?.flat()),{tx:await _.transactCallRelayer(r,E,O,D,k,void 0,void 0,void 0,A),amountToRecipient:b}},T=async(t,a,o,c,l,u)=>{let d=[o.erc20TokenAddress],{originalDeployer:f}=e.networkRegistry[a].contractData;if(!f)throw Error(`missing data`);let{userKeys:h,merkleTreeHinkalByChain:y}=t,x=o.erc20TokenAddress,[S,w]=await Promise.all([m.getFeeStructure(a,x,d,s.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(a,!0)]);if(!w)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let T=c-S.flatFee;if(T<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${S.flatFee}`);let E=[-T];E[0]-=S.flatFee;let{inputUtxos:D,outputUtxos:O}=await C(t,a,d,E),k=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),A={tokenNumber:d.length,nullifierAmount:D.length,outputAmount:O.length},j=p.calcEncryptedOutputs([O])[0][0],M=Array.from(b.ethers.getBytes(j)),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await g.constructSolanaZkProof(t.generateProofRemotely,y[a],h,[d[0]],[D],[O],k,S.flatFee,S.variableRate,l,w,A,[M],a),R={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]},z={proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[M],relayerFee:S.flatFee.toString(),dimensions:A};return v.updateHinkal(a,t,D.map(e=>e.getNullifier()),p.buildOutCommitments([O]).flat(),[j]),{tx:await _.solanaTransactCallRelayer({chainId:a,relayAddress:w,functionName:`transact`,args:z,accounts:R,commitmentValidationData:L}),amountToRecipient:T}},E=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?T(t,n,r,i,a,o):w(t,n,r,i,a),D=async(e,n,r)=>{let i=[],a=u.validateAndGetChainId([n]),s=o.encodeTokenWithId(a,{erc20TokenAddress:n.erc20TokenAddress,tokenId:0});await e.resetMerkleTreesIfNecessary([a]);let c=((await l.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(s)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount));for(let o=0;o<c.length;o+=x){let s=c.slice(o,o+x),{tx:l}=await E(e,a,n,t.countTotalAmountInUtxos(s),r,s.length);i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=D;
@@ -20,7 +20,7 @@ import { solanaTransactCallRelayer as x, transactCallRelayer as S } from "../../
20
20
  import { updateHinkal as C } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
21
21
  import { mergeWithFeeStructure as w } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
22
22
  import { ethers as T } from "ethers";
23
- //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.ts
23
+ //#region common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.ts
24
24
  var E = 6, D = async (e, t, n, r) => {
25
25
  let i = [...await m(e, t, n, r, void 0, void 0, !1, !0)], a = [], o = s().toString();
26
26
  for (let t = 0; t < n.length; t += 1) {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/utils/fees.utils.cjs`),s=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`);let c=require(`ethers`);var l=async(l,u,d,f,p,m={})=>{let h=d.erc20TokenAddress,g=f.map(e=>e+o.calculateTotalFee(e,p)),_=g.reduce((e,t)=>e+t,0n),v=[h],y=[0n],b=[!0],x=c.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[g]),{hinkalWrapperAddress:S,hinkalWrapperABI:C,depositOnChainUtxosExternalActionAddress:w,depositOnChainUtxosExternalActionABI:T}=e.networkRegistry[u].contractData;if(!S||!C||!w||!T)throw Error(`contract data not set in networkRegistry`);let E=[...await i.addPaddingToUtxos(l,u,v,y,2,void 0,!0)],D=[];for(let e=0;e<E.length;e+=1){let{outputUtxos:t}=a.outputUtxoProcessing(l.userKeys,E[e],y[e]);D.push(t)}let{zkCallData:O,circomData:k,dimData:A}=await s.constructZkProof(l.merkleTreeHinkalByChain[u],E,D,l.userKeys,r.ExternalActionId.DepositOnChainUtxos,w,x,l.generateProofRemotely,n.zeroFeeStructure,t.zeroAddress,u,b,m.hookData,S);return{zkCallData:O,circomData:k,dimData:A,utxoAmounts:g,totalAmount:_,hinkalWrapperAddress:S,depositOnChainUtxosExternalActionAddress:w,hinkalWrapperABI:C,depositOnChainUtxosExternalActionABI:T,inputUtxosArray:E}};exports.prepareDepositOnChainUtxosZkProof=l;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/utils/fees.utils.cjs`),s=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`);let c=require(`ethers`);var l=async(l,u,d,f,p,m={})=>{let h=d.erc20TokenAddress,g=f.map(e=>e+o.calculateTotalFee(e,p)),_=g.reduce((e,t)=>e+t,0n),v=[h],y=[0n],b=[!0],x=c.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[g]),{hinkalWrapperAddress:S,hinkalWrapperABI:C,depositOnChainUtxosExternalActionAddress:w,depositOnChainUtxosExternalActionABI:T}=e.networkRegistry[u].contractData;if(!S||!C||!w||!T)throw Error(`contract data not set in networkRegistry`);let E=[...await i.addPaddingToUtxos(l,u,v,y,2,void 0,!0)],D=[];for(let e=0;e<E.length;e+=1){let{outputUtxos:t}=a.outputUtxoProcessing(l.userKeys,E[e],y[e]);D.push(t)}let{zkCallData:O,circomData:k,dimData:A}=await s.constructZkProof(l.merkleTreeHinkalByChain[u],E,D,l.userKeys,r.ExternalActionId.DepositOnChainUtxos,w,x,l.generateProofRemotely,n.zeroFeeStructure,t.zeroAddress,u,b,m.hookData,S);return{zkCallData:O,circomData:k,dimData:A,utxoAmounts:g,totalAmount:_,hinkalWrapperAddress:S,depositOnChainUtxosExternalActionAddress:w,hinkalWrapperABI:C,depositOnChainUtxosExternalActionABI:T,inputUtxosArray:E}};exports.prepareDepositOnChainUtxosZkProof=l;
@@ -7,7 +7,7 @@ import { outputUtxoProcessing as a } from "../../functions/pre-transaction/outpu
7
7
  import { calculateTotalFee as o } from "../../functions/utils/fees.utils.mjs";
8
8
  import { constructZkProof as s } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
9
9
  import { ethers as c } from "ethers";
10
- //#region libs/shared/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.ts
10
+ //#region common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.ts
11
11
  var l = async (l, u, d, f, p, m = {}) => {
12
12
  let h = d.erc20TokenAddress, g = f.map((e) => e + o(e, p)), _ = g.reduce((e, t) => e + t, 0n), v = [h], y = [0n], b = [!0], x = c.AbiCoder.defaultAbiCoder().encode(["uint256[]"], [g]), { hinkalWrapperAddress: S, hinkalWrapperABI: C, depositOnChainUtxosExternalActionAddress: w, depositOnChainUtxosExternalActionABI: T } = e[u].contractData;
13
13
  if (!S || !C || !w || !T) throw Error("contract data not set in networkRegistry");
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/map.utils.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/utils/getContractAddress.cjs`),c=require(`../private-balances/BalanceChangedHandler.cjs`),l=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),u=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const d=require(`../snapshot/SnapshotFetcherService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let g=require(`@solana/web3.js`),_=require(`async-mutex`);var v=new Map,y=e=>i.getOrCreateMapValue(v,e,()=>new _.Mutex),b=async(i,_)=>{let v=(_??i.getSupportedChains()).map(_=>y(_).runExclusive(async()=>{i.commitmentsSnapshotServiceByChain[_]?.intervalClear(),i.nullifierSnapshotServiceByChain[_]?.intervalClear();let{maxPageSize:v,fetchRpcUrl:y,contractData:b}=e.networkRegistry[_],x;if(e.isSolanaLike(_)){let e=b.hinkalAddress;if(!y||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);x=new u.ClientSolanaBlockchainEventEmitter(_,o.createCustomSolanaConnection(y),new g.PublicKey(e),0,a.getChainBalanceFetchingMutex(_),v);let t=b.hinkalIdl;t&&x.setIdl(t);let n=new d.SnapshotFetcherService(_,e);i.commitmentsSnapshotServiceByChain[_]=new f.ClientSolanaCommitmentsSnapshotService(x,n),i.nullifierSnapshotServiceByChain[_]=new p.ClientSolanaNullifierSnapshotService(x,n)}else{let e=i.getContractWithFetcherByChainId(_,t.ContractType.HinkalContract),n=i.getContractWithFetcherByChainId(_,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(_);x=new l.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,_,e,0,o,v,n);let c=new d.SnapshotFetcherService(_,s.getContractAddress(e));i.commitmentsSnapshotServiceByChain[_]=new m.ClientCommitmentsSnapshotService(x,c),i.nullifierSnapshotServiceByChain[_]=new h.ClientNullifierSnapshotService(x,c)}let S=i.commitmentsSnapshotServiceByChain[_],C=i.nullifierSnapshotServiceByChain[_];if(!S||!C)throw Error(`Missing snapshot service for chain ${_}`);await Promise.all([S.init(),C.init()]),await x.init(),i.merkleTreeHinkalByChain[_]=S.merkleTree,i.nullifiersByChain[_]=C.nullifiers,i.encryptedOutputsByChain[_]=S.encryptedOutputs,x.onEventsProcessed=e=>{e>0&&c.balanceChangedHandler.dispatch({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:_})}}));await Promise.allSettled(v)};exports.resetMerkleTrees=b;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/map.utils.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/utils/getContractAddress.cjs`),c=require(`../private-balances/BalanceChangedHandler.cjs`),l=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),u=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const d=require(`../snapshot/SnapshotFetcherService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let g=require(`@solana/web3.js`),_=require(`async-mutex`);var v=new Map,y=e=>i.getOrCreateMapValue(v,e,()=>new _.Mutex),b=async(i,_)=>{let v=(_??i.getSupportedChains()).map(_=>y(_).runExclusive(async()=>{i.commitmentsSnapshotServiceByChain[_]?.intervalClear(),i.nullifierSnapshotServiceByChain[_]?.intervalClear();let{maxPageSize:v,fetchRpcUrl:y,contractData:b}=e.networkRegistry[_],x;if(e.isSolanaLike(_)){let e=b.hinkalAddress;if(!y||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);x=new u.ClientSolanaBlockchainEventEmitter(_,o.createCustomSolanaConnection(y),new g.PublicKey(e),0,a.getChainBalanceFetchingMutex(_),v);let t=b.hinkalIdl;t&&x.setIdl(t);let n=new d.SnapshotFetcherService(_,e);i.commitmentsSnapshotServiceByChain[_]=new f.ClientSolanaCommitmentsSnapshotService(x,n),i.nullifierSnapshotServiceByChain[_]=new p.ClientSolanaNullifierSnapshotService(x,n)}else{let e=i.getContractWithFetcherByChainId(_,t.ContractType.HinkalContract),n=i.getContractWithFetcherByChainId(_,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(_);x=new l.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,_,e,0,o,v,n);let c=new d.SnapshotFetcherService(_,s.getContractAddress(e));i.commitmentsSnapshotServiceByChain[_]=new m.ClientCommitmentsSnapshotService(x,c),i.nullifierSnapshotServiceByChain[_]=new h.ClientNullifierSnapshotService(x,c)}let S=i.commitmentsSnapshotServiceByChain[_],C=i.nullifierSnapshotServiceByChain[_];if(!S||!C)throw Error(`Missing snapshot service for chain ${_}`);await Promise.all([S.init(),C.init()]),await x.init(),i.merkleTreeHinkalByChain[_]=S.merkleTree,i.nullifiersByChain[_]=C.nullifiers,i.encryptedOutputsByChain[_]=S.encryptedOutputs,x.onEventsProcessed=e=>{e>0&&c.balanceChangedHandler.dispatch({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:_})}}));await Promise.allSettled(v)};exports.resetMerkleTrees=b;