@hinkal/common 0.2.18 → 0.2.19

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 (454) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +8 -13
  3. package/API/API.mjs +86 -94
  4. package/API/admin-calls.cjs +1 -1
  5. package/API/admin-calls.d.ts +1 -1
  6. package/API/admin-calls.mjs +4 -4
  7. package/API/callLifiAPI.cjs +1 -1
  8. package/API/callLifiAPI.d.ts +1 -1
  9. package/API/callLifiAPI.mjs +5 -5
  10. package/API/callMonitor.cjs +1 -1
  11. package/API/callMonitor.d.ts +1 -1
  12. package/API/callMonitor.mjs +7 -7
  13. package/API/callOdosAPI.cjs +1 -1
  14. package/API/callOdosAPI.mjs +11 -11
  15. package/API/callOkxAPI.cjs +1 -1
  16. package/API/callOkxAPI.d.ts +1 -1
  17. package/API/callOkxAPI.mjs +5 -5
  18. package/API/callOneInchAPI.cjs +1 -1
  19. package/API/callOneInchAPI.mjs +10 -11
  20. package/API/callRelayer.cjs +1 -1
  21. package/API/callRelayer.d.ts +6 -3
  22. package/API/callRelayer.mjs +11 -11
  23. package/API/checkRisk.cjs +1 -1
  24. package/API/checkRisk.d.ts +1 -1
  25. package/API/checkRisk.mjs +4 -4
  26. package/API/fetchCommitmentsCache.cjs +1 -1
  27. package/API/fetchCommitmentsCache.mjs +9 -9
  28. package/API/get-token-data.cjs +1 -1
  29. package/API/get-token-data.d.ts +1 -1
  30. package/API/get-token-data.mjs +5 -5
  31. package/API/get-token-price-chart-data.cjs +1 -0
  32. package/API/get-token-price-chart-data.d.ts +16 -0
  33. package/API/get-token-price-chart-data.mjs +13 -0
  34. package/API/getGasEstimates.cjs +1 -1
  35. package/API/getGasEstimates.mjs +9 -9
  36. package/API/getServerURL.cjs +1 -1
  37. package/API/getServerURL.d.ts +3 -3
  38. package/API/getServerURL.mjs +51 -67
  39. package/API/getTokenPrice.cjs +1 -1
  40. package/API/getTokenPrice.d.ts +5 -0
  41. package/API/getTokenPrice.mjs +14 -7
  42. package/API/index.d.ts +0 -3
  43. package/API/is-tx-stateless.cjs +1 -1
  44. package/API/is-tx-stateless.d.ts +1 -1
  45. package/API/is-tx-stateless.mjs +10 -12
  46. package/API/kycCalls.cjs +1 -1
  47. package/API/kycCalls.d.ts +4 -8
  48. package/API/kycCalls.mjs +23 -26
  49. package/API/onrampCalls.cjs +1 -0
  50. package/API/onrampCalls.d.ts +20 -0
  51. package/API/onrampCalls.mjs +15 -0
  52. package/API/proxyAccountsCalls.cjs +1 -1
  53. package/API/proxyAccountsCalls.d.ts +2 -2
  54. package/API/proxyAccountsCalls.mjs +19 -19
  55. package/API/relayCalls.cjs +1 -1
  56. package/API/relayCalls.mjs +4 -4
  57. package/API/scheduled-transactions-calls.cjs +1 -1
  58. package/API/scheduled-transactions-calls.d.ts +1 -1
  59. package/API/scheduled-transactions-calls.mjs +4 -4
  60. package/API/simulate-batch-tx.cjs +1 -1
  61. package/API/simulate-batch-tx.d.ts +2 -2
  62. package/API/simulate-batch-tx.mjs +7 -6
  63. package/API/solana-calls.cjs +1 -1
  64. package/API/solana-calls.d.ts +6 -3
  65. package/API/solana-calls.mjs +15 -15
  66. package/API/token-calls.cjs +1 -1
  67. package/API/token-calls.mjs +6 -5
  68. package/API/unspent-utxos-calls.cjs +1 -1
  69. package/API/unspent-utxos-calls.d.ts +1 -1
  70. package/API/unspent-utxos-calls.mjs +15 -18
  71. package/README.md +233 -64
  72. package/constants/addresses.constants.cjs +1 -1
  73. package/constants/addresses.constants.d.ts +0 -1
  74. package/constants/addresses.constants.mjs +7 -8
  75. package/constants/chains.constants.cjs +1 -1
  76. package/constants/chains.constants.d.ts +0 -5
  77. package/constants/chains.constants.mjs +19 -24
  78. package/constants/coingecko.constants.cjs +1 -1
  79. package/constants/coingecko.constants.d.ts +1 -0
  80. package/constants/coingecko.constants.mjs +11 -10
  81. package/constants/contracts.constants.cjs +1 -1
  82. package/constants/contracts.constants.mjs +34 -41
  83. package/constants/function-signatures.constants.cjs +1 -1
  84. package/constants/function-signatures.constants.d.ts +0 -1
  85. package/constants/function-signatures.constants.mjs +3 -4
  86. package/constants/mystery-boxes.constants.d.ts +0 -0
  87. package/constants/permit2.constants.cjs +1 -1
  88. package/constants/permit2.constants.d.ts +0 -1
  89. package/constants/permit2.constants.mjs +10 -11
  90. package/constants/server.constants.cjs +1 -1
  91. package/constants/server.constants.d.ts +14 -122
  92. package/constants/server.constants.mjs +44 -152
  93. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  94. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
  95. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  96. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
  97. package/constants/token-data/index.d.ts +32 -88
  98. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  99. package/constants/token-data/localhostRegistry.json.mjs +0 -26
  100. package/constants/token-data/popularTokens.constants.cjs +1 -1
  101. package/constants/token-data/popularTokens.constants.mjs +0 -1
  102. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  103. package/data-structures/Hinkal/Hinkal.d.ts +33 -48
  104. package/data-structures/Hinkal/Hinkal.mjs +237 -300
  105. package/data-structures/Hinkal/IHinkal.d.ts +32 -47
  106. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  107. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  108. package/data-structures/Hinkal/handleAutoDepositBack.mjs +42 -42
  109. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  110. package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -23
  111. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  112. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +9 -9
  113. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  114. package/data-structures/Hinkal/hinkalDeposit.mjs +95 -93
  115. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  116. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +111 -115
  117. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  118. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +1 -2
  119. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  120. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  121. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +107 -115
  122. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  123. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
  124. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  125. package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -33
  126. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  127. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +26 -24
  128. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  129. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
  130. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +8 -9
  131. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  132. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  133. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +86 -97
  134. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  135. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
  136. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +146 -146
  137. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  138. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
  139. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +38 -38
  140. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  141. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +57 -56
  142. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  143. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  144. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -58
  145. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
  147. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +83 -79
  148. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  149. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
  150. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
  152. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +67 -64
  153. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalSwap.mjs +75 -87
  155. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalTransfer.mjs +55 -58
  157. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  158. package/data-structures/Hinkal/hinkalWithdraw.mjs +80 -82
  159. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  160. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +98 -102
  161. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  162. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  163. package/data-structures/Hinkal/resetMerkleTrees.mjs +105 -53
  164. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  165. package/data-structures/IndexedDB/activity-db.mjs +7 -7
  166. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  167. package/data-structures/IndexedDB/balances-db.mjs +8 -8
  168. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  169. package/data-structures/IndexedDB/contact-db.mjs +10 -10
  170. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  171. package/data-structures/IndexedDB/signatures-db.mjs +25 -40
  172. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  173. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +10 -11
  174. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  175. package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
  176. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  177. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
  178. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
  179. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  180. package/data-structures/event-service/evm/AbstractEventService.d.ts +1 -0
  181. package/data-structures/event-service/evm/AbstractEventService.mjs +7 -4
  182. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  183. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -1
  184. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
  185. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  186. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -1
  187. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +17 -14
  188. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  189. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +1 -0
  190. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +9 -6
  191. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  192. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -1
  193. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
  194. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  195. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -2
  196. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +42 -45
  197. package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
  198. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  199. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +3 -4
  200. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  201. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +3 -4
  202. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  203. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +3 -4
  204. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  205. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +3 -4
  206. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  207. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +3 -4
  208. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  209. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +2 -4
  210. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  211. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +3 -4
  212. package/data-structures/utxo/Utxo.cjs +1 -1
  213. package/data-structures/utxo/Utxo.d.ts +1 -7
  214. package/data-structures/utxo/Utxo.mjs +26 -36
  215. package/error-handling/error-codes.constants.cjs +1 -1
  216. package/error-handling/error-codes.constants.d.ts +1 -0
  217. package/error-handling/error-codes.constants.mjs +2 -1
  218. package/error-handling/get-error.message.cjs +1 -1
  219. package/error-handling/get-error.message.mjs +21 -27
  220. package/error-handling/index.d.ts +0 -1
  221. package/functions/index.d.ts +0 -1
  222. package/functions/kyc/zkMeHelper.cjs +1 -1
  223. package/functions/kyc/zkMeHelper.mjs +18 -17
  224. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  225. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  226. package/functions/pre-transaction/constructAdminData.mjs +12 -18
  227. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  228. package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
  229. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  230. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  231. package/functions/pre-transaction/getFlatFees.mjs +22 -30
  232. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  233. package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
  234. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  235. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  236. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  237. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  238. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
  239. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
  240. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  241. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  242. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  243. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  244. package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  245. package/functions/pre-transaction/solana-public-signals.mjs +29 -26
  246. package/functions/pre-transaction/solana.cjs +1 -1
  247. package/functions/pre-transaction/solana.d.ts +2 -1
  248. package/functions/pre-transaction/solana.mjs +60 -51
  249. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  250. package/functions/private-wallet/emporium.helpers.d.ts +3 -5
  251. package/functions/private-wallet/emporium.helpers.mjs +95 -135
  252. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  253. package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
  254. package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
  255. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  256. package/functions/snarkjs/common.snarkjs.d.ts +1 -1
  257. package/functions/snarkjs/common.snarkjs.mjs +64 -64
  258. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  259. package/functions/snarkjs/constructEmporiumProof.mjs +1 -1
  260. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  261. package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -2
  262. package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
  263. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  264. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  265. package/functions/snarkjs/constructSolanaZkProof.mjs +54 -59
  266. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  267. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
  268. package/functions/utils/addresses.cjs +1 -1
  269. package/functions/utils/addresses.d.ts +1 -0
  270. package/functions/utils/addresses.mjs +13 -12
  271. package/functions/utils/cacheFunctions.cjs +1 -1
  272. package/functions/utils/cacheFunctions.mjs +2 -2
  273. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  274. package/functions/utils/erc20tokenFunctions.d.ts +0 -1
  275. package/functions/utils/erc20tokenFunctions.mjs +22 -29
  276. package/functions/utils/get-hinkal-approvals.cjs +1 -1
  277. package/functions/utils/get-hinkal-approvals.d.ts +1 -1
  278. package/functions/utils/get-hinkal-approvals.mjs +16 -16
  279. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  280. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  281. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  282. package/functions/utils/involves-permit2-op.cjs +1 -1
  283. package/functions/utils/involves-permit2-op.d.ts +0 -1
  284. package/functions/utils/involves-permit2-op.mjs +4 -6
  285. package/functions/utils/mutexes.utils.cjs +1 -1
  286. package/functions/utils/mutexes.utils.d.ts +1 -1
  287. package/functions/utils/mutexes.utils.mjs +3 -3
  288. package/functions/utils/nftTokenFunctions.cjs +1 -1
  289. package/functions/utils/nftTokenFunctions.mjs +8 -23
  290. package/functions/utils/prepareHinkal.cjs +1 -1
  291. package/functions/utils/prepareHinkal.d.ts +0 -6
  292. package/functions/utils/prepareHinkal.mjs +41 -60
  293. package/functions/utils/token-check.utils.cjs +1 -1
  294. package/functions/utils/token-check.utils.d.ts +3 -0
  295. package/functions/utils/token-check.utils.mjs +18 -7
  296. package/functions/utils/upToDateState.cjs +1 -1
  297. package/functions/utils/upToDateState.d.ts +1 -1
  298. package/functions/utils/upToDateState.mjs +4 -4
  299. package/functions/utils/walletBalances.utils.cjs +1 -1
  300. package/functions/utils/walletBalances.utils.d.ts +1 -16
  301. package/functions/utils/walletBalances.utils.mjs +4 -35
  302. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  303. package/functions/web3/events/getApprovedBalance.d.ts +3 -4
  304. package/functions/web3/events/getApprovedBalance.mjs +39 -44
  305. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  306. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  307. package/functions/web3/events/getInputUtxoAndBalance.mjs +114 -121
  308. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  309. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  310. package/functions/web3/events/getShieldedBalance.mjs +71 -70
  311. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  312. package/functions/web3/events/getTransactionLogEvents.mjs +7 -7
  313. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  314. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +7 -7
  315. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  316. package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
  317. package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
  318. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  319. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  320. package/functions/web3/functionCalls/approveToken.mjs +50 -46
  321. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  322. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  323. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  324. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  325. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
  326. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  327. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  328. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  329. package/functions/web3/functionCalls/transactCallDirect.mjs +38 -42
  330. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  331. package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
  332. package/functions/web3/functionCalls/transactCallRelayer.mjs +34 -34
  333. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  334. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  335. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  336. package/functions/web3/getTokenHolder.cjs +1 -1
  337. package/functions/web3/getTokenHolder.mjs +8 -8
  338. package/functions/web3/lifiAPI.cjs +1 -1
  339. package/functions/web3/lifiAPI.d.ts +1 -1
  340. package/functions/web3/lifiAPI.mjs +12 -12
  341. package/functions/web3/odosAPI.cjs +1 -1
  342. package/functions/web3/odosAPI.mjs +6 -19
  343. package/functions/web3/okxAPI.cjs +1 -1
  344. package/functions/web3/okxAPI.mjs +22 -22
  345. package/functions/web3/oneInchAPI.cjs +1 -1
  346. package/functions/web3/oneInchAPI.mjs +7 -20
  347. package/functions/web3/runContractFunction.cjs +1 -1
  348. package/functions/web3/runContractFunction.mjs +38 -56
  349. package/functions/web3/uniswapAPI.cjs +1 -1
  350. package/functions/web3/uniswapAPI.mjs +22 -34
  351. package/index.cjs +1 -1
  352. package/index.mjs +939 -970
  353. package/package.json +1 -1
  354. package/providers/EthersProviderAdapter.cjs +1 -1
  355. package/providers/EthersProviderAdapter.d.ts +10 -17
  356. package/providers/EthersProviderAdapter.mjs +48 -76
  357. package/providers/SolanaProviderAdapter.cjs +1 -1
  358. package/providers/SolanaProviderAdapter.d.ts +7 -11
  359. package/providers/SolanaProviderAdapter.mjs +16 -31
  360. package/providers/WagmiProviderAdapter.cjs +1 -1
  361. package/providers/WagmiProviderAdapter.d.ts +11 -17
  362. package/providers/WagmiProviderAdapter.mjs +86 -117
  363. package/providers/prepareEthersHinkal.cjs +1 -1
  364. package/providers/prepareEthersHinkal.mjs +6 -7
  365. package/providers/prepareWagmiHinkal.cjs +1 -1
  366. package/providers/prepareWagmiHinkal.mjs +5 -5
  367. package/types/TransactionSimulator.types.d.ts +2 -9
  368. package/types/admin.types.cjs +1 -1
  369. package/types/admin.types.d.ts +0 -6
  370. package/types/admin.types.mjs +2 -2
  371. package/types/balances.types.d.ts +0 -1
  372. package/types/cache.types.cjs +1 -1
  373. package/types/cache.types.d.ts +2 -3
  374. package/types/cache.types.mjs +1 -1
  375. package/types/coingecko.types.d.ts +5 -0
  376. package/types/ethereum-network.types.cjs +1 -1
  377. package/types/ethereum-network.types.d.ts +1 -8
  378. package/types/ethereum-network.types.mjs +1 -1
  379. package/types/external-action.types.cjs +1 -1
  380. package/types/external-action.types.d.ts +0 -1
  381. package/types/external-action.types.mjs +1 -1
  382. package/types/hinkal.types.cjs +1 -1
  383. package/types/hinkal.types.d.ts +1 -7
  384. package/types/hinkal.types.mjs +22 -23
  385. package/types/index.d.ts +1 -3
  386. package/types/onramp.types.cjs +1 -0
  387. package/types/onramp.types.d.ts +58 -0
  388. package/types/onramp.types.mjs +4 -0
  389. package/types/proxy.types.d.ts +1 -0
  390. package/types/sandbox.types.cjs +1 -1
  391. package/types/sandbox.types.d.ts +8 -39
  392. package/types/sandbox.types.mjs +2 -2
  393. package/types/session.types.d.ts +2 -0
  394. package/types/solana.types.d.ts +1 -0
  395. package/types/token-prices.types.cjs +1 -1
  396. package/types/token-prices.types.d.ts +7 -0
  397. package/types/token-prices.types.mjs +4 -2
  398. package/types/transactions.types.cjs +1 -1
  399. package/types/transactions.types.d.ts +2 -4
  400. package/types/transactions.types.mjs +3 -3
  401. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  402. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  403. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  404. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  405. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  406. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +2 -2
  407. package/API/ai-calls.cjs +0 -1
  408. package/API/ai-calls.d.ts +0 -17
  409. package/API/ai-calls.mjs +0 -21
  410. package/API/duneAPI.cjs +0 -1
  411. package/API/duneAPI.d.ts +0 -11
  412. package/API/duneAPI.mjs +0 -25
  413. package/API/getBridgeProtocols.cjs +0 -1
  414. package/API/getBridgeProtocols.d.ts +0 -7
  415. package/API/getBridgeProtocols.mjs +0 -8
  416. package/API/getLifiStatus.cjs +0 -1
  417. package/API/getLifiStatus.d.ts +0 -24
  418. package/API/getLifiStatus.mjs +0 -15
  419. package/API/getRelayerURL.cjs +0 -1
  420. package/API/getRelayerURL.d.ts +0 -1
  421. package/API/getRelayerURL.mjs +0 -10
  422. package/API/passwordCalls.cjs +0 -1
  423. package/API/passwordCalls.d.ts +0 -9
  424. package/API/passwordCalls.mjs +0 -13
  425. package/API/restoreSnapshots.cjs +0 -1
  426. package/API/restoreSnapshots.d.ts +0 -1
  427. package/API/restoreSnapshots.mjs +0 -10
  428. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  429. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  430. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  431. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  432. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  433. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  434. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  435. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  436. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  437. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  438. package/error-handling/handleErrorRestore.cjs +0 -1
  439. package/error-handling/handleErrorRestore.d.ts +0 -2
  440. package/error-handling/handleErrorRestore.mjs +0 -11
  441. package/functions/staking/index.cjs +0 -1
  442. package/functions/staking/index.d.ts +0 -11
  443. package/functions/staking/index.mjs +0 -42
  444. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  445. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  446. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  447. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  448. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  449. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  450. package/types/bridging.types.d.ts +0 -29
  451. package/types/duneAPI.types.d.ts +0 -9
  452. package/types/hinkal.stake.types.cjs +0 -1
  453. package/types/hinkal.stake.types.d.ts +0 -11
  454. package/types/hinkal.stake.types.mjs +0 -4
@@ -1,157 +1,155 @@
1
- import { BigNumber as K, ethers as D } from "ethers";
2
- import { emporiumOp as u, createApproveEmporiumOp as I } from "./emporium.helpers.mjs";
1
+ import { BigNumber as K, ethers as _ } from "ethers";
2
+ import { emporiumOp as u, createApproveEmporiumOp as F } from "./emporium.helpers.mjs";
3
3
  import { NATIVE_TOKEN_WRAPPER_ADDRESSES as T, WRAPPER_TOKEN_EXCHANGE_ADDRESSES as q, SWAP_FEE_TAKER_ADDRESSES as V } from "../../constants/addresses.constants.mjs";
4
- import { ExternalActionId as O } from "../../types/external-action.types.mjs";
4
+ import { ExternalActionId as h } from "../../types/external-action.types.mjs";
5
5
  import { ContractType as g } from "../../types/ethereum-network.types.mjs";
6
6
  import { getExternalSwapAddress as X } from "../pre-transaction/getExternalSwapAddress.mjs";
7
7
  import { replaceAllInstances as H } from "../utils/string.utils.mjs";
8
- import { zeroAddress as w, HINKAL_SWAP_VARIABLE_RATE as P } from "../../constants/protocol.constants.mjs";
8
+ import { zeroAddress as S, HINKAL_SWAP_VARIABLE_RATE as N } from "../../constants/protocol.constants.mjs";
9
9
  import "../../constants/token-data/index.mjs";
10
10
  import { caseInsensitiveEqual as M } from "../utils/caseInsensitive.utils.mjs";
11
- import { Logger as l } from "../../error-handling/logger.mjs";
12
- import { getERC20Registry as v } from "../../constants/token-data/ERC20Registry.mjs";
13
- const z = (t, a, c, e, n, i, o = !1) => {
14
- const r = K.from(i).toBigInt(), C = {
15
- tokenIn: a,
16
- tokenOut: e,
17
- fee: r,
18
- recipient: n,
19
- amountIn: c,
11
+ import { Logger as v } from "../../error-handling/logger.mjs";
12
+ import { getERC20Registry as z } from "../../constants/token-data/ERC20Registry.mjs";
13
+ const G = (c, t, r, a, i, n, f = !1) => {
14
+ const o = K.from(n).toBigInt(), e = {
15
+ tokenIn: t,
16
+ tokenOut: a,
17
+ fee: o,
18
+ recipient: i,
19
+ amountIn: r,
20
20
  amountOutMinimum: 0,
21
21
  sqrtPriceLimitX96: 0
22
- }, m = [
22
+ }, w = [
23
23
  "function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)"
24
- ], h = new D.Contract(t, m);
24
+ ], E = new _.Contract(c, w);
25
25
  return u({
26
- contract: h,
26
+ contract: E,
27
27
  func: "exactInputSingle",
28
- args: [C],
29
- invokeWallet: o
28
+ args: [e],
29
+ invokeWallet: f
30
30
  });
31
- }, N = (t, a, c, e, n, i, o = !1) => {
32
- const r = X(t, a), C = H(e, r.slice(2), n.slice(2));
31
+ }, U = (c, t, r, a, i, n, f = !1) => {
32
+ const o = X(c, t), e = H(a, o.slice(2), i.slice(2));
33
33
  return u({
34
- contract: c,
35
- callDataString: C,
36
- value: i,
37
- invokeWallet: o
34
+ contract: r,
35
+ callDataString: e,
36
+ value: n,
37
+ invokeWallet: f
38
38
  });
39
- }, G = (t, a) => {
40
- const e = v(a).find((n) => n.symbol === "USDT");
41
- return e ? M(t, e.erc20TokenAddress) : !1;
42
- }, L = async (t, a, c, e, n, i) => {
43
- const o = c.address;
44
- if (G(o, t.getCurrentChainId()))
39
+ }, I = (c, t) => {
40
+ const a = z(t).find((i) => i.symbol === "USDT");
41
+ return a ? M(c, a.erc20TokenAddress) : !1;
42
+ }, L = async (c, t, r, a, i, n) => {
43
+ const f = r.address;
44
+ if (I(f, c))
45
45
  try {
46
- (await c.allowance(e, n)).toBigInt() > 0n && a.push(I(c, n, 0n, i));
47
- } catch (r) {
48
- l.error("Error in nullifyUsdtApprovalIfNeeded", r);
46
+ (await r.allowance(a, i)).toBigInt() > 0n && t.push(F(r, i, 0n, n));
47
+ } catch (o) {
48
+ v.error("Error in nullifyUsdtApprovalIfNeeded", o);
49
49
  }
50
- }, U = async (t, a, c, e, n, i, o) => {
51
- if (a !== w) {
52
- const r = V[t.getCurrentChainId()], C = t.getContractWithFetcher(g.ERC20Contract, a), m = await C.balanceOf(c);
50
+ }, l = async (c, t, r, a, i, n, f, o) => {
51
+ if (r !== S) {
52
+ const e = V[t], w = c.getContractWithFetcher(t, g.ERC20Contract, r), E = await w.balanceOf(a);
53
53
  await L(
54
54
  t,
55
55
  n,
56
- C,
57
- c,
58
- r,
59
- i
60
- ), n.push(I(C, r, 2n ** 256n - 1n, i));
61
- const h = [
56
+ w,
57
+ a,
58
+ e,
59
+ f
60
+ ), n.push(F(w, e, 2n ** 256n - 1n, f));
61
+ const b = [
62
62
  "function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"
63
- ], f = new D.Contract(r, h), E = e;
63
+ ], s = new _.Contract(e, b), C = i;
64
64
  n.push(
65
65
  u({
66
- contract: f,
66
+ contract: s,
67
67
  func: "takeSwapFee",
68
- args: [a, m, P, E],
69
- invokeWallet: i
68
+ args: [r, E, N, C],
69
+ invokeWallet: f
70
70
  })
71
71
  );
72
72
  } else {
73
- const r = e;
73
+ const e = i;
74
74
  n.push(
75
75
  u({
76
- contract: r,
77
- value: o * P / 10000n,
78
- invokeWallet: i
76
+ contract: e,
77
+ value: o * N / 10000n,
78
+ invokeWallet: f
79
79
  })
80
80
  );
81
81
  }
82
- }, rt = async (t, a, c, e, n, i, o, r, C, m, h, f = !1) => {
83
- const E = i < 0n ? -1n * i : i, y = t.getCurrentChainId(), p = [], S = T[y];
84
- let _ = !1, R;
85
- if (a === O.OneInch || a === O.Lifi) {
86
- if (n !== w) {
87
- const b = t.getContractWithFetcher(g.ERC20Contract, n);
88
- p.push(I(b, c, E, f));
82
+ }, nt = async (c, t, r, a, i, n, f, o, e, w, E, b, s = !1) => {
83
+ const C = f < 0n ? -1n * f : f, m = [], R = T[t];
84
+ let B = !1, O;
85
+ if (r === h.OneInch || r === h.Lifi) {
86
+ if (n !== S) {
87
+ const y = c.getContractWithFetcher(t, g.ERC20Contract, n);
88
+ m.push(F(y, a, C, s));
89
89
  }
90
- let s = 0n;
91
- n === w && (s += E), o && r === w && o < 0n && (s += -1n * o);
92
- const F = s > 0n ? s : void 0;
93
- return R = N(
90
+ let p = 0n;
91
+ n === S && (p += C), o && e === S && o < 0n && (p += -1n * o);
92
+ const D = p > 0n ? p : void 0;
93
+ return O = U(
94
94
  t,
95
+ r,
95
96
  a,
96
- c,
97
- e,
98
- m,
99
- F,
100
- f
101
- ), p.push(R), (a === O.OneInch || C && a === O.Lifi) && r && o !== void 0 && await U(t, r, m, h, p, f, o), p;
97
+ i,
98
+ E,
99
+ D,
100
+ s
101
+ ), m.push(O), (r === h.OneInch || w && r === h.Lifi) && e && o !== void 0 && await l(c, t, e, E, b, m, s, o), m;
102
102
  }
103
- if (!r || !o)
103
+ if (!e || !o)
104
104
  throw Error("There should be output token for UniSwap and Odos");
105
- if (n === w) {
106
- const s = t.getContractWithFetcher(g.ERC20Contract, S);
107
- p.push(
105
+ if (n === S) {
106
+ const p = c.getContractWithFetcher(t, g.ERC20Contract, R);
107
+ m.push(
108
108
  u({
109
- contract: s,
109
+ contract: p,
110
110
  func: "deposit",
111
- value: E,
112
- invokeWallet: f
111
+ value: C,
112
+ invokeWallet: s
113
113
  })
114
- ), n = S;
114
+ ), n = R;
115
115
  }
116
- let B = 0n;
117
- if (r === w && (r = S, _ = !0, B = await t.getContractWithFetcher(g.ERC20Contract, S).balanceOf(m)), n !== w) {
118
- const s = t.getContractWithFetcher(g.ERC20Contract, n);
119
- await L(t, p, s, m, c, f), p.push(I(s, c, E, f));
116
+ let P = 0n;
117
+ if (e === S && (e = R, B = !0, P = await c.getContractWithFetcher(t, g.ERC20Contract, R).balanceOf(E)), n !== S) {
118
+ const p = c.getContractWithFetcher(t, g.ERC20Contract, n);
119
+ await L(t, m, p, E, a, s), m.push(F(p, a, C, s));
120
120
  }
121
- if (a === O.Uniswap ? R = z(
122
- c,
121
+ if (r === h.Uniswap ? O = G(
122
+ a,
123
123
  n,
124
- E,
125
- r,
126
- m,
124
+ C,
127
125
  e,
128
- f
129
- ) : R = N(
126
+ E,
127
+ i,
128
+ s
129
+ ) : O = U(
130
130
  t,
131
+ r,
131
132
  a,
132
- c,
133
- e,
134
- m,
133
+ i,
134
+ E,
135
135
  void 0,
136
- f
137
- ), p.push(R), await U(t, r, m, h, p, f, o), _) {
138
- const s = q[y], F = t.getContractWithFetcher(g.ERC20Contract, S);
139
- p.push(I(F, s, 2n ** 256n - 1n, f));
140
- const b = ["function withdrawBalanceDifference(uint256 beforeBalance) external"], x = new D.Contract(s, b);
141
- p.push(
136
+ s
137
+ ), m.push(O), await l(c, t, e, E, b, m, s, o), B) {
138
+ const p = q[t], D = c.getContractWithFetcher(t, g.ERC20Contract, R);
139
+ m.push(F(D, p, 2n ** 256n - 1n, s));
140
+ const y = ["function withdrawBalanceDifference(uint256 beforeBalance) external"], x = new _.Contract(p, y);
141
+ m.push(
142
142
  u({
143
143
  contract: x,
144
144
  func: "withdrawBalanceDifference",
145
- args: [B],
146
- invokeWallet: f
145
+ args: [P],
146
+ invokeWallet: s
147
147
  })
148
148
  );
149
149
  }
150
- return p;
150
+ return m;
151
151
  };
152
152
  export {
153
- z as createSwapToEmporiumOpForUniswap,
154
- N as createSwapToEmporiumOpFromData,
155
- rt as createSwapToEmporiumOps,
156
- L as nullifyUsdtApprovalIfNeeded
153
+ G as createSwapToEmporiumOpForUniswap,
154
+ nt as createSwapToEmporiumOps
157
155
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("ethers"),d=require("../../constants/protocol.constants.cjs"),V=require("../../constants/conversion.constants.cjs"),S=require("../../data-structures/crypto-keys/keys.cjs"),E=require("../../data-structures/crypto-keys/encryptDecryptUtxo.cjs"),F=require("../../types/circom-data.types.cjs"),f=require("../utils/external-action.utils.cjs"),u=require("../../types/hinkal.types.cjs"),T=require("../utils/amounts.utils.cjs"),P=require("./getOriginalSender.cjs"),L=(e,a)=>e.map((s,t)=>s.map(n=>a[t]?"0":n.getNullifier())),R=(e,a,s)=>{let t=[];return e==="v1x0"?t=a.map((n,r)=>n.map(l=>s[r]?"0":l.getCommitment())):t=a.map(n=>n.map(r=>r.amount===0n?"0":r.getCommitment())),t},_=(e,a,s=!1)=>{const t=[];for(let n=0;n<e.length;n+=1){let r=0n,l=0n;for(let i=0;i<e[n].length;i+=1)r+=e[n][i].amount;for(let i=0;i<a[n].length;i+=1)l+=a[n][i].amount;l-r<0?s?t.push(l-r):t.push(d.CIRCOM_P+(l-r)):t.push(l-r)}return t},q=e=>e.useApprovalUtxoData.reduce((a,s)=>[...a,T.calculateBigIntSum(s.approvalChanges)],[]),x=(e,a)=>{const s=q(a),t=a.hinkalLogicAction,n=e.map((r,l)=>t===u.HinkalLogicAction.NONE||t===u.HinkalLogicAction.APPROVE?r+s[l]>=0n?0n:r+s[l]:r>=0n?0n:r);return t===u.HinkalLogicAction.RELEASE_BUFFER?e.forEach((r,l)=>{n[l]=r>0n?-r:r}):t===u.HinkalLogicAction.EXECUTE&&a.executeApprovalChanges.forEach((r,l)=>{n[l]=r+e[l]<0n?r+e[l]:0n}),n},M=(e,a)=>{if(e.length===0)return[];const s=[[""]];for(let t=0;t<e.length;t+=1)t>0&&s.push([""]),e[t].forEach((n,r)=>{s[t][r]=`0x${Buffer.from(E.encryptUtxo(n,a)).toString("hex")}`});return s},z=(e,a)=>{const s=[];for(let n=0;n<e.length;n+=1){s.push([]);for(let r=0;r<e[n].length;r+=1)s[n][r]=a.getSiblingHashesForVerification(BigInt(e[n][r].getCommitment())).map(l=>l.toString())}const t=[];for(let n=0;n<e.length;n+=1){t.push([]);for(let r=0;r<e[n].length;r+=1)t[n][r]=a.getSiblingSides(BigInt(e[n][r].getCommitment())).map(l=>l.toString())}return{inCommitmentSiblings:s,inCommitmentSiblingSides:t}},C=(e,a)=>{const s=a.getSiblingHashesForVerification(BigInt(e)).map(n=>n.toString()),t=a.getSiblingSides(BigInt(e)).map(n=>n.toString());return{accessTokenSiblings:s,accessTokenSiblingSides:t}},W=(e,a)=>C(e.getAccessKey(),a),j=e=>{const a={...e};if(a.amountChanges=e.amountChanges.map(s=>s.toString()),a.calldataHash=e.calldataHash.toString(),a.rootHashAccessToken=e.rootHashAccessToken?.toString(),a.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),a.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),a.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),a.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),a.rootHashHinkal=e.rootHashHinkal?.toString(),a.externalActionId=e.externalActionId?.toString(),"flatFees"in e){const s=a;return s.flatFees=e.flatFees.map(t=>t.toString()),s}else{const s=a;return s.slippageValues=e.slippageValues.map(t=>t.toString()),s.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),s.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(t=>t.toString()),s.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(t=>({approvalChanges:t.approvalChanges.map(n=>n.toString()),externalApprovalAddresses:t.externalApprovalAddresses,conversionInHinkalAddress:t.conversionInHinkalAddress.map(n=>n.toString())})),s.feeStructure.flatFee=e.feeStructure.flatFee.toString(),s.feeStructure.variableRate=e.feeStructure.variableRate.toString(),s}},w=e=>{const a={...e};if(a.amountChanges=e.amountChanges.map(s=>BigInt(s)),a.calldataHash=BigInt(e.calldataHash),a.rootHashAccessToken=BigInt(e.rootHashAccessToken),a.rootHashHinkal=BigInt(e.rootHashHinkal),a.externalActionId=BigInt(e.externalActionId),"flatFees"in e){const s=a;return s.flatFees=e.flatFees.map(t=>BigInt(t)),s}else{const s=a;return s.feeStructure.flatFee=BigInt(e.feeStructure.flatFee),s.feeStructure.variableRate=BigInt(e.feeStructure.variableRate),s.slippageValues=e.slippageValues.map(t=>BigInt(t)),s.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(t=>BigInt(t)),s.hinkalLogicArgs.inHinkalAddress=BigInt(e.hinkalLogicArgs.inHinkalAddress),s.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(t=>({approvalChanges:t.approvalChanges.map(n=>BigInt(n)),externalApprovalAddresses:t.externalApprovalAddresses,conversionInHinkalAddress:t.conversionInHinkalAddress.map(n=>BigInt(n))})),s}},K=(e,a,s,t,n,r,l,i,H,k,b,c,g,m,v)=>{const h=Object.values(H||F.defaultHookData),I=v??P.getOriginalSender(t??d.zeroAddress,s);if(e==="v1x0"){const p=o.ethers.utils.defaultAbiCoder.encode(["uint16","address","address","uint256","bytes","tuple(address, address, bytes, bytes)","bytes[][]","uint256[]"],[a,s,t,typeof n=="bigint"?n:f.getExternalActionIdHash(n),r,h,l,i]);return BigInt(o.ethers.utils.keccak256(p))%d.CIRCOM_P}else{const p=o.ethers.utils.defaultAbiCoder.encode(["uint16","address","address","uint256","bytes"],[a,s,t,typeof n=="bigint"?n:f.getExternalActionIdHash(n),r]),A=o.ethers.utils.defaultAbiCoder.encode(["tuple(address, address, bytes, bytes)","bytes[][]","tuple(address, uint256, uint256)","int256[]","bool[]","tuple(uint256, uint256,int256[],bool, tuple(int256[] approvalChanges, address[] externalApprovalAddresses, uint256[] conversionInHinkalAddress)[])","tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)","address"],[h,l,[g.feeToken,g.flatFee,g.variableRate],k,b,[c.hinkalLogicAction,c.inHinkalAddress,c.executeApprovalChanges,c.doPreTxApproval,c.useApprovalUtxoData],m,I]),y=BigInt(o.ethers.utils.keccak256(p)),B=BigInt(o.ethers.utils.keccak256(A)),O=o.ethers.utils.defaultAbiCoder.encode(["uint256","uint256"],[y,B]);return BigInt(o.ethers.utils.keccak256(O))%d.CIRCOM_P}},N=e=>e.startsWith("swapperMO")||e.startsWith("swapperME")?2:e.startsWith("swapperMW")?1:(e.startsWith("swapperMHA"),0),J=(e,a,s,t,n,r)=>{if(e.startsWith("swapperMWMin0"))return 4;const l=N(e);return 10+a.length+s.length+t.flat().length+n.flat().length+l+r+V.APPROVED_UTXO_CONVERSION_COUNT*a.length},U=(e,a)=>{const{h0:s,h1:t}=S.UserKeys.getStealthAddressCompressedPoints(e,a),n=BigInt(S.UserKeys.getStealthAddress(e,a));return{extraRandomization:e,H0:s,H1:t,stealthAddress:n}};exports.buildInNullifiers=L;exports.buildOutCommitments=R;exports.calcAccessTokenSiblingAndSidesFromAccessKey=C;exports.calcAccessTokenSiblingsAndSides=W;exports.calcAmountChanges=_;exports.calcCommitmentsSiblingAndSides=z;exports.calcEncryptedOutputs=M;exports.calcPublicSignalCount=J;exports.calcStealthAddressStructure=U;exports.createCallDataHash=K;exports.deserializeCircomData=w;exports.getSlippageValues=x;exports.serializeCircomData=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("ethers"),d=require("../../constants/protocol.constants.cjs"),V=require("../../constants/conversion.constants.cjs"),S=require("../../data-structures/crypto-keys/keys.cjs"),E=require("../../data-structures/crypto-keys/encryptDecryptUtxo.cjs"),F=require("../../types/circom-data.types.cjs"),f=require("../utils/external-action.utils.cjs"),u=require("../../types/hinkal.types.cjs"),T=require("../utils/amounts.utils.cjs"),P=require("./getOriginalSender.cjs"),L=(e,s)=>e.map((t,a)=>t.map(n=>s[a]?"0":n.getNullifier())),R=(e,s,t)=>{let a=[];return e==="v1x0"?a=s.map((n,r)=>n.map(l=>t[r]?"0":l.getCommitment())):a=s.map(n=>n.map(r=>r.amount===0n?"0":r.getCommitment())),a},_=(e,s,t=!1)=>{const a=[];for(let n=0;n<e.length;n+=1){let r=0n,l=0n;for(let i=0;i<e[n].length;i+=1)r+=e[n][i].amount;for(let i=0;i<s[n].length;i+=1)l+=s[n][i].amount;l-r<0?t?a.push(l-r):a.push(d.CIRCOM_P+(l-r)):a.push(l-r)}return a},q=e=>e.useApprovalUtxoData.reduce((s,t)=>[...s,T.calculateBigIntSum(t.approvalChanges)],[]),x=(e,s)=>{const t=q(s),a=s.hinkalLogicAction,n=e.map((r,l)=>a===u.HinkalLogicAction.NONE||a===u.HinkalLogicAction.APPROVE?r+t[l]>=0n?0n:r+t[l]:r>=0n?0n:r);return a===u.HinkalLogicAction.RELEASE_BUFFER?e.forEach((r,l)=>{n[l]=r>0n?-r:r}):a===u.HinkalLogicAction.EXECUTE&&s.executeApprovalChanges.forEach((r,l)=>{n[l]=r+e[l]<0n?r+e[l]:0n}),n},M=e=>{if(e.length===0)return[];const s=[[""]];for(let t=0;t<e.length;t+=1)t>0&&s.push([""]),e[t].forEach((a,n)=>{s[t][n]=`0x${Buffer.from(E.encryptUtxo(a)).toString("hex")}`});return s},z=(e,s)=>{const t=[];for(let n=0;n<e.length;n+=1){t.push([]);for(let r=0;r<e[n].length;r+=1)t[n][r]=s.getSiblingHashesForVerification(BigInt(e[n][r].getCommitment())).map(l=>l.toString())}const a=[];for(let n=0;n<e.length;n+=1){a.push([]);for(let r=0;r<e[n].length;r+=1)a[n][r]=s.getSiblingSides(BigInt(e[n][r].getCommitment())).map(l=>l.toString())}return{inCommitmentSiblings:t,inCommitmentSiblingSides:a}},C=(e,s)=>{const t=s.getSiblingHashesForVerification(BigInt(e)).map(n=>n.toString()),a=s.getSiblingSides(BigInt(e)).map(n=>n.toString());return{accessTokenSiblings:t,accessTokenSiblingSides:a}},W=(e,s)=>C(e.getAccessKey(),s),j=e=>{const s={...e};if(s.amountChanges=e.amountChanges.map(t=>t.toString()),s.calldataHash=e.calldataHash.toString(),s.rootHashAccessToken=e.rootHashAccessToken?.toString(),s.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),s.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),s.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),s.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),s.rootHashHinkal=e.rootHashHinkal?.toString(),s.externalActionId=e.externalActionId?.toString(),"flatFees"in e){const t=s;return t.flatFees=e.flatFees.map(a=>a.toString()),t}else{const t=s;return t.slippageValues=e.slippageValues.map(a=>a.toString()),t.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(a=>a.toString()),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(a=>({approvalChanges:a.approvalChanges.map(n=>n.toString()),externalApprovalAddresses:a.externalApprovalAddresses,conversionInHinkalAddress:a.conversionInHinkalAddress.map(n=>n.toString())})),t.feeStructure.flatFee=e.feeStructure.flatFee.toString(),t.feeStructure.variableRate=e.feeStructure.variableRate.toString(),t}},w=e=>{const s={...e};if(s.amountChanges=e.amountChanges.map(t=>BigInt(t)),s.calldataHash=BigInt(e.calldataHash),s.rootHashAccessToken=BigInt(e.rootHashAccessToken),s.rootHashHinkal=BigInt(e.rootHashHinkal),s.externalActionId=BigInt(e.externalActionId),"flatFees"in e){const t=s;return t.flatFees=e.flatFees.map(a=>BigInt(a)),t}else{const t=s;return t.feeStructure.flatFee=BigInt(e.feeStructure.flatFee),t.feeStructure.variableRate=BigInt(e.feeStructure.variableRate),t.slippageValues=e.slippageValues.map(a=>BigInt(a)),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(a=>BigInt(a)),t.hinkalLogicArgs.inHinkalAddress=BigInt(e.hinkalLogicArgs.inHinkalAddress),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(a=>({approvalChanges:a.approvalChanges.map(n=>BigInt(n)),externalApprovalAddresses:a.externalApprovalAddresses,conversionInHinkalAddress:a.conversionInHinkalAddress.map(n=>BigInt(n))})),t}},K=(e,s,t,a,n,r,l,i,H,k,b,c,g,m,v)=>{const h=Object.values(H||F.defaultHookData),I=v??P.getOriginalSender(a??d.zeroAddress,t);if(e==="v1x0"){const p=o.ethers.utils.defaultAbiCoder.encode(["uint16","address","address","uint256","bytes","tuple(address, address, bytes, bytes)","bytes[][]","uint256[]"],[s,t,a,typeof n=="bigint"?n:f.getExternalActionIdHash(n),r,h,l,i]);return BigInt(o.ethers.utils.keccak256(p))%d.CIRCOM_P}else{const p=o.ethers.utils.defaultAbiCoder.encode(["uint16","address","address","uint256","bytes"],[s,t,a,typeof n=="bigint"?n:f.getExternalActionIdHash(n),r]),A=o.ethers.utils.defaultAbiCoder.encode(["tuple(address, address, bytes, bytes)","bytes[][]","tuple(address, uint256, uint256)","int256[]","bool[]","tuple(uint256, uint256,int256[],bool, tuple(int256[] approvalChanges, address[] externalApprovalAddresses, uint256[] conversionInHinkalAddress)[])","tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)","address"],[h,l,[g.feeToken,g.flatFee,g.variableRate],k,b,[c.hinkalLogicAction,c.inHinkalAddress,c.executeApprovalChanges,c.doPreTxApproval,c.useApprovalUtxoData],m,I]),y=BigInt(o.ethers.utils.keccak256(p)),B=BigInt(o.ethers.utils.keccak256(A)),O=o.ethers.utils.defaultAbiCoder.encode(["uint256","uint256"],[y,B]);return BigInt(o.ethers.utils.keccak256(O))%d.CIRCOM_P}},N=e=>e.startsWith("swapperMO")||e.startsWith("swapperME")?2:e.startsWith("swapperMW")?1:(e.startsWith("swapperMHA"),0),J=(e,s,t,a,n,r)=>{if(e.startsWith("swapperMWMin0"))return 4;const l=N(e);return 10+s.length+t.length+a.flat().length+n.flat().length+l+r+V.APPROVED_UTXO_CONVERSION_COUNT*s.length},U=(e,s)=>{const{h0:t,h1:a}=S.UserKeys.getStealthAddressCompressedPoints(e,s),n=BigInt(S.UserKeys.getStealthAddress(e,s));return{extraRandomization:e,H0:t,H1:a,stealthAddress:n}};exports.buildInNullifiers=L;exports.buildOutCommitments=R;exports.calcAccessTokenSiblingAndSidesFromAccessKey=C;exports.calcAccessTokenSiblingsAndSides=W;exports.calcAmountChanges=_;exports.calcCommitmentsSiblingAndSides=z;exports.calcEncryptedOutputs=M;exports.calcPublicSignalCount=J;exports.calcStealthAddressStructure=U;exports.createCallDataHash=K;exports.deserializeCircomData=w;exports.getSlippageValues=x;exports.serializeCircomData=j;
@@ -9,7 +9,7 @@ export declare const buildInNullifiers: (inputUtxos: Utxo[][], onChainCreation:
9
9
  export declare const buildOutCommitments: (proverVersion: ProverVersion, outputUtxos: Utxo[][], onChainCreation: boolean[]) => string[][];
10
10
  export declare const calcAmountChanges: (inputUtxos: Utxo[][], outputUtxos: Utxo[][], forCircomData?: boolean) => bigint[];
11
11
  export declare const getSlippageValues: (amountChanges: bigint[], hinkalLogicArgs: HinkalLogicArgs) => bigint[];
12
- export declare const calcEncryptedOutputs: (outputUtxos: Utxo[][], forceZeroAmount: boolean) => string[][];
12
+ export declare const calcEncryptedOutputs: (outputUtxos: Utxo[][]) => string[][];
13
13
  export declare const calcCommitmentsSiblingAndSides: (inputUtxos: Utxo[][], merkleTree: MerkleTree<bigint>) => {
14
14
  inCommitmentSiblings: string[][][];
15
15
  inCommitmentSiblingSides: string[][][];
@@ -8,89 +8,89 @@ import { getExternalActionIdHash as f } from "../utils/external-action.utils.mjs
8
8
  import { HinkalLogicAction as d } from "../../types/hinkal.types.mjs";
9
9
  import { calculateBigIntSum as T } from "../utils/amounts.utils.mjs";
10
10
  import { getOriginalSender as R } from "./getOriginalSender.mjs";
11
- const $ = (e, r) => e.map((s, t) => s.map((n) => r[t] ? "0" : n.getNullifier())), q = (e, r, s) => {
12
- let t = [];
13
- return e === "v1x0" ? t = r.map(
14
- (n, a) => n.map((l) => s[a] ? "0" : l.getCommitment())
15
- ) : t = r.map((n) => n.map((a) => a.amount === 0n ? "0" : a.getCommitment())), t;
16
- }, G = (e, r, s = !1) => {
17
- const t = [];
11
+ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier())), q = (e, s, t) => {
12
+ let r = [];
13
+ return e === "v1x0" ? r = s.map(
14
+ (n, a) => n.map((l) => t[a] ? "0" : l.getCommitment())
15
+ ) : r = s.map((n) => n.map((a) => a.amount === 0n ? "0" : a.getCommitment())), r;
16
+ }, G = (e, s, t = !1) => {
17
+ const r = [];
18
18
  for (let n = 0; n < e.length; n += 1) {
19
19
  let a = 0n, l = 0n;
20
20
  for (let i = 0; i < e[n].length; i += 1)
21
21
  a += e[n][i].amount;
22
- for (let i = 0; i < r[n].length; i += 1)
23
- l += r[n][i].amount;
24
- l - a < 0 ? s ? t.push(l - a) : t.push(c + (l - a)) : t.push(l - a);
22
+ for (let i = 0; i < s[n].length; i += 1)
23
+ l += s[n][i].amount;
24
+ l - a < 0 ? t ? r.push(l - a) : r.push(c + (l - a)) : r.push(l - a);
25
25
  }
26
- return t;
27
- }, L = (e) => e.useApprovalUtxoData.reduce((r, s) => [...r, T(s.approvalChanges)], []), Q = (e, r) => {
28
- const s = L(r), t = r.hinkalLogicAction, n = e.map((a, l) => t === d.NONE || t === d.APPROVE ? a + s[l] >= 0n ? 0n : a + s[l] : a >= 0n ? 0n : a);
29
- return t === d.RELEASE_BUFFER ? e.forEach((a, l) => {
26
+ return r;
27
+ }, L = (e) => e.useApprovalUtxoData.reduce((s, t) => [...s, T(t.approvalChanges)], []), Q = (e, s) => {
28
+ const t = L(s), r = s.hinkalLogicAction, n = e.map((a, l) => r === d.NONE || r === d.APPROVE ? a + t[l] >= 0n ? 0n : a + t[l] : a >= 0n ? 0n : a);
29
+ return r === d.RELEASE_BUFFER ? e.forEach((a, l) => {
30
30
  n[l] = a > 0n ? -a : a;
31
- }) : t === d.EXECUTE && r.executeApprovalChanges.forEach((a, l) => {
31
+ }) : r === d.EXECUTE && s.executeApprovalChanges.forEach((a, l) => {
32
32
  n[l] = a + e[l] < 0n ? a + e[l] : 0n;
33
33
  }), n;
34
- }, Y = (e, r) => {
34
+ }, Y = (e) => {
35
35
  if (e.length === 0)
36
36
  return [];
37
37
  const s = [[""]];
38
38
  for (let t = 0; t < e.length; t += 1)
39
- t > 0 && s.push([""]), e[t].forEach((n, a) => {
40
- s[t][a] = `0x${Buffer.from(y(n, r)).toString("hex")}`;
39
+ t > 0 && s.push([""]), e[t].forEach((r, n) => {
40
+ s[t][n] = `0x${Buffer.from(y(r)).toString("hex")}`;
41
41
  });
42
42
  return s;
43
- }, Z = (e, r) => {
44
- const s = [];
43
+ }, Z = (e, s) => {
44
+ const t = [];
45
45
  for (let n = 0; n < e.length; n += 1) {
46
- s.push([]);
46
+ t.push([]);
47
47
  for (let a = 0; a < e[n].length; a += 1)
48
- s[n][a] = r.getSiblingHashesForVerification(BigInt(e[n][a].getCommitment())).map((l) => l.toString());
48
+ t[n][a] = s.getSiblingHashesForVerification(BigInt(e[n][a].getCommitment())).map((l) => l.toString());
49
49
  }
50
- const t = [];
50
+ const r = [];
51
51
  for (let n = 0; n < e.length; n += 1) {
52
- t.push([]);
52
+ r.push([]);
53
53
  for (let a = 0; a < e[n].length; a += 1)
54
- t[n][a] = r.getSiblingSides(BigInt(e[n][a].getCommitment())).map((l) => l.toString());
54
+ r[n][a] = s.getSiblingSides(BigInt(e[n][a].getCommitment())).map((l) => l.toString());
55
55
  }
56
- return { inCommitmentSiblings: s, inCommitmentSiblingSides: t };
57
- }, P = (e, r) => {
58
- const s = r.getSiblingHashesForVerification(BigInt(e)).map((n) => n.toString()), t = r.getSiblingSides(BigInt(e)).map((n) => n.toString());
59
- return { accessTokenSiblings: s, accessTokenSiblingSides: t };
60
- }, D = (e, r) => P(e.getAccessKey(), r), ee = (e) => {
61
- const r = { ...e };
62
- if (r.amountChanges = e.amountChanges.map((s) => s.toString()), r.calldataHash = e.calldataHash.toString(), r.rootHashAccessToken = e.rootHashAccessToken?.toString(), r.stealthAddressStructure.extraRandomization = e.stealthAddressStructure.extraRandomization.toString(), r.stealthAddressStructure.stealthAddress = e.stealthAddressStructure.stealthAddress.toString(), r.stealthAddressStructure.H0 = e.stealthAddressStructure.H0.toString(), r.stealthAddressStructure.H1 = e.stealthAddressStructure.H1.toString(), r.rootHashHinkal = e.rootHashHinkal?.toString(), r.externalActionId = e.externalActionId?.toString(), "flatFees" in e) {
63
- const s = r;
64
- return s.flatFees = e.flatFees.map((t) => t.toString()), s;
56
+ return { inCommitmentSiblings: t, inCommitmentSiblingSides: r };
57
+ }, P = (e, s) => {
58
+ const t = s.getSiblingHashesForVerification(BigInt(e)).map((n) => n.toString()), r = s.getSiblingSides(BigInt(e)).map((n) => n.toString());
59
+ return { accessTokenSiblings: t, accessTokenSiblingSides: r };
60
+ }, D = (e, s) => P(e.getAccessKey(), s), ee = (e) => {
61
+ const s = { ...e };
62
+ if (s.amountChanges = e.amountChanges.map((t) => t.toString()), s.calldataHash = e.calldataHash.toString(), s.rootHashAccessToken = e.rootHashAccessToken?.toString(), s.stealthAddressStructure.extraRandomization = e.stealthAddressStructure.extraRandomization.toString(), s.stealthAddressStructure.stealthAddress = e.stealthAddressStructure.stealthAddress.toString(), s.stealthAddressStructure.H0 = e.stealthAddressStructure.H0.toString(), s.stealthAddressStructure.H1 = e.stealthAddressStructure.H1.toString(), s.rootHashHinkal = e.rootHashHinkal?.toString(), s.externalActionId = e.externalActionId?.toString(), "flatFees" in e) {
63
+ const t = s;
64
+ return t.flatFees = e.flatFees.map((r) => r.toString()), t;
65
65
  } else {
66
- const s = r;
67
- return s.slippageValues = e.slippageValues.map((t) => t.toString()), s.hinkalLogicArgs.inHinkalAddress = e.hinkalLogicArgs.inHinkalAddress.toString(), s.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map(
68
- (t) => t.toString()
69
- ), s.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map(
70
- (t) => ({
71
- approvalChanges: t.approvalChanges.map((n) => n.toString()),
72
- externalApprovalAddresses: t.externalApprovalAddresses,
73
- conversionInHinkalAddress: t.conversionInHinkalAddress.map((n) => n.toString())
66
+ const t = s;
67
+ return t.slippageValues = e.slippageValues.map((r) => r.toString()), t.hinkalLogicArgs.inHinkalAddress = e.hinkalLogicArgs.inHinkalAddress.toString(), t.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map(
68
+ (r) => r.toString()
69
+ ), t.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map(
70
+ (r) => ({
71
+ approvalChanges: r.approvalChanges.map((n) => n.toString()),
72
+ externalApprovalAddresses: r.externalApprovalAddresses,
73
+ conversionInHinkalAddress: r.conversionInHinkalAddress.map((n) => n.toString())
74
74
  })
75
- ), s.feeStructure.flatFee = e.feeStructure.flatFee.toString(), s.feeStructure.variableRate = e.feeStructure.variableRate.toString(), s;
75
+ ), t.feeStructure.flatFee = e.feeStructure.flatFee.toString(), t.feeStructure.variableRate = e.feeStructure.variableRate.toString(), t;
76
76
  }
77
77
  }, te = (e) => {
78
- const r = { ...e };
79
- if (r.amountChanges = e.amountChanges.map((s) => BigInt(s)), r.calldataHash = BigInt(e.calldataHash), r.rootHashAccessToken = BigInt(e.rootHashAccessToken), r.rootHashHinkal = BigInt(e.rootHashHinkal), r.externalActionId = BigInt(e.externalActionId), "flatFees" in e) {
80
- const s = r;
81
- return s.flatFees = e.flatFees.map((t) => BigInt(t)), s;
78
+ const s = { ...e };
79
+ if (s.amountChanges = e.amountChanges.map((t) => BigInt(t)), s.calldataHash = BigInt(e.calldataHash), s.rootHashAccessToken = BigInt(e.rootHashAccessToken), s.rootHashHinkal = BigInt(e.rootHashHinkal), s.externalActionId = BigInt(e.externalActionId), "flatFees" in e) {
80
+ const t = s;
81
+ return t.flatFees = e.flatFees.map((r) => BigInt(r)), t;
82
82
  } else {
83
- const s = r;
84
- return s.feeStructure.flatFee = BigInt(e.feeStructure.flatFee), s.feeStructure.variableRate = BigInt(e.feeStructure.variableRate), s.slippageValues = e.slippageValues.map((t) => BigInt(t)), s.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map((t) => BigInt(t)), s.hinkalLogicArgs.inHinkalAddress = BigInt(e.hinkalLogicArgs.inHinkalAddress), s.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map(
85
- (t) => ({
86
- approvalChanges: t.approvalChanges.map((n) => BigInt(n)),
87
- externalApprovalAddresses: t.externalApprovalAddresses,
88
- conversionInHinkalAddress: t.conversionInHinkalAddress.map((n) => BigInt(n))
83
+ const t = s;
84
+ return t.feeStructure.flatFee = BigInt(e.feeStructure.flatFee), t.feeStructure.variableRate = BigInt(e.feeStructure.variableRate), t.slippageValues = e.slippageValues.map((r) => BigInt(r)), t.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map((r) => BigInt(r)), t.hinkalLogicArgs.inHinkalAddress = BigInt(e.hinkalLogicArgs.inHinkalAddress), t.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map(
85
+ (r) => ({
86
+ approvalChanges: r.approvalChanges.map((n) => BigInt(n)),
87
+ externalApprovalAddresses: r.externalApprovalAddresses,
88
+ conversionInHinkalAddress: r.conversionInHinkalAddress.map((n) => BigInt(n))
89
89
  })
90
- ), s;
90
+ ), t;
91
91
  }
92
- }, se = (e, r, s, t, n, a, l, i, m, H, C, u, g, k, b) => {
93
- const h = Object.values(m || O), v = b ?? R(t ?? E, s);
92
+ }, se = (e, s, t, r, n, a, l, i, m, H, C, u, g, k, b) => {
93
+ const h = Object.values(m || O), v = b ?? R(r ?? E, t);
94
94
  if (e === "v1x0") {
95
95
  const p = o.utils.defaultAbiCoder.encode(
96
96
  [
@@ -104,9 +104,9 @@ const $ = (e, r) => e.map((s, t) => s.map((n) => r[t] ? "0" : n.getNullifier()))
104
104
  "uint256[]"
105
105
  ],
106
106
  [
107
- r,
108
107
  s,
109
108
  t,
109
+ r,
110
110
  typeof n == "bigint" ? n : f(n),
111
111
  a,
112
112
  h,
@@ -119,9 +119,9 @@ const $ = (e, r) => e.map((s, t) => s.map((n) => r[t] ? "0" : n.getNullifier()))
119
119
  const p = o.utils.defaultAbiCoder.encode(
120
120
  ["uint16", "address", "address", "uint256", "bytes"],
121
121
  [
122
- r,
123
122
  s,
124
123
  t,
124
+ r,
125
125
  typeof n == "bigint" ? n : f(n),
126
126
  a
127
127
  ]
@@ -155,18 +155,18 @@ const $ = (e, r) => e.map((s, t) => s.map((n) => r[t] ? "0" : n.getNullifier()))
155
155
  ), I = BigInt(o.utils.keccak256(p)), B = BigInt(o.utils.keccak256(A)), V = o.utils.defaultAbiCoder.encode(["uint256", "uint256"], [I, B]);
156
156
  return BigInt(o.utils.keccak256(V)) % c;
157
157
  }
158
- }, x = (e) => e.startsWith("swapperMO") || e.startsWith("swapperME") ? 2 : e.startsWith("swapperMW") ? 1 : (e.startsWith("swapperMHA"), 0), ne = (e, r, s, t, n, a) => {
158
+ }, x = (e) => e.startsWith("swapperMO") || e.startsWith("swapperME") ? 2 : e.startsWith("swapperMW") ? 1 : (e.startsWith("swapperMHA"), 0), ne = (e, s, t, r, n, a) => {
159
159
  if (e.startsWith("swapperMWMin0"))
160
160
  return 4;
161
161
  const l = x(e);
162
162
  return 10 + // stealthAddressStructure.H1
163
- r.length + s.length + t.flat().length + n.flat().length + l + a + F * r.length;
164
- }, re = (e, r) => {
165
- const { h0: s, h1: t } = S.getStealthAddressCompressedPoints(e, r), n = BigInt(S.getStealthAddress(e, r));
163
+ s.length + t.length + r.flat().length + n.flat().length + l + a + F * s.length;
164
+ }, re = (e, s) => {
165
+ const { h0: t, h1: r } = S.getStealthAddressCompressedPoints(e, s), n = BigInt(S.getStealthAddress(e, s));
166
166
  return {
167
167
  extraRandomization: e,
168
- H0: s,
169
- H1: t,
168
+ H0: t,
169
+ H1: r,
170
170
  stealthAddress: n
171
171
  };
172
172
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const de=require("../../data-structures/utxo/Utxo.cjs"),le=require("../../data-structures/crypto-keys/keys.cjs"),d=require("../../constants/protocol.constants.cjs"),ue=require("../../constants/chains.constants.cjs"),ge=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),pe=require("../../webworker/performTaskWithWorker.cjs"),Se=require("../../webworker/worker.registry.cjs"),s=require("./common.snarkjs.cjs"),O=require("../web3/etherFunctions.cjs"),Z=require("../private-wallet/emporium.helpers.cjs"),he=require("../../types/external-action.types.cjs"),fe=require("../../types/circom-data.types.cjs"),Ae=require("./generateCircomData.cjs"),qe=require("./generateZkProof.cjs"),$=require("../utils/time.utils.cjs"),ke=require("../../types/hinkal.types.cjs"),ye=require("../utils/fees.utils.cjs"),j=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),He=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const Ce=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),Te=async(o,G,J,l,A,t,e,m,C,Q,T,X,Y,w=d.zeroAddress,c=ue.chainIds.localhost,u=t.map(()=>!1),q=t.map(()=>0n),g,n=void 0,L=!1,p,S=void 0,V,M=d.defaultSignatureData,x,U=!0)=>{const P=s.calcAmountChanges(t,e),k=s.calcEncryptedOutputs(e,!1),h=m.getShieldedPrivateKey(),z=de.Utxo.findCorrectRandomization(O.randomBigInt(31),h),ee=await j.hinkalCheckTokenRegistry(V??j.createHinkalHelperFromData(c),l,s.calcAmountChanges(t,e,!0)),D=t.map(a=>a.map(i=>i.getConstructableParams())),{inCommitmentSiblings:te,inCommitmentSiblingSides:ae,accessTokenSiblings:_,accessTokenSiblingSides:W,rootHashHinkal:b,rootHashAccessToken:y}=await Ce.getMerkleTreeSiblingsAndRootHashes(c,m,D,L,ee,G,J,U),v=await pe.performTaskWithWorker({type:Se.WorkerVariant.ZKProof,payload:{type:ge.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:D,onChainCreation:u,proverVersion:o}}}),E=s.buildOutCommitments(o,e,u),H=x??O.randomBigInt(31),re=He.poseidonFunction(H),r={rootHashHinkal:b,erc20TokenAddresses:l,tokenIds:A,inNullifiers:v,outTimeStamp:e.length>0?BigInt(e[0][0].timeStamp):$.getCurrentTimeInSeconds(),extraRandomization:z,amountChanges:P,outCommitments:E,rootHashAccessToken:y,calldataHash:0n,shieldedPrivateKey:h,accessTokenSiblings:_,accessTokenSiblingSides:W,outAmounts:e.map(a=>a.map(i=>i.amount)),outPublicKeys:e.map(a=>a.map(i=>i.getStealthAddress())),inAmounts:t.map(a=>a.map(i=>i.amount.toString())),inTimeStamps:t.map(a=>a.map(i=>i.timeStamp)),inRandomizations:t.map(a=>a.map(i=>i.randomization)),inCommitmentSiblings:te,inCommitmentSiblingSides:ae,messageSeed:H},ne=g?le.UserKeys.getSignerAddressFromPrivateKey(c,g.privateKey):void 0,I=T,R=he.ExternalActionId.Emporium,F=await Z.encodeEmporiumMetadata(c,T,g?.privateKey,X,re,ne),f=e.length===0?"swapperMWMin0":`swapperMW${C}x${Q}x${e[0].length}`,N=s.calcPublicSignalCount(f,r.erc20TokenAddresses,r.amountChanges,r.inNullifiers,r.outCommitments,A.length);if(n||(n=ke.defaultHinkalLogicArgs(P.length,m),n.interactionAddress="0x032f580aFFE7a5f17025fAF83c13B4277A880532",n.inHinkalAddress=m.getInHinkalAddress(n.interactionAddress)),o==="v1x1"){if(r.interactionAddress=n.interactionAddress,m.getInHinkalAddress(r.interactionAddress)!==n.inHinkalAddress)throw new Error("inHinkalAddress mismatch");r.externalApprovalAddresses=n?.useApprovalUtxoData?.map(({externalApprovalAddresses:a})=>a)??Array(C).fill([d.zeroAddress,d.zeroAddress,d.zeroAddress])}S||(S=ye.generateFeeStructure(q,l));const B=s.calcAmountChanges(t,e,!0);p||(p=s.getSlippageValues(B,n)),r.calldataHash=s.createCallDataHash(o,N,w,I,R,F,k,q,void 0,p,u,n,S,M);const K={outTimeStamp:$.getCurrentTimeInSeconds(),rootHashAccessToken:y,calldataHash:r.calldataHash,shieldedPrivateKey:h,accessTokenSiblings:_,accessTokenSiblingSides:W,messageSeed:H},{zkCallData:ie}=await qe.generateZkProof(o,c,f,f==="swapperMWMin0"?K:r,Y),se=s.calcStealthAddressStructure(z,h),oe=await Ae.generateCircomData(o,E,v,b,y,B,l,t,e,k,q,N,R,I,F,w,r.calldataHash,A,se,u,fe.defaultHookData,f==="swapperMWMin0"?K.outTimeStamp:r.outTimeStamp,n,p,S,M),ce={tokenNumber:t.length,nullifierAmount:t.length>0?t[0].length:0,outputAmount:e.length>0?e[0].length:0},me=await Z.getAuthorizationDataIfNeeded(c,g?.privateKey);return{zkCallData:ie,circomData:oe,dimData:ce,encryptedOutputs:k,authorizationData:me}};exports.constructEmporiumProof=Te;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const de=require("../../data-structures/utxo/Utxo.cjs"),le=require("../../data-structures/crypto-keys/keys.cjs"),d=require("../../constants/protocol.constants.cjs"),ue=require("../../constants/chains.constants.cjs"),ge=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),pe=require("../../webworker/performTaskWithWorker.cjs"),Se=require("../../webworker/worker.registry.cjs"),o=require("./common.snarkjs.cjs"),O=require("../web3/etherFunctions.cjs"),Z=require("../private-wallet/emporium.helpers.cjs"),he=require("../../types/external-action.types.cjs"),Ae=require("../../types/circom-data.types.cjs"),fe=require("./generateCircomData.cjs"),qe=require("./generateZkProof.cjs"),$=require("../utils/time.utils.cjs"),ke=require("../../types/hinkal.types.cjs"),ye=require("../utils/fees.utils.cjs"),j=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),He=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const Ce=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),Te=async(s,G,J,l,f,t,e,m,C,Q,T,X,Y,w=d.zeroAddress,c=ue.chainIds.localhost,u=t.map(()=>!1),q=t.map(()=>0n),g,n=void 0,L=!1,p,S=void 0,V,M=d.defaultSignatureData,x,U=!0)=>{const P=o.calcAmountChanges(t,e),k=o.calcEncryptedOutputs(e),h=m.getShieldedPrivateKey(),z=de.Utxo.findCorrectRandomization(O.randomBigInt(31),h),ee=await j.hinkalCheckTokenRegistry(V??j.createHinkalHelperFromData(c),l,o.calcAmountChanges(t,e,!0)),D=t.map(a=>a.map(i=>i.getConstructableParams())),{inCommitmentSiblings:te,inCommitmentSiblingSides:ae,accessTokenSiblings:_,accessTokenSiblingSides:W,rootHashHinkal:b,rootHashAccessToken:y}=await Ce.getMerkleTreeSiblingsAndRootHashes(c,m,D,L,ee,G,J,U),v=await pe.performTaskWithWorker({type:Se.WorkerVariant.ZKProof,payload:{type:ge.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:D,onChainCreation:u,proverVersion:s}}}),E=o.buildOutCommitments(s,e,u),H=x??O.randomBigInt(31),re=He.poseidonFunction(H),r={rootHashHinkal:b,erc20TokenAddresses:l,tokenIds:f,inNullifiers:v,outTimeStamp:e.length>0?BigInt(e[0][0].timeStamp):$.getCurrentTimeInSeconds(),extraRandomization:z,amountChanges:P,outCommitments:E,rootHashAccessToken:y,calldataHash:0n,shieldedPrivateKey:h,accessTokenSiblings:_,accessTokenSiblingSides:W,outAmounts:e.map(a=>a.map(i=>i.amount)),outPublicKeys:e.map(a=>a.map(i=>i.getStealthAddress())),inAmounts:t.map(a=>a.map(i=>i.amount.toString())),inTimeStamps:t.map(a=>a.map(i=>i.timeStamp)),inRandomizations:t.map(a=>a.map(i=>i.randomization)),inCommitmentSiblings:te,inCommitmentSiblingSides:ae,messageSeed:H},ne=g?le.UserKeys.getSignerAddressFromPrivateKey(c,g.privateKey):void 0,I=T,R=he.ExternalActionId.Emporium,F=await Z.encodeEmporiumMetadata(c,T,g?.privateKey,X,re,ne),A=e.length===0?"swapperMWMin0":`swapperMW${C}x${Q}x${e[0].length}`,N=o.calcPublicSignalCount(A,r.erc20TokenAddresses,r.amountChanges,r.inNullifiers,r.outCommitments,f.length);if(n||(n=ke.defaultHinkalLogicArgs(P.length,m),n.interactionAddress="0x032f580aFFE7a5f17025fAF83c13B4277A880532",n.inHinkalAddress=m.getInHinkalAddress(n.interactionAddress)),s==="v1x1"){if(r.interactionAddress=n.interactionAddress,m.getInHinkalAddress(r.interactionAddress)!==n.inHinkalAddress)throw new Error("inHinkalAddress mismatch");r.externalApprovalAddresses=n?.useApprovalUtxoData?.map(({externalApprovalAddresses:a})=>a)??Array(C).fill([d.zeroAddress,d.zeroAddress,d.zeroAddress])}S||(S=ye.generateFeeStructure(q,l));const B=o.calcAmountChanges(t,e,!0);p||(p=o.getSlippageValues(B,n)),r.calldataHash=o.createCallDataHash(s,N,w,I,R,F,k,q,void 0,p,u,n,S,M);const K={outTimeStamp:$.getCurrentTimeInSeconds(),rootHashAccessToken:y,calldataHash:r.calldataHash,shieldedPrivateKey:h,accessTokenSiblings:_,accessTokenSiblingSides:W,messageSeed:H},{zkCallData:ie}=await qe.generateZkProof(s,c,A,A==="swapperMWMin0"?K:r,Y),oe=o.calcStealthAddressStructure(z,h),se=await fe.generateCircomData(s,E,v,b,y,B,l,t,e,k,q,N,R,I,F,w,r.calldataHash,f,oe,u,Ae.defaultHookData,A==="swapperMWMin0"?K.outTimeStamp:r.outTimeStamp,n,p,S,M),ce={tokenNumber:t.length,nullifierAmount:t.length>0?t[0].length:0,outputAmount:e.length>0?e[0].length:0},me=await Z.getAuthorizationDataIfNeeded(c,g?.privateKey);return{zkCallData:ie,circomData:se,dimData:ce,encryptedOutputs:k,authorizationData:me}};exports.constructEmporiumProof=Te;
@@ -23,7 +23,7 @@ import "process";
23
23
  import "buffer";
24
24
  import { getMerkleTreeSiblingsAndRootHashes as Ia } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
25
25
  const mt = async (n, q, j, l, h, t, a, d, D, G, T, J, Q, P = A, o = ca.localhost, s = t.map(() => !1), H = t.map(() => 0n), c, r = void 0, X = !1, p, f = void 0, Y, k = sa, L, V = !0) => {
26
- const v = C(t, a), w = ga(a, !1), S = d.getShieldedPrivateKey(), z = da.findCorrectRandomization($(31), S), x = await Wa(
26
+ const v = C(t, a), w = ga(a), S = d.getShieldedPrivateKey(), z = da.findCorrectRandomization($(31), S), x = await Wa(
27
27
  Y ?? ba(o),
28
28
  l,
29
29
  C(t, a, !0)
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("../../constants/chains.constants.cjs"),d=require("../../constants/protocol.constants.cjs"),oe=require("../../data-structures/utxo/Utxo.cjs"),f=require("../../types/hinkal.stake.types.cjs"),re=require("../../webworker/performTaskWithWorker.cjs"),ie=require("../../webworker/worker.registry.cjs"),se=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),de=require("../web3/etherFunctions.cjs"),s=require("./common.snarkjs.cjs"),ce=require("./generateCircomData.cjs"),me=require("./generateZkProof.cjs"),le=require("../../types/hinkal.types.cjs"),ke=require("../utils/fees.utils.cjs"),j=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),b=require("../../error-handling/logger.cjs"),ue=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),Se=async(c,F,K,n,r,m,C,y,l,P,G,z=d.zeroAddress,h=ae.chainIds.localhost,k=n.map(()=>!1),H=n.map(()=>0n),R=void 0,i,J=!1,o=void 0,u,S=void 0,Q,_=d.defaultSignatureData,D,X=!0)=>{const I=s.calcAmountChanges(n,r),p=n.map(e=>e[0].erc20TokenAddress),T=s.calcEncryptedOutputs(r,(i&&i.mode!==f.HinkalStakeMode.Deposit)??!1),A=m.getShieldedPrivateKey(),w=oe.Utxo.findCorrectRandomization(de.randomBigInt(31),A),Y=await j.hinkalCheckTokenRegistry(Q??j.createHinkalHelperFromData(h),p,s.calcAmountChanges(n,r,!0)),W=n.map(e=>e.map(a=>a.getConstructableParams())),{inCommitmentSiblings:$,inCommitmentSiblingSides:L,accessTokenSiblings:V,accessTokenSiblingSides:U,rootHashHinkal:B,rootHashAccessToken:M}=await ue.getMerkleTreeSiblingsAndRootHashes(h,m,W,J,Y,F,K,X),Z=await re.performTaskWithWorker({type:ie.WorkerVariant.ZKProof,payload:{type:se.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:W,onChainCreation:k,proverVersion:c}}}),v=s.buildOutCommitments(c,r,k),t={rootHashHinkal:B,shieldedPrivateKey:A,erc20TokenAddresses:p,inAmounts:n.map(e=>e.map(a=>a.amount.toString())),inTimeStamps:n.map(e=>e.map(a=>a.timeStamp)),inRandomizations:n.map(e=>e.map(a=>a.randomization)),inNullifiers:Z,inCommitmentSiblings:$,inCommitmentSiblingSides:L,outAmounts:r.map(e=>e.map(a=>a.amount.toString())),outTimeStamp:BigInt(r[0][0].timeStamp),outPublicKeys:r.map(e=>e.map(a=>a.getStealthAddress())),extraRandomization:w,amountChanges:I,outCommitments:v,rootHashAccessToken:M,accessTokenSiblings:V,accessTokenSiblingSides:U,calldataHash:0n},g=n.map(e=>e[0].tokenId??0),N=g.reduce((e,a)=>e+a,0)>0?g.length:0;N>0&&(t.tokenIds=g);const q=s.calcPublicSignalCount(C,t.erc20TokenAddresses,t.amountChanges,t.inNullifiers,t.outCommitments,N);if(!o){o=le.defaultHinkalLogicArgs(I.length,m),o.interactionAddress=l??d.zeroAddress;const e=m.getInHinkalAddress(o.interactionAddress);o.inHinkalAddress=e}if(c==="v1x1"){if(t.interactionAddress=o?.interactionAddress??l??d.zeroAddress,m.getInHinkalAddress(t.interactionAddress)!==o.inHinkalAddress)throw new Error("inHinkalAddress mismatch");t.externalApprovalAddresses=o.useApprovalUtxoData?.map(({externalApprovalAddresses:e})=>e)??[d.zeroAddress,d.zeroAddress,d.zeroAddress]}S||(S=ke.generateFeeStructure(H,n.map(e=>e[0].erc20TokenAddress)));const O=s.calcAmountChanges(n,r,!0);u||(u=s.getSlippageValues(O,o)),b.Logger.log({publicSignalCount:q}),t.calldataHash=s.createCallDataHash(c,q,z,l,y,P,T,H,R,u,k,o,S,_,D),i&&(i.mode===f.HinkalStakeMode.Deposit&&(t.mode=0),i.mode===f.HinkalStakeMode.Stake&&(t.mode=1),i.mode===f.HinkalStakeMode.Unstake&&(t.mode=2),t.stakedTokenRecipient=i.stakedTokenRecipient,t.stakeBlinding=i.stakeBlinding,t.depositorAddress=i.depositorAddress);const{zkCallData:x,publicSignals:ee}=await me.generateZkProof(c,h,C,t,G);b.Logger.log({publicSignals:ee});const te=s.calcStealthAddressStructure(w,A),E=await ce.generateCircomData(c,v,Z,B,M,O,p,n,r,T,H,q,y,l,P,z,t.calldataHash,g,te,k,R,void 0,o,u,S,_,D);b.Logger.log({circomData:E});const ne={tokenNumber:n.length,nullifierAmount:n[0].length,outputAmount:r[0].length};return{zkCallData:x,circomData:E,dimData:ne,encryptedOutputs:T}};exports.constructZkProof=Se;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("../../constants/chains.constants.cjs"),i=require("../../constants/protocol.constants.cjs"),ne=require("../../data-structures/utxo/Utxo.cjs"),ae=require("../../webworker/performTaskWithWorker.cjs"),re=require("../../webworker/worker.registry.cjs"),oe=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),se=require("../web3/etherFunctions.cjs"),s=require("./common.snarkjs.cjs"),ie=require("./generateCircomData.cjs"),ce=require("./generateZkProof.cjs"),de=require("../../types/hinkal.types.cjs"),me=require("../utils/fees.utils.cjs"),E=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),q=require("../../error-handling/logger.cjs"),le=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),ke=async(c,j,F,t,o,d,b,C,m,p,M,P=i.zeroAddress,S=te.chainIds.localhost,l=t.map(()=>!1),A=t.map(()=>0n),y=void 0,K=!1,a=void 0,k,g=void 0,G,z=i.defaultSignatureData,I,J=!0)=>{const R=s.calcAmountChanges(t,o),h=t.map(e=>e[0].erc20TokenAddress),f=s.calcEncryptedOutputs(o),H=d.getShieldedPrivateKey(),_=ne.Utxo.findCorrectRandomization(se.randomBigInt(31),H),Q=await E.hinkalCheckTokenRegistry(G??E.createHinkalHelperFromData(S),h,s.calcAmountChanges(t,o,!0)),w=t.map(e=>e.map(n=>n.getConstructableParams())),{inCommitmentSiblings:X,inCommitmentSiblingSides:Y,accessTokenSiblings:$,accessTokenSiblingSides:L,rootHashHinkal:D,rootHashAccessToken:W}=await le.getMerkleTreeSiblingsAndRootHashes(S,d,w,K,Q,j,F,J),Z=await ae.performTaskWithWorker({type:re.WorkerVariant.ZKProof,payload:{type:oe.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:w,onChainCreation:l,proverVersion:c}}}),v=s.buildOutCommitments(c,o,l),r={rootHashHinkal:D,shieldedPrivateKey:H,erc20TokenAddresses:h,inAmounts:t.map(e=>e.map(n=>n.amount.toString())),inTimeStamps:t.map(e=>e.map(n=>n.timeStamp)),inRandomizations:t.map(e=>e.map(n=>n.randomization)),inNullifiers:Z,inCommitmentSiblings:X,inCommitmentSiblingSides:Y,outAmounts:o.map(e=>e.map(n=>n.amount.toString())),outTimeStamp:BigInt(o[0][0].timeStamp),outPublicKeys:o.map(e=>e.map(n=>n.getStealthAddress())),extraRandomization:_,amountChanges:R,outCommitments:v,rootHashAccessToken:W,accessTokenSiblings:$,accessTokenSiblingSides:L,calldataHash:0n},u=t.map(e=>e[0].tokenId??0),B=u.reduce((e,n)=>e+n,0)>0?u.length:0;B>0&&(r.tokenIds=u);const T=s.calcPublicSignalCount(b,r.erc20TokenAddresses,r.amountChanges,r.inNullifiers,r.outCommitments,B);if(!a){a=de.defaultHinkalLogicArgs(R.length,d),a.interactionAddress=m??i.zeroAddress;const e=d.getInHinkalAddress(a.interactionAddress);a.inHinkalAddress=e}if(c==="v1x1"){if(r.interactionAddress=a?.interactionAddress??m??i.zeroAddress,d.getInHinkalAddress(r.interactionAddress)!==a.inHinkalAddress)throw new Error("inHinkalAddress mismatch");r.externalApprovalAddresses=a.useApprovalUtxoData?.map(({externalApprovalAddresses:e})=>e)??[i.zeroAddress,i.zeroAddress,i.zeroAddress]}g||(g=me.generateFeeStructure(A,t.map(e=>e[0].erc20TokenAddress)));const N=s.calcAmountChanges(t,o,!0);k||(k=s.getSlippageValues(N,a)),q.Logger.log({publicSignalCount:T}),r.calldataHash=s.createCallDataHash(c,T,P,m,C,p,f,A,y,k,l,a,g,z,I);const{zkCallData:V,publicSignals:U}=await ce.generateZkProof(c,S,b,r,M);q.Logger.log({publicSignals:U});const x=s.calcStealthAddressStructure(_,H),O=await ie.generateCircomData(c,v,Z,D,W,N,h,t,o,f,A,T,C,m,p,P,r.calldataHash,u,x,l,y,void 0,a,k,g,z,I);q.Logger.log({circomData:O});const ee={tokenNumber:t.length,nullifierAmount:t[0].length,outputAmount:o[0].length};return{zkCallData:V,circomData:O,dimData:ee,encryptedOutputs:f}};exports.constructZkProof=ke;
@@ -3,10 +3,9 @@ import { UserKeys } from '../../data-structures/crypto-keys/keys';
3
3
  import { Utxo } from '../../data-structures/utxo/Utxo';
4
4
  import { CircomDataV1x1, DimDataType, HookDataType } from '../../types/circom-data.types';
5
5
  import { ExternalActionId } from '../../types/external-action.types';
6
- import { StakeArgs } from '../../types/hinkal.stake.types';
7
6
  import { FeeStructure, HinkalLogicArgs, ProverVersion } from '../../types/hinkal.types';
8
7
  import { ethers } from 'ethers';
9
- export declare const constructZkProof: <T = CircomDataV1x1>(proverVersion: ProverVersion, merkleTree: MerkleTree<bigint>, merkleTreeAccessToken: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, verifierName: string, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string, generateProofRemotely: boolean, relay?: string, chainId?: number, onChainCreation?: boolean[], flatFees?: bigint[], hookData?: HookDataType | undefined, stakeArgs?: StakeArgs, patchAccessTokenMerkleTree?: boolean, hinkalLogicArgs?: HinkalLogicArgs | undefined, slippageValues?: bigint[], feeStructure?: FeeStructure | undefined, hinkalHelper?: ethers.Contract, signatureData?: import('../../index.ts').SignatureData, originalSender?: string, hasLocalTrees?: boolean) => Promise<{
8
+ export declare const constructZkProof: <T = CircomDataV1x1>(proverVersion: ProverVersion, merkleTree: MerkleTree<bigint>, merkleTreeAccessToken: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, verifierName: string, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string, generateProofRemotely: boolean, relay?: string, chainId?: number, onChainCreation?: boolean[], flatFees?: bigint[], hookData?: HookDataType | undefined, patchAccessTokenMerkleTree?: boolean, hinkalLogicArgs?: HinkalLogicArgs | undefined, slippageValues?: bigint[], feeStructure?: FeeStructure | undefined, hinkalHelper?: ethers.Contract, signatureData?: import('../../index.ts').SignatureData, originalSender?: string, hasLocalTrees?: boolean) => Promise<{
10
9
  zkCallData: import('../../index.ts').NewZkCallDataType;
11
10
  circomData: T;
12
11
  dimData: DimDataType;