@hinkal/common 0.3.6 → 0.3.7

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 (342) hide show
  1. package/README.md +1 -0
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +6 -5
  4. package/common/src/API/API.mjs +75 -74
  5. package/common/src/API/admin-calls.cjs +1 -1
  6. package/common/src/API/admin-calls.d.ts +1 -1
  7. package/common/src/API/admin-calls.mjs +3 -1
  8. package/common/src/API/callLifiAPI.d.ts +1 -0
  9. package/common/src/API/callNearIntentsAPI.cjs +1 -1
  10. package/common/src/API/callNearIntentsAPI.mjs +2 -2
  11. package/common/src/API/callRelayer.cjs +1 -1
  12. package/common/src/API/callRelayer.d.ts +32 -1
  13. package/common/src/API/callRelayer.mjs +7 -1
  14. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  15. package/common/src/API/enclaveUtxoCalls.d.ts +16 -16
  16. package/common/src/API/enclaveUtxoCalls.mjs +3 -3
  17. package/common/src/API/evm-rpc-fallback.cjs +1 -0
  18. package/common/src/API/evm-rpc-fallback.d.ts +1 -0
  19. package/common/src/API/evm-rpc-fallback.mjs +17 -0
  20. package/common/src/API/evm-token-assets.cjs +1 -0
  21. package/common/src/API/evm-token-assets.d.ts +8 -0
  22. package/common/src/API/evm-token-assets.mjs +20 -0
  23. package/common/src/API/index.cjs +1 -1
  24. package/common/src/API/index.d.ts +1 -0
  25. package/common/src/API/index.mjs +1 -0
  26. package/common/src/API/route-config.cjs +1 -0
  27. package/common/src/API/route-config.d.ts +1 -0
  28. package/common/src/API/route-config.mjs +26 -0
  29. package/common/src/API/solana-nft-assets.cjs +1 -0
  30. package/common/src/API/solana-nft-assets.d.ts +1 -0
  31. package/common/src/API/solana-nft-assets.mjs +11 -0
  32. package/common/src/API/solana-priority-fee.cjs +1 -0
  33. package/common/src/API/solana-priority-fee.d.ts +3 -0
  34. package/common/src/API/solana-priority-fee.mjs +20 -0
  35. package/common/src/API/solana-rpc-fallback.cjs +1 -0
  36. package/common/src/API/solana-rpc-fallback.d.ts +1 -0
  37. package/common/src/API/solana-rpc-fallback.mjs +13 -0
  38. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  39. package/common/src/API/temporaryWalletCalls.d.ts +0 -4
  40. package/common/src/API/temporaryWalletCalls.mjs +1 -5
  41. package/common/src/constants/balance.constants.d.ts +2 -0
  42. package/common/src/constants/bridging.constants.d.ts +1 -0
  43. package/common/src/constants/chains.constants.cjs +1 -1
  44. package/common/src/constants/chains.constants.d.ts +0 -3
  45. package/common/src/constants/chains.constants.mjs +33 -54
  46. package/common/src/constants/coingecko.constants.cjs +1 -1
  47. package/common/src/constants/coingecko.constants.mjs +1 -1
  48. package/common/src/constants/contracts.constants.cjs +1 -1
  49. package/common/src/constants/contracts.constants.d.ts +1 -0
  50. package/common/src/constants/contracts.constants.mjs +19 -15
  51. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +3 -2
  53. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +3 -2
  55. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  56. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +3 -2
  57. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  58. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +3 -2
  59. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  60. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +3 -2
  61. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  62. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +7 -6
  63. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  64. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +3 -2
  65. package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
  66. package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +3 -2
  67. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  68. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +18 -1
  69. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  70. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  71. package/common/src/constants/okx.constants.d.ts +1 -0
  72. package/common/src/constants/protocol.constants.cjs +2 -2
  73. package/common/src/constants/protocol.constants.d.ts +4 -1
  74. package/common/src/constants/protocol.constants.mjs +3 -8
  75. package/common/src/constants/server.constants.cjs +1 -1
  76. package/common/src/constants/server.constants.d.ts +7 -2
  77. package/common/src/constants/server.constants.mjs +8 -3
  78. package/common/src/constants/vite.constants.cjs +1 -1
  79. package/common/src/constants/vite.constants.mjs +5 -23
  80. package/common/src/data-structures/ApprovalDBs/EventsPublicApprovalsDB.d.ts +1 -2
  81. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  82. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -4
  83. package/common/src/data-structures/Hinkal/Hinkal.mjs +39 -39
  84. package/common/src/data-structures/Hinkal/IHinkal.d.ts +4 -4
  85. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  86. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +11 -9
  87. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.d.ts +2 -1
  89. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +81 -90
  90. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +3 -5
  93. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +100 -104
  95. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +86 -93
  98. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +20 -7
  100. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +51 -39
  101. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +2 -2
  103. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +15 -13
  105. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  106. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +3 -5
  108. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +1 -1
  110. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
  112. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +88 -121
  113. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  114. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +1 -3
  115. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +24 -2
  117. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +77 -58
  118. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  119. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -3
  120. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +5 -0
  121. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs +1 -0
  122. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.d.ts +8 -0
  123. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs +31 -0
  124. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
  125. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +44 -42
  126. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  127. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -1
  128. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +29 -24
  129. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
  131. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +27 -24
  132. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  133. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +73 -56
  134. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/hinkalWithdraw.d.ts +1 -1
  136. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +21 -18
  137. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  138. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +19 -18
  139. package/common/src/data-structures/Hinkal/index.d.ts +2 -0
  140. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  141. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +2 -2
  142. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  143. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +0 -1
  144. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +55 -119
  145. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  146. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +11 -61
  147. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  148. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -0
  149. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +41 -27
  150. package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
  151. package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +1 -0
  152. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +3 -0
  153. package/common/src/error-handling/get-error.message.cjs +1 -1
  154. package/common/src/error-handling/get-error.message.mjs +1 -4
  155. package/common/src/functions/index.cjs +1 -1
  156. package/common/src/functions/index.mjs +9 -6
  157. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
  158. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +2 -3
  159. package/common/src/functions/pre-transaction/index.cjs +1 -1
  160. package/common/src/functions/pre-transaction/index.d.ts +1 -0
  161. package/common/src/functions/pre-transaction/index.mjs +1 -1
  162. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  163. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +2 -2
  164. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +2 -2
  165. package/common/src/functions/pre-transaction/sendV0Transaction.d.ts +5 -2
  166. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +4 -4
  167. package/common/src/functions/pre-transaction/solanaTransfer.utils.cjs +1 -1
  168. package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +16 -15
  169. package/common/src/functions/pre-transaction/speculativeUtxo.cjs +1 -0
  170. package/common/src/functions/pre-transaction/speculativeUtxo.d.ts +9 -0
  171. package/common/src/functions/pre-transaction/speculativeUtxo.mjs +19 -0
  172. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  173. package/common/src/functions/private-wallet/emporium.helpers.d.ts +9 -2
  174. package/common/src/functions/private-wallet/emporium.helpers.mjs +93 -74
  175. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  176. package/common/src/functions/snarkjs/common.snarkjs.d.ts +1 -0
  177. package/common/src/functions/snarkjs/common.snarkjs.mjs +36 -32
  178. package/common/src/functions/snarkjs/constant.cjs +1 -1
  179. package/common/src/functions/snarkjs/constant.d.ts +48 -0
  180. package/common/src/functions/snarkjs/constant.mjs +48 -0
  181. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  182. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  183. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +75 -71
  184. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  185. package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  186. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +27 -27
  187. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  188. package/common/src/functions/snarkjs/constructTxEnclave.mjs +8 -3
  189. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  190. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +10 -21
  191. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  192. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -2
  193. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +3 -3
  194. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  195. package/common/src/functions/snarkjs/signedMessageHash.d.ts +4 -0
  196. package/common/src/functions/snarkjs/signedMessageHash.mjs +27 -18
  197. package/common/src/functions/utils/addresses.cjs +1 -1
  198. package/common/src/functions/utils/addresses.mjs +19 -12
  199. package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -0
  200. package/common/src/functions/utils/bridge-arrival.utils.d.ts +1 -0
  201. package/common/src/functions/utils/bridge-arrival.utils.mjs +15 -0
  202. package/common/src/functions/utils/bridge-claimable-utxo.utils.cjs +1 -0
  203. package/common/src/functions/utils/bridge-claimable-utxo.utils.d.ts +19 -0
  204. package/common/src/functions/utils/bridge-claimable-utxo.utils.mjs +24 -0
  205. package/common/src/functions/utils/bridge-claimable.utils.d.ts +2 -3
  206. package/common/src/functions/utils/create-provider.cjs +1 -1
  207. package/common/src/functions/utils/create-provider.d.ts +9 -2
  208. package/common/src/functions/utils/create-provider.mjs +42 -9
  209. package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
  210. package/common/src/functions/utils/deposit-claimable.utils.d.ts +2 -5
  211. package/common/src/functions/utils/deposit-claimable.utils.mjs +1 -6
  212. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  213. package/common/src/functions/utils/enclave-utxo-storage.d.ts +4 -8
  214. package/common/src/functions/utils/enclave-utxo-storage.mjs +13 -2
  215. package/common/src/functions/utils/fees.utils.cjs +1 -1
  216. package/common/src/functions/utils/fees.utils.d.ts +2 -0
  217. package/common/src/functions/utils/fees.utils.mjs +15 -6
  218. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  219. package/common/src/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  220. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +5 -51
  221. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  222. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +7 -23
  223. package/common/src/functions/utils/index.cjs +1 -1
  224. package/common/src/functions/utils/index.d.ts +6 -0
  225. package/common/src/functions/utils/index.mjs +10 -4
  226. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  227. package/common/src/functions/utils/nearIntents.utils.mjs +27 -13
  228. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  229. package/common/src/functions/utils/publicBalance.utils.d.ts +0 -1
  230. package/common/src/functions/utils/publicBalance.utils.mjs +35 -22
  231. package/common/src/functions/utils/recovery-balance.utils.cjs +1 -0
  232. package/common/src/functions/utils/recovery-balance.utils.d.ts +2 -0
  233. package/common/src/functions/utils/recovery-balance.utils.mjs +1 -0
  234. package/common/src/functions/utils/solana-program.utils.cjs +1 -0
  235. package/common/src/functions/utils/solana-program.utils.d.ts +3 -0
  236. package/common/src/functions/utils/solana-program.utils.mjs +17 -0
  237. package/common/src/functions/utils/solana-sponsored.utils.cjs +1 -0
  238. package/common/src/functions/utils/solana-sponsored.utils.d.ts +22 -0
  239. package/common/src/functions/utils/solana-sponsored.utils.mjs +30 -0
  240. package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
  241. package/common/src/functions/utils/solanaMint.utils.d.ts +7 -0
  242. package/common/src/functions/utils/solanaMint.utils.mjs +18 -8
  243. package/common/src/functions/utils/sponsored-shield.utils.cjs +1 -0
  244. package/common/src/functions/utils/sponsored-shield.utils.d.ts +3 -0
  245. package/common/src/functions/utils/sponsored-shield.utils.mjs +3 -0
  246. package/common/src/functions/utils/temp-wallet.utils.cjs +1 -1
  247. package/common/src/functions/utils/temp-wallet.utils.d.ts +5 -4
  248. package/common/src/functions/utils/temp-wallet.utils.mjs +35 -14
  249. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
  250. package/common/src/functions/utils/transfer-claimable.utils.d.ts +1 -2
  251. package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -5
  252. package/common/src/functions/utils/tron.utils.cjs +1 -1
  253. package/common/src/functions/utils/tron.utils.d.ts +2 -2
  254. package/common/src/functions/utils/tron.utils.mjs +19 -18
  255. package/common/src/functions/utils/tronSimulation.utils.cjs +1 -1
  256. package/common/src/functions/utils/tronSimulation.utils.mjs +4 -6
  257. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  258. package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -1
  259. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  260. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +15 -25
  261. package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -1
  262. package/common/src/functions/web3/functionCalls/submitProof.mjs +6 -6
  263. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  264. package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +2 -2
  265. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +8 -6
  266. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  267. package/common/src/functions/web3/getContractMetadata.mjs +1 -1
  268. package/common/src/functions/web3/getPublicAddressBalance.cjs +1 -1
  269. package/common/src/functions/web3/getPublicAddressBalance.d.ts +1 -2
  270. package/common/src/functions/web3/getPublicAddressBalance.mjs +6 -5
  271. package/common/src/functions/web3/index.cjs +1 -1
  272. package/common/src/functions/web3/index.d.ts +1 -1
  273. package/common/src/functions/web3/index.mjs +1 -1
  274. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  275. package/common/src/providers/SolanaProviderAdapter.mjs +1 -2
  276. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  277. package/common/src/providers/WagmiProviderAdapter.mjs +35 -38
  278. package/common/src/types/bridging-tx.types.d.ts +1 -4
  279. package/common/src/types/cache.types.cjs +1 -1
  280. package/common/src/types/cache.types.d.ts +0 -1
  281. package/common/src/types/cache.types.mjs +1 -1
  282. package/common/src/types/ethereum-network.types.cjs +1 -1
  283. package/common/src/types/ethereum-network.types.d.ts +9 -7
  284. package/common/src/types/ethereum-network.types.mjs +1 -1
  285. package/common/src/types/external-action.types.cjs +1 -1
  286. package/common/src/types/external-action.types.d.ts +1 -0
  287. package/common/src/types/external-action.types.mjs +1 -1
  288. package/common/src/types/index.cjs +1 -1
  289. package/common/src/types/index.d.ts +1 -1
  290. package/common/src/types/index.mjs +1 -1
  291. package/common/src/types/pay-activities.types.d.ts +3 -1
  292. package/common/src/types/remote-tx-build.types.d.ts +23 -0
  293. package/common/src/types/scheduled-transactions.types.d.ts +4 -12
  294. package/common/src/types/solana.types.cjs +1 -0
  295. package/common/src/types/solana.types.d.ts +5 -0
  296. package/common/src/types/solana.types.mjs +6 -0
  297. package/common/src/types/temp-wallet.types.d.ts +9 -0
  298. package/common/src/types/token.types.d.ts +1 -0
  299. package/common/src/webworker/logError-RKYfeI6h.js +2 -0
  300. package/common/src/webworker/package.json +20 -20
  301. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  302. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  303. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  304. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  305. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  306. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  307. package/common/src/webworker/viteWorkerURL.constant.cjs +28 -1
  308. package/common/src/webworker/viteWorkerURL.constant.mjs +27 -13
  309. package/common/src/webworker/workerProxy-COB7g4Qc.js +1 -0
  310. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  311. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  312. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  313. package/package.json +20 -20
  314. package/services/Hinkal.cjs +1 -1
  315. package/services/Hinkal.d.ts +2 -2
  316. package/services/Hinkal.mjs +3 -3
  317. package/types/IHinkal.d.ts +2 -2
  318. package/assets/snarkjsWorkerLauncher-SrStwJvX.js +0 -1
  319. package/assets/snarkjsWorkerLogic-DtIjisbE.js +0 -132
  320. package/assets/utxoWorkerLauncher-CIBeBAML.js +0 -1
  321. package/assets/utxoWorkerLogic-C8R4GSaf.js +0 -199
  322. package/assets/zkProofWorkerLauncher-DfwteloJ.js +0 -1
  323. package/assets/zkProofWorkerLogic-CY9y6rOV.js +0 -199
  324. package/common/src/API/deposit-and-withdraw-status-calls.cjs +0 -1
  325. package/common/src/API/deposit-and-withdraw-status-calls.d.ts +0 -21
  326. package/common/src/API/deposit-and-withdraw-status-calls.mjs +0 -13
  327. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +0 -1
  328. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +0 -8
  329. package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +0 -30
  330. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +0 -1
  331. package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +0 -31
  332. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +0 -1
  333. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +0 -29
  334. package/common/src/functions/utils/enum.utils.cjs +0 -1
  335. package/common/src/functions/utils/enum.utils.mjs +0 -12
  336. package/common/src/functions/web3/getSolanaPriorityFee.cjs +0 -1
  337. package/common/src/functions/web3/getSolanaPriorityFee.d.ts +0 -3
  338. package/common/src/functions/web3/getSolanaPriorityFee.mjs +0 -26
  339. package/common/src/types/scheduled-transactions.types.cjs +0 -1
  340. package/common/src/types/scheduled-transactions.types.mjs +0 -6
  341. package/common/src/webworker/logError-Dex6ch32.js +0 -2
  342. package/common/src/webworker/workerProxy-BuJUMCQ4.js +0 -1
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),a=require(`../utils/time.utils.cjs`);require(`../../types/circom-data.types.cjs`);const ee=require(`../../types/external-action.types.cjs`),te=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),l=require(`../../data-structures/AccountActions/AccountActions.cjs`),ne=require(`./generateMainAndCommitmentZkProof.cjs`),u=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),d=require(`../private-wallet/emporium.helpers.cjs`),f=require(`./fetchTronInsertionSiblings.cjs`);var p=async(p,m,h,g,_,v,y,b,x=t.zeroAddress,S=e.chainIds.localhost,C=m.map(()=>!1),w=void 0,T,E,D=`0x`,O=!1)=>{let k=e.isTronLike(S),A=o.getZkProofVerifierName(m,h,k),j=o.calcAmountChanges(m,h),M=m.map(e=>e[0].erc20TokenAddress),N=o.calcEncryptedOutputs(h),P=g.getShieldedPrivateKey(),{pubSpendingBJJPoint:F}=g.getSpendingKeyPair(),I=o.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),P),P,g.getSpendingKeyPair().pubSpendingBJJPoint),L=o.calcOnchainEncryptedOutput(i.UserKeys.getEncryptionKeyPair(P).publicKey,I),{inCommitmentSiblings:re,inCommitmentSiblingSides:ie,rootHashHinkal:R,rootHashHinkalIndex:ae,inNullifiers:z}=await u.getDataFromWorkers(S,p,m.map(e=>e.map(e=>e.getConstructableParams()))),B=o.buildOutCommitments(h),V=r.randomBigInt(31),H=n.poseidonFunction(V),U=BigInt(h.length>0?h[0][0].timeStamp:a.getCurrentTimeInSeconds()),W={rootHashHinkal:R,spendingPublicKey:F,nullifyingPrivateKey:P,erc20TokenAddresses:M,amountChanges:j,inAmounts:m.map(e=>e.map(e=>e.amount.toString())),inH0Ax:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:m.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:m.map(e=>e.map(e=>e.timeStamp)),inNullifiers:z,inCommitmentSiblings:re,inCommitmentSiblingSides:ie,outAmounts:h.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:U,outPublicKeys:h.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:B,calldataHash:0n,messageSeed:V},G;if(k){let e=await f.fetchTronInsertionSiblings(S,B);W.insertionSiblings=e.insertionSiblings,W.insertionSiblingSides=e.insertionSiblingSides,G=BigInt(e.insertedLeafIndex),W.insertedLeafIndex=e.insertedLeafIndex}else W.H0Ax=I.H0x,W.H0Ay=I.H0y;let K=o.calcPublicSignalCount(A,W.erc20TokenAddresses,W.amountChanges,W.inNullifiers,W.outCommitments),q=o.calcAmountChanges(m,h,!0),J=o.getSlippageValues(q);te.Logger.log({publicSignalCount:K});let Y=Array.isArray(y)?y:[y],oe=e.getOnchainChainId(S),se=E?l.AccountActions.getSignerAddressFromPrivateKey(oe,E):void 0,X;X=_===ee.ExternalActionId.Emporium?await d.encodeEmporiumMetadata(S,v??t.zeroAddress,E,Y,H,se):_===0n?`0x`:Y[0]??`0x`,W.calldataHash=o.createCallDataHash(K,x,v,_,H,X,N,L,w,J,C,b,T,D,S,O);let Z=k?s.computeSignedMessageHashTron({rootHashHinkal:R,erc20TokenAddresses:M,amountChanges:j,outTimeStamp:U,inNullifiers:z,outCommitments:B,calldataHash:W.calldataHash,message:H}):s.computeSignedMessageHashEvm({rootHashHinkal:R,erc20TokenAddresses:M,amountChanges:j,outTimeStamp:U,inNullifiers:z,outCommitments:B,calldataHash:W.calldataHash,message:H,outH1Ax:I.H1x,outH1Ay:I.H1y,H0Ax:W.H0Ax,H0Ay:I.H0y}),{R8:Q,S:ce}=g.signEddsa(Z);W.eddsaSignature=[Q[0],Q[1],ce],W.signedMessageHash=Z;let $=A.startsWith(`mainEVMCircuitMin0`),le={outTimeStamp:U,calldataHash:W.calldataHash,messageSeed:V},{zkCallData:ue,publicSignals:de,commitmentValidationData:fe}=await ne.generateMainAndCommitmentZkProof(S,g,M,m,A,$?le:W);return{zkCallData:ue,circomData:c.generateCircomData(B,z,R,ae,q,M,h,N,L,K,_,v,H,X,x,W.calldataHash,I,C,w,$?Number(U):void 0,J,b,T,k,de,D,G,O),dimData:{tokenNumber:m.length,nullifierAmount:m.length>0?m[0].length:0,outputAmount:h.length>0?h[0].length:0},encryptedOutputs:N,commitmentValidationData:fe}};exports.constructZkProof=p;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),ee=require(`../utils/time.utils.cjs`);require(`../../types/circom-data.types.cjs`);const te=require(`../../types/external-action.types.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),ne=require(`../../data-structures/AccountActions/AccountActions.cjs`),re=require(`./generateMainAndCommitmentZkProof.cjs`),ie=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),l=require(`../private-wallet/emporium.helpers.cjs`),u=require(`./fetchTronInsertionSiblings.cjs`);var d=async(d,f,p,m,h,g,_,v,y=t.zeroAddress,b=e.chainIds.localhost,x=f.map(()=>!1),S=void 0,C,w,T=`0x`,E=!1,ae=!1,oe)=>{let{hinkalAddress:D}=e.networkRegistry[b].contractData,O=e.isTronLike(b),k=o.getZkProofVerifierName(f,p,O),A=o.calcAmountChanges(f,p),j=f.map(e=>e[0].erc20TokenAddress),M=o.calcEncryptedOutputs(p),N=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:se}=m.getSpendingKeyPair(),P=o.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,m.getSpendingKeyPair().pubSpendingBJJPoint),F=o.calcOnchainEncryptedOutput(i.UserKeys.getEncryptionKeyPair(N).publicKey,P),{inCommitmentSiblings:ce,inCommitmentSiblingSides:le,rootHashHinkal:I,rootHashHinkalIndex:ue,inNullifiers:L}=await ie.getDataFromWorkers(b,d,f.map(e=>e.map(e=>e.getConstructableParams())),ae),R=o.buildOutCommitments(p),z=r.randomBigInt(31),B=n.poseidonFunction(z),V=BigInt(p.length>0?p[0][0].timeStamp:ee.getCurrentTimeInSeconds()),H={rootHashHinkal:I,spendingPublicKey:se,nullifyingPrivateKey:N,erc20TokenAddresses:j,amountChanges:A,inAmounts:f.map(e=>e.map(e=>e.amount.toString())),inH0Ax:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:f.map(e=>e.map(e=>e.timeStamp)),inNullifiers:L,inCommitmentSiblings:ce,inCommitmentSiblingSides:le,outAmounts:p.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:V,outPublicKeys:p.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:R,calldataHash:0n,messageSeed:z},U;if(O){let e=await u.fetchTronInsertionSiblings(b,R);H.insertionSiblings=e.insertionSiblings,H.insertionSiblingSides=e.insertionSiblingSides,U=BigInt(e.insertedLeafIndex),H.insertedLeafIndex=e.insertedLeafIndex}else H.H0Ax=P.H0x,H.H0Ay=P.H0y;let W=o.calcPublicSignalCount(k,H.erc20TokenAddresses,H.amountChanges,H.inNullifiers,H.outCommitments),G=o.calcAmountChanges(f,p,!0),K=oe??o.getSlippageValues(G);a.Logger.log({publicSignalCount:W});let q=Array.isArray(_)?_:[_],J=e.getOnchainChainId(b),de=w?ne.AccountActions.getSignerAddressFromPrivateKey(J,w):void 0,Y;Y=h===te.ExternalActionId.Emporium?await l.encodeEmporiumMetadata(b,g??t.zeroAddress,w,q,B,de,v.flatFee):h===0n?`0x`:q[0]??`0x`,H.calldataHash=o.createCallDataHash(W,y,g,h,B,Y,M,F,S,K,x,v,C,T,b,E);let X=O?s.computeSignedMessageHashTron({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,chainId:BigInt(J),verifyingContract:D}):s.computeSignedMessageHashEvm({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,outH1Ax:P.H1x,outH1Ay:P.H1y,H0Ax:H.H0Ax,H0Ay:P.H0y,chainId:BigInt(J),verifyingContract:D}),{R8:Z,S:Q}=m.signEddsa(X);H.eddsaSignature=[Z[0],Z[1],Q],H.signedMessageHash=X;let $=k.startsWith(`mainEVMCircuitMin0`),fe={outTimeStamp:V,calldataHash:H.calldataHash,messageSeed:z},{zkCallData:pe,publicSignals:me,commitmentValidationData:he}=await re.generateMainAndCommitmentZkProof(b,m,j,f,k,$?fe:H);return{zkCallData:pe,circomData:c.generateCircomData(R,L,I,ue,G,j,p,M,F,W,h,g,B,Y,y,H.calldataHash,P,x,S,$?Number(V):void 0,K,v,C,O,me,T,U,E),dimData:{tokenNumber:f.length,nullifierAmount:f.length>0?f[0].length:0,outputAmount:p.length>0?p[0].length:0},encryptedOutputs:M,commitmentValidationData:he}};exports.constructZkProof=d;
@@ -4,7 +4,7 @@ import { Utxo } from '../../data-structures/utxo/Utxo';
4
4
  import { CircomDataType, DimDataType, HookDataType } from '../../types/circom-data.types';
5
5
  import { ExternalActionId } from '../../types/external-action.types';
6
6
  import { FeeStructure } from '../../types/hinkal.types';
7
- export declare const constructZkProof: <T = CircomDataType>(merkleTree: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string | string[], feeStructure: FeeStructure, relay?: string, chainId?: number, onChainCreation?: boolean[], hookData?: HookDataType | undefined, originalSender?: string, subAccountPrivateKey?: string, extraData?: string, createBlockedUtxos?: boolean) => Promise<{
7
+ export declare const constructZkProof: <T = CircomDataType>(merkleTree: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string | string[], feeStructure: FeeStructure, relay?: string, chainId?: number, onChainCreation?: boolean[], hookData?: HookDataType | undefined, originalSender?: string, subAccountPrivateKey?: string, extraData?: string, createBlockedUtxos?: boolean, isSpeculativeTree?: boolean, slippageValuesOverride?: bigint[]) => Promise<{
8
8
  zkCallData: import('../..').NewZkCallDataType;
9
9
  circomData: T;
10
10
  dimData: DimDataType;
@@ -1,94 +1,98 @@
1
- import { chainIds as e, getOnchainChainId as t, isTronLike as n } from "../../constants/chains.constants.mjs";
2
- import { zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
- import { poseidonFunction as ee } from "../../crypto/poseidon.mjs";
4
- import { randomBigInt as i } from "../web3/etherFunctions.mjs";
5
- import { UserKeys as a } from "../../data-structures/crypto-keys/keys.mjs";
6
- import { getCurrentTimeInSeconds as te } from "../utils/time.utils.mjs";
1
+ import { chainIds as e, getOnchainChainId as t, isTronLike as ee, networkRegistry as te } from "../../constants/chains.constants.mjs";
2
+ import { zeroAddress as n } from "../../constants/protocol.constants.mjs";
3
+ import { poseidonFunction as ne } from "../../crypto/poseidon.mjs";
4
+ import { randomBigInt as r } from "../web3/etherFunctions.mjs";
5
+ import { UserKeys as i } from "../../data-structures/crypto-keys/keys.mjs";
6
+ import { getCurrentTimeInSeconds as re } from "../utils/time.utils.mjs";
7
7
  import "../../types/circom-data.types.mjs";
8
- import { ExternalActionId as ne } from "../../types/external-action.types.mjs";
9
- import { Logger as re } from "../../error-handling/logger.mjs";
10
- import { buildOutCommitments as ie, calcAmountChanges as o, calcEncryptedOutputs as ae, calcOnchainEncryptedOutput as oe, calcPublicSignalCount as se, calcStealthAddressStructure as s, createCallDataHash as c, getSlippageValues as l, getUtxoCircuitH0Coords as u, getZkProofVerifierName as ce } from "./common.snarkjs.mjs";
11
- import { computeSignedMessageHashEvm as le, computeSignedMessageHashTron as ue } from "./signedMessageHash.mjs";
12
- import { generateCircomData as de } from "./generateCircomData.mjs";
13
- import { AccountActions as fe } from "../../data-structures/AccountActions/AccountActions.mjs";
14
- import { generateMainAndCommitmentZkProof as pe } from "./generateMainAndCommitmentZkProof.mjs";
15
- import { getDataFromWorkers as me } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
16
- import { encodeEmporiumMetadata as he } from "../private-wallet/emporium.helpers.mjs";
17
- import { fetchTronInsertionSiblings as d } from "./fetchTronInsertionSiblings.mjs";
8
+ import { ExternalActionId as ie } from "../../types/external-action.types.mjs";
9
+ import { Logger as ae } from "../../error-handling/logger.mjs";
10
+ import { buildOutCommitments as oe, calcAmountChanges as a, calcEncryptedOutputs as se, calcOnchainEncryptedOutput as o, calcPublicSignalCount as s, calcStealthAddressStructure as c, createCallDataHash as l, getSlippageValues as ce, getUtxoCircuitH0Coords as u, getZkProofVerifierName as le } from "./common.snarkjs.mjs";
11
+ import { computeSignedMessageHashEvm as ue, computeSignedMessageHashTron as de } from "./signedMessageHash.mjs";
12
+ import { generateCircomData as fe } from "./generateCircomData.mjs";
13
+ import { AccountActions as pe } from "../../data-structures/AccountActions/AccountActions.mjs";
14
+ import { generateMainAndCommitmentZkProof as me } from "./generateMainAndCommitmentZkProof.mjs";
15
+ import { getDataFromWorkers as he } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
16
+ import { encodeEmporiumMetadata as ge } from "../private-wallet/emporium.helpers.mjs";
17
+ import { fetchTronInsertionSiblings as _e } from "./fetchTronInsertionSiblings.mjs";
18
18
  //#region libs/shared/common/src/functions/snarkjs/constructGeneralZkProof.ts
19
- var f = async (f, p, m, h, g, _, v, y, b = r, x = e.localhost, S = p.map(() => !1), C = void 0, w, T, E = "0x", D = !1) => {
20
- let O = n(x), k = ce(p, m, O), A = o(p, m), j = p.map((e) => e[0].erc20TokenAddress), M = ae(m), N = h.getShieldedPrivateKey(), { pubSpendingBJJPoint: P } = h.getSpendingKeyPair(), F = s(a.findCorrectRandomization(i(31), N), N, h.getSpendingKeyPair().pubSpendingBJJPoint), I = oe(a.getEncryptionKeyPair(N).publicKey, F), { inCommitmentSiblings: L, inCommitmentSiblingSides: ge, rootHashHinkal: R, rootHashHinkalIndex: _e, inNullifiers: z } = await me(x, f, p.map((e) => e.map((e) => e.getConstructableParams()))), B = ie(m), V = i(31), H = ee(V), U = BigInt(m.length > 0 ? m[0][0].timeStamp : te()), W = {
21
- rootHashHinkal: R,
19
+ var d = async (d, f, p, m, h, g, _, v, y = n, b = e.localhost, x = f.map(() => !1), S = void 0, C, w, T = "0x", E = !1, ve = !1, ye) => {
20
+ let { hinkalAddress: D } = te[b].contractData, O = ee(b), k = le(f, p, O), A = a(f, p), j = f.map((e) => e[0].erc20TokenAddress), M = se(p), N = m.getShieldedPrivateKey(), { pubSpendingBJJPoint: P } = m.getSpendingKeyPair(), F = c(i.findCorrectRandomization(r(31), N), N, m.getSpendingKeyPair().pubSpendingBJJPoint), I = o(i.getEncryptionKeyPair(N).publicKey, F), { inCommitmentSiblings: be, inCommitmentSiblingSides: xe, rootHashHinkal: L, rootHashHinkalIndex: Se, inNullifiers: R } = await he(b, d, f.map((e) => e.map((e) => e.getConstructableParams())), ve), z = oe(p), B = r(31), V = ne(B), H = BigInt(p.length > 0 ? p[0][0].timeStamp : re()), U = {
21
+ rootHashHinkal: L,
22
22
  spendingPublicKey: P,
23
23
  nullifyingPrivateKey: N,
24
24
  erc20TokenAddresses: j,
25
25
  amountChanges: A,
26
- inAmounts: p.map((e) => e.map((e) => e.amount.toString())),
27
- inH0Ax: p.map((e) => e.map((e) => u(e)[0].toString())),
28
- inH0Ay: p.map((e) => e.map((e) => u(e)[1].toString())),
29
- inTimeStamps: p.map((e) => e.map((e) => e.timeStamp)),
30
- inNullifiers: z,
31
- inCommitmentSiblings: L,
32
- inCommitmentSiblingSides: ge,
33
- outAmounts: m.map((e) => e.map((e) => e.amount.toString())),
34
- outTimeStamp: U,
35
- outPublicKeys: m.map((e) => e.map((e) => e.getStealthAddress())),
36
- outCommitments: B,
26
+ inAmounts: f.map((e) => e.map((e) => e.amount.toString())),
27
+ inH0Ax: f.map((e) => e.map((e) => u(e)[0].toString())),
28
+ inH0Ay: f.map((e) => e.map((e) => u(e)[1].toString())),
29
+ inTimeStamps: f.map((e) => e.map((e) => e.timeStamp)),
30
+ inNullifiers: R,
31
+ inCommitmentSiblings: be,
32
+ inCommitmentSiblingSides: xe,
33
+ outAmounts: p.map((e) => e.map((e) => e.amount.toString())),
34
+ outTimeStamp: H,
35
+ outPublicKeys: p.map((e) => e.map((e) => e.getStealthAddress())),
36
+ outCommitments: z,
37
37
  calldataHash: 0n,
38
- messageSeed: V
39
- }, G;
38
+ messageSeed: B
39
+ }, W;
40
40
  if (O) {
41
- let e = await d(x, B);
42
- W.insertionSiblings = e.insertionSiblings, W.insertionSiblingSides = e.insertionSiblingSides, G = BigInt(e.insertedLeafIndex), W.insertedLeafIndex = e.insertedLeafIndex;
43
- } else W.H0Ax = F.H0x, W.H0Ay = F.H0y;
44
- let K = se(k, W.erc20TokenAddresses, W.amountChanges, W.inNullifiers, W.outCommitments), q = o(p, m, !0), J = l(q);
45
- re.log({ publicSignalCount: K });
46
- let Y = Array.isArray(v) ? v : [v], ve = t(x), ye = T ? fe.getSignerAddressFromPrivateKey(ve, T) : void 0, X;
47
- X = g === ne.Emporium ? await he(x, _ ?? r, T, Y, H, ye) : g === 0n ? "0x" : Y[0] ?? "0x", W.calldataHash = c(K, b, _, g, H, X, M, I, C, J, S, y, w, E, x, D);
48
- let Z = O ? ue({
49
- rootHashHinkal: R,
41
+ let e = await _e(b, z);
42
+ U.insertionSiblings = e.insertionSiblings, U.insertionSiblingSides = e.insertionSiblingSides, W = BigInt(e.insertedLeafIndex), U.insertedLeafIndex = e.insertedLeafIndex;
43
+ } else U.H0Ax = F.H0x, U.H0Ay = F.H0y;
44
+ let G = s(k, U.erc20TokenAddresses, U.amountChanges, U.inNullifiers, U.outCommitments), K = a(f, p, !0), q = ye ?? ce(K);
45
+ ae.log({ publicSignalCount: G });
46
+ let J = Array.isArray(_) ? _ : [_], Y = t(b), Ce = w ? pe.getSignerAddressFromPrivateKey(Y, w) : void 0, X;
47
+ X = h === ie.Emporium ? await ge(b, g ?? n, w, J, V, Ce, v.flatFee) : h === 0n ? "0x" : J[0] ?? "0x", U.calldataHash = l(G, y, g, h, V, X, M, I, S, q, x, v, C, T, b, E);
48
+ let Z = O ? de({
49
+ rootHashHinkal: L,
50
50
  erc20TokenAddresses: j,
51
51
  amountChanges: A,
52
- outTimeStamp: U,
53
- inNullifiers: z,
54
- outCommitments: B,
55
- calldataHash: W.calldataHash,
56
- message: H
57
- }) : le({
58
- rootHashHinkal: R,
52
+ outTimeStamp: H,
53
+ inNullifiers: R,
54
+ outCommitments: z,
55
+ calldataHash: U.calldataHash,
56
+ message: V,
57
+ chainId: BigInt(Y),
58
+ verifyingContract: D
59
+ }) : ue({
60
+ rootHashHinkal: L,
59
61
  erc20TokenAddresses: j,
60
62
  amountChanges: A,
61
- outTimeStamp: U,
62
- inNullifiers: z,
63
- outCommitments: B,
64
- calldataHash: W.calldataHash,
65
- message: H,
63
+ outTimeStamp: H,
64
+ inNullifiers: R,
65
+ outCommitments: z,
66
+ calldataHash: U.calldataHash,
67
+ message: V,
66
68
  outH1Ax: F.H1x,
67
69
  outH1Ay: F.H1y,
68
- H0Ax: W.H0Ax,
69
- H0Ay: F.H0y
70
- }), { R8: Q, S: be } = h.signEddsa(Z);
71
- W.eddsaSignature = [
70
+ H0Ax: U.H0Ax,
71
+ H0Ay: F.H0y,
72
+ chainId: BigInt(Y),
73
+ verifyingContract: D
74
+ }), { R8: Q, S: we } = m.signEddsa(Z);
75
+ U.eddsaSignature = [
72
76
  Q[0],
73
77
  Q[1],
74
- be
75
- ], W.signedMessageHash = Z;
76
- let $ = k.startsWith("mainEVMCircuitMin0"), xe = {
77
- outTimeStamp: U,
78
- calldataHash: W.calldataHash,
79
- messageSeed: V
80
- }, { zkCallData: Se, publicSignals: Ce, commitmentValidationData: we } = await pe(x, h, j, p, k, $ ? xe : W);
78
+ we
79
+ ], U.signedMessageHash = Z;
80
+ let $ = k.startsWith("mainEVMCircuitMin0"), Te = {
81
+ outTimeStamp: H,
82
+ calldataHash: U.calldataHash,
83
+ messageSeed: B
84
+ }, { zkCallData: Ee, publicSignals: De, commitmentValidationData: Oe } = await me(b, m, j, f, k, $ ? Te : U);
81
85
  return {
82
- zkCallData: Se,
83
- circomData: de(B, z, R, _e, q, j, m, M, I, K, g, _, H, X, b, W.calldataHash, F, S, C, $ ? Number(U) : void 0, J, y, w, O, Ce, E, G, D),
86
+ zkCallData: Ee,
87
+ circomData: fe(z, R, L, Se, K, j, p, M, I, G, h, g, V, X, y, U.calldataHash, F, x, S, $ ? Number(H) : void 0, q, v, C, O, De, T, W, E),
84
88
  dimData: {
85
- tokenNumber: p.length,
86
- nullifierAmount: p.length > 0 ? p[0].length : 0,
87
- outputAmount: m.length > 0 ? m[0].length : 0
89
+ tokenNumber: f.length,
90
+ nullifierAmount: f.length > 0 ? f[0].length : 0,
91
+ outputAmount: p.length > 0 ? p[0].length : 0
88
92
  },
89
93
  encryptedOutputs: M,
90
- commitmentValidationData: we
94
+ commitmentValidationData: Oe
91
95
  };
92
96
  };
93
97
  //#endregion
94
- export { f as constructZkProof };
98
+ export { d as constructZkProof };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`);require(`../pre-transaction/index.cjs`);const c=require(`./generateMainAndCommitmentZkProof.cjs`),l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);const u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n)=>{let O=new f.PublicKey(b),k=new f.PublicKey(x),A=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:j}=m.getSpendingKeyPair(),M=a.calcStealthAddressStructure(r.UserKeys.findCorrectRandomization(n.randomBigInt(31),A),A,m.getSpendingKeyPair().pubSpendingBJJPoint),N=C.some(Boolean)?a.calcOnchainEncryptedOutput(r.UserKeys.getEncryptionKeyPair(A).publicKey,M):`0x`,P=a.calcEncryptedOutputs(_).flatMap((e,t)=>C[t]?e.map(()=>[]):e.map(e=>[...d.ethers.getBytes(e)])),F=n.randomBigInt(31),I=t.poseidonFunction(F),L=t.poseidonFunction(D),R=h.map(e=>i.formatMintAddress(e)),z=R.map(e=>e.mintAccountPart1),B=R.map(e=>e.mintAccountPart2),V=u.getSolanaCalldataHash(S,O,k,P,N,v,y,T,E),H=`${S.tokenNumber}x${S.nullifierAmount}x${S.outputAmount}`,U=a.calcAmountChanges(g,_),{inCommitmentSiblings:W,inCommitmentSiblingSides:G,rootHashHinkal:K,rootHashHinkalIndex:q,inNullifiers:J}=await l.getDataFromWorkers(w,p,g.map(e=>e.map(e=>e.getConstructableParams()))),Y=a.buildOutCommitments(_),X=M.H0x,Z=M.H0y,Q=s.computeSignedMessageHashSolana({rootHashHinkal:K,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:J,outCommitments:Y,calldataHash:V,message:I,swapperAccountAdditionalSeed:L,outH1Ay:M.H1y,H0Ax:X,H0Ay:Z}),{R8:$,S:ee}=m.signEddsa(Q),te={rootHashHinkal:K,spendingPublicKey:j,eddsaSignature:[$[0],$[1],ee],signedMessageHash:Q,nullifyingPrivateKey:A,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:J,inCommitmentSiblings:W,inCommitmentSiblingSides:G,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:Y,calldataHash:V,messageSeed:F,swapperAccountSalt:D,H0Ax:X,H0Ay:Z},{zkCallData:ne,publicSignals:re,commitmentValidationData:ie}=await c.generateMainAndCommitmentZkProof(w,m,h,g,`mainSolanaCircuit${H}`,te),[ae,oe,se]=ne;return{proofAArr:ae.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:oe.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:se.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:re.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ie,rootHashHinkalIndex:q,encryptedOutputs:P,onChainEncryptedOutput:N}};exports.constructSolanaZkProof=p;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`);require(`../pre-transaction/index.cjs`);const c=require(`./generateMainAndCommitmentZkProof.cjs`),l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);const u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n,O=!1)=>{let k=new f.PublicKey(b),A=new f.PublicKey(x),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:ee}=m.getSpendingKeyPair(),M=a.calcStealthAddressStructure(r.UserKeys.findCorrectRandomization(n.randomBigInt(31),j),j,m.getSpendingKeyPair().pubSpendingBJJPoint),N=C.some(Boolean)?a.calcOnchainEncryptedOutput(r.UserKeys.getEncryptionKeyPair(j).publicKey,M):`0x`,P=a.calcEncryptedOutputs(_).flatMap((e,t)=>C[t]?e.map(()=>[]):e.map(e=>[...d.ethers.getBytes(e)])),F=n.randomBigInt(31),I=t.poseidonFunction(F),L=t.poseidonFunction(D),R=h.map(e=>i.formatMintAddress(e)),z=R.map(e=>e.mintAccountPart1),B=R.map(e=>e.mintAccountPart2),V=u.getSolanaCalldataHash(S,k,A,P,N,v,y,T,E),H=`${S.tokenNumber}x${S.nullifierAmount}x${S.outputAmount}`,U=a.calcAmountChanges(g,_),{inCommitmentSiblings:W,inCommitmentSiblingSides:G,rootHashHinkal:K,rootHashHinkalIndex:q,inNullifiers:J}=await l.getDataFromWorkers(w,p,g.map(e=>e.map(e=>e.getConstructableParams())),O),Y=a.buildOutCommitments(_),X=M.H0x,Z=M.H0y,Q=s.computeSignedMessageHashSolana({rootHashHinkal:K,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:J,outCommitments:Y,calldataHash:V,message:I,swapperAccountAdditionalSeed:L,outH1Ay:M.H1y,H0Ax:X,H0Ay:Z}),{R8:$,S:te}=m.signEddsa(Q),ne={rootHashHinkal:K,spendingPublicKey:ee,eddsaSignature:[$[0],$[1],te],signedMessageHash:Q,nullifyingPrivateKey:j,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:J,inCommitmentSiblings:W,inCommitmentSiblingSides:G,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:Y,calldataHash:V,messageSeed:F,swapperAccountSalt:D,H0Ax:X,H0Ay:Z},{zkCallData:re,publicSignals:ie,commitmentValidationData:ae}=await c.generateMainAndCommitmentZkProof(w,m,h,g,`mainSolanaCircuit${H}`,ne),[oe,se,ce]=re;return{proofAArr:oe.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:se.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ce.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:ie.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ae,rootHashHinkalIndex:q,encryptedOutputs:P,onChainEncryptedOutput:N}};exports.constructSolanaZkProof=p;
@@ -4,7 +4,7 @@ import { AccountMeta } from '@solana/web3.js';
4
4
  import { DimDataType } from '../../types/circom-data.types';
5
5
  import { MerkleTree } from '../../data-structures/merkle-tree';
6
6
  import { UserKeys } from '../../data-structures/crypto-keys/keys';
7
- export declare const constructSolanaZkProof: (merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, onChainCreation?: boolean[], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint) => Promise<{
7
+ export declare const constructSolanaZkProof: (merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, onChainCreation?: boolean[], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint, isSpeculativeTree?: boolean) => Promise<{
8
8
  proofAArr: number[];
9
9
  proofBArr: number[];
10
10
  proofCArr: number[];
@@ -7,20 +7,20 @@ import { buildOutCommitments as a, calcAmountChanges as o, calcEncryptedOutputs
7
7
  import { encodeToByte32Array as d } from "../pre-transaction/solana.mjs";
8
8
  import { computeSignedMessageHashSolana as f } from "./signedMessageHash.mjs";
9
9
  import "../pre-transaction/index.mjs";
10
- import { generateMainAndCommitmentZkProof as p } from "./generateMainAndCommitmentZkProof.mjs";
11
- import { getDataFromWorkers as ee } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
10
+ import { generateMainAndCommitmentZkProof as ee } from "./generateMainAndCommitmentZkProof.mjs";
11
+ import { getDataFromWorkers as te } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
12
12
  import "../web3/index.mjs";
13
- import { getSolanaCalldataHash as te } from "../pre-transaction/getSolanaCalldataHash.mjs";
14
- import { ethers as m } from "ethers";
15
- import { PublicKey as h } from "@solana/web3.js";
13
+ import { getSolanaCalldataHash as ne } from "../pre-transaction/getSolanaCalldataHash.mjs";
14
+ import { ethers as p } from "ethers";
15
+ import { PublicKey as m } from "@solana/web3.js";
16
16
  //#region libs/shared/common/src/functions/snarkjs/constructSolanaZkProof.ts
17
- var g = async (g, _, v, y, b, x, S, C, w, T, E = [], D = e.solanaLocalnet, ne = [], re = [], O = 0n) => {
18
- let ie = new h(C), k = new h(w), A = _.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = _.getSpendingKeyPair(), M = l(r.findCorrectRandomization(n(31), A), A, _.getSpendingKeyPair().pubSpendingBJJPoint), N = E.some(Boolean) ? c(r.getEncryptionKeyPair(A).publicKey, M) : "0x", P = s(b).flatMap((e, t) => E[t] ? e.map(() => []) : e.map((e) => [...m.getBytes(e)])), F = n(31), I = t(F), L = t(O), R = v.map((e) => i(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = te(T, ie, k, P, N, x, S, ne, re), H = `${T.tokenNumber}x${T.nullifierAmount}x${T.outputAmount}`, U = o(y, b), { inCommitmentSiblings: W, inCommitmentSiblingSides: ae, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await ee(D, g, y.map((e) => e.map((e) => e.getConstructableParams()))), J = a(b), Y = M.H0x, X = M.H0y, Z = f({
17
+ var h = async (h, g, _, v, y, b, x, S, C, w, T = [], E = e.solanaLocalnet, re = [], ie = [], D = 0n, ae = !1) => {
18
+ let O = new m(S), k = new m(C), A = g.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = g.getSpendingKeyPair(), M = l(r.findCorrectRandomization(n(31), A), A, g.getSpendingKeyPair().pubSpendingBJJPoint), N = T.some(Boolean) ? c(r.getEncryptionKeyPair(A).publicKey, M) : "0x", P = s(y).flatMap((e, t) => T[t] ? e.map(() => []) : e.map((e) => [...p.getBytes(e)])), F = n(31), I = t(F), L = t(D), R = _.map((e) => i(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = ne(w, O, k, P, N, b, x, re, ie), H = `${w.tokenNumber}x${w.nullifierAmount}x${w.outputAmount}`, U = o(v, y), { inCommitmentSiblings: oe, inCommitmentSiblingSides: W, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await te(E, h, v.map((e) => e.map((e) => e.getConstructableParams())), ae), J = a(y), Y = M.H0x, X = M.H0y, Z = f({
19
19
  rootHashHinkal: G,
20
20
  mintAccountPart1: z,
21
21
  mintAccountPart2: B,
22
22
  amountChanges: U,
23
- outTimeStamp: BigInt(b[0][0].timeStamp),
23
+ outTimeStamp: BigInt(y[0][0].timeStamp),
24
24
  inNullifiers: q,
25
25
  outCommitments: J,
26
26
  calldataHash: V,
@@ -29,46 +29,46 @@ var g = async (g, _, v, y, b, x, S, C, w, T, E = [], D = e.solanaLocalnet, ne =
29
29
  outH1Ay: M.H1y,
30
30
  H0Ax: Y,
31
31
  H0Ay: X
32
- }), { R8: Q, S: oe } = _.signEddsa(Z), se = {
32
+ }), { R8: Q, S: se } = g.signEddsa(Z), ce = {
33
33
  rootHashHinkal: G,
34
34
  spendingPublicKey: j,
35
35
  eddsaSignature: [
36
36
  Q[0],
37
37
  Q[1],
38
- oe
38
+ se
39
39
  ],
40
40
  signedMessageHash: Z,
41
41
  nullifyingPrivateKey: A,
42
42
  mintAccountPart1: z,
43
43
  mintAccountPart2: B,
44
44
  amountChanges: U,
45
- inAmounts: y.map((e) => e.map((e) => e.amount.toString())),
46
- inH0Ax: y.map((e) => e.map((e) => u(e)[0].toString())),
47
- inH0Ay: y.map((e) => e.map((e) => u(e)[1].toString())),
48
- inTimeStamps: y.map((e) => e.map((e) => e.timeStamp)),
45
+ inAmounts: v.map((e) => e.map((e) => e.amount.toString())),
46
+ inH0Ax: v.map((e) => e.map((e) => u(e)[0].toString())),
47
+ inH0Ay: v.map((e) => e.map((e) => u(e)[1].toString())),
48
+ inTimeStamps: v.map((e) => e.map((e) => e.timeStamp)),
49
49
  inNullifiers: q,
50
- inCommitmentSiblings: W,
51
- inCommitmentSiblingSides: ae,
52
- outAmounts: b.map((e) => e.map((e) => e.amount.toString())),
53
- outTimeStamp: BigInt(b[0][0].timeStamp),
54
- outPublicKeys: b.map((e) => e.map((e) => e.getStealthAddress())),
50
+ inCommitmentSiblings: oe,
51
+ inCommitmentSiblingSides: W,
52
+ outAmounts: y.map((e) => e.map((e) => e.amount.toString())),
53
+ outTimeStamp: BigInt(y[0][0].timeStamp),
54
+ outPublicKeys: y.map((e) => e.map((e) => e.getStealthAddress())),
55
55
  outCommitments: J,
56
56
  calldataHash: V,
57
57
  messageSeed: F,
58
- swapperAccountSalt: O,
58
+ swapperAccountSalt: D,
59
59
  H0Ax: Y,
60
60
  H0Ay: X
61
- }, { zkCallData: ce, publicSignals: le, commitmentValidationData: $ } = await p(D, _, v, y, `mainSolanaCircuit${H}`, se), [ue, de, fe] = ce;
61
+ }, { zkCallData: le, publicSignals: $, commitmentValidationData: ue } = await ee(E, g, _, v, `mainSolanaCircuit${H}`, ce), [de, fe, pe] = le;
62
62
  return {
63
- proofAArr: ue.map(BigInt).map(d).flat(),
64
- proofBArr: de.flat().map(BigInt).map(d).flat(),
65
- proofCArr: fe.map(BigInt).map(d).flat(),
66
- publicInputsArr: le.map(BigInt).map(d),
67
- commitmentValidationData: $,
63
+ proofAArr: de.map(BigInt).map(d).flat(),
64
+ proofBArr: fe.flat().map(BigInt).map(d).flat(),
65
+ proofCArr: pe.map(BigInt).map(d).flat(),
66
+ publicInputsArr: $.map(BigInt).map(d),
67
+ commitmentValidationData: ue,
68
68
  rootHashHinkalIndex: K,
69
69
  encryptedOutputs: P,
70
70
  onChainEncryptedOutput: N
71
71
  };
72
72
  };
73
73
  //#endregion
74
- export { g as constructSolanaZkProof };
74
+ export { h as constructSolanaZkProof };
@@ -1 +1 @@
1
- const e=require(`./constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./verifySignedEnclaveResponse.cjs`);var i=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),a=async(i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await n.makeEnclaveHandshakeAndEncryptInput(a),c=await t.httpClient.post(`${e.ENCLAVE_URL}${i}`,{key:o,inputs:s});return r.verifySignedEnclaveResponse(c.data,c.signature)},o=e=>{if(Array.isArray(e))return`[${e.map(o).join(`,`)}]`;if(e&&typeof e==`object`){let t=e;return`{${Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${o(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},s=(e,t)=>{if(o({chainId:String(e.chainId),erc20Addresses:e.erc20Addresses,amountChanges:e.amountChanges,externalAddress:e.externalAddress,...e.originalSender?{originalSender:e.originalSender}:{},relay:e.relay??``,feeStructure:e.feeStructure?{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()}:null,externalActionId:e.externalActionId??``,externalActionMetadata:e.externalActionMetadata??``,onChainCreation:e.onChainCreation??null,recipientAddress:e.recipientAddress??null,recipientAmounts:e.recipientAmounts??null,selfOutputAmounts:e.selfOutputAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,createBlockedUtxos:e.createBlockedUtxos??!1,...e.forceEmptyUtxos?{forceEmptyUtxos:!0}:{},messageSeed:e.messageSeed??``,skipLock:e.skipLock??!1})!==o(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},c=(e,t)=>{let n={chainId:String(e.chainId),mintAddresses:e.mintAddresses,amountChanges:e.amountChanges,relayAddress:e.relayAddress,recipient:e.recipient,signer:e.signer??e.relayAddress,functionName:e.functionName??`transact`,accounts:e.accounts,onChainCreation:e.onChainCreation??null,relayerFee:e.relayerFee??`0`,variableRate:e.variableRate??`0`,hinkalInstructions:e.hinkalInstructions??null,remainingAccounts:e.remainingAccounts??null,swapperAccountSalt:e.swapperAccountSalt??`0`,recipientAddress:e.recipientAddress??``,recipientAmounts:e.recipientAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,messageSeed:e.messageSeed??``};if(e.recipientAmount&&(n.recipientAmount=e.recipientAmount),e.displayRecipient&&(n.displayRecipient=e.displayRecipient),o(n)!==o(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},l=e=>({R8:e.R8.map(String),S:e.S.toString()}),u=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),d=(e,t)=>{if(o({chainId:String(e.chainId),erc20Address:e.erc20Address,externalAddress:e.externalAddress,relay:e.relay,feeStructure:{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()},hashedEthereumAddress:e.hashedEthereumAddress})!==o(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},f=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),recipientAmounts:t.recipientAmounts?.map(e=>e.map(String)),selfOutputAmounts:t.selfOutputAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},i=await a(`/prepare-tx`,r);return s(r,i.request),i},p=async(e,t)=>{let{nullifierCount:n}=await a(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},m=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),relayerFee:t.relayerFee?.toString(),variableRate:t.variableRate?.toString(),swapperAccountSalt:t.swapperAccountSalt?.toString(),recipientAmounts:t.recipientAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},i=await a(`/prepare-solana-tx`,r);return c(r,i.request),i},h=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:i}=await a(`/prepare-stuck-withdraw`,n);return d(n,i),r},g=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,u(t)])),{jobs:r}=await a(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},_=async(e,t)=>a(`/finalize-tx`,{jobId:e,eddsaSignature:l(t)}),v=async(e,t)=>a(`/finalize-solana-tx`,{jobId:e,eddsaSignature:l(t)}),y=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},b=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=i,exports.estimateNullifiersEnclaveCall=p,exports.finalizeSolanaTxEnclaveCall=v,exports.finalizeSolanaTxEnclaveCallRelay=b,exports.finalizeTxEnclaveCall=_,exports.finalizeTxEnclaveCallRelay=y,exports.prepareSolanaStuckWithdrawEnclaveCall=g,exports.prepareSolanaTxEnclaveCall=m,exports.prepareStuckWithdrawEnclaveCall=h,exports.prepareTxEnclaveCall=f;
1
+ const e=require(`./constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./verifySignedEnclaveResponse.cjs`);var i=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),a=async(i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await n.makeEnclaveHandshakeAndEncryptInput(a),c=await t.httpClient.post(`${e.ENCLAVE_URL}${i}`,{key:o,inputs:s});return r.verifySignedEnclaveResponse(c.data,c.signature)},o=e=>{if(Array.isArray(e))return`[${e.map(o).join(`,`)}]`;if(e&&typeof e==`object`){let t=e;return`{${Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${o(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},s=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,erc20Addresses:e.erc20Addresses,amountChanges:e.amountChanges,externalAddress:e.externalAddress,...e.originalSender?{originalSender:e.originalSender}:{},relay:e.relay??``,feeStructure:e.feeStructure?{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()}:null,externalActionId:e.externalActionId??``,externalActionMetadata:e.externalActionMetadata??``,onChainCreation:e.onChainCreation??null,recipientAddress:e.recipientAddress??null,recipientAmounts:e.recipientAmounts??null,selfOutputAmounts:e.selfOutputAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,createBlockedUtxos:e.createBlockedUtxos??!1,...e.forceEmptyUtxos?{forceEmptyUtxos:!0}:{},messageSeed:e.messageSeed??``,skipLock:e.skipLock??!1,...e.speculative?{speculative:e.speculative}:{},slippageValues:e.slippageValues??null})!==o(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},c=(e,t)=>{let n={chainId:String(e.chainId),mintAddresses:e.mintAddresses,amountChanges:e.amountChanges,relayAddress:e.relayAddress,recipient:e.recipient,signer:e.signer??e.relayAddress,functionName:e.functionName??`transact`,accounts:e.accounts,onChainCreation:e.onChainCreation??null,relayerFee:e.relayerFee??`0`,variableRate:e.variableRate??`0`,hinkalInstructions:e.hinkalInstructions??null,remainingAccounts:e.remainingAccounts??null,swapperAccountSalt:e.swapperAccountSalt??`0`,recipientAddress:e.recipientAddress??``,recipientAmounts:e.recipientAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,messageSeed:e.messageSeed??``};if(e.recipientAmount&&(n.recipientAmount=e.recipientAmount),e.displayRecipient&&(n.displayRecipient=e.displayRecipient),e.speculative&&(n.speculative=e.speculative),o(n)!==o(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},l=e=>({R8:e.R8.map(String),S:e.S.toString()}),u=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),d=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,erc20Address:e.erc20Address,externalAddress:e.externalAddress,relay:e.relay,feeStructure:{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()},hashedEthereumAddress:e.hashedEthereumAddress})!==o(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},f=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),recipientAmounts:t.recipientAmounts?.map(e=>e.map(String)),selfOutputAmounts:t.selfOutputAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String),slippageValues:t.slippageValues?.map(String)},i=await a(`/prepare-tx`,r);return s(r,i.request),i},p=async(e,t)=>{let{nullifierCount:n}=await a(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},m=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),relayerFee:t.relayerFee?.toString(),variableRate:t.variableRate?.toString(),swapperAccountSalt:t.swapperAccountSalt?.toString(),recipientAmounts:t.recipientAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},i=await a(`/prepare-solana-tx`,r);return c(r,i.request),i},h=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:i}=await a(`/prepare-stuck-withdraw`,n);return d(n,i),r},g=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,u(t)])),{jobs:r}=await a(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},_=async(e,t)=>a(`/finalize-tx`,{jobId:e,eddsaSignature:l(t)}),v=async(e,t)=>a(`/finalize-solana-tx`,{jobId:e,eddsaSignature:l(t)}),y=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},b=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=i,exports.estimateNullifiersEnclaveCall=p,exports.finalizeSolanaTxEnclaveCall=v,exports.finalizeSolanaTxEnclaveCallRelay=b,exports.finalizeTxEnclaveCall=_,exports.finalizeTxEnclaveCallRelay=y,exports.prepareSolanaStuckWithdrawEnclaveCall=g,exports.prepareSolanaTxEnclaveCall=m,exports.prepareStuckWithdrawEnclaveCall=h,exports.prepareTxEnclaveCall=f;
@@ -20,6 +20,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
20
20
  }, s = (e, t) => {
21
21
  if (o({
22
22
  chainId: String(e.chainId),
23
+ hinkalAddress: e.hinkalAddress ?? "",
23
24
  erc20Addresses: e.erc20Addresses,
24
25
  amountChanges: e.amountChanges,
25
26
  externalAddress: e.externalAddress,
@@ -41,7 +42,9 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
41
42
  createBlockedUtxos: e.createBlockedUtxos ?? !1,
42
43
  ...e.forceEmptyUtxos ? { forceEmptyUtxos: !0 } : {},
43
44
  messageSeed: e.messageSeed ?? "",
44
- skipLock: e.skipLock ?? !1
45
+ skipLock: e.skipLock ?? !1,
46
+ ...e.speculative ? { speculative: e.speculative } : {},
47
+ slippageValues: e.slippageValues ?? null
45
48
  }) !== o(t)) throw Error("Enclave prepare-tx response does not match the request sent - refusing to sign");
46
49
  }, c = (e, t) => {
47
50
  let n = {
@@ -65,7 +68,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
65
68
  useBlockedUtxos: e.useBlockedUtxos ?? !1,
66
69
  messageSeed: e.messageSeed ?? ""
67
70
  };
68
- if (e.recipientAmount && (n.recipientAmount = e.recipientAmount), e.displayRecipient && (n.displayRecipient = e.displayRecipient), o(n) !== o(t)) throw Error("Enclave prepare-solana-tx response does not match the request sent - refusing to sign");
71
+ if (e.recipientAmount && (n.recipientAmount = e.recipientAmount), e.displayRecipient && (n.displayRecipient = e.displayRecipient), e.speculative && (n.speculative = e.speculative), o(n) !== o(t)) throw Error("Enclave prepare-solana-tx response does not match the request sent - refusing to sign");
69
72
  }, l = (e) => ({
70
73
  R8: e.R8.map(String),
71
74
  S: e.S.toString()
@@ -76,6 +79,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
76
79
  }), d = (e, t) => {
77
80
  if (o({
78
81
  chainId: String(e.chainId),
82
+ hinkalAddress: e.hinkalAddress ?? "",
79
83
  erc20Address: e.erc20Address,
80
84
  externalAddress: e.externalAddress,
81
85
  relay: e.relay,
@@ -94,7 +98,8 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
94
98
  selfOutputAmounts: t.selfOutputAmounts?.map(String),
95
99
  messageSeed: t.messageSeed?.toString(),
96
100
  nullifyingKey: n.getShieldedPrivateKey(),
97
- spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
101
+ spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String),
102
+ slippageValues: t.slippageValues?.map(String)
98
103
  }, i = await a("/prepare-tx", r);
99
104
  return s(r, i.request), i;
100
105
  }, p = async (e, t) => {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../pre-transaction/solana.cjs`),r=require(`../utils/create-provider.cjs`),i=require(`../web3/getContractMetadata.cjs`),a=require(`../web3/fetchSolanaMerkleTreeRootHash.cjs`);let o=require(`@solana/web3.js`),s=require(`@coral-xyz/anchor`);var c=()=>{let e=o.Keypair.generate();return{publicKey:e.publicKey,payer:e,signTransaction:async e=>e,signAllTransactions:async e=>e}},l=async e=>{let n=i.getContractWithFetcherByChainId(e,t.ContractType.HinkalContract);return{hinkalRootHash:await n.getRootHash(),hinkalRootHashIndex:BigInt(await n.m_index())-1n}},u=async t=>{let{contractData:i,fetchRpcUrl:l}=e.networkRegistry[t],{hinkalIdl:u,hinkalAddress:d,originalDeployer:f}=i;if(!u||!d||!f||!l)throw Error(`Missing Solana configuration for chain ${t}`);return{hinkalRootHash:await a.fetchSolanaMerkleTreeRootHash(new s.Program(u,new s.AnchorProvider(r.createCustomSolanaConnection(l),c(),{preflightCommitment:`confirmed`,commitment:`confirmed`})),n.getMerkleAccountPublicKey(new o.PublicKey(d),new o.PublicKey(f))),hinkalRootHashIndex:0n}},d=async t=>e.isSolanaLike(t)?u(t):l(t);exports.fetchOnChainRootHashes=d;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../pre-transaction/solana.cjs`),r=require(`../utils/create-provider.cjs`),i=require(`../web3/getContractMetadata.cjs`),a=require(`../utils/solana-program.utils.cjs`),o=require(`../web3/fetchSolanaMerkleTreeRootHash.cjs`);let s=require(`@solana/web3.js`);var c=async e=>{let n=i.getContractWithFetcherByChainId(e,t.ContractType.HinkalContract);return{hinkalRootHash:await n.getRootHash(),hinkalRootHashIndex:BigInt(await n.m_index())-1n}},l=async t=>{let{contractData:i,rpcUrl:c}=e.networkRegistry[t],{hinkalIdl:l,hinkalAddress:u,originalDeployer:d}=i;if(!l||!u||!d)throw Error(`Missing Solana configuration for chain ${t}`);return{hinkalRootHash:await o.fetchSolanaMerkleTreeRootHash(a.createReadOnlySolanaProgram(r.createCustomSolanaConnection(c),l),n.getMerkleAccountPublicKey(new s.PublicKey(u),new s.PublicKey(d))),hinkalRootHashIndex:0n}},u=async t=>e.isSolanaLike(t)?l(t):c(t);exports.fetchOnChainRootHashes=u;
@@ -3,34 +3,23 @@ import { ContractType as n } from "../../types/ethereum-network.types.mjs";
3
3
  import { getMerkleAccountPublicKey as r } from "../pre-transaction/solana.mjs";
4
4
  import { createCustomSolanaConnection as i } from "../utils/create-provider.mjs";
5
5
  import { getContractWithFetcherByChainId as a } from "../web3/getContractMetadata.mjs";
6
- import { fetchSolanaMerkleTreeRootHash as o } from "../web3/fetchSolanaMerkleTreeRootHash.mjs";
7
- import { Keypair as s, PublicKey as c } from "@solana/web3.js";
8
- import { AnchorProvider as l, Program as u } from "@coral-xyz/anchor";
6
+ import { createReadOnlySolanaProgram as o } from "../utils/solana-program.utils.mjs";
7
+ import { fetchSolanaMerkleTreeRootHash as s } from "../web3/fetchSolanaMerkleTreeRootHash.mjs";
8
+ import { PublicKey as c } from "@solana/web3.js";
9
9
  //#region libs/shared/common/src/functions/snarkjs/fetchOnChainRootHashes.ts
10
- var d = () => {
11
- let e = s.generate();
12
- return {
13
- publicKey: e.publicKey,
14
- payer: e,
15
- signTransaction: async (e) => e,
16
- signAllTransactions: async (e) => e
17
- };
18
- }, f = async (e) => {
10
+ var l = async (e) => {
19
11
  let t = a(e, n.HinkalContract);
20
12
  return {
21
13
  hinkalRootHash: await t.getRootHash(),
22
14
  hinkalRootHashIndex: BigInt(await t.m_index()) - 1n
23
15
  };
24
- }, p = async (e) => {
25
- let { contractData: n, fetchRpcUrl: a } = t[e], { hinkalIdl: s, hinkalAddress: f, originalDeployer: p } = n;
26
- if (!s || !f || !p || !a) throw Error(`Missing Solana configuration for chain ${e}`);
16
+ }, u = async (e) => {
17
+ let { contractData: n, rpcUrl: a } = t[e], { hinkalIdl: l, hinkalAddress: u, originalDeployer: d } = n;
18
+ if (!l || !u || !d) throw Error(`Missing Solana configuration for chain ${e}`);
27
19
  return {
28
- hinkalRootHash: await o(new u(s, new l(i(a), d(), {
29
- preflightCommitment: "confirmed",
30
- commitment: "confirmed"
31
- })), r(new c(f), new c(p))),
20
+ hinkalRootHash: await s(o(i(a), l), r(new c(u), new c(d))),
32
21
  hinkalRootHashIndex: 0n
33
22
  };
34
- }, m = async (t) => e(t) ? p(t) : f(t);
23
+ }, d = async (t) => e(t) ? u(t) : l(t);
35
24
  //#endregion
36
- export { m as fetchOnChainRootHashes };
25
+ export { d as fetchOnChainRootHashes };
@@ -1 +1 @@
1
- const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s=t.getIndex()-1n,c;return c=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,rootHashHinkal:r,rootHashHinkalIndex:s}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal),rootHashHinkalIndex:n.toBigInt(r.rootHashHinkalIndex)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r)=>await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t,rootHashHinkalIndex:s.getIndex()-1n}}let{hinkalRootHash:i,hinkalRootHashIndex:a}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i,rootHashHinkalIndex:a}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c}=await f(n,l,s);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c},u]=await Promise.all([f(n,l,s),a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:u}}};exports.getDataFromWorkers=p;
1
+ const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s=t.getIndex()-1n,c;return c=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,rootHashHinkal:r,rootHashHinkalIndex:s}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal),rootHashHinkalIndex:n.toBigInt(r.rootHashHinkalIndex)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r,i=!1)=>i||await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l,u=!1)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t,rootHashHinkalIndex:s.getIndex()-1n}}let{hinkalRootHash:i,hinkalRootHashIndex:a}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i,rootHashHinkalIndex:a}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c}=await f(n,l,s,u);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c},d]=await Promise.all([f(n,l,s,u),a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:d}}};exports.getDataFromWorkers=p;
@@ -6,8 +6,8 @@ interface MerkleTreeSiblingsAndRootHashes {
6
6
  rootHashHinkal: bigint;
7
7
  rootHashHinkalIndex: bigint;
8
8
  }
9
- export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint>) => Promise<MerkleTreeSiblingsAndRootHashes>;
10
- export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][]) => Promise<{
9
+ export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint>, isSpeculativeTree?: boolean) => Promise<MerkleTreeSiblingsAndRootHashes>;
10
+ export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][], isSpeculativeTree?: boolean) => Promise<{
11
11
  rootHashHinkal: bigint;
12
12
  rootHashHinkalIndex: bigint;
13
13
  inCommitmentSiblings: string[][][];
@@ -45,7 +45,7 @@ var u = async (e, t) => {
45
45
  } catch {
46
46
  return !1;
47
47
  }
48
- }, p = async (e, n, r) => await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u) => {
48
+ }, p = async (e, n, r, i = !1) => i || await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u, d = !1) => {
49
49
  if (i(u)) {
50
50
  let e = r(u);
51
51
  if (t(n)) {
@@ -65,7 +65,7 @@ var u = async (e, t) => {
65
65
  };
66
66
  }
67
67
  if (e) {
68
- let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i } = await p(n, u, c);
68
+ let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i } = await p(n, u, c, d);
69
69
  return {
70
70
  inCommitmentSiblings: e,
71
71
  inCommitmentSiblingSides: t,
@@ -80,7 +80,7 @@ var u = async (e, t) => {
80
80
  })
81
81
  };
82
82
  } else {
83
- let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i }, l] = await Promise.all([p(n, u, c), o({
83
+ let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i }, l] = await Promise.all([p(n, u, c, d), o({
84
84
  type: a.ZKProof,
85
85
  payload: {
86
86
  type: s.BUILD_IN_NULLIFIERS,
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../pre-transaction/solana.cjs`);let n=require(`ethers`),r=require(`@coral-xyz/anchor`);var i=e=>[...new r.BN(e.length).toArray(`be`,8),...e.flatMap(e=>t.encodeToByte32Array(e))],a=t=>BigInt(n.ethers.keccak256(t))%e.CIRCOM_P,o=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`],s=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],c=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(o,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message,e.outH1Ax,e.outH1Ay,e.H0Ax,e.H0Ay])),l=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(s,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message])),u=r=>{let a=r.inNullifiers.flat().map(e=>BigInt(e)),o=r.outCommitments.flat().map(e=>BigInt(e)),s=[...t.encodeToByte32Array(r.rootHashHinkal),...i(r.mintAccountPart1),...i(r.mintAccountPart2),...i(r.amountChanges),...t.encodeToByte32Array(r.outTimeStamp),...i(a),...i(o),...t.encodeToByte32Array(r.calldataHash),...t.encodeToByte32Array(r.message),...t.encodeToByte32Array(r.swapperAccountAdditionalSeed),...t.encodeToByte32Array(r.outH1Ay),...t.encodeToByte32Array(r.H0Ax),...t.encodeToByte32Array(r.H0Ay)];return BigInt(n.ethers.sha256(new Uint8Array(s)))%e.CIRCOM_P};exports.computeSignedMessageHashEvm=c,exports.computeSignedMessageHashSolana=u,exports.computeSignedMessageHashTron=l;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../pre-transaction/solana.cjs`);let n=require(`ethers`),r=require(`@coral-xyz/anchor`);var i=e=>[...new r.BN(e.length).toArray(`be`,8),...e.flatMap(e=>t.encodeToByte32Array(e))],a=t=>BigInt(n.ethers.keccak256(t))%e.CIRCOM_P,o=[`uint256`,`address`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],s=[`uint256`,`uint256`,`uint256`,`uint256`],c=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],l=e=>{let t=n.ethers.keccak256(n.ethers.AbiCoder.defaultAbiCoder().encode(o,[e.chainId,e.verifyingContract,e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message])),r=n.ethers.keccak256(n.ethers.AbiCoder.defaultAbiCoder().encode(s,[e.outH1Ax,e.outH1Ay,e.H0Ax,e.H0Ay]));return a(n.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[BigInt(t),BigInt(r)]))},u=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(c,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message])),d=r=>{let a=r.inNullifiers.flat().map(e=>BigInt(e)),o=r.outCommitments.flat().map(e=>BigInt(e)),s=[...t.encodeToByte32Array(r.rootHashHinkal),...i(r.mintAccountPart1),...i(r.mintAccountPart2),...i(r.amountChanges),...t.encodeToByte32Array(r.outTimeStamp),...i(a),...i(o),...t.encodeToByte32Array(r.calldataHash),...t.encodeToByte32Array(r.message),...t.encodeToByte32Array(r.swapperAccountAdditionalSeed),...t.encodeToByte32Array(r.outH1Ay),...t.encodeToByte32Array(r.H0Ax),...t.encodeToByte32Array(r.H0Ay)];return BigInt(n.ethers.sha256(new Uint8Array(s)))%e.CIRCOM_P};exports.computeSignedMessageHashEvm=l,exports.computeSignedMessageHashSolana=d,exports.computeSignedMessageHashTron=u;
@@ -11,6 +11,8 @@ type EvmSignedMessageHashParams = {
11
11
  outH1Ay: bigint;
12
12
  H0Ax: bigint;
13
13
  H0Ay: bigint;
14
+ chainId: bigint;
15
+ verifyingContract: string;
14
16
  };
15
17
  type TronSignedMessageHashParams = {
16
18
  rootHashHinkal: bigint;
@@ -21,6 +23,8 @@ type TronSignedMessageHashParams = {
21
23
  outCommitments: string[][];
22
24
  calldataHash: bigint;
23
25
  message: bigint;
26
+ chainId: bigint;
27
+ verifyingContract: string;
24
28
  };
25
29
  type SolanaSignedMessageHashParams = {
26
30
  rootHashHinkal: bigint;